JP2020113347A - 半導体記憶装置 - Google Patents
半導体記憶装置 Download PDFInfo
- Publication number
- JP2020113347A JP2020113347A JP2019001136A JP2019001136A JP2020113347A JP 2020113347 A JP2020113347 A JP 2020113347A JP 2019001136 A JP2019001136 A JP 2019001136A JP 2019001136 A JP2019001136 A JP 2019001136A JP 2020113347 A JP2020113347 A JP 2020113347A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- sense amplifier
- memory cell
- controller
- 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.)
- Pending
Links
Classifications
-
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
-
- 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/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1072—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
-
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
-
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5678—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using amorphous/crystalline phase transition storage elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0004—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
- G11C16/28—Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
Abstract
【課題】 ECCのコストを低減できる半導体装置を提供する。【解決手段】 複数のメモリセルを有し、各メモリセルが1つのデータを示す多値を記憶可能なメモリと、前記メモリの1つのセルに前記多値を書き込むコントローラと、前記1つのセルに書き込まれた多値からデータのユーナリ読み出しを行なうセンスアンプとを具備し、前記データは、所定の下位ビットの誤差が許容されるデータであり、前記コントローラは、前記センスアンプから前記メモリの1つのセルに記憶された多値で示されるデータを読み出す、半導体記憶装置、である。【選択図】図1
Description
本発明の実施形態は、半導体記憶装置に関する。
ディープラーニングでは膨大なデータを消費する。ディープラーニングで使用するデータ(例えば、重みデータ)は、上位ビットほど重要度が高いが、このようなデータであっても従来のメモリシステムでは全てのビットの信頼度が等しくなるように制御されている。
通常、メモリシステムでは全てのビットで信頼性が均一になるようECC(Error Correcting Code)で制御する。しかし、メモリの多値化が進むにつれてECCにかかるコストは増大する。
多値メモリセルの持つ複数ビットの中で信頼度に重みをつけた制御を行う場合もあるが、センス時にノイズの影響を受けた場合に出力データのばらつきを増大させてしまう。
実施形態によれば、複数のメモリセルを有し、各メモリセルが1つのデータを示す多値を記憶可能なメモリと、前記メモリの1つのセルに前記多値を書き込むコントローラと、前記1つのセルに書き込まれた多値からデータのユーナリ読み出しを行なうセンスアンプとを具備し、前記データは、所定の下位ビットの誤差が許容されるデータであり、前記コントローラは、前記センスアンプから前記メモリの1つのセルに記憶された多値で示されるデータを読み出す、半導体記憶装置である。
以下に、実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については同一符号を付し、重複説明は必要な場合にのみ行う。実施形態の技術的思想は、特許請求の範囲において、種々の変更を加えることが出来る。
各機能ブロックは、ハードウェア、コンピュータソフトウェア、のいずれか又は両者の組み合わせとして実現することが出来る。このため、各ブロックは、これらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明される。このような機能が、ハードウェアとして実行されるか、又はソフトウェアとして実行されるかは、具体的な実施態様又はシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様ごとに、種々の方法でこれらの機能を実現しうるが、そのような実現を決定することは、本発明の範疇に含まれるものである。
[第1の実施形態]
(1−1)構成
実施形態では、ECCコストの削減やセンスノイズの影響を低減するために、ディープラーニングの推論用のデータ(例えば、重み係数)などの一定の範囲内でばらつきが許容できるデータの書き込みを多値メモリに対して行なう。データの読み出しは、ユーナリ読み出しを行なうセンスアンプを使用する。
[第1の実施形態]
(1−1)構成
実施形態では、ECCコストの削減やセンスノイズの影響を低減するために、ディープラーニングの推論用のデータ(例えば、重み係数)などの一定の範囲内でばらつきが許容できるデータの書き込みを多値メモリに対して行なう。データの読み出しは、ユーナリ読み出しを行なうセンスアンプを使用する。
図1は、第1実施形態に係る半導体記憶装置を説明するための図である。
図1に示すように、第1実施形態に係る半導体記憶装置は、コントローラ1と、コントローラ1に接続されたメモリ2とを有する。
コントローラ1は、1つのデータを示す多値をメモリ2の多値メモリセルアレイ3の1つのセルへ書き込み行なう。ここで、データは0〜m(mは整数で2以上)である。
コントローラ1には、ディープラーニングの推論用のデータなどの一定の範囲内でばらつきが許容できるデータ(所定の下位ビットが許容されるデータ)が入力される。コントローラ1は、入力されたデータについて、1つのデータを示す多値を多値メモリセルアレイ3の1つのセルに書き込む。
コントローラ1には、ディープラーニングの推論用のデータなどの一定の範囲内でばらつきが許容できるデータ(所定の下位ビットが許容されるデータ)が入力される。コントローラ1は、入力されたデータについて、1つのデータを示す多値を多値メモリセルアレイ3の1つのセルに書き込む。
また、センスアンプ(S/A)4は、多値メモリセルアレイ3の1つのセルに書き込まれた1つのデータを示す多値をユーナリ読み出しによりユーナリデータとして読み出す。この時点で、ユーナリデータは、バイナリ化されてされていても良い。
コントローラ1は、センスアンプ(S/A)4によりユーナリ読み出しされた多値メモリセルアレイ3の1つのセルに記憶された多値で示されるデータ(ユーナリデータ)を読み出す。
メモリ2は、多値メモリセルアレイ3及びセンスアンプ4を有する。
コントローラ1は、センスアンプ(S/A)4によりユーナリ読み出しされた多値メモリセルアレイ3の1つのセルに記憶された多値で示されるデータ(ユーナリデータ)を読み出す。
メモリ2は、多値メモリセルアレイ3及びセンスアンプ4を有する。
多値メモリセルアレイ3は、アレイ状に配置された複数のメモリセルを有し、各メモリセルが多値を記憶可能なメモリである。このメモリは、例えば、NANDフラッシュメモリ、抵抗変化型メモリ(ReRAM)、相変化メモリ(PCM)などの多値メモリである。
センスアンプ(S/A)4は、多値メモリセルアレイ3の1つのセルに記憶されたデータを示す多値からデータのユーナリ読み出し行なう。このセンスアンプ4は、例えば、シングルスロープADC(シングルスロープ ADコンバータ)又はフラッシュADCである。
図2は、第1実施形態に係るセンスアンプ4の構成を示す図である。
センスアンプ(S/A)4は、多値メモリセルアレイ3の1つのセルに記憶されたデータを示す多値からデータのユーナリ読み出し行なう。このセンスアンプ4は、例えば、シングルスロープADC(シングルスロープ ADコンバータ)又はフラッシュADCである。
図2は、第1実施形態に係るセンスアンプ4の構成を示す図である。
多値メモリセルアレイ3では、多値を記憶可能なメモリセルCがアレイ状に配置されている。ロウデコーダ5は、コントローラ1からのアドレス信号に基づいてロウアドレスをデコードする。ワード線ドライバ6は、ロウデコーダ5によりデコードされたロウアドレスのワード線WLを選択するワード線選択信号を出力する。
カラムデコーダ7は、コントローラ1からのアドレス信号に基づいてビット線BLを選択するビット線選択信号を出力する。
カラムデコーダ7は、コントローラ1からのアドレス信号に基づいてビット線BLを選択するビット線選択信号を出力する。
メモリセルCは、ワード線選択信号により選択されたワード線WL及びビット線選択信号により選択されたビット線BLにより選択される。選択されたメモリセルCにはデータが書き込まれる。また、選択されたメモリセルCからは書き込まれたデータのビット線電圧VBLがビット線BLを介して読み出される。
センスアンプ4は、多値メモリセルアレイ3に接続され、選択されたメモリセルCに書き込まれた多値に対応するデータを読み出す。センスアンプ4は、センスアンプユニット4uを有する。センスアンプユニット4uは、多値メモリセルアレイ3のセルCのビット線毎に設けられている。センスアンプユニット4uは、センスアンプ11、AND回路12及びクロックカウンタ13を有する。
センスアンプ11の入力には、選択されたメモリセルCが接続されるビット線BLのビット線電圧VBLが入力される。また、センスアンプ11の他の入力には、参照電圧Vrefが入力される。
センスアンプ11は、ビット線電圧VBLと、参照電圧Vrefとを比較して、ビット線電圧VBLが参照電圧Vrefよりも低い場合(対応するメモリセルCがオンになった場合)に、クロックカウンタ13を停止するための停止信号をAND回路12に出力する。
AND回路12には、クロック電圧Vclkとセンスアンプ11の出力が入力され、ビット線電圧VBLが参照電圧Vrefよりも高い場合(対応するメモリセルCがオフの場合)、クロック電圧Vclkをクロックカウンタ13に出力する。また、AND回路12は、センスアンプ11から停止信号が入力されると、クロック電圧Vclkをクロックカウンタ13に出力するのを停止する。
クロックカウンタ13は、センスアンプ11から停止信号が出力されるまで、AND回路12から入力されるクロック電圧Vclkをカウントし、カウント数を保持する。クロックカウンタ13に保持されたカウント数はコントローラ1により読み出される。
AND回路12には、クロック電圧Vclkとセンスアンプ11の出力が入力され、ビット線電圧VBLが参照電圧Vrefよりも高い場合(対応するメモリセルCがオフの場合)、クロック電圧Vclkをクロックカウンタ13に出力する。また、AND回路12は、センスアンプ11から停止信号が入力されると、クロック電圧Vclkをクロックカウンタ13に出力するのを停止する。
クロックカウンタ13は、センスアンプ11から停止信号が出力されるまで、AND回路12から入力されるクロック電圧Vclkをカウントし、カウント数を保持する。クロックカウンタ13に保持されたカウント数はコントローラ1により読み出される。
選択されたメモリセルCに対応するクロックカウンタ13のカウントは、読み出しを行なう際に、選択されたメモリセルCのワード線WLのワード線電圧VWLのランプアップと同期する。
クロックカウンタ13は、センスアンプ11からの停止信号に基づいてカウントを停止し、カウント値を保持する。ワード線選択信号のランプアップ電圧は、クロック電圧Vclkと同期するようにコントローラ1により制御される。
コントローラ1は、クロックカウンタ13に記憶されたカウント値を読み出し、このカウント値から選択されたメモリセルCに記憶されたデータを読み出す。
図3は、クロックカウンタ13のカウント値とビット線BLのビット線電圧VBLとの関係を示す図である。
図3では、16値(4ビット)のデータを記憶可能な多値メモリセルアレイを例にとり説明する。メモリセルCに含まれるトランジスタには、15の閾値(L1〜L15)が存在する。
コントローラ1は、選択されたメモリセルCのトランジスタのゲートに、選択されたメモリセルCに対応するセンスアンプユニット4uのクロック電圧Vclkに同期して、選択されたメモリセルCのワード線WLのワード線電圧VWLをランプアップする。
選択されたメモリセルCがオンになると、選択されたメモリセルCのビット線BLに電流が流れ、ビット線BLのビット線電圧VBLが下がる。選択されたメモリセルCのセンスアンプユニット4uのセンスアンプ11は、ビット線BLのビット線電圧VBLと、参照電圧Vrefとを比較しており、ビット線BLのビット線電圧VBLが下がった結果、ビット線BLのビット線電圧VBLが参照電圧Vrefよりも低くなった場合に、クロックカウンタ13を停止するための停止信号をAND回路12に出力する。
クロックカウンタ13のカウント値は、0〜15の値を記憶する。そして、クロックカウンタ13が停止信号によりカウントを停止した場合に、カウント値はクロックカウンタ13に記憶される。コントローラ1は、クロックカウンタ13に記憶されたカウント値を読み出し、この読み出されたカウント値から選択されたメモリセルCに記憶されたデータを読み出す。
(1−2)作用
図4は、第1実施形態に係る半導体装置の読み出し動作を説明するためのフローチャートである。
図4は、第1実施形態に係る半導体装置の読み出し動作を説明するためのフローチャートである。
コントローラ1は、リードイネーブル信号を受信したか否かを判断し(S1)、受信したと判断された場合には、読み出し対象となる選択されたメモリセルCに対応するセンスアンプユニット4uのクロックカウンタ13のクロック電圧Vclkのカウントを開始する(S2)。
次に、コントローラ1は、クロックカウンタ13のカウントと同期して、選択されたメモリセルCのワード線WLのワード線電圧VWLをランプアップする(S3)。
選択されたメモリセルCに対応するセンスアンプユニット4uのセンスアンプ11は、選択されたメモリセルCのビット線BLのビット線電圧VBLが参照電圧Vrefよりも低いか否かの判断を行なう(S4)。
S4において、選択されたメモリセルCのビット線BLのビット線電圧VBLが参照電圧Vrefよりも低くないと判断された場合、引き続き、クロックカウンタ13によるカウントと同期して、選択されたメモリセルCのワード線WLのワード線電圧VWLをランプアップする処理(S3)を続ける。
一方、S4において、選択されたメモリセルCのビット線BLのビット線電圧VBLが参照電圧Vrefよりも低いと判断された場合、センスアンプ11はクロックカウンタ13を停止するための停止信号をAND回路12に出力し、クロックカウンタ13のカウントを停止する(S5)。
クロックカウンタ13は、センスアンプ11から停止信号が出力されるとカウントを停止する。コントローラ1は、クロックカウンタ13に記憶されたカウント値から選択されたメモリセルCに記憶されたデータを読み出す(S6)。
(1−3)効果
第1実施形態によれば、1データを1つの多値セル(Multi Level Cell)に記憶させる。これにより、上位ビットエラーによるデータ跳びを防ぐことが可能となる。
第1実施形態によれば、1データを1つの多値セル(Multi Level Cell)に記憶させる。これにより、上位ビットエラーによるデータ跳びを防ぐことが可能となる。
また、多値セルに記憶されたデータをシングルスロープADCのようなユーナリサーチでで読み出す。多値セルの読み出しを効率よく行なおうとすると、バイナリサーチで上位ビットからサーチをすることになるが、この方式では雑音の影響を受けた場合に、センスアンプの不確定性によるデータのばらつきを無視することができず、アプリケーションに与える影響が大きい。実施形態のように、ユーナリーサーチによる読み出しの場合、データのばらつきを許容範囲内に減らすことができる。
さらに、データの信頼度を保ちつつ、ばらつきを許容することができるため、多値セルの高信頼性を確保するために必要な冗長ビット等のコストを削減することができる。
また、数LSB分のデータ誤りを補正なしに許容することができるため、ECCに係るコストを低減することができる。
さらに、1つのメモリセルあたり1回のセンスによりデータを読み出すことができるので、待ち時間(レイテンシ)を短くすることができる。
[第2の実施形態]
(2−1)構成
図5は、第2実施形態に係る半導体記憶装置を説明するための図である。
(2−1)構成
図5は、第2実施形態に係る半導体記憶装置を説明するための図である。
図1に示したコントローラ1と異なる点は、第2実施形態の半導体記憶装置のコントローラ1は、入力されたデータを分割するための変換ユニット21及び多値メモリセルアレイ3から読み出されたデータを加算して出力する逆変換ユニット22を有することにある。
コントローラ1は、入力されたデータを変換ユニット21によりN個(N:2以上の整数)のデータに分割し、これら分割されたN個のデータをそれぞれN個のメモリセルにそれぞれ書き込む。
また、コントローラ1は、多値メモリセルアレイ3から読み出されたデータをN個のメモリセルCからそれぞれ読み出し、これら読み出されたN個のデータを加算して出力する。
(2−2)作用
図6は、第2実施形態に係る半導体装置の書き込み動作を説明するためのフローチャートである。第2実施形態では、1つのセルにつき0〜15のデータ(24ビット)を記憶することができるものとする。また、入力されるデータは、0〜31のデータ(24ビット+24ビット)が入力されるものとする。
図6は、第2実施形態に係る半導体装置の書き込み動作を説明するためのフローチャートである。第2実施形態では、1つのセルにつき0〜15のデータ(24ビット)を記憶することができるものとする。また、入力されるデータは、0〜31のデータ(24ビット+24ビット)が入力されるものとする。
コントローラ1は、ライトイネーブル信号を受信したかの判断を行ない(S11)、ライトイネーブル信号を受信したと判断された場合、外部から書き込みデータを受信する(S12)。
コントローラ1は、書き込みデータが15よりも大きいか否かの判断を行ない(S13)、大きいと判断された場合には、多値メモリセルアレイ3の2つのセルに書き込みを行なう(S14)。例えば、データが27の場合、最初の1つのセルに15を書き込み、次の1つのセルに12を書き込み、データの書き込みを終了する。
書き込みデータが15よりも大きくないと判断された場合、多値メモリセルアレイ3の1つのセルに書き込みを行なう(S14)。例えば、データが10の場合、1つのメモリセルに10を書き込み(S15)、データの書き込みを終了する。
図7は、第2実施形態に係る半導体装置の読み出し動作を説明するためのフローチャートである。ここでは、1つのデータが2つのメモリセルにデータが書き込まれた場合の動作について説明する。
コントローラ1は、リードイネーブル信号を受信したか否かを判断し(S21)、受信したと判断された場合には、読み出し対象となる選択されたメモリセルC1に対応するセンスアンプユニット4uのクロックカウンタ13のクロック電圧Vclkのカウントを開始する(S22)。
コントローラ1は、メモリセルC1のセンスアンプユニット4uのクロックカウンタ13のカウントと同期して、メモリセルC1のワード線WLのワード線電圧VWLをランプアップする(S23)。
選択されたメモリセルC1に対応するセンスアンプユニット4uのセンスアンプ11は、選択されたメモリセルC1のビット線BLのビット線電圧VBLが参照電圧Vrefよりも低いか否かの判断を行なう(S24)。
S24において、選択されたメモリセルC1のビット線BLのビット線電圧VBLが参照電圧Vrefよりも低くないと判断された場合、引き続き、クロックカウンタ13によるカウントと同期して、選択されたメモリセルC1のワード線WLのワード線電圧VWLをランプアップする処理(S23)を続ける。
一方、S24において、選択されたメモリセルC1のビット線BLのビット線電圧VBLが参照電圧Vrefよりも低いと判断された場合、センスアンプ11はクロックカウンタ13を停止するための停止信号をAND回路12に出力し、クロックカウンタ13のカウントを停止する(S25)。
クロックカウンタ13は、センスアンプ11から停止信号が出力されるとカウントを停止する。コントローラ1は、クロックカウンタ13に記憶されたカウント値から選択されたメモリセルC1に記憶されたデータを読み出す(S26)。
次に、メモリセルC2のデータの読み出しが、連続してメモリセルC1と同様の方法で行なわれる。メモリセルC1に続いて読み出されるメモリセルC2のアドレスは、メモリセルC1のアドレスと所定の関係(例えば、連続するアドレス)にあっても良いし、データの書き込み時にメモリセルC1とメモリセルC2とのアドレスをテーブルに記憶し、読み出し時に当該テーブルを参照しても良い。
そして、メモリセルC1の次に連続して読み出される選択されたメモリセルC2に対応するセンスアンプユニット4uのクロックカウンタ13のクロック電圧Vclkのカウントを開始する(S27)。
コントローラ1は、メモリセルC2のセンスアンプユニット4uのクロックカウンタ13のカウントと同期して、メモリセルC2のワード線WLのワード線電圧VWLをランプアップする(S28)。
選択されたメモリセルC2に対応するセンスアンプユニット4uのセンスアンプ11は、選択されたメモリセルC2のビット線BLのビット線電圧VBLが参照電圧Vrefよりも低いか否かの判断を行なう(S29)。
S29において、選択されたメモリセルC2のビット線BLのビット線電圧VBLが参照電圧Vrefよりも低くないと判断された場合、引き続き、クロックカウンタ13によるカウントと同期して、選択されたメモリセルC2のワード線WLのワード線電圧VWLをランプアップする処理(S28)を続ける。
一方、S29において、選択されたメモリセルC2のビット線BLのビット線電圧VBLが参照電圧Vrefよりも低いと判断された場合、センスアンプ11はクロックカウンタ13を停止するための停止信号をAND回路12に出力し、クロックカウンタ13のカウントを停止する(S30)。
クロックカウンタ13は、センスアンプ11から停止信号が出力されるとカウントを停止する。コントローラ1は、クロックカウンタ13に記憶されたカウント値から選択されたメモリセルC2に記憶されたデータを読み出す(S31)。
コントローラ1は、メモリセルC1から読み出されたデータ及びメモリセルC2から読み出されたデータを加算し(S32)、加算されたデータを出力(S33)することにより、データの読み出しを終了する。
実施形態では、1つのデータが1つのメモリセルで記憶可能な大きさの場合、1つのメモリセルに対して書き込み及び読み出しを行ない、1つのデータが複数のメモリセルで記憶可能な大きさの場合、複数のメモリセルに対して書き込み及び読み出しを行なう。
この場合、例えば、1つのメモリセルの書き込み、複数のメモリセルの書き込みの判断は、コントローラ1が参照可能なテーブルに記憶される。コントローラ1は、データの書き込みの際に、メモリセルの物理アドレスに対応して書き込みの種別(例えば、1セル書き込み、2セル書き込み、3セル書き込みなど)をテーブルに記録する。読み出しの際には、メモリセルの物理アドレスに対応する書き込みの種別に応じて、1つのメモリセルの読み出し、又は複数のメモリセルの連続読み出しを行なう。
1つのメモリセルの読み出しの方法は、第1実施形態において説明した方法と同様である。また、データを書き込み可能なN個のセルに対して読み出しを行なう場合、第2実施形態で説明した方法と同様に、コントローラ1がセルC1、セルC2、・・・、セルCNから順次データの読み出しを行ない、セルC1、セルC2、・・・、セルCNから読み出したデータを加算して出力する。
また、セルC1及びセルC2を同一のビット線BL上に配置した場合には、1つのセンスアンプユニット4uで加算処理を行なうことができるので、S32のデータ加算処理を省略することができる。
また、セルC1及びセルC2を同一のビット線BL上に配置した場合には、1つのセンスアンプユニット4uで加算処理を行なうことができるので、S32のデータ加算処理を省略することができる。
(2−3)効果
第2実施形態の半導体装置によれば、第1実施形態の効果に加えて、ECCのコストを抑えながら、メモリセルの多値レベルよりも大きいビット数の多値データを扱うことができる。
第2実施形態の半導体装置によれば、第1実施形態の効果に加えて、ECCのコストを抑えながら、メモリセルの多値レベルよりも大きいビット数の多値データを扱うことができる。
[変形例]
(3−1)
クロックカウンタ13に記憶される値は、カウント値である必要はなく、カウント値に対応するカウント対応値であっても良い。コントローラ1は、クロックカウンタ13に記憶されたカウント対応値からメモリセルCに記憶されたデータを認識してもよい。
(3−2)
第1、第2実施形態においては、メモリ2は例えばNANDフラッシュメモリなどの不揮発性メモリを例に示したが、揮発性メモリにも適用できる。
(3−1)
クロックカウンタ13に記憶される値は、カウント値である必要はなく、カウント値に対応するカウント対応値であっても良い。コントローラ1は、クロックカウンタ13に記憶されたカウント対応値からメモリセルCに記憶されたデータを認識してもよい。
(3−2)
第1、第2実施形態においては、メモリ2は例えばNANDフラッシュメモリなどの不揮発性メモリを例に示したが、揮発性メモリにも適用できる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…コントローラ、2…メモリ、3…多値メモリセルアレイ、4…センスアンプ、4u…センスアンプユニット、11…センスアンプ、12…AND回路、13…クロックカウンタ。
Claims (6)
- 複数のメモリセルを有し、各メモリセルが1つのデータを示す多値を記憶可能なメモリと、
前記メモリの1つのセルに前記多値を書き込むコントローラと、
前記1つのセルに書き込まれた多値からデータのユーナリ読み出しを行なうセンスアンプとを具備し、
前記データは、所定の下位ビットの誤差が許容されるデータであり、
前記コントローラは、前記センスアンプから前記メモリの1つのセルに記憶された多値で示されるデータを読み出す、
半導体記憶装置。 - 前記データは、ディープラーニングの推論用のデータである、請求項1記載の半導体記憶装置。
- 前記センスアンプは、シングルスロープADC又はフラッシュADCである、請求項1記載の半導体記憶装置。
- 前記メモリは、NANDフラッシュメモリ、抵抗変化型メモリ(ReRAM)、相変化メモリ(PCM)のいずれか1つである、請求項1記載の半導体記憶装置。
- 複数のメモリセルを有し、各メモリセルが1つのデータを示す多値を記憶可能なメモリと、
前記メモリの複数のセルに前記多値を書き込むコントローラと、
前記複数のセルに書き込まれた多値からデータのユーナリ読み出しを行なうセンスアンプとを具備し、
前記コントローラは、
書き込みデータを複数の書き込みデータに分割する分割部と、
前記分割部により分割された複数の分割書き込みデータを前記メモリの複数のセルにそれぞれ書き込む書き込み部と
を具備する、半導体記憶装置。 - 前記コントローラは、さらに、
前記分割書き込みデータを読み出す場合、前記センスアンプから、前記複数のセルから前記複数の分割書き込みデータの読み出しをそれぞれ行ない、読みだされた複数の分割書き込みデータを加算して、読み出しデータとして出力するユーナリ読み出し部
をさらに具備する、
請求項5記載の半導体記憶装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019001136A JP2020113347A (ja) | 2019-01-08 | 2019-01-08 | 半導体記憶装置 |
US16/556,288 US10910043B2 (en) | 2019-01-08 | 2019-08-30 | Semiconductor memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019001136A JP2020113347A (ja) | 2019-01-08 | 2019-01-08 | 半導体記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020113347A true JP2020113347A (ja) | 2020-07-27 |
Family
ID=71405189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019001136A Pending JP2020113347A (ja) | 2019-01-08 | 2019-01-08 | 半導体記憶装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10910043B2 (ja) |
JP (1) | JP2020113347A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220146748A (ko) * | 2021-04-23 | 2022-11-02 | 삼성전자주식회사 | 반도체 메모리 장치 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0668700A (ja) * | 1992-08-21 | 1994-03-11 | Toshiba Corp | 半導体メモリ装置 |
JP3205658B2 (ja) * | 1993-12-28 | 2001-09-04 | 新日本製鐵株式会社 | 半導体記憶装置の読み出し方法 |
US20030214867A1 (en) * | 2002-05-17 | 2003-11-20 | Matthew Goldman | Serially sensing the output of multilevel cell arrays |
US7911834B2 (en) | 2006-05-15 | 2011-03-22 | Apple Inc. | Analog interface for a flash memory die |
US7639542B2 (en) | 2006-05-15 | 2009-12-29 | Apple Inc. | Maintenance operations for multi-level data storage cells |
JP2011129176A (ja) * | 2009-12-15 | 2011-06-30 | Toshiba Corp | 不揮発性半導体記憶装置 |
US8928379B2 (en) | 2012-02-17 | 2015-01-06 | California Institute Of Technology | Minimal power latch for single-slope ADCs |
JP5941577B1 (ja) | 2015-05-11 | 2016-06-29 | 力晶科技股▲ふん▼有限公司 | 半導体記憶装置 |
-
2019
- 2019-01-08 JP JP2019001136A patent/JP2020113347A/ja active Pending
- 2019-08-30 US US16/556,288 patent/US10910043B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10910043B2 (en) | 2021-02-02 |
US20200219560A1 (en) | 2020-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9639462B2 (en) | Device for selecting a level for at least one read voltage | |
US11386952B2 (en) | Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell | |
US7660160B2 (en) | Flash memory device and method of operating the same | |
US20020054505A1 (en) | Method for storing and reading data in a multilevel nonvolatile memory | |
US20080074928A1 (en) | Nonvolatile memory system and associated programming methods | |
KR20210020964A (ko) | 다중 레벨 셀 비휘발성 메모리를 위한 가속된 소프트 리드 | |
US11144390B2 (en) | Method, memory controller, and memory system for reading data stored in flash memory | |
US9633702B2 (en) | Memory system with uniform decoder and operating method of same | |
KR20090005549A (ko) | 플래시 메모리 시스템 및 그것의 에러 정정 방법 | |
JP2009064440A (ja) | マルチ−ビットデータを格納するメモリシステム及びその読み出し方法 | |
US10430275B2 (en) | Memory system | |
JP2008108297A (ja) | 不揮発性半導体記憶装置 | |
US8286066B2 (en) | Non-volatile memory with bi-directional error correction protection | |
US8050103B2 (en) | Method of programming nonvolatile memory device | |
US9236888B2 (en) | Storage device, memory controller and memory control method | |
JP2020113347A (ja) | 半導体記憶装置 | |
US10691536B2 (en) | Method to select flash memory blocks for refresh after read operations | |
KR20100137896A (ko) | 불휘발성 메모리 장치 | |
US9583203B2 (en) | Semiconductor memory device and operation method thereof | |
US20160071597A1 (en) | Storage device, memory controller and memory control method | |
US20150254131A1 (en) | Memory controller, storage device and memory control method | |
JP4601344B2 (ja) | 不揮発性半導体記憶装置及びデータ読み書き方法 | |
US11869584B2 (en) | Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell |