(57)【要約】【課題】  ＥＣＣのコストを低減できる半導体装置を提供する。【解決手段】  複数のメモリセルを有し、各メモリセルが１つのデータを示す多値を記憶可能なメモリと、前記メモリの１つのセルに前記多値を書き込むコントローラと、前記１つのセルに書き込まれた多値からデータのユーナリ読み出しを行なうセンスアンプとを具備し、前記データは、所定の下位ビットの誤差が許容されるデータであり、前記コントローラは、前記センスアンプから前記メモリの１つのセルに記憶された多値で示されるデータを読み出す、半導体記憶装置、である。【選択図】図１
2020113347.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルを有し、各メモリセルが１つのデータを示す多値を記憶可能なメモリと、
前記メモリの１つのセルに前記多値を書き込むコントローラと、
前記１つのセルに書き込まれた多値からデータのユーナリ読み出しを行なうセンスアンプとを具備し、
前記データは、所定の下位ビットの誤差が許容されるデータであり、
前記コントローラは、前記センスアンプから前記メモリの１つのセルに記憶された多値で示されるデータを読み出す、
半導体記憶装置。
【請求項２】
前記データは、ディープラーニングの推論用のデータである、請求項１記載の半導体記憶装置。
【請求項３】
前記センスアンプは、シングルスロープＡＤＣ又はフラッシュＡＤＣである、請求項１記載の半導体記憶装置。
【請求項４】
前記メモリは、ＮＡＮＤフラッシュメモリ、抵抗変化型メモリ（ＲｅＲＡＭ）、相変化メモリ（ＰＣＭ）のいずれか１つである、請求項１記載の半導体記憶装置。
【請求項５】
複数のメモリセルを有し、各メモリセルが１つのデータを示す多値を記憶可能なメモリと、
前記メモリの複数のセルに前記多値を書き込むコントローラと、
前記複数のセルに書き込まれた多値からデータのユーナリ読み出しを行なうセンスアンプとを具備し、
前記コントローラは、
書き込みデータを複数の書き込みデータに分割する分割部と、
前記分割部により分割された複数の分割書き込みデータを前記メモリの複数のセルにそれぞれ書き込む書き込み部と
を具備する、半導体記憶装置。
【請求項６】
前記コントローラは、さらに、
前記分割書き込みデータを読み出す場合、前記センスアンプから、前記複数のセルから前記複数の分割書き込みデータの読み出しをそれぞれ行ない、読みだされた複数の分割書き込みデータを加算して、読み出しデータとして出力するユーナリ読み出し部
をさらに具備する、
請求項５記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体記憶装置に関する。
【背景技術】
【０００２】
ディープラーニングでは膨大なデータを消費する。ディープラーニングで使用するデータ(例えば、重みデータ)は、上位ビットほど重要度が高いが、このようなデータであっても従来のメモリシステムでは全てのビットの信頼度が等しくなるように制御されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−２１２９３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
通常、メモリシステムでは全てのビットで信頼性が均一になるようＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）で制御する。しかし、メモリの多値化が進むにつれてＥＣＣにかかるコストは増大する。
【０００５】
多値メモリセルの持つ複数ビットの中で信頼度に重みをつけた制御を行う場合もあるが、センス時にノイズの影響を受けた場合に出力データのばらつきを増大させてしまう。
【課題を解決するための手段】
【０００６】
実施形態によれば、複数のメモリセルを有し、各メモリセルが１つのデータを示す多値を記憶可能なメモリと、前記メモリの１つのセルに前記多値を書き込むコントローラと、前記１つのセルに書き込まれた多値からデータのユーナリ読み出しを行なうセンスアンプとを具備し、前記データは、所定の下位ビットの誤差が許容されるデータであり、前記コントローラは、前記センスアンプから前記メモリの１つのセルに記憶された多値で示されるデータを読み出す、半導体記憶装置である。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態に係る半導体記憶装置を説明するための図である。
【図２】第１実施形態に係るセンスアンプ４の構成を示す図である。
【図３】クロックカウンタ１３のカウント値とビット線ＢＬのビット線電圧ＶＢＬとの関係を示す図である。
【図４】第１実施形態に係る半導体装置の読み出し動作を説明するためのフローチャートである。
【図５】第２実施形態に係る半導体記憶装置を説明するための図である。
【図６】第２実施形態に係る半導体装置の書き込み動作を説明するためのフローチャートである。
【図７】第２実施形態に係る半導体装置の読み出し動作を説明するためのフローチャートである。
【発明を実施するための形態】
【０００８】
以下に、実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については同一符号を付し、重複説明は必要な場合にのみ行う。実施形態の技術的思想は、特許請求の範囲において、種々の変更を加えることが出来る。
【０００９】
各機能ブロックは、ハードウェア、コンピュータソフトウェア、のいずれか又は両者の組み合わせとして実現することが出来る。このため、各ブロックは、これらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明される。このような機能が、ハードウェアとして実行されるか、又はソフトウェアとして実行されるかは、具体的な実施態様又はシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様ごとに、種々の方法でこれらの機能を実現しうるが、そのような実現を決定することは、本発明の範疇に含まれるものである。
［第１の実施形態］
（１−１）構成
実施形態では、ＥＣＣコストの削減やセンスノイズの影響を低減するために、ディープラーニングの推論用のデータ（例えば、重み係数）などの一定の範囲内でばらつきが許容できるデータの書き込みを多値メモリに対して行なう。データの読み出しは、ユーナリ読み出しを行なうセンスアンプを使用する。
【００１０】
図１は、第１実施形態に係る半導体記憶装置を説明するための図である。
【００１１】
図１に示すように、第１実施形態に係る半導体記憶装置は、コントローラ１と、コントローラ１に接続されたメモリ２とを有する。
【００１２】
コントローラ１は、１つのデータを示す多値をメモリ２の多値メモリセルアレイ３の１つのセルへ書き込み行なう。ここで、データは０〜ｍ（ｍは整数で２以上）である。
コントローラ１には、ディープラーニングの推論用のデータなどの一定の範囲内でばらつきが許容できるデータ（所定の下位ビットが許容されるデータ）が入力される。コントローラ１は、入力されたデータについて、１つのデータを示す多値を多値メモリセルアレイ３の１つのセルに書き込む。
【００１３】
また、センスアンプ（Ｓ／Ａ）４は、多値メモリセルアレイ３の１つのセルに書き込まれた１つのデータを示す多値をユーナリ読み出しによりユーナリデータとして読み出す。この時点で、ユーナリデータは、バイナリ化されてされていても良い。
コントローラ１は、センスアンプ（Ｓ／Ａ）４によりユーナリ読み出しされた多値メモリセルアレイ３の１つのセルに記憶された多値で示されるデータ（ユーナリデータ）を読み出す。
メモリ２は、多値メモリセルアレイ３及びセンスアンプ４を有する。
【００１４】
多値メモリセルアレイ３は、アレイ状に配置された複数のメモリセルを有し、各メモリセルが多値を記憶可能なメモリである。このメモリは、例えば、ＮＡＮＤフラッシュメモリ、抵抗変化型メモリ（ＲｅＲＡＭ）、相変化メモリ（ＰＣＭ）などの多値メモリである。
センスアンプ（Ｓ／Ａ）４は、多値メモリセルアレイ３の１つのセルに記憶されたデータを示す多値からデータのユーナリ読み出し行なう。このセンスアンプ４は、例えば、シングルスロープＡＤＣ（シングルスロープ  ＡＤコンバータ）又はフラッシュＡＤＣである。
図２は、第１実施形態に係るセンスアンプ４の構成を示す図である。
【００１５】
多値メモリセルアレイ３では、多値を記憶可能なメモリセルＣがアレイ状に配置されている。ロウデコーダ５は、コントローラ１からのアドレス信号に基づいてロウアドレスをデコードする。ワード線ドライバ６は、ロウデコーダ５によりデコードされたロウアドレスのワード線ＷＬを選択するワード線選択信号を出力する。
カラムデコーダ７は、コントローラ１からのアドレス信号に基づいてビット線ＢＬを選択するビット線選択信号を出力する。
【００１６】
メモリセルＣは、ワード線選択信号により選択されたワード線ＷＬ及びビット線選択信号により選択されたビット線ＢＬにより選択される。選択されたメモリセルＣにはデータが書き込まれる。また、選択されたメモリセルＣからは書き込まれたデータのビット線電圧ＶＢＬがビット線ＢＬを介して読み出される。
【００１７】
センスアンプ４は、多値メモリセルアレイ３に接続され、選択されたメモリセルＣに書き込まれた多値に対応するデータを読み出す。センスアンプ４は、センスアンプユニット４ｕを有する。センスアンプユニット４ｕは、多値メモリセルアレイ３のセルＣのビット線毎に設けられている。センスアンプユニット４ｕは、センスアンプ１１、ＡＮＤ回路１２及びクロックカウンタ１３を有する。
【００１８】
センスアンプ１１の入力には、選択されたメモリセルＣが接続されるビット線ＢＬのビット線電圧ＶＢＬが入力される。また、センスアンプ１１の他の入力には、参照電圧Ｖｒｅｆが入力される。
【００１９】
センスアンプ１１は、ビット線電圧ＶＢＬと、参照電圧Ｖｒｅｆとを比較して、ビット線電圧ＶＢＬが参照電圧Ｖｒｅｆよりも低い場合（対応するメモリセルＣがオンになった場合）に、クロックカウンタ１３を停止するための停止信号をＡＮＤ回路１２に出力する。
ＡＮＤ回路１２には、クロック電圧Ｖｃｌｋとセンスアンプ１１の出力が入力され、ビット線電圧ＶＢＬが参照電圧Ｖｒｅｆよりも高い場合（対応するメモリセルＣがオフの場合）、クロック電圧Ｖｃｌｋをクロックカウンタ１３に出力する。また、ＡＮＤ回路１２は、センスアンプ１１から停止信号が入力されると、クロック電圧Ｖｃｌｋをクロックカウンタ１３に出力するのを停止する。
クロックカウンタ１３は、センスアンプ１１から停止信号が出力されるまで、ＡＮＤ回路１２から入力されるクロック電圧Ｖｃｌｋをカウントし、カウント数を保持する。クロックカウンタ１３に保持されたカウント数はコントローラ１により読み出される。
【００２０】
選択されたメモリセルＣに対応するクロックカウンタ１３のカウントは、読み出しを行なう際に、選択されたメモリセルＣのワード線ＷＬのワード線電圧ＶＷＬのランプアップと同期する。
【００２１】
クロックカウンタ１３は、センスアンプ１１からの停止信号に基づいてカウントを停止し、カウント値を保持する。ワード線選択信号のランプアップ電圧は、クロック電圧Ｖｃｌｋと同期するようにコントローラ１により制御される。
【００２２】
コントローラ１は、クロックカウンタ１３に記憶されたカウント値を読み出し、このカウント値から選択されたメモリセルＣに記憶されたデータを読み出す。
【００２３】
図３は、クロックカウンタ１３のカウント値とビット線ＢＬのビット線電圧ＶＢＬとの関係を示す図である。
【００２４】
図３では、１６値（４ビット）のデータを記憶可能な多値メモリセルアレイを例にとり説明する。メモリセルＣに含まれるトランジスタには、１５の閾値（Ｌ１〜Ｌ１５）が存在する。
【００２５】
コントローラ１は、選択されたメモリセルＣのトランジスタのゲートに、選択されたメモリセルＣに対応するセンスアンプユニット４ｕのクロック電圧Ｖｃｌｋに同期して、選択されたメモリセルＣのワード線ＷＬのワード線電圧ＶＷＬをランプアップする。
【００２６】
選択されたメモリセルＣがオンになると、選択されたメモリセルＣのビット線ＢＬに電流が流れ、ビット線ＢＬのビット線電圧ＶＢＬが下がる。選択されたメモリセルＣのセンスアンプユニット４ｕのセンスアンプ１１は、ビット線ＢＬのビット線電圧ＶＢＬと、参照電圧Ｖｒｅｆとを比較しており、ビット線ＢＬのビット線電圧ＶＢＬが下がった結果、ビット線ＢＬのビット線電圧ＶＢＬが参照電圧Ｖｒｅｆよりも低くなった場合に、クロックカウンタ１３を停止するための停止信号をＡＮＤ回路１２に出力する。
【００２７】
クロックカウンタ１３のカウント値は、０〜１５の値を記憶する。そして、クロックカウンタ１３が停止信号によりカウントを停止した場合に、カウント値はクロックカウンタ１３に記憶される。コントローラ１は、クロックカウンタ１３に記憶されたカウント値を読み出し、この読み出されたカウント値から選択されたメモリセルＣに記憶されたデータを読み出す。
【００２８】
（１−２）作用
図４は、第１実施形態に係る半導体装置の読み出し動作を説明するためのフローチャートである。
【００２９】
コントローラ１は、リードイネーブル信号を受信したか否かを判断し（Ｓ１）、受信したと判断された場合には、読み出し対象となる選択されたメモリセルＣに対応するセンスアンプユニット４ｕのクロックカウンタ１３のクロック電圧Ｖｃｌｋのカウントを開始する（Ｓ２）。
【００３０】
次に、コントローラ１は、クロックカウンタ１３のカウントと同期して、選択されたメモリセルＣのワード線ＷＬのワード線電圧ＶＷＬをランプアップする（Ｓ３）。
【００３１】
選択されたメモリセルＣに対応するセンスアンプユニット４ｕのセンスアンプ１１は、選択されたメモリセルＣのビット線ＢＬのビット線電圧ＶＢＬが参照電圧Ｖｒｅｆよりも低いか否かの判断を行なう（Ｓ４）。
【００３２】
Ｓ４において、選択されたメモリセルＣのビット線ＢＬのビット線電圧ＶＢＬが参照電圧Ｖｒｅｆよりも低くないと判断された場合、引き続き、クロックカウンタ１３によるカウントと同期して、選択されたメモリセルＣのワード線ＷＬのワード線電圧ＶＷＬをランプアップする処理（Ｓ３）を続ける。
【００３３】
一方、Ｓ４において、選択されたメモリセルＣのビット線ＢＬのビット線電圧ＶＢＬが参照電圧Ｖｒｅｆよりも低いと判断された場合、センスアンプ１１はクロックカウンタ１３を停止するための停止信号をＡＮＤ回路１２に出力し、クロックカウンタ１３のカウントを停止する（Ｓ５）。
【００３４】
クロックカウンタ１３は、センスアンプ１１から停止信号が出力されるとカウントを停止する。コントローラ１は、クロックカウンタ１３に記憶されたカウント値から選択されたメモリセルＣに記憶されたデータを読み出す（Ｓ６）。
【００３５】
（１−３）効果
第１実施形態によれば、１データを１つの多値セル（Ｍｕｌｔｉ  Ｌｅｖｅｌ  Ｃｅｌｌ）に記憶させる。これにより、上位ビットエラーによるデータ跳びを防ぐことが可能となる。
【００３６】
また、多値セルに記憶されたデータをシングルスロープＡＤＣのようなユーナリサーチでで読み出す。多値セルの読み出しを効率よく行なおうとすると、バイナリサーチで上位ビットからサーチをすることになるが、この方式では雑音の影響を受けた場合に、センスアンプの不確定性によるデータのばらつきを無視することができず、アプリケーションに与える影響が大きい。実施形態のように、ユーナリーサーチによる読み出しの場合、データのばらつきを許容範囲内に減らすことができる。
【００３７】
さらに、データの信頼度を保ちつつ、ばらつきを許容することができるため、多値セルの高信頼性を確保するために必要な冗長ビット等のコストを削減することができる。
【００３８】
また、数ＬＳＢ分のデータ誤りを補正なしに許容することができるため、ＥＣＣに係るコストを低減することができる。
【００３９】
さらに、１つのメモリセルあたり１回のセンスによりデータを読み出すことができるので、待ち時間（レイテンシ）を短くすることができる。
【００４０】
［第２の実施形態］
（２−１）構成
図５は、第２実施形態に係る半導体記憶装置を説明するための図である。
【００４１】
図１に示したコントローラ１と異なる点は、第２実施形態の半導体記憶装置のコントローラ１は、入力されたデータを分割するための変換ユニット２１及び多値メモリセルアレイ３から読み出されたデータを加算して出力する逆変換ユニット２２を有することにある。
【００４２】
コントローラ１は、入力されたデータを変換ユニット２１によりＮ個（Ｎ：２以上の整数）のデータに分割し、これら分割されたＮ個のデータをそれぞれＮ個のメモリセルにそれぞれ書き込む。
【００４３】
また、コントローラ１は、多値メモリセルアレイ３から読み出されたデータをＮ個のメモリセルＣからそれぞれ読み出し、これら読み出されたＮ個のデータを加算して出力する。
【００４４】
（２−２）作用
図６は、第２実施形態に係る半導体装置の書き込み動作を説明するためのフローチャートである。第２実施形態では、１つのセルにつき０〜１５のデータ（２４ビット）を記憶することができるものとする。また、入力されるデータは、０〜３１のデータ（２４ビット＋２４ビット）が入力されるものとする。
【００４５】
コントローラ１は、ライトイネーブル信号を受信したかの判断を行ない（Ｓ１１）、ライトイネーブル信号を受信したと判断された場合、外部から書き込みデータを受信する（Ｓ１２）。
【００４６】
コントローラ１は、書き込みデータが１５よりも大きいか否かの判断を行ない（Ｓ１３）、大きいと判断された場合には、多値メモリセルアレイ３の２つのセルに書き込みを行なう（Ｓ１４）。例えば、データが２７の場合、最初の１つのセルに１５を書き込み、次の１つのセルに１２を書き込み、データの書き込みを終了する。
【００４７】
書き込みデータが１５よりも大きくないと判断された場合、多値メモリセルアレイ３の１つのセルに書き込みを行なう（Ｓ１４）。例えば、データが１０の場合、１つのメモリセルに１０を書き込み（Ｓ１５）、データの書き込みを終了する。
【００４８】
図７は、第２実施形態に係る半導体装置の読み出し動作を説明するためのフローチャートである。ここでは、１つのデータが２つのメモリセルにデータが書き込まれた場合の動作について説明する。
【００４９】
コントローラ１は、リードイネーブル信号を受信したか否かを判断し（Ｓ２１）、受信したと判断された場合には、読み出し対象となる選択されたメモリセルＣ１に対応するセンスアンプユニット４ｕのクロックカウンタ１３のクロック電圧Ｖｃｌｋのカウントを開始する（Ｓ２２）。
【００５０】
コントローラ１は、メモリセルＣ１のセンスアンプユニット４ｕのクロックカウンタ１３のカウントと同期して、メモリセルＣ１のワード線ＷＬのワード線電圧ＶＷＬをランプアップする（Ｓ２３）。
【００５１】
選択されたメモリセルＣ１に対応するセンスアンプユニット４ｕのセンスアンプ１１は、選択されたメモリセルＣ１のビット線ＢＬのビット線電圧ＶＢＬが参照電圧Ｖｒｅｆよりも低いか否かの判断を行なう（Ｓ２４）。
【００５２】
Ｓ２４において、選択されたメモリセルＣ１のビット線ＢＬのビット線電圧ＶＢＬが参照電圧Ｖｒｅｆよりも低くないと判断された場合、引き続き、クロックカウンタ１３によるカウントと同期して、選択されたメモリセルＣ１のワード線ＷＬのワード線電圧ＶＷＬをランプアップする処理（Ｓ２３）を続ける。
【００５３】
一方、Ｓ２４において、選択されたメモリセルＣ１のビット線ＢＬのビット線電圧ＶＢＬが参照電圧Ｖｒｅｆよりも低いと判断された場合、センスアンプ１１はクロックカウンタ１３を停止するための停止信号をＡＮＤ回路１２に出力し、クロックカウンタ１３のカウントを停止する（Ｓ２５）。
【００５４】
クロックカウンタ１３は、センスアンプ１１から停止信号が出力されるとカウントを停止する。コントローラ１は、クロックカウンタ１３に記憶されたカウント値から選択されたメモリセルＣ１に記憶されたデータを読み出す（Ｓ２６）。
【００５５】
次に、メモリセルＣ２のデータの読み出しが、連続してメモリセルＣ１と同様の方法で行なわれる。メモリセルＣ１に続いて読み出されるメモリセルＣ２のアドレスは、メモリセルＣ１のアドレスと所定の関係（例えば、連続するアドレス）にあっても良いし、データの書き込み時にメモリセルＣ１とメモリセルＣ２とのアドレスをテーブルに記憶し、読み出し時に当該テーブルを参照しても良い。
【００５６】
そして、メモリセルＣ１の次に連続して読み出される選択されたメモリセルＣ２に対応するセンスアンプユニット４ｕのクロックカウンタ１３のクロック電圧Ｖｃｌｋのカウントを開始する（Ｓ２７）。
【００５７】
コントローラ１は、メモリセルＣ２のセンスアンプユニット４ｕのクロックカウンタ１３のカウントと同期して、メモリセルＣ２のワード線ＷＬのワード線電圧ＶＷＬをランプアップする（Ｓ２８）。
【００５８】
選択されたメモリセルＣ２に対応するセンスアンプユニット４ｕのセンスアンプ１１は、選択されたメモリセルＣ２のビット線ＢＬのビット線電圧ＶＢＬが参照電圧Ｖｒｅｆよりも低いか否かの判断を行なう（Ｓ２９）。
【００５９】
Ｓ２９において、選択されたメモリセルＣ２のビット線ＢＬのビット線電圧ＶＢＬが参照電圧Ｖｒｅｆよりも低くないと判断された場合、引き続き、クロックカウンタ１３によるカウントと同期して、選択されたメモリセルＣ２のワード線ＷＬのワード線電圧ＶＷＬをランプアップする処理（Ｓ２８）を続ける。
【００６０】
一方、Ｓ２９において、選択されたメモリセルＣ２のビット線ＢＬのビット線電圧ＶＢＬが参照電圧Ｖｒｅｆよりも低いと判断された場合、センスアンプ１１はクロックカウンタ１３を停止するための停止信号をＡＮＤ回路１２に出力し、クロックカウンタ１３のカウントを停止する（Ｓ３０）。
【００６１】
クロックカウンタ１３は、センスアンプ１１から停止信号が出力されるとカウントを停止する。コントローラ１は、クロックカウンタ１３に記憶されたカウント値から選択されたメモリセルＣ２に記憶されたデータを読み出す（Ｓ３１）。
【００６２】
コントローラ１は、メモリセルＣ１から読み出されたデータ及びメモリセルＣ２から読み出されたデータを加算し（Ｓ３２）、加算されたデータを出力（Ｓ３３）することにより、データの読み出しを終了する。
【００６３】
実施形態では、１つのデータが１つのメモリセルで記憶可能な大きさの場合、１つのメモリセルに対して書き込み及び読み出しを行ない、１つのデータが複数のメモリセルで記憶可能な大きさの場合、複数のメモリセルに対して書き込み及び読み出しを行なう。
【００６４】
この場合、例えば、１つのメモリセルの書き込み、複数のメモリセルの書き込みの判断は、コントローラ１が参照可能なテーブルに記憶される。コントローラ１は、データの書き込みの際に、メモリセルの物理アドレスに対応して書き込みの種別（例えば、１セル書き込み、２セル書き込み、３セル書き込みなど）をテーブルに記録する。読み出しの際には、メモリセルの物理アドレスに対応する書き込みの種別に応じて、１つのメモリセルの読み出し、又は複数のメモリセルの連続読み出しを行なう。
【００６５】
１つのメモリセルの読み出しの方法は、第１実施形態において説明した方法と同様である。また、データを書き込み可能なＮ個のセルに対して読み出しを行なう場合、第２実施形態で説明した方法と同様に、コントローラ１がセルＣ１、セルＣ２、・・・、セルＣＮから順次データの読み出しを行ない、セルＣ１、セルＣ２、・・・、セルＣＮから読み出したデータを加算して出力する。
また、セルＣ１及びセルＣ２を同一のビット線ＢＬ上に配置した場合には、１つのセンスアンプユニット４ｕで加算処理を行なうことができるので、Ｓ３２のデータ加算処理を省略することができる。
【００６６】
（２−３）効果
第２実施形態の半導体装置によれば、第１実施形態の効果に加えて、ＥＣＣのコストを抑えながら、メモリセルの多値レベルよりも大きいビット数の多値データを扱うことができる。
【００６７】
［変形例］
（３−１）
クロックカウンタ１３に記憶される値は、カウント値である必要はなく、カウント値に対応するカウント対応値であっても良い。コントローラ１は、クロックカウンタ１３に記憶されたカウント対応値からメモリセルＣに記憶されたデータを認識してもよい。
（３−２）
第１、第２実施形態においては、メモリ２は例えばＮＡＮＤフラッシュメモリなどの不揮発性メモリを例に示したが、揮発性メモリにも適用できる。
【００６８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６９】
１…コントローラ、２…メモリ、３…多値メモリセルアレイ、４…センスアンプ、４ｕ…センスアンプユニット、１１…センスアンプ、１２…ＡＮＤ回路、１３…クロックカウンタ。
【図１】
2020113347.tif 000003
【図２】
2020113347.tif 000004
【図３】
2020113347.tif 000005
【図４】
2020113347.tif 000006
【図５】
2020113347.tif 000007
【図６】
2020113347.tif 000008
【図７】
2020113347.tif 000009