JP2009205578A - 半導体記憶装置 - Google Patents

半導体記憶装置 Download PDF

Info

Publication number
JP2009205578A
JP2009205578A JP2008049193A JP2008049193A JP2009205578A JP 2009205578 A JP2009205578 A JP 2009205578A JP 2008049193 A JP2008049193 A JP 2008049193A JP 2008049193 A JP2008049193 A JP 2008049193A JP 2009205578 A JP2009205578 A JP 2009205578A
Authority
JP
Japan
Prior art keywords
block
data
errors
monitoring
memory device
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.)
Granted
Application number
JP2008049193A
Other languages
English (en)
Other versions
JP4489127B2 (ja
JP2009205578A5 (ja
Inventor
Toshikatsu Hida
敏克 檜田
Shinichi Sugano
伸一 菅野
Hirokuni Yano
浩邦 矢野
Kazuya Kitsunai
和也 橘内
Shigehiro Asano
滋博 浅野
Junji Yano
純二 矢野
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008049193A priority Critical patent/JP4489127B2/ja
Priority to CN2008800063643A priority patent/CN101622607B/zh
Priority to EP08872498A priority patent/EP2245542B1/en
Priority to KR1020097017907A priority patent/KR101012445B1/ko
Priority to PCT/JP2008/067597 priority patent/WO2009107268A1/en
Priority to US12/529,282 priority patent/US8060797B2/en
Priority to TW097144965A priority patent/TWI397916B/zh
Publication of JP2009205578A publication Critical patent/JP2009205578A/ja
Publication of JP2009205578A5 publication Critical patent/JP2009205578A5/ja
Application granted granted Critical
Publication of JP4489127B2 publication Critical patent/JP4489127B2/ja
Priority to US13/270,788 priority patent/US8219861B2/en
Priority to US13/486,718 priority patent/US8583972B2/en
Priority to US14/049,742 priority patent/US8793555B2/en
Priority to US14/309,611 priority patent/US9037947B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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 sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)

Abstract

【課題】効率の良いリフレッシュ処理を行うことが可能な半導体記憶装置を提供する。
【解決手段】データ消去の単位であるブロックにデータを記憶することが可能な不揮発性メモリを備えた半導体記憶装置であって、前記ブロックのうちから選択された監視対象ブロックに記憶されたデータの誤り数を監視し、前記データの誤り数が所定の閾値以上である監視対象ブロックに対してリフレッシュを行うことにより効率の良いリフレッシュ処理を行うことが可能な半導体記憶装置。
【選択図】 図1

Description

本発明は、半導体記憶装置に関するものであり、例えばNAND型フラッシュメモリを備えた半導体記憶装置に関するものである。
NAND型フラッシュメモリは電源供給を停止しても情報が保持可能である不揮発性メモリであり、他の不揮発性メモリよりもビット単価で優れているため大きく普及している。しかし、NAND型フラッシュメモリでは、大容量化および高集積化に伴って、書き込んだデータの経年変化や読み出し処理に伴うデータ破損であるリードディスターブの影響が顕著化しており、保存したデータが劣化して記憶したデータを正しく再生できなくなる可能性が高まる、という問題が存在する。
経年変化は、時間経過と共に、電荷を蓄積したフローティングゲートから次第に電荷が抜けることでデータに誤りが生じる現象である。また、リードディスターブは、データを読み出したメモリセルに隣接したメモリセルのフローティングゲートに微量な電荷が蓄えられることによって、記憶したデータに誤りが生じる現象である。
経年変化とリードディスターブの問題は、発生したデータの誤りを訂正する誤り訂正符号(Error Correcting Code)を用いることで正しいデータを復元することが可能である。しかし、NAND型フラッシュメモリ上のデータは誤ったままであるため、経年変化とリードディスターブがさらに進むことで、誤り訂正符号の訂正能力以上の誤りが発生した場合には、正しいデータを復元することができない。
そこで、記憶してあるデータを読み出して誤り訂正を行った後に再びNAND型フラッシュメモリへ書き直すリフレッシュ処理を行うことで、NAND型フラッシュメモリ上へ記憶したデータが完全に破壊されることを防ぎ、データ保持期間を増加させることができる。
このようなリフレッシュ処理を行うことでNAND型フラッシュメモリ上へ記憶したデータのデータ保持期間を増加させる方法としては、例えば、NAND型フラッシュメモリからの読み出し回数などを計測して規定の読み出し量に達した場合にリフレッシュ処理を実行する方法や、誤り数が増加した時にリフレッシュ処理を行う方法などが考えられる(たとえば、特許文献1参照)。
しかしながら、NAND型フラッシュメモリでは、書き換え回数が少ないメモリセルではデータの誤りが発生しにくく、一定の決まった時間経過に伴って一律にデータの誤りが増加するわけではない。同様にNAND型フラッシュメモリでは、規定回数の読み出しを行うとデータの誤りが必ず増加するわけではない。したがって、実際のデータ破損状況を反映せずに読み出し回数などを利用して一律にリフレッシュ処理を行うことにより、データ破損の確率は減少するものの、不必要にリフレッシュ処理を行うことになる。
そして、NAND型フラッシュメモリは書き換え回数に制限のあるデバイスであるため、不必要なリフレッシュ処理を行うことで、NAND型フラッシュメモリの寿命を縮めるという問題がある。
一方で、データの破損状況を監視してリフレッシュ処理を行おうとすると、監視のためのメモリセル読み出し自体が誤り訂正処理を必要とするなど、計算量や電力消費が大きくなる、という問題がある。
特開2004−326867号公報
本発明は、効率の良いリフレッシュ処理を行うことが可能な半導体記憶装置を提供する。
本願発明の一態様によれば、データ消去の単位であるブロックにデータを記憶することが可能な不揮発性メモリを備えた半導体記憶装置であって、前記ブロックのうちから選択された監視対象ブロックに記憶されたデータの誤り数を監視し、前記データの誤り数が所定の閾値以上である監視対象ブロックに対してリフレッシュを行うこと、を特徴とする半導体記憶装置が提供される。
本発明によれば、効率の良いリフレッシュ処理を行うことが可能な半導体記憶装置を提供できる。
以下に添付図面を参照して、この発明にかかる半導体記憶装置の実施の形態を詳細に説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
(第1の実施の形態)
図1は、本発明の第1の実施の形態にかかる半導体記憶装置1の概略構成を示す図である。なお、図1に示す半導体記憶装置1は、本発明の一実施形態であり、この構成に限定されるものではない。
第1の実施の形態にかかる半導体記憶装置1は、制御部3とNAND型フラッシュメモリ10とから構成される。制御部3は、プログラムの実行を行う中央演算処理装置(CPU)4と、データやプログラムなどを記憶するRAM5、半導体記憶装置1に接続されるホスト機器2との通信を行うホストインターフェース(I/F)6、タイマー7、NAND型フラッシュメモリ10とのデータ転送を制御するNAND インターフェース(I/F)8と、これらの各構成部を通信可能に接続するバス9と、を備える。また、NAND型フラッシュメモリ10は、データ消去の単位であるブロックを複数配列して構成されている。
半導体記憶装置1は、ホストI/F6を介してホスト機器2と通信し、ホスト機器2の要求に応じて該ホスト機器2と半導体記憶装置1間のデータ転送を行う。ホスト機器2からの要求の解釈や半導体記憶装置1自体の制御は、制御部3の内部のRAM5に記憶したプログラムをCPU4が解釈することで実現する。また、ホスト機器2から供給されるデータは、NAND型フラッシュメモリ10上へ記憶し、制御部3はホスト機器2とNAND型フラッシュメモリ10間のデータ転送を仲介する。
半導体記憶装置1内部の制御部3は、ホストI/F6を介してホスト機器2と通信を行い、制御部3内部のRAM5とホスト機器2間のデータ転送を行う。ホスト機器2から転送されたデータは、制御部3内部のRAM5へ一時的に蓄え、規定のタイミングでNAND I/F8を解してNAND型フラッシュメモリ10へ書き込みを行う。また、ホスト機器2からの読み出し要求に際しては、制御部3ではCPU4の指示に従ってNAND型フラッシュメモリ10からデータを読み出し、制御部3内部のRAM5へ記憶する。そして、制御部3は、RAM5上に記憶したデータをホストI/F6を通じてホスト機器2へ転送する。
NAND型フラッシュメモリ10へのデータの書き込みと読み出しの際に使用するNAND I/F8は、その内部に誤り訂正回路として誤り訂正部21と誤り数検出部22とを有する。誤り訂正部は、NAND型フラッシュメモリ10内の任意のブロックから読み出したデータの誤りを訂正する機能を有する。誤り数検出部22は、誤り訂正部21で訂正した誤り数を検出する機能を有する。誤り訂正部21が付加する誤り訂正符号の訂正能力は2ビット以上とし、ここでは8ビットの誤り訂正能力があることとして説明を行うが、本発明はこの誤り訂正能力に限定されるものではない。
RAM5上のデータをNAND型フラッシュメモリ10へ書き込む際には、誤り訂正部21が、書き込むデータの誤り訂正符号を計算し、データと共にNAND型フラッシュメモリ10上へ書き込みを行う。また、NAND型フラッシュメモリ10からのデータの読み出しに際しては、NAND型フラッシュメモリ10から読み出したデータと、該データと共にNAND型フラッシュメモリ10へ記憶している誤り訂正符号を利用して、誤り訂正部21が読み出したデータの誤りを訂正する。そして、誤り訂正を行った際には、誤り数検出部22が、訂正した誤りの数を検出して自誤り数検出部22へ記憶する。なお、ここでは、訂正した誤りの数を誤り数検出部22へ記憶することとしているが、記憶する場所はこれに限定されるものではない。
また、誤り訂正部21において誤り訂正を行った場合には、NAND I/F8がCPU4へ割り込みを行うことにより、NAND型フラッシュメモリ10に記憶されているデータに誤りが発生した旨を通知する。そしてCPU4は、NAND I/F8の誤り数検出部22へアクセスし、発生した誤り数を取得する。
タイマー7は、任意の時間を設定すると内部で時間を計測し、設定された時間が経過した後にCPU4へ割り込みを発生する。CPU4は、タイマー7からの割り込みにより、設定した時間が経過したことを知ることができる。
NAND型フラッシュメモリ10には、ホスト機器2から供給されるデータと、該データから誤り訂正部21が算出した誤り訂正符号と、を合わせて記憶する。
RAM5上には、近い将来にリフレッシュ処理が必要なブロックの情報を記憶するテーブルである第1のテーブル31(請求項の第1のテーブルに対応)が構成されている。図2は、第1のテーブル31の構成を説明するための図である。第1のテーブル31は、複数のエントリから構成され、各エントリにはNAND型フラッシュメモリ10上のブロックの番号を登録する。第1のテーブル31へのアクセスはエントリの番号で行い、各エントリに格納されているブロックが、記憶したデータの誤り数を監視する監視対象となるブロック(以下、監視対象ブロックと呼ぶ)になる。
また、RAM5上には、第2のテーブル32(請求項の第2のテーブルに対応)、第3のテーブル33(請求項の第3のテーブルに対応)、第4のテーブル34(請求項の第4のテーブルに対応)、第5のテーブル35(請求項の第5のテーブルに対応)、第6のテーブル36(請求項の第6のテーブルに対応)および第7のテーブル37(請求項の第7のテーブルに対応)が構成されている。第2のテーブル32〜第7のテーブル37については後述する。
本実施の形態では、ホスト機器2からの要求に従ってNAND型フラッシュメモリ10から読み出したデータに誤りが生じた場合、図3に示す流れに沿って、データに誤りが発生したブロックの誤り数を監視するかどうかを決定する。図3は、第1の実施の形態における監視対象ブロックの選択処理を説明するためのフローチャートである。
まず、CPU4が、NAND型フラッシュメモリ10上のブロックからデータを読み出すと、誤り訂正部21が読み出したデータの誤りを訂正し、訂正した誤りの数を誤り数検出部22が検出して自誤り数検出部22へ記憶する。CPU4は、誤り数検出部22へアクセスし、読み出したデータに発生した誤り数を取得し、確認する(ステップS101)。そして、CPU4は、誤り数が第1の閾値以上であるか否かを確認する(ステップS102)。第1の閾値は、監視対象とするブロックを選択するための誤り数の閾値であり、ここでは、例えば2ビットの誤り数を第1の閾値(請求項の第1の閾値に対応)とする。
NAND型フラッシュメモリ10上のブロックから読み出したデータに発生している誤り数が第1の閾値以上(2ビット以上)である場合は(ステップS102肯定)、経年変化やリードディスターブの影響でさらにデータの誤り数が増加して誤り訂正符号の訂正能力以上の誤りが発生する可能性がある。このため、CPU4は、誤りが発生したブロック(NAND型フラッシュメモリ10から読み出したデータが記憶されているブロック)を、監視対象ブロックとして選択し、第1のテーブル31へ登録する(ステップS103)。
また、NAND型フラッシュメモリ10から読み出したデータに発生している誤り数が第1の閾値未満(2ビット未満)である場合は(ステップS102否定)、第1のテーブル31への登録を行わずに処理を終了する。
第1のテーブル31へ登録したブロックは、記憶しているデータの誤り数が多い状態にあり、経年変化やリードディスターブの影響で誤り数がさらに増加する可能性が高い。このため、CPU4は、第1のテーブル31へ登録したブロックのデータを定期的にNAND型フラッシュメモリ10から読み出して誤り数を確認し、データの誤り数の増加具合を監視する。そして、CPU4は、記憶しているデータに発生した誤り数が規定の数を超えたブロックに対してリフレッシュ処理を実行する。
なお、ホスト機器2から要求されたデータについてのみ、NAND型フラッシュメモリ10からのデータの読み出し処理のたびに誤り数を検査する場合には、NAND型フラッシュメモリ10に記憶されていながら読み出しがほとんどないブロックに記憶されたデータの経年変化を検出することができない。このため、電源投入時や数ヶ月に一回の間隔など、任意のタイミングでNAND型フラッシュメモリ10の第1のテーブルの全領域のデータを読み出して、誤り数を確認することが好ましい。これにより、読み出しがほとんどないブロックに記憶されたデータに対しても誤り数の増加具合を監視することができる。
図4は、監視対象ブロックがすでに第1のテーブル31に登録済みかどうかをチェックする処理を説明するためのフローチャートである。まず、CPU4は第1のテーブル31のN番目(Nは、第1のテーブル31におけるエントリ番号)のエントリに記録された内容を確認し(ステップS111)、N番目のエントリのブロックが監視対象ブロックと同一のブロックであるか否かを判断し、監視対象ブロックと同一のブロックが第1のテーブル31に記録されているかどうかを探す(ステップS112)。
N番目のエントリのブロックが監視対象ブロックと同一のブロックである場合には(ステップS112肯定)、CPU4は処理を終了する。また、N番目のエントリのブロックが監視対象ブロックと同一のブロックでない場合には(ステップS112否定)、CPU4はN番目のエントリが最後のエントリかどうかを確認する(ステップS113)。N番目のエントリが最後のエントリでない場合は(ステップS113否定)、ステップS111に戻ってエントリ番号を1だけインクリメントする。また、N番目のエントリが最後のエントリである場合は(ステップS113肯定)、CPU4は処理を終了する。
ここで、新たに監視対象ブロックに選択したブロックが第1のテーブル31に未登録である場合には、図5のフローチャートに示すように第1のテーブル31に監視対象ブロックを登録する。図5は、第1のテーブル31へ監視対象ブロックを登録するための処理を説明するためのフローチャートである。
まず、CPU4は、第1のテーブル31のN番目(Nは、第1のテーブル31におけるエントリ番号)のエントリを確認し(ステップS121)、空きエントリであるか否かを判断する(ステップS122)。空きエントリである場合は(ステップS122肯定)、CPU4は監視対象ブロックを該空きエントリに登録して(ステップS126)、処理を終了する。
また、N番目のエントリが空きエントリでない場合は(ステップS122否定)、CPU4は、N番目のエントリが最後のエントリかどうかを確認する(ステップS123)。N番目のエントリが最後のエントリでない場合は(ステップS123否定)、ステップS121に戻ってエントリ番号を1だけインクリメントする。また、N番目のエントリが最後のエントリである場合は(ステップS123肯定)、CPU4は、第1のテーブル31に登録されているブロックに対して強制的にリフレッシュ処理を実行して、第1のテーブル31に空きエントリを作成する(ステップS124)。リフレッシュ処理したブロックのデータは誤り数が削減されるため、CPU4は、第1のテーブル31上から該ブロックを削除する。そして、CPU4は、その空きエントリへ新たな監視対象ブロックを登録し(ステップS125)、処理を終了する。
つぎに、第1のテーブル31へ登録したブロックに対するデータの誤り数の監視方法について説明する。誤り数の監視はCPU4が制御部3内のタイマー7へ監視間隔の時間を設定し、タイマー7からの割り込みが発生するたびに、図6のフローチャートに示す方法で行う。図6は、第1のテーブル31へ登録したブロックに対する誤り数の監視処理を説明するためのフローチャートである。
まず、CPU4は、第1のテーブル31のN番目(Nは、第1のテーブル31におけるエントリ番号)のエントリを確認し(ステップS131)、該エントリにブロックが登録済みであるか否かを判断する(ステップS132)。ブロックが登録済みでない場合は(ステップS132否定)、該エントリが最後のエントリかどうかを確認する(ステップS136)。最後のエントリでない場合は(ステップS136否定)、ステップS131に戻ってエントリ番号を1だけインクリメントする。最後のエントリである場合は(ステップS136肯定)、CPU4は誤り数の監視処理を終了する。
ステップS132に戻って、ブロックが登録済みである場合は(ステップS132肯定)、CPU4はN番目のエントリに登録してあるブロックのデータをNAND型フラッシュメモリ10から制御部3内のRAM5上へ読み出す。次に、誤り訂正部21が読み出したデータの誤りを訂正し、訂正した誤りの数を誤り数検出部22が検出して自誤り数検出部22へ記憶する。CPU4は誤り数検出部22へアクセスし、読み出したデータに発生した誤り数を取得し、確認する(ステップS133)。そして、CPU4は読み出したデータの誤り数が第2の閾値(請求項の第2の閾値に対応)以上であるか否かを判断する(ステップS134)。第2の閾値は、所定の方法でデータを書き直す(リフレッシュ)ブロックを選択するための誤り数の閾値であり、ここでは、例えば4ビットの誤り数を第2の閾値とする。また、第2の閾値は、誤り訂正符号の訂正能力を考慮して設定する。
誤り数が第2の閾値未満(4ビット未満)である場合は(ステップS134否定)、CPU4は、N番目のエントリが最後のエントリかどうかを確認する(ステップS136)。N番目のエントリが最後のエントリでない場合は(ステップS136否定)、ステップS131に戻ってエントリ番号を1だけインクリメントする。また、N番目のエントリが最後のエントリである場合は(ステップS136肯定)、CPU4は誤り数の監視処理を終了する。
ステップS134に戻って、誤り数が第2の閾値以上(4ビット以上)である場合は(ステップS134肯定)、CPU4はN番目のエントリに登録してあるブロックのリフレッシュを実行する(ステップS135)。そして、CPU4は、N番目のエントリが最後のエントリかどうかを確認する(ステップS136)。N番目のエントリが最後のエントリでない場合は(ステップS136否定)、ステップS131に戻ってエントリ番号を1だけインクリメントする。N番目のエントリが最後のエントリである場合は(ステップS136肯定)、CPU4は誤り数の監視処理を終了する。
また、本実施の形態では、第1のテーブル31へ監視対象ブロックを登録するための誤り数の閾値(第1の閾値)よりも、第1のテーブル31に登録してある監視対象ブロックをリフレッシュするための誤り数の閾値(第2の閾値)が大きくなる。これは、誤り数が少ないブロックは監視の対象とし、誤り数が多いブロックはデータを復元できなくなる可能性があるためリフレッシュを行うためである。
ブロックのリフレッシュ処理を行うには、まずリフレッシュ対象のブロックのデータをNAND型フラッシュメモリ10から制御部3内のRAM5上へ全て読み出し、NAND型フラッシュメモリ10上のブロックの消去を実行する。そして、ブロックの消去が完了した後にRAM5内へ退避した全データを消去したブロックに書き込む。リフレッシュ処理したブロックのデータは誤り数が削減されるため、図7のフローチャートに示す方法で第1のテーブル31上から該ブロックを削除し、監視対象ブロックから除外する。図7は、リフレッシュ処理したブロックの第1のテーブル31上からの削除処理を説明するためのフローチャートである。
まず、CPU4は、第1のテーブル31のN番目(Nは、第1のテーブル31におけるエントリ番号)のエントリを確認し(ステップS141)、登録されているブロックが対象ブロック、すなわちリフレッシュ処理したブロックか否かを判断する(ステップS142)。対象ブロックでない場合は(ステップS142否定)、該エントリが最後のエントリかどうかを確認する(ステップS144)。最後のエントリでない場合は(ステップS144否定)、ステップS141に戻ってエントリ番号を1だけインクリメントする。最後のエントリである場合は(ステップS144肯定)、CPU4は処理を終了する。
ステップS142に戻って、登録されているブロックが対象ブロックである場合は(ステップS142肯定)、CPU4はN番目のエントリに登録されているブロックを第1のテーブル31から削除し(ステップS143)、処理を終了する。なお、もともとデータが書き込まれていたブロックへ対してデータを書き直さずに他の空いているブロックへデータを書き直してもよい。
上述したように、第1の実施の形態にかかる半導体記憶装置1によれば、経年変化やリードディスターブの影響で近い将来にリフレッシュ処理が必要であるデータが記憶されたNAND型フラッシュメモリ10上のブロックを、ブロックに記憶したデータに発生した誤り数に基づいて選び出し、データの誤り数を監視する監視対象ブロックとして第1のテーブル31へ登録する。そして、第1のテーブル31に登録したブロックのデータを定期的に読み出して誤り数を検査し、データに発生した誤り数が規定の数を超えた場合にリフレッシュ処理を実行する。このようにして、ブロックのリフレッシュ処理までの期間を誤り訂正符号の訂正能力の範囲内で延ばすことでリフレッシュ処理の回数を削減し、NAND型フラッシュメモリ10の書き換え回数を抑制することができる。これにより、記憶したデータの経年変化による劣化やリードディスターブによる劣化に起因したデータ破損を少ない回数のリフレッシュ処理により確実に防止するとともに、リフレッシュ処理における処理量や電力消費が抑制された半導体記憶装置を実現することができる。
また、第1の実施の形態にかかる半導体記憶装置1によれば、第1のテーブル31へ監視対象ブロックを登録するための誤り数の閾値(第1の閾値)よりも、第1のテーブル31に登録されている監視対象ブロックをリフレッシュするための誤り数の閾値(第2の閾値)が大きく設定される。これにより、監視対象ブロックのうち誤り数が多いブロックのリフレッシュ処理を行うことで、データを復元できなくなることを防止することができる。
(第2の実施の形態)
第2の実施の形態では、図1の半導体記憶装置1においてNAND型フラッシュメモリ10のブロックに記憶したデータの読み出し量に基づいて監視対象ブロックを選択する場合について説明する。第2の実施の形態が第1の実施の形態と異なる点は、監視対象ブロックを登録する方法であり、それ以外は第1の実施の形態の場合と同じである。
図8は、第2のテーブル32の構成を説明するための図である。第2のテーブル32は、NAND型フラッシュメモリ10上のブロックのデータの読み出し量を記憶する管理テーブルであり、RAM5上に構成されている。第2のテーブル32には、NAND型フラッシュメモリ10上のブロックの番号と、該ブロックから読み出されたデータの読み出し量と、が記憶される。
CPU4は、NAND型フラッシュメモリ10上のブロックからデータを読み出すたびに、データの読み出し量をページ数でカウントし、第2のテーブル32に記憶させ、また更新する。また、第2のテーブル32に記憶された読み出し量は、NAND型フラッシュメモリ10上のブロックにデータが記憶されてからの読み出し量であり、ブロックのデータを消去するたびに値がクリアされる。なお、データの読み出し量には、データ量の積算量や読み出し回数を用いることができる。
本実施の形態では、ホスト機器2の要求に従ったNAND型フラッシュメモリ10からのデータの読み出し処理時に、図9に示す流れに沿って、誤りが発生したブロックを監視するかどうかを決定する。図9は、第2の実施の形態における監視対象ブロックの選択処理を説明するためのフローチャートである。
まず、ホスト機器2の要求に従ったNAND型フラッシュメモリ10のブロックからのデータの読み出し処理時に、CPU4は第2のテーブル32において該ブロックのデータの読み出し量を更新する(ステップS151)。そして、CPU4は、更新したデータの読み出し量が第3の閾値(請求項の第3の閾値に対応)以上であるか否かを確認する(ステップS152)。第3の閾値は、監視対象とするブロックを選択するための、ブロックからのデータ読み出し量の閾値であり、ここでは、例えば10^10ページの読み出し量を第3の閾値とする。
ブロックのデータの読み出し量が第3の閾値以上である場合は(ステップS152肯定)、経年変化やリードディスターブの影響で誤り数が増加して誤り訂正符号の訂正能力以上の誤りが発生する可能性がある。このため、CPU4は、データを読み出したこのブロックを監視対象ブロックとして第1のテーブル31へ登録する(ステップS153)。また、ブロックのデータの読み出し量が第3の閾値未満である場合は(ステップS152否定)、第1のテーブル31への登録を行わずに処理を終了する。なお、第1のテーブル31へ登録したブロックの誤り数の監視は、第1の実施の形態の場合と同様であるため、ここでは詳細な説明は省略する。
上述したように、第2の実施の形態にかかる半導体記憶装置1によれば、経年変化やリードディスターブの影響で近い将来にリフレッシュ処理が必要であるデータが記憶されたNAND型フラッシュメモリ10上のブロックを、ブロックに記憶したデータの読み出し量に基づいて選び出し、データの誤り数を監視する監視対象ブロックとして第1のテーブル31へ登録する。そして、第1のテーブル31に登録したブロックのデータを定期的に読み出して誤り数を検査し、データに発生した誤り数が規定の数を超えた場合にリフレッシュ処理を実行する。このようにして、ブロックのリフレッシュ処理までの期間を誤り訂正符号の訂正能力の範囲内で延ばすことでリフレッシュ処理の回数を削減し、NAND型フラッシュメモリ10の書き換え回数を抑制することができる。これにより、記憶したデータの経年変化による劣化やリードディスターブによる劣化に起因したデータ破損を少ない回数のリフレッシュ処理により確実に防止するとともに、リフレッシュ処理における処理量や電力消費が抑制された半導体記憶装置を実現することができる。
(第3の実施の形態)
第3の実施の形態では、図1の半導体記憶装置1においてNAND型フラッシュメモリ10上のブロックへのデータの書き込み時刻に基づいて監視対象ブロックを選択する場合について説明する。第3の実施の形態が第1の実施の形態と異なる点は、監視対象ブロックを登録する方法であり、それ以外は第1の実施の形態の場合と同じである。
図10は、第3のテーブル33の構成を説明するための図である。第3のテーブル33は、NAND型フラッシュメモリ10上のブロックへのデータの書き込み時刻を記憶する管理テーブルであり、RAM5上に構成されている。第3のテーブル33には、NAND型フラッシュメモリ10上のブロックの番号と、該ブロックへのデータの書き込み時刻と、が記憶される。
CPU4は、NAND型フラッシュメモリ10上のブロックにデータを書き込む際に、書き込み時刻を第3のテーブル33に記憶させる。また、第3のテーブル33に記憶された書き込み時刻は、NAND型フラッシュメモリ10上のブロックのデータを消去するたびに値がクリアされる。なお、第3のテーブル33に記憶する書き込み時刻は、半導体記憶装置1の動作時間の他、NAND型フラッシュメモリ10の総消去回数などを利用して、書き込みを実行した時点と現在との時間的な差分が分かればよい。
本実施の形態では、ホスト機器2の要求に従ったNAND型フラッシュメモリ10のブロックからのデータの読み出し処理時に、図11に示す流れに沿ってブロックへのデータの書き込み時刻からの経過時間を計測し、誤り数を監視するブロックを決定する。図11は、第3の実施の形態における監視対象ブロックの選択処理を説明するためのフローチャートである。
まず、ホスト機器2の要求に従ったNAND型フラッシュメモリ10からのデータの読み出し処理時に、CPU4はデータを読み出す対象のブロックへの最終の書き込み時刻であって第3のテーブル33に記憶された書き込み時刻と現時刻との差、すなわちデータを読み出す対象のブロックへの書き込み時刻からの経過時間を算出する(ステップS161)。そして、CPU4は、ブロックへの書き込み時刻からの経過時間が第4の閾値(請求項の第4の閾値に対応)以上であるか否かを確認する(ステップS162)。第4の閾値は、監視対象とするブロックを選択するための、ブロックへの書き込み時刻からの経過時間の閾値であり、ここでは、例えば一ヶ月を第4の閾値とする。
ブロックへの書き込み時刻からの経過時間が第4の閾値以上である場合は(ステップS162肯定)、経年変化やリードディスターブの影響で誤り数が増加して誤り訂正符号の訂正能力以上の誤りが発生する可能性がある。このため、CPU4は、データを読み出したこのブロックを監視対象ブロックとして第1のテーブル31へ登録する(ステップS163)。また、ブロックへの書き込み時刻からの経過時間が第4の閾値未満である場合は(ステップS162否定)、第1のテーブル31への登録を行わずに処理を終了する。なお、第1のテーブル31へ登録したブロックの誤り数の監視は、第1の実施の形態の場合と同様であるため、ここでは詳細な説明は省略する。
なお、ホスト機器2から要求されたデータについてのみ、NAND型フラッシュメモリ10からのデータの読み出し処理のたびにブロックへの書き込み時刻からの経過時間を検査する場合には、NAND型フラッシュメモリ10に記憶されていながら読み出しがほとんどないブロックに記憶されたデータの経年変化を検出することができない。このため、電源投入時や数ヶ月に一回の間隔など、任意のタイミングでNAND型フラッシュメモリ10の第1のテーブルの全領域のデータを読み出して、ブロックへの書き込み時刻からの経過時間を確認することが好ましい。これにより、読み出しがほとんどないブロックに記憶されたデータに対しても誤り数の増加具合を監視することができる。
上述したように、第3の実施の形態にかかる半導体記憶装置1によれば、経年変化やリードディスターブの影響で近い将来にリフレッシュ処理が必要であるデータが記憶されたNAND型フラッシュメモリ10上のブロックを、ブロックへの最終書き込み時刻からの経過時間に基づいて選び出し、データの誤り数を監視する監視対象ブロックとして第1のテーブル31へ登録する。そして、第1のテーブル31に登録したブロックのデータを定期的に読み出して誤り数を検査し、データに発生した誤り数が規定の数を超えた場合にリフレッシュ処理を実行する。このようにして、ブロックのリフレッシュ処理までの期間を誤り訂正符号の訂正能力の範囲内で延ばすことでリフレッシュ処理の回数を削減し、NAND型フラッシュメモリ10の書き換え回数を抑制することができる。これにより、記憶したデータの経年変化による劣化やリードディスターブによる劣化に起因したデータ破損を少ない回数のリフレッシュ処理により確実に防止するとともに、リフレッシュ処理における処理量や電力消費が抑制された半導体記憶装置を実現することができる。
(第4の実施の形態)
第4の実施の形態では、図1の半導体記憶装置1においてNAND型フラッシュメモリ10上のブロックへのデータの書き込み順序に基づいて監視対象ブロックを選択する場合について説明する。第4の実施の形態が第1の実施の形態と異なる点は、監視対象ブロックを登録する方法であり、それ以外は第1の実施の形態の場合と同じである。
図12は、第4のテーブル34の構成を説明するための図である。第4のテーブル34は、NAND型フラッシュメモリ10上のブロックへのデータの書き込み順序を記憶する管理テーブルであり、RAM5上に構成されている。第4のテーブル34には、NAND型フラッシュメモリ10上のブロックの番号と、NAND型フラッシュメモリ10上への書き込み順序番号と、が記憶される。
CPU4は、ホスト機器2の要求に従ってNAND型フラッシュメモリ10上のブロックにデータを書き込む際に、NAND型フラッシュメモリ10上への書き込み順序番号を第4のテーブル34に記憶、更新させる。なお、第4のテーブル34はリンク構造などで実現し、書き込み処理毎に書き込み順序番号を更新しても処理が多くならないようにすることが好ましい。これにより、CPU4の処理負担の軽減および処理時間の短縮が図れる。
本実施の形態では、ホスト機器2の要求に従ったNAND型フラッシュメモリ10のブロックへのデータの書き込み処理時に、図13に示す流れに沿ってNAND型フラッシュメモリ10へのブロックの書き込み順序番号を記憶、更新し、この書き込み順序番号に基づいて、誤り数を監視するブロックを決定する。図13は、第4の実施の形態における監視対象ブロックの選択処理を説明するためのフローチャートである。
まず、ホスト機器2の要求に従ったNAND型フラッシュメモリ10上のブロックへのデータの書き込み処理時に、CPU4は第4のテーブル34における書き込み順序番号を記憶、更新する(ステップS171)。そして、CPU4は第4のテーブル34のN番目(Nは、第4のテーブル34における書き込み順序番号)の書き込み順序番号に対応するブロックを確認し(ステップS172)、書き込み順序番号が第5の閾値(請求項の第5の閾値に対応)以下、すなわち第5の閾値よりも古いブロックであるか否かを確認する(ステップS173)。第5の閾値は、監視対象とするブロックを選択するための書き込み順序の閾値であり、ここでは、例えば書き込み順序番号が古い(小さい)ブロックから10個を第5の閾値とする。
書き込み順序番号が第5の閾値以下、すなわち第5の閾値よりも古いブロックである場合は(ステップS173肯定)、経年変化やリードディスターブの影響で誤り数が増加して誤り訂正符号の訂正能力以上の誤りが発生する可能性がある。このため、CPU4はブロックが第1のテーブル31に登録済みであるか否かを判断する(ステップS174)。ブロックが第1のテーブル31に登録済みでない場合は(ステップS174否定)、CPU4はこのブロックを監視対象ブロックとして第1のテーブル31へ登録する(ステップS175)。すなわち、CPU4は第5の閾値以上過去に書き込んだブロックを監視対象ブロックとして第1のテーブル31へ登録し、データの誤り数の検査対象とする。
ステップS174に戻って、ブロックが第1のテーブル31に登録済みである場合は(ステップS174肯定)、CPU4はN番目の書き込み順序番号が最後の書き込み順序番号かどうかを確認する(ステップS176)。最後の書き込み順序番号でない場合は(ステップS176否定)、ステップS172に戻って書き込み順序番号を1だけインクリメントする。最後の書き込み順序番号である場合は(ステップS176肯定)、CPU4は処理を終了する。
ステップS173に戻って、書き込み順序番号が第5の閾値以下でない、すなわち第5の閾値よりも新しいブロックである場合は(ステップS173否定)、CPU4はN番目の書き込み順序番号が最後の書き込み順序番号かどうかを確認する(ステップS176)。最後の書き込み順序番号でない場合は(ステップS176否定)、ステップS172に戻って書き込み順序番号を1だけインクリメントする。最後の書き込み順序番号である場合は(ステップS176肯定)、CPU4は処理を終了する。なお、第1のテーブル31へ登録したブロックの誤り数の監視は、第1の実施の形態の場合と同様であるため、ここでは詳細な説明は省略する。
上述したように、第4の実施の形態にかかる半導体記憶装置1によれば、経年変化やリードディスターブの影響で近い将来にリフレッシュ処理が必要であるデータが記憶されたNAND型フラッシュメモリ10上のブロックを、NAND型フラッシュメモリ10上のブロックへのデータの書き込み順序に基づいて選び出し、データの誤り数を監視する監視対象ブロックとして第1のテーブル31へ登録する。そして、第1のテーブル31に登録したブロックのデータを定期的に読み出して誤り数を検査し、データに発生した誤り数が規定の数を超えた場合にリフレッシュ処理を実行する。このようにして、ブロックのリフレッシュ処理までの期間を誤り訂正符号の訂正能力の範囲内で延ばすことでリフレッシュ処理の回数を削減し、NAND型フラッシュメモリ10の書き換え回数を抑制することができる。これにより、記憶したデータの経年変化による劣化やリードディスターブによる劣化に起因したデータ破損を少ない回数のリフレッシュ処理により確実に防止するとともに、リフレッシュ処理における処理量や電力消費が抑制された半導体記憶装置を実現することができる。
(第5の実施の形態)
第5の実施の形態では、第1の実施の形態〜第4の実施の形態の半導体記憶装置1において、第1のテーブル31へ監視対象ブロックを登録する際に空きエントリが無い場合の処理について説明する。
図14は、第5のテーブル35の構成を説明するための図である。第5のテーブル35は、第1のテーブル31へ登録した監視対象ブロックの登録順序を記憶する管理テーブルであり、RAM5上に構成されている。第5のテーブル35には、第1のテーブル31へ登録した監視対象ブロックの番号と、該監視対象ブロックを第1のテーブル31へ登録した順序番号(登録順序番号)と、が記憶される。
第1のテーブル31への監視対象ブロックの登録においては、第1のテーブル31でのエントリ番号が若い順に、登録が早い監視対象ブロックが格納される。本実施の形態では、CPU4は監視対象ブロックを第1のテーブル31へブロックを登録するたびにその監視対象ブロックの番号を第5のテーブル35へ登録する。また、第5のテーブル35では、CPU4が第1のテーブル31に対して監視対象ブロックの登録または削除を行うたびに登録順序番号を更新するため、リンクリストなどで実現することが好ましい。これにより、CPU4の処理負担の軽減および処理時間の短縮が図れる。
以下、第1のテーブル31へ監視対象ブロックを登録する際に空きエントリが無い場合における、第1のテーブル31への監視対象ブロックの登録処理について図15を参照して説明する。図15は、第5の実施の形態における第1のテーブル31への監視対象ブロックの登録処理を説明するためのフローチャートである。
まず、第1のテーブル31への監視対象ブロックの登録処理時に、CPU4は第5のテーブル35に登録されている登録ブロック数が第6の閾値(請求項の第6の閾値に対応)未満であるか否かを確認する(ステップS181)。ここで、第6の閾値は、第1のテーブル31へ登録できる最大のブロック数であり、且つ第5のテーブル35へ登録できる最大のブロック数である。したがって、第5のテーブル35に登録されている登録ブロック数が第6の閾値未満であるということは、第1のテーブル31に空きエントリがあることを意味し、第5のテーブル35に登録されている登録ブロック数が第6の閾値未満でないということは、第1のテーブル31に空きエントリが無いことを意味する。
第5のテーブル35に登録されている登録ブロック数が第6の閾値未満である場合、すなわち第1のテーブル31に空きエントリがある場合は(ステップS181肯定)、CPU4は第1のテーブル31の空きエントリへ監視対象ブロックを登録し(ステップS184)、さらに第5のテーブル35に該ブロックの番号を登録して処理を終了する。
また、第5のテーブル35に登録されている登録ブロック数が第6の閾値未満でない場合(第1のテーブル31に空きエントリが無い場合)は(ステップS181否定)、CPU4は第5のテーブル35を参照し、第5のテーブル35における登録順序番号が先頭のブロックのリフレッシュ処理を実行する(ステップS182)。すなわち、第1のテーブル31および第5のテーブル35へ登録した順番が最も早いブロックのリフレッシュ処理を行う。
そして、CPU4はリフレッシュ処理を実行したブロックを第1のテーブル31と第5のテーブル35から削除する(ステップS183)。その後、第1のテーブル31の空きエントリに対して新しい監視対象ブロックの登録を行う。また、CPU4は第5のテーブル35の登録順序番号を更新し、第1のテーブル31の空きエントリに登録した監視対象ブロックを第5のテーブル35に登録する(ステップS184)。
上述したように、第5の実施の形態にかかる半導体記憶装置1によれば、第1のテーブル31の空きエントリを管理することにより、第1のテーブル31へ新たな監視対象ブロックを登録する際に空きエントリが無い場合においても、該監視対象ブロックの登録処理を可能とし、データの誤り数を監視する監視対象ブロックを管理することができる。
(第6の実施の形態)
第6の実施の形態では、第1の実施の形態〜第5の実施の形態の半導体記憶装置1において、データの誤り数の監視対象外になったブロックを第1のテーブル31から削除する場合の処理について説明する。
図16は、第6のテーブル36の構成を説明するための図である。第6のテーブル36は、保持すべきデータが記憶されていないNAND型フラッシュメモリ10上のブロックを記憶する管理テーブルであり、RAM5上に構成されている。第6のテーブル36は、複数のエントリから構成され、各エントリにはNAND型フラッシュメモリ10上のブロックの番号のうち、保持すべきデータが記憶されていないブロックの番号を登録する。第6のテーブル36へのアクセスはエントリの番号で行う。
CPU4は、保持すべきデータが記憶されていないブロックの番号の情報を第6のテーブル36から取得することで、そのブロックに新たなデータを書き込むことができ、また保持すべきデータが存在しなくなったブロックの番号を第6のテーブル36へ登録する。なお、保持すべきデータが存在しなくなる状況は、主に新しいデータを書き込む場合に発生する。例えば、NAND型フラッシュメモリ10のブロック1にアドレスAのデータXが記録してある場合において、ホスト機器2からアドレスAのデータXをデータYへ書き換える際に別のブロック(例えばブロック100)へアドレスAのデータYを書き込む制御を行う制御方式では、ブロック1に保存してあるアドレスAの過去のデータXは保持すべきデータではなくなる。
以下、データの誤り数の監視対象外になった監視対象ブロックを第1のテーブル31から削除する場合の処理について図17を参照して説明する。図17は、第6の実施の形態において第1のテーブル31から誤り数の監視対象外ブロックを削除する処理を説明するためのフローチャートである。
まず、CPU4は、保持すべきデータが存在しなくなったブロックが発生した際に、第1のテーブル31のN番目(Nは、第1のテーブル31におけるエントリ番号)のエントリを確認し(ステップS191)、登録されているブロックが対象ブロック(保持すべきデータが存在しなくなった監視対象外ブロック)であるか否かを判断する(ステップS192)。対象ブロックでない場合は(ステップS192否定)、該エントリが最後のエントリかどうかを確認する(ステップS193)。
ここで、最後のエントリでない場合は(ステップS193否定)、ステップS191に戻ってエントリ番号を1だけインクリメントする。最後のエントリである場合は(ステップS193肯定)、CPU4は処理を終了する。
ステップS192に戻って、対象ブロックである場合は(ステップS192肯定)、CPU4は該ブロックの第1のテーブル31上からの削除処理を実行し、該ブロックの番号を第6のテーブル36に登録して処理を終了する(ステップS194)。なお、第6のテーブル36へ登録するブロックは、保持すべきデータを記憶していないためリフレッシュ処理を行う必要がない。
上述したように、第6の実施の形態にかかる半導体記憶装置1によれば、データが記憶されているNAND型フラッシュメモリ10上のブロックに新しいデータを書き込む場合等において保持すべきデータが存在しなくなった監視対象外ブロックが発生した際に第1のテーブル31から該監視対象外ブロックを確実に削除して、第1のテーブル31の空きエントリを管理することができる。
(第7の実施の形態)
第7の実施の形態では、第1の実施の形態〜第6の実施の形態の半導体記憶装置1において、第1のテーブル31に登録された監視対象ブロックを監視する方法について説明する。
図18は、第7のテーブル37の構成を説明するための図である。第7のテーブル37は、第1のテーブル31に登録されたNAND型フラッシュメモリ10上のブロックの誤り数を記憶する管理テーブルであり、RAM5上に構成されている。第7のテーブル37は複数のエントリから構成され、各エントリには第1のテーブル31に登録されたブロックの番号と、該ブロックに記憶したデータで検出した誤り数を登録する。第7のテーブル37へのアクセスはエントリの番号で行う。第7のテーブル37に登録される誤り数は、誤り数の監視を実行するたびに値を更新する。
以下、第1のテーブル31へ登録した監視対象ブロックに対するデータの誤り数の監視方法について図19を参照して説明する。図19は、第1のテーブル31へ登録した監視対象ブロックに対する誤り数の監視処理を説明するためのフローチャートである。
第1のテーブル31へ登録した監視対象ブロックに対するデータの誤り数の監視は、CPU4が制御部3内のタイマー7へ監視間隔の時間を設定し、タイマー7からの割り込みが発生するたびに行う。タイマー7は、CPU4が監視間隔の時間を設定すると内部で時間を計測し、設定された時間が経過した後にCPU4へ割り込みを発生する。
タイマー7からの割り込みが発生すると、CPU4は、第7のテーブル37のN番目(Nは、第7のテーブル37におけるエントリ番号)のエントリを確認し(ステップS201)、該エントリにブロックが登録済みであるか否かを判断する(ステップS202)。ブロックが登録済みでない場合は(ステップS202否定)、該エントリが最後のエントリかどうかを確認する(ステップS206)。N番目のエントリが最後のエントリでない場合は(ステップS206否定)、ステップS201に戻ってエントリ番号を1だけインクリメントする。また、N番目のエントリが最後のエントリである場合は(ステップS206肯定)、CPU4は誤り数の監視処理を終了する。
ステップS202に戻って、ブロックが登録済みである場合は(ステップS202肯定)、CPU4は第7のテーブル37に登録してある該ブロックの誤り数(ビット数)を確認し(ステップS203)、該誤り数が第7の閾値(請求項の第7の閾値に対応)以上であるか否かを判断する(ステップS204)。第7の閾値は、監視対象ブロックのうち、誤り数の検出処理を行うブロックを選択するための閾値であり、ここでは、例えば4ビットの誤り数を第7の閾値とする。
誤り数が第7の閾値未満(4ビット未満)である場合は(ステップS204否定)、CPU4は、N番目のエントリが最後のエントリかどうかを確認する(ステップS206)。N番目のエントリが最後のエントリでない場合は(ステップS206否定)、ステップS201に戻ってエントリ番号を1だけインクリメントする。N番目のエントリが最後のエントリである場合は(ステップS206肯定)、CPU4は、誤り数の監視処理を終了する。
ステップS204に戻って、誤り数が第7の閾値以上(4ビット以上)である場合は(ステップS204肯定)、CPU4は、該ブロックのデータをNAND型フラッシュメモリ10から制御部3内のRAM5上へ読み出し、このデータの誤り数の検出処理を実行し(ステップS205)、検出した誤り数で第7のテーブル37を更新する。そして、ここで検出した誤り数に基づいて、第1の実施の形態の図6により説明したリフレッシュ処理が行われる。
つぎに、CPU4は、N番目のエントリが最後のエントリかどうかを確認する(ステップS206)。N番目のエントリが最後のエントリでない場合は(ステップS206否定)、ステップS201に戻ってエントリ番号を1だけインクリメントする。また、N番目のエントリが最後のエントリである場合は(ステップS206肯定)、CPU4は誤り数の監視処理を終了する。
また、上記の第7の閾値は、誤り数の検出処理を行うたびに設定値が引き下げられ、次第に誤り数が少ないブロックの誤り数検出も行われやすいようにする。これにより、誤り数が多いブロックは誤り数の検出を短い周期で毎回行い、誤り数が少ないブロックは長い周期で誤り数の検出を行うことができる。そして、第7の閾値は、所定の規定値まで下げた後に再び元の値へ戻される。
上述したように、第7の実施の形態にかかる半導体記憶装置1によれば、第1のテーブル31に登録した監視対象ブロックに対して、第7のテーブル37に登録した誤り数に基づいて新たに監視対象ブロックの誤り数の検出処理を行うかどうかの判断を行う。そして、誤り数が多いブロックは誤り数の検出を短い周期で行い、誤り数が少ないブロックは誤り数の検出を長い周期で行う。これにより、第7のテーブル37に登録された誤り数に基づいて第1のテーブル31へ登録された監視対象ブロックの監視間隔を変更し、第1のテーブル31に登録した監視対象ブロックの中でも、より近い将来にリフレッシュ処理が必要になる可能性が高いブロックのデータの誤り数を確実に監視しつつ、誤り数を監視する回数を削減することができ、誤り数の監視に要する計算量や電力消費を抑制することができる。
(第8の実施の形態)
第8の実施の形態では、第7の実施の形態における誤り数の監視の周期について説明する。第8の実施の形態では、第1のテーブル31に登録された監視対象ブロックに対する監視において、誤り数が少ないブロックの監視周期(タイマー7へ設定する監視間隔時間)に上限を設ける。
ここで、監視周期の上限はブロックに記憶されたデータに第1の閾値を超えた誤りが発生してから、該ブロックのデータの誤りが誤り訂正部21の誤り訂正能力の上限に達するまでの時間よりも短く設定される。また、この監視周期は、予め半導体記憶装置1の誤り発生状況や環境温度の範囲等の諸条件から予測した時間を設定してもよい。
上述したように誤り数が少ないブロックの監視周期について上限を設けることにより、第1のテーブル31に登録されたブロックが、誤り数が少ないために長い期間誤り数の監視がされないためにデータの誤りが誤り訂正部21の誤り訂正能力を超え、正しいデータを復元できなくなることを防止することができる。
なお、上述した第1の実施の形態〜第8の実施の形態における機能は、任意に取捨選択して任意の組み合わせで使用可能である。
[実施例]
上記各実施の形態の半導体記憶装置1をSSD(Solid State Drive)として構成した場合の実施例について説明する。図20は、SSD100の構成を示すブロック図である。
SSD100は、データ保存用の複数のNAND型フラッシュメモリ(NANDメモリ)10、データ転送用または作業領域用のDRAM101、これらを制御するドライブ制御回路102、及び電源回路103を備えている。ドライブ制御回路102は、SSD100の外部に設けられる状態表示用LEDを制御するための制御信号を出力する。
SSD100は、ATAインターフェース(ATA I/F)を介して、パーソナルコンピュータ等のホスト装置との間でデータを送受信する。また、SSD100は、RS232Cインターフェース(RS232C I/F)を介して、デバッグ用機器との間でデータを送受信する。
電源回路103は、外部電源を受け、この外部電源を用いて複数の内部電源を生成する。これらの内部電源は、SSD100内の各部に供給される。また、電源回路103は、外部電源の立ち上がりまたは立ち下りを検知して、パワーオンリセット信号を生成する。パワーオンリセット信号は、ドライブ制御回路102に送られる。
図21は、ドライブ制御回路102の構成を示すブロック図である。ドライブ制御回路102は、データアクセス用バス104、第1の回路制御用バス105、及び第2の回路制御用バス106を備えている。
第1の回路制御用バス105には、ドライブ制御回路102全体を制御するプロセッサ107が接続されている。また、第1の回路制御用バス105には、各管理プログラム(FW:firmware)のブート用プログラムが格納されたブートROM108がROMコントローラ109を介して接続されている。また、第1の回路制御用バス105には、電源回路103からのパワーオンリセット信号を受けて、リセット信号及びクロック信号を各部に供給するクロックコントローラ110が接続されている。
第2の回路制御用バス106は、第1の回路制御用バス105に接続されている。第2の回路制御用バス106には、状態表示用LEDにステータス表示用信号を供給するパラレルIO(PIO)回路111、RS232Cインターフェースを制御するシリアルIO(SIO)回路112が接続されている。
ATAインターフェースコントローラ(ATAコントローラ)113、第1のECC(Error Check and Correct)回路114、NANDコントローラ115、及びDRAMコントローラ119は、データアクセス用バス104と第1の回路制御用バス105との両方に接続されている。ATAコントローラ113は、ATAインターフェースを介してホスト装置との間でデータを送受信する。データアクセス用バス104には、データ作業領域として使用されるSRAM120がSRAMコントローラ121を介して接続されている。
NANDコントローラ115は、4つのNANDメモリ10とのインターフェース処理を行うNAND I/F118、第2のECC回路117、及びNANDメモリ−DRAM間のアクセス制御を行うDMA転送制御用DMAコントローラ116を備えている。
図22は、プロセッサ107の構成を示すブロック図である。プロセッサ107は、データ管理部122、ATAコマンド処理部123、セキュリティ管理部124、ブートローダ125、初期化管理部126、デバッグサポート部127を備えている。
データ管理部122は、NANDコントローラ115、第1のECC回路114を介して、NANDメモリ−DRAM間のデータ転送、NANDチップに関する各種機能を制御する。
ATAコマンド処理部123は、ATAコントローラ113、及びDRAMコントローラ119を介して、データ管理部122と協動してデータ転送処理を行う。セキュリティ管理部124は、データ管理部122及びATAコマンド処理部123と協動して各種のセキュリティ情報を管理する。ブートローダ125は、パワーオン時、各管理プログラム(FW)をNANDメモリ10からSRAM120にロードする。
初期化管理部126は、ドライブ制御回路102内の各コントローラ/回路の初期化を行う。デバッグサポート部127は、外部からRS232Cインターフェースを介して供給されたデバッグ用データを処理する。
図23は、SSD100を搭載したポータブルコンピュータ200の一例を示す斜視図である。ポータブルコンピュータ200は、本体201と、表示ユニット202とを備えている。表示ユニット202は、ディスプレイハウジング203と、このディスプレイハウジング203に収容された表示装置204とを備えている。
本体201は、筐体205と、キーボード206と、ポインティングデバイスであるタッチパッド207とを備えている。筐体205内部には、メイン回路基板、ODDユニット(Optical Disk Device)、カードスロット、SSD100等が収容されている。
カードスロットは、筐体205の周壁に隣接して設けられている。周壁には、カードスロットに対向する開口部208が設けられている。ユーザは、この開口部208を通じて筐体205の外部から追加デバイスをカードスロットに挿抜することが可能である。
SSD100は、従来のHDDの置き換えとして、ポータブルコンピュータ200内部に実装された状態として使用してもよいし、ポータブルコンピュータ200が備えるカードスロットに挿入した状態で、追加デバイスとして使用してもよい。
なお、上記各実施の形態の半導体記憶装置1は、SSDに限らず、例えば、SDTMカードに代表されるメモリカードとして構成することも可能である。半導体記憶装置1をメモリカードとして構成する場合、ポータブルコンピュータに限らず、携帯電話、PDA、デジタルスチルカメラ、デジタルビデオカメラ等、各種電子機器に対して適用可能である。
この発明の一実施形態に従った半導体記憶装置の概略構成を示す図である。 この発明の一実施形態に従った半導体記憶装置の第1のテーブルの構成を説明するための図である。 この発明の一実施形態に従った半導体記憶装置の監視対象ブロックの選択処理を説明するためのフローチャートである。 この発明の一実施形態に従った半導体記憶装置の第1のテーブルへの監視対象ブロックの登録処理を説明するためのフローチャートである。 この発明の一実施形態に従った半導体記憶装置の第1のテーブルへのブロックの登録処理を説明するためのフローチャートである。 この発明の一実施形態に従った半導体記憶装置の第1のテーブルへ登録したブロックに対する誤り数の監視処理を説明するためのフローチャートである。 この発明の一実施形態に従った半導体記憶装置の第1のテーブルからのリフレッシュ処理したブロックの削除処理を説明するためのフローチャートである。 この発明の一実施形態に従った半導体記憶装置の第2のテーブルの構成を説明するための図である。 この発明の一実施形態に従った半導体記憶装置の監視対象ブロックの選択処理を説明するためのフローチャートである。 この発明の一実施形態に従った半導体記憶装置の第3のテーブルの構成を説明するための図である。 この発明の一実施形態に従った半導体記憶装置の監視対象ブロックの選択処理を説明するためのフローチャートである。 この発明の一実施形態に従った半導体記憶装置の第4のテーブルの構成を説明するための図である。 この発明の一実施形態に従った半導体記憶装置の監視対象ブロックの選択処理を説明するためのフローチャートである。 この発明の一実施形態に従った半導体記憶装置の第5のテーブルの構成を説明するための図である。 この発明の一実施形態に従った半導体記憶装置の第1のテーブルへの監視対象ブロックの登録処理を説明するためのフローチャートである。 この発明の一実施形態に従った半導体記憶装置の第6のテーブルの構成を説明するための図である。 この発明の一実施形態に従った半導体記憶装置の第1のテーブルから誤り数の監視対象外ブロックを削除する処理を説明するためのフローチャートである。 この発明の一実施形態に従った半導体記憶装置の第7のテーブルの構成を説明するための図である。 この発明の一実施形態に従った半導体記憶装置の第1のテーブルへ登録した監視対象ブロックに対する誤り数の監視処理を説明するためのフローチャートである。 この発明の一実施例にかかるSSDの構成を示す図である。 この発明の一実施例にかかるドライブ制御回路の構成を示す図である。 この発明の一実施例にかかるプロセッサの構成を示す図である。 この発明の一実施例にかかるSSDを搭載したポータブルコンピュータの一例を示す斜視図である。
符号の説明
1 半導体記憶装置、2 ホスト機器、3 制御部、4 CPU、5 RAM、6 ホストインターフェース(I/F)、7 タイマー、8 NAND インターフェース(I/F)、9 バス、10 NAND型フラッシュメモリ、21 誤り訂正部、22 誤り数検出部、31 第1のテーブル、32 第2のテーブル、33 第3のテーブル、34 第4のテーブル、35 第5のテーブル、36 第6のテーブル、37 第7のテーブル。

Claims (22)

  1. データ消去の単位であるブロックにデータを記憶することが可能な不揮発性メモリを備えた半導体記憶装置であって、
    前記ブロックのうちから選択された監視対象ブロックに記憶されたデータの誤り数を監視し、前記データの誤り数が所定の閾値以上である監視対象ブロックに対してリフレッシュを行うこと、
    を特徴とする半導体記憶装置。
  2. データ消去の単位であるブロックにデータを記憶することが可能な不揮発性メモリと、
    前記ブロックから読み出したデータの誤りを訂正する誤り訂正手段と、
    前記誤り訂正手段で訂正したデータの誤り数を検出する誤り数検出手段と、
    前記誤り数検出手段で検出した誤り数が所定の第1の閾値以上であるブロックをデータの誤り数を監視する監視対象ブロックとし、このブロックのデータを所定の間隔で前記不揮発性メモリから読み出して、前記誤り訂正手段と前記誤り数検出手段とにより該データの誤り数を検出させて監視する監視手段と、
    前記監視手段で検出した前記誤り数が前記第1の閾値よりも大きい所定の第2の閾値以上であるブロックのリフレッシュを行うリフレッシュ手段と、
    を備えることを特徴とする請求項1に記載の半導体記憶装置。
  3. 前記監視対象ブロックを登録する第1のテーブルを備え、
    前記監視手段は前記第1のテーブルを参照して前記監視対象ブロックのデータの誤り数を検出して監視すること、
    を特徴とする請求項2に記載の半導体記憶装置。
  4. 前記リフレッシュを行ったブロックを前記第1のテーブルから消去すること、
    を特徴とする請求項3に記載の半導体記憶装置。
  5. データ消去の単位であるブロックにデータを記憶することが可能な不揮発性メモリと、
    前記ブロックから読み出したデータの誤りを訂正する誤り訂正手段と、
    前記誤り訂正手段で訂正したデータの誤り数を検出する誤り数検出手段と、
    前記ブロックから読み出したデータの読み出し量を検出するデータ読み出し量検出手段と、
    前記データ読み出し量検出手段で検出したデータの読み出し量が所定の第3の閾値以上であるブロックをデータの誤り数を監視する監視対象ブロックとし、このブロックのデータを所定の間隔で前記不揮発性メモリから読み出して、前記誤り訂正手段と前記誤り数検出手段とにより該データの誤り数を検出させて監視する監視手段と、
    前記監視手段で検出した前記誤り数が所定の第2の閾値以上であるブロックのリフレッシュを行うリフレッシュ手段と、
    を備えることを特徴とする請求項1に記載の半導体記憶装置。
  6. 前記監視対象ブロックを登録する第1のテーブルを備え、
    前記監視手段は前記第1のテーブルを参照して前記監視対象ブロックのデータの誤り数を検出して監視すること、
    を特徴とする請求項5に記載の半導体記憶装置。
  7. 前記リフレッシュを行ったブロックを前記第1のテーブルから消去すること、
    を特徴とする請求項6に記載の半導体記憶装置。
  8. 前記データ読み出し量検出手段で検出したデータの読み出し量を記憶する第2のテーブルを備え、
    前記監視手段は前記第2のテーブルを参照して前記監視対象ブロックを前記第1のテーブルに登録すること、
    を特徴とする請求項6に記載の半導体記憶装置。
  9. データ消去の単位であるブロックにデータを記憶することが可能な不揮発性メモリと、
    前記ブロックから読み出したデータの誤りを訂正する誤り訂正手段と、
    前記誤り訂正手段で訂正したデータの誤り数を検出する誤り数検出手段と、
    前記ブロックへデータを書き込んでからの経過時間を検出する書き込み時刻検出手段と、
    前記書き込み時刻検出手段で検出した経過時間が所定の第4の閾値以上であるブロックをデータの誤り数を監視する監視対象ブロックとし、このブロックのデータを所定の間隔で前記不揮発性メモリから読み出して、前記誤り訂正手段と前記誤り数検出手段とにより該データの誤り数を検出させて監視する監視手段と、
    前記監視手段で検出した前記誤り数が所定の第2の閾値以上であるブロックのリフレッシュを行うリフレッシュ手段と、
    を備えることを特徴とする請求項1に記載の半導体記憶装置。
  10. 前記監視対象ブロックを登録する第1のテーブルを備え、
    前記監視手段は前記第1のテーブルを参照して前記監視対象ブロックのデータの誤り数を検出して監視すること、
    を特徴とする請求項9に記載の半導体記憶装置。
  11. 前記リフレッシュを行ったブロックを前記第1のテーブルから消去すること、
    を特徴とする請求項9に記載の半導体記憶装置。
  12. 前記ブロックへのデータの書き込み時刻を記憶する第3のテーブルを備え、
    前記監視手段は前記第3のテーブルを参照して前記経過時間を取得して前記監視対象ブロックを前記第1のテーブルに登録すること、
    を特徴とする請求項10に記載の半導体記憶装置。
  13. データ消去の単位であるブロックにデータを記憶することが可能な不揮発性メモリと、
    前記ブロックから読み出したデータの誤りを訂正する誤り訂正手段と、
    前記誤り訂正手段で訂正したデータの誤り数を検出する誤り数検出手段と、
    前記不揮発性メモリ上のブロックにデータを書き込んだ書き込み順序を検出する書き込み順序検出手段と、
    前記書き込み順序検出手段で検出した前記書き込み順序が所定の第5の閾値以下であるブロックをデータの誤り数を監視する監視対象ブロックとし、このブロックのデータを所定の間隔で前記不揮発性メモリから読み出して、前記誤り訂正手段と前記誤り数検出手段とにより該データの誤り数を検出させて監視する監視手段と、
    前記監視手段で検出した前記誤り数が所定の第2の閾値以上であるブロックのリフレッシュを行うリフレッシュ手段と、
    を備えることを特徴とする請求項1に記載の半導体記憶装置。
  14. 前記監視対象ブロックを登録する第1のテーブルを備え、
    前記監視手段は前記第1のテーブルを参照して前記監視対象ブロックのデータの誤り数を検出して監視すること、
    を特徴とする請求項13に記載の半導体記憶装置。
  15. 前記リフレッシュを行ったブロックを前記第1のテーブルから消去すること、
    を特徴とする請求項14に記載の半導体記憶装置。
  16. 前記書き込み順序を記憶する第4のテーブルを備え、
    前記監視手段は前記第4のテーブルを参照して前記監視対象ブロックを前記第1のテーブルに登録すること、
    を特徴とする請求項14に記載の半導体記憶装置。
  17. 前記第1のテーブルへの前記監視対象ブロックの登録順序を登録する第5のテーブルを備え、
    前記リフレッシュ手段は、前記第5のテーブルへの前記監視対象ブロックの登録数が所定の第6の閾値に達した場合に、前記第5のテーブルにおいて予め決められた登録順序の前記監視対象ブロックのリフレッシュを行うこと、
    を特徴とする請求項3,6,10,14のいずれか1つに記載の半導体記憶装置。
  18. 前記監視対象ブロックのうち前記登録順序の古い監視対象ブロックから先にリフレッシュを行うこと、
    を特徴とする請求項17に記載の半導体記憶装置。
  19. 前記不揮発性メモリ上のブロックのうち保持すべきデータが記憶されていないブロックの番号を登録する第6のテーブルを備え、前記第6のテーブルへ登録するブロックを前記第1のテーブルから消去すること、
    を特徴とする請求項2〜18のいずれか1つに記載の半導体記憶装置。
  20. 前記第1のテーブルへ登録された前記監視対象ブロックおよび該監視対象ブロックに記憶したデータで検出された誤り数を登録する第7のテーブルを備え、
    前記監視手段は、前記第7のテーブルに登録された誤り数に基づいて、前記第1のテーブルへ登録された前記監視対象ブロックについて前記所定の間隔を変更すること、
    を特徴とする請求項2〜19のいずれか1つに記載の半導体記憶装置。
  21. 前記第7のテーブルへ登録された前記監視対象ブロックのうち、誤り数が多い前記監視対象ブロックについては誤り数が少ない前記監視対象ブロックよりも前記所定の間隔を短くすること、
    を特徴とする請求項20に記載の半導体記憶装置。
  22. 前記所定の間隔は、前記監視対象ブロックに記憶されたデータに前記第1の閾値を超えた誤りが発生してから、該監視対象ブロックのデータの誤りが前記誤り訂正手段の誤り訂正能力の上限に達するまでの時間よりも短いこと、
    を特徴とする請求項21に記載の半導体記憶装置。
JP2008049193A 2008-02-29 2008-02-29 半導体記憶装置 Active JP4489127B2 (ja)

Priority Applications (11)

Application Number Priority Date Filing Date Title
JP2008049193A JP4489127B2 (ja) 2008-02-29 2008-02-29 半導体記憶装置
EP08872498A EP2245542B1 (en) 2008-02-29 2008-09-22 Semiconductor storage device
KR1020097017907A KR101012445B1 (ko) 2008-02-29 2008-09-22 반도체 기억 장치
PCT/JP2008/067597 WO2009107268A1 (en) 2008-02-29 2008-09-22 Semiconductor storage device
US12/529,282 US8060797B2 (en) 2008-02-29 2008-09-22 Semiconductor storage device
CN2008800063643A CN101622607B (zh) 2008-02-29 2008-09-22 半导体存储装置
TW097144965A TWI397916B (zh) 2008-02-29 2008-11-20 半導體儲存裝置
US13/270,788 US8219861B2 (en) 2008-02-29 2011-10-11 Semiconductor storage device
US13/486,718 US8583972B2 (en) 2008-02-29 2012-06-01 Method of controlling a semiconductor storage device
US14/049,742 US8793555B2 (en) 2008-02-29 2013-10-09 Method of controlling a semiconductor storage device
US14/309,611 US9037947B2 (en) 2008-02-29 2014-06-19 Method of controlling a semiconductor storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008049193A JP4489127B2 (ja) 2008-02-29 2008-02-29 半導体記憶装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010074959A Division JP2010160816A (ja) 2010-03-29 2010-03-29 半導体記憶装置の制御方法

Publications (3)

Publication Number Publication Date
JP2009205578A true JP2009205578A (ja) 2009-09-10
JP2009205578A5 JP2009205578A5 (ja) 2010-02-04
JP4489127B2 JP4489127B2 (ja) 2010-06-23

Family

ID=41015678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008049193A Active JP4489127B2 (ja) 2008-02-29 2008-02-29 半導体記憶装置

Country Status (7)

Country Link
US (5) US8060797B2 (ja)
EP (1) EP2245542B1 (ja)
JP (1) JP4489127B2 (ja)
KR (1) KR101012445B1 (ja)
CN (1) CN101622607B (ja)
TW (1) TWI397916B (ja)
WO (1) WO2009107268A1 (ja)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011096008A (ja) * 2009-10-29 2011-05-12 Aisin Aw Co Ltd 記憶媒体に記憶される情報の管理方法及びプログラム
JP2012513072A (ja) * 2008-12-18 2012-06-07 サンディスク コーポレイション 不揮発性記憶装置のためのデータリフレッシュ
JP2012198878A (ja) * 2011-03-21 2012-10-18 Denso Corp 半導体不揮発性メモリ装置のリフレッシュ操作開始方法およびシステム
JP2012248054A (ja) * 2011-05-30 2012-12-13 Mega Chips Corp 情報処理端末及び管理サーバ
US20130117634A1 (en) * 2011-11-04 2013-05-09 Samsung Electronics Co., Ltd. Memory system and data storage method
JP2013125303A (ja) * 2011-12-13 2013-06-24 Lapis Semiconductor Co Ltd 半導体メモリ制御装置及び制御方法
JP2014505941A (ja) * 2011-04-28 2014-03-06 株式会社日立製作所 半導体記憶装置及び半導体記憶装置の制御方法
JP2014086062A (ja) * 2012-10-29 2014-05-12 Sony Corp 記憶制御装置、記憶装置、情報処理システム、および、記憶制御方法
JP2014092832A (ja) * 2012-11-01 2014-05-19 Toshiba Information Systems (Japan) Corp フラッシュメモリの劣化検査装置、劣化検査方法及劣化検査用プログラム
JP2014154186A (ja) * 2013-02-08 2014-08-25 Mega Chips Corp 記憶装置検査システム、記憶装置検査方法および不揮発性半導体記憶装置
JP2014170600A (ja) * 2013-03-01 2014-09-18 Nec Access Technica Ltd メモリ検査装置、メモリ検査方法、およびメモリ検査プログラム
US8867269B2 (en) 2012-02-10 2014-10-21 Kabushiki Kaisha Toshiba Semiconductor memory device
JP2014229216A (ja) * 2013-05-24 2014-12-08 富士通株式会社 情報処理装置、制御回路、制御プログラム、および制御方法
US8929140B2 (en) 2009-11-06 2015-01-06 Kabushiki Kaisha Toshiba Memory system in which a read level is changed based on standing time and at least one of a read, write or erase count
JP2015111453A (ja) * 2015-02-10 2015-06-18 株式会社日立製作所 フラッシュメモリモジュール
JP2016045523A (ja) * 2014-08-19 2016-04-04 ラピスセミコンダクタ株式会社 メモリ制御装置及びメモリ制御方法
JP2016071893A (ja) * 2014-09-30 2016-05-09 イーエムシー コーポレイションEmc Corporation 持続性記憶装置を管理する方法およびシステム、ならびに非一時的コンピュータ読み取り可能媒体
JP2016118815A (ja) * 2014-12-18 2016-06-30 パナソニックIpマネジメント株式会社 不揮発性メモリ装置
JP2017045420A (ja) * 2015-08-28 2017-03-02 株式会社東芝 メモリシステム
US9704570B2 (en) 2013-09-13 2017-07-11 Kabushiki Kaisha Toshiba Semiconductor memory device and memory system
JPWO2016063592A1 (ja) * 2014-10-24 2017-08-03 ソニー株式会社 メモリコントローラ、メモリシステム、および、メモリコントローラの制御方法
JP2018190404A (ja) * 2017-05-10 2018-11-29 慧榮科技股▲分▼有限公司 記憶装置およびリフレッシュ方法
JP2019164859A (ja) * 2018-03-19 2019-09-26 東芝メモリ株式会社 メモリシステム、および、メモリ制御方法
US10635601B2 (en) 2017-05-10 2020-04-28 Silicon Motion, Inc. Flash memory devices and prefetch methods thereof
JP2021118011A (ja) * 2020-01-24 2021-08-10 ラピスセミコンダクタ株式会社 半導体記憶装置及び半導体記憶装置のリフレッシュ方法

Families Citing this family (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090109755A1 (en) * 2007-10-24 2009-04-30 Mori Edan Neighbor block refresh for non-volatile memory
JP5317690B2 (ja) * 2008-12-27 2013-10-16 株式会社東芝 メモリシステム
JP5221332B2 (ja) * 2008-12-27 2013-06-26 株式会社東芝 メモリシステム
JP5323199B2 (ja) 2009-02-12 2013-10-23 株式会社東芝 メモリシステム及びメモリシステムの制御方法
US8683456B2 (en) * 2009-07-13 2014-03-25 Apple Inc. Test partitioning for a non-volatile memory
US8243525B1 (en) * 2009-09-30 2012-08-14 Western Digital Technologies, Inc. Refreshing non-volatile semiconductor memory by reading without rewriting
JP2011128998A (ja) 2009-12-18 2011-06-30 Toshiba Corp 半導体記憶装置
US8325531B2 (en) * 2010-01-07 2012-12-04 Spansion Llc Memory device
US8819208B2 (en) 2010-03-05 2014-08-26 Solidfire, Inc. Data deletion in a distributed data storage system
US8645776B2 (en) * 2010-03-24 2014-02-04 Apple Inc. Run-time testing of memory locations in a non-volatile memory
US8650446B2 (en) * 2010-03-24 2014-02-11 Apple Inc. Management of a non-volatile memory based on test quality
JP2010160816A (ja) * 2010-03-29 2010-07-22 Toshiba Corp 半導体記憶装置の制御方法
US8412882B2 (en) * 2010-06-18 2013-04-02 Microsoft Corporation Leveraging chip variability
JP2012008651A (ja) 2010-06-22 2012-01-12 Toshiba Corp 半導体記憶装置、その制御方法および情報処理装置
US8751903B2 (en) 2010-07-26 2014-06-10 Apple Inc. Methods and systems for monitoring write operations of non-volatile memory
JP2012128643A (ja) 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
JP2012128645A (ja) 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
JP5535128B2 (ja) 2010-12-16 2014-07-02 株式会社東芝 メモリシステム
JP2012199724A (ja) * 2011-03-19 2012-10-18 Fujitsu Ltd データ送信装置、データ受信装置、データ送受信装置及びデータ送受信装置の制御方法
US9762246B2 (en) * 2011-05-20 2017-09-12 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device with a storage circuit having an oxide semiconductor
US8650353B2 (en) * 2011-07-01 2014-02-11 Intel Corporation Apparatus, system, and method for refreshing non-volatile memory
TWI471862B (zh) * 2011-08-19 2015-02-01 Silicon Motion Inc 快閃記憶體控制器
JP2013069183A (ja) * 2011-09-26 2013-04-18 Toshiba Corp コントローラおよびメモリシステム
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US8924636B2 (en) 2012-02-23 2014-12-30 Kabushiki Kaisha Toshiba Management information generating method, logical block constructing method, and semiconductor memory device
US9251055B2 (en) 2012-02-23 2016-02-02 Kabushiki Kaisha Toshiba Memory system and control method of memory system
US8739000B2 (en) * 2012-03-15 2014-05-27 Broadcom Corporation Multi-modal signal processing with linearization
US9337865B2 (en) 2012-05-04 2016-05-10 Seagate Technology Llc Log-likelihood ratio (LLR) dampening in low-density parity-check (LDPC) decoders
US9235346B2 (en) 2012-05-04 2016-01-12 Avago Technologies General Ip (Singapore) Pte. Ltd. Dynamic map pre-fetching for improved sequential reads of a solid-state media
TWI467376B (zh) * 2012-06-11 2015-01-01 Phison Electronics Corp 資料保護方法、記憶體控制器與記憶體儲存裝置
CN102765256B (zh) * 2012-06-21 2014-07-16 珠海艾派克微电子有限公司 记录芯片使用状态信息的方法、成像盒的芯片及成像盒
US20140013031A1 (en) * 2012-07-09 2014-01-09 Yoko Masuo Data storage apparatus, memory control method, and electronic apparatus having a data storage apparatus
US9064579B2 (en) 2012-07-16 2015-06-23 Kabushiki Kaisha Toshiba Semiconductor memory apparatus, data transmission device, and recording method
CN108595345B (zh) 2012-07-25 2021-11-23 慧荣科技股份有限公司 管理闪存中所储存的数据的方法及相关记忆装置与控制器
US8873323B2 (en) * 2012-08-16 2014-10-28 Transcend Information, Inc. Method of executing wear leveling in a flash memory device according to ambient temperature information and related flash memory device
US8930778B2 (en) 2012-11-15 2015-01-06 Seagate Technology Llc Read disturb effect determination
JP6044316B2 (ja) * 2012-12-12 2016-12-14 株式会社デンソー 車載電子制御装置
US9063879B2 (en) * 2012-12-13 2015-06-23 Sandisk Technologies Inc. Inspection of non-volatile memory for disturb effects
US9324398B2 (en) 2013-02-04 2016-04-26 Micron Technology, Inc. Apparatuses and methods for targeted refreshing of memory
JP2014157391A (ja) * 2013-02-14 2014-08-28 Sony Corp 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法
US9092310B2 (en) * 2013-03-15 2015-07-28 Seagate Technology Llc Host command based read disturb methodology
US10372551B2 (en) * 2013-03-15 2019-08-06 Netlist, Inc. Hybrid memory system with configurable error thresholds and failure analysis capability
KR102039537B1 (ko) * 2013-03-15 2019-11-01 삼성전자주식회사 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법
US9330787B2 (en) * 2013-03-18 2016-05-03 Kabushiki Kaisha Toshiba Memory system and memory controller
US9263158B2 (en) * 2013-08-16 2016-02-16 Seagate Technology Llc Determining data retention time in a solid-state non-volatile memory
US9047978B2 (en) 2013-08-26 2015-06-02 Micron Technology, Inc. Apparatuses and methods for selective row refreshes
US9372750B2 (en) * 2013-11-01 2016-06-21 Qualcomm Incorporated Method and apparatus for non-volatile RAM error re-mapping
GB201322075D0 (en) 2013-12-13 2014-01-29 Ibm Device for selecting a level for at least one read voltage
US9785499B2 (en) 2014-02-12 2017-10-10 Seagate Technology Llc Hot-read data aggregation and code selection
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
KR20150104858A (ko) * 2014-03-06 2015-09-16 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
US9495232B2 (en) * 2014-03-28 2016-11-15 Intel IP Corporation Error correcting (ECC) memory compatibility
DE102014104717B4 (de) * 2014-04-03 2019-08-01 Hyperstone Gmbh Verfahren und Vorrichtung zur Datenerneuerung für eine Erhöhung der Zuverlässigkeit von Flashspeichern
US20150331732A1 (en) * 2014-05-13 2015-11-19 Rambus Inc. Memory device having storage for an error code correction event count
JP2015219938A (ja) 2014-05-21 2015-12-07 マイクロン テクノロジー, インク. 半導体装置
US9478315B2 (en) * 2014-06-03 2016-10-25 Sandisk Technologies Llc Bit error rate mapping in a memory system
DE102014211111A1 (de) * 2014-06-11 2015-12-17 Robert Bosch Gmbh Refresh eines Speicherbereichs einer nichtflüchtigen Speichereinheit
US9798728B2 (en) 2014-07-24 2017-10-24 Netapp, Inc. System performing data deduplication using a dense tree data structure
US9671960B2 (en) 2014-09-12 2017-06-06 Netapp, Inc. Rate matching technique for balancing segment cleaning and I/O workload
US10133511B2 (en) 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
US9583219B2 (en) * 2014-09-27 2017-02-28 Qualcomm Incorporated Method and apparatus for in-system repair of memory in burst refresh
US9251909B1 (en) 2014-09-29 2016-02-02 International Business Machines Corporation Background threshold voltage shifting using base and delta threshold voltage shift values in flash memory
US10365859B2 (en) 2014-10-21 2019-07-30 International Business Machines Corporation Storage array management employing a merged background management process
US9563373B2 (en) * 2014-10-21 2017-02-07 International Business Machines Corporation Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
US9990279B2 (en) 2014-12-23 2018-06-05 International Business Machines Corporation Page-level health equalization
US10339048B2 (en) 2014-12-23 2019-07-02 International Business Machines Corporation Endurance enhancement scheme using memory re-evaluation
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
CN104636674B (zh) * 2015-03-17 2017-06-09 浪潮集团有限公司 一种用于受损数据恢复的线性估计方法
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9710317B2 (en) * 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US9836349B2 (en) * 2015-05-29 2017-12-05 Winbond Electronics Corp. Methods and systems for detecting and correcting errors in nonvolatile memory
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
DE102015215401B4 (de) 2015-08-12 2020-10-01 Infineon Technologies Ag Speichervorrichtung und Verfahren zum Korrigieren einer gespeicherten Bitfolge
US9977615B2 (en) * 2015-09-28 2018-05-22 Qualcomm Incorporated Smart refresh of data on flash devices
KR20170076883A (ko) * 2015-12-24 2017-07-05 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
US9847105B2 (en) * 2016-02-01 2017-12-19 Samsung Electric Co., Ltd. Memory package, memory module including the same, and operation method of memory package
KR102512448B1 (ko) * 2016-03-28 2023-03-22 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
JP2017182854A (ja) 2016-03-31 2017-10-05 マイクロン テクノロジー, インク. 半導体装置
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
JP2018041154A (ja) * 2016-09-05 2018-03-15 東芝メモリ株式会社 ストレージシステムおよび処理方法
JP2018041204A (ja) 2016-09-06 2018-03-15 東芝メモリ株式会社 メモリ装置及び情報処理システム
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
US10481798B2 (en) * 2016-10-28 2019-11-19 Pure Storage, Inc. Efficient flash management for multiple controllers
US10482983B2 (en) * 2016-12-22 2019-11-19 Seagate Technology Llc Read disturb detection based on dynamic bit error rate estimation
US10885991B2 (en) * 2017-04-04 2021-01-05 Sandisk Technologies Llc Data rewrite during refresh window
JP2019046530A (ja) 2017-09-07 2019-03-22 東芝メモリ株式会社 メモリシステム
US10297304B1 (en) * 2017-11-12 2019-05-21 Nanya Technology Corporation Memory device and operating method thereof
US11048581B2 (en) 2017-11-17 2021-06-29 Samsung Electronics Co., Ltd. Storage device telemetry for provisioning I/O
US10446243B2 (en) * 2017-12-18 2019-10-15 Macronix International Co., Ltd. Storage device and associated control method to determine target memory blocks for probe operation
US10580475B2 (en) 2018-01-22 2020-03-03 Micron Technology, Inc. Apparatuses and methods for calculating row hammer refresh addresses in a semiconductor device
KR102507302B1 (ko) 2018-01-22 2023-03-07 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US10839922B2 (en) * 2018-05-26 2020-11-17 Sandisk Technologies Llc Memory disturb detection
US11152050B2 (en) 2018-06-19 2021-10-19 Micron Technology, Inc. Apparatuses and methods for multiple row hammer refresh address sequences
KR20200056732A (ko) * 2018-11-15 2020-05-25 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US10770127B2 (en) 2019-02-06 2020-09-08 Micron Technology, Inc. Apparatuses and methods for managing row access counts
US11043254B2 (en) 2019-03-19 2021-06-22 Micron Technology, Inc. Semiconductor device having cam that stores address signals
US11264096B2 (en) 2019-05-14 2022-03-01 Micron Technology, Inc. Apparatuses, systems, and methods for a content addressable memory cell with latch and comparator circuits
US11158364B2 (en) 2019-05-31 2021-10-26 Micron Technology, Inc. Apparatuses and methods for tracking victim rows
US11158373B2 (en) 2019-06-11 2021-10-26 Micron Technology, Inc. Apparatuses, systems, and methods for determining extremum numerical values
US10832792B1 (en) 2019-07-01 2020-11-10 Micron Technology, Inc. Apparatuses and methods for adjusting victim data
US11139015B2 (en) 2019-07-01 2021-10-05 Micron Technology, Inc. Apparatuses and methods for monitoring word line accesses
US11386946B2 (en) 2019-07-16 2022-07-12 Micron Technology, Inc. Apparatuses and methods for tracking row accesses
US10943636B1 (en) 2019-08-20 2021-03-09 Micron Technology, Inc. Apparatuses and methods for analog row access tracking
US10964378B2 (en) 2019-08-22 2021-03-30 Micron Technology, Inc. Apparatus and method including analog accumulator for determining row access rate and target row address used for refresh operation
US11200942B2 (en) 2019-08-23 2021-12-14 Micron Technology, Inc. Apparatuses and methods for lossy row access counting
US11222682B1 (en) 2020-08-31 2022-01-11 Micron Technology, Inc. Apparatuses and methods for providing refresh addresses
US11462291B2 (en) 2020-11-23 2022-10-04 Micron Technology, Inc. Apparatuses and methods for tracking word line accesses
KR20220096077A (ko) 2020-12-30 2022-07-07 삼성전자주식회사 Ecc 데이터를 이용하여 신뢰성 검사를 수행하는 스토리지 장치
US11482275B2 (en) 2021-01-20 2022-10-25 Micron Technology, Inc. Apparatuses and methods for dynamically allocated aggressor detection
US11600314B2 (en) 2021-03-15 2023-03-07 Micron Technology, Inc. Apparatuses and methods for sketch circuits for refresh binning
US11664063B2 (en) 2021-08-12 2023-05-30 Micron Technology, Inc. Apparatuses and methods for countering memory attacks
US11688451B2 (en) 2021-11-29 2023-06-27 Micron Technology, Inc. Apparatuses, systems, and methods for main sketch and slim sketch circuit for row address tracking
US11928354B2 (en) * 2022-01-21 2024-03-12 Dell Products L.P. Read-disturb-based read temperature determination system
KR102537770B1 (ko) * 2022-06-08 2023-05-30 삼성전자주식회사 기입 스로틀링을 이용한 스토리지 장치의 데이터 기입 방법 및 이를 수행하는 스토리지 장치

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475693A (en) * 1994-12-27 1995-12-12 Intel Corporation Error management processes for flash EEPROM memory arrays
JP3176019B2 (ja) * 1995-04-05 2001-06-11 株式会社東芝 不揮発性半導体記憶部を含む記憶システム
JPH0932253A (ja) 1995-07-13 1997-02-04 Koichi Miura 二重床構造体および二重床式空調装置
JPH09204367A (ja) * 1996-01-25 1997-08-05 Mitsubishi Electric Corp フラッシュディスクカードにおけるフラッシュメモリデータのリフレッシュ方法
WO1997032253A1 (en) 1996-02-29 1997-09-04 Hitachi, Ltd. Semiconductor memory device having faulty cells
US5715193A (en) * 1996-05-23 1998-02-03 Micron Quantum Devices, Inc. Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks
EP0862762B1 (en) 1996-08-16 2002-10-09 Tokyo Electron Device Limited Semiconductor memory device having error detection and correction
US5909449A (en) 1997-09-08 1999-06-01 Invox Technology Multibit-per-cell non-volatile memory with error detection and correction
US6260156B1 (en) * 1998-12-04 2001-07-10 Datalight, Inc. Method and system for managing bad areas in flash memory
US6493270B2 (en) * 1999-07-01 2002-12-10 Micron Technology, Inc. Leakage detection in programming algorithm for a flash memory device
WO2001022232A1 (fr) 1999-09-17 2001-03-29 Hitachi, Ltd. Memoire dans laquelle le nombre de corrections d'erreurs est enregistre
US6728913B1 (en) 2000-02-25 2004-04-27 Advanced Micro Devices, Inc. Data recycling in memory
KR100644602B1 (ko) * 2000-10-11 2006-11-10 삼성전자주식회사 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
JP4059472B2 (ja) 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ
US6829167B2 (en) * 2002-12-12 2004-12-07 Sandisk Corporation Error recovery for nonvolatile memory
US20040153902A1 (en) 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
KR100526186B1 (ko) * 2003-04-04 2005-11-03 삼성전자주식회사 플래시 메모리의 오류블록 관리방법 및 장치
JP4256198B2 (ja) 2003-04-22 2009-04-22 株式会社東芝 データ記憶システム
US7509526B2 (en) * 2004-09-24 2009-03-24 Seiko Epson Corporation Method of correcting NAND memory blocks and to a printing device employing the method
JP2007058966A (ja) 2005-08-23 2007-03-08 Renesas Technology Corp 半導体装置
JP4413840B2 (ja) 2005-09-20 2010-02-10 株式会社東芝 記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム
JP4575288B2 (ja) 2005-12-05 2010-11-04 株式会社東芝 記憶媒体、記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム
JP2008090778A (ja) 2006-10-05 2008-04-17 Matsushita Electric Ind Co Ltd 不揮発性メモリ用メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、不揮発性メモリのメモリ制御方法
KR100824779B1 (ko) * 2007-01-11 2008-04-24 삼성전자주식회사 반도체 메모리 장치의 데이터 출력 경로 및 데이터 출력방법
JP2008217857A (ja) 2007-02-28 2008-09-18 Toshiba Corp メモリコントローラ及び半導体装置
US8060798B2 (en) * 2007-07-19 2011-11-15 Micron Technology, Inc. Refresh of non-volatile memory cells based on fatigue conditions
JP4564520B2 (ja) 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
JP4538034B2 (ja) 2007-09-26 2010-09-08 株式会社東芝 半導体記憶装置、及びその制御方法
TWI381390B (zh) * 2008-04-10 2013-01-01 Phison Electronics Corp 快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器
US8411519B2 (en) * 2010-06-04 2013-04-02 Apple Inc. Selective retirement of blocks

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012513072A (ja) * 2008-12-18 2012-06-07 サンディスク コーポレイション 不揮発性記憶装置のためのデータリフレッシュ
JP2011096008A (ja) * 2009-10-29 2011-05-12 Aisin Aw Co Ltd 記憶媒体に記憶される情報の管理方法及びプログラム
US11475962B2 (en) 2009-11-06 2022-10-18 Kioxia Corporation Memory system performing read operation with read voltage
US11984167B2 (en) 2009-11-06 2024-05-14 Kioxia Corporation Memory system performing read operation with read voltage
US9767913B2 (en) 2009-11-06 2017-09-19 Toshiba Memory Corporation Memory system performing read of nonvolatile semiconductor memory device
US8929140B2 (en) 2009-11-06 2015-01-06 Kabushiki Kaisha Toshiba Memory system in which a read level is changed based on standing time and at least one of a read, write or erase count
US10916312B2 (en) 2009-11-06 2021-02-09 Toshiba Memory Corporation Memory system performing read of nonvolatile semiconductor memory device
US9524786B2 (en) 2009-11-06 2016-12-20 Kabushiki Kaisha Toshiba Memory system changing a memory cell read voltage upon detecting a memory cell read error
US10020063B2 (en) 2009-11-06 2018-07-10 Toshiba Memory Corporation Memory system performing read of nonvolatile semiconductor memory device
US10373692B2 (en) 2009-11-06 2019-08-06 Toshiba Memory Corporation Memory system performing read of nonvolatile semiconductor memory device
JP2012198878A (ja) * 2011-03-21 2012-10-18 Denso Corp 半導体不揮発性メモリ装置のリフレッシュ操作開始方法およびシステム
JP2014505941A (ja) * 2011-04-28 2014-03-06 株式会社日立製作所 半導体記憶装置及び半導体記憶装置の制御方法
US9129699B2 (en) 2011-04-28 2015-09-08 Hitachi, Ltd. Semiconductor storage apparatus and method including executing refresh in a flash memory based on a reliability period using degree of deterioration and read frequency
JP2012248054A (ja) * 2011-05-30 2012-12-13 Mega Chips Corp 情報処理端末及び管理サーバ
US9021338B2 (en) * 2011-11-04 2015-04-28 Samsung Electronics Co., Ltd. Memory system and data storage method
US20130117634A1 (en) * 2011-11-04 2013-05-09 Samsung Electronics Co., Ltd. Memory system and data storage method
JP2013125303A (ja) * 2011-12-13 2013-06-24 Lapis Semiconductor Co Ltd 半導体メモリ制御装置及び制御方法
US8867269B2 (en) 2012-02-10 2014-10-21 Kabushiki Kaisha Toshiba Semiconductor memory device
JP2014086062A (ja) * 2012-10-29 2014-05-12 Sony Corp 記憶制御装置、記憶装置、情報処理システム、および、記憶制御方法
JP2014092832A (ja) * 2012-11-01 2014-05-19 Toshiba Information Systems (Japan) Corp フラッシュメモリの劣化検査装置、劣化検査方法及劣化検査用プログラム
JP2014154186A (ja) * 2013-02-08 2014-08-25 Mega Chips Corp 記憶装置検査システム、記憶装置検査方法および不揮発性半導体記憶装置
JP2014170600A (ja) * 2013-03-01 2014-09-18 Nec Access Technica Ltd メモリ検査装置、メモリ検査方法、およびメモリ検査プログラム
JP2014229216A (ja) * 2013-05-24 2014-12-08 富士通株式会社 情報処理装置、制御回路、制御プログラム、および制御方法
US9911499B2 (en) 2013-09-13 2018-03-06 Toshiba Memory Corporation Semiconductor memory device and memory system
US9704570B2 (en) 2013-09-13 2017-07-11 Kabushiki Kaisha Toshiba Semiconductor memory device and memory system
JP2016045523A (ja) * 2014-08-19 2016-04-04 ラピスセミコンダクタ株式会社 メモリ制御装置及びメモリ制御方法
JP2016071893A (ja) * 2014-09-30 2016-05-09 イーエムシー コーポレイションEmc Corporation 持続性記憶装置を管理する方法およびシステム、ならびに非一時的コンピュータ読み取り可能媒体
JP2018085122A (ja) * 2014-09-30 2018-05-31 イーエムシー コーポレイションEmc Corporation 持続性記憶装置を管理する方法およびシステム、ならびに非一時的コンピュータ読み取り可能媒体
US10339001B2 (en) 2014-09-30 2019-07-02 EMC IP Holding Company LLC Method and system for improving flash storage utilization by predicting bad M-pages
US9690655B2 (en) 2014-09-30 2017-06-27 EMC IP Holding Company LLC Method and system for improving flash storage utilization by predicting bad m-pages
JPWO2016063592A1 (ja) * 2014-10-24 2017-08-03 ソニー株式会社 メモリコントローラ、メモリシステム、および、メモリコントローラの制御方法
JP2016118815A (ja) * 2014-12-18 2016-06-30 パナソニックIpマネジメント株式会社 不揮発性メモリ装置
US9804921B2 (en) 2014-12-18 2017-10-31 Panasonic Intellectual Property Management Co., Ltd. Nonvolatile memory apparatus and control method of nonvolatile memory apparatus
JP2015111453A (ja) * 2015-02-10 2015-06-18 株式会社日立製作所 フラッシュメモリモジュール
JP2017045420A (ja) * 2015-08-28 2017-03-02 株式会社東芝 メモリシステム
JP2018190404A (ja) * 2017-05-10 2018-11-29 慧榮科技股▲分▼有限公司 記憶装置およびリフレッシュ方法
US10635601B2 (en) 2017-05-10 2020-04-28 Silicon Motion, Inc. Flash memory devices and prefetch methods thereof
JP2019164859A (ja) * 2018-03-19 2019-09-26 東芝メモリ株式会社 メモリシステム、および、メモリ制御方法
US11189353B2 (en) 2018-03-19 2021-11-30 Toshiba Memory Corporation Memory system and memory control method
US11727998B2 (en) 2018-03-19 2023-08-15 Kioxia Corporation Memory system and memory control method
JP7291640B2 (ja) 2020-01-24 2023-06-15 ラピスセミコンダクタ株式会社 半導体記憶装置及び半導体記憶装置のリフレッシュ方法
JP2021118011A (ja) * 2020-01-24 2021-08-10 ラピスセミコンダクタ株式会社 半導体記憶装置及び半導体記憶装置のリフレッシュ方法

Also Published As

Publication number Publication date
EP2245542A1 (en) 2010-11-03
US9037947B2 (en) 2015-05-19
KR20090131285A (ko) 2009-12-28
US8583972B2 (en) 2013-11-12
US8793555B2 (en) 2014-07-29
US20120030528A1 (en) 2012-02-02
JP4489127B2 (ja) 2010-06-23
KR101012445B1 (ko) 2011-02-08
WO2009107268A1 (en) 2009-09-03
US8219861B2 (en) 2012-07-10
US20100313084A1 (en) 2010-12-09
CN101622607A (zh) 2010-01-06
EP2245542A4 (en) 2011-04-13
EP2245542B1 (en) 2012-09-12
US20140304567A1 (en) 2014-10-09
US20120239992A1 (en) 2012-09-20
TW200941488A (en) 2009-10-01
TWI397916B (zh) 2013-06-01
US20140040664A1 (en) 2014-02-06
CN101622607B (zh) 2012-10-31
US8060797B2 (en) 2011-11-15

Similar Documents

Publication Publication Date Title
JP4489127B2 (ja) 半導体記憶装置
JP2010160816A (ja) 半導体記憶装置の制御方法
TWI515742B (zh) 偵測不穩定記憶胞之分佈的記憶體系統與方法
US8656086B2 (en) System and method for autonomous NAND refresh
US8271515B2 (en) System and method for providing copyback data integrity in a non-volatile memory system
KR102179829B1 (ko) 런 타임 배드 셀을 관리하는 스토리지 시스템
TWI436369B (zh) 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統
TW201330234A (zh) 半導體儲存裝置、非揮發性半導體記憶體測試方法、及媒體
JP2013047913A (ja) 情報処理装置、情報処理装置の制御方法、制御ツール、及びホスト装置
JP5815388B2 (ja) メモリアクセス制御装置および方法
JP5668163B2 (ja) 情報処理装置
JP5535383B2 (ja) ホスト装置および制御ツール
JP6190488B2 (ja) 情報記録システム
JP6403130B2 (ja) 情報記録システム
JP2019008814A (ja) 半導体記憶装置
JP7291640B2 (ja) 半導体記憶装置及び半導体記憶装置のリフレッシュ方法
JP2015084241A (ja) 情報処理装置
JP2022020089A (ja) メモリドライブ装置、情報処理装置、及び制御方法
JP2021177401A (ja) 情報処理装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091215

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091215

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20091215

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20100104

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100302

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100330

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4489127

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350