JP2018045742A - 記憶装置及び記憶装置の管理方法 - Google Patents

記憶装置及び記憶装置の管理方法 Download PDF

Info

Publication number
JP2018045742A
JP2018045742A JP2016178194A JP2016178194A JP2018045742A JP 2018045742 A JP2018045742 A JP 2018045742A JP 2016178194 A JP2016178194 A JP 2016178194A JP 2016178194 A JP2016178194 A JP 2016178194A JP 2018045742 A JP2018045742 A JP 2018045742A
Authority
JP
Japan
Prior art keywords
threshold voltage
memory cell
cell
data
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.)
Pending
Application number
JP2016178194A
Other languages
English (en)
Inventor
寛和 長瀬
Hirokazu Nagase
寛和 長瀬
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2016178194A priority Critical patent/JP2018045742A/ja
Priority to CN201710649157.0A priority patent/CN107818810B/zh
Priority to US15/701,025 priority patent/US10109354B2/en
Publication of JP2018045742A publication Critical patent/JP2018045742A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically

Landscapes

  • Read Only Memory (AREA)

Abstract

【課題】タイマ回路を設けることなくフラッシュメモリセルの閾値電圧を管理する。
【解決手段】記憶装置1は、複数のフラッシュメモリセル10と、複数のフラッシュメモリセル10のうちデータを記憶するセルとして用いられるメモリセル101に対しデータを書き込むとともに、複数のフラッシュメモリセル10のうちメモリセル101の閾値電圧の判定に用いるタイマセル102の閾値電圧のリセットを行うメモリコントローラ11と、タイマセル102の現在の閾値電圧である第1の閾値電圧に基づいて、メモリセル101の現在の閾値電圧である第2の閾値電圧の状態を推定するレベル判定回路12とを有する。
【選択図】図2

Description

本発明は記憶装置及び記憶装置の管理方法に関する。
フラッシュメモリでは、トランジスタの閾値電圧(Vth)のレベルを0又は1といったデータに対応させている。また、フラッシュメモリでは、トランジスタのゲート部に設けられたトラップ層(浮遊ゲートともいう)へ電荷を注入して閾値電圧を操作することにより、所望のデータが記憶される。しかしながら、トラップ層に蓄積されていた電荷量は、時間の経過、環境、及び書き換え回数などといった要因により、様々な速度で減少していく。このため、現在の電荷量を把握することは困難であるとともに、記憶したデータを誤って読み出してしまう危険性がある。
このため、データの保持期間(リテンション期間ともいう)を管理する技術が提案されている。例えば、特許文献1では、不揮発性メモリに対する書き込み動作を実行してからの経過時間を計測するタイマと、このタイマによって計測される経過時間が所定時間を超えたときに、この不揮発性メモリに対して再度書き込み動作を実行するリフレッシュ回路とを有する機器について開示している。
特開2000−11670号公報
しかし、特許文献1に記載されたリテンション期間の管理では、タイマ回路が必要となる。また、このタイマ回路が、電源に依存しないタイマ(例えば、RTC(リアルタイムクロック:Real Time Clock))でない場合、タイマ回路を用いた補正の精度は、電源状態に依存してしまう。このように、特許文献1に記載されたリテンション期間の管理では、RTC等のタイマ回路を設けなければならないという問題があった。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、記憶装置は、判定用セルの現在の閾値電圧に基づいて、メモリセルの現在の閾値電圧を推定する推定部を有する。
前記一実施の形態によれば、タイマ回路を設けることなくフラッシュメモリセルの閾値電圧を管理することができる。
フラッシュメモリセルのリテンション特性を示すグラフである。 実施の形態1にかかる記憶装置の構成の一例を示すブロック図である。 タイマセルのリテンション特性の具体例を示すグラフである。 実施の形態1にかかる記憶装置の動作の一例を示すフローチャートである。 実施の形態2にかかる記憶装置の構成の一例を示すブロック図である。 タイマセルのリテンション特性の具体例を示すグラフである。 メモリセルのリテンション特性の具体例を示すグラフである。 データベースに記憶されるリテンション特性の対応関係を図示したグラフである。 図8に示す対応関係をテーブルとして記憶する場合の一例を示す表である。 メモリセルのリードデータが不定となる状態を示すグラフである。 メモリセルのリードデータが不定となる状態を示すグラフである。 メモリセルのリードデータが不定となる状態を示すグラフである。 図10Aに示す状態において、制御部が閾値電圧を操作した場合の様子を示すグラフである。 メモリセルのリードデータが不定となる状態を示すグラフである。 実施の形態2にかかる記憶装置の動作の一例を示すフローチャートである。 実施の形態2にかかる記憶装置の動作の一例を示すフローチャートである。 実施の形態の変形例にかかる記憶装置の構成の一例を示すブロック図である。 データベースによって記憶される、メモリセルのリテンション特性のテーブルの一例を示す表である。
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
実施の形態について説明する前に、まず、フラッシュメモリにおけるトランジスタの閾値電圧(Vth)の推移について説明する。フラッシュメモリでは、セルを構成するトランジスタのトラップ層の電荷量を調整することにより、閾値電圧が、記憶するデータに応じた値へと調整される。例えば、データとして第1の値(例えば1)を記憶する場合、閾値電圧が第1の所定値(Vth_lowとする)となるように、閾値電圧が設定され、データとして第2の値(例えば0)を記憶する場合、閾値電圧が第2の所定値(Vth_highとする)となるように、閾値電圧が設定される。なお、ここで、Vth_low<Vth_highである。以下、データとして第1の値を記憶する際に設定されうる2つの閾値電圧のうち低い方の閾値電圧に対応する記憶データを、Low側データと称す。また、データとして第2の値を記憶する際に設定されうる2つの閾値電圧のうち高い方の閾値電圧に対応する記憶データを、High側データと称す。
図1は、フラッシュメモリセルのリテンション特性を示すグラフである。すなわち、図1は、閾値電圧の時間推移を示している。時刻0において、書き換え処理が行われ、閾値電圧が設定されたとしても、図1に示すように、時間の経過に伴い、閾値電圧は一定を保たず、変化する。トランジスタ形成時における電荷の注入量及びトランジスタの構造などによって決まる固有の閾値電圧(Vth_iとする)が、図1のように、Vth_lowとVth_highの間の電圧値であるとすると、書き換え時に設定した閾値電圧は、Vth_iに収束する。より詳細には、High側データを記憶するための書き換えが行われた際に設定された閾値電圧は、時間の経過とともに徐々に減少し、Low側データを記憶するための書き換えが行われた際に設定された閾値電圧は、時間の経過とともに徐々に上昇する。そして、閾値電圧は、データの読み出しを正しく行うことが保証されない電圧範囲に突入することとなる。以下、この電圧範囲を、リード限界の電圧範囲と称す。
リード限界の電圧範囲では、リード処理のための回路の動作限界により、リードデータが不定となる。このため、データの読み出しを正しく行うことが保証されない。より詳細に説明すると、トランジスタに設定された閾値電圧は、トランジスタに所定の電圧をかけた際の電流値により判定されるが、閾値電圧がリード限界の電圧範囲に突入すると、電流値による判定結果が一意に定まらない。例えば、シングル型のフラッシュメモリでは、トランジスタに流れる電流値と基準電流値との差分をアンプにより増幅するが、閾値電圧が上記の電圧範囲にある場合、トランジスタに流れる電流値と基準電流値との差が小さすぎて、アンプが正しく機能せず、リードデータの値が不定となる。同様に、相補型のフラッシュメモリでは、一方のトランジスタに流れる電流値と他方のトランジスタに流れる電流値との差分をアンプにより増幅するが、閾値電圧が上記の電圧範囲にある場合、差分が小さすぎて、アンプが正しく機能せず、リードデータの値が不定となる。つまり、リード限界の電圧範囲は、リードデータの値が一意に定まらないレベルの電流がトランジスタに流れる閾値電圧の範囲である。言い換えると、リード限界の電圧範囲は、メモリセルのリードデータが不定となる電圧範囲である。なお、この電圧範囲の上限及び下限は、リード処理のための回路の特性により定まるものであり、設計及び製造段階において、既知の値である。
なお、シングル型のフラッシュメモリとは、1つのトランジスタにより1ビットを記憶するフラッシュメモリである。相補型のフラッシュメモリとは、2つのトランジスタにより1ビットを記憶するフラッシュメモリである。相補型のフラッシュメモリでは、1を記憶する場合、第1のトランジスタの閾値電圧をVth_lowに設定し、第2のトランジスタの閾値電圧をVth_highに設定する。一方、0を記憶する場合、第1のトランジスタの閾値電圧をVth_highに設定し、第2のトランジスタの閾値電圧をVth_lowに設定する。
<実施の形態1>
次に、実施の形態1について説明する。図2は、実施の形態1にかかる記憶装置1の構成の一例を示すブロック図である。図2に示すように、記憶装置1は、複数のフラッシュメモリセル10と、メモリコントローラ11と、レベル判定回路12とを有している。
フラッシュメモリセル10は、トラップ層の電荷量を変更して閾値電圧を制御することでデータを記憶するMOSトランジスタにより構成される。すなわち、フラッシュメモリセル10は、例えば、フローティングゲートMOSトランジスタなどと呼ばれるトランジスタにより構成される。本実施の形態において、複数のフラッシュメモリセル10は、メモリセル101と、タイマセル102とに分類される。本実施の形態では、一例として、図2に示されるように1以上のメモリセル101と1つのタイマセル102とを有する。メモリセル101とタイマセル102は、閾値電圧の変化に対して類似の特性を有するセルである。すなわち、メモリセル101とタイマセル102は、閾値電圧を変化させる要因に対する閾値電圧の変化特性が類似している。言い換えると、メモリセル101の閾値電圧の変化特性と、タイマセル102の閾値電圧の変化特性との間に相関がある。一例として、メモリセル101とタイマセル102とが、同じ構成を有するセルである場合が挙げられる。
メモリセル101は、複数のフラッシュメモリセル10のうちデータを記憶するセルとして用いられるセルである。また、タイマセル102は、複数のフラッシュメモリセル10のうちメモリセル101の閾値電圧の判定に用いられるセルである。タイマセル102は、判定用セルとも称す。
メモリコントローラ11は、フラッシュメモリセル10を制御する電子回路である。なお、メモリコントローラ11は、制御部とも称す。メモリコントローラ11は、メモリセル101に記憶されたデータのリード処理、メモリセル101へのデータの書き換え処理、及びメモリセル101のリフレッシュ処理を行う。また、メモリコントローラ11は、タイマセル102の閾値電圧を所定の初期値に設定する処理であるリセット処理を行う。ここで、メモリコントローラ11は、データ書き込み時、メモリセル101にデータを書き込むとともに、タイマセル102のリセット処理、すなわちタイマセル102の閾値電圧のリセットを行う。本実施の形態では、記憶装置1に、1つのタイマセル102が設けられており、メモリコントローラ11は、複数のメモリセル101のうち、いずれかのメモリセル101に対する最初の書き込み時に、タイマセル102のリセット処理を行い、以降、いずれかのメモリセル101のリード時にリフレッシュ処理が行われる度に、タイマセル102のリセット処理を行う。
レベル判定回路12は、タイマセル102の現在の閾値電圧を取得し、取得した閾値電圧に基づいて、メモリセル101の現在の閾値電圧の状態を判定(推定)する電子回路である。なお、レベル判定回路12は、推定部とも称す。レベル判定回路12は、例えば、タイマセル102に印加する電圧を変動させ、タイマセル102に所定の電流値の電流が流れた時の電圧を計測することにより閾値電圧を取得する。上述の通り、タイマセル102は、閾値電圧の変化に対し、メモリセル101と類似の特性を有する。従って、メモリセル101への書き込み時にリセットが行われたタイマセル102の現在の閾値電圧を調べることにより、メモリセル101の現在の閾値電圧が書き込み時からどの程度変化しているかを把握することができる。
図3は、タイマセル102のリテンション特性の具体例を示すグラフである。図3において、縦軸はタイマセル102の閾値電圧の値を示し、横軸はタイマセル102の閾値電圧が初期値に設定されてからの経過時間を示している。図3からわかるように、タイマセル102の閾値電圧が初期値に設定されてからの経過時間を、タイマセル102の閾値電圧を測定することにより、把握することができる。ここで、メモリセル101に対し記憶のための閾値電圧の設定が行われる際、タイマセル102がリセットされてタイマセル102の閾値電圧が初期値に設定される。したがって、メモリセル101の閾値電圧がデータ記憶のために設定されてからの経過時間を、タイマセル102の閾値電圧の測定値から把握することができる。
このことは、タイマセル102の閾値電圧の測定値に基づいて、メモリセル101の閾値電圧が設定時からどの程度変動しているかを把握できることを意味する。例えば、タイマセル102の閾値電圧が時間経過とともに減少するようなリテンション特性(図3に示されるリテンション特性)である場合、タイマセル102の閾値電圧が初期値からどの程度減少しているかを判定することにより、メモリセル101の閾値電圧の設定時からの変動量を推測することができる。よって、レベル判定回路12は、タイマセル102の現在の閾値電圧を、予め定められた基準値と比較することにより、メモリセル101の現在の閾値電圧の状態を推定する。
タイマセル102の初期値は、例えば、メモリセル101のリード限界の電圧範囲の上限電圧値よりも高い任意の所定値、又はメモリセル101のリード限界の電圧範囲の下限電圧値よりも低い任意の所定値である。ただし、タイマセル102のリテンション特性は、メモリセル101のリテンション特性よりもリテンション期間が長いことが好ましい。すなわち、タイマセル102の閾値電圧が初期値に設定されてからタイマセル102の閾値電圧がリード限界の電圧範囲に突入するまでの時間が、メモリセル101の閾値電圧が設定されてからメモリセル101の閾値電圧がリード限界の電圧範囲に突入するまでの時間よりも長いことが好ましい。タイマセル102の閾値電圧がリード限界に達してしまうと、タイマセル102の閾値電圧の測定が正常に行われない恐れがあるためである。すなわち、メモリセル101の状態を推定可能な期間が限られてしまう。タイマセル102のリテンション特性が、メモリセル101のリテンション特性よりもリテンション期間が長いことで、これを防ぐことができる。
レベル判定回路12は、具体的には次のように推定する。まず、タイマセル102の閾値電圧の初期値が、メモリセル101のリード限界の電圧範囲の上限電圧値よりも高い場合の動作例について説明する。すなわち、メモリコントローラ11によるリセット処理において、メモリセル101のリード限界の電圧範囲の上限電圧値よりも高い所定の初期値に、タイマセル102の閾値電圧が設定される場合の動作例について説明する。この場合においては、タイマセル102のVth_iはリード限界の電圧範囲内に存在するため、図3に示すようにタイマセル102の閾値電圧は時間経過とともに減少する。このため、レベル判定回路12は、タイマセル102の閾値電圧の測定値が、初期値よりも低い所定値であるリフレッシュ基準値(図3参照)よりも低い場合、メモリセル101が、リフレッシュが必要な状態であると推定する。また、レベル判定回路12は、タイマセル102の閾値電圧が、リフレッシュ基準値よりも低い所定値であるリード限界基準値(図3参照)よりも低い場合、メモリセル101が、リードデータが不定となる状態であると推定する。すなわち、レベル判定回路12は、メモリセル101の閾値電圧が、リード限界の電圧範囲に突入していると推定する。また、レベル判定回路12は、さらに他の推定を行ってもよい。例えば、タイマセル102の閾値電圧が、リード限界基準値よりも低い所定値であるブランク基準値(図3参照)よりも低い場合、レベル判定回路12は、メモリセル101の状態が、メモリセル101にデータが記憶されていない状態であると推定してもよい。
次に、タイマセル102の閾値電圧の初期値が、メモリセル101のリード限界の電圧範囲の下限電圧値よりも低い場合の動作例について説明する。すなわち、メモリコントローラ11によるリセット処理において、メモリセル101のリード限界の電圧範囲の下限電圧値よりも低い所定の初期値に、タイマセル102の閾値電圧が設定される場合の動作例について説明する。この場合においては、タイマセル102のVth_iはリード限界の電圧範囲内に存在するため、図3に示した例とは逆に、タイマセル102の閾値電圧は時間経過とともに増加する。このため、レベル判定回路12は、タイマセル102の閾値電圧の測定値が、初期値よりも高い所定値であるリフレッシュ基準値よりも高い場合、メモリセル101はリフレッシュが必要な状態であると推定する。また、レベル判定回路12は、タイマセル102の閾値電圧が、リフレッシュ基準値よりも高い所定値であるリード限界基準値よりも高い場合、メモリセル101は、リードデータが不定となる状態であると推定する。すなわち、レベル判定回路12は、メモリセル101の閾値電圧が、リード限界の電圧範囲に突入していると推定する。また、レベル判定回路12は、さらに他の推定を行ってもよい。例えば、レベル判定回路12は、タイマセル102の閾値電圧が、リード限界基準値よりも高い所定値であるブランク基準値よりも高い場合、メモリセル101にデータが記憶されていないと推定してもよい。
メモリコントローラ11は、レベル判定回路12により、リフレッシュが必要な状態であると推定された場合に、メモリセル101に対するリフレッシュ処理を実行する。すなわち、メモリコントローラ11は、メモリセル101にリード処理を行ってリードデータを取得し、リードデータと同じデータを、メモリセル101に再度書き込む。このため、閾値電圧が回復し、リテンション期間を長くすることが可能となる。ただし、メモリセル101の閾値電圧がリード限界の電圧範囲にある場合には、メモリセル101に本来記憶されていたデータによる上書きが、リフレッシュの際に行われない恐れがある。したがって、本実施の形態では、メモリコントローラ11は、レベル判定回路12により、リフレッシュが必要な状態であると推定され、かつ、メモリセル101のリードデータが不定となる状態ではないと推定された場合に、メモリセル101に対するリフレッシュ処理を実行する。これにより、リフレッシュ処理により、記憶データが誤ったデータで更新されてしまうことを防ぐことができる。
次に、実施の形態1にかかる記憶装置1の動作例について説明する。図4は、実施の形態1にかかる記憶装置1の動作の一例を示すフローチャートである。以下、図4を参照しつつ、まず、記憶装置1におけるリード時の動作例を説明する。
ステップ100(S100)において、記憶装置1は、他の装置等からのリード指示を受信する。次に、ステップ101(S101)において、レベル判定回路12が、タイマセル102の現在の閾値電圧を取得する。そして、ステップ102(S102)において、レベル判定回路12は、取得した閾値電圧がリフレッシュ基準値に到達しているか否かを判定する。閾値電圧がリフレッシュ基準値に到達していないと判定された場合、処理はステップ103へ移行し、閾値電圧がリフレッシュ基準値に到達していると判定された場合、処理はステップ104へ移行する。ステップ103(S103)では、メモリセル101の閾値電圧の状態は正常なレベルであるため、メモリコントローラ11は、リード処理を行う。
これに対し、ステップ104(S104)では、レベル判定回路12は、取得した閾値電圧がリード限界基準値に到達しているか否かを判定する。閾値電圧がリード限界基準値に到達していると判定された場合、リードデータを適切に読み出すことができないため、メモリアクセス処理を終了する。閾値電圧がリード限界基準値に到達していないと判定された場合、処理は、ステップ105へ移行する。
ステップ105(S105)において、メモリコントローラ11は、リード処理に加えリフレッシュ処理を行う。すなわち、メモリコントローラ11は、リード処理を行うとともに、リードデータによる上書き処理をメモリセル101に対して行う。その後、処理はステップ106へ移行する。ステップ106(S106)において、メモリコントローラ11は、タイマセル102の閾値電圧についてリセット処理を行う。
以上が、リード時の動作例の説明となる。次に、書き換え時の動作例について説明する。
ステップ150(S150)において、記憶装置1は、他の装置等からの書き換え指示を受信する。次に、ステップ151(S151)において、メモリコントローラ11は、メモリセル101に対する最初の書き込みであるか否か、すなわち記憶装置1における最初の書き込みであるか否かを判定する。最初の書き込みである場合、処理はステップ152へ移行する。2回目以降の書き込みである場合、処理はステップ153へ移行する。ステップ152(S152)において、メモリコントローラは、タイマセル102のリセット処理を行い、タイマセルの閾値電圧を初期値に設定する。ステップ153(S153)において、メモリコントローラ11は、メモリセル101の書き換え処理を実施する。
以上、実施の形態1にかかる記憶装置1について説明した。本実施の形態にかかる記憶装置1によれば、タイマセル102により、メモリセル101の現在の状態を推定することができる。このため、タイマ回路を設けることなくフラッシュメモリセルを管理することができる。また、タイマセル102の閾値電圧は、電源の有無によらず、メモリセル101と同様に変化するため、タイマ回路により経過時間を管理する場合にRTCであることが要求されるという問題が回避される。なお、本実施の形態では、メモリセル101の閾値電圧を直接検出しないため、次のような効果がある。すなわち、メモリセル101の閾値電圧を直接検出する場合、メモリセル101に電圧を印加し、ゲート電圧をスイープすることにより閾値電圧を検出することとなるが、検出中はバイアスラインを共有する他のセルの保持電荷に影響を与えてしまい、データが改変してしまう恐れがある。本実施の形態では、メモリセル101の閾値電圧を直接検出するのではなく、タイマセル102の閾値電圧から推定しているため、このような問題の発生を回避することができる。また、メモリセル101の閾値電圧を個々に検出するよりも、複数のメモリセル101と関連付けられた1つのタイマセル102の閾値電圧だけを検出するほうが、検出にかかる所要時間を短くすることができるという利点もある。また、タイマセル102とメモリセル101によって共有されるバイアスラインが存在するよう記憶装置1が設計されている場合、検出にあたる所要時間の短縮は、検出時のメモリセル101へのストレスの低減につながる。すなわち、メモリセル101のデータが改変されてしまうことを抑制することができる。
なお、上述の実施の形態では、1つのタイマセル102を設ける場合の構成例について示した。しかしながら、タイマセル102は、複数設けられてもよい。例えば、タイマセル102は、書き換え単位であるメモリセル群(メモリブロック)ごとに設けられていてもよい。このような場合には、タイマセル102を設けるための追加面積が必要となるものの、冗長なリフレッシュ処理を低減することができる。すなわち、複数のメモリブロックで共通のタイマセル102を利用している場合、最も書き込みタイミングが古いメモリブロックの閾値電圧の状態に従ってリフレッシュ処理が行われるため、本来、リフレッシュ処理が必要でないにもかかわらずリフレッシュ処理が行われる恐れがある。メモリブロック毎に、タイマセル102を設けることにより、この点が改善される。なお、メモリブロック毎に、タイマセル102が設けられる場合、上記動作例において、最初の書き込みか否かにかかわらず、メモリコントローラ11は、書き換え処理の実行の度に、書き換え対象のメモリブロックに対応するタイマセル102について、リセット処理することとなる。また、タイマセル102は、メモリブロック毎ではなく、所定数のメモリブロック毎に設けられていてもよい。
<実施の形態2>
次に、実施の形態2について説明する。実施の形態1にかかる記憶装置1では、メモリセル101の閾値電圧が、リード限界の電圧範囲に突入していると推測された場合には、リード処理は行わなかった。これに対し、実施の形態2では、メモリセル101の閾値電圧がリード限界の電圧範囲に突入していると推測される場合であっても、リードデータを取得することができる記憶装置について示す。
図5は、実施の形態2にかかる記憶装置2の構成の一例を示すブロック図である。図5に示されるように、記憶装置2は、複数のフラッシュメモリセル20と、制御部21と、データベース22と、電流比較回路23とを有している。
複数のフラッシュメモリセル20は、図5に示されるように、書き換え単位毎にメモリブロック200を構成している。メモリブロック200は、1以上のメモリセル201と、1つのタイマセル202とを含んでいる。すなわち、本実施の形態では、タイマセル202は、書き換え単位であるメモリセル群毎、すなわちメモリブロック毎に設けられている。なお、本実施の形態では、一例として、タイマセル202はメモリブロック毎に設けられるが、タイマセル202は、記憶装置2に対し1つであってもよいし、所定数のメモリブロック毎に設けられていてもよい。メモリセル201は、実施の形態1におけるメモリセル101と同様であり、タイマセル202は、実施の形態1におけるタイマセル102と同様であるため、これらについての具体的な説明は省略する。
制御部21は、メモリコントローラ及びCPU(Central Processing Unit)などを有する電子回路である。制御部21は、上述のメモリコントローラ11と同様、メモリセル201に記憶されたデータのリード処理、メモリセル201に対するデータの書き換え処理、及びメモリセル201に対するリフレッシュ処理を行う。なお、制御部21は、データ書き込み時、メモリブロック200のメモリセル201に対しデータを書き込むとともに、このメモリブロック200のタイマセル202のリセット処理を行う。
また、制御部21は、上述のメモリコントローラ11と同様、タイマセル202に対しリセット処理を行う。また、制御部21は、メモリセル201の閾値電圧を操作する閾値電圧変更処理を行う。なお、閾値電圧変更処理の詳細については後述する。また、制御部21は、タイマセル202の現在の閾値電圧を取得し、取得した閾値電圧及びデータベース22の情報に基づいて、メモリセル101の現在の閾値電圧の電圧値を推定する。制御部21の機能構成のうち、この推定処理を行う機能構成については、推定部とも称す。
データベース22は、制御部21に対し、計算用のデータを提供する記憶部であり、例えば不揮発性メモリなどの記憶装置により構成されている。具体的には、データベース22は、タイマセル202の代表的なリテンション特性と、メモリセル201の代表的なリテンション特性との対応関係を記憶している。また、データベース22は、メモリセル201の閾値電圧の変更処理に対する閾値電圧の電圧値の変更特性についても記憶している。制御部21は、この変更特性を参照して、閾値電圧を所望の電圧値だけ変更するための閾値電圧変更処理を行う。
電流比較回路23は、メモリセル201に所定の電圧をかけた際の電流を比較する。記憶装置2がシングル型のフラッシュメモリである場合、電流比較回路23は、トランジスタに所定の電圧をかけた際の電流値を所定値と比較し、この所定値以上の電流が流れるか否かを判定する。また、記憶装置2が相補型のフラッシュメモリである場合、トランジスタに所定の電圧をかけた際の一方のトランジスタに流れる電流値と他方のトランジスタに流れる電流値とを比較し、電流がより多く流れるトラジスタがいずれであるかを判定する。制御部21は、電流比較回路23による比較結果を取得することにより、メモリセル201に格納されているデータを読み出す。
次に、制御部21による推定処理について詳述する。制御部21は、例えば、プログラムをCPUにより実行することにより、推定処理を実現する。図6は、タイマセル202のリテンション特性の具体例を示すグラフである。図3と同様、図6において、縦軸はタイマセル202の閾値電圧の値を示し、横軸はタイマセル202の閾値電圧が初期値に設定されてからの経過時間を示している。図6を参照し、タイマセル202を用いた時間推定について説明する。タイマセル202のリテンション特性が予めわかっている場合、タイマセル202の閾値電圧の測定値から、閾値電圧が初期値に設定されてからの経過時間が特定される。しかしながら、図6に示されるように、タイマセル202のリテンション特性として、どのようなリテンション特性を用いて推定するかにより、推定される経過時間は異なる。経過時間を過小評価してしまうと、メモリセル201に設定された閾値電圧がリード限界の電圧範囲に突入した状態であること、もしくは突入間近な状態であることを看過してしまう恐れがある。タイマセル202のリテンション特性は、温度等の環境条件や個体差などにより、ばらつきがあるが、このような看過を防ぐため、本実施の形態では、想定される最良のリテンション特性(図中のBestケース参照)をタイマセル202の代表的なリテンション特性として用いる。よって、図6に示すように、本実施の形態では、タイマセル202の閾値電圧が測定されると、実際の経過時間t1ではなく、経過時間t2が推定されることとなる。このように、本実施の形態では、データベース22におけるタイマセル202のリテンション特性が示す閾値電圧の経時変化の度合いは、タイマセル202の閾値電圧の実際の経時変化の度合いよりも小さい。
次に、メモリセル201の閾値電圧の推定について説明する。図7は、メモリセル201のリテンション特性の具体例を示すグラフである。なお、図7では、メモリセル201の閾値電圧をVth_lowに設定した場合のリテンション特性について示している。タイマセル202の閾値電圧の設定とメモリセル201の閾値電圧の設定とが同じタイミングで行われている場合、上述の通り、タイマセル202の閾値電圧の測定値から経過時間を推定することができる。また、図7に示すように、経過時間からは、メモリセル201の閾値電圧の電圧値を推定することができる。例えば、推定される経過時間がt3である場合、メモリセル201の閾値電圧値として、Vth1が推定される。同様に、推定される経過時間がt4である場合、メモリセル201の閾値電圧値として、Vth2が推定される。
ここで、図7に示すように、メモリセル201のリテンション特性として、どのようなリテンション特性を用いて推定するかにより、推定される閾値電圧が異なる。閾値電圧の劣化が過小評価されてしまうと、メモリセル201に設定された閾値電圧がリード限界の電圧範囲に突入した状態であること、もしくは突入間近な状態であることを看過してしまう恐れがある。メモリセル201のリテンション特性も、温度等の環境条件や個体差などにより、ばらつきがあるが、このような看過を防ぐため、本実施の形態では、想定される最悪のリテンション特性(図中のWorstケース参照)をメモリセル201の代表的なリテンション特性として用いる。このように、本実施の形態では、データベース22におけるメモリセル201のリテンション特性が示す閾値電圧の経時変化の度合いは、メモリセル201の閾値電圧の実際の経時変化の度合いよりも大きい。
上述の通り、本実施の形態では、推定に用いる、タイマセル202のリテンション特性及びメモリセル201のリテンション特性のそれぞれに、マージンを持たせている。このため、メモリセル201の閾値電圧のリード限界への突入を看過することを防ぐことができる。
制御部21は、メモリセル201の推定した閾値電圧に応じて、リード指示を受領した際のメモリセル201に対する処理を決定する。具体的には、制御部21は、メモリセル201の推定閾値電圧が、リフレッシュ基準値に到達していない場合(図7の電圧範囲R1参照)、リード処理を行い、メモリセル201の推定閾値電圧が、リフレッシュ基準値に到達している場合(図7の電圧範囲R2参照)、リード処理に加えリフレッシュ処理を実施する。また、制御部21は、メモリセル201の推定閾値電圧が、さらに劣化してリード限界基準値に到達している場合(図7の電圧範囲R3参照)、メモリセル201に対し閾値電圧変更処理を行う。
次に、データベース22が記憶する、タイマセル202のリテンション特性とメモリセル201のリテンション特性との対応関係について、具体例を用いて示す。図8は、データベース22に記憶されるリテンション特性の対応関係を図示したグラフである。また、図9は、図8に示す対応関係をテーブルとして記憶する場合の一例を示す表である。図9に示すように、タイマセル202の閾値電圧と、閾値電圧を設定してからの経過時間と、メモリセル201の閾値電圧とを対応付けたテーブルをデータベース22が記憶していてもよい。図9に示したテーブルでは、具体的には、タイマセル202の想定される最良のリテンション特性(ベストケースのリテンション特性)における電圧値と、閾値電圧を設定してからの経過時間と、メモリセル201の想定される最悪のリテンション特性(ワーストケースのリテンション特性)における電圧値とが格納されている。
なお、後述するように、本実施の形態では、Low側データを記憶するために設定される閾値電圧、すなわち、書き込みの際、Vth_lowに設定された閾値電圧の推定値により、制御部21は処理を決定する。したがって、テーブルには、メモリセル201の代表的なリテンション特性として、Low側データを記憶するために設定される閾値電圧のリテンション特性及びHigh側データを記憶するために設定される閾値電圧のリテンション特性の両方ではなく、Low側データを記憶するために設定される閾値電圧のリテンション特性のみが格納されていてもよい。また、本実施の形態においては、タイマセル202の閾値電圧の値から、メモリセル201の閾値電圧の推定値がわかればよいため、テーブルは、経過時間については格納していなくてもよい。
データベース22は、必ずしもテーブルにより、対応関係を記憶していなくてもよい。データベース22が記憶するデータ形式としては任意のデータ形式が可能である。例えば、リテンション特性についてモデル化が可能である場合には、タイマセル202の閾値電圧からメモリセル201の閾値電圧を算出する演算式を格納していてもよい。
例えば、タイマセル202のベストケースのリテンション特性が下記式(1)のように関数fによりモデル化されるとする。同様に、メモリセル201のワーストケースのリテンション特性(Low側データを記憶するために設定される閾値電圧のリテンション特性)が下記式(2)のように関数gによりモデル化され、メモリセル201のワーストケースのリテンション特性(High側データを記憶するために設定される閾値電圧のリテンション特性)が下記式(3)のように関数hによりモデル化されるとする。なお、式(1)〜(3)において、a、b、・・・、aMH、bMH、・・・、及びaML、ML、・・・は、それぞれ実験又はシミュレーションなどにより決定されるパラメータである。また、tは時間を示す変数であり、VthTは、タイマセル202の現在の閾値電圧の値を示し、VthMHは、Vth_highに閾値電圧が設定されたメモリセル201の現在の閾値電圧の値を示し、VthMLは、Vth_lowに閾値電圧が設定されたメモリセル201の現在の閾値電圧の値を示す。
Figure 2018045742
Figure 2018045742
Figure 2018045742
これらの式からメモリセル201の閾値電圧VthMH及びVthMLを算出することができる。データベース22は、テーブルの代わりに、この演算式を記憶していてもよい。
テーブルにより対応関係が示されている場合、メモリセル201の閾値電圧の推定に際し、数値計算を省略することが可能である。例えば、式(1)〜(3)などのモデル化が難しい場合に、テーブルが用いられる。また、演算式により対応関係が示される場合、書き換え回数などを示すパラメータを加えてモデル化することにより、推定精度を向上させることも可能である。
制御部21は、データベース22に記憶された対応関係を用いて、タイマセル202の現在の閾値電圧からメモリセル201の現在の閾値電圧を推定し、メモリセル201の閾値電圧が、リフレッシュ処理を要する電圧範囲に到達しているか否か、及びリード限界の電圧範囲に到達しているか否かを判定する。このため、タイマ回路を設けることなくフラッシュメモリセルの閾値電圧を管理することができる。以下、制御部21における推定と、閾値電圧変更処理についてさらに説明する。本実施の形態では、制御部21は、上述の通り、リード時、タイマセル202の閾値電圧から、読み出し対象のメモリセル201の閾値電圧を推定する。制御部21は、この推定された閾値電圧の値がリード限界に到達していると判定された場合(図7の電圧範囲R3参照)、読み出し対象のメモリセル201に対し閾値電圧変更処理を行う。閾値電圧変更処理では、制御部21は、メモリセル201の現在の閾値電圧の推定値と、リード限界の電圧範囲の境界値との差分に応じた電圧値だけメモリセル201の閾値電圧を変化させる。その後、制御部21は、メモリセル201のリードデータを取得する。
以下、制御部21の動作について、さらに詳細に説明する。本実施の形態では、制御部21は、次のように動作する。まず、制御部21は、メモリセル201の閾値電圧の推定の際、読み出し対象のメモリセル201が、Low側データが格納されたメモリセルであると仮定して、閾値電圧の値を推定する。つまり、制御部21は、Vth_lowに閾値電圧が設定された場合のメモリセル201の現在の閾値電圧の値を推定する。
制御部21は、この推定された閾値電圧の値がリード限界に到達していると判定された場合、次の通り、閾値電圧変更処理を行う。制御部21は、Vth_lowに閾値電圧が設定されたと仮定したメモリセル201の現在の閾値電圧の推定値が、リード限界の電圧範囲の下限値を超える場合、その差分を算出する。そして、制御部21は、データベース22に格納された電圧値の変更特性を参照し、差分に応じた電圧値だけメモリセル201の閾値電圧を減少させる。すなわち、制御部21は、メモリセル201の消去処理をこの差分だけ行う。その後、制御部21は、電流比較回路23による判定結果を取得する。これについて、図を用いてさらに説明する。
Vth_lowに閾値電圧が設定されたメモリセル201のリテンション特性とVth_highに閾値電圧が設定されたメモリセル201のリテンション特性とが交差するタイミングより前にリードが行われる場合、メモリセル201のリードデータが不定となる状態としては、図10A〜図10Cの3つの状態が考えられる。
図10Aに示される状態は、Vth_lowに閾値電圧が設定されたメモリセル201のリテンション特性に対応する推定値がリード限界の電圧範囲に到達しているものの、Vth_highに閾値電圧が設定されたメモリセル201のリテンション特性に対応する推定値はリード限界の電圧範囲に到達していない状態である。この場合、メモリセル201にHigh側データが格納されているときには、正常にリード処理が可能であるが、メモリセル201にLow側データが格納されているときには、リードデータが不定となりうる。なお、本実施の形態では、上述のマージンがあるため、必ずしも不定とはならず、実際には正常にリードできる可能性がある。
図10Bに示される状態は、Vth_lowに閾値電圧が設定されたメモリセル201のリテンション特性に対応する推定値も、Vth_highに閾値電圧が設定されたメモリセル201のリテンション特性に対応する推定値も、リード限界の電圧範囲に到達している状態である。この場合、メモリセル201にHigh側データが格納されているときも、メモリセル201にLow側データが格納されているときも、リードデータが不定となりうる。なお、この場合も、上述のマージンがあるため、必ずしも不定とはならず、実際には正常にリードできる可能性がある。
図10Cに示される状態は、Vth_lowに閾値電圧が設定されたメモリセル201のリテンション特性に対応する推定値はリード限界の電圧範囲に到達していないものの、Vth_highに閾値電圧が設定されたメモリセル201のリテンション特性に対応する推定値がリード限界の電圧範囲に到達している状態である。この場合、メモリセル201にLow側データが格納されているときには、正常にリード処理が可能であるが、メモリセル201にHigh側データが格納されているときには、リードデータが不定となりうる。なお、この場合も、上述のマージンがあるため、必ずしも不定とはならず、実際には正常にリードできる可能性がある。
上述の通り、本実施の形態では、制御部21は、閾値電圧がVth_lowに設定されていると仮定した上で、メモリセル201の現在の閾値電圧の推定値を取得する。これにより、図10A及び図10Bに示される場合には、制御部21は、メモリセル201の閾値電圧がリード限界に到達していると判定する。このように、推定を行う際、実際に格納されているデータがLow側データであるのかHigh側データであるのか不明であるため、制御部21は、格納されているデータがLow側データであるとの仮定の下、Vth_lowに閾値電圧が設定された場合のメモリセル201の現在の閾値電圧の推定値から、メモリセル201の閾値電圧がリード限界に到達しているか否かを判定する。なお、図10Cに示した状態では、Vth_lowに閾値電圧が設定された場合のメモリセル201の現在の閾値電圧の推定値はリード限界に到達していないため(すなわち、図10Cに示すように後述するΔVthが負であるため)、制御部21は、メモリセル201の閾値電圧がリード限界に到達しているとは判定しない。
推定値が得られると、制御部21は、推定値から、予め既知であるリード限界の電圧範囲の下限値を減算し、差分ΔVthを算出する。制御部21は、差分ΔVthを算出すると、ΔVthだけメモリセル201の閾値電圧を減少させるよう、閾値電圧を操作する。
図11は、図10Aに示す状態において、制御部21が閾値電圧を操作した場合の様子を示すグラフである。なお、図10Bに示す状態において、制御部21が閾値電圧を操作した場合も、図11と同様、ΔVthだけメモリセル201の閾値電圧は減少する。図11に示すように、制御部21による閾値電圧の操作により、閾値電圧がVth_lowに設定されたメモリセル201の現在の閾値電圧は、リード限界の電圧範囲を脱することとなる。したがって、メモリセル201がLow側データを格納している場合には、閾値電圧の操作後にリード処理が行われると、リードデータとしてLow側データが正常に取得される。一方、メモリセル201がHigh側データを格納している場合には、閾値電圧の操作後にリード処理が行われると、リードデータとしてHigh側データが正常に取得されるか、又は、リードデータが不定となる。すなわち、メモリセル201がHigh側データを格納している場合、このメモリセル201の閾値電圧の値が、閾値電圧の操作後も依然としてリード限界の上限電圧値よりも高いときには、リードデータとしてHigh側データが取得される。また、メモリセル201がHigh側データを格納している場合、このメモリセル201の閾値電圧の値が、閾値電圧の操作後にリード限界の電圧範囲内にあるときには、リードデータが不定となる。なお、リードデータが不定であるか否かについては、例えば、リード処理を繰り返し行い、リードデータが常に同じであるか否かにより判定可能である。なお、この繰り返し行われるリード処理の際、ΔVthだけ変化させた閾値電圧を、予め定められた変動値だけわずかに増減させてリード処理を行ってもよい。このように、メモリセル201の閾値電圧の推定値が、リード限界の電圧範囲に到達している場合であっても、本実施の形態では、メモリセル201の閾値電圧の電圧値を操作することにより、このメモリセル201に格納されているデータを取得することができる。
ここで、上記説明を補足する。メモリセル201の閾値電圧の推定時においては、メモリセル201に格納されているデータは不明であるものの、上述の通り、閾値電圧がリード限界に到達しているか否かについては判定可能である。特に、リード処理が正常に行われるか否かについては、正確に判定することが可能である。その理由は、上述のマージンがあるため、閾値電圧の推定値がリード限界に到達していないならば、メモリセル201が破壊していない限り、必ずリード可能であるためである。
また、上述の通り、本実施の形態では、閾値電圧がリード限界の電圧範囲に到達していると判定された場合、制御部21は、格納されているデータをLow側データだとみなし、Low側データが正常にリード可能なレベルに届くためのΔVthを算出し、このΔVthだけ消去処理を行う。その後、制御部21は、メモリセル201にリード処理のための所定電圧を印加した際のセル電流の判定結果を、電流比較回路23から取得する。その判定結果がLow側データを示す場合、格納されていたデータがLow側データであったことが判明する。そして、判定結果がHigh側データを示す場合、もしくはいずれにも一意に定まらない場合、格納されていたデータがHigh側データであったことが判明する。
なぜなら、閾値電圧の操作によって、Low側データとして正常にリードできる電圧値に閾値電圧が設定し直された後には、上述のマージンがあるため、メモリセル201が破壊していない限り、必ずLow側データとして正常にリード可能であるからである。また、閾値電圧の操作による閾値電圧の変化はΔVthだけであるため、格納されているデータがHigh側データであったとしても、メモリセル201の操作後の閾値電圧は、リード限界の電圧範囲の下限以上である。つまり、High側データが格納されているメモリセル201の閾値電圧は、閾値電圧の操作が行われた後も、必ずリード限界の電圧範囲の下限よりも大きいといえる。なぜならば、上述のマージンがあるためである。したがって、High側データが格納されている場合、閾値電圧の操作後、Low側データとして正常にリードデータが取得されることはない。
なお、本実施の形態では、図10Cに示した状態では、Vth_lowに閾値電圧が設定されたと仮定したメモリセル201の現在の閾値電圧の推定値がリード限界に到達していないため、閾値電圧変更処理が行われずに、リード処理が行われる。この場合、メモリセル201に実際に格納されているデータがLow側データである場合、リードデータとしてLow側データが正常に取得される。一方、メモリセル201に実際に格納されているデータがHigh側データである場合、リードデータは不定となりうる。しかしながら、上述の通り、本実施の形態では、マージンを伴う推定を行っているため、メモリセル201の実際の閾値電圧はリード限界の電圧範囲よりも高いことが想定される。このため、メモリセル201に実際に格納されているデータがHigh側データである場合も、High側データが正常に取得されることが期待される。なお、図10Cに示した状態においてメモリセル201に実際に格納されているデータがHigh側データである場合に、より確実にデータを取得するために、Vth_highに閾値電圧が設定されたと仮定したメモリセル201の現在の閾値電圧についても、推定してもよい。Vth_lowに閾値電圧が設定されたと仮定したメモリセル201の推定値と、Vth_highに閾値電圧が設定されたと仮定したメモリセル201の推定値から、図10Cに示す状態であることが特定できるためである。また、図10Cに示す状態であることが特定できた場合、リードデータとしてHigh側データが正常に取得されるか、又は、リードデータが不定となるならば、メモリセル201にHigh側データが格納されていたことを特定できる。
以上説明した通り、本実施の形態によれば、Vth_lowに閾値電圧が設定されたメモリセル201のリテンション特性とVth_highに閾値電圧が設定されたメモリセル201のリテンション特性とが交差するタイミングより前にリードが行われる限り、リードデータを取得することが可能となる。しかしながら、図12に示すように、Vth_lowに閾値電圧が設定されたメモリセル201のリテンション特性とVth_highに閾値電圧が設定されたメモリセル201のリテンション特性とが交差するまで時間が経過した場合や、タイマセル202の閾値電圧がリード限界の電圧範囲に到達するまで時間が経過した場合には、リードデータは保証されない。
次に、実施の形態2にかかる記憶装置2の動作例について説明する。図13A及び図13Bは、実施の形態2にかかる記憶装置2の動作の一例を示すフローチャートである。まず、記憶装置2における書き換え時の動作例を説明する。
ステップ200(S200)において、記憶装置2は、他の装置等からの書き換え指示を受信する。次に、ステップ201(S201)において、制御部21は、メモリセル201の書き換え処理を実施する。次に、ステップ202(S202)において、制御部21は、書き換えた対象のメモリブロック200に対応するタイマセル202に対し、リセット処理を行う。以上が書き換え時の動作となる。
次に、リード時の動作例について説明する。
ステップ250(S250)において、記憶装置2は、他の装置等からのリード指示を受信する。次に、ステップ251(S251)において、制御部21が、リード対象のメモリブロック200のタイマセル202の現在の閾値電圧を取得する。
次に、ステップ252(S252)において、制御部21は、ステップ251で取得したタイマセル202の現在の閾値電圧から、リード対象のメモリセル201の現在の閾値電圧の電圧値を推定する。具体的には、制御部21は、リード対象のメモリセル201はVth_lowに閾値電圧が設定されたものであると仮定して、メモリセル201の現在の閾値電圧の推定値を取得する。
次に、ステップ253(S253)において、制御部21は、ステップ252で推定された閾値電圧がリフレッシュ基準値に到達しているか否かを判定する。閾値電圧がリフレッシュ基準値に到達していないと判定された場合、処理はステップ254へ移行し、閾値電圧がリフレッシュ基準値に到達していると判定された場合、処理はステップ255へ移行する。ステップ254(S254)では、メモリセル201の閾値電圧の状態は正常なレベルであるため、制御部21は、リード処理を行う。
これに対し、ステップ255(S255)では、制御部21は、ステップ252で推定された閾値電圧がリード限界基準値に到達しているか否かを判定する。閾値電圧がリード限界基準値に到達していないと判定された場合、処理は、ステップ256へ移行する。閾値電圧がリード限界基準値に到達していると判定された場合、閾値電圧変更処理を行ったうえでリードデータを取得するため、処理はステップ258へ移行する。
ステップ256(S256)において、制御部21は、リード処理に加えリフレッシュ処理を行う。すなわち、制御部21は、リード処理を行うとともに、リードデータによる上書き処理をメモリセル201に対して行う。その後、処理はステップ257へ移行する。ステップ257(S257)において、制御部21は、タイマセル202の閾値電圧についてリセット処理を行う。
閾値電圧がリード限界基準値に到達していると判定された場合、ステップ258(S258)において、制御部21は、リード限界の電圧範囲の境界値と、ステップ252で推定された閾値電圧との差分を算出する。次に、ステップ259(S259)において、制御部21は、ステップ258で計算された差分に応じた電圧値だけ、メモリセル201の閾値電圧を変化させる。
次に、ステップ260(S260)において、制御部21は、メモリセル201にリード処理のための所定電圧を印加した際のセル電流の判定結果を、電流比較回路23から取得する。そして、ステップ261(S262)において、制御部21は、セル電流の判定結果がLow側データを示すか否かを判定する。セル電流の判定結果がLow側データを示す場合、処理はステップ262へ移行する。セル電流の判定結果がLow側データを示さない場合、すなわち、判定結果がHigh側データを示す場合、又は判定結果が不定である場合、処理はステップ263へ移行する。
ステップ262(S262)において、制御部21は、リードデータとして、Low側データを取得する。また、制御部21は、リードデータによる上書き処理をメモリセル201に対して行う。その後、処理は、ステップ264へ移行する。ステップ263(S263)では、制御部21は、リードデータとして、High側データを取得する。また、制御部21は、リードデータによる上書き処理をメモリセル201に対して行う。
このように、制御部21は、閾値電圧を変化させた後に取得されたリードデータと同じデータを、メモリセル201に再度書き込む。このため、閾値電圧が回復し、リテンション期間を長くすることが可能となる。
その後、処理は、ステップ264へ移行する。ステップ264(S264)において、制御部21は、ステップ251において閾値電圧を取得したタイマセル202の閾値電圧についてリセット処理を行う。以上が、リード時の動作例の説明となる。
以上、実施の形態2にかかる記憶装置2について説明した。本実施の形態によれば、メモリセル201の閾値電圧が、リード限界の電圧範囲に突入していると推測された場合には、閾値電圧変更処理を行い、リードデータを取得する。このため、メモリセル201の閾値電圧がリード限界の電圧範囲に突入していると推測される場合であっても、リードデータを取得することができる。なお、本実施の形態では、タイマセル202は、書き換え単位であるメモリセル群ごとに設けられているが、タイマセル202は記憶装置2に対し1つであってもよい。また、タイマセル202は、所定数のメモリブロック毎に設けられていてもよい。
<実施の形態2の変形例>
次に、実施の形態2の変形例について説明する。上記の実施の形態2では、タイマセル202を用いて、メモリセル201の閾値電圧の現在の値を推定したが、本実施の形態では、タイマを用いて、メモリセル201の閾値電圧の現在の値を推定する。
図14は、実施の形態2の変形例にかかる記憶装置3の構成の一例を示すブロック図である。図14に示されるように、実施の形態2にかかる記憶装置2と異なり、各メモリブロック200は、タイマセル202を有していない。その代わりに、タイマ30を有している。タイマ30は、時間を測定する電子回路である。タイマ30はRTCであってもよい。また、実施の形態2にかかる記憶装置2では、データベース22は、タイマセル202のリテンション特性と、メモリセル201のリテンション特性との対応関係を記憶していたが、本変形例にかかる記憶装置3のデータベース22は、これに代えて、メモリセル201のリテンション特性を記憶している。データベース22は、メモリセル201のリテンション特性を記憶するために、例えば、図15に示すようなテーブルを記憶している。
本変形例では、制御部21は、書き込みが行われた時にタイマ30から取得された時刻とリードが行われる時にタイマ30から取得される時刻とから、経過時間を算出する。そして、制御部21は、算出された経過時間及びデータベース22に記憶されたメモリセル201のリテンション特性から、メモリセル201の現在の閾値電圧の推定値を取得する。記憶装置3が、メモリセル201の現在の閾値電圧の推定値を推定した後の動作は、実施の形態2と同様であるため、説明を割愛する。
本変形例では、タイマ回路が必要となるものの、実施の形態2と同様、メモリセル201の閾値電圧がリード限界の電圧範囲に突入していると推測される場合であっても、リードデータを取得することができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。例えば、上記実施の形態では、推定に用いる、タイマセルのリテンション特性及びメモリセルのリテンション特性のそれぞれに、マージンを持たせているが、マージンはいずれか一方の特性のみに持たせてもよいし、いずれにも持たせなくてもよい。ただし、リードデータを誤って取得する可能性を抑制するためには、両方のリテンション特性に対しマージンを持たせた上で、推定が行われた方が好ましい。
また、上記実施の形態2及びその変形例では、制御部21は、読み出し対象のメモリセル201が、Low側データが格納されたメモリセルであると仮定して、Vth_lowに閾値電圧が設定されたメモリセル201の現在の閾値電圧の値を推定した。しかしながら、制御部21は、High側データが格納されたメモリセルであると仮定して、Vth_highに閾値電圧が設定されたメモリセル201の現在の閾値電圧の値を推定してもよい。この場合、推定された閾値電圧がリード限界に突入していると判定されると、制御部21は、リード限界の電圧範囲の上限電圧値と、推定された閾値電圧との差分を算出する。そして、制御部21は、算出した差分に応じた電圧値だけメモリセル201の閾値電圧を増加させる。制御部21は、その後、リード処理を行う。その際、制御部21は、セル電流の判定結果がHigh側データを示す場合、High側データをリードデータとして取得し、セル電流の判定結果がHigh側データを示さない場合、すなわち、判定結果がLow側データを示す場合、又は判定結果が不定である場合、Low側データをリードデータとして取得する。
また、上述の説明では、各実施の形態をハードウェアの構成として説明したが、各実施の形態は、これに限定されるものではない。各実施の形態は、任意の処理を、CPU(Central Processing Unit)等のプロセッサにコンピュータプログラムを実行させることにより実現することも可能である。
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
また、上記実施の形態及び変形例は、以下の付記のようにも記載され得る。
(付記1)
タイマ回路と、
フラッシュメモリセルのリテンション特性を記憶する記憶部と、
前記タイマ回路により計測された経過時間と、前記記憶部に記憶された前記リテンション特性とを用いて、前記フラッシュメモリセルの現在の閾値電圧を推定し、現在の前記閾値電圧が、前記フラッシュメモリセルのリードデータが不定となる所定の電圧範囲に到達しているか否かを判定する推定部と
を有する記憶装置。
(付記2)
前記制御部 は、前記閾値電圧が前記電圧範囲に到達していると判定された場合、推定された前記閾値電圧と前記電圧範囲の境界値との差分に応じた電圧値だけ前記閾値電圧を変化させた後、前記フラッシュメモリセルのリードデータを取得する制御部
をさらに有する付記1に記載の記憶装置。
(付記3)
前記制御部は、前記閾値電圧を変化させた後に取得されたリードデータと同じデータを、前記フラッシュメモリセルに再度書き込む
付記2に記載の記憶装置。
1、2、3 記憶装置
10、20 フラッシュメモリセル
11 メモリコントローラ
12 レベル判定回路
21 制御部
22 データベース
23 電流比較回路
30 タイマ
101、201 メモリセル
102、202 タイマセル
200 メモリブロック

Claims (11)

  1. 複数のフラッシュメモリセルと、
    前記複数のフラッシュメモリセルのうちデータを記憶するセルとして用いられるメモリセルに対しデータを書き込むとともに、前記複数のフラッシュメモリセルのうち前記メモリセルの閾値電圧の判定に用いる判定用セルの閾値電圧のリセットを行う制御部と、
    前記判定用セルの現在の閾値電圧である第1の閾値電圧に基づいて、前記メモリセルの現在の閾値電圧である第2の閾値電圧の状態を推定する推定部と
    を有する記憶装置。
  2. 前記リセットでは、前記メモリセルのリードデータが不定となる所定の電圧範囲の上限電圧値よりも高い所定の初期値に、前記第1の閾値電圧が設定され、
    前記推定部は、前記第1の閾値電圧が、第1の所定値よりも低い場合、前記第2の閾値電圧の状態はリフレッシュが必要な状態であると推定し、
    前記制御部は、前記推定部により、リフレッシュが必要な状態であると推定された場合に、前記メモリセルのリードデータと同じデータを、前記メモリセルに再度書き込む
    請求項1に記載の記憶装置。
  3. 前記推定部は、前記第1の閾値電圧が、前記第1の所定値よりも低い値である第2の所定値よりも低い場合、前記第2の閾値電圧の状態は、前記メモリセルのリードデータが不定となる状態であると推定し、
    前記制御部は、前記推定部により、リフレッシュが必要な状態であると推定され、かつ、前記メモリセルのリードデータが不定となる状態ではないと推定された場合に、前記メモリセルのリードデータと同じデータを、前記メモリセルに再度書き込む
    請求項2に記載の記憶装置。
  4. 前記リセットでは、前記メモリセルのリードデータが不定となる所定の電圧範囲の下限電圧値よりも低い所定の初期値に、前記第1の閾値電圧が設定され、
    前記推定部は、前記第1の閾値電圧が、第1の所定値よりも高い場合、前記第2の閾値電圧の状態はリフレッシュが必要な状態であると推定し、
    前記制御部は、前記推定部により、リフレッシュが必要な状態であると推定された場合に、前記メモリセルのリードデータと同じデータを、前記メモリセルに再度書き込む
    請求項1に記載の記憶装置。
  5. 前記推定部は、前記第1の閾値電圧が、前記第1の所定値よりも高い値である第2の所定値よりも高い場合、前記第2の閾値電圧の状態は、前記メモリセルのリードデータが不定となる状態であると推定し、
    前記制御部は、前記推定部により、リフレッシュが必要な状態であると推定され、かつ、前記メモリセルのリードデータが不定となる状態ではないと推定された場合に、前記メモリセルのリードデータと同じデータを、前記メモリセルに再度書き込む
    請求項4に記載の記憶装置。
  6. 前記判定用セルのリテンション特性である第1のリテンション特性と、前記メモリセルのリテンション特性である第2のリテンション特性との対応関係を記憶する記憶部と、
    前記推定部は、前記記憶部に記憶された対応関係を用いて、前記第1の閾値電圧から前記第2の閾値電圧を推定し、前記第2の閾値電圧が、前記メモリセルのリードデータが不定となる所定の電圧範囲に到達しているか否かを判定する
    請求項1に記載の記憶装置。
  7. 前記記憶部に記憶された前記対応関係における前記第1のリテンション特性が示す前記第1の閾値電圧の経時変化の度合いは、前記第1の閾値電圧の実際の経時変化の度合いよりも小さく、かつ、前記記憶部に記憶された前記対応関係における前記第2のリテンション特性が示す前記第2の閾値電圧の経時変化の度合いは、前記第2の閾値電圧の実際の経時変化の度合いよりも大きい
    請求項6に記載の記憶装置。
  8. 前記制御部は、前記第2の閾値電圧が前記電圧範囲に到達していると推定された場合、推定された前記第2の閾値電圧と前記電圧範囲の境界値との差分に応じた電圧値だけ前記第2の閾値電圧を変化させた後、前記メモリセルのリードデータを取得する
    請求項6に記載の記憶装置。
  9. 前記制御部は、前記第2の閾値電圧を変化させた後に取得されたリードデータと同じデータを、前記メモリセルに再度書き込む
    請求項8に記載の記憶装置。
  10. 前記判定用セルは、書き換え単位であるメモリセル群ごとに設けられている
    請求項1に記載の記憶装置。
  11. 複数のフラッシュメモリセルのうちデータを記憶するセルとして用いられるメモリセルに対しデータを書き込むとともに、前記複数のフラッシュメモリセルのうち前記メモリセルの閾値電圧の判定に用いる判定用セルの閾値電圧のリセットを行い、
    前記判定用セルの現在の閾値電圧である第1の閾値電圧に基づいて、前記メモリセルの現在の閾値電圧である第2の閾値電圧の状態を推定する、
    記憶装置の管理方法。
JP2016178194A 2016-09-13 2016-09-13 記憶装置及び記憶装置の管理方法 Pending JP2018045742A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016178194A JP2018045742A (ja) 2016-09-13 2016-09-13 記憶装置及び記憶装置の管理方法
CN201710649157.0A CN107818810B (zh) 2016-09-13 2017-08-02 存储装置和用于管理存储装置的方法
US15/701,025 US10109354B2 (en) 2016-09-13 2017-09-11 Storage device and method for managing storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016178194A JP2018045742A (ja) 2016-09-13 2016-09-13 記憶装置及び記憶装置の管理方法

Publications (1)

Publication Number Publication Date
JP2018045742A true JP2018045742A (ja) 2018-03-22

Family

ID=61560290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016178194A Pending JP2018045742A (ja) 2016-09-13 2016-09-13 記憶装置及び記憶装置の管理方法

Country Status (3)

Country Link
US (1) US10109354B2 (ja)
JP (1) JP2018045742A (ja)
CN (1) CN107818810B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022020089A (ja) * 2020-07-03 2022-02-01 レノボ・シンガポール・プライベート・リミテッド メモリドライブ装置、情報処理装置、及び制御方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11264110B2 (en) 2020-02-13 2022-03-01 Sandisk Technologies Llc Refresh operations for memory cells based on susceptibility to read errors
US11043280B1 (en) * 2020-02-13 2021-06-22 Sandisk Technologies Llc Refresh operations for dedicated groups of blocks of memory cells
CN111261213B (zh) * 2020-04-30 2020-09-01 深圳市芯天下技术有限公司 一种NOR Flash的擦除方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000011670A (ja) 1998-06-25 2000-01-14 Canon Inc 不揮発性メモリを有する機器
JP2004103089A (ja) * 2002-09-06 2004-04-02 Sharp Corp 不揮発性半導体記憶装置およびその再書き込み方法
JP5659480B2 (ja) * 2009-10-26 2015-01-28 ソニー株式会社 記憶装置の製造方法
JP5839048B2 (ja) * 2012-01-12 2016-01-06 ソニー株式会社 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
US9256526B2 (en) * 2012-02-23 2016-02-09 National Taiwan University Flash memory storage system and access method
US9747977B2 (en) * 2013-03-14 2017-08-29 Intel Corporation Methods and systems for verifying cell programming in phase change memory
KR102222463B1 (ko) * 2014-03-14 2021-03-03 삼성전자주식회사 저장 장치 및 그것의 타이머 설정 방법 및 구동 방법들
US9275730B2 (en) * 2014-04-11 2016-03-01 Micron Technology, Inc. Apparatuses and methods of reading memory cells based on response to a test pulse
US9607691B1 (en) * 2016-02-17 2017-03-28 Micron Technology, Inc. Memory cell architecture for multilevel cell programming

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022020089A (ja) * 2020-07-03 2022-02-01 レノボ・シンガポール・プライベート・リミテッド メモリドライブ装置、情報処理装置、及び制御方法

Also Published As

Publication number Publication date
CN107818810B (zh) 2023-10-31
US20180075911A1 (en) 2018-03-15
US10109354B2 (en) 2018-10-23
CN107818810A (zh) 2018-03-20

Similar Documents

Publication Publication Date Title
CN107818810B (zh) 存储装置和用于管理存储装置的方法
CN101211659B (zh) 非易失性存储器件及其自补偿方法
TWI534820B (zh) 用於快閃記憶體之統計追蹤系統、電路及方法
TWI232455B (en) Semiconductor memory device and method for correcting a reference cell
KR101905266B1 (ko) 데이터 보유 충전 손실 센서
US20150178001A1 (en) Data Storage Device and Data Maintenance Method Thereof
JP2007323716A (ja) 半導体集積回路
US7990767B2 (en) Flash memory system having cross-coupling compensation during read operation
CN107204204B (zh) 固态储存装置的断电期间估计方法
US20140029335A1 (en) Methods and systems for adjusting nvm cell bias conditions based upon operating temperature to reduce performance degradation
TWI721873B (zh) 在預定程式狀態中使用最終烘烤來改善類比非揮發性記憶體中之讀取電流穩定性的方法
CN103778970A (zh) 闪存存储器工作性能仿真方法和装置
US7343263B2 (en) Electronic timer and system LSI
JP2007102923A (ja) 不揮発性半導体記憶装置およびそのデータ消去方法
KR20110121219A (ko) 반도체 메모리 장치 및 그 구동 방법
KR101556611B1 (ko) 플래시 메모리 블럭들의 적응적 프로그래밍 혹은 소거
JP2007250133A (ja) 不揮発性半導体記憶装置のテスト方法
US20110282639A1 (en) Modeling of Non-Quasi-Static Effects During Hot Carrier Injection Programming of Non-Volatile Memory Cells
TWI229869B (en) A method for determining the necessity for refreshing memory cells of an electrically erasable programmable read only memory
TWI692691B (zh) 記憶體控制裝置與記憶體控制方法
US20190304544A1 (en) Semiconductor memory device
JP6379733B2 (ja) 不揮発性半導体記憶装置及びその制御方法
TWI834164B (zh) 藉由對記憶體單元進行分組及篩選來減少非揮發性記憶體中的隨機電報雜訊的方法
JP2013125575A (ja) 不揮発性半導体記憶装置、および不揮発性半導体記憶装置における動作条件制御方法
JP4484577B2 (ja) 半導体記憶装置及びその制御方法