(57)【要約】【課題】リード電圧を適切に決定することにより不揮発性メモリに対して精度のよいリードを行う。【解決手段】本実施形態に係る半導体記憶装置は、不揮発性メモリと、コントローラとを含む。不揮発性メモリは、複数のメモリセルにデータを記憶する。複数のメモリセルはワード線に接続されている。データをリードする場合にはワード線にリード電圧が印加される。コントローラは、不揮発性メモリに対してデータのリード及びライトを制御し、データをリードする場合にワード線に印加するリード電圧の値を制御し、リード電圧を決定するためのトラッキング処理を実行する。コントローラは、選択部とトラッキング部とを含む。選択部は、トラッキング処理を実行する場合に、ワード線を示すワード線識別情報と複数のメモリセルに対する先のリード又はライトからの経過時間とに対応する電圧範囲を選択する。トラッキング部は、選択部によって選択された電圧範囲で、ワード線に接続されている複数のメモリセルに対してトラッキング処理を実行する。【選択図】    図１
2018163707.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルにデータを記憶し、前記複数のメモリセルがワード線に接続されており、前記データをリードする場合に前記ワード線にリード電圧が印加される不揮発性メモリと、
前記不揮発性メモリに対して前記データのリード及びライトを制御し、前記データをリードする場合に前記ワード線に印加する前記リード電圧を制御し、前記リード電圧を決定するためのトラッキング処理を実行するコントローラと、
を具備し、
前記コントローラは、前記トラッキング処理を実行する場合に、前記ワード線を示すワード線識別情報と前記複数のメモリセルに対する先のリード又はライトからの経過時間とに対応する電圧範囲を選択する選択部と、
前記選択部によって選択された前記電圧範囲で、前記ワード線に接続されている前記複数のメモリセルに対して前記トラッキング処理を実行するトラッキング部と、
を具備する半導体記憶装置。
【請求項２】
複数のワード線識別情報と、複数の経過時間を示す経過時間情報と、トラッキング処理で用いられる複数の電圧範囲と、を互いに関連付けたテーブルを記憶するテーブルメモリをさらに具備し、
前記選択部は、前記テーブルの中から、前記トラッキング処理の対象の前記複数のメモリセルに対応する前記ワード線識別情報と、前記トラッキング処理の対象の前記複数のメモリセルに対する前記経過時間とに関連する前記電圧範囲を選択する、
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記不揮発性メモリのログデータを記憶するログメモリと、
前記ログデータに基づいて得られる統計値に基づいて、変更後の電圧範囲を決定し、前記変更後の電圧範囲に対応するワード線識別情報と、前記変更後の電圧範囲に対応する経過時間情報と、前記変更後の電圧範囲とを、互いに関連付けるように、前記テーブルを変更する変更部、をさらに具備することを特徴とする請求項２に記載の半導体記憶装置。
【請求項４】
前記電圧範囲は、前記トラッキング処理で利用されるリード電圧の基準、前記トラッキング処理で利用される他のリード電圧の個数、前記他のリード電圧を求めるための前記基準からのオフセット値、を含む、
ことを特徴とする請求項１乃至請求項３のいずれか１項に記載の半導体記憶装置。
【請求項５】
前記選択部は、前記ワード線識別情報と前記経過時間とを入力値とする電圧範囲決定のための数式を用いて、前記電圧範囲を算出する、ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項６】
不揮発性メモリに備えられておりワード線に接続されている複数のメモリセルにデータを記憶することと、
前記ワード線にリード電圧を印加して前記複数のメモリセルから前記データをリードすることと、
前記リード電圧を決定するためのトラッキング処理を実行する場合に、前記ワード線を示すワード線識別情報と、前記複数のメモリセルに対する先のリード又はライトからの経過時間とに対応する電圧範囲を選択することと、
選択された前記電圧範囲で、前記ワード線に接続されている前記複数のメモリセルに対して前記トラッキング処理を実行することと、
を具備するリード制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、不揮発性メモリを備える半導体記憶装置及びそのリード制御方法に関する。
【背景技術】
【０００２】
不揮発性メモリの一例としてＮＡＮＤ型フラッシュメモリがある。ＮＡＮＤ型フラッシュメモリにおいては、メモリセルへのプログラム電圧又は消去電圧の印加が反復されると、メモリセルのトンネル酸化膜が劣化し、メモリセルに対するプログラム、リード、又は、消去にエラーが発生する場合がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１３−５０３４１０号公報
【特許文献２】特開２００８−６６４６６号公報
【特許文献３】特開２０１３−２５４５４２号公報
【特許文献４】米国特許第９２５１８９２号明細書
【特許文献５】米国特許出願公開第２０１６／０２６６９７０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本実施形態は、リード電圧を適切に決定することにより不揮発性メモリに対して精度のよいリードを行う半導体記憶装置及びそのリード制御方法を提供する。
【課題を解決するための手段】
【０００５】
本実施形態に係る半導体記憶装置は、不揮発性メモリとコントローラとを含む。不揮発性メモリは、複数のメモリセルにデータを記憶する。複数のメモリセルはワード線に接続されている。データをリードする場合にワード線にリード電圧が印加される。コントローラは、不揮発性メモリに対してデータのリード及びライトを制御し、データをリードする場合にワード線に印加するリード電圧を制御し、リード電圧を決定するためのトラッキング処理を実行する。コントローラは、選択部とトラッキング部とを含む。選択部は、トラッキング処理を実行する場合に、ワード線を示すワード線識別情報と複数のメモリセルに対する先のリード又はライトからの経過時間とに対応する電圧範囲を選択する。トラッキング部は、選択部によって選択された電圧範囲で、ワード線に接続されている複数のメモリセルに対してト9ラッキング処理を実行する。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態に係る半導体記憶装置の一例を示すブロック図。
【図２】メモリセルアレイの構成の一例を示す回路図。
【図３】しきい値電圧の分布の第１の例を示すグラフ。
【図４】しきい値電圧の分布の第２の例を示すグラフ。
【図５】メモリセルグループに属するメモリセルに印加されるリード電圧を、半導体記憶装置で実現可能な最小の電圧幅で変更して得られたしきい値分布の一例を示すグラフ。
【図６】補正パターンデータの一例を示すデータ構造図。
【図７】第１の実施形態に係る基準時刻データの一例を示すデータ構造図。
【図８】第１の実施形態に係るライト処理の一例を示すフローチャート。
【図９】第１の実施形態に係るリード処理の一例を示すフローチャート。
【図１０】時間経過によりしきい値電圧がずれる状態の例を示すグラフ。
【図１１】第２の実施形態に係る半導体記憶装置の一例を示すブロック図。
【発明を実施するための形態】
【０００７】
以下、図面を参照しながら各実施形態について説明する。以下の説明において、略又は実質的に同一の機能及び構成要素については、同一符号を付し、必要に応じて説明を行う。
【０００８】
［第１の実施形態］
本実施形態においては、不揮発性メモリの一例としてＮＡＮＤ型フラッシュメモリを例として説明を行う。しかしながら、メモリセルに対してリード電圧を印加してメモリセルに記憶されているデータをリードするメモリであれば、他の種類のメモリでもよい。より具体的には、不揮発性メモリは、例えば、ＮＯＲ型フラッシュメモリ、ＭＲＡＭ（Magnetoresistive Random Access Memory）、ＰＲＡＭ（Phase change Random Access Memory）、ＲｅＲＡＭ（Resistive Random Access Memory）、又は、ＦｅＲＡＭ（Ferroelectric Random Access Memory）などでもよい。
【０００９】
図１は、本実施形態に係る半導体記憶装置１の一例を示すブロック図である。この図１は、半導体記憶装置１が例えばソリッド・ステート・ドライブ（ＳＳＤ）の場合を例として示している。しかしながら、半導体記憶装置１は、例えばメモリカードなど、ＳＳＤと異なる装置でもよい。この図１では、本実施形態に係るリード電圧の決定と変更に関わる構成要素のみを示しており、他の構成要素は省略している。
【００１０】
半導体記憶装置１は、ＮＡＮＤ型フラッシュメモリ２、コントローラ３、揮発性メモリ４を備える。また、半導体記憶装置１は、当該半導体記憶装置１をアクセスするホスト装置５と接続される。
【００１１】
ホスト装置５は、大量且つ多様なデータを半導体記憶装置１に記憶するストレージサーバ（サーバ）でもよいし、パーソナルコンピュータでもよい。半導体記憶装置１は、ホスト装置５のメインストレージとして使用されてもよい。半導体記憶装置１は、ホスト装置５に内蔵されてもよいし、ホスト装置５にネットワークを介して接続されてもよい。
【００１２】
ホスト装置５は、半導体記憶装置１にデータをライトするときに、半導体記憶装置１に対してライトコマンド（プログラムコマンド）、論理アドレス、ライトデータを送信する。ホスト装置５は、半導体記憶装置１からデータをリードするときに、半導体記憶装置１に対してリードコマンドと論理アドレスとを送信する。
【００１３】
ＮＡＮＤ型フラッシュメモリ２はメモリセルアレイを含み、メモリセルアレイはマトリクス状に配置された複数のメモリセルを含む。ＮＡＮＤ型フラッシュメモリ２は、２次元構造のＮＡＮＤ型フラッシュメモリでもよく、３次元構造のＮＡＮＤ型フラッシュメモリでもよい。メモリセルアレイは、複数の物理ブロックＢ０〜Ｂｍ−１を含む。物理ブロックＢ０〜Ｂｍ−１の各々は複数のページ（ここではページＰ０〜Ｐｎ−１）を含む。物理ブロックＢ０〜Ｂｍ−１は、アドレス指定可能な最小の消去単位として機能する。物理ブロックは、「消去ブロック」、「物理消去ブロック」、または単に「ブロック」と称されることもある。ページＰ０〜Ｐｎ−１の各々は、同一ワード線に接続された複数のメモリセルを含む。ページＰ０〜Ｐｎ−１は、データライト動作およびデータリード動作の単位である。本実施形態では、ワード線番号を用いてページを識別するが、ワード線番号ではない他の識別情報を用いてページを識別してもよい。メモリセルアレイのより詳細な構成については図２を用いて後で説明する。
【００１４】
コントローラ３は、プロセッサ６、ホストインタフェース７、ＮＡＮＤインタフェース８、揮発性メモリインタフェース９を含む。プロセッサ６、ホストインタフェース７、ＮＡＮＤインタフェース８、揮発性メモリインタフェース９は、バス１０を介して相互接続されていてもよい。
【００１５】
プロセッサ６は、ホスト装置５から、ホストインタフェース７経由で、様々なコマンド（例えば、ライトコマンド、リードコマンド等）を受信する。また、プロセッサ６は、データ（例えば、リードデータ、エラー情報等）を、ホストインタフェース７経由で、ホスト装置５へ送信する。プロセッサ６としては、例えば、ＣＰＵ（Central Processing Unit）又はＭＰＵ（Microprocessor Unit）を利用することができる。
【００１６】
プロセッサ６は、ホスト装置５からホストインタフェース７及びバス１０経由でライトコマンドを受信した場合に、当該ライトコマンドにしたがって、バス１０及びＮＡＮＤインタフェース８経由でＮＡＮＤ型フラッシュメモリ２へデータをライトする。
【００１７】
プロセッサ６は、ホスト装置５からホストインタフェース７及びバス１０経由でリードコマンドを受信した場合に、当該リードコマンドにしたがって、ＮＡＮＤ型フラッシュメモリ２からＮＡＮＤインタフェース８及びバス１０経由でデータをリードし、リードされたデータをバス１０及びホストインタフェース７経由でホスト装置５に送信する。
【００１８】
このようなリードの際に、プロセッサ６は、ＮＡＮＤ型フラッシュメモリ２のメモリセルにリード電圧を印加し、メモリセル４４に記憶されているデータを特定する。また、プロセッサ６は、バックグラウンドでパトロール処理などを実行する場合においても、ＮＡＮＤ型フラッシュメモリ２のメモリセルにリード電圧を印加し、メモリセル４４に記憶されているデータを特定する。
【００１９】
プロセッサ６は、揮発性メモリインタフェース９経由で、揮発性メモリ４へデータをライト可能であり、揮発性メモリ４からデータをリード可能である。
【００２０】
以下においては、説明を簡素化するために、ホストインタフェース７、ＮＡＮＤインタフェース８、揮発性メモリインタフェース９、バス１０については省略して説明を行う。
【００２１】
プロセッサ６は、半導体記憶装置１の電源オンに応答して、ＮＡＮＤ型フラッシュメモリ２に記憶されている制御プログラム（ファームウェア）１１、基準時刻データ１２、補正パターンデータ（トラッキング処理を実行する電圧範囲を示すデータ）１３、アドレス変換データ１４をリードし、揮発性メモリ４に記憶する。プロセッサ６は、制御プログラム１１を実行することによって様々な処理を行う。
【００２２】
プロセッサ６は、制御プログラム１１を実行することにより、例えば、エラー訂正部１５、管理部１６、第１の算出部１７、選択部１８、集計部１９、第２の算出部２０として機能する。なお、プロセッサ６によって実現されるエラー訂正部１５、管理部１６、第１の算出部１７、選択部１８、集計部１９、第２の算出部２０のうちの少なくとも１つは、ハードウェアで実現されてもよく、プロセッサ６とは別構成でコントローラ３に備えられていてもよい。
【００２３】
エラー訂正部１５は、ＥＣＣ（Error Checking and Correction）を実行する。エラー訂正部１５は、例えば、ＬＤＰＣ（Low Density Parity Check）符号又はＢＣＨ（Bose Chaudhuri Hocqenghem）符号などのエラー訂正符号を用いて、ＮＡＮＤ型フラッシュメモリ２からリードされたデータのエラー検出及び訂正を行う。本実施形態において、プロセッサ６は、リードされたデータのエラービット数がエラー訂正部１５のエラー訂正能力を超える場合等の要因により、エラー訂正に失敗したと判断した場合に、第１の算出部１７にトラッキング処理の開始を指示するトラッキングコマンドを送信する。
【００２４】
管理部１６は、ＮＡＮＤ型フラッシュメモリ２の各ブロックを最後にライトしたライト基準時刻と、各ページのリード回数と、各ページのライト回数とを、揮発性メモリ４に記憶されている基準時刻データ１２を用いて管理する。基準時刻データ１２の具体例については、図７を用いて後で説明する。
【００２５】
本実施形態においては、ブロックを最後にライトしたライト基準時刻を管理するとしているが、これに代えて、ページを最後にライトした基準時刻を管理してもよく、ブロックを最後にリードしたリード基準時刻を管理してもよく、ページを最後にリードした基準時刻を管理してもよい。本実施形態においては、これらの基準時刻を用いて第１の算出部１７により経過時間が算出される。
【００２６】
第１の算出部１７は、エラー訂正部１５からトラッキングコマンドを受信すると、基準時刻データ１２を用いて、当該トラッキング対象ページを含むブロックに対するライト基準時刻を取得し、取得したライト基準時刻から当該トラッキング対象ページをリードする時刻までの経過時間を算出する。
【００２７】
本実施形態において、第１の算出部１７は、ライト基準時刻から当該トラッキング対象ページをリードする時刻までの経過時間を算出しているが、これに代えて、トラッキング対象ページを最後にライトした基準時刻からトラッキング対象ページをリードする時刻までの経過時間を算出してもよい。また、第１の算出部１７は、トラッキング対象ページを含むブロックを最後にリードしたリード基準時刻からトラッキング対象ページをリードする時刻までの経過時間を算出してもよい。さらに、第１の算出部１７は、トラッキング対象ページを最後にリードした基準時刻からトラッキング対象ページをリードする時刻までの経過時間を算出してもよい。
【００２８】
選択部１８は、ＮＡＮＤ型フラッシュメモリ２のトラッキング対象ページに対して用いるリード電圧を決定（変更）するためのトラッキング処理を実行する場合に、揮発性メモリ４の補正パターンデータ１３を参照し、トラッキング対象ページに対応するワード線番号と、第１の算出部１７によって算出されたトラッキング対象ページに対応する経過時間と、トラッキング対象ページに対応するリード回数と、トラッキング対象ページに対応するライト回数とに関連する補正パターン（電圧範囲）を選択する。
【００２９】
本実施形態においては、ワード線番号を用いて補正パターンを選択しているが、ワード線番号に代えて、例えばブロック識別情報、又は、ＮＡＮＤ型フラッシュメモリ２のチップ識別情報を用いて補正パターンを選択してもよい。
【００３０】
本実施形態においてトラッキング処理は、集計部１９と第２の算出部２０とによって実行される。集計部１９と第２の算出部２０とは、選択部１８によって選択された補正パターンにしたがって、トラッキング対象ページに対してトラッキング処理を実行し、新たなリード電圧を決定する。
【００３１】
集計部１９は、補正パターンデータ１３から選択された補正パターンにしたがってＮＡＮＤ型フラッシュメモリ２のメモリセルのしきい値電圧の分布状態について統計処理を行い、統計結果（統計値）を第２の算出部２０へ送信する。
本実施形態において、統計処理とは、例えば正規分布を有する電圧対セル数の分布において、セル数が極大値すなわち最頻値を示す場合のリード電圧を決定する処理を含む。また、本実施形態において統計結果には、電圧に対するメモリセル数の分布に対する要約統計量を含み、より具体的な例としては、平均値、中間値、標準偏差、分散、尖度、歪度、最頻値などの情報を含む。また、統計結果は、得られた統計分布量が示す各種の指標を含むとしてもよい。
【００３２】
第２の算出部２０は、集計部１９から受信した統計結果を用いて、メモリセルに対するリード電圧を算出し、リード電圧を決定する。
【００３３】
これら集計部１９及び第２の算出部２０によって実行されるトラッキング処理のより詳細な構成については図３乃至図５を用いて後で説明する。
【００３４】
上述したように、揮発性メモリ４は、制御プログラム１１、基準時刻データ１２、補正パターンデータ１３、アドレス変換データ１４を記憶する。
【００３５】
補正パターンデータ１３は、複数のワード線番号と、複数の経過時間と、複数のリード回数（リード回数の範囲としてもよい）と、複数のライト回数（ライト回数の範囲としてもよい）と、複数の補正パターンとを関連付けており、例えばテーブル形式のデータとしてもよい。しかしながら、補正パターンデータ１３は、テーブル形式に代えて、複数のワード線番号と、複数の経過時間と、複数のリード回数と、複数のライト回数と、複数の補正パターンとをリスト形式で関連付けたデータでもよい。また、補正パターンデータ１３に代えて、ワード線番号と、経過時間と、リード回数と、ライト回数のいずれか１以上を入力値とする数式により補正パターンが算出されてもよい。なお、補正パターンデータ１３は、コントローラ３内の図示しないメモリに記憶されるとしてもよい。
【００３６】
補正パターンは、例えば、リード電圧のトラッキング処理の範囲の基準となる基準電圧、基準電圧から定められる複数個のリード電圧（オフセット値で表現されてもよい）、トラッキング処理に用いられるリード電圧の観測点の数（ステップ数）を含むとする。
【００３７】
アドレス変換データ１４は、例えば、ホスト装置５から受信された論理アドレスを、ＮＡＮＤ型フラッシュメモリ２の物理アドレスに変換するために用いられる。
【００３８】
揮発性メモリ４は、ホスト装置５から受信したライトデータ及びＮＡＮＤ型フラッシュメモリ２からリードしたリードデータを一時的に記憶するバッファを含むとしてもよい。
【００３９】
揮発性メモリ４としては、例えばＤＲＡＭ（Dynamic Random Access Memory）などが用いられる。この揮発性メモリ４の一部又は全部は、コントローラ３に内蔵されていてもよい。プロセッサ６からのアクセス速度が十分に高速であれば、揮発性メモリ４に代えて不揮発性メモリを用いてもよい。また、揮発性メモリ４と不揮発性メモリとを組み合わせて用いてもよい。
【００４０】
図２は、メモリセルアレイの構成の一例を示す回路図である。
メモリセルアレイＡ１は、ＮＡＮＤセル型メモリセルアレイであり、複数のメモリセル４４がマトリクス状に配列され、複数のＮＡＮＤセルを含む。１つのＮＡＮＤセルは、直列接続されたメモリセル４４からなるメモリストリングＭＳと、その両端に接続される選択ゲートＧ１，Ｇ２とを含む。選択ゲートＧ１は、ビット線ＢＬ0〜ＢＬn-1に接続されている。選択ゲートＧ２は、ソース線ＳＲＣに接続されている。同一のロウに配列されたメモリセル４４の制御ゲートは、ワード線ＷＬ0〜ＷＬm-1に共通接続されている。第１の選択ゲート（トランジスタ）Ｇ１のゲート端子は、セレクト線ＳＧＤに共通接続されている。第２の選択ゲート（トランジスタ）Ｇ２のゲート端子は、セレクト線ＳＧＳに共通接続されている。
【００４１】
メモリセルアレイＡ１は、１又は複数のプレーンＰＬ１を含んでいる。プレーンＰＬ１は、複数のブロック４２を含む。各ブロック４２は、複数のＮＡＮＤセルを含み、データ消去の単位となる。
【００４２】
１つのワード線に接続された複数のメモリセル４４は、物理セクタとして１つのメモリセルグループ４３を構成する。各メモリセル４４が１ビット（２値）を記憶する場合には、１つのメモリセルグループ４３は、１ページに対応する。各メモリセル４４が２ビット以上（多値）を記憶する場合には、１つのメモリセルグループ４３は、複数ページに対応する。ＮＡＮＤ型フラッシュメモリでは、ページごとにデータのライト及びリードが行われる。リード動作時、プログラムベリファイ動作時、プログラム動作時において、コントローラ３から受信した物理アドレスに応じて、１本のワード線が選択され、１つのページが選択される。ページの切り替えは、物理アドレスによって行われる。
【００４３】
図３は、しきい値電圧の分布の第１の例を示すグラフである。
図４は、しきい値電圧の分布の第２の例を示すグラフである。この図４の分布は、図３の分布からメモリセル４４のフローティング・ゲートの電荷量が変化した状態を表している。
【００４４】
各メモリセル４４では、フローティング・ゲートの電荷量に応じた電圧値以上の電圧がコントロールゲートに印加されると電流が流れ、当該電圧値未満の電圧が印加されると電流が流れない。この境目となる電圧はしきい値電圧と呼ばれる。各メモリセル４４は、複数のしきい値電圧の分布（しきい値分布）のいずれかに対応するしきい値電圧を持つ。メモリセル４４は、リード時に、リード電圧を印加され、リード電圧がしきい値電圧より低いか高いかにより、メモリセル４４に記憶されているデータが決定される。本実施形態では、説明を簡略化するために、各メモリセル４４が１ビットを記憶する１ビット／セルの例について説明する。図３及び図４の縦軸はメモリセル数を示し、横軸はしきい値電圧（フローティング・ゲートの電荷量に相当）を示す。
【００４５】
図３に示すように、２つのしきい値分布のうち左側のしきい値分布がデータ「１」に対応し、右側のしきい値分布がデータ「０」に対応する。各メモリセル４４は、２つのしきい値分布のいずれかに対応するしきい値電圧を持つ。ＮＡＮＤ型フラッシュメモリ２からのリード時には、２つのしきい値分布を区切るデフォルトのリード電圧（以下において、「デフォルト・リード電圧」という）ＶAを各メモリセル４４に印加することにより、各メモリセル４４に記憶されているデータが「１」であるか「０」であるかを判断することができる。
【００４６】
一方、ＮＡＮＤ型フラッシュメモリ２には、データリテンションエラー、リードディスターブエラー、プログラムディスターブエラー等のエラー要因が存在する。これらのエラー要因により、メモリセル４４のフローティング・ゲートの電荷量が変化し、しきい値分布が変化する場合がある。図４では、上記図３のしきい値分布が点線で示されている。この図４では、しきい値分布が上記図３の場合よりも低電圧側へ変化した状態を実線で示している。このため、図４に示す２つのしきい値分布を区切るべきリード電圧ＶBは、上記図３のデフォルト・リード電圧ＶAから低電圧側へずれている。このため、最初に決定されたデフォルト・リード電圧ＶAを用いてリードをし続けると、リードエラーが増加する可能性がある。
【００４７】
リードエラーは、リードされたデータに対してエラー訂正部１５によってエラー訂正処理を実行することにより、エラー訂正される場合がある。しかしながら、リードされたデータのエラービット数がエラー訂正部１５のエラー訂正処理能力を超える場合には、エラー訂正部１５でのエラー訂正は失敗する。トラッキング処理では、このようなエラー訂正の失敗を抑制するために、しきい値分布が変化することに応じて適切なリード電圧を決定する。
【００４８】
ここで、トラッキング処理について説明する。トラッキング処理の一例としては、半導体記憶装置で実現可能な最小の電圧幅を単位としてメモリセル４４に対するリード電圧をスイープし、複数のメモリセル４４のしきい値分布を正確に把握する手法がある。しかしこの手法では、正確なしきい値分布の把握のために、各メモリセル４４へのリード電圧の印加回数（リード回数）が膨大になり、リード電圧の算出に時間を要し、また、各メモリセル４４に加えられるストレスが高くなる。ＮＡＮＤ型フラッシュメモリでは、各メモリセル４４に対するストレスが高まると、メモリセル４４に記憶されるデータがエラーとなる可能性が高くなる。
【００４９】
図５は、１つのメモリセルグループに属するメモリセル４４に印加されるリード電圧を、典型的な半導体記憶装置で実現可能な最小の電圧幅を単位として得られたしきい値分布Ｄ１の一例を示すグラフである。図５において、横軸は電圧を表し、メモリセル４４に対するリード電圧又はメモリセル４４のしきい値電圧を表す。縦軸はメモリセル数を表す。典型的な半導体記憶装置は、しきい値分布Ｄ１の全体を明らかにした上でリード電圧を決定する。例えば、しきい値分布Ｄ１のうち、極小値をとる電圧をリード電圧として決定する。しかしながら、この手法は、前述したように、多数のリードを要するために、リード電圧の算出に時間を要し、また、各メモリセル４４に加えられるストレスが高くなる可能性がある。したがって、トラッキング処理では、リード回数を抑制し、しきい値分布Ｄ１の全体を把握することなく、メモリセル４４に対するリード電圧を決定することが好ましい。一般に、しきい値分布の一部の電圧範囲のみを探索対象とし、リード電圧を決定する技術が知られている。しかしながら、最適なリード電圧が、当該探索対象となる電圧範囲から外れている場合には、他の電圧範囲に対して探索をやり直す必要があるため、リード回数が増加する。そこで本実施形態においては、探索対象のしきい値分布の電圧範囲を適宜補正する。
【００５０】
本実施形態においては、例えば、複数のメモリセル４４と接続されているワード線、複数のメモリセル４４に対する先のリード又はライトからの経過時間、複数のメモリセル４４に対するリード回数、複数のメモリセル４４に対するライト回数に関連付けられている電圧範囲が選択され、この電圧範囲に対してトラッキング処理が実行される。この本実施形態においては、選択された電圧範囲内でトラッキング処理を実行するため、リード電圧が決定されるまでの時間を短縮化することができ、また、ワード線、経過時間、リード回数、ライト回数が原因でしきい値電圧にずれが生じた場合であっても選択された電圧範囲から適切なリード電圧を決定可能である。
以下では、まず、補正パターンデータ１３から選択された補正パターンにしたがって実行されるトラッキング処理の一例を説明し、その後、図６から図９を用いて補正パターンの選択に関連するデータ及び処理を説明する。
【００５１】
トラッキング処理において、集計部１９は、ＮＡＮＤ型フラッシュメモリ２の１つのメモリセルグループに対して、補正パターンデータ１３から選択された補正パターンにしたがってリード電圧Ｖ１〜Ｖ４を印加する。リード電圧Ｖ１〜Ｖ４は、Ｖ１＜Ｖ２＜Ｖ３＜Ｖ４の関係が成立する。各リード電圧範囲（リード電圧Ｖ１，Ｖ２の間、リード電圧Ｖ２，Ｖ３の間、リード電圧Ｖ３，Ｖ４の間）の幅Ｖgapは、等しくてもよく、不規則でもよい。
【００５２】
集計部１９は、リード電圧Ｖ１〜Ｖ４ごとに電流の流れたメモリセル４４の総数Ｃ１〜Ｃ４を集計する。総数Ｃ１は、しきい値分布Ｄ１において、リード電圧Ｖ１以下に示されたメモリセル数の総和となる。総数Ｃ２は、しきい値分布Ｄ１において、リード電圧Ｖ２以下に示されたメモリセル数の総和となる。総数Ｃ３は、しきい値分布Ｄ１において、リード電圧Ｖ３以下に示されたメモリセル数の総和となる。総数Ｃ４は、しきい値分布Ｄ１において、リード電圧Ｖ４以下に示されたメモリセル数の総和となる。
【００５３】
そして、集計部１９は、各リード電圧範囲（リード電圧Ｖ１，Ｖ２の間、リード電圧Ｖ２，Ｖ３の間、リード電圧Ｖ３，Ｖ４の間）にしきい値電圧を有するメモリセル４４のセル数Δlow，Δmid，Δhighを計算する。集計部１９は、（総数Ｃ２−総数Ｃ１）をセル数Δlowとし、（総数Ｃ３−総数Ｃ２）をセル数Δmidとし、（総数Ｃ４−総数Ｃ３）をセル数Δhighとする。ただし、集計部１９は、セル数Δlow，Δmid，Δhighについて、Δmid≦Δlow，Δmid≦Δhighの関係が成立するように、リード電圧Ｖ１〜Ｖ４を調整し、総数Ｃ１〜Ｃ４を集計する。さらに、集計部１９は、セル数Δlow，Δmid，Δhighのそれぞれに対応する中間電圧Ｖlow，Ｖmid，Ｖhighを特定する。中間電圧Ｖlowは、リード電圧Ｖ２，Ｖ１の中間点であり、（Ｖ２＋Ｖ１）／２である。中間電圧Ｖmidは、リード電圧Ｖ３，Ｖ２の中間点であり、（Ｖ３＋Ｖ２）／２である。中間電圧Ｖhighは、リード電圧Ｖ４，Ｖ３の中間点であり、（Ｖ４＋Ｖ３）／２である。図５では、リード電圧Ｖ２，Ｖ１の中間点をＰlow（Ｖlow，Δlow）としてプロットしており、リード電圧Ｖ３，Ｖ２の中間点をＰmid（Ｖmid，Δmid）としてプロットしており、リード電圧Ｖ４，Ｖ３の中間点をＰhigh（Ｖhigh，Δhigh）としてプロットしている。集計部１９は、幅Ｖgap及び中間点Ｐlow，Ｐmid，Ｐhighに関するデータを第２の算出部２０に送る。
【００５４】
第２の算出部２０は、当該データを受信すると、下記の数式（１）にしたがって、リード電圧Ｖval1を算出する。
【数１】
2018163707.tif 000003
第２の算出部２０によって算出されたリード電圧Ｖval1は、例えばリード電圧Ｖ１とリード電圧Ｖ４の間のいずれかの値となる。この図５の例におけるリード電圧Ｖval1は、リード電圧Ｖ２，Ｖ３の間を（Δlow−Δmid）：（Δhigh−Δmid）の比で内分する値となっている。また、リード電圧Ｖval1は、ＮＡＮＤ型フラッシュメモリ２からのリード時点でのメモリセル４４のしきい値分布における谷部分に対応する値として評価できる。
【００５５】
第２の算出部２０は、リード電圧Ｖval1に対して四捨五入などの所定の演算処理を行い、半導体記憶装置１で用いることが可能なリード電圧のうちリード電圧Ｖval1に最も近いリード電圧Ｖval2を算出する。このように、リード電圧Ｖval1又はリード電圧val2を決定する処理をトラッキング処理という。半導体記憶装置１は、リード電圧Ｖval2をリード電圧として決定することで、しきい値分布Ｄ１の全体を把握してリード電圧を決定する場合と比較して、メモリセル４４に対するリード回数を抑制することができる。この図５の説明においては、メモリセルグループ４３に対するリードに用いられるリード電圧を決定する場合を例として説明しているが、上記のトラッキング処理は、メモリチップに対するリード電圧を決定する際に実行されてもよく、ブロックに対するリード電圧を決定する際に実行されてもよい。
【００５６】
図６は、補正パターンデータ１３の一例を示すデータ構造図である。
この図６では、複数のワード線番号、複数の経過時間情報、複数のリード回数、複数のライト回数ごとに、対応する補正パターンが管理されている。なお、リード回数及びライト回数は、補正パターンデータ１３のデータ量を抑制するため、リード回数の範囲及びライト回数の範囲で管理されてもよい。この図６の例においては、ワード線番号ＷＬ1、経過時間情報Ｔ1、リード回数Ｒ1、ライト回数Ｗ1に対して、補正パターンＧＧが関連付けられている。したがって、リード回数Ｒ1、ライト回数Ｗ1、経過時間情報Ｔ1であり、ワード線番号ＷＬ1に対応するページに対してトラッキング処理を実行する場合には、補正パターンＧＧを用いてトラッキング処理が実行される。
【００５７】
補正パターンＧＧは、例えば、トラッキング処理に用いるリード電圧の基準値（初期値）Ｖ１、トラッキング処理に用いるリード電圧の基準値Ｖ１からの差Ｖgap、トラッキング処理に用いるリード電圧の観測点の数に対応するステップ数「４」を含む。
【００５８】
基準値、オフセット、ステップ数などの補正パターンは、例えば、ワード線番号、経過時間情報、リード回数、ライト回数などの条件に対して、トラッキング処理をするのに適した範囲を統計的に求めることで決定される。
図７は、本実施形態に係る基準時刻データ１２の一例を示すデータ構造図である。この図７では、説明を簡略化するために上記図１のブロックＢ０に関する情報を例示しているが、他のブロックＢ１〜Ｂｍ−１に関する情報についても同様である。
基準時刻データ１２は、ブロックＢ０に対するブロック識別情報ＢＢ0と、ブロックＢ０に関するライト基準時刻ＲＴ0と、ブロックＢ０に含まれる各ページＰ０〜Ｐｎ−１に対するページ識別情報ＰＰ0〜ＰＰn-1と、各ページＰ０〜Ｐｎ−１に関するリード回数Ｒ1〜Ｒn-1及びライト回数Ｗ1〜Ｗn-1とを関連付けている。
ブロック識別情報ＢＢ0及びページ識別情報ＰＰ0〜ＰＰ n-1としては、論理アドレス又は物理アドレスが用いられてもよい。
なお、基準時刻データ１２は、ブロックＢ０〜Ｂｎ−１ごとのライト基準時刻とともに、又は、ブロックＢ０〜Ｂｎ−１のライト基準時刻に代えて、ブロックＢ０〜Ｂｎ−１ごとのリード基準時刻を含むとしてもよい。また、ライト基準時刻、リード基準時刻は、ページごとに求められてもよい。リード回数、ライト回数は、ブロックごとに求められてもよい。
【００５９】
図８は、本実施形態に係るライト処理の一例を示すフローチャートである。
【００６０】
ステップＳ８０１において、プロセッサ６は、ホスト装置５から、ライトコマンド、論理アドレス、ライトデータを受信する。
ステップＳ８０２において、プロセッサ６は、ライトデータのライト先物理アドレスを確保する。
ステップＳ８０３において、プロセッサ６は、ＮＡＮＤ型フラッシュメモリ２に含まれておりライト先として確保された物理アドレスに対応する複数のメモリセル４４へ、ライトデータをライト(プログラム)し、アドレス変換データ１４を更新する。
ステップＳ８０４において、管理部１６は、揮発性メモリ４に記憶されている基準時刻データ１２における、ライト先のブロックに対応するライト基準時刻と、ライト対象のページに対応するライト回数とを更新する。
【００６１】
図９は、本実施形態に係るリード処理の一例を示すフローチャートである。
ステップＳ９０１において、プロセッサ６は、ホスト装置５から、リードコマンド、論理アドレスを受信する。
ステップＳ９０２において、プロセッサ６は、揮発性メモリ４に記憶されているアドレス変換データ１４にしたがって、受信した論理アドレスを物理アドレスに変換する。
ステップＳ９０３において、プロセッサ６は、ＮＡＮＤ型フラッシュメモリ２に含まれておりアドレス変換によって得られた物理アドレスに対応する複数のメモリセルからリードデータをリードする。
ステップＳ９０４において、管理部１６は、揮発性メモリ４に記憶されている基準時刻データ１２における、リード対象のページに対応するリード回数を更新する。
ステップＳ９０５において、エラー訂正部１５は、ＮＡＮＤ型フラッシュメモリ２からリードされたリードデータのエラー検出及び訂正を行い、リードデータのエラー訂正が成功したか否か判断する。
【００６２】
エラーが検出されなかったか、又は、エラー訂正が成功した場合、ステップＳ９０６において、プロセッサ６は、エラーが検出されなかった、又は、エラー訂正が成功したリードデータをホスト装置５に送信する。その後、処理は終了する。
【００６３】
エラー訂正が失敗の場合、処理はステップＳ９０７へ進む。なお、本実施形態において、エラー訂正部１５は、リードデータに生じたエラービット数がしきい値以上の場合には、リードデータに対してエラー訂正が成功した場合であっても、トラッキング処理を行うために、ステップ９０７に処理を進めてもよい。
ステップＳ９０７において、第１の算出部１７は、基準時刻データ１２を用いて、トラッキング対象ページを含むブロックに対するライト基準時刻を取得し、取得したライト基準時刻からトラッキング対象ページをリードする時刻までの経過時間を算出する。
【００６４】
ステップＳ９０８において、選択部１８は、補正パターンデータ１３を参照し、トラッキング対象ページに対応するワード線番号、第１の算出部１７によって算出されたトラッキング対象ページに対応する経過時間と、トラッキング対象ページに対応するリード回数と、トラッキング対象ページに対応するライト回数とに関連する補正パターンを選択する。
【００６５】
ステップＳ９０９において、集計部１９は、補正パターンデータ１３から選択された補正パターンにしたがって、ＮＡＮＤ型フラッシュメモリ２におけるしきい値電圧に対するメモリセル数の分布を求め、先に説明したように当該分布にそって各種の統計量を算出する。
【００６６】
ステップＳ９１０において、第２の算出部２０は、集計部１９によって実行された統計量を用いて、メモリセル４４に対するリード電圧を算出し、トラッキング対象ページに対するリード電圧を決定する。
【００６７】
ステップＳ９１０においてリード電圧が決定された場合には、上記ステップＳ９０３に戻り、プロセッサ６は、この決定されたリード電圧を用いて、ＮＡＮＤ型フラッシュメモリ２からリードデータをリード（リトライ）してもよい。このリードのリトライにおいてもエラー訂正が失敗した場合（上記ステップＳ９０５のＹＥＳの場合）には、例えば、ステップＳ９０７の処理において算出される経過時間の変更を行い、処理はステップＳ９０８に進む。
また、ステップＳ９１０においてリード電圧が決定された場合には、当該決定されたリード電圧を記憶（学習）しておき、同じメモリセル４４に対してリードが発生した場合には、この記憶されたリード電圧を用いてリードが行われる。
【００６８】
例えば、リードデータのエラー訂正が失敗した場合、又は、リードデータに発生したエラービット数がしきい値以上の場合に、まず通常のトラッキング処理を実行し、当該通常のトラッキング処理を実行してもＮＡＮＤ型フラッシュメモリ２からリードされるリードデータのエラービット数が減少しない場合に、本実施形態に係るトラッキング処理が実行されてもよい。本実施形態に係るトラッキング処理は、半導体記憶装置１のバックグラウンド処理の１つとして例えば定期的に実行されてもよい。
【００６９】
以上説明した本実施形態においては、しきい値電圧の分布が変化した場合であっても、読み出し対象のメモリセルに対応するワード線、時間経過、リード回数、ライト回数に関連付けられている電圧範囲が選択され、この電圧範囲に対してトラッキング処理が実行される。これにより、ワード線の間でしきい値電圧にばらつきが生じる場合や、時間経過、リード回数、ライト回数によってしきい値電圧にばらつきが生じる場合であっても、適切な電圧範囲に対してトラッキング処理を実行し、リード電圧を決定することができる。したがって、リード電圧を決定するために必要なリードの回数とリード電圧を決定するために必要な処理時間を減らすことができる。
【００７０】
本実施形態においては、トラッキング処理の対象となる電圧範囲を適切化することができ、リード電圧の探索時間を短縮することができる。
【００７１】
例えば、３次元構造のＮＡＮＤ型フラッシュメモリにおいては、図１０に示すように、時間が経過することでしきい値電圧がずれる場合があり、また、ワード線の間でもしきい値電圧がずれる場合がある。しきい値電圧のずれは例えば数分などの比較的短い時間経過で生じる場合がある。
【００７２】
このようなずれに対処する比較例として、前回にリードできたリード電圧を基準とし、当該基準からのシフト量を指定するシフトリードテーブルにしたがってリード電圧を種々変更し、リード電圧を決定する技術がある。
【００７３】
リードディスターブ又はプログラムディスターブを受けた後のしきい値電圧は、低電位から高電位へずれる。データリテンションを受けた後のしきい値電圧は、電位中性点にずれ、例えば高電位から低電位へずれる。
【００７４】
比較例の技術において、低電位から高電位へのしきい値電圧のずれと、高電位から低電位へのしきい値電圧のずれの双方に対処するためには、低電位から高電位へのリード電圧の変更のためのシフトリードテーブルと、高電位から低電位へのリード電圧の変更のためのシフトリードテーブルの双方が必要になる。このため、シフトリードテーブルのデータ量は膨大になる。また、時間経過に伴うしきい値電圧のずれ、及び、ワード線の間で生じるしきい値電圧のずれが原因で、シフトリードテーブルで指定されるシフト量を超えてしきい値電圧分布が大きくずれた場合には、シフトリードテーブルにしたがってリード電圧を変更しても、適切なリード電圧を決定できず、エラーリカバリが困難な状態となる。また、比較例の技術においては、ワード線ごとのばらつきの影響を解消していない。
【００７５】
これに対して、本実施形態においては、ワード線と時間経過ごとにトラッキング処理で用いる電圧範囲が変更されるため、ワード線と時間経過とに応じてトラッキング処理を開始する基準電圧を適宜変更可能である。
【００７６】
これにより、時間経過に伴うしきい値電圧のずれが発生した場合、及び、ワード線の間でしきい値電圧にずれが発生した場合であっても、リード電圧を決定することができ、トラッキングで必要なリードの回数を減らすことができる。
【００７７】
また、本実施形態においては、半導体記憶装置１のリード性能と信頼性の低下を防止することができる。
本実施形態においては、主に、ＮＡＮＤ型フラッシュメモリ２からデータがリードされる場合のトラッキング処理を例として説明しているが、バックグラウンドでパトロール処理などを実行する場合においても本実施形態で説明したトラッキング処理によりリード電圧を決定してもよい。
ＮＡＮＤ型フラッシュメモリ２は、リードされる場合とライトされる場合とで異なるストレスを受ける。例えば、リードされる場合にメモリセルに印加される電圧の値とライトされる場合とメモリセルに印加される電圧の値とは異なる。したがって、様々な種類のストレスによってＮＡＮＤ型フラッシュメモリ２のメモリセルが影響を受けた場合であっても適切なリード電圧を決定可能とするために、本実施形態においては、ライト基準時刻からリードする時刻までの時間経過に応じて補正パターンが決定されてもよいし、リード基準時刻からリードする時刻までの時間経過に応じて補正パターンが決定されてもよい。
【００７８】
［第２の実施形態］
本実施形態においては、上記第１の実施形態における補正パターンデータ１３の生成について説明する。
【００７９】
例えば、補正パターンデータ１３は、静的でも動的でもよい。より具体的に説明すると、補正パターンデータ１３は、ＮＡＮＤ型フラッシュメモリ２又は半導体記憶装置１の設計時又は製造時に静的に決定され、この決定された補正パターンデータ１３がその後も変更なく使用されてもよい。
【００８０】
一方で、補正パターンデータ１３に含まれている補正パターンは、ＮＡＮＤ型フラッシュメモリ２又は半導体記憶装置１の使用状態に応じて動的に適宜変更されてもよい。
【００８１】
図１１は、本実施形態に係る半導体記憶装置１Ａの一例を示すブロック図である。
【００８２】
本実施形態に係る半導体記憶装置１Ａでは、プロセッサ６は、さらにパターン変更部２１として機能する。
【００８３】
パターン変更部２１は、揮発性メモリ４に、半導体記憶装置１Ａ又はＮＡＮＤ型フラッシュメモリ２のログデータ２２を記憶する。
ログデータ２２は、例えば、各リード電圧の値とそのリード電圧に対応するメモリセルのカウント値、各リード電圧の値とそのリード電圧に対応するページ数、又は、各リード電圧の値とそのリード電圧に対応するＥＣＣフレーム数などを含む。ここで、ＥＣＣフレームは、１つのページに複数含まれており、エラー訂正が実行される１単位のデータである。さらに、ログデータ２２は、ページあたりのエラービット数、ＥＣＣフレームあたりのエラービット数を含むとしてもよい。
【００８４】
そして、パターン変更部２１は、ログデータ２２に基づいて、リード電圧の最頻値、ページ又はＥＣＣフレームあたりのエラービット数を極小とするリード電圧の分布の最頻値、及び、ＥＣＣフレームあたりのエラービット数がしきい値以下となるＥＣＣフレーム数を最大にするリード電圧などの統計値を算出し、算出された統計値に基づいて、変更後の補正パターンを決定し、当該変更後の補正パターンを補正パターンデータ１３に記憶してもよい。
【００８５】
なお、本実施形態に係るパターン変更部２１による処理は、例えば、リードデータのエラー訂正が失敗した場合、又は、リードデータのエラービット数がしきい値以上の場合に、直ちに実行されてもよい。あるいは、パターン変更部２１による処理は、例えば、リードデータのエラー訂正が失敗した場合、又は、リードデータに発生したエラービット数がしきい値以上の場合に、まず通常のトラッキング処理を実行し、当該通常のトラッキング処理を実行してもＮＡＮＤ型フラッシュメモリ２からリードされるリードデータのエラービット数が減少しない場合に実行されてもよい。パターン変更部２１による処理は、半導体記憶装置１Ａで実行されるバックグラウンド処理の１つとして実行されてもよい。
【００８６】
以上説明した本実施形態においては、上記第１の実施形態に係るトラッキング処理を、半導体記憶装置１Ａ又はＮＡＮＤ型フラッシュメモリ２の使用状況にあわせてより適切に実行することができる。
【００８７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８８】
１，１Ａ…半導体記憶装置、２…ＮＡＮＤ型フラッシュメモリ、３…コントローラ、４…揮発性メモリ、５…ホスト装置、６…プロセッサ、７…ホストインタフェース、８…ＮＡＮＤインタフェース、９…揮発性メモリインタフェース、１１…制御プログラム、１２…基準時刻データ、１３…補正パターンデータ、１４…アドレス変換データ、１５…エラー訂正部、１６…管理部、１７…第１の算出部、１８…選択部、１９…集計部、２０…第２の算出部、２１…パターン変更部、２２…ログデータ、ＧＧ…補正パターン。
【図１】
2018163707.tif 000004
【図２】
2018163707.tif 000005
【図３】
2018163707.tif 000006
【図４】
2018163707.tif 000007
【図５】
2018163707.tif 000008
【図６】
2018163707.tif 000009
【図７】
2018163707.tif 000010
【図８】
2018163707.tif 000011
【図９】
2018163707.tif 000012
【図１０】
2018163707.tif 000013
【図１１】
2018163707.tif 000014