JP4377951B2 - 記憶装置、システム、該システムを搭載した遊技機 - Google Patents

記憶装置、システム、該システムを搭載した遊技機 Download PDF

Info

Publication number
JP4377951B2
JP4377951B2 JP2008257305A JP2008257305A JP4377951B2 JP 4377951 B2 JP4377951 B2 JP 4377951B2 JP 2008257305 A JP2008257305 A JP 2008257305A JP 2008257305 A JP2008257305 A JP 2008257305A JP 4377951 B2 JP4377951 B2 JP 4377951B2
Authority
JP
Japan
Prior art keywords
block
physical block
data
refresh
management table
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.)
Expired - Fee Related
Application number
JP2008257305A
Other languages
English (en)
Other versions
JP2009224013A (ja
Inventor
浩道 織部
晃揮 渡橋
Original Assignee
株式会社ハギワラシスコム
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 株式会社ハギワラシスコム filed Critical 株式会社ハギワラシスコム
Priority to JP2008257305A priority Critical patent/JP4377951B2/ja
Publication of JP2009224013A publication Critical patent/JP2009224013A/ja
Application granted granted Critical
Publication of JP4377951B2 publication Critical patent/JP4377951B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、フラッシュメモリ、取り分けNAND型フラッシュメモリを搭載した記憶装置及び該記憶装置を有するシステム並びに該システムを有する遊技機に関する。
EEPROM(電気的にデータの消去及び書き換えが可能な不揮発性メモリ)の一種としてフラッシュメモリが知られている。フラッシュメモリは、ワード線とビット線の交点に位置するセルに電荷を蓄積し、データの書き込み(プログラムともいう)を行うメモリである。電荷がセルに蓄積されている以上、電源をOFFにしてもデータは失われない。しかしフラッシュメモリにおいては、リードディスターブエラー(read disturb error)といって、所定物理ブロックの所定ページのデータが読み出されると、同一ブロック内の他のページのセルに記憶されているデータが変化してしまう現象が生じる場合がある。これは、データの読み出し対象となった選択セルからデータが読み出される際、非選択セル(データ読み出し対象となっていないページのセル)の浮遊ゲートに電荷が注入されてしまい、これにより非選択セルが弱くプログラムされたのと同じ状態になるためであり、読み出し回数が増えるに従い、より多くのメモリセルが影響を受ける。このためフラッシメモリでは、通常、読み出し回数制限値がベンダーによって指定されている。例えば、現行製品で、SLC(Single-Level-Cell)では、10万回乃至100万回、MLC(Multi-Level-Cell)では、1万回乃至10万回である。一般に、データ書き換え回数が増大すると、読み出し回数はより制限される。
(従来技術の問題点)
このリードディスターブエラーに対処するため、該エラーが生じない特別な回路を予め用意したり、電荷の変化したセル単体を個別に探し出してこれを補正しエラーデータが読み出されないようにする方法などが提案されているが、回路や処理が複雑で高価となり、実用的ではない。
また、他の対処方法としては、物理ブロックごとにデータ読み出し回数をカウントし、ベンダー指定のデータ読み出し回数制限値に至ったときにそのブロックのリフレッシュを都度実行している。即ち、読み出し対象となった当該ブロックがデータ読み出し回数制限に至ったとき、データ読み出しの直前又は直後にリフレッシュを実行している。このため、複数の物理ブロックが一度にデータ読み出し制限に至ったとき、連続したリフレッシュ実行のために一定のデータ転送レートが保証できずユーザに不快感を与えたり、ホストに読み出されるデータが一時的に中断しプレイに支障が生じるといった問題が生じる。
特開10−228783 特開2002−150783 特開2004−326867 特許第3641066号
本発明は、このような問題点に鑑みてなされたものであり、リードディスターブエラーの防止とbadブロック処理を効率よく行う記憶装置、該記憶装置で構成されるシステム、並びに該システムを搭載した遊技機を提供することを目的とする。その他の目的は、明細書、図面、特に特許請求の範囲から自ずと明らかとなろう。
上記課題解決のため、本発明は、請求項記載の新規な特徴的構成を採用する。
以下、本発明を実施するための最良の形態について図面を用いて説明するが、本発明は特許請求の範囲内において種々の形態を採ることができ、下記実施形態に限定されないことはいうまでもない。
(システム基本構成)
図1に示すように、本発明は、NAND型フラッシュメモリ22(本明細書において、特に必要のない限り、単に“フラッシュメモリ”という)と該フラッシュメモリ22に対するデータの書き込みや読み出しの実行、その他の制御を行うコントローラ21を有するフラッシュメモリデバイス2(特許請求の範囲の「記憶装置」に相当)において実行される。本願では、フラッシュメモリデバイス2と、該デバイス2にデータの書き込みや読み出しのコマンドを発行するホスト1からなる構成をシステムという。コントローラ21には、必要に応じ作業領域としてのRAM23を接続する。RAM23はコントローラ21の内部に設けてもよい。システムは、例えばMPEG音楽プレーヤのように、所定の機器として一体に構成されていてもよいし、ホスト1がPC(パーソナルコンピュータ)で構成され、フラッシュメモリデバイス2がSSD(Solid State Drive)としてPCとUSBインターフェースやIDEインターフェースで接続される構成であってもよい。その他、遊技機等所定の機器に搭載される基板上に構成されてもよい。
フラッシュメモリ22は、ユーザデータ領域、予備領域、管理領域を有する。ユーザデータ領域は、主記憶領域とも呼ばれる。ユーザデータ領域を構成する物理ブロックは、論理ブロックと対応する関係を有し、その関係は論理/物理ブロック管理テーブルで管理され、その対応関係が変わると、随時該テーブルで更新される。予備ブロック(予備領域を構成するブロック)は、ユーザデータ領域を構成する物理ブロックがbadブロックとなったときに使用される代替ブロックである。また、フラッシュメモリ22には空きブロックが少なくとも一つ確保される。この空きブロックは、通常、ユーザデータ領域の物理ブロックにデータを上書きするときに使用されるブロックである。この場合空きブロックは、予備ブロック同様、論理ブロックアドレスと関連付けされない。なお、詳細は後述するが、本願のリフレッシュは、この空きブロック若しくは予備ブロックのいずれかを使用して実行する。
図2は、フラッシュメモリ22のメモリアレイを示している。図示するように、ユーザデータ領域は物理ブロック番号“0”から“4041”で構成され、物理ブロック番号“4042”が空きブロック、物理ブロック番号“4043”から“4091”までが予備ブロックで構成されている。その他、物理ブロック番号“4092”から“4095”までの管理領域が存在する。コントローラ11は、空きブロックの物理ブロック番号及び予備ブロックの物理ブロック番号を把握するため、それぞれ不図示の空きブロックテーブル、予備ブロックテーブルで管理する。論理/物理ブロック管理テーブル、空きブロックテーブル、予備ブロックテーブルを総称して、ブロック管理テーブルというものとする。
図3はリフレッシュ管理テーブルの内容例を表している。リフレッシュ管理テーブルは、システム稼動中RAM23において、物理ブロックごとのデータ読み出し回数や消去回数を記憶するものである。システム稼動中はその内容が適宜更新される。システムの電源が遮断されるとき、その内容は管理領域に保存される。システム稼動の度にこれが繰り返される。
フラッシュメモリデバイス2がホスト1からデータ読み出しコマンドを受けると、コントローラ21は、ホスト1から指定されたアドレスを論理ブロックアドレスとして、その論理ブロックアドレスに対応する物理ブロックアドレスを論理/物理ブロック管理テーブルから割り出してデータを読み出す。そしてその都度、リフレッシュ管理テーブルに、当該物理ブロックに対するデータ読み出し回数を記録する(図3参照)。また、物理ブロックのデータを消去するごとに消去回数をインクリメントして記録する。消去はそのブロック内のデータの書き換えを含む概念である。
物理ブロックのデータ読み出し回数制限値(図4のベンダー指定値)は、一般に過去の消去回数に依存する。即ち、過去にデータ消去された回数が多いほど、読み出し回数は制限される。このデータ読み出し回数制限値は、例えば図4に示すように、物理ブロックの消去回数が0回から999回までは1,000,000回(図4のフェーズA)、消去回数が1,000回から9,999回までは300,000回(図4のフェーズB)、消去回数が10000回から99,999回までは100,000回(図4のフェーズC)と設定される。
従来、そのブロックのデータ読み出し回数が制限値に至ったとときに、読み出しを実行する直前又は直後に、その都度リフレッシュを実行していたが、read時間が増大するという問題があった。そこで本発明では、リフレッシュ管理テーブルを用い、後述する方法により、対象となるブロックを時分割に一括してリフレッシュし、read時間の増大を防止するものである。
まず、リフレッシュを実行する基準(コントローラ閾値)をベンダー指定値より小さい値に設定することにより、データ読み出し回数がベンダー指定値に至る前に有効にリフレッシュを実行できるようにした。図4のフェーズA,B,Cのベンダー指定値とコントローラ閾値の関係を参照されたい。データ読み出し回数が、コントローラ閾値に至ると、コントローラ21(正確にはコントローラ21のCPU(図示せず))は、リフレッシュ管理テーブルの当該物理ブロックにフラグ“Low”(特許請求の範囲の第1種フラグに相当)を設定する(図3)。
システムの電源が遮断される際は、リフレッシュ管理テーブルの内容を管理領域に不揮発的に記録し、次回システム稼動時に再度RAM23に展開し、過去の記録を利用する。システム稼動中に何らかの理由により電源が遮断される可能性があるので、所定時間間隔ごとに(例えば10分おき)、リフレッシュ管理テーブルの内容を、管理領域に記録してもよい。
以下、本発明のリフレッシュ方法の実施形態例を説明する。
(第1実施例:オートリフレッシュ)
オートリフレッシュは、デバイス2に電源投入直後、ホスト1よりコントローラ21に、ENABLE/DISABLE AUTO REFRESH コマンド(デバイス提供者で定義するユニークコマンド。以下、単にオートリフレッシュコマンドという。)を発行しておき、所定時刻及び/又は所定時間間隔にリフレッシュを実行させる方法である。デバイス2に定常的に電源が投入されているようなシステムの場合は、所定時刻ごと(秒単位で設定可能)にリフレッシュを実行してもよい。またはコントローラ21に、ENABLE/DISABLE AUTO REFRESH コマンドで実行すると同様なプログラム(ファームウエア)を予めインストールしておいてもよい。これらオートリフレッシュは、フラッシュメモリデバイス2が有するタイマー(図示せず)を利用して自動的にリフレッシュを実行する方法であるため、本願では以下、タイマーイベントという。オートリフレッシュの場合、特許請求の範囲のステップd)、e)、f)がタイマーイベントで実行される。
A.フラグ“Low”の設定されている物理ブロックが一つだけ存在する場合
オートリフレッシュコマンドまたはファームウエアにより、タイマーイベントが、ホスト1がメディアアクセスをしていないときに発生した場合は、コントローラ21はリフレッシュ管理テーブルをサーチし、フラグ“Low”が設定されている物理ブロックが一つ存在することが確認された場合、コントローラ21は当該フラグが設定されている物理ブロックのリフレッシュを直ちに実行する。尚、メディアアクセスとは、ホストがコマンドを発行することにより、フラッシュメモリ22からデータの読み出しや、データの書き込みを行うことをいう。
タイマーイベントが、ホスト1がメディアアクセスしているときに発生した場合は、一の物理ブロックに対するメディアアクセスの処理を完了し次のメディアアクセスの処理開始前に割り込んでリフレッシュを実行する。
B.フラグ“Low”の設定されている物理ブロックが二つ以上存在する場合
タイマーイベントが、ホスト1がメディアアクセスを実行していないときに発生した場合であって、リフレッシュ管理テーブルでフラグ“Low”が設定されている物理ブロックが二つ存在することが確認された場合、コントローラ21は当該フラグが設定されている物理ブロックを一つずつ、即ち、ブロック単位でリフレッシュする。まずデータ消去回数が、図4のフェーズA,B,Cのいずれに該当するかを判定し、データ読み出し回数がそれぞれの閾値(コントローラ閾値)を超えた値が大きいもの順にリフレッシュを実行する。又は、データ読み出し回数がベンダー指定値に近いもの順にリフレッシュを実行する。図4では、フェーズA,B,Cのそれぞれで、ベンダー指定値とコントローラ閾値の差がすべて同じであるため、上記2例において実質的に同一の結果となるが、フェーズA,B,Cのそれぞれで、ベンダー指定値とコントローラ閾値の差を異なる値に設定した場合は、前者の実行方法を採った場合と後者の実行方法を採った場合とではリフレッシュの順番が異なる。このような方法を採ることにより、リードディスターブエラーを生起する可能性の高い順番で物理ブロックがリフレッシュされるため、リードディスターブエラーの発生をより確実に防止することができる。
C.タイマーイベントがホスト1がメディアアクセスしているときに発生した場合、若しくはホスト1のメディアアクセス中にタイマーイベントが発生した場合であって、フラグ“Low”の設定されている物理ブロックが複数存在することが確認された場合。
この場合は、物理ブロック単位で、時分割にリフレッシュを実行する。即ち1物理ブロック当たりのタイマーイベントの処理は、その開始から終了までせいぜい100ms(ミリ秒)程度であるから、リフレッシュ間隔(一の物理ブロックのリフレッシュ開始から次の物理ブロックのリフレッシュ開始まで)を、例えば1秒以上に設定する。そしてコントローラ21は、まず一の物理ブロックに対するメディアアクセスの処理の完了後、次のブロックのメディアアクセスの処理開始前に割り込んで1物理ブロックのリフレッシュを実行する。その後1秒経過してから同様なタイミングで次の物理ブロックのリフレッシュを実行する。
このようにすれば、リフレッシュ対象ブロックが複数存在する場合でも、ホスト1にデータを転送している最中にデータが途切れてユーザに不快感を与えたり、プレイに支障を生じさせることがない。特に、フラッシュメモリ22に記憶されているデータが音楽や動画などのコンテンツであって、多数の物理ブロックが一度にコントローラ閾値に達するような事態が生じても、物理ブロックごと時分割にリフレッシュを実行することにより、一定のデータ転送レートを担保することができ、ユーザに支障を来たすことがない。
以下、図を用いて、フラグ“Low”の設定された物理ブロックに対するリフレッシュのやり方について説明する。
図3に示す通り、リフレッシュフラグの設定されている物理ブロックが、物理ブロック番号“2”、“6”及び“9999”の三つあるとする。データ消去回数は、物理ブロック番号“2”も物理ブロック番号“6”もどちらも0回で、フェーズAに該当する。データ読み出し回数は、物理ブロック番号“2”は990,100回、物理ブロック番号“6”は990、515回であり、コントローラ閾値990,000に対して、物理ブロック番号“6”が、より閾値を超えているため、リフレッシュは物理ブロック番号“6”が、物理ブロック番号“2”に優先する。また物理ブロック番号“9999”のデータ消去回数は1050回であるためフェーズBに該当し、コントローラ閾値290,000に対して読み出し回数が290,050回であるから、コントローラ閾値を越える回数は、物理ブロック番号“2”より少ないから、リフレッシュは物理ブロック番号“2”が優先する。以上より、物理ブロック番号“6”、“2”、“9999”の順にリフレッシュを実行することになる。
物理ブロック番号“6”のリフレッシュに当たっては、まず空きブロック(物理ブロック番号“4042”)を新たなデータ書き込み用のブロックとして選定する。次にリフレッシュ対象物理ブロックである物理ブロック番号“6”から1ページずつフラッシュメモリ22内のバッファにすべてのデータを読み出し、続いてバッファから前記新たなデータ書き込み用ブロックに全てのページのデータを1ページずつプログラム(書き込み)する。そして元のブロックである物理ブロック番号“6”のデータを一括消去する(図5参照)。1ブロック分のデータすべてを読み出してから新たなデータ書き込み用ブロックへ書き込むのではなく、バッファへの読み出しと新たなデータ書き込み用ブロックへの書き込みを、ページ単位で、順次行ってもよい。この場合、バッファの容量は1ページ分で足りる。
そして、元の物理ブロックである物理ブロック番号“6”に対応していた論理ブロック番号を、新たなデータ書き込み用ブロックとなった物理ブロック番号(“4042”)に新たに対応させて、論理/物理ブロック管理テーブルを更新するとともに、物理ブロック番号“6”を空きブロックとして、空きブロック管理テーブルを更新する(“4042は空きブロック管理テーブルから削除する”)。また、リフレッシュ管理テーブル上で、消去した元のブロックである物理ブロック番号“6”のデータ読み出し回数をゼロに変更し、データ消去回数を1つインクリメントする。以上で物理ブロック番号“6”に対するリフレッシュが完了する。物理ブロック番号“6”のリフレッシュが終了したら、以降、物理ブロック番号“2”、”9999”についても、上記例に倣ってリフレッシュを実行する。なお新たなデータ書き込み用のブロックは、予備ブロックの一つ(例えば、物理ブロック番号“4043”)から選定してもよい。この場合は、元の物理ブロックに対応していた論理ブロック番号を、新たなデータ書き込み用ブロックとなった物理ブロック番号(“4043”)に新たに対応させて、論理/物理ブロック管理テーブルを更新するとともに、元の物理ブロック番号を空きブロックとして、空きブロック管理テーブルを更新する(“4042は空きブロック管理テーブルから削除する”)。
尚、必ずしもホスト1への高速なデータ転送が要求されない場合は、リフレッシュ対象物理ブロックである物理ブロック番号“6”から1ページずつエラー訂正しながらRAM23(リフレッシュ管理テーブルを記録する領域意外の領域を利用)にすべてのデータを読み出して格納し、続いてRAM23から前記新たなデータ書き込み用ブロックに全てのページのデータを1ページずつプログラム(書き込み)してもよい。こうすれば、ブロックの潜在的なエラーをすべて訂正するので、データの信頼性が高まる。この場合もバッファへの読み出しと新たなデータ書き込み用ブロックへの書き込みを、ページ単位で、順次行ってもよいことは言うまでもない。
従来リフレッシュは、データの読み出し中にイレギュラーに必要となり、ホストへのデータのread時間が増大していたが、本発明では、リフレッシュ管理テーブルを用いて、所定のタイミングで一括して行うので、斯かる不都合は生じない。また従来のリフレッシュのやり方は、1)その物理ブロックのデータをフラッシュメモリ22内のバッファに待避し、次に2)当該ブロックのデータを消去し、その後3)待避しておいたデータを元のブロックに再書き込みしている。この場合、当該ブロックのデータを消去した後であってかつバッファに待避しておいたデータを元のブロックに再書き込み完了する前に何らかの原因で電源が遮断された場合、本来のデータが消失してしまう危険性がある。この点、上記実施形態例によれば、新たなデータ書き込み用ブロックにデータが完全にコピーされるまで、元のブロックのデータは消去されないから、リフレッシュ中のどの段階で電源が遮断されても本来のデータが失われることがない。尚本発明においても、上記1)乃至3)のやり方でリフレッシュしてもよいことは言うまでもない。その場合は元のブロックを再利用するので、ブロック管理テーブルのいずれも変更しなくてよい。
(第2実施例:ホストからのコマンド発行によるリフレッシュ)
上述のオートリフレッシュの他、メディアアクセスを実行しないときに、ホスト1がコントローラ21に以下のようなコマンドを発行してリフレッシュを実行してもよい。
1.GET REFRESH PENDING STATUS コマンド
本コマンドは、コントローラ21に対し、リフレッシュ管理テーブルをサーチさせ
て、リフレッシュフラグ(“Low”又は後述する“High”)が設定されている物理ブロックの総数をホスト1に通知させるものである。
2.EXECUTE
REFRESH コマンド
本コマンドは、コントローラ21にリフレッシュを実行させるものである。リフレ
ッシュが終了するとコマンドが終了する。リフレッシュを実行する物理ブロック数を指定できる。
3.SAVE
REFRESH TABLE コマンド
本コマンドは、コントローラ21に、RAM23上のリフレッシュ管理テーブルの内
容を、管理領域に保存させるものである。リフレッシュ管理テーブルの保存が終了するとコマンドが終了する。
ホスト1のドライバには、GET REFRESH PENDING STATUS コマンドを発行して、リフレッシュの必要なブロックの有無及びその数を把握し、リフレッシュの必要なブロックがあれば、ホスト1がメディアアクセスしていないときにコントローラ21にEXECUTE REFRESHコマンドを発行するようプログラムしておく。
このようにすれば、ホスト1は必要に応じて適宜コントローラ21にリフレッシュを実行させることができる。即ち、コントローラ21は、必要なときにのみ、効果的にリフレッシュを実行することができる。またSAVE REFRESH TABLE コマンドにより、必要に応じ、コントローラ21にRAM23上のリフレッシュ管理テーブルの内容をフラッシュメモリのリフレッシュ管理テーブルに不揮発的に保存させることができる。
以上のように、本発明は上記第1実施例、第2実施例のいずれのリフレッシュ方法を採用しても、リフレッシュを実行すべき物理ブロックが複数存在する場合、一定のタイムインターバルを以って複数の物理ブロックを時分割でリフレッシュするため、音楽や動画などのコンテンツの読み出しが途中で途切れ、ユーザに不快感を与えたり、プレイに支障を生じることがない。また、メディアアクセスする必要のないタイミングに上記ベンダーコマンドを発行するようホスト1のドライバにプログラムしておくことにより、コントローラ21の動作効率をより向上させることができる。
(bitエラーの対応及びbadブロックの処理)
フラッシュメモリデバイスは、データ書き込みの際、ユーザデータに対してエラーチェックコード(ECC)を付加して書き込んでいる。データ読み出し時にはデコーダがこのエラーチェックコードを基に、読み出したデータにエラー(本願ではこれを「bitエラー」という)がないかをチェックし、bitエラー数がコントローラの能力値(例えば8bit)以内であれば、コントローラ21内のエラー訂正回路(図示せず)がbitエラーを訂正し、正しいデータをホスト1に送出する。bitエラーは、データの消去、リードディリスターブ、経年変化(データリテンション)、セルの物理的欠陥(たとえば絶縁膜の劣化、破壊)などに起因して生じる。bitエラー数がコントローラ能力値を超えると、その欠陥セルを含むブロックは、もはやエラー訂正ができず、使用に耐えないbadブロックとなる。
そこで本発明では、安全性を担保するため、コントローラ21の能力値と同じかそれより小さい所定値(例えば7bit)を予め閾値(「badブロック閾値」という)として設定しておき、bitエラーがbadブロック閾値に至ったセルを含むブロックをbadブロックと看做し、お蔵入りとするものである。
以下、この処理を簡単に説明する。まず、読み出したデータのbitエラー数がbadブロック閾値未満であったときは、通常通り、bitエラーを訂正してデータをホスト1に送出する。bitエラーがbadブロック閾値以上かつコントローラの能力値以下であったときは、bitエラーを訂正したデータをホスト1に送出するとともに、リフレッシュ管理テーブルの当該エラーを含む物理ブロックに、第2種フラグ“High”を設定する。図3には、物理ブロック番号“4”において、読み出し回数300回でフラグ“High”が設定されている様子が示されている。
タイマーイベントが発生し、若しくはリフレッシュコマンドがホスト1から発行され、コントローラ21がリフレッシュ管理テーブルをサーチした結果、フラグ“High”が設定された物理ブロックが確認されたときは、予備ブロック(ここでは物理ブロック番号“4044”)を新たなデータ書き込み用ブロックに割り当てる。次にbadブロックと看做された物理ブロックの全データを1ページずつエラー訂正しながらRAM23に一旦格納し、前記予備ブロックに書き込む。badブロックと看做された物理ブロックの全データをフラッシュメモリ内22のバッファに読み出して、エラー訂正することなく予備ブロックに書き込んでもよいが、エラー訂正して書き込む方がデータの信頼性が高まる。データの書き込み処理が完了したら、元の物理ブロックの論理ブロック番号と予備ブロックの物理ブロック番号“4044”を新たに対応させて、論理/物理ブロック管理テーブルを更新する。このとき元のブロックの物理ブロック番号がブロック管理テーブルから削除されるので、元の物理ブロックは以降使用されることはない。
そして、リフレッシュ管理テーブル上において、badブロックと看做された物理ブロックアドレス“4”のフラグ“High”をNoneにする。この場合、元ブロックは以降使用しないので、ブロックに記憶されているデータは消去しなくてよい。以上で、フラグ“High”の設定された物理ブロック番号“4”に対する処理が完了する(本願では以上の処理を“badブロック処理”というものとする)。
尚、万一bitエラー数がコントローラ能力値を超えた場合は、エラー訂正ができないため、コントローラ21はホスト1にエラーを返すことになるが、badブロックと看做すための前記badブロック閾値を、アプリケーションや使用環境に応じて適切な値に設定することにより、斯かる事態の発生を防ぐことができる。
そして、コントローラ21がリフレッシュ管理テーブルをサーチしたとき、フラグ“Low”の設定されている物理ブロックとフラグ“High”の設定されている物理ブロックが並存する場合は、フラグ“High”の設定されている物理ブロックに対するbadブロック処理を、フラグ“Low”の設定されている物理ブロックのリフレッシュに優先して実行する。
上記第1実施例(オートリフレッシュ)において、タイマーイベントが、ホストがメディアアクセス実行中に発生した場合若しくはタイマーイベントの処理中にホスト1からメディアアクセスコマンドが発行された場合であって、その時点でリフレッシュ管理テーブル上に、フラグ“Low”及び/又は“High”の設定されている物理ブロックが複数存在する場合は、フラグ“High”の設定されている物理ブロックの処理を優先しつつ、フラグ“High”及び/又は“Low”の設定されている物理ブロックに対する処理を、前述した方法(段落0021参照)と同様に、ブロック単位で時分割に実行する。
また上記第2実施例(ホストからのコマンド発行によるリフレッシュ)において、コントローラ21がリフレッシュの実行中にさらにホスト1からメディアアクセスコマンドが発行された場合であって、その時点でリフレッシュ管理テーブル上に、フラグ“Low”及び/又は“High”の設定されている物理ブロックが複数存在する場合も、フラグ“High”の設定されている物理ブロックの処理を優先しつつ、フラグ“High”及び/又は“Low”の設定されている物理ブロックに対する処理を、前述した方法(段落0021参照)と同様に、ブロック単位で時分割に実行する。
尚、万一bitエラー数がコントローラ能力値を超えた場合は、エラー訂正ができないため、コントローラ21はホスト1にエラーを返すことになるが、badブロックと看做すための前記badブロック閾値を、アプリケーションや使用環境に応じて適切な値に設定することにより、斯かる事態の発生を防ぐことができる。
以下、コントローラ21がホスト1からコマンドを発行された場合の処理(リフレッシュコマンドに基づきリフレッシュを行う場合の例)を、図7乃至図9のフローチャートを用いて説明する。はじめに図7を用いて説明する。コントローラ21は常時ホスト1からコマンドが発行されたかを確認する(SP1)。コマンドが発行された場合、その発行されたコマンドがデータの上書きを伴う書き込みコマンド又は消去コマンドか確認し(SP2)、yesの場合は、当該コマンドを実行し(SP3)、リフレッシュ管理テーブルの当該コマンドが実行された物理ブロックの“消去回数”を1つインクリメントする(SP4)。初期値は0である。発行されたコマンドがデータの上書きを伴う書き込みコマンド又は消去コマンドでない場合は、引き続きデータの読み出しコマンドであるか確認し(SP5)、yesの場合は※1(図8)へ進む。即ち、そのコマンドに従ってデータの読み出しを実行し(SP6)、データを読み出したページを含む物理ブロックの“読み出し回数”を一つインクリメントする(SP7)。そして、そのブロックに係る読み出し回数がコントローラ閾値以上であるか確認し(SP8)、yesであれば、リフレッシュ管理テーブルにフラグ“Low”を設定する(SP9)。そして読み出したデータにbitエラーがないか確認し(SP10)、ない場合はデータをそのままホストに送出する(SP11)。bitエラーがあった場合は,badブロック閾値未満であるか確認し(SP12)、yesであればエラー訂正した上で(SP13)、データをホストに送出する(SP11)。bitエラーがbadブロック閾値以上であった場合はコントローラ能力値以下であるかを確認し(SP14)、yesであればリフレッシュ管理テーブルの当該物理ブロックにフラグ“High”を設定し(SP15)、エラー訂正した上で(SP13)、データをホストに送出する(SP11)。仮にbitエラーがコントローラ能力値を超えていた場合はホストにエラーを返し(SP16)、※3(図8参照)に進む。
SP5でnoであった場合は、※2へ進む(図9参照)。即ち、ホストから発行されたコマンドがリフレッシュコマンドであるか確認し(SP17)、noであれば当該処理を実行して(SP18)、※3に進む。yesであればリフレッシュ管理テーブルをサーチし(SP19)、フラグ(“High”及び/又は“Low”)が設定されているかを確認する(SP20)。そしてyesであれば、フラグ“High”のブロックに対する処理を、フラグ“Low”のブロックに優先して行う(SP21)。そして、論理/物理ブロック管理テーブルを更新し(SP22)、※3へと進む。
以上のように、上記実施形態例では、リードディスターブエラー発生の未然防止(リフレッシュ)と、種々の原因により発生したbadブロックの処理を、リフレッシュ管理テーブルを用いて一括して処理することができるため、従来にはないシステムパフォーマンスを提供することができる。
尚、RAM23は、コントローラ21に外付けする場合、Random Access Memoryの他、DRAM、SDRAM(synchronous DRAM)でもよい。
また、図6に示ように、リフレッシュ管理テーブルは、工場出荷時に物理ブロックごとに異なるデータ読み出し回数(ダミー)を記録しておいてもよい。このようにすれば、専らシーケンシャルリード(sequential read)されるアプリケーションの場合、リフレッシュをさらに分散して実行することができる。
また、本システムが遊戯機に搭載される場合、一日のプレイ中に何度もコンテンツデータが読み出される。コンテンツは例えば、図柄である。このコンテンツデータは複数の物理ブロックに跨ってファイルとして管理されている場合もある(これをコンテンツファイルという)。この場合、一日における当該図柄の読み出し回数を記憶しておくとともに、システム電源をオンしたときに、一日における当該図柄の読み出し回数の最大値や毎日の平均値を求め、当日にフラグ“Low”が設定され得る状況であるかを予想し、設定される可能性がある場合は、システム本稼動前にリフレッシュを前倒しで実行してもよい(フィードフォワード制御)。或いは、システム稼動終了後に翌日にフラグ“Low”が設定されるかを予想し、設定される可能性がある場合、電源OFF前にリフレッシュを実行してもよい。このようにすれば、プレイ途中のリフレッシュを極力少なくすることができ、システムパフォーマンスを一層向上させることができる。パチンコ遊技機やスロットマシンのように、一日中稼動する遊技機の場合は特に有効である。
以上説明したように、本発明は、リフレッシュをデータ読み出し回数制限値(ベンダー閾値)に至る前に実行するとともに、リフレッシュとbadブロック処理の両者をjust in time方式ではなくリフレッシュ管理テーブルを使用して集中して実行するため、リードディステーブエラーの防止とbadブロック処理を有効且つ効率的に行うことができる。またホストからの継続したデータ読み出し要求がなされた場合でも一定のタイムインターバルで時分割にリフレッシュやbadブロック処理を実行するので、データ転送レートを保証でき、ユーザに不快感を与えたり、ホストに転送されるデータが一時的に中断しプレイに支障が生じることを防止することができる。ホストがメディアアクセスしないときにコマンドを発行してリフレッシュを実行する場合は、データ転送レートをより一層保証することができる。
本発明の実施形態を実行するシステムの基本構成例である。 フラッシュメモリの領域例である。 リフレッシュ管理テーブルの内容例である。 データ消去回数範囲(フェーズ)ごとの、データ読み出し回数のベンダー指定値及びコントローラ閾値の関係例である。 リフレッシュの実行方法例である。 工場出荷時(初期状態)のリフレッシュ管理テーブル例である。 コントローラが実行する処理のフローチャート例である。 コントローラが実行する処理のフローチャート例(続き)である。 コントローラが実行する処理のフローチャート例(続き)である。
符号の説明
1 ホスト
2 フラッシュメモリデバイス
21 コントローラ
22 NAND型フラッシュメモリ
23 RAM




























Claims (14)

  1. ユーザデータ領域と予備領域と管理領域を有するメモリと該メモリを制御するコント
    ローラを備えた記憶装置であって、コントローラは、
    物理ブロック毎のデータ読み出し回数、消去回数を、リフレッシュ管理テーブルに随
    時記録、更新する手段と、
    物理ブロックのデータ読み出し回数が各物理ブロックのデータ消去回数の所定の範囲
    ごとに異なる値に設定されている各閾値に至ったとき、リフレッシュ管理テーブル上の当該物理ブロックに第1種フラグを設定する手段と、
    メモリから読み出されたデータにbitエラーがあった場合であって、該bitエラ
    ー数が予め定めた閾値以上であったとき、リフレッシュ管理テーブルの当該エラーのあった物理ブロックに第2種フラグを設定する手段と、
    リフレッシュ管理テーブルをサーチする手段と、
    リフレッシュ管理テーブルをサーチした結果、第1種フラグの設定された物理ブロッ
    クが確認されたとき、そのブロックをリフレッシュする手段と、
    リフレッシュ管理テーブルをサーチした結果第2種フラグの設定された物理ブロックが確認されたとき、その物理ブロックのデータを訂正後、予備ブロックにコピーし、ブロック管理テーブルを更新する手段、
    を有することを特徴とする記憶装置。







  2. 前記リフレッシュは、第1種フラグの設定された物理ブロックのデータをバッファにコピーするとともに、元のデータを消去してから前記バッファにコピーしたデータを元のブロックに書き戻し、リフレッシュ管理テーブル上の当該物理ブロックのデータ読み出し回数を“0”に変更することを特徴とする請求項1記載の記憶装置。
  3. 前記リフレッシュは、前記第1種フラグの設定された物理ブロックのデータを空きブロック若しくは予備ブロックにコピーするとともに、元のデータを消去して、ブロック管理テーブルを更新し、リフレッシュ管理テーブル上の当該物理ブロックのデータ読み出し回数を“0”に変更することを特徴とする請求項1記載の記憶装置。
  4. リフレッシュ管理テーブルのサーチと、前記第1種フラグ及び/又は第2種フラグの設定された物理ブロックに対する処理をタイマーイベントとして実行することを特徴とする請求項1乃至請求項3いずれか1項記載の記憶装置。
  5. タイマーイベントを発生させるファームウエアをコントローラに予めプログラムしておくことを特徴とする請求項4記載の記憶装置。
  6. リフレッシュ管理テーブルに第1種フラグの設定されている物理ブロックと第2種フラグの設定されている物理ブロックが並存することが確認されたとき、第2種フラグの設定されている物理ブロックに対する処理を第1種フラグの設定されている物理ブロックに優先して実行することを特徴とする請求項1乃至請求項5いずれか1項記載の記憶装置。
  7. リフレッシュ管理テーブルに第1種フラグ及び/又は第2種フラグの設定されている物理ブロックが複数存在し、コントローラがタイマーイベントとホストのメディアアクセスを同時処理する場合、第1種フラグ及び/又は第2種フラグの設定されている物理ブロックの処理を所定のタイムインターバルで、当該ブロック単位で実行することを特徴とする請求項6の記憶装置。
  8. 工場出荷時にリフレッシュ管理テーブルの読み出し回数としてダミーデータを予め管理領域に記録しておくことを特徴とする請求項1乃至請求項7いずれか1項記載の記憶装置。
  9. コントローラは、ユーザデータ領域の読み出し回数を物理ブロック単位で毎日記憶しておくとともに、請求項1乃至請求項8いずれか1記載の記憶装置を有するシステム電源をオンしたときに、当該物理ブロック単位の読み出し回数の最大値又は平均値を求めて、当日に第1種フラグが設定される物理ブロックが存在するか否かを予想し、設定される可能性がある物理ブロックは、システム本稼動前にリフレッシュを前倒しで実行することを特徴とする請求項1乃至請求項8いずれか1項記載の記憶装置。
  10. コントローラは、ユーザデータ領域の読み出し回数を物理ブロック単位で毎日記憶しておくとともに、請求項1乃至請求項8いずれか1記載の記憶装置を有するシステム稼動終了後、当該物理ブロック単位毎の読み出し回数の最大値又は平均値を求めて、翌日に第1種フラグが設定される物理ブロックが存在するか否かを予想し、設定される可能性がある物理ブロックは、システム電源をOFFする前にリフレッシュを前倒しで実行することを特徴とする請求項1乃至請求項8いずれか1記載の記憶装置。
  11. 請求項1乃至請求項10いずれか1項記載の記憶装置と該記憶装置にメディアアクセスするホストからなるシステム。
  12. 基板上に構成されてなることを特徴とする請求項11記載のシステム。
  13. 請求項11又は請求項12のシステムを搭載した遊技機。
  14. パチンコ遊技機若しくはスロットマシンであることを特徴とする請求項13記載の遊技機。













JP2008257305A 2007-12-27 2008-10-02 記憶装置、システム、該システムを搭載した遊技機 Expired - Fee Related JP4377951B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008257305A JP4377951B2 (ja) 2007-12-27 2008-10-02 記憶装置、システム、該システムを搭載した遊技機

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007336047 2007-12-27
JP2008037139 2008-02-19
JP2008257305A JP4377951B2 (ja) 2007-12-27 2008-10-02 記憶装置、システム、該システムを搭載した遊技機

Publications (2)

Publication Number Publication Date
JP2009224013A JP2009224013A (ja) 2009-10-01
JP4377951B2 true JP4377951B2 (ja) 2009-12-02

Family

ID=40548588

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2008257293A Active JP4377950B2 (ja) 2007-12-27 2008-10-02 メモリの管理方法
JP2008257302A Active JP5567263B2 (ja) 2007-12-27 2008-10-02 メモリの管理方法
JP2008257305A Expired - Fee Related JP4377951B2 (ja) 2007-12-27 2008-10-02 記憶装置、システム、該システムを搭載した遊技機

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2008257293A Active JP4377950B2 (ja) 2007-12-27 2008-10-02 メモリの管理方法
JP2008257302A Active JP5567263B2 (ja) 2007-12-27 2008-10-02 メモリの管理方法

Country Status (3)

Country Link
US (1) US20090172267A1 (ja)
EP (1) EP2077559B1 (ja)
JP (3) JP4377950B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009224012A (ja) * 2007-12-27 2009-10-01 Hagiwara Sys-Com:Kk メモリの管理方法

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009230475A (ja) * 2008-03-24 2009-10-08 Nec Personal Products Co Ltd 不揮発性半導体記憶部を含む記憶システム
US9720616B2 (en) * 2008-06-18 2017-08-01 Super Talent Technology, Corp. Data-retention controller/driver for stand-alone or hosted card reader, solid-state-drive (SSD), or super-enhanced-endurance SSD (SEED)
US8891298B2 (en) * 2011-07-19 2014-11-18 Greenthread, Llc Lifetime mixed level non-volatile memory system
JP5367357B2 (ja) * 2008-12-24 2013-12-11 株式会社メガチップス メモリシステムおよびコンピュータシステム
JP5185156B2 (ja) * 2009-02-24 2013-04-17 株式会社東芝 メモリコントローラおよび半導体記憶装置
US8745170B2 (en) * 2009-08-27 2014-06-03 Apple Inc. Dynamic file streaming
JP2011107851A (ja) * 2009-11-13 2011-06-02 Toshiba Corp メモリシステム
TWI417889B (zh) * 2009-12-30 2013-12-01 Silicon Motion Inc 快閃記憶體之寫入逾時控制方法及其記憶裝置
US9727571B2 (en) * 2010-01-21 2017-08-08 Sandisk Il Ltd. Storage system supporting replacement of content in a storage device
KR101658479B1 (ko) 2010-02-09 2016-09-21 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US9324440B2 (en) 2010-02-09 2016-04-26 Samsung Electronics Co., Ltd. Nonvolatile memory devices, operating methods thereof and memory systems including the same
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US9378831B2 (en) 2010-02-09 2016-06-28 Samsung Electronics Co., Ltd. Nonvolatile memory devices, operating methods thereof and memory systems including the same
KR101691088B1 (ko) 2010-02-17 2016-12-29 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
JP5788183B2 (ja) * 2010-02-17 2015-09-30 三星電子株式会社Samsung Electronics Co.,Ltd. 不揮発性メモリ装置、それの動作方法、そしてそれを含むメモリシステム
US8923060B2 (en) 2010-02-17 2014-12-30 Samsung Electronics Co., Ltd. Nonvolatile memory devices and operating methods thereof
US8908431B2 (en) 2010-02-17 2014-12-09 Samsung Electronics Co., Ltd. Control method of nonvolatile memory device
JP2011170956A (ja) 2010-02-18 2011-09-01 Samsung Electronics Co Ltd 不揮発性メモリ装置およびそのプログラム方法と、それを含むメモリシステム
US8792282B2 (en) 2010-03-04 2014-07-29 Samsung Electronics Co., Ltd. Nonvolatile memory devices, memory systems and computing systems
JP2010160816A (ja) * 2010-03-29 2010-07-22 Toshiba Corp 半導体記憶装置の制御方法
TWI490869B (zh) * 2010-08-13 2015-07-01 Mstar Semiconductor Inc 應用於快閃記憶體的方法與相關的控制器
US8392635B2 (en) 2010-12-22 2013-03-05 Western Digital Technologies, Inc. Selectively enabling a host transfer interrupt
JP2012173778A (ja) * 2011-02-17 2012-09-10 Sony Corp 管理装置、および管理方法
US8560922B2 (en) 2011-03-04 2013-10-15 International Business Machines Corporation Bad block management for flash memory
KR101826137B1 (ko) 2011-03-24 2018-03-22 삼성전자주식회사 메모리 컨트롤러, 이를 포함하는 장치들, 및 이의 동작 방법
WO2012147136A1 (en) * 2011-04-28 2012-11-01 Hitachi, Ltd. Semiconductor storage apparatus and method for controlling semiconductor storage apparatus
JP5708228B2 (ja) * 2011-05-17 2015-04-30 大日本印刷株式会社 Icカード及びicカードのリフレッシュ方法
WO2013030866A1 (en) 2011-08-29 2013-03-07 Hitachi, Ltd. Semiconductor storage device comprising electrically rewritable nonvolatile semiconductor memory
US9361986B2 (en) * 2011-09-19 2016-06-07 Sandisk Technologies Inc. High endurance non-volatile storage
CN103946811B (zh) 2011-09-30 2017-08-11 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
EP2761472B1 (en) 2011-09-30 2020-04-01 Intel Corporation Memory channel that supports near memory and far memory access
CN103946826B (zh) 2011-09-30 2019-05-31 英特尔公司 用于在公共存储器通道上实现多级存储器层级的设备和方法
EP2761466B1 (en) 2011-09-30 2020-08-05 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy
WO2013145024A1 (en) * 2012-03-30 2013-10-03 Hitachi, Ltd. Storage system with flash memory, and storage control method
TWI467376B (zh) * 2012-06-11 2015-01-01 Phison Electronics Corp 資料保護方法、記憶體控制器與記憶體儲存裝置
US9053808B2 (en) * 2012-06-21 2015-06-09 Sandisk Technologies Inc. Flash memory with targeted read scrub algorithm
US20140013031A1 (en) * 2012-07-09 2014-01-09 Yoko Masuo Data storage apparatus, memory control method, and electronic apparatus having a data storage apparatus
KR20140008702A (ko) * 2012-07-11 2014-01-22 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 쓰기 방법
TWI509615B (zh) 2012-08-03 2015-11-21 Phison Electronics Corp 資料儲存方法、記憶體控制器與記憶體儲存裝置
CN103593296B (zh) * 2012-08-15 2016-05-18 群联电子股份有限公司 数据储存方法、存储器控制器与存储器储存装置
US8966343B2 (en) 2012-08-21 2015-02-24 Western Digital Technologies, Inc. Solid-state drive retention monitor using reference blocks
JP6012432B2 (ja) * 2012-11-27 2016-10-25 株式会社メガチップス 半導体記憶装置
US20140173239A1 (en) * 2012-12-19 2014-06-19 Apple Inc. Refreshing of memory blocks using adaptive read disturb threshold
US9575829B2 (en) 2013-03-13 2017-02-21 Sandisk Technologies Llc Probability-based remedial action for read disturb effects
US9032264B2 (en) 2013-03-21 2015-05-12 Kabushiki Kaisha Toshiba Test method for nonvolatile memory
CN105683926A (zh) * 2013-06-25 2016-06-15 美光科技公司 按需块管理
US9355689B2 (en) * 2013-08-20 2016-05-31 Oracle International Corporation Detection of multiple accesses to a row address of a dynamic memory within a refresh period
KR102242022B1 (ko) 2013-09-16 2021-04-21 삼성전자주식회사 불휘발성 메모리 및 그것의 프로그램 방법
US9329802B2 (en) * 2013-11-11 2016-05-03 Qualcomm Incorporated Fail safe refresh of data stored in NAND memory device
US9274888B2 (en) 2013-11-15 2016-03-01 Qualcomm Incorporated Method and apparatus for multiple-bit DRAM error recovery
TWI503843B (zh) * 2014-01-08 2015-10-11 Winbond Electronics Corp 適應性刷新裝置與方法
KR102069274B1 (ko) * 2014-02-05 2020-01-22 삼성전자주식회사 메모리 제어 방법
TWI514401B (zh) * 2014-03-11 2015-12-21 Winbond Electronics Corp 串列反及式快閃記憶體及其內建可變式壞區的管理方法
US9495242B2 (en) * 2014-07-30 2016-11-15 International Business Machines Corporation Adaptive error correction in a memory system
US9959059B2 (en) * 2014-10-20 2018-05-01 Sandisk Technologies Llc Storage error management
KR102277521B1 (ko) 2015-01-23 2021-07-16 삼성전자주식회사 저장 장치 및 그것의 리드 리클레임 및 읽기 방법
US9977615B2 (en) * 2015-09-28 2018-05-22 Qualcomm Incorporated Smart refresh of data on flash devices
KR102449337B1 (ko) 2015-12-14 2022-10-04 삼성전자주식회사 불휘발성 메모리 시스템의 동작 방법
KR20170089069A (ko) * 2016-01-25 2017-08-03 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
US10303623B2 (en) 2016-04-08 2019-05-28 Cryptography Research, Inc. Non-volatile memory for secure storage of authentication data
TWI604455B (zh) * 2016-05-13 2017-11-01 Silicon Motion Inc 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法
JP6679412B2 (ja) * 2016-05-19 2020-04-15 キヤノン株式会社 ストレージ制御装置、情報処理方法及びプログラム
US10192608B2 (en) * 2017-05-23 2019-01-29 Micron Technology, Inc. Apparatuses and methods for detection refresh starvation of a memory
US10109339B1 (en) * 2017-07-28 2018-10-23 Micron Technology, Inc. Memory devices with selective page-based refresh
US10176860B1 (en) 2017-08-29 2019-01-08 Micron Technology, Inc. Refresh in non-volatile memory
US10140042B1 (en) 2017-09-13 2018-11-27 Toshiba Memory Corporation Deterministic read disturb counter-based data checking for NAND flash
CN108052279B (zh) * 2017-11-23 2020-06-19 深圳市江波龙电子股份有限公司 一种提升闪存性能的方法、装置、设备及存储介质
JP7074519B2 (ja) 2018-03-19 2022-05-24 キオクシア株式会社 メモリシステム、および、メモリ制御方法
JP2019168937A (ja) 2018-03-23 2019-10-03 東芝メモリ株式会社 メモリシステム、制御方法及びコントローラ
US10475519B2 (en) 2018-03-23 2019-11-12 Micron Technology, Inc. Methods for detecting and mitigating memory media degradation and memory devices employing the same
US11010067B2 (en) * 2018-12-28 2021-05-18 Intel Corporation Defense against speculative side-channel analysis of a computer system
KR20200132566A (ko) * 2019-05-17 2020-11-25 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
KR20200143912A (ko) 2019-06-17 2020-12-28 삼성전자주식회사 멀티-스트리밍을 지원하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 제어 방법
US10915400B1 (en) * 2019-11-08 2021-02-09 Micron Technology, Inc. Dynamic over provisioning allocation for purposed blocks
US11056211B1 (en) * 2020-01-08 2021-07-06 Western Digital Technologies, Inc. Apparatus and method for handling temperature dependent failures in a memory device
JP6852207B2 (ja) * 2020-03-18 2021-03-31 キヤノン株式会社 ストレージ制御装置、情報処理方法及びプログラム
KR20220101264A (ko) * 2021-01-11 2022-07-19 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
DE102021102777A1 (de) * 2021-02-05 2022-08-11 Infineon Technologies Ag Verarbeitung von in einem speicher gespeicherter daten
US11790974B2 (en) 2021-11-17 2023-10-17 Micron Technology, Inc. Apparatuses and methods for refresh compliance
TW202324112A (zh) 2021-12-09 2023-06-16 韓商愛思開海力士有限公司 用以動態管理儲存裝置中的主機讀取運作及讀取刷新運作的方法、儲存裝置及其記錄媒體
JP2023088017A (ja) 2021-12-14 2023-06-26 キオクシア株式会社 メモリシステムおよび制御方法
US20230195351A1 (en) * 2021-12-17 2023-06-22 Samsung Electronics Co., Ltd. Automatic deletion in a persistent storage device
US20230280926A1 (en) * 2022-03-03 2023-09-07 Western Digital Technologies, Inc. Data Relocation With Protection For Open Relocation Destination Blocks

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06110793A (ja) * 1992-09-30 1994-04-22 Toshiba Corp 不揮発性半導体記憶装置
US5828862A (en) * 1994-05-04 1998-10-27 International Business Machines Corporation Game programming flash memory cartridge system including a programmer and a reprogrammable cartridge
JP3450071B2 (ja) * 1994-12-19 2003-09-22 三菱電機株式会社 Pcカード
JP3176019B2 (ja) * 1995-04-05 2001-06-11 株式会社東芝 不揮発性半導体記憶部を含む記憶システム
JP3641066B2 (ja) 1995-05-30 2005-04-20 株式会社東芝 フラッシュメモリを混載するマイクロコンピュータのデータ書換え方法
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
JP3450625B2 (ja) 1997-02-10 2003-09-29 東芝マイクロエレクトロニクス株式会社 不揮発性半導体記憶装置とその動作方法
JP2002150783A (ja) 2000-11-10 2002-05-24 Toshiba Corp 半導体記憶装置およびそのメモリセルトランジスタのしきい値の変化を判別する方法
GB0123415D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
US6751766B2 (en) * 2002-05-20 2004-06-15 Sandisk Corporation Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data
JP4256198B2 (ja) 2003-04-22 2009-04-22 株式会社東芝 データ記憶システム
US7173852B2 (en) 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
KR100645058B1 (ko) * 2004-11-03 2006-11-10 삼성전자주식회사 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US7814263B2 (en) * 2006-10-26 2010-10-12 Sandisk Il Ltd. Erase history-based flash writing method
KR20090014036A (ko) * 2007-08-03 2009-02-06 삼성전자주식회사 읽기 디스터번스로 인한 에러를 방지하는 메모리 시스템 및그 방법
EP2077559B1 (en) * 2007-12-27 2012-11-07 Hagiwara Solutions Co., Ltd. Refresh method of a flash memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009224012A (ja) * 2007-12-27 2009-10-01 Hagiwara Sys-Com:Kk メモリの管理方法

Also Published As

Publication number Publication date
US20090172267A1 (en) 2009-07-02
EP2077559A2 (en) 2009-07-08
JP2009224012A (ja) 2009-10-01
JP2009223876A (ja) 2009-10-01
EP2077559B1 (en) 2012-11-07
EP2077559A3 (en) 2011-07-20
JP4377950B2 (ja) 2009-12-02
JP2009224013A (ja) 2009-10-01
JP5567263B2 (ja) 2014-08-06

Similar Documents

Publication Publication Date Title
JP4377951B2 (ja) 記憶装置、システム、該システムを搭載した遊技機
US11573712B2 (en) Memory system storing management information and method of controlling same
US9043564B2 (en) Memory system with fixed and variable pointers
US7663933B2 (en) Memory controller
US7330995B2 (en) Nonvolatile memory apparatus which prevents destruction of write data caused by power shutdown during a writing process
KR101122485B1 (ko) 메모리 시스템
US8108594B2 (en) Memory system
TWI508068B (zh) 管理快閃記憶體中所儲存之資料的方法,及相關的記憶裝置與控制器
JP2004030849A (ja) データの一部書き換え機能を有する半導体不揮発性メモリ
JP7291640B2 (ja) 半導体記憶装置及び半導体記憶装置のリフレッシュ方法
US11656790B2 (en) Memory system, memory controller, and operation method of memory system
US20230195367A1 (en) Memory system, memory controller, and operation method of memory system
JP2009211202A (ja) メモリシステム
JP4304167B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Legal Events

Date Code Title Description
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: 20090827

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: 20090911

R150 Certificate of patent or registration of utility model

Ref document number: 4377951

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120918

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130918

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees