JP2008123314A - 半導体記憶装置への情報記録方法及び情報記録システム - Google Patents

半導体記憶装置への情報記録方法及び情報記録システム Download PDF

Info

Publication number
JP2008123314A
JP2008123314A JP2006307478A JP2006307478A JP2008123314A JP 2008123314 A JP2008123314 A JP 2008123314A JP 2006307478 A JP2006307478 A JP 2006307478A JP 2006307478 A JP2006307478 A JP 2006307478A JP 2008123314 A JP2008123314 A JP 2008123314A
Authority
JP
Japan
Prior art keywords
physical block
physical
information
logical
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.)
Pending
Application number
JP2006307478A
Other languages
English (en)
Inventor
Kazumi Osono
和美 大園
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2006307478A priority Critical patent/JP2008123314A/ja
Publication of JP2008123314A publication Critical patent/JP2008123314A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】従来の情報記録方法では、消去回数に制限のある携帯型メモリカードを効率的に利用することが困難であった。
【解決手段】本発明にかかる情報記録方法は、論理ブロック番号と論理ブロックに関連付けられた物理ブロックの物理ブロック番号とが関連付けて登録される論理物理変換テーブルと、論理ブロックに関連付けされていない物理ブロックの物理ブロック番号が登録される空き物理ブロックテーブルとを作成し、所定の論理ブロック番号に対して情報の書き込みが指定された場合に、空き物理ブロックテーブルに登録された物理ブロックのうち前記消去回数が最も少ない物理ブロックを検索し、当該最も消去回数が少ない物理ブロックに情報を記録し、空き物理ブロックテーブルに登録され情報が記録された物理ブロックの物理ブロック番号と情報の書き込みが指定された論理ブロック番号に関連付けられて登録された物理ブロック番号とを入れ替えるものである。
【選択図】図7

Description

本発明は半導体記憶装置への情報記録方法及び情報記録システムに関し、特に物理ブロックに記録されたデータの消去回数に制限を有する半導体記憶装置への情報記録方法及び情報記録システムに関する。
近年、PC(Personal Computer)や携帯端末などの機器(以下場合に応じてホストコンピュータと称す)間での情報の受け渡し等の用途で抜き差し可能な記憶媒体が用いられる。このような記憶媒体として、携帯型メモリカードが多く利用されている。携帯型メモリカードでは、一般的にフラッシュメモリと呼ばれる書き換え可能な半導体記憶装置が用いられる。ホストコンピュータは、論理ブロック単位で携帯型メモリカードへのアクセスを行う。また、このフラッシュメモリは、複数の物理ブロックを有し、物理ブロック単位で情報の記憶あるいは消去が行われる。そして、ホストコンピュータあるいは携帯型メモリカードは、論理ブロックの番号とそれに対応した物理ブロックの番号とを変換しながら、情報の書き込みあるいは読み出しを行う。
しかしながら、フラッシュメモリは、物理ブロック上に記録された情報を消去する回数に上限値が設けられている。そして、消去回数が上限値を上回るとその物理ブロックは使用不可能になる。従って、このような携帯型メモリカードでは、ある物理ブロックに対する消去回数のみが上限値に達した場合、他の物理ブロックは使用可能であるにもかかわらず携帯型メモリカードが使用できなくなる問題がある。この問題は、ある物理ブロックへの情報の書き換え頻度が他の物理ブロックへの書き換え頻度よりも極端に多くなった場合、大きな問題となる。
そこで、このような携帯型メモリカードにおいて物理ブロックに対する使用回数の制限を緩和する技術が特許文献1、2に開示されている。以下では、特許文献1に開示される内容を従来例1と称し、特許文献2に開示される内容を従来例2と称す。
従来例1の携帯型メモリカードシステムのブロック図を図11に示す。図11に示すように、従来例1の携帯型メモリカードシステムは、ホームマシン100と携帯端末200とによって構成される。そして、ホームマシン100と携帯端末200とは、共に携帯型メモリカード300の抜き差しが可能な装置である。従来例1では、ホームマシン100が携帯型メモリカード300の物理ブロック(例えば、セクタ)毎の消去回数情報を含むカード管理情報を有している。そして、携帯端末200に携帯型メモリカード300が挿入されると、ホームマシン100は、通信手段を用いてカード管理情報を携帯端末に送信する。携帯端末200は、受信したカード管理情報に基づき携帯型メモリカードに記録されたファイルの再配置処理を行う。これによって、携帯端末200は、所定のセクタへの情報の書き換えが集中しないように携帯型メモリカードへのアクセスを行う。
ここで、このファイル再配置処理のフローチャートを図12に示し、従来例1のファイル再配置処理について説明する。図12に示すように、携帯端末200は、カード管理情報に基づき、情報の書き込まれていない空セクタの中で消去回数が規定値以上であって、消去回数が最小のセクタを検索する(ステップS101)。続いて、情報が書き込まれている使用中セクタの中で消去回数が最小のセクタを検索する(ステップS102)。そして、ステップS102で検索されたセクタの消去回数が規定値以上か否かを判断する(ステップS103)。
このステップS103で、ステップS102で検索されたセクタの消去回数が規定値以下であった場合、ステップS102で検索されたセクタの情報をステップS101で検索されたセクタにコピーする(ステップS104)。その後、ステップS102で検索されたセクタの消去回数のカウントアップと、情報の消去が行われる(ステップS105、S106)。
従来例1の携帯型メモリカードシステムでは、上記ファイル再配置処理を行うことで、あるセクタの消去回数が増加した場合に、そのセクタに書き換え頻度の低い情報を記録する。このファイル再配置処理によって、消去回数の多いセクタの消去回数の増加速度が低下することが期待できる。つまり、従来例1では、消去回数の多いセクタの消去回数の増加速度を低下させることで、携帯型メモリカードの使用回数制限を緩和する。
また、従来例2に開示されているフラッシュメモリへのデータ記録制御方法について説明する。従来例2に示されているフラッシュメモリへのデータ記録制御方法の概略図を図13、図14に示す。図13の概略図は、フラッシュメモリへ書き込まれるデータの流れを示している。また、図14の概略図は、データ書き込み後の物理ブロックの状態を示している。
図13に示すように、従来例2では、物理ブロックを消去回数が多い物理ブロックグループと消去回数が少ない物理ブロックグループとに分類する。また、論理ブロックについても、ライト命令を受信する回数(以下、ライト回数と称す)が多い論理ブロックとライト回数が少ない論理ブロックとに分類する。
そして、ライト回数が多い論理ブロックに物理ブロックCに記録されているデータAをデータCで上書きするライト命令を受信した場合、消去回数が少ない物理ブロックグループ内のデータが書き込まれていない物理ブロックBにデータCを書き込む。また、消去回数が少ない物理ブロックグループの物理ブロックAに書き込まれているデータBを消去回数が多い物理ブロックグループ内のデータが書き込まれていない物理ブロックDにコピーする。その後、データの重複等を解消するために、不必要なデータを有する物理ブロックのデータは消去される(図14参照)。
図14に示すように、消去回数が少ない物理ブロックグループ内の物理ブロックA及び物理ブロックCに記録されているデータは消去される。そして、物理ブロックA及び物理ブロックCは、空き物理ブロックとなり、それぞれのグループにおいて空き物理ブロックとして登録される。
従来例2のデータ記録制御方法は、ライト回数が多い論理ブロックは、消去回数が少ない物理ブロックグループに属する物理ブロックにデータを書き込む。このとき、消去回数が少ない物理ブロックグループに属する物理ブロックに記録されているデータは、消去回数が多い物理ブロックグループに属する物理ブロックにコピーされる。一方、ライト回数が少ない論理ブロックは、消去回数が多い物理ブロックグループに属する物理ブロックにデータを書き込む。このとき、消去回数が多い物理ブロックグループに属する物理ブロックに記録されているデータは、消去回数が少ない物理ブロックグループに属する物理ブロックにコピーされる。
つまり、従来例2では、論理ブロックのライト回数と物理ブロックの消去回数とに基づき物理ブロックの消去回数を平均化する。このような制御を行うことで、従来例2では、フラッシュメモリの使用回数制限を緩和する。
特開平8−63559号公報 特開平8−16482号公報
しかしながら、従来例1、2は、論理ブロックと物理ブロックとの関係を制御しているのみであって、例えば、ライト回数が少ない論理ブロックには少ないながらもライト命令が送られる。従って、消去回数が多い物理ブロックは、速度は遅いながらも消去回数が増加する。また、ライト回数が多い論理ブロックに対するライト回数がライト回数が少ない論理ブロックに対するライト回数よりも極端に多い場合、消去回数が少ない物理ブロックの消去回数がいずれ消去回数が多い物理ブロックの消去回数を上回ってしまう場合がある。つまり、従来例1、2によっても、このようなアクセス状況が発生した場合、使用回数の制限に関してフラッシュメモリを効率よく使用することができない問題がある。
本発明にかかる情報記録方法は、記憶領域を複数の物理ブロックに分割し、当該物理ブロックごとに情報の書き換えを行う半導体記憶装置の情報記録方法であって、前記物理ブロックは、それぞれ情報が消去された回数を示す消去回数情報と、前記物理ブロックに関連付けされた論理ブロックを特定する論理ブロック番号とを有し、外部装置からのアクセス単位である前記論理ブロック番号と論理ブロックに関連付けされた物理ブロックの物理ブロック番号とが関連付けて登録される論理物理変換テーブルと、論理ブロックに関連付けされてない物理ブロックの前記物理ブロック番号が登録される空き物理ブロックテーブルとを作成し、所定の論理ブロック番号に対して情報の書き込みが指定された場合に、前記空き物理ブロックテーブルに登録された物理ブロックのうち消去回数が最も少ない物理ブロックを検索し、当該最も消去回数が少ない物理ブロックに情報を記録し、前記空き物理ブロックテーブルに登録され情報が記録された物理ブロックの物理ブロック番号と情報の書き込みが指定された論理ブロック番号に関連付けて登録された物理ブロックの物理ブロック番号とを入れ替えることを特徴とするものである。
また、本発明にかかる情報記録システムは、記憶領域を複数の物理ブロックに分割し、当該物理ブロックごとに情報の書き換えを行う半導体記憶装置の情報記録システムであって、外部装置からのアクセス単位である論理ブロック番号と論理ブロックに関連付けされた物理ブロックの物理ブロック番号とが関連付けて登録される論理物理変換テーブルと、論理ブロックに関連付けされていない物理ブロックの物理ブロック番号が登録される空き物理ブロックテーブルとを作成するテーブル作成手段と、所定の論理ブロック番号に対して情報の書き込みが指定された場合に、前記空き物理ブロックテーブルに登録された物理ブロックのうち消去回数が最も少ない物理ブロックを検索する検索手段と、当該検索手段によって検索された最も消去回数が少ない物理ブロックに情報を記録する記録物理ブロック選択手段と、前記空き物理ブロックテーブルに登録された情報が記録された物理ブロックの物理ブロック番号と情報の書き込みが指定された論理ブロック番号に関連付けて登録された物理ブロックの物理ブロック番号とを入れ替えるテーブル情報入れ替え手段とを有することを特徴とするものである。
本発明にかかる情報記録方法及び情報記録システムによれば、空き物理ブロックテーブルに登録された物理ブロックのうち消去回数が最も少ない物理ブロックに情報を記録し、この物理ブロックと論理物理変換テーブルに登録された物理ブロックとを入れ替える。これによって、複数の物理ブロックの消去回数は、全体に亘り均一的に増加するため、半導体記憶装置の消去回数の制限内において効率よく物理ブロックを使用することが可能である。
本発明にかかる情報記録方法及び情報記録システムによれば、消去回数に制限のある半導体記憶装置の寿命を延ばすことが可能である。
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。本実施の形態にかかる情報記録システムのブロック図の一例を図1に示す。図1に示すように、本実施の形態にかかる情報記録システムは、外部装置(例えば、ホストコンピュータ1)と携帯型メモリカード2とを有する。ホストコンピュータ1は、例えばPCや携帯端末である。携帯型メモリカード2は、情報が記録される半導体記憶装置であって、例えば記憶領域としてフラッシュメモリを有している。また、携帯型メモリカード2は、PCや携帯端末に抜き差し可能な記録媒体である。
携帯型メモリカード2には、ホストコンピュータ1から論理ブロック単位でアクセスされる方式のものと、物理ブロック単位でアクセスされる方式のものがある。論理ブロックとは、ホストコンピュータから見たアクセス単位である。また、物理ブロックとは、例えばフラッシュメモリ等において、情報の記録あるいは消去を行う単位であって、フラッシュメモリにおいて規定されるアクセス単位である。本実施の形態では、携帯型メモリカード2の一例として、ホストコンピュータ1から論理ブロック単位でアクセスされる方式の携帯型メモリカードについて説明する。
携帯型メモリカード2は、インタフェース制御部10、フラッシュメモリ20、メモリ制御部30を有している。インタフェース制御部10は、ホストコンピュータ1と携帯型メモリカード2とを接続し、各種命令及びデータの送受信を行う。フラッシュメモリ20は、複数の物理ブロックを有する情報の記憶領域である。このフラッシュメモリ20の概略図を図2に示す。
図2に示すように、フラッシュメモリ20は、複数の物理ブロックを有している。そして、それぞれの物理ブロックは、管理情報とブロックデータ領域を有している。管理情報には、例えば管理フラグ、論理ブロック番号L、消去回数Nが含まれる。管理フラグはブロックデータ領域が現在どのような状況にあるかが示される。例えば、情報の更新中、記録済み、空状態等の状態が管理フラグに示される。論理ブロック番号Lは、物理ブロックが関連付けされている論理ブロックの番号である。消去回数Nは、物理ブロックのブロックデータが何回消去されたかをカウントするカウント値である。ブロックデータ領域は、物理ブロックに記録される情報の記憶領域である。
メモリ制御部30は、ホストコンピュータ1からフラッシュメモリへのアクセスを制御する。そして、この制御を行うためにメモリ制御部30は、処理実行部40、RAM(Random Access Memory)50、ROM(Read Only Memory)60を有している。
処理実行部40は、例えばCPU(Central Processing Unit)等の演算装置である。そして、ROM60に格納されたプログラムに基づきフラッシュメモリ20へのアクセスを制御するための各種処理手段を実現する。本実施の形態では、処理実行部40は、テーブル作成手段41、検索手段42、記録物理ブロック選択手段43、テーブル入れ替え手段44を実現する。これらの手段の詳細は後述する。
RAM50は、例えば携帯型メモリカード2がホストコンピュータ1と接続される期間の間情報を保持する記憶領域である。本実施の形態では、RAM50には、論理物理変換テーブル51、空き物理ブロックテーブル52が記録される。論理物理変換テーブル51は、例えば図3に示すようなテーブルである。図3に示すように、論理物理変換テーブル51は、論理ブロック番号と物理ブロック番号とを関連付けるテーブルである。そして、論理物理変換テーブル51は、物理ブロックの情報として、物理ブロック番号Pとその物理ブロックの消去回数Nの情報を有している。登録される物理ブロック番号Pとその物理ブロックの消去回数Nを以降では場合に応じて登録情報と称す。なお、この論理物理変換テーブル51には、論理ブロックに関連付けされている物理ブロックが登録される。
空き物理ブロックテーブル52は、例えば図4に示すようなテーブルである。図4に示すように、空き物理ブロックテーブル52の行番号を示す空きブロック番号を有している。そして、空き物理ブロックテーブル52には、論理ブロックに関連付けされていない物理ブロックの物理ブロック番号P及び消去回数Nと空きブロック番号とが関連付けられて登録される。
ROM60は、例えば不揮発性メモリであって、処理実行部40で使用されるプログラムが格納される。本実施の形態では、テーブル作成プログラム61、検索プログラム62、記録物理ブロック選択プログラム63、テーブル情報入れ替えプログラム64が格納される。これらのプログラムの詳細については後述する。
本実施の形態の携帯型メモリカード2は、ホストコンピュータ1に挿入され、電源の供給が開始されると、論理物理変換テーブルと空き物理ブロックテーブルとを作成する。そして、ホストコンピュータ1は、この論理物理変換テーブルと空き物理ブロックテーブルとに基づき情報の記録及び読み出しを行う。以下にこれらの動作について詳細に説明する。
まず、論理物理変換テーブル及び空き物理ブロックテーブルの作成手順を示すフローチャートを図5に示す。論理物理変換テーブル及び空き物理ブロックテーブルは、処理実行部40がROM60に格納されるテーブル作成プログラム61に基づきテーブル作成手段41を実行させることで作成される。また、作成された論理物理変換テーブル及び空き物理ブロックテーブルは、RAM50に格納される。
図5に示すフローチャートを参照して論理物理変換テーブル及び空き物理ブロックテーブルの作成手順について説明する。携帯型メモリカード2がホストコンピュータ1に挿入され、携帯型メモリカード2に対して電源の供給が開始され、携帯型メモリカード2が起動するとこの処理が開始される。処理が開始されると、まず、論理物理変換テーブルLPTable[]及び空き物理ブロックテーブルFTable[]の初期化が行われる(ステップS1)。続いて、処理において用いられる各種ポインタ及び変数の初期化が行われる。例えば、物理ブロック番号P=0、空き物理ブロックテーブルのポインタnumF=0、最小消去回数minN=最大値とする(ステップS2)。その後、物理ブロック番号Pの物理ブロック(以下、物理ブロックPと称す)の管理情報が読み出される。読み出された管理情報に基づき、論理ブロック番号L=物理ブロックPの論理ブロック番号L、消去回数N=物理ブロックPの消去回数Nとする(ステップS3)。
次に、物理ブロックPの消去回数Nが最小消去回数minNより小さいか否かを判断する(ステップS4)。ステップS4において、物理ブロックPの消去回数Nが最小消去回数minNよりも小さいことが判明した場合、最小消去回数minN=物理ブロックPの消去回数Nとする(ステップS5)。その後、ステップS6に進む。一方、物理ブロックPの消去回数Nが最小消去回数minNよりも大きいことが判明した場合、そのままステップS6に進む。
ステップS6では、物理ブロックPが論理ブロックLに関連付けされているか否かを判断する。以下の説明では、場合に応じて論理ブロックに関連付けされていない物理ブロックを空き物理ブロックと称す。ステップS6で、物理ブロックPが論理ブロックLに関連付けされていることが判明した場合、論理物理変換テーブルLPTable[L]に物理ブロックPの物理ブロック番号Pと消去回数Nを登録する(ステップS7)。一方、物理ブロックPが空き物理ブロックであった場合、空き物理ブロックテーブルFTable[numF]に物理ブロックPの物理ブロック番号Pと消去回数Nを登録する。また、空き物理ブロックテーブルのポインタnumFの値を1つ加算する(ステップS8)。
ステップS7あるいはステップS8を実行した後に、物理ブロックPの物理ブロック番号Pが物理ブロックの最終番号か否かを判断する(ステップS9)。ステップS9において最終ブロックでない場合、ステップS10において読み出す物理ブロックの物理ブロック番号を1つ加算し、ステップS3に戻る。一方、ステップS9において物理ブロックPが最終ブロックとされた場合、ステップS1〜S9において作成された論理物理変換テーブル及び空き物理ブロックテーブルに登録された情報を消去回数に基づき並べ替える(ステップS11)。この並べ替え処理によって最終的な論理物理変換テーブル及び空き物理ブロックテーブルが作成される。その後、この論理物理変換テーブル及び空き物理ブロックテーブルに基づきホストコンピュータ1から物理ブロックへのアクセスが行われる。
ここで、ステップS11の並べ替え処理について詳細に説明する。並べ替え処理のフローチャートを図6に示し、このフローチャートを参照して、並べ替え処理について説明する。図6に示すように、並べ替え処理が開始されると、各種ポインタ及び変数が初期化される。例えば、論理物理変換テーブルのポインタnumLP=0、空き物理ブロックテーブルのポインタnumF=0とされる(ステップS12)。続いて、空き物理ブロックテーブルFTable[numF]の消去回数Nが最小消去回数minNに消去回数の閾値addNを加えた値よりも小さいか否かが判断される(ステップS13)。
ステップS13で、空き物理ブロックテーブルFTable[numF]に登録されている消去回数Nが最小消去回数minNに消去回数の閾値addNを加えた値よりも小さいことが判明した場合、空き物理ブロックテーブルの次のポインタで指定される物理ブロックの処理に移行するためにステップS23に進む。一方、空き物理ブロックテーブルFTable[numF]の消去回数Nが最小消去回数minNに消去回数の閾値addNを加えた値よりも大きいことが判明した場合、ステップS14に進む。
ステップS14では、論理物理変換テーブルLPTable[numLP]に登録されている消去回数Nが最小消去回数minNに消去回数の閾値addNを加えた値よりも小さいか否かを判断する。ステップS14で論理物理変換テーブルLPTable[numLP]に登録されている消去回数Nが最小消去回数minNに消去回数の閾値addNを加えた値よりも大きいことが判明した場合、論理物理変換テーブルのポインタnumLPの値を1つ増加させる(ステップS15)。そして、この論理物理変換テーブルのポインタnumLPがnumLPの最終値よりも大きいか否かを判断する(ステップS16)。ステップS16で論理物理変換テーブルのポインタnumLPがnumLPの最終値よりも小さいことが判明した場合、ステップS15で更新されたポインタnumLPに基づきステップS14の処理を行う。また、ステップS16で論理物理変換テーブルのポインタnumLPがnumLPの最終値よりも大きいことが判明した場合、ステップS17において、最小消去回数minNに消去回数の閾値addNが加算される。これによって、最小消去回数minNは更新される。また、ポインタnumLPは値が"0"とされる。このステップS17の処理が完了すると、処理はステップS13に戻る。
一方、ステップS14で論理物理変換テーブルLPTable[numLP]に登録されている消去回数Nが最小消去回数minNに消去回数の閾値addNを加えた値よりも小さいことが判明した場合、ステップS18に進む。ステップS18では、論理物理変換テーブルLPTable[numLP]に登録されている物理ブロック番号に対応する物理ブロックの管理フラグを"更新中"とする。続いて、ステップS19で、論理物理変換テーブルLPTable[numLP]に登録されている物理ブロック番号に対応する物理ブロックに記録されている情報を空き物理ブロックテーブルFTable[numF]に登録されている物理ブロック番号に対応した物理ブロックにコピーする。次に、論理物理変換テーブルLPTable[numLP]に登録されている物理ブロック番号に対応する物理ブロックに記録されている情報を消去し、この物理ブロックの消去回数Nを1つ加算し、管理フラグを"更新済み"とする(ステップS20)。そして、論理物理変換テーブルLPTable[numLP]に登録されている登録情報と、空き物理ブロックテーブルFTable[numF]に登録されている登録情報とを入れ替える(ステップS21)。
ステップS21の処理が終了すると、ポインタnumLPの値は1つ加算される(ステップS22)。その後、ポインタnumFの値が1つ加算される(ステップS23)。そしてステップS23で更新されたポインタnumFがポインタnumFの最終値であるか否かが判断される(ステップS24)。ステップS24でポインタnumFがポインタnumFの最終値よりも大きいことが判明した場合、並べ替え処理は終了する。一方、ステップS24でポインタnumFがポインタnumFの最終値よりも小さいことが判明した場合、ステップS25に進む。ステップS25では、ステップS22で更新されたポインタnumLPの値がポインタnumLPの最終値であるか否かが判断される。ステップS25でポインタnumLPの値がポインタnumLPの最終値よりも小さいことが判明した場合、ステップS13に戻る。一方、ステップS25でポインタnumLPの値がポインタnumLPの最終値よりも大きいことが判明した場合、最小消去回数minNに消去回数の閾値addNが加算される。これによって、最小消去回数minNは更新される。また、ポインタnumLPは値が"0"とされる(ステップS26)。このステップS26の処理が完了すると、処理はステップS13に戻る。
このような並べ替え処理によって、空き物理ブロックテーブルには消去回数が少ない空き物理ブロックが集められる。また、集められた空き物理ブロックの消去回数は、最小消去回数minNに対して所定の範囲内の値となる。一方、論理物理変換テーブルに登録される物理ブロックの消去回数は、空き物理ブロックテーブルに登録される物理ブロックの消去回数よりも多くなる。
次に、論理物理変換テーブル及び空き物理ブロックテーブルに基づいて行われる書き込み処理について説明する。この書き込み処理では、処理実行部40がROM60の検索プログラム62、記録物理ブロック選択プログラム63、テーブル情報入れ替えプログラム64を読み出し、検索手段42、記録物理ブロック選択手段43、テーブル情報入れ替え手段44を実行することで行われる。
書き込み処理のフローチャートを図7に示し、このフローチャートを参照して書き込み処理について説明する。書き込み処理が開始されると、まずホストコンピュータ1から論理ブロック番号Lに対して書き込み指示が送信される(ステップS30)。この書き込み指示に従って記録物理ブロック選択手段43が論理物理変換テーブルLPTable[L]に登録される物理ブロックP0の管理フラグを"更新中"とする(ステップS31)。続いて、検索手段42が空き物理ブロックテーブルに登録されている物理ブロックのうち最も消去回数が少ないものを検索する(ステップS32)。
次に、記録物理ブロック選択手段43は、検索手段42によって検索された最小消去回数を有する空き物理ブロックテーブルFTable[minF]に登録されている物理ブロックP1に、論理ブロック番号Lに対して書き込まれる情報を書き込む(ステップS33)。そして、テーブル情報入れ替え手段44は、物理ブロックP0に記録されている情報を消去し、物理ブロックP0の消去回数に1を加算し、物理ブロックP0の管理フラグを"更新済み"とする(ステップS34)。その後、テーブル情報入れ替え手段44は、上記処理によって変更されたテーブルに関して、論理物理変換テーブルの登録情報と空き物理ブロックテーブルの登録情報との入れ替えを実行する(ステップS35)。
ここで、ステップS32の検索処理についてさらに詳細に説明する。検索処理のフローチャートを図8に示し、このフローチャートを参照して検索処理について説明する。図8に示すように検索処理が開始されると、各種ポインタ及び変数が初期化される。例えば、空き物理ブロックテーブルのポインタnumF=0、最小の消去回数を有する物理ブロックが登録されている空き物理ブロックテーブルのポインタminF=0とする(ステップS40)。次に、消去回数N=空き物理ブロックテーブルFTable[numF]の消去回数Nとする(ステップS41)。
続いて、消去回数Nが空き物理ブロックテーブルFTable[numF]の消去回数Nよりも大きいか否かが判断される(ステップS42)。ステップS42で、消去回数Nが空き物理ブロックテーブルFTable[numF]の消去回数Nよりも大きいことが判明した場合、ステップS44に進む。一方、消去回数Nが空き物理ブロックテーブルFTable[numF]の消去回数Nよりも小さいことが判明した場合、それまでの消去回数Nを空き物理ブロックテーブルFTable[numF]の消去回数Nで更新する。さらに、このステップでは、最小消去回数を示すポインタminFにこのときのポインタnumFの値を代入する(ステップS43)。その後、ステップS44に進む。
ステップS44では、ポインタnumFに1を加えることで、ポインタnumFの値を更新する。そして、更新されたポインタnumFが最終値よりも大きいか否かを判断する(ステップS45)。このステップS45において、ポインタnumFが最終値よりも大きいことが判明した場合、検索処理を終了する。一方、ポインタnumFが最終値よりも小さいことが判明した場合、ステップS42の処理に戻る。
また、ホストコンピュータ1が携帯型メモリカード2から情報を読み出す場合について説明する。この場合、ホストコンピュータ1は、論理ブロック番号を指定して情報を読み出す。そして携帯型メモリカード2は、論理物理変換テーブルに従って、指定された情報が記録される物理ブロックを特定し、特定された物理ブロックに記録されている情報をホストコンピュータ1に返信する。
上記説明より、本実施の形態にかかる情報記録方法及び情報記録システムによれば、論理ブロックに関連付けされた物理ブロックが登録される論理物理変換テーブルと、空き物理ブロックであって論理物理変換テーブルに登録される物理ブロックよりも消去回数が少ない物理ブロックが登録される空き物理ブロックテーブルとを作成する。このテーブルの作成は、携帯型メモリカード2への電源投入時に毎回行われる。そして、物理ブロックに情報を記録する場合には、空き物理ブロックテーブルに登録された物理ブロックに対して書き込みを行う。その後、論理物理変換テーブル上の書き込み指示のあった論理ブロック番号に登録された物理ブロックの登録情報と空き物理ブロックテーブルにおいて情報が書き込まれた物理ブロックの登録情報とを入れ替える。
つまり、書き込み処理は、空き物理ブロックテーブルに登録された物理ブロックのうち消去回数が最も少ないものに対して行われる。また、携帯型メモリカード2への電源投入時にその状態において消去回数が少ない物理ブロックが空き物理ブロックテーブルに集められる。これによって、論理物理変換テーブル上に消去回数の少ない物理ブロックが登録され続けることがない。
このような処理を行うことで、ある特定の物理ブロックに書き込み又は消去の処理が集中することを防止することができる。つまり、フラッシュメモリ内の消去回数の増加は均一的なものとなる。従って、ある特定の物理ブロックへの消去回数が極端に上昇してこの物理ブロックの消去回数のみが上限に達することで、携帯型メモリカード2の使用寿命を縮めることはない。
ここで、携帯型メモリカードの使用回数と消去回数の関係について一例を示し説明する。本実施の形態における消去回数と使用回数との関係を示すグラフを図9に示す。また、対比のために、従来例2における消去回数と使用回数との関係を示すグラフを図10に示す。図9に示すように、本実施の形態における各物理ブロックの消去回数は、使用回数の増加とともに均一的になっている。そして、消去回数がほぼ均一になった後は、各物理ブロック間の消去回数の差はほぼ変化しない状態で消去回数が増加する。
一方、従来例2にかかる消去回数は、消去回数が少ない物理ブロックグループの消去回数と消去回数が多い物理ブロックグループの消去回数との差が使用回数の増加とともに減少する。しかしながら、ライト回数が多い論理ブロックへの書き込み命令の頻度がライト回数が少ない論理ブロックへの書き込み命令の頻度よりも極端に多い場合、この2つのグループの消去回数の関係が逆転することが考えられる。このような状況が発生した場合、従来例2にかかる情報記録方法では、消去回数に制限のある携帯型メモリカード2を効率的に使用できない問題がある。
つまり、本実施の形態にかかる情報記録方法及び情報記録システムは、論理ブロックへのアクセス状況に関係なく物理ブロックの消去回数を均一にすることが可能である。そのため、消去回数に制限のある携帯型メモリカード2を効率的に使用可能であり、携帯型メモリカード2の寿命を延ばすことが可能である。
その他の実施の形態
上記実施の形態では、メモリ制御部30は携帯型メモリカード2に搭載されていたが、これはホストコンピュータ1側に搭載されていてもかまわない。この場合、ホストコンピュータ1から携帯型メモリカード2へは物理ブロック単位でアクセスを行うこととなる。このように、ホストコンピュータ1側にメモリ制御部を搭載した場合、特定の携帯型メモリカードのみならず、ホストコンピュータ1に挿入されるすべての携帯型メモリカードの寿命を延ばすことが可能である。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、メモリ制御部の構成は、上記実施の形態に限らず、その機能を実現するために適宜変更することが可能である。
実施の形態1にかかる情報記録システムのブロック図である。 実施の形態1にかかるフラッシュメモリの概略図である。 実施の形態1にかかる論理物理変換テーブルの概略図である。 実施の形態1にかかる空き物理ブロックテーブルの概略図である。 実施の形態1にかかる論理物理変換テーブル及び空き物理ブロックテーブルの作成手順を示すフローチャートである。 実施の形態1にかかる論理物理変換テーブル及び空き物理ブロックテーブルの消去回数による並べ替え処理の手順を示すフローチャートである。 実施の形態1にかかる書き込み処理の手順を示すフローチャートである。 実施の形態1にかかる検索処理の手順を示すフローチャートである。 実施の形態1における消去回数と使用回数との関係を示すグラフである。 従来例2における消去回数と使用回数との関係を示すグラフである。 従来例1の携帯型メモリカードシステムのブロック図である。 従来例1の携帯型メモリカードシステムにおけるファイル再配置処理のフローチャートである。 従来例2の情報記録システムにおける書き込み処理の概略図である。 従来例2の情報記録システムにおける書き込み処理実行後の状態を示す概略図である。
符号の説明
1 ホストコンピュータ
2 携帯型メモリカード
10 インタフェース制御部
20 フラッシュメモリ
30 メモリ制御部
40 処理実行部
41 テーブル作成手段
42 検索手段
43 記録物理ブロック選択手段
44 テーブル情報入れ替え手段
50 RAM
51 論理物理変換テーブル
52 空き物理ブロックテーブル
60 ROM
61 テーブル作成プログラム
62 検索プログラム
63 記録物理ブロック選択プログラム
64 テーブル情報入れ替えプログラム

Claims (7)

  1. 記憶領域を複数の物理ブロックに分割し、当該物理ブロックごとに情報の書き換えを行う半導体記憶装置の情報記録方法であって、
    前記物理ブロックは、それぞれ
    情報が消去された回数を示す消去回数情報と、
    前記物理ブロックに関連付けされた論理ブロックを特定する論理ブロック番号とを有し、
    外部装置からのアクセス単位である前記論理ブロック番号と論理ブロックに関連付けされた物理ブロックの物理ブロック番号とが関連付けて登録される論理物理変換テーブルと、
    論理ブロックに関連付けされていない物理ブロックの前記物理ブロック番号が登録される空き物理ブロックテーブルとを作成し、
    所定の論理ブロック番号に対して情報の書き込みが指定された場合に、前記空き物理ブロックテーブルに登録された物理ブロックのうち消去回数が最も少ない物理ブロックを検索し、
    当該最も消去回数が少ない物理ブロックに情報を記録し、
    前記空き物理ブロックテーブルに登録され情報が記録された物理ブロックの物理ブロック番号と情報の書き込みが指定された論理ブロック番号に関連付けて登録された物理ブロックの物理ブロック番号とを入れ替えることを特徴とする半導体記憶装置の情報記録方法。
  2. 前記論理物理変換テーブル及び空き物理ブロックテーブルは、前記半導体記憶装置の起動時に作成されることを特徴とする請求項1に記載の半導体記憶装置の情報記録方法。
  3. 前記情報の書き込みが指定された論理ブロック番号に関連付けて登録された物理ブロックは、記録されていた情報が消去され、前記消去回数情報の値が1つ増加されることを特徴とする請求項1に記載の半導体記憶装置の情報記録方法。
  4. 前記論理物理変換テーブル及び空き物理ブロックテーブルは、前記物理ブロックが形成される記憶領域とは異なる領域に形成される記憶領域に記録されることを特徴とする請求項1に記載の半導体記憶装置の情報記録方法。
  5. 前記半導体記憶装置は、抜き差し可能な記録媒体であることを特徴とする請求項1に記載の半導体記憶装置の情報記録方法。
  6. 記憶領域を複数の物理ブロックに分割し、当該物理ブロックごとに情報の書き換えを行う半導体記憶装置の情報記録システムであって、
    外部装置からのアクセス単位である論理ブロック番号と論理ブロックに関連付けされた物理ブロックの物理ブロック番号とが関連付けて登録される論理物理変換テーブルと、論理ブロックに関連付けされていない物理ブロックの物理ブロック番号が登録される空き物理ブロックテーブルとを作成するテーブル作成手段と、
    所定の論理ブロック番号に対して情報の書き込みが指定された場合に、前記空き物理ブロックテーブルに登録された物理ブロックのうち消去回数が最も少ない物理ブロックを検索する検索手段と、
    当該検索手段によって検索された最も消去回数が少ない物理ブロックに情報を記録する記録物理ブロック選択手段と、
    前記空き物理ブロックテーブルに登録された情報が記録された物理ブロックの物理ブロック番号と情報の書き込みが指定された論理ブロック番号に関連付けて登録された物理ブロックの物理ブロック番号とを入れ替えるテーブル情報入れ替え手段とを有することを特徴とする半導体記憶装置の情報記録システム。
  7. 前記テーブル作成手段、検索手段、記録物理ブロック選択手段、及びテーブル情報入れ替え手段は、前記記憶領域とは異なる記憶領域に記録されたプログラムに基づき処理実行部がそれぞれの処理を行うことで実現されることを特徴とする請求項6に記載の半導体記録装置の情報記録システム。
JP2006307478A 2006-11-14 2006-11-14 半導体記憶装置への情報記録方法及び情報記録システム Pending JP2008123314A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006307478A JP2008123314A (ja) 2006-11-14 2006-11-14 半導体記憶装置への情報記録方法及び情報記録システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006307478A JP2008123314A (ja) 2006-11-14 2006-11-14 半導体記憶装置への情報記録方法及び情報記録システム

Publications (1)

Publication Number Publication Date
JP2008123314A true JP2008123314A (ja) 2008-05-29

Family

ID=39507997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006307478A Pending JP2008123314A (ja) 2006-11-14 2006-11-14 半導体記憶装置への情報記録方法及び情報記録システム

Country Status (1)

Country Link
JP (1) JP2008123314A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010027026A (ja) * 2008-07-18 2010-02-04 A-Data Technology Co Ltd メモリストレージ装置及びその制御方法
JP2010250534A (ja) * 2009-04-15 2010-11-04 Tdk Corp メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2012523594A (ja) * 2009-08-31 2012-10-04 株式会社日立製作所 複数のフラッシュパッケージを有するストレージシステム
JP2012533813A (ja) * 2009-07-29 2012-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータのメモリ・デバイスに関するメモリ管理システム、コンピュータによって実装される方法、およびコンピュータ・プログラム
JP2015146209A (ja) * 2015-03-26 2015-08-13 株式会社日立製作所 半導体装置、不揮発性メモリ装置の制御方法
US9293216B2 (en) 2013-09-30 2016-03-22 Lapis Semiconductor Co., Ltd. Semiconductor device and method of searching for erasure count in semiconductor memory
CN113311989A (zh) * 2020-02-26 2021-08-27 北京君正集成电路股份有限公司 一种基于并行使用的双片nand flash坏块管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06282484A (ja) * 1993-03-29 1994-10-07 Sharp Corp 不揮発性半導体メモリ用データ書込管理装置
JPH07153285A (ja) * 1993-11-29 1995-06-16 Sansei Denshi Japan Kk 不揮発性フラッシュメモリの制御方法とその装置
JP2003050747A (ja) * 2001-08-03 2003-02-21 Sony Corp 不揮発性メモリのデータ書き換え方法
JP2006039886A (ja) * 2004-07-27 2006-02-09 Renesas Technology Corp メモリカード

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06282484A (ja) * 1993-03-29 1994-10-07 Sharp Corp 不揮発性半導体メモリ用データ書込管理装置
JPH07153285A (ja) * 1993-11-29 1995-06-16 Sansei Denshi Japan Kk 不揮発性フラッシュメモリの制御方法とその装置
JP2003050747A (ja) * 2001-08-03 2003-02-21 Sony Corp 不揮発性メモリのデータ書き換え方法
JP2006039886A (ja) * 2004-07-27 2006-02-09 Renesas Technology Corp メモリカード

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010027026A (ja) * 2008-07-18 2010-02-04 A-Data Technology Co Ltd メモリストレージ装置及びその制御方法
KR101515617B1 (ko) 2008-07-18 2015-05-04 에이-데이타 테크놀로지 캄파니 리미티드 메모리 스토리지 장치 및 그 제어 방법
JP2010250534A (ja) * 2009-04-15 2010-11-04 Tdk Corp メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2012533813A (ja) * 2009-07-29 2012-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータのメモリ・デバイスに関するメモリ管理システム、コンピュータによって実装される方法、およびコンピュータ・プログラム
JP2012523594A (ja) * 2009-08-31 2012-10-04 株式会社日立製作所 複数のフラッシュパッケージを有するストレージシステム
US9293216B2 (en) 2013-09-30 2016-03-22 Lapis Semiconductor Co., Ltd. Semiconductor device and method of searching for erasure count in semiconductor memory
US9620237B2 (en) 2013-09-30 2017-04-11 Lapis Semiconductor Co., Ltd. Semiconductor device and search circuit for and method of searching for erasure count in semiconductor memory
JP2015146209A (ja) * 2015-03-26 2015-08-13 株式会社日立製作所 半導体装置、不揮発性メモリ装置の制御方法
CN113311989A (zh) * 2020-02-26 2021-08-27 北京君正集成电路股份有限公司 一种基于并行使用的双片nand flash坏块管理方法
CN113311989B (zh) * 2020-02-26 2023-09-22 北京君正集成电路股份有限公司 一种基于并行使用的双片nand flash坏块管理方法

Similar Documents

Publication Publication Date Title
TWI385669B (zh) 用於快閃記憶體的平均磨損方法、儲存系統與控制器
US8250286B2 (en) Block management method, and storage system and controller using the same
US8386698B2 (en) Data accessing method for flash memory and storage system and controller using the same
KR100818035B1 (ko) 저장 매체 상의 데이터 관리 및 데이터 관리 시스템과 컴퓨터 판독가능한 저장 매체
JP2006040264A (ja) メモリカードの制御方法および不揮発性半導体メモリの制御方法
JPWO2007000862A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
JP2005242897A (ja) フラッシュディスク装置
KR20070024504A (ko) 기억 장치, 메모리 관리 방법 및 프로그램
JP2008123314A (ja) 半導体記憶装置への情報記録方法及び情報記録システム
JP2009099149A (ja) 適応ハイブリッド密度メモリ記憶装置の制御方法、及び適応ハイブリッド密度メモリ記憶装置
US8156278B2 (en) Non-volatile data storage system and method thereof
CN101796495A (zh) 存储器设备和文件系统
JP5874525B2 (ja) 制御装置、記憶装置、記憶制御方法
TWI450271B (zh) 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
CN109690465B (zh) 一种存储设备管理方法及用户终端
JP4829202B2 (ja) 記憶装置及びメモリ制御方法
US20150074335A1 (en) Memory system, controller and control method of memory
JP4308780B2 (ja) 半導体メモリ装置、メモリコントローラ及びデータ記録方法
CN110286848B (zh) 数据处理方法及装置
KR20050062638A (ko) 공통의 논리적 블록과 연관된 물리적 블록들을 결정하기위한 방법 및 장치
JP2007148965A (ja) フラッシュディスク装置のエラーブロック管理方法及び装置
JP2011227802A (ja) データ記録装置
JP4334331B2 (ja) フラッシュメモリのアクセス制御方法
JP2008299455A (ja) データ記憶装置及びデータ管理方法
JP2000330850A (ja) フラッシュメモリ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090714

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120710