JP2003109384A - データ書込装置、データ書込制御方法及びプログラム - Google Patents
データ書込装置、データ書込制御方法及びプログラムInfo
- Publication number
- JP2003109384A JP2003109384A JP2001301789A JP2001301789A JP2003109384A JP 2003109384 A JP2003109384 A JP 2003109384A JP 2001301789 A JP2001301789 A JP 2001301789A JP 2001301789 A JP2001301789 A JP 2001301789A JP 2003109384 A JP2003109384 A JP 2003109384A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- storage device
- nand flash
- flash memory
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
- G11C29/883—Masking faults in memories by using spares or by reconfiguring with partially good memories using a single defective memory device with reduced capacity, e.g. half capacity
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Numerical Control (AREA)
Abstract
置に効率的に同一のデータを記憶させるためのデータ書
込装置及びデータ書込制御方法を提供することである。 【解決手段】 NANDフラッシュメモリコントローラ
CNは、NANDフラッシュメモリN−1〜N−n(n
は自然数)が記憶するエラーフラグに基づき、書き込み
対象のデータがあるメモリブロックのアドレスを各々の
NANDフラッシュメモリ毎に決定する。そして、書き
込み対象のデータの同一部分をNANDフラッシュメモ
リN−1〜N−nに記憶させるため、決定した各アドレ
スを該当するNANDフラッシュメモリにラッチさせ、
当該部分を一括してNANDフラッシュメモリN−1〜
N−nに供給する。アドレスは複数回に分けてラッチさ
せ、各アドレスを構成する複数個の部分のうち、複数の
NANDフラッシュメモリに共通している部分は、該当
する複数のNANDフラッシュメモリに一括してラッチ
させる。
Description
及びデータ書込制御方法に関し、特に、複数の記憶装置
に同一のデータを書き込むためのデータ書込装置及びデ
ータ書込制御方法に関する。
リが用いられている。フラッシュメモリには、大別して
NOR型、NAND型、AND型がある。NOR型のフ
ラッシュメモリは、1バイト単位でのランダムアクセス
が可能である。しかし、NAND型やAND型のフラッ
シュメモリに比べると、高価であり、集積度が低い。一
方、NAND型やAND型のフラッシュメモリは、NO
R型のフラッシュメモリに比べると、安価で集積度が高
いため、広く用いられている。NAND型のフラッシュ
メモリとしては、例えば、東芝社製の「TH58512
FT」などがある。
AND型のフラッシュメモリは、記憶領域を構成するメ
モリブロックのうちに含まれる不良メモリブロック(デ
ータを正常に記憶できないメモリブロック)の割合が無
視できないほど大きい。従って、複数のNAND型(あ
るいはAND型)フラッシュメモリに同一のデータを書
き込むためにアドレシングを並列的に行っても、正常に
書き込みができない場合が多い。
ND型)フラッシュメモリに同一のデータを書き込む場
合は、フラッシュメモリに個別にチップイネーブル信号
などの制御信号を供給するなどして、個々のフラッシュ
メモリに順次にデータの書き込みを行っていた。
書き込む対象のNAND型(あるいはAND型)フラッ
シュメモリが大量であると、書き込みを完了するのに要
する時間が極めて長くなって非効率的である。このた
め、所定のデータがプリインストールされたNAND型
(あるいはAND型)フラッシュメモリを含む製品を量
産することは、従来極めて困難であった。
で、不良メモリブロックを含み得る複数の記憶装置に効
率的に同一のデータを記憶させるためのデータ書込装置
及びデータ書込制御方法を提供することを目的とする。
め、この発明の第1の観点にかかるデータ書込装置は、
アドレスを割り当てられた複数のメモリブロックをそれ
ぞれ含む複数の記憶装置に互いに同一のデータを記憶さ
せるためのデータ書込装置であって、各記憶装置は、シ
リアルデータの入力を指示するストアコマンド及びアド
レスを供給された後に書き込む対象のデータを供給さ
れ、最後に書き込みを指示するライトコマンドを供給さ
れたとき、当該アドレスを割り当てられたメモリブロッ
クに当該データを記憶する手段と、不良のメモリブロッ
クを特定するエラー情報を供給する手段とを備えるもの
であり、各記憶装置よりエラー情報を取得し、取得した
エラー情報に基づき、同一のデータを記憶するメモリブ
ロックのアドレスを記憶装置毎に決定するアドレス決定
手段と、各記憶装置にストアコマンドを供給し、同一の
データを記憶する各メモリブロックを示すものとして決
定された各アドレスを記憶装置別に供給した後、当該デ
ータを各記憶装置に一括して供給し、最後にライトコマ
ンドを供給することにより各該メモリブロックにデータ
を記憶させる書込手段と、を備える、ことを特徴とす
る。
タを記憶させるメモリブロックが記憶装置毎に個別に決
定された上、記憶させるべきデータは一括して供給され
る。従って、これらの記憶装置は、不良ブロックを含ん
でいても、効率的に同一のデータを記憶する。なお、シ
リアルデータは1ビット毎に順次伝送されるデータには
限られず、いわゆるバイトシリアル構成のデータ(1バ
イト毎に順次伝送されるデータ)等、複数ビット毎に順
次伝送されるデータも含む。
分けて受けるものであってもよい。この場合、前記書込
手段は、記憶装置別に供給する各アドレスを構成する複
数個の部分のうち、複数の記憶装置に共通している部分
を、当該複数の記憶装置に一括して供給するものであっ
てもよい。このような構成を有することにより、データ
を記憶させるメモリブロックのアドレスも、その共通部
分が一括して複数の記憶装置に供給されるので、データ
を記憶させるために要する時間は更に短縮される。
データが正常に記憶された否かを判別して判別結果を前
記書込手段に通知する手段を備えるものであってもよ
い。この場合、前記書込手段は、データが正常に記憶さ
れていないことを示す判別結果を通知されたとき、当該
判別結果を通知した記憶装置のメモリブロックのうちか
ら、当該データを新たに記憶させる対象のメモリブロッ
クを決定し、正常に記憶されなかったデータを当該メモ
リブロックに記憶させる手段を備えるものとすれば、た
とえば後発的に不良のメモリブロックが生じた場合に
も、記憶に失敗したデータが代わりのメモリブロックに
確実に記憶される。
メモリブロックが不足する記憶装置があるか否かを判別
し、あると判別したとき、当該記憶装置のメモリブロッ
クに当該データ以降のデータを記憶させるのを停止する
手段を備えるものとすれば、データを記憶させるべきメ
モリブロックが存在しないにも係わらずデータの記憶を
試みる無駄な処理が続くことが避けられ、データを記憶
させる処理が更に効率的になる。
AND型フラッシュメモリより構成されていてもよい
し、また、AND型フラッシュメモリより構成されてい
てもよい。
タ書込制御方法は、アドレスを割り当てられた複数のメ
モリブロックをそれぞれ含む複数の記憶装置に互いに同
一のデータを記憶させるためのデータ書込方法であっ
て、各記憶装置は、シリアルデータの入力を指示するス
トアコマンド及びアドレスを供給された後に書き込む対
象のデータを供給され、最後に書き込みを指示するライ
トコマンドを供給されたとき、当該アドレスを割り当て
られたメモリブロックに当該データを記憶する手段と、
不良のメモリブロックを特定するエラー情報を供給する
手段とを備えるものであり、各記憶装置よりエラー情報
を取得し、取得したエラー情報に基づき、同一のデータ
を記憶するメモリブロックのアドレスを記憶装置毎に決
定し、各記憶装置にストアコマンドを供給し、同一のデ
ータを記憶する各メモリブロックを示すものとして決定
された各アドレスを記憶装置別に供給した後、当該デー
タを各記憶装置に一括して供給し、最後にライトコマン
ドを供給することにより各該メモリブロックにデータを
記憶させる、ことを特徴とする。
データを記憶させるメモリブロックが記憶装置毎に個別
に決定された上、記憶させるべきデータは一括して供給
される。従って、これらの記憶装置は、不良ブロックを
含んでいても、効率的に同一のデータを記憶する。
グラムは、コンピュータを、シリアルデータの入力を指
示するストアコマンド及びアドレスを供給された後に書
き込む対象のデータを供給され、最後に書き込みを指示
するライトコマンドを供給されたとき、当該アドレスを
割り当てられたメモリブロックに当該データを記憶する
手段と、不良のメモリブロックを特定するエラー情報を
供給する手段とを各々備える複数の記憶装置よりエラー
情報を取得し、取得したエラー情報に基づき、同一のデ
ータを記憶するメモリブロックのアドレスを記憶装置毎
に決定するアドレス決定手段と、各記憶装置にストアコ
マンドを供給し、同一のデータを記憶する各メモリブロ
ックを示すものとして決定された各アドレスを記憶装置
別に供給した後、当該データを各記憶装置に一括して供
給し、最後にライトコマンドを供給することにより各該
メモリブロックにデータを記憶させる書込手段と、して
機能させるためのものであることを特徴とする。
ータは、データを記憶させるメモリブロックを記憶装置
毎に個別に決定した上、記憶させるべきデータを一括し
て供給する。従って、これらの記憶装置は、不良ブロッ
クを含んでいても、効率的に同一のデータを記憶する。
るデータ書込装置及びデータ書込制御方法を、フラッシ
ュメモリ書込装置を例として説明する。
第1の実施の形態にかかるフラッシュメモリ書込装置の
構成を示す図である。図示するように、このフラッシュ
メモリ書込装置は、NANDフラッシュメモリコントロ
ーラCNと、バスB1と、アドレスラッチイネーブル信
号線B2−1〜B2−n(nは後述するNANDフラッ
シュメモリの総数)と、コマンドラッチイネーブル信号
線B3−1〜B3−nと、リードイネーブル信号線B4
−1〜B4−nと、レディー信号線B5−1〜B5−n
とより構成されている。バスB1は、データを書き込む
対象であるn個のNANDフラッシュメモリN−1〜N
−nに共通に接続されるデータ/アドレスバス及びライ
トイネーブル信号線とより構成されている。
Nは、バスB1を介して、NANDフラッシュメモリN
−1〜N−nの後述するデータ/アドレスバス及びライ
トイネーブル端子に接続されている。また、NANDフ
ラッシュメモリコントローラCNは、アドレスラッチイ
ネーブル信号線B2−k(kは1以上n以下の任意の整
数)を介して、NANDフラッシュメモリN−kのアド
レスラッチイネーブル端子に接続されている。また、N
ANDフラッシュメモリコントローラCNは、コマンド
ラッチイネーブル信号線B3−kを介して、NANDフ
ラッシュメモリN−kのコマンドラッチイネーブル端子
に接続されている。また、NANDフラッシュメモリコ
ントローラCNは、リードイネーブル信号線B4−kを
介して、NANDフラッシュメモリN−kのリードイネ
ーブル端子に接続されている。また、NANDフラッシ
ュメモリコントローラCNは、レディー信号線B5−k
を介して、NANDフラッシュメモリN−kのレディー
端子に接続されている。
Nは、制御部及び記憶部より構成されている。NAND
フラッシュメモリコントローラCNの制御部は、CPU
(Central Processing Unit)等より構成されており、
NANDフラッシュメモリコントローラCNの記憶部か
ら、後述するデータ書き込みの処理を制御するプログラ
ムを読み出して実行する。
Nの記憶部は、PROM(Programmable Read Only Mem
ory)等の不揮発性記憶装置と、RAM(Random Access
Memory)等の揮発性記憶装置とより構成されている。
NANDフラッシュメモリコントローラCNの記憶部が
備える不揮発性記憶装置は、データ書き込みの処理を制
御する上述のプログラムを予め記憶しており、NAND
フラッシュメモリコントローラCNの記憶部の揮発性記
憶装置は、NANDフラッシュメモリコントローラCN
の制御部のワークエリアとして用いられる。
以上n以下の任意の整数)は、NAND型のEEPRO
M(Electrically Erasable/Programmable ROM)より構
成されている。
の構成を示すブロック図である。図示するように、NA
NDフラッシュメモリN−kは、データ/アドレスバス
と、入出力コントロール回路と、コマンドレジスタと、
制御回路と、ステータスレジスタと、動作ロジックコン
トロール回路と、メモリセルアレイと、データレジスタ
と、アドレスレジスタと、ローアドレスバッファと、ロ
ーアドレスデコーダと、カラムバッファと、カラムデコ
ーダとから構成される。
続しており、複数ビットのビット幅を持っている。入出
力コントロール回路は、データ/アドレスバスを経由し
てコマンド、データ及びアドレスを外部の回路から受け
取り、あるいは外部の回路へと送出する。コマンドレジ
スタは、入出力コントロール回路が外部の回路から受け
取ったコマンドをビット列として保管する。制御回路
は、コマンドレジスタに保管されたコマンドにより指定
される通りに、NANDフラッシュメモリN−kの内部
の動作を制御する。ステータスレジスタは、制御回路が
行った制御の結果を外部の回路へ通知する。動作ロジッ
クコントロール回路は、外部の回路から供給される信号
に応答して入出力コントロール回路及び制御回路の動作
を制御する。なお、動作ロジックコントロール回路は、
ライトイネーブル端子、アドレスラッチイネーブル端
子、リードイネーブル端子、コマンドラッチイネーブル
端子、レディー端子を備えている。メモリセルアレイ
は、後述する複数のメモリセルより構成される。データ
レジスタは、メモリセルに読み書きされる対象のデータ
を保管する。アドレスレジスタは、メモリセルアレイに
読み書きされる対象のデータの位置(アドレス)を記憶
する。ローアドレスバッファ、ローアドレスデコーダ、
カラムバッファ及びカラムデコーダは、アドレスレジス
タが記憶する複数ビットのアドレスを、メモリセルを特
定する行及び列へと変換し、このメモリセルを選択す
る。
リセルは、1バイトの記憶容量を有する。これらのメモ
リセルは、論理的には、たとえば、図3に示すように、
縦131072行、横528列のマトリクス状に配置さ
れている。従って、NANDフラッシュメモリN−kは
全体としてはほぼ69.2メガバイトの記憶容量を有す
る。
るように、528バイトの記憶容量を有するページを構
成する。各ページに含まれるメモリセルには、連続的に
1から528までの番地が与えられている。また、各ペ
ージは、先頭から32ページ単位で1つのブロックを構
成する。各ブロックは16キロバイトの記憶容量を有
し、記憶領域全体は、4096個のブロックから構成さ
れている。各々のブロックに属するページには、連続的
に1から32までのページアドレスが与えられている。
から512バイトの領域を占めるデータ領域と、末尾1
6バイトを占める冗長部とから構成される。読み書き対
象のデータのアドレス(物理アドレス)は、例えば26
ビットのビット列より構成される。物理アドレスの下位
9ビットは、このデータが読み書きされるメモリセルが
ある列の位置(列位置)を、残りの上位17ビットは、
このメモリセルがある行の位置(行位置)を示す。列位
置の範囲は1〜512であり、行位置の範囲は1〜13
1072である。
5ビットは、このメモリセルを含むブロック内でこのメ
モリセルが属するページの位置(ページ位置)を、残り
の上位12ビットは、このブロックの位置(ブロック位
置)を示す。ページ位置の範囲は1〜32であり、ブロ
ック位置の範囲は1〜4096である。
書きするとき、通常、列位置「0」を示すアドレスを記
憶し、ページの先頭からデータを読み書きする。こうす
る結果、フラッシュメモリN−kは、データ領域の先頭
からデータを読み書きする。データ領域には、ユーザが
利用するユーザデータや、NANDフラッシュメモリN
−kにアクセスする外部の装置が実行するデバイスドラ
イバなど、任意のデータが格納される。
る処理に従い、当該ページのデータ領域に格納されてい
るデータ(ユーザデータやデバイスドライバなど)の内
容が破壊されていないことを確認するためのエラーチェ
ックコードが格納され、更に、エラーフラグが格納され
る。エラーフラグは各ブロックのすべてのページに格納
される必要はなく、例えば各ブロックの先頭のページ
(つまり、1ページ目)の冗長部のみに格納されてもよ
い。
されているブロックが、データを正常に格納可能なブロ
ック(良品ブロック)であるか、良品ブロックでないブ
ロックすなわち不良ブロックであって、NANDフラッ
シュメモリN−kの製造者等によって出荷前に不良と判
断されたブロック(初期不良ブロック)であるか、不良
ブロックであって、NANDフラッシュメモリN−kの
使用中にデータの正常な格納ができないと判断されたブ
ロック(後発不良ブロック)であるか、を示すデータで
ある。
01−076945で開示されているように、冗長部に
格納された他のフラグと組み合わせて、データ領域にあ
るデータの属性を示すために用いてもよい。
値は、データの消去を行わず単に上書きすることにより
後発不良ブロックを表す値へと更新可能となるように選
ばれている。具体的には、例えばエラーフラグが1バイ
ト(8ビット)のビット列より構成されるものとし、こ
のビット列のうち値「1」を示すビットが7ビット以上
あるときエラーフラグは良品ブロックを示すものとし、
2ビット以上6ビット以下のときは後発不良ブロックを
示すものとし、値「0」を示すビットが7ビット以上の
ときは初期不良ブロックを示すものとすればよい。この
ように定められていれば、冗長部のメモリセルの記憶値
を消去せず「1」から「0」へ上書きすることにより、
良品ブロックを示すエラーフラグを、後発不良ブロック
を表すよう更新できる。
タの読み出しを指示されたとき、読み出しを指示された
行のデータを、先頭からメモリセル1個分(すなわち、
1バイト)ずつ528回に分けて読み出し、データ/ア
ドレスバスから順次供給する機能を有する。なお、デー
タの読み出しの指示は、たとえば、データ/アドレスバ
スにリードコマンドを供給し、次にデータ/アドレスバ
スに読み出し対象の先頭のメモリセルを指定する物理ア
ドレスとなるアドレスビット列(ブロックアドレス、ペ
ージアドレス及び列アドレスを組み合わせたもの)を供
給し、NANDフラッシュメモリN−kが指定された1
ページ分(または、指定されたページのうち指定された
列アドレス以降)のデータをデータレジスタに保管して
レディー信号をアクティブレベルにしたことを確認後、
リードイネーブル端子にリードイネーブル信号を供給す
ることにより行う。
は、記憶内容の消去をブロック単位で行う。NANDフ
ラッシュメモリN−kは、ブロックの記憶内容を消去す
るよう指示する消去コマンドに続いて、記憶内容を消去
する対象のブロックのアドレスを供給され、さらに消去
実行コマンドを供給されると、当該ブロックに含まれる
すべてのメモリセルの記憶内容をリセットする(具体的
には、各メモリセルの記憶値を「1」とする)。
は、データ/アドレスバスに所定のストアコマンドが供
給されると、ライトイネーブル端子に供給される後述の
WE(Write Enable)信号と、アドレスラッチイネーブ
ル端子に供給される後述のALE(Address Latch Enab
le)信号との双方がいずれもアクティブレベルに達した
時点を検知する。そして、検知した時点にデータ/アド
レスバスに供給されているアドレスデータを、データ書
き込み対象の物理アドレス(詳しくは、ブロックアドレ
ス、ページアドレス、及びページ内の先頭バイトを表す
列アドレスを組み合わせたアドレスビット列)の一部を
表すビット列としてラッチする。そして、ビット列を4
回ラッチすると、その後、ALE信号が非アクティブレ
ベルの状態でWE信号がアクティブレベルに達する毎
に、データ/アドレスバスに供給された書き込み対象の
データを、NANDフラッシュメモリN−kのデータレ
ジスタに、1バイトずつ記憶する。
タレジスタに記憶された後、データ/アドレスバスに所
定のライトコマンド(又はプログラムコマンド)が供給
されると、NANDフラッシュメモリN−kは、データ
レジスタに保管されている書き込み対象のデータを、ラ
ッチした4個のビット列により表されるデータ書き込み
対処の物理アドレスが示すメモリセル以降のメモリセル
に記憶する。
ラッシュメモリ書込装置の処理を、図4を参照して説明
する。図4は、データ書き込みの処理を示すフローチャ
ートである。
き込みの処理を開始すると、まず、NANDフラッシュ
メモリコントローラCNは、NANDフラッシュメモリ
N−1〜N−nにデータ読み出しを指示し、NANDフ
ラッシュメモリN−1〜N−nの記憶領域の冗長部に格
納されているエラーフラグを読み出す。そして、NAN
DフラッシュメモリコントローラCNが読み出したエラ
ーフラグが示す値に基づき、NANDフラッシュメモリ
N−1〜N−nの記憶領域内のすべての良品ブロックの
ブロックアドレスを表すデータ(テーブル)を作成し、
記憶する(図4、ステップS1)。
ーラCNは、変数DATA#の使用を宣言する(つま
り、変数DATA#の値を格納するための記憶領域を自
己の記憶部が備える揮発性記憶装置の記憶領域内に確保
する)。そして、変数DATA#に値「0」を格納する
(ステップS2)。
ーラCNは、NANDフラッシュメモリN−1〜N−n
に書き込む1ブロック分のデータを格納するための記憶
領域を自己の記憶部が備える揮発性記憶装置の記憶領域
内に確保し、図示しない記憶制御用の回路を制御するこ
とによって、1ブロック分の書き込みデータを、確保し
た記憶領域(データ保管領域)に収納する(ステップS
3)。
ーラCNは、変数DATA#の値を1だけインクリメン
トする(ステップS4)。次いで、NANDフラッシュ
メモリコントローラCNはテーブルを参照し、変数DA
TA#の現在の値dに基づいて、NANDフラッシュメ
モリN−1〜N−nのどのブロックにデータを書き込む
かを決定する(ステップS5)。
ると、NANDフラッシュメモリコントローラCNはま
ず、テーブルを参照し、NANDフラッシュメモリN−
k(kは1以上n以下の任意の整数)について、ブロッ
クアドレスがd番目に小さい良品ブロックのブロックア
ドレスを特定する。
ーラCNは、変数PAGE#の使用を宣言する(つま
り、変数PAGE#の値を格納するための記憶領域を自
己の記憶部が備える揮発性記憶装置の記憶領域内に確保
する)。そして、変数PAGE#に値「0」を格納する
(ステップS6)。
ーラCNは、データ保管領域に収納されている1ブロッ
ク分のデータのうち、変数PAGE#が示すページに格
納されるべき部分の先頭が収納されているアドレスを特
定する(ステップS7)。
ーラCNは、バスB1を介してNANDフラッシュメモ
リN−1〜N−nのデータ/アドレスバスにストアコマ
ンド(Coms)を送出することにより、NANDフラ
ッシュメモリN−1〜N−nに、NANDフラッシュメ
モリN−1〜N−nのデータレジスタへ書き込み対象の
データの1ページ分を格納する準備をさせる。
ローラCNは、変数DATA#によって特定したブロッ
クアドレス、変数PAGE#によって特定したページア
ドレス、及びページ内の先頭を表す列アドレスを組み合
わせたアドレスビット列(物理アドレス)を、4回に分
けてNANDフラッシュメモリN−kにラッチさせる。
具体的には、NANDフラッシュメモリコントローラC
Nは、NANDフラッシュメモリN−kにアドレスをラ
ッチさせるため、物理アドレスの一部を構成するビット
列をデータ/アドレスバスに送出し、この状態で更に、
アドレスラッチイネーブル信号線B2−kを介してNA
NDフラッシュメモリN−kにアクティブレベルのAL
E信号を供給し、また、バスB1を介して、NANDフ
ラッシュメモリN−1〜N−nにアクティブレベルのW
E信号を供給する。
に供給されるALE信号及びWE信号の両方がアクティ
ブレベルとなった時点にデータ/アドレスバスに送出さ
れているデータを、物理アドレスの一部を表すビット列
としてラッチする。
トアコマンド(図5で「Coms」として示すデータ)
が送出された後、NANDフラッシュメモリN−1にラ
ッチさせるべきビット列のひとつ(図5で「add
(1)」として示すデータ)をラッチさせる場合は、W
E信号及びアドレスラッチイネーブル信号線B2−1に
供給されるALE信号(図5で「ALE信号(B2−
1)」として示す信号)が両方アクティブレベル(図5
で破線により示す信号レベル)に達する時点において、
このビット列(「add(1)」)がバスB1に送出さ
れているようにする。
にラッチさせるべきビット列のひとつ(図5で「add
(k)」として示すデータ)をラッチさせる場合は、W
E信号及びアドレスラッチイネーブル信号線B2−kに
供給されるALE信号(図5で「ALE信号(B2−
k)」として示す信号)が両方アクティブレベルに達す
る時点においてビット列「add(k)」がバスB1に
送出されているようにする。
ーラCNは、複数のNANDフラッシュメモリにラッチ
させるビット列が共通する場合、なるべくこの共通する
ビット列が同一のタイミングでこれらのNANDフラッ
シュメモリにラッチされるよう、各ビット列の送出のタ
イミングを調整するものとする。
NANDフラッシュメモリN−1及びN−nに共通にラ
ッチさせるべきビット列(図5で「add(n)」とし
て示すデータ)をラッチさせる場合は、WE信号と、A
LE信号(B2−1)と、アドレスラッチイネーブル信
号線B2−nに供給されるALE信号(図5で「ALE
信号(B2−n)」として示す信号)とがいずれもアク
ティブレベルに達する時点においてビット列「add
(n)」がバスB1に送出されているようにする。
ータの物理アドレスが26ビットのビット列からなり、
このビット列の下位9ビットがデータを書き込む対象の
先頭のメモリセルの列位置(1〜512)を示し、上位
17ビットがこのメモリセルの行位置(1〜13107
2)を示すとする。また、行位置を示す17ビットのビ
ット列の下位5ビットがこのメモリセルのページ位置
(1〜32)を示し、上位12ビットがブロック位置
(1〜4096)を示すとする。そして、データを書き
込む対象のメモリセルの列位置の下位8ビットがn個の
NANDフラッシュメモリすべてに共通しており、ま
た、ブロック位置の上位10ビットもNANDフラッシ
ュメモリすべてに共通しているとする。また、メモリセ
ルの列位置の上位1ビット、ページ位置を示す5ビット
及びブロック位置の下位2ビットについては、値が共通
であるNANDフラッシュメモリの組が3組あるとす
る。この場合、NANDフラッシュメモリコントローラ
CNは、例えば、(1) 第1回目は、データを書き込
む対象のメモリセルの列位置の下位8ビットをn個のN
ANDフラッシュメモリすべてに共通して送出し、
(2) 第2回目〜第4回目では、このメモリセルの列
位置の上位1ビットと、ページ位置5ビットと、ブロッ
ク位置の下位2ビットとを、これらの値が共通であるN
ANDフラッシュメモリの組毎に1回ずつ、合計3回に
わたって送出し、(3) 第5回目は、ブロック位置の
上位10ビットのうちの8ビットをすべてのNANDフ
ラッシュメモリに共通して送出し、(4) 第6回目
は、ブロック位置を示すビット列の残り2ビットを、す
べてのNANDフラッシュメモリに共通して送出する、
等の手法で、各ビット列の送出のタイミングを調整す
る。
より、NANDフラッシュメモリコントローラCNは、
NANDフラッシュメモリN−1〜N−nに物理アドレ
スをラッチさせるために費やす時間を短縮する。
るために上述した具体的な数値は、この実施の形態の理
解を容易にするために例示したものであって、数値の組
み合わせは上述したものには限定されない。
ローラCNは、NANDフラッシュメモリN−1〜N−
nにデータを書き込むため、データ保管領域に収納され
ている1ブロック分のデータのうちアドレスが特定され
た先頭位置以降の1ページ分のデータを先頭から1バイ
トずつ順次データ/アドレスバスに送出し、1バイト送
出する毎に、NANDフラッシュメモリN−1〜N−n
にアクティブレベルのWE信号を供給する。この結果、
NANDフラッシュメモリN−1〜N−nは、各自のデ
ータレジスタに1ページ分のデータを保管する。
ーラCNは、バスB1を介してNANDフラッシュメモ
リN−1〜N−nのデータ/アドレスバスにライトコマ
ンド(図5で「Comw」として示すデータ)を送出す
る。NANDフラッシュメモリN−1〜N−nの制御回
路は、ライトコマンドを受け取ると書き込み動作を開始
し、レディー信号を非アクティブ状態にする。この結
果、NANDフラッシュメモリN−1〜N−nは、各自
が最も新しくラッチした物理アドレスが示すページのメ
モリセルに、データレジスタに保管している書き込み対
象のデータ1ページ分を記憶する(ステップS8)。
の各制御回路は、1ページ分のデータをデータレジスタ
からメモリセルに書き込むとき、データの書き込みの成
否を検査しながら書き込みを行う。具体的には、例え
ば、メモリセルの記憶内容とデータレジスタの記憶内容
とを比較して、データが所定の時間内または所定回数以
内の書き込み動作で正しくメモリセルにデータが記憶さ
れたか否かを検査する。正しく記憶されなかった場合は
データ書き込み失敗(Fail)を示し、正しく記憶さ
れた場合はデータ書き込み成功(Pass)を示すステ
ータスビットをステータスレジスタに格納する。そし
て、1ページ分のデータの書き込みを終了すると、レデ
ィー信号をアクティブ状態にする。
Nは、NANDフラッシュメモリN−1〜N−nすべて
のレディー信号がアクティブ状態になったことを確認
し、バスB1を介して、NANDフラッシュメモリN−
1〜N−nのデータ/アドレスバスにステータスリード
コマンドを送出する。
ーラCNは、NANDフラッシュメモリN−kのリード
イネーブル信号をアクティブ状態にして、NANDフラ
ッシュメモリN−kのステータスレジスタを記憶内容を
読み取る。
Nは、NANDフラッシュメモリN−1〜N−nのすべ
てについて上述の動作によりステータスレジスタの記憶
内容を読み取り、処理をステップS10に移す(ステッ
プS9)。
Nは、NANDフラッシュメモリN−1〜N−nのすべ
てのステータスレジスタの記憶内容が、に書き込み成功
(具体的には、例えば、ステータスレジスタ内の「Pa
ss」を表す特定のビットが所定のアクティブ状態にな
っている場合)であれば、処理をステップS11に移
す。
N−nのいずれかのステータスレジスタの記憶内容が、
に書き込み失敗(具体的には、例えば、ステータスレジ
スタ内の「Pass」を表すビットが非アクティブ状態
になっている場合)であれば、該当するNANDフラッ
シュメモリのブロックが後発不良であるとして処理をス
テップS13に移す(ステップS10)。
モリコントローラCNは、変数PAGE#の値に基づ
き、NANDフラッシュメモリN−1〜N−nに最後に
データを書き込んだページが、ブロックの末尾のページ
であるか否かを判別する。
モリN−1〜N−nの各々のブロックが32個のページ
からなる場合、変数PAGE#の値が「31」未満であ
れば、現在書き込み対象であるブロックにまだデータが
書き込まれていないページがあると判断し、処理をステ
ップS16に移す。一方、変数PAGE#の値が「3
1」であれば、最後にデータを書き込んだページが、現
在書き込み対象であるブロックの末尾のページであると
判断し、処理をステップS12に移す。
モリコントローラCNは、変数PAGE#の値を1だけ
インクリメントすることにより次のページにデータを書
き込む準備をして、処理をステップS7へ移す。
モリコントローラCNは、NANDフラッシュメモリN
−1〜N−nに書き込むべきデータがすべて書き込まれ
たか否かを判別し、書き込まれていないと判別すれば処
理をステップS3に戻し、書き込まれたと判別すれば、
データ書き込みの処理を終了する。
モリコントローラCNは、書き込み失敗となったNAN
Dフラッシュメモリ(以下では、このNANDフラッシ
ュメモリはNANDフラッシュメモリN−kであるもの
として説明する)のブロックを後発不良ブロックと特定
する。また、ステップS8で最も新しく書き込みを行っ
たページを表す変数PAGE#の値を特定する。
ーラCNは、データが正常に書き込まれなかったNAN
DフラッシュメモリN−kのページを含むブロック内の
各ページの冗長部に、このブロックが後発不良ブロック
であることを示すエラーフラグを書き込む。ただし、こ
のブロックのすべてのページにエラーフラグを書き込む
代わりに、このブロックの先頭のページの冗長部のみに
エラーフラグを書き込むようにしてもよい。こうするこ
とにより、このブロックが後発不良ブロックであること
を示すようにする書き込みの時間を短縮することができ
る。
ローラCNは、データが正常に書き込まれなかったNA
NDフラッシュメモリN−kのブロックを表すデータを
除外する形で、テーブルを更新(あるいは再度作成)す
る(ステップS14)。
ローラCNは、更新(又は再度作成)されたテーブルに
基づいて、NANDフラッシュメモリN−kのd番目の
良品ブロックとなったブロックを特定し、特定したブロ
ックに、変数DATA#が示すブロックの先頭のページ
から変数PAGE#が特定するページまでに書き込まれ
たデータを、ステップS8と同様の処理を行うことによ
り順次書き込む。そして、NANDフラッシュメモリN
−1〜N−nの残りのページへの書き込みを行うため処
理をステップS11へ移す(ステップS15)。
が行われる結果、NANDフラッシュメモリN−1〜N
−nには、互いに同一のデータが書き込まれる。なお、
ステップS15で新たに選んだ良品ブロックへの書き込
み処理のとき、ページへの書き込み後、ステップS9と
同様にして書き込みの成否を検査し、書き込み失敗と判
断したときはステップS13以降の処理を再度行うよう
にしてもよい。こうすると、後発不良ブロックが連続し
て発生した場合にも代わりのブロックを特定することが
でき、より効率的な書き込みが行える。
成は上述のものに限られない。例えば、NANDフラッ
シュメモリN−kの各ブロックの大きさは上述の大きさ
に限られない。例えば、各ブロックは32ページから構
成される必要はなく、例えば、各ページの大きさの整数
倍であればよい。また、1個の物理アドレスを構成する
ビット列をラッチする回数も上述の回数に限られない。
また、NANDフラッシュメモリN−kが備えるブロッ
クの数や、1ページあたりのメモリセルの数や冗長部の
数も任意である。
クは、更に複数のゾーンへと更に分類されていもよく、
各ゾーンにゾーンアドレスが与えられていてもよい。こ
の場合、データ書き込みの処理においてNANDフラッ
シュメモリコントローラCNが作成(更新、再作成)す
るテーブルは、NANDフラッシュメモリN−1〜N−
nの記憶領域内の良品ブロックのブロックアドレス及び
ゾーンアドレスを表すデータより構成されているように
すればよい。
ーラCNは、NANDフラッシュメモリN−1〜N−n
に書き込むデータを、操作者の操作に従って取得した
り、あるいは、自己に装着された記録媒体から読み取る
ことにより取得したり、あるいは通信回線を介して外部
のシステムから受信することにより取得するようにして
もよいこの場合、NANDフラッシュメモリコントロー
ラCNは、たとえば、キーボードや、記録媒体からのデ
ータの読み出しを行う記録媒体ドライバ(例えば、フレ
キシブルディスクドライブ装置やMO(Magneto Optica
l disk)ドライブ装置)や、外部との通信を行うための
シリアルポート等からなる入力部を備えていればよい。
#に代入する初期値は、必ずしも「0」である必要はな
く、例えば、NANDフラッシュメモリN−kの末尾の
ブロックのブロックアドレスより1だけ大きい数を変数
DATA#の初期値としてもよいし、あるいは、NAN
DフラッシュメモリN−kの末尾のブロックのブロック
アドレス以下の任意のオフセット値を変数DATA#の
初期値としてもよい。
る代わりにデクリメントする(具体的には、変数DAT
A#の値を1だけ減少させる)ことも差し支えない。
ーラCNは、たとえば上述のステップS12においてテ
ーブルを参照する等して、NANDフラッシュメモリN
−1〜N−nのうちに、データを記憶させることが可能
なメモリブロックが残っていないものがあるか否かを判
別し、あると判別したとき、データ書き込みの処理を中
断するようにしてもよい。こうすることにより、無駄な
処理が後続することが避けられる。なお、データ書き込
みの処理を中断する対象のNANDフラッシュメモリ
は、データを記憶させることが可能なメモリブロックが
残っていないと案別されたものだけでもよいし、n個の
NANDフラッシュメモリN−1〜N−nすべてであっ
てもよい。
き、上述した動作では、同一ページのデータ領域と冗長
部とには、ステップS8及びS15の処理各1回でデー
タを書き込んでいる。しかし、データ領域及び冗長部の
それぞれについて別個にステップS8〜S10及びS1
3〜S15の処理を行うことにより、データを書き込む
ようにしてもよい。こうすることにより、データ領域の
書き込みの成否を検査した後、検査結果(後発不良ブロ
ックであるか否か)に関係なく冗長部にデータの書き込
みができる。この手法によれば、NANDフラッシュメ
モリの冗長部に特殊なフラグなどを書き込んで使用する
ことが容易になる。
ッシュメモリへのデータの書き込みを行う、この発明の
第2の実施の形態フラッシュメモリ書込装置を説明す
る。図6は、このフラッシュメモリ書込装置の構成を示
す図である。
書込装置は、NANDフラッシュメモリコントローラC
Nに代えてNANDフラッシュメモリコントローラCA
を備える点と、バスB1に代えてバスB6を備える点
と、アドレスラッチイネーブル信号線B2−1〜B2−
nに代えてライトイネーブル信号線B7−1〜B7−n
を備える点と、コマンドラッチイネーブル信号線B3−
1〜B3−nを備えていない代わりに、アドレスラッチ
イネーブル信号とコマンドラッチイネーブル信号とがN
ANDフラッシュメモリN−1〜N−nに共通なバス信
号としてバスB6により伝送される点とを除き、図1に
示す構成と実質的に同一である。なお、NANDフラッ
シュメモリA−kの構成は、NANDフラッシュメモリ
N−kと実質的に同一である。
Aは、バスB6を介して、データを書き込む対象である
n個のNANDフラッシュメモリA−1〜A−nのデー
タ/アドレスバスと、アドレスラッチイネーブル端子
と、コマンドラッチイネーブル端子とに接続されている
ものとする。また、NANDフラッシュメモリコントロ
ーラCAは、リードイネーブル信号線B4−kを介し
て、NANDフラッシュメモリA−kのリードイネーブ
ル端子に接続されており、また、レディー信号線B5−
kを介して、NANDフラッシュメモリA−kのレディ
ー端子に接続されており、また、ライトイネーブル信号
線B7−kを介して、NANDフラッシュメモリA−k
のライトイネーブル端子に接続されているものとする。
は、データ/アドレスバスにストアコマンド(Com
s)が供給されると、ライトイネーブル端子に供給され
るWE信号がアクティブレベルに達した時点を検知し、
検知した時点にデータ/アドレスバスに供給されている
データを、データ書き込み対象のブロックのブロックア
ドレスの一部を表すビット列としてラッチする。そし
て、ビット列を4回ラッチすると、その後WE信号がア
クティブレベルに達する毎に、データ/アドレスバスに
供給された書き込み対象のデータを、ラッチした4個の
ビット列により表されるブロックアドレスが示すブロッ
クに、1バイトずつ記憶する。
Aの物理的及び機能的構成は、実行するデータ書き込み
処理が後述の通りである点を除き、NANDフラッシュ
メモリコントローラCNの構成と実質的に同一である。
シュメモリ書込装置のNANDフラッシュメモリコント
ローラCA及びNANDフラッシュメモリA−1〜A−
nが行うデータ書き込みの処理は、図3に示す処理、す
なわち図1の構成のNANDフラッシュメモリコントロ
ーラCN及びNANDフラッシュメモリN−1〜N−n
が行う処理と実質的に同一である。
DフラッシュメモリコントローラCAは、データを書き
込むページの物理アドレスとして特定した物理アドレス
をラッチさせるため、この物理アドレスの一部をなすビ
ット列をデータ/アドレスバスに送出し、この状態で更
に、バスB6にアドレスラッチイネーブル(ALE)信
号を送出すると共に、ライトイネーブル信号線B7−k
を介してNANDフラッシュメモリA−kにアクティブ
レベルのWE信号を供給するものとする。そして、NA
NDフラッシュメモリA−kは、自己に供給されるAL
E信号とWE信号とがいずれもアクティブレベルとなっ
た時点にデータ/アドレスバスに送出されているデータ
を、物理アドレスの一部を表すビット列としてラッチす
るものとする。
トアコマンド「Coms」が送出された後、NANDフ
ラッシュメモリA−1にラッチさせるべきビット列のひ
とつ(図7で「add(1)」として示すデータ)をラ
ッチさせる場合は、バスB6のアドレスラッチイネーブ
ル(ALE)信号がアクティブレベル(図7で破線によ
り示す信号レベル)に保持された状態で、ライトイネー
ブル信号線B7−1に供給されるWE信号(図7で「W
E信号(B7−1)」として示す信号)がアクティブレ
ベルに達する時点において、このビット列「add
(1)」がバスB6にデータ/アドレス信号として送出
されているようにする。
ラッチさせるべきビット列のひとつ(図7で「add
(k)」として示すデータ)をラッチさせる場合は、バ
スB6のALE信号がアクティブレベルに保持された状
態で、ライトイネーブル信号線B7−kに供給されるW
E信号(図7で「WE信号(B7−k)」として示す信
号)がアクティブレベルに達する時点において、ビット
列「add(k)」がバスB6にデータ/アドレス信号
として送出されているようにする。
ーラCAも、第1の実施の形態と同様、複数のNAND
フラッシュメモリにラッチさせるビット列が共通する場
合は、なるべくこの共通するビット列が同一のタイミン
グでこれらのNANDフラッシュメモリにラッチされる
よう、各ビット列の送出のタイミングを調整するものと
する。こうすることにより、NANDフラッシュメモリ
コントローラCAは、NANDフラッシュメモリA−1
〜A−nにブロックアドレスをラッチさせるために費や
す時間を短縮する。
ANDフラッシュメモリA−1及びA−nに共通にラッ
チさせるべきビット列(図7で「add(n)」として
示すデータ)をラッチさせる場合は、バスB6のALE
信号がアクティブレベルに保持された状態で、しかも、
WE信号(B7−1)と、ライトイネーブル信号線B7
−nに供給されるWE信号(図7で「WE信号(B7−
n)」として示す信号)とがいずれもアクティブレベル
に達する時点において、ビット列「add(n)」がバ
スB6にデータ/アドレス信号として送出されているよ
うにする。
成は上述のものに限られない。例えば、NANDフラッ
シュメモリA−1〜A−nは、ANDフラッシュメモリ
(例えば、日立製作所製のHN29W12811など)
より構成されていてもよい。
ってフラッシュメモリの入出力のイネーブル/ディスエ
ーブルを制御する構成を有したフラッシュメモリがあ
る。このようなフラッシュメモリにデータを書き込むた
め、ALE信号の代わりにCE信号を用いて物理アドレ
スのラッチを行わせるような構成を有していてもよい。
のみによって物理アドレスのラッチを制御する構成を有
したフラッシュメモリがある。このようなフラッシュメ
モリにデータを書き込むため、ALE信号を用いずWE
信号を用いて物理アドレスのラッチを行わせ、シリアル
クロック信号を用いてデータの読み書きを制御する構成
を有してもよい。
シュメモリ書込装置の構成は、本発明の主旨の範囲内で
種々応用が可能である。
が、この発明のデータ書込装置は、専用のシステムによ
らず、通常のコンピュータシステムを用いて実現可能で
ある。具体的には、たとえばNANDフラッシュメモリ
が接続されたコンピュータに上述のNANDフラッシュ
メモリコントローラCNの動作を実行するためのプログ
ラムを格納した媒体(フレキシブルディスク、CD−R
OM等)から当該プログラムをインストールしたり、A
NDフラッシュメモリが接続されたコンピュータに上述
のANDフラッシュメモリコントローラCAの動作を実
行するためのプログラムを格納した媒体から当該プログ
ラムをインストールしたりすることにより、上述の処理
を実行するフラッシュメモリ書込装置を構成することが
できる。
(BBS)に当該プログラムを掲示し、これを通信回線
を介して配信してもよく、また、当該プログラムを表す
信号により搬送波を変調し、得られた変調波を伝送し、
この変調波を受信した装置が変調波を復調して当該プロ
グラムを復元するようにしてもよい。そして、当該プロ
グラムを起動し、OSの制御下に、他のアプリケーショ
ンプログラムと同様に実行することにより、上述の処理
を実行することができる。
あるいは、OSが本願発明の1つの構成要素の一部を構
成するような場合には、記録媒体には、その部分を除い
たプログラムを格納してもよい。この場合も、この発明
では、その記録媒体には、コンピュータが実行する各機
能又はステップを実行するためのプログラムが格納され
ているものとする。
ば、不良メモリブロックを含み得る複数の記憶装置に効
率的に同一のデータを記憶させるためのデータ書込装置
及びデータ書込制御方法が実現される。
ュメモリ書込装置の基本構成を示す図である。
図である。
す図である。
ある。
ックアドレス及びデータを供給するタイミング示す図で
ある。
ュメモリ書込装置の基本構成を示す図である。
クアドレス及びデータを供給するタイミング示す図であ
る。
ラ N−1〜N−n、A−1〜A−n ANDフラッシ
ュメモリ B1、B6 バス B2−1〜B2−n アドレスラッチイネーブル信
号線 B3−1〜B3−n コマンドラッチイネーブル信
号線 B4−1〜B4−n リードイネーブル信号線 B5−1〜B5−n レディー信号線 B7−1〜B7−n ライトイネーブル信号線
Claims (8)
- 【請求項1】アドレスを割り当てられた複数のメモリブ
ロックをそれぞれ含む複数の記憶装置に互いに同一のデ
ータを記憶させるためのデータ書込装置であって、 各記憶装置は、シリアルデータの入力を指示するストア
コマンド及びアドレスを供給された後に書き込む対象の
データを供給され、最後に書き込みを指示するライトコ
マンドを供給されたとき、当該アドレスを割り当てられ
たメモリブロックに当該データを記憶する手段と、不良
のメモリブロックを特定するエラー情報を供給する手段
とを備えるものであり、 各記憶装置よりエラー情報を取得し、取得したエラー情
報に基づき、同一のデータを記憶するメモリブロックの
アドレスを記憶装置毎に決定するアドレス決定手段と、 各記憶装置にストアコマンドを供給し、同一のデータを
記憶する各メモリブロックを示すものとして決定された
各アドレスを記憶装置別に供給した後、当該データを各
記憶装置に一括して供給し、最後にライトコマンドを供
給することにより各該メモリブロックにデータを記憶さ
せる書込手段と、を備える、 ことを特徴とするデータ書込装置。 - 【請求項2】各記憶装置は、アドレスの供給を複数個に
分けて受けるものであり、 前記書込手段は、記憶装置別に供給する各アドレスを構
成する複数個の部分のうち、複数の記憶装置に共通して
いる部分を、当該複数の記憶装置に一括して供給する、 ことを特徴とする請求項1に記載のデータ書込装置。 - 【請求項3】各記憶装置は、データを記憶した後、当該
データが正常に記憶された否かを判別して判別結果を前
記書込手段に通知する手段を備えるものであり、 前記書込手段は、データが正常に記憶されていないこと
を示す判別結果を通知されたとき、当該判別結果を通知
した記憶装置のメモリブロックのうちから、当該データ
を新たに記憶させる対象のメモリブロックを決定し、正
常に記憶されなかったデータを当該メモリブロックに記
憶させる手段を備える、 ことを特徴とする請求項1又は2に記載のデータ書込装
置。 - 【請求項4】前記書込手段は、データを記憶させるべき
メモリブロックが不足する記憶装置があるか否かを判別
し、あると判別したとき、当該記憶装置のメモリブロッ
クに当該データ以降のデータを記憶させるのを停止する
手段を備える、 ことを特徴とする請求項1、2又は3に記載のデータ書
込装置。 - 【請求項5】前記記憶装置は、NAND型フラッシュメ
モリより構成されている、 ことを特徴とする請求項1乃至4のいずれか1項に記載
のデータ書込装置。 - 【請求項6】前記記憶装置は、AND型フラッシュメモ
リより構成されている、 ことを特徴とする請求項1乃至4のいずれか1項に記載
のデータ書込装置。 - 【請求項7】アドレスを割り当てられた複数のメモリブ
ロックをそれぞれ含む複数の記憶装置に互いに同一のデ
ータを記憶させるためのデータ書込方法であって、 各記憶装置は、シリアルデータの入力を指示するストア
コマンド及びアドレスを供給された後に書き込む対象の
データを供給され、最後に書き込みを指示するライトコ
マンドを供給されたとき、当該アドレスを割り当てられ
たメモリブロックに当該データを記憶する手段と、不良
のメモリブロックを特定するエラー情報を供給する手段
とを備えるものであり、 各記憶装置よりエラー情報を取得し、取得したエラー情
報に基づき、同一のデータを記憶するメモリブロックの
アドレスを記憶装置毎に決定し、 各記憶装置にストアコマンドを供給し、同一のデータを
記憶する各メモリブロックを示すものとして決定された
各アドレスを記憶装置別に供給した後、当該データを各
記憶装置に一括して供給し、最後にライトコマンドを供
給することにより各該メモリブロックにデータを記憶さ
せる、 ことを特徴とするデータ書込制御方法。 - 【請求項8】コンピュータを、 シリアルデータの入力を指示するストアコマンド及びア
ドレスを供給された後に書き込む対象のデータを供給さ
れ、最後に書き込みを指示するライトコマンドを供給さ
れたとき、当該アドレスを割り当てられたメモリブロッ
クに当該データを記憶する手段と、不良のメモリブロッ
クを特定するエラー情報を供給する手段とを各々備える
複数の記憶装置よりエラー情報を取得し、取得したエラ
ー情報に基づき、同一のデータを記憶するメモリブロッ
クのアドレスを記憶装置毎に決定するアドレス決定手段
と、 各記憶装置にストアコマンドを供給し、同一のデータを
記憶する各メモリブロックを示すものとして決定された
各アドレスを記憶装置別に供給した後、当該データを各
記憶装置に一括して供給し、最後にライトコマンドを供
給することにより各該メモリブロックにデータを記憶さ
せる書込手段と、 して機能させるためのプログラム。
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001301789A JP3822081B2 (ja) | 2001-09-28 | 2001-09-28 | データ書込装置、データ書込制御方法及びプログラム |
| PCT/JP2002/010064 WO2003030181A1 (en) | 2001-09-28 | 2002-09-27 | Data writing apparatus, data writing method, and program |
| DE60205266T DE60205266T8 (de) | 2001-09-28 | 2002-09-27 | Datenschreibvorrichtung, datenschreibverfahren und programm |
| US10/476,475 US7191296B2 (en) | 2001-09-28 | 2002-09-27 | Data writing apparatus, data writing method, and program |
| EP02800271A EP1433183B1 (en) | 2001-09-28 | 2002-09-27 | Data writing apparatus, data writing method, and program |
| AT02800271T ATE300784T1 (de) | 2001-09-28 | 2002-09-27 | Datenschreibvorrichtung, datenschreibverfahren und programm |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001301789A JP3822081B2 (ja) | 2001-09-28 | 2001-09-28 | データ書込装置、データ書込制御方法及びプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003109384A true JP2003109384A (ja) | 2003-04-11 |
| JP3822081B2 JP3822081B2 (ja) | 2006-09-13 |
Family
ID=19122146
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001301789A Expired - Fee Related JP3822081B2 (ja) | 2001-09-28 | 2001-09-28 | データ書込装置、データ書込制御方法及びプログラム |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US7191296B2 (ja) |
| EP (1) | EP1433183B1 (ja) |
| JP (1) | JP3822081B2 (ja) |
| AT (1) | ATE300784T1 (ja) |
| DE (1) | DE60205266T8 (ja) |
| WO (1) | WO2003030181A1 (ja) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005215824A (ja) * | 2004-01-28 | 2005-08-11 | Sony Corp | 半導体装置およびその起動処理方法 |
| US7102927B2 (en) | 2004-07-20 | 2006-09-05 | Samsung Electronics Co., Ltd. | Memory devices and programming methods that simultaneously store erase status indications for memory blocks |
| JP2007012221A (ja) * | 2005-07-04 | 2007-01-18 | Advantest Corp | 試験装置、及び製造方法 |
| JP2007525754A (ja) * | 2004-02-03 | 2007-09-06 | ネクステスト システムズ コーポレイション | メモリデバイスのテストおよびプログラミングの方法並びにそのシステム |
| JP2008009932A (ja) * | 2006-06-30 | 2008-01-17 | Toshiba Corp | 半導体記憶装置およびその制御方法 |
| US7457911B2 (en) | 2005-03-25 | 2008-11-25 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and method for storing status information using multiple strings |
| JP2010134741A (ja) * | 2008-12-05 | 2010-06-17 | Internatl Business Mach Corp <Ibm> | プログラムを実行する方法およびシステム |
| JP2012505472A (ja) * | 2008-10-13 | 2012-03-01 | マイクロン テクノロジー, インク. | ソリッドステート記憶装置におけるトランスレーションレイヤ |
| US9159438B2 (en) | 2006-12-29 | 2015-10-13 | Samsung Electronics, Co., Ltd. | NAND flash memory having C/A pin and flash memory system including the same |
Families Citing this family (30)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7181611B2 (en) * | 2002-10-28 | 2007-02-20 | Sandisk Corporation | Power management block for use in a non-volatile memory system |
| EP1501100B1 (en) * | 2003-07-22 | 2018-11-28 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, memory system, and operating methods |
| JP4561110B2 (ja) * | 2004-01-29 | 2010-10-13 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
| TW200604810A (en) * | 2004-02-20 | 2006-02-01 | Renesas Tech Corp | Nonvolatile memory and data processing system |
| US7644239B2 (en) | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
| FR2874440B1 (fr) * | 2004-08-17 | 2008-04-25 | Oberthur Card Syst Sa | Procede et dispositif de traitement de donnees |
| US7490197B2 (en) | 2004-10-21 | 2009-02-10 | Microsoft Corporation | Using external memory devices to improve system performance |
| JP4842563B2 (ja) * | 2005-05-16 | 2011-12-21 | パナソニック株式会社 | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法 |
| US8914557B2 (en) | 2005-12-16 | 2014-12-16 | Microsoft Corporation | Optimizing write and wear performance for a memory |
| US7609561B2 (en) * | 2006-01-18 | 2009-10-27 | Apple Inc. | Disabling faulty flash memory dies |
| US7793059B2 (en) * | 2006-01-18 | 2010-09-07 | Apple Inc. | Interleaving policies for flash memory |
| US7702935B2 (en) * | 2006-01-25 | 2010-04-20 | Apple Inc. | Reporting flash memory operating voltages |
| US20070174641A1 (en) * | 2006-01-25 | 2007-07-26 | Cornwell Michael J | Adjusting power supplies for data storage devices |
| US7861122B2 (en) * | 2006-01-27 | 2010-12-28 | Apple Inc. | Monitoring health of non-volatile memory |
| US8170402B2 (en) * | 2006-04-07 | 2012-05-01 | Cinegest, Inc. | Portable high capacity digital data storage device |
| US7558131B2 (en) * | 2006-05-18 | 2009-07-07 | Micron Technology, Inc. | NAND system with a data write frequency greater than a command-and-address-load frequency |
| US20080010510A1 (en) * | 2006-06-19 | 2008-01-10 | Tony Turner | Method and system for using multiple memory regions for redundant remapping |
| US7913032B1 (en) | 2007-04-25 | 2011-03-22 | Apple Inc. | Initiating memory wear leveling |
| US20080288712A1 (en) | 2007-04-25 | 2008-11-20 | Cornwell Michael J | Accessing metadata with an external host |
| KR101433861B1 (ko) * | 2007-10-22 | 2014-08-27 | 삼성전자주식회사 | 메모리 시스템 및 그 구동방법 |
| US8631203B2 (en) | 2007-12-10 | 2014-01-14 | Microsoft Corporation | Management of external memory functioning as virtual cache |
| US8032707B2 (en) | 2008-09-15 | 2011-10-04 | Microsoft Corporation | Managing cache data and metadata |
| US9032151B2 (en) | 2008-09-15 | 2015-05-12 | Microsoft Technology Licensing, Llc | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot |
| US7953774B2 (en) | 2008-09-19 | 2011-05-31 | Microsoft Corporation | Aggregation of write traffic to a data store |
| CN101615145B (zh) * | 2009-07-24 | 2011-12-07 | 中兴通讯股份有限公司 | 一种提高存储器数据缓存可靠性的方法和装置 |
| JP2012182788A (ja) * | 2011-02-10 | 2012-09-20 | Panasonic Corp | 記録システム、記録方法およびコンピュータプログラム |
| US9037931B2 (en) * | 2011-12-21 | 2015-05-19 | Advanced Micro Devices, Inc. | Methods and systems for logic device defect tolerant redundancy |
| EP2608211A1 (en) * | 2011-12-22 | 2013-06-26 | Fluiditech IP Limited | Method of testing a flash memory |
| US20130166795A1 (en) * | 2011-12-23 | 2013-06-27 | Stec, Inc. | System and method for streaming data in flash memory applications |
| US20150205541A1 (en) * | 2014-01-20 | 2015-07-23 | Samya Systems, Inc. | High-capacity solid state disk drives |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5353256A (en) * | 1993-06-30 | 1994-10-04 | Intel Corporation | Block specific status information in a memory device |
| JP3589033B2 (ja) | 1998-06-25 | 2004-11-17 | 東京エレクトロンデバイス株式会社 | フラッシュメモリシステム |
| JP3597393B2 (ja) | 1998-08-19 | 2004-12-08 | シャープ株式会社 | データ記録再生装置 |
| JP2000276367A (ja) | 1999-03-23 | 2000-10-06 | Advantest Corp | データ書込装置、データ書込方法、及び試験装置 |
| KR100330164B1 (ko) | 1999-04-27 | 2002-03-28 | 윤종용 | 무효 블록들을 가지는 복수의 플래시 메모리들을 동시에 프로그램하는 방법 |
| US6535780B1 (en) | 1999-11-10 | 2003-03-18 | Data I/O Corporation | High speed programmer system |
| JP4371524B2 (ja) | 2000-03-17 | 2009-11-25 | 株式会社東芝 | メモリの不良エリア管理回路 |
| US6528843B1 (en) * | 2002-05-03 | 2003-03-04 | Silicon Based Technology Corp. | Self-aligned split-gate flash memory cell having a single-side tip-shaped floating-gate structure and its contactless flash memory arrays |
-
2001
- 2001-09-28 JP JP2001301789A patent/JP3822081B2/ja not_active Expired - Fee Related
-
2002
- 2002-09-27 AT AT02800271T patent/ATE300784T1/de not_active IP Right Cessation
- 2002-09-27 DE DE60205266T patent/DE60205266T8/de not_active Expired - Fee Related
- 2002-09-27 EP EP02800271A patent/EP1433183B1/en not_active Expired - Lifetime
- 2002-09-27 WO PCT/JP2002/010064 patent/WO2003030181A1/en not_active Ceased
- 2002-09-27 US US10/476,475 patent/US7191296B2/en not_active Expired - Fee Related
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005215824A (ja) * | 2004-01-28 | 2005-08-11 | Sony Corp | 半導体装置およびその起動処理方法 |
| US8135991B2 (en) | 2004-01-28 | 2012-03-13 | Sony Corporation | Semiconductor device and processing method for starting the same |
| JP2007525754A (ja) * | 2004-02-03 | 2007-09-06 | ネクステスト システムズ コーポレイション | メモリデバイスのテストおよびプログラミングの方法並びにそのシステム |
| JP4850720B2 (ja) * | 2004-02-03 | 2012-01-11 | ネクステスト システムズ コーポレイション | メモリデバイスのテストおよびプログラミングの方法並びにそのシステム |
| KR101195679B1 (ko) * | 2004-02-03 | 2012-10-30 | 넥스테스트 시스템즈 코포레이션 | 메모리 소자들을 테스트하고 프로그래밍하기 위한 방법 및 이를 위한 시스템 |
| US7102927B2 (en) | 2004-07-20 | 2006-09-05 | Samsung Electronics Co., Ltd. | Memory devices and programming methods that simultaneously store erase status indications for memory blocks |
| US7457911B2 (en) | 2005-03-25 | 2008-11-25 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and method for storing status information using multiple strings |
| JP2007012221A (ja) * | 2005-07-04 | 2007-01-18 | Advantest Corp | 試験装置、及び製造方法 |
| JP2008009932A (ja) * | 2006-06-30 | 2008-01-17 | Toshiba Corp | 半導体記憶装置およびその制御方法 |
| US9159438B2 (en) | 2006-12-29 | 2015-10-13 | Samsung Electronics, Co., Ltd. | NAND flash memory having C/A pin and flash memory system including the same |
| JP2012505472A (ja) * | 2008-10-13 | 2012-03-01 | マイクロン テクノロジー, インク. | ソリッドステート記憶装置におけるトランスレーションレイヤ |
| JP2010134741A (ja) * | 2008-12-05 | 2010-06-17 | Internatl Business Mach Corp <Ibm> | プログラムを実行する方法およびシステム |
Also Published As
| Publication number | Publication date |
|---|---|
| US7191296B2 (en) | 2007-03-13 |
| EP1433183B1 (en) | 2005-07-27 |
| DE60205266T2 (de) | 2006-03-30 |
| WO2003030181A1 (en) | 2003-04-10 |
| ATE300784T1 (de) | 2005-08-15 |
| DE60205266D1 (de) | 2005-09-01 |
| DE60205266T8 (de) | 2006-06-08 |
| US20040172576A1 (en) | 2004-09-02 |
| JP3822081B2 (ja) | 2006-09-13 |
| EP1433183A1 (en) | 2004-06-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3822081B2 (ja) | データ書込装置、データ書込制御方法及びプログラム | |
| US8161230B2 (en) | Nonvolatile memory system, and data read/write method for nonvolatile memory system | |
| US7836245B2 (en) | Nonvolatile memory system, and data read/write method for nonvolatile memory system | |
| EP1242868B1 (en) | Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time | |
| US6809964B2 (en) | Nonvolatile semiconductor memory device capable of transferring data internally without using an external bus | |
| US6906961B2 (en) | Erase block data splitting | |
| EP0675502B1 (en) | Multiple sector erase flash EEPROM system | |
| US6798696B2 (en) | Method of controlling the operation of non-volatile semiconductor memory chips | |
| US5754567A (en) | Write reduction in flash memory systems through ECC usage | |
| US7787297B2 (en) | Flash memory device and flash memory system | |
| JP4761959B2 (ja) | 半導体集積回路装置 | |
| US5920884A (en) | Nonvolatile memory interface protocol which selects a memory device, transmits an address, deselects the device, subsequently reselects the device and accesses data | |
| JP3574078B2 (ja) | 記憶装置と記憶装置制御方法 | |
| JP3310011B2 (ja) | 半導体メモリおよびこれを使用した半導体メモリボード | |
| JP2004507007A (ja) | 不揮発性メモリに対する信頼性の高いデータコピー処理を行うための新規の方法および構造 | |
| JP4373943B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
| JP2720013B2 (ja) | 書込みチェック機能を備えた電気的に変更可能な不揮発性メモリ | |
| US20030103392A1 (en) | Method of controlling the operation of non-volatile semiconductor memory chips | |
| JP2003187599A (ja) | 不揮発性半導体記憶装置 | |
| JP2006178909A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
| JP2004039055A (ja) | 不揮発性半導体記憶装置 | |
| JP2007280140A (ja) | 半導体記憶装置および信号処理システム | |
| JPH10289221A (ja) | マイクロコントローラ | |
| JP2009003570A (ja) | 半導体記憶装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051227 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060215 |
|
| 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: 20060606 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060621 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090630 Year of fee payment: 3 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090630 Year of fee payment: 3 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |