JP4747535B2 - データ記録方法 - Google Patents
データ記録方法 Download PDFInfo
- Publication number
- JP4747535B2 JP4747535B2 JP2004251910A JP2004251910A JP4747535B2 JP 4747535 B2 JP4747535 B2 JP 4747535B2 JP 2004251910 A JP2004251910 A JP 2004251910A JP 2004251910 A JP2004251910 A JP 2004251910A JP 4747535 B2 JP4747535 B2 JP 4747535B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- flash memory
- writing
- pages
- block
- 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
Links
Images
Description
これは、例えば、複数のフラッシュメモリのうちの1のチップにデータを入力し、その入力が終了すると、次のデータを他のチップに入力し、その入力が終了すると、さらに次のデータをさらに他のチップに入力するものである。すなわち、1のチップにおいて、入力されたデータがメモリセルに書き込まれている間に、次のデータを他の1のチップに入力するものであり、この結果、1のチップのプログラム時間を待たずに、次のデータの入力を行うことが出来、データの書き込みに要する時間を短縮することが可能になるものである(例えば、特許文献1参照)。
先ず、フラッシュメモリと、フラッシュメモリを用いたメモリカードシステムについて説明する。
図1は、この実施例1のデータ記録方法を説明するためのフラッシュメモリの内部構成例を示すブロック図である。このフラッシュメモリは、入出力コントロール回路1、動作ロジックコントロール回路2、アドレスレジスタ3、コマンドレジスタ4、制御回路5、レディ/ビジィ信号出力回路6、ステータスレジスタ7、高電圧発生回路8、ローアドレスバッファ9、ローアドレスデコーダ10、カラムバッファ11、カラムデコーダ12、データレジスタ13、センスアンプ14およびメモリセルアレイ15と、各種のバス、信号線を備えている。
、送信ドライバー25,26,32と受信ドライバー27,29,30を介して全二重のシリアル通信が実現できる構成である。また、メモリカード31は、シリアルクロック供給部21から供給されたシリアルクロックと、これを分周して生成されたクロックにより動作する構成である。
このリーダー/ライター24は、メモリカード31へのデータの書き込みの際には、PCIバス接続部44から入力されたデータのうち、フラッシュメモリを制御するコマンドCOMMAND〔7:0〕にはCRCCエンコーダ49においてCRCCのパリティを付加し、また、データWDATA〔7:0〕にはECCエンコーダ50においてECCのパリティを付加する構成である。そして、切り替えスイッチ51により選択され、8−10変換デコーダ・パラレル/シリアル変換器52の8−10変換デコーダにおいてDCフリーの10ビットデータへ変換するとともに同期コードを付加し、パラレル/シリアル変換器によりシリアルデータに変換し、メモリカード31へのライトデータとして出力端子45から出力する構成である。
また、メモリカード31からデータを読み出す際には、入力端子41から入力されたリードデータRD_DATAは、シリアル/パラレル変換器・8−10変換デコーダ46のシリアル/パラレル変換器によりパラレルデータへ変換された後、同期コードを検出してから8−10変換デコーダにより元の8ビットデータへ戻され、ECCデコーダ47において誤り訂正され、バスインタフェース48を介しPCIバス接続部44から図3に示すホストPC23へ送られる構成である。
出力端子56から出力されるステータス出力は、そのフラッシュメモリにおいてデータの書き込みや消去が終了したか否かを確認するために用いる。
フラッシュメモリに対し高速でデータを書き込むためには、フラッシュメモリを並列化し、書き込みデータを並列に入力すればよい。フラッシュメモリを2つ並列化すれば2倍の速さで書き込みを行うことが出来る。また、4つ並列化すれば4倍の速さで書き込みを行うことが出来る。
図3に示したメモリカードシステムの構成において、並列になっているフラッシュメモリの数や並列化の形態に応じて構成が異なってくるのは、メモリカードの構成だけである。従って、以下の説明におけるメモリカードシステムの構成は、図3に示したブロック図が適用される。
このメモリコントローラ68は、ライトデータWDATA〔7:0〕の入力端子81、コマンドCOMMAND〔7:0〕の入力端子82、ECC_SYND〔7:0〕の入力端子83、CRCC_SYND〔7:0〕の入力端子84、クロック分周器65から出力された分周クロック信号CLKの入力端子85、フラッシュメモリ69,70,71,72,73,74,75,76からの各ステータス出力が入力される入力端子86,87,88,89,90,91,92,93およびリードデータRDATA〔7:0〕が出力される出力端子94を備えたコマンドデコーダ95を備えている。
また、フラッシュメモリ69,70,71,72,73,74,75,76へ与えられるデータのバッファ用FIFOメモリ101,104,107,110,113,116,119,121を備えている。
このメモリコントローラ201は、フラッシュメモリ69,70の組と、フラッシメ
モリ71,72の組と、フラッシュメモリ73,74の組と、フラッシュメモリ75,76の組へそれぞれ与えられるデータのバッファ用FIFOメモリ301,304,307,311を備えている。
なお、図10において図6と同一または相当の部分については同一の符号を付し説明を省略する。このメモリカードでは、フラッシュメモリ69とフラッシュメモリ70とフラッシュメモリ71とフラッシュメモリ72の各入出力端子IO1,IO2,IO3,IO4,IO5,IO6,IO7,IO8が共通接続され、また、フラッシュメモリ73とフラッシュメモリ74とフラッシュメモリ75とフラッシュメモリ76の各入出力端子IO1,IO2,IO3,IO4,IO5,IO6,IO7,IO8が共通接続されている。
このメモリコントローラ401は、フラッシュメモリ69,70,71,72の組と、フラッシュメモリ73,74,75,76の組へそれぞれ与えられるデータのバッファ用FIFOメモリ401,404を備えている。
なお、ここで以下の説明における各種パラメータについて説明しておく。PAGEはフラッシュメモリの書き込み単位である1ページ分の有効データの大きさである。BLKは、フラッシュメモリの消去単位である1ブロック分のページ数である。mは、フラッシュメモリの並列数である。nは、入出力端子を共通にするフラッシュメモリの数であり、独立している場合は、nは「1」、2つのフラッシュメモリの入出力端子が共通化されている場合はnは「2」、4つのフラッシュメモリの入出力端子が共通化されている場合はnは「4」である。TRは、1ページ分のデータをレジスタに転送するのに要する時間である。TPavrは、1ページ分のデータの平均プログラム時間、TPmaxは、1ページ分のデータの最大プログラム時間である。
ΔTは、1ブロック分のデータを消去し書き込むために要する時間のフラッシュメモリ間のバラツキである。TEavrをフラッシュメモリの消去単位である1ブロック分の消去に要する時間の平均値、TWavrをフラッシュメモリの書き込み単位である1ページ分の書き込みに要する時間の平均値とすると、1ブロック分のデータを消去し書き込むために要する時間の平均値は、TEavr+BLK×TWavrであり、並列化されたm個のフラッシュメモリのうち最も書込み所要時間および消去所要時間の遅いフラッシュメモリが必要とする時間の平均を(TEavr+BLK×TWavr)maxとすると、ΔT=(TEavr+BLK×TWavr)max−(TEavr+BLK×TWavr)で定義される。
Taは、1ページ分のデータの最小到達時間である。RATEは、1ブロックのデータの消去、書き込みを繰り返す場合の最大データレートであり、RATE=PAGE/Taである。
以下、これらの条件を満足するデータ高速転送方法をここでは「順不定データ高速転送方式」という。この「順不定データ高速転送方式」は、ページ単位では、書込み所要時間および消去所要時間の速いフラッシュメモリへデータが次々と書き込まれていくが、ブロック単位では、書込み所要時間および消去所要時間の最も遅いフラッシュメモリへの書き込みが終了するのを待って、すなわちブロック単位で書込み所要時間および消去所要時間の最も遅いフラッシュメモリへの書き込みが終了するタイミングに合わせて、各メモリにおいて次のページ単位、ブロック単位の書き込みに進むものである。
すなわち、m個の並列化したフラッシュメモリを非同期で動作させ、1ブロック(BLKページ)の消去が終了したフラッシュメモリから書き込みを行う。書き込みが終了したフラッシュメモリに対しては、ブロック単位でデータを転送し書き込んでいく。そして、1ブロック分の書き込みが終了したフラッシュメモリは、他の全てのフラッシュメモリにおける書き込みが終了するまで待ってから、すなわちブロック単位で同期をとって、全てのフラッシュメモリにおける次のブロックの消去へ進む。
また、この「順不定データ高速転送方式」において、1ページの書き込みに要する時間は、n×TR+TPavr+ΔTである。この「順不定データ高速転送方式」では、フラッシュメモリの書き込み速度をほぼ最大限に活用できる。また、書き込みアドレスが確定しているため、書き込みや読み出しのための制御が簡単になり、さらに書込み所要時間および消去所要時間の遅いフラッシュメモリが追いついてくるのをブロック単位で待つため、空き領域が発生することもない。
図12に示すタイミングチャートでは、最初の8つのブロックでは、P01, P09, P17,P25が#1のフラッシュメモリに、P02,P10,P18,P26が♯2のフラッシュメモリに、P03,P11,P19,P27が#3のフラッシュメモリにというように、各フラッシュメモリへ8個おきのページが割り振られそのページのデータが書き込まれている。1ブロック分の書き込みがもっとも速く終了した#8のフラッシュメモリは、一番遅い#6の書き込みが終了するまで待っている。従って、どのフラッシュメモリにどのページのデータが書き込まれるかは、あらかじめ決まっており変更されることはない。また、遅いフラッシュメモリに空き領域が発生することもない。
ブロック単位で同期をとるために待ち時間が発生しているが、ページ単位で同期をとって次のページ書き込みを行う従来方式に比べ、待ち時間の割合は少なく書き込みデータ・レートは速い。
書き込み時間のバラツキΔTが不透明なので、正確に見積もることはできないが、書き込みデータ・レートを簡単に計算してみる。
図12に示すように1ブロック分を消去してから書き込むという使い方の場合、最小データ到着間隔:Ta=(BLK×(TR+TPavr)+TEavr+ΔT)/m/BLKなので、図12に示すようなm=8、BLK=4の場合、Ta=(4×(TR+TPavr)+ TEavr+ΔT)/(8×4)になる。
図13のフローチャートに示す高速書き込みアルゴリズム68Aは、入出力端子がそれぞれ独立したフラッシュメモリを制御するものであり、一例としてフラッシュメモリ69を制御する場合を示している。従って、フラッシュメモリ70,71,72,73,74,75,76も、図13のフローチャートと同様な高速書き込みアルゴリズムによりそれぞれ制御される。先ず、イニシャライズによりフラッシュメモリ69のステータス出力を「レディ状態」、データSYNCを“1”に初期設定する(ステップS12)。次に、8個すべてのフラッシュメモリ69,70,71,72,73,74,75,76において1ブロック分のページの書き込みが終了したときに立つフラッグであるデータSYNCが“1”であるか否かを判定する(ステップS13)。このときデータSYNCは、前記イニシャライズにより“1”に設定されているため、ステップS13からステップS20へ進む。ステップS20では、この高速書き込み処理に対する処理終了の指示があるか否かを判定する。この高速書き込み処理に対する処理終了の指示があればこの高速書き込み処理を終了することになるが、処理終了の指示がなければ、ステップS20からステップS14へ進み、フラッシュメモリ69の最初の1ブロック分の消去処理を実行し、ステップS13へ戻る。前記ステップS12のイニシャライズにより“1”に設定されたフラッグ、データSYNCは、前記ステップS14においてフラッシュメモリ69の最初の1ブロック分の消去処理を実行した時点で“0”になるため、フラッシュメモリ69の最初の1ブロック分の消去処理を実行しステップS13へ戻った後は、続いてステップS15へ進む。このステップS15では、フラッシュメモリ69の書き込み済みページ数をチェックし、フラッシュメモリ69の書き込み済みページ数がBLK未満であるか否かを判定する。このとき、フラッシュメモリ69においては、書き込み済みページ数がBLKに達していない。このため、フラッシュメモリ69へ割り当てられた1ブロック分のページについての書き込みを行うためにステップS16へ進む。ステップS16では、バッファ用FIFOメモリ101にデータが存在しているか否かを判定する。この結果、バッファ用FIFOメモリ101にデータが存在している場合、ステップS17へ進む。ステップS17では、フラッシュメモリ69のステータス出力が「レディ状態」であることを確認した後、ステップS18においてフラッシュメモリ69に割り当てられた最初のページP01について書き込みを行うためのレジスタ転送を開始し、ステップS13へ戻る。
なお、このステップS18の処理で開始するレジスタ転送の対象となる1ブロック分のページについては、ページ割り振りテーブルにより予め設定されている。このページ割り振りテーブルには、フラッシュメモリ69に割り振るページがP01,P09,P17,P25,P33,P41,P49,P57の順で、例えば暫時増加する所定のアドレスに設定されている。そして、このページ割り振りテーブルの前記アドレスに設定されているページを参照ポインタにより順番に参照し読み出す。この参照ポインタは、ステップS18の処理を通過するたびに、ページ割り振りテーブルの参照するアドレスをインクリメントする。このため、前回のステップS18のレジスタ転送開始処理で参照したページがP01であるときには今回はP09、前回参照したページがP09であるときにはP17、前回参照したページがP17であるときには今回P25というように、ステップS18のレジスタ転送開始処理を実行するたびにフラッシュメモリ69に割り振るページが前記ページ割り振りテーブルから読み出される。
フラッシュメモリ69における書き込み済みページ数がBLKに達すると、ステップS15からステップS13へ戻り、フラッシュメモリ70,71,72,73,74,75,76において1ブロック分のページの書き込みが終了しデータSYNCが“1”になるまでステップS13、ステップS15の処理を繰り返す。そして、他のフラッシュメモリに割り当てられた1ブロック分のページについての書き込みが終了し、データSYNCが“1”になると、ステップS13からステップS20へ進み、この順不定データ高速転送方式による書き込み処理について「終了」か否かを判定し、「終了」の場合にはこの順不定データ高速転送処理による書き込み処理を終える。一方、「終了」でない場合には、ステップS14へ進み、フラッシュメモリ69の次の1ブロック分の消去を開始し、ステップS13へ戻る。フラッシュメモリ69の次の1ブロック分の消去処理の実行によりフラグ、データSYNCは“1”から“0”になるため、ステップS13からステップS15、ステップS16、ステップS17、ステップS18へ進み、これらの処理を、フラッシュメモリ69において書き込み済みページ数がBLKに達するまで繰り返し、前記次の1ブロック分の各ページについてのレジスタ転送と書き込みを行う。
また、ステップS16において、バッファ用FIFOメモリ101にデータが存在していない場合にはステップS13へ戻る。
図14は、2個のフラッシュメモリが組にされ、それら入出力端子が共通接続され、1つのバスを共有している場合、P01からP64までの番号を持つページがどのようなタイミングでフラッシュメモリ69,70,71,72,73,74,75,76へ割り振られていくかを示すタイミングチャートである。なお、#1は図8に示すフラッシュメモリ69、#2は同様にフラッシュメモリ70、#3は同様にフラッシュメモリ71、#4は同様にフラッシュメモリ72、#5は同様にフラッシュメモリ73、#6は同様にフラッシュメモリ74、#7は同様にフラッシュメモリ75、#8は同様にフラッシュメモリ76に対応する。
図12の場合と異なるのは、2つのフラッシュメモリでバスを共有しているので、その組におけるフラッシュメモリ間ではレジスタ転送に待ち時間が生じる場合があることである。例えば、#3,#4のフラッシュメモリでは、#3のフラッシュメモリがP03のプログラムを終えた後、#3,#4のフラッシュメモリのステータス出力は共にレディになっている。しかしながら、#4のフラッシュメモリにP04を転送するためにバスが使用され、#3のフラッシュメモリには待ち時間が生じている。同様に#5,#6のフラッシュメモリでP05,P06の番号を持つページをレジスタ転送する際にも待ち時間が生じている。
ここで、この「順不定データ高速転送方式」における書き込みデータ・レートを簡単に計算してみる。図14に示したように1ブロック分を消去してから書き込むという使い方の場合、最小データ到着間隔:Ta=(BLK×(2×TR+TPavr)+TEavr+ΔT)/m/BLKなので、図13に示すm=8,BLK=4の場合、Ta=(4×(2×TR+TPavr) + TEavr+ΔT)/(8×4)になる。
図15は、この高速書き込みアルゴリズム201Aの構成を示すフローチャートである
。以下、このフローチャートに従って図14に示したタイミングによる高速書き込み処理を説明する。
図15のフローチャートに示す高速書き込みアルゴリズム201Aは、入出力端子が共通接続された2つのフラッシュメモリを制御するものであり、一例として2つのフラッシュメモリ69,70を制御する場合を示している。従って、フラッシュメモリ71,72、フラッシュメモリ73,74、フラッシュメモリ75,76の入出力端子が共通化された2つのフラッシュメモリも、図15のフローチャートと同様な高速書き込みアルゴリズムにより制御される。
先ず、イニシャライズにより、フラッシュメモリ69,70に対し各ステイタス出力を「レディ状態」、フラッグ、データSYNCを“1”、チェック対象をフラッシュメモリ69に初期設定する(ステップS22)。続いて8個すべてのフラッシュメモリ69,70,71,72,73,74,75,76において1ブロック分のページの書き込みが終了したときに立つフラッグであるデータSYNCが“1”であるか否かを判定する(ステップS23)。イニシャライズによりフラッシュメモリ69,70のフラッグ、データSYNCが“1”に設定された直後では、ステップS23からステップS26へ進む。ステップS26では、この高速書き込み処理に対する処理終了の指示があるか否かを判定する。この高速書き込み処理に対する処理終了の指示があればこの高速書き込み処理を終了することになるが、処理終了の指示がなければ、ステップS26からステップS24へ進み、フラッシュメモリ69,70の最初の1ブロック分の消去処理を実行し、ステップS23へ戻る。前記ステップS22のイニシャライズにより“1”に設定されたフラッグ、データSYNCは、前記ステップS24においてフラッシュメモリ69,70の最初の1ブロック分の消去処理を実行した時点で“0”になるため、フラッシュメモリ69,70の最初の1ブロック分の消去処理を実行しステップS23へ戻った後は、続いてフラッシュメモリ69とフラッシュメモリ70の状態チェックを交互に行うためのチェック対象フラッシュメモリ切替処理へ進む(ステップS25)。
なお、このステップS35の処理で開始するレジスタ転送の対象となるフラッシュメモリ69に対する1ブロック分のページについては、ページ割り振りテーブルにより予め設定されている。このページ割り振りテーブルには、フラッシュメモリ69に割り振るページがP01,P09,P17,P25,P33,P41,P49,P57の順で、例えば暫時増加する所定のアドレスに設定されている。そして、このページ割り振りテーブルの前記アドレスに設定されているページを参照ポインタにより順番に参照し読み出す。この参照ポインタは、ステップS35の処理を通過するたびに、ページ割り振りテーブルの参照するアドレスをインクリメントする。このため、前回のステップS35のレジスタ転送開始処理で参照したページがP01であるときには今回はP09、前回参照したページがP09であるときにはP17、前回参照したページがP17であるときには今回P25というように、ステップS35のレジスタ転送開始処理を実行するたびにフラッシュメモリ69に割り振るページが前記ページ割り振りテーブルから読み出される。
続いてステップS36へ進み、チェック対象とするフラッシュメモリをフラッシュメモリ69からフラッシュメモリ70へ切り替えるため切替設定を行う。この切替設定により、前記ステップS25のチェック対象フラッシュメモリ切替処理で選択されるチェック対象のフラッシュメモリは、フラッシュメモリ69からフラッシュメモリ70へ切り替わる。そして、ステップS36で切替設定を行った後、ステップS23へ戻る。
そして、この間にフラッシュメモリ70についての消去処理が終了すると、フラッシュメモリ70のステータス出力は「ビジィ状態」から「レディ状態」へ変わる。また、このときバスは使用中ではない。
この結果、フラッシュメモリ70の状態チェックのための処理におけるステップS43によりフラッシュメモリ70のステータス出力が「レディ状態」であることが確認されると、ステップS44によりバス使用中でないことを確認し、ステップS45においてフラッシュメモリ70に割り当てられたページP02について書き込みを行うためのレジスタ転送を開始する。
なお、このステップS45の処理で開始するレジスタ転送の対象となるフラッシュメモリ70に対する1ブロック分のページについては、ページ割り振りテーブルにより予め設定されている。このページ割り振りテーブルには、フラッシュメモリ70に割り振るページがP02,P10,P18,P26,P34,P42,P50,P58の順で、例えば暫時増加する所定のアドレスに設定されている。そして、このページ割り振りテーブルの前記アドレスに設定されているページを参照ポインタにより順番に参照し読み出す。この参照ポインタは、ステップS45の処理を通過するたびに、ページ割り振りテーブルの参照するアドレスをインクリメントする。このため、前回のステップS45のレジスタ転送開始処理で参照したページがP02であるときには今回はP10、前回参照したページがP10であるときには今回はP18、前回参照したページがP18であるときには今回P26というように、ステップS45のレジスタ転送開始処理を実行するたびにフラッシュメモリ70に割り振るページが前記ページ割り振りテーブルから読み出される。
続いてステップS46へ進み、チェック対象とするフラッシュメモリをフラッシュメモリ70からフラッシュメモリ69へ切り替えるため切替設定を行う。この切替設定により、前記ステップS25のチェック対象フラッシュメモリ切替処理で選択されるチェック対象のフラッシュメモリは、フラッシュメモリ70からフラッシュメモリ69へ切り替わる。この切替設定をステップS46で行なった後、ステップS23へ戻る。
このようにフラッシュメモリ69およびフラッシュメモリ70が同時に書き込み終了となった場合には、その時点でどちらのフラッシュメモリの状態チェックのための処理を実行しているかに応じて、その状態チェックの対象となっているほうのフラッシュメモリが優先的にバスを使用しレジスタ転送を行うことになる。すなわち、フラッシュメモリ69とフラッシュメモリ70のステータス出力が同時に「ビジィ状態」から「レディ状態」へ変わった時点において、例えばフラッシュメモリ69について状態チェックのための処理を実行しており、ステップS33によりフラッシュメモリ69のステータス出力が「ビジィ状態」から「レディ状態」へ変わったことが判定された場合、ステップS35によりフラッシュメモリ69がバスを使用しレジスタ転送を開始し、フラッシュメモリ69では割り振られたページP17についての書き込みが行われる。このため、フラッシュメモリ70については、次のサイクルのフラッシュメモリ70の状態チェックのための処理におけるステップS44により、フラッシュメモリ69によるバス使用中の状態が判定される結果、ステップS44からステップS46へ進むため、図14のタイミングチャートに示すようにフラッシュメモリ70によるレジスタ転送は、フラッシュメモリ69による前記レジスタ転送の終了によりバスが開放されるタイミングまで待たされることになり、この時点で実行可能になる。図14のタイミングチャートでは、フラッシュメモリ69のページP09とフラッシュメモリ70のページP02の書き込みが同時に終了した場合、フラッシュメモリ70によるページP10についてのレジスタ転送は、フラッシュメモリ69によるページP17についてのレジスタ転送の終了によりバスが開放されるタイミングまで待たされる。
なお、#1は図10に示すフラッシュメモリ69、#2は同様にフラッシュメモリ70、#3は同様にフラッシュメモリ71、#4は同様にフラッシュメモリ72、#5は同様にフラッシュメモリ73、#6は同様にフラッシュメモリ74、#7は同様にフラッシュメモリ75、#8は同様にフラッシュメモリ76に対応する。
図16に示すタイミングチャートは、4つのフラッシュメモリが組みにされ各入出力端子が共通接続された構成のメモリカードに対する「順不定データ高速転送方式」であり、図15に示すフローチャートにおいてフラッシュメモリの数を4つに拡張した場合であり、次の点において図15と異なっているだけであり動作説明は省略する。すなわち、図15におけるステップS22のイニシャライズ処理で、フラッシュメモリ69,70,71,72のステータス出力を「レディ状態」、データSYNCを“1”、チェック対象をフラッシュメモリ69へ初期設定すること。また、図15におけるステップS25のチェック対象フラッシュメモリ切替処理において選択されるチェック対象のフラッシュメモリはフラッシュメモリ69,70,71,72のいずれかになること。そして、選択されたフラッシュメモリに対応するそれぞれの状態チェックのための処理フロー、すなわちフラッシュメモリ69,70,71,72にそれぞれ対応する処理フローが必要となること。そして、このラッシュメモリ69,70,71,72にそれぞれ対応する処理フローにおける図15のステップS34、ステップS44のバス使用中判定処理に対応する処理では、他のフラッシュメモリによるバス使用中について判定を行うこと。また、図15のステップS35、ステップS45の処理に対応する処理では、レジスタ転送の対象となるフラッシュメモリ69,70,71,72に対する1ブロック分のページについてのページ割り振りテーブルとその参照ポインタが必要になることである。また、図15のステップS36、ステップS46のチェック対象フラッシュメモリの切替設定に対応する処理では、チェック対象のフラッシュメモリが、例えばフラッシュメモリ69からフラッシュメモリ70、フラッシュメモリ70からフラッシュメモリ71、フラッシュメモリ71からフラッシュメモリ72へ順次切り替わるように切替設定されることである。
フラッシュメモリでは、#3のフラッシュメモリがP03のプログラムを終えた後、#2, #3,#4のフラッシュメモリのステータス出力は共にレディになっている。しかしながら、#4のフラッシュメモリにP04のページを転送するためにバスが使用され、#2,#3には待ち時間が生じている。ここでも、フラッシュメモリ間でステータス出力が同時に「レディ状態」になったときには書き込まれるページ数ができるだけ偏らないように選択している。同様に、#5,#6のフラッシュメモリでP05,P06のページをレジスタ転送する際にも待ち時間が生じている。この待ち時間は図12の場合よりもさらに長くなる。
ここで、この「順不定データ高速転送方式」における書き込みデータ・レートを簡単に計算してみる。図16に示したように1ブロック分を消去してから書き込むという使い方の場合、最小データ到着間隔:Ta=(BLK×(4×TR+TPavr)+TEavr+ΔT)/m/BLKなので、図16に示すm=8,BLK=4の場合、Ta=(4×(4×TR+TPavr)+TEavr+ΔT)/(8×4)になる。
また、バスを共有する場合、入出力端子が共通接続されたフラッシュメモリ間でレジスタ転送のタイミングが競合するときには、一方のレジスタ転送のタイミングが待たされることなるが、n個のフラッシュメモリ間の入出力端子が共通接続されるため、入出力端子が共通接続されるフラッシュメモリは、積層した構成で実装することが可能となり、実装面積が1/nとなるメリットが期待できる。
また、この実施例1の「順不定データ高速転送方式」は、ブロック単位で同期し次の書き込み処理へ進むため、従来方式のようにページ単位で同期し次ページ書き込みへ進む方式に比べ、空き領域が過剰に発生することがなく、メモリ容量を最大限に使用可能である。また、各記録媒体へ規定のページが並列的に割り振られ、前記割り振られた規定のページへ規定ページ単位の書き込みが行われることから、書き込みのための制御が簡単になる効果もある。
Claims (2)
- ページを単位とするデータの書き込み処理、ブロックを単位とするデータの消去処理が可能な入出力が独立した複数の記録媒体へデータを並列的に転送し記録するデータ記録方法であって、
前記消去処理が行われた前記複数の記録媒体を非同期で制御し、前記複数の記録媒体の各々において、書き込み処理が終了するたびにブロック内の書き込みページ数が規定数に達したかを判定し、前記書き込み処理と前記判定を、当該ブロック内の書き込みベージ数が規定数に達するまで繰り返すことで、前記複数の記録媒体に対し並列的にデータをブロックごとにページ単位で書き込む非同期書き込みのステップと、
各記録媒体で前記判定の結果を示す信号の論理を前記書き込み処理が行われるたびに監視し、前記監視により前記全ての記録媒体でブロック内の書き込みページ数が規定数に達したときは、前記複数の記録媒体に対し次のブロックの消去処理を実行するとともに、当該消去処理を実行した時点で前記信号の論理を反転することにより、消去処理が早く終了する記録媒体から順に当該次のブロックに対し前記非同期書き込みを可能とする同期消去ステップと、
を有するデータ記録方法。 - ページを単位とする書き込み処理、ブロックを単位とする消去処理が可能な入出力が共通接続され1つのバスを共有する複数の記録媒体を複数組備えた記録媒体群へデータを並列的に転送し記録するデータ記録方法であって、
前記記録媒体群の記録媒体1つあたりのページ数が規定数となるように各記録媒体へページを並列的に割り振り、前記消去処理が行われた前記複数の記録媒体の組ごとを非同期で制御し、前記複数の記録媒体の組ごとに、当該組内の複数の記録媒体において、前記書き込み処理が終了するたびにブロック内の書き込みページ数が規定数に達したかを記録媒体ごとに判定し、規定数に達していない場合は、前記書き込み処理が終了した記録媒体の順で、かつバス使用の競合を回避し、前記割り振った前記規定数のページ群内で次のページのデータを当該組内の各記録媒体へ書き込み処理し、当該書き込み処理と前記判定を当該組内の記録媒体すべてで書き込みベージ数が規定数に達するまで繰り返すことで、当該組内の複数の記録媒体に対し並列的にデータをブロックごとにページ単位で書き込む組単位の非同期書き込みのステップと、
前記組ごとに、当該組内の各記録媒体で前記判定の結果を示す信号の論理を前記書き込み処理が行われるたびに監視し、前記監視により当該組内の全ての記録媒体でブロック内の書き込みページ数が規定数に達したときは、前記組ごとに、当該組内の全ての記録媒体に対し次のブロックの消去処理を実行するとともに、当該消去処理を実行した時点で前記信号の論理を反転することにより、消去処理が早く終了する記録媒体から順に当該次のブロックに対し前記組単位の非同期書き込みを可能とする同期消去ステップと、
を有するデータ記録方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004251910A JP4747535B2 (ja) | 2004-08-31 | 2004-08-31 | データ記録方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004251910A JP4747535B2 (ja) | 2004-08-31 | 2004-08-31 | データ記録方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006072452A JP2006072452A (ja) | 2006-03-16 |
JP4747535B2 true JP4747535B2 (ja) | 2011-08-17 |
Family
ID=36153055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004251910A Expired - Fee Related JP4747535B2 (ja) | 2004-08-31 | 2004-08-31 | データ記録方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4747535B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4505343B2 (ja) * | 2005-02-09 | 2010-07-21 | 富士フイルム株式会社 | 半導体メモリ装置及び記憶制御方法 |
JP4649503B2 (ja) | 2008-08-13 | 2011-03-09 | 株式会社東芝 | 半導体装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000132982A (ja) * | 1998-10-26 | 2000-05-12 | Sony Corp | 情報記録媒体素子、情報記録装置及び情報記録方法、並びに情報再生装置及び情報再生方法 |
JP3992960B2 (ja) * | 2000-10-26 | 2007-10-17 | 松下電器産業株式会社 | 記録装置及びプログラム |
JP4089322B2 (ja) * | 2002-07-12 | 2008-05-28 | 松下電器産業株式会社 | 不揮発メモリ制御システム |
-
2004
- 2004-08-31 JP JP2004251910A patent/JP4747535B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006072452A (ja) | 2006-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7392343B2 (en) | Memory card having a storage cell and method of controlling the same | |
US8144515B2 (en) | Interleaved flash storage system and method | |
US7334080B2 (en) | Nonvolatile memory with independent access capability to associated buffer | |
TWI744632B (zh) | 半導體設備及在一記憶體裝置上執行操作之方法 | |
KR100227419B1 (ko) | 외부기억장치 및 그의 메모리 액세스 제어방법 | |
KR20100077026A (ko) | 직렬 인터페이스 nand | |
US8732385B2 (en) | Non-volatile memory, controller controlling next access | |
US8266368B2 (en) | Memory controller, memory system, and control method for memory system | |
JP4643729B2 (ja) | インタリーブ制御装置、インタリーブ制御方法及びメモリシステム | |
TW200828337A (en) | Nonvolatile memory system, and data read/write method for nonvolatile memory system | |
US8869004B2 (en) | Memory storage device, memory controller thereof, and data transmission method thereof | |
US9772777B2 (en) | Systems and methods for improved access to flash memory devices | |
US20100325342A1 (en) | Memory controller and nonvolatile storage device using same | |
KR20060041718A (ko) | 불휘발성 메모리 제어방법 및 불휘발성 메모리 제어장치 | |
CN108538332B (zh) | 与非门闪存的读取方法 | |
JP4747535B2 (ja) | データ記録方法 | |
CN110874333B (zh) | 存储设备及存储方法 | |
KR100761374B1 (ko) | 플래시 메모리 제어 방법 및 장치 | |
JP4696501B2 (ja) | データ記録方法 | |
US7600068B2 (en) | Programmable control interface device | |
JP4273106B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
CN112885385B (zh) | 非易失性存储器及其读取方法 | |
US20090043945A1 (en) | Non-Volatile Memory System and Method for Reading Data Therefrom | |
JPH09288618A (ja) | 記憶装置及びそのメモリアクセス制御方法 | |
JPH1185606A (ja) | メモリコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070427 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090807 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20091013 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100518 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100921 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110201 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110328 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110419 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110502 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140527 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |