JP2001067258A - フラッシュメモリ内蔵半導体装置及びフラッシュメモリアドレス変換方法 - Google Patents

フラッシュメモリ内蔵半導体装置及びフラッシュメモリアドレス変換方法

Info

Publication number
JP2001067258A
JP2001067258A JP23794699A JP23794699A JP2001067258A JP 2001067258 A JP2001067258 A JP 2001067258A JP 23794699 A JP23794699 A JP 23794699A JP 23794699 A JP23794699 A JP 23794699A JP 2001067258 A JP2001067258 A JP 2001067258A
Authority
JP
Japan
Prior art keywords
address
physical
physical address
flash memory
logical
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
JP23794699A
Other languages
English (en)
Inventor
Tomoya Fukuzumi
知也 福住
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP23794699A priority Critical patent/JP2001067258A/ja
Publication of JP2001067258A publication Critical patent/JP2001067258A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 フラッシュメモリの長寿命化が実現できるフ
ラッシュメモリ内蔵半導体装置及びフラッシュメモリア
ドレス変換方法を得ることを目的とする。 【解決手段】 アクセス部100は、外部からの論理ア
ドレスに対応する物理アドレスへのアクセスを行う。論
理物理変換テーブル用バッファ5は、フラッシュメモリ
3の複数の物理アドレスのうち、論理アドレスに対応す
る物理アドレスを論理物理変換テーブル用バッファ5に
登録しておき、それ以外を、空き物理アドレステーブル
用バッファ6に登録しておく。CPU7は、フラッシュ
メモリ3へのアクセスがライトアクセスのときについて
は、論理物理変換テーブル用バッファ5内の当該ライト
アクセスに係る論理アドレスに対応する物理アドレスと
空き物理アドレステーブル用バッファ6内の一の物理ア
ドレスとを交換する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フラッシュメモリ
を有するフラッシュメモリ内蔵半導体装置及びフラッシ
ュメモリアドレス変換方法に関する。
【0002】
【従来の技術】フラッシュメモリは、周知のように、デ
ータの消去回数や書き込み回数(総称して、「データ変
更回数」と称す)が増えるほど寿命が短くなるので、デ
ータ変更回数が制限されている。
【0003】また、フラッシュメモリを有するフラッシ
ュストレージメディア(フラッシュメモリ内蔵半導体装
置)は、ホストシステムから与えられる論理アドレスを
フラッシュメモリの物理アドレスに変換するための変換
テーブルを内部に持つ。フラッシュストレージメディア
は、この変換テーブルを用いることによって、ホストシ
ステムから与えられる論理アドレスを物理アドレスに変
換して、フラッシュメモリの前記物理アドレスへアクセ
スする。
【0004】以上のようなフラッシュストレージメディ
アは、フラッシュメモリの長寿命化のため、従来では次
のような方法(長寿命化方法)を用いていた。
【0005】物理アドレスと論理アドレスとを1:1
に対応させて使用する場合、物理アドレスの総数が論理
アドレスの総数と比べて大きいと、フラッシュメモリに
は未使用の物理アドレスが存在することになる。ある物
理アドレスへデータを書き込む場合、その物理アドレス
のデータ変更回数が大きければ、この物理アドレスに代
えて未使用の物理アドレスへ書き込む。つまり、未使用
の物理アドレスをいわゆる代替領域として用いる。この
ように、代替領域を用いることによって、ウェアレベリ
ング(データ変更回数の平均化)を行い、フラッシュメ
モリの長寿命化を図る。
【0006】フラッシュメモリの物理アドレスの各々
のデータ変更回数をカウントしておく。ある物理アドレ
スへデータを書き込む場合、当該物理アドレスと比べて
データ変更回数の少ない物理アドレスへ当該データが書
き込まれるように、変換テーブルの物理アドレスと論理
アドレスとの対応関係を変更する。このように、データ
変更回数のより少ない物理アドレスを用いることによっ
て、ウェアレベリングを行い、フラッシュメモリの長寿
命化を図る。
【0007】
【発明が解決しようとする課題】しかしながら、方法
では、代替領域を充分に確保しないと、ウェアレベリン
グの充分な効果が期待できないという問題点がある。一
方、方法では、例えば、フラッシュメモリの物理アド
レスの各々のデータ変更回数をカウントしておく必要が
あるので、構成が複雑になるという問題点がある。
【0008】本発明は、これらの問題点を解決するため
になされたものであり、従来の長寿命化方法と異なる新
規な方法で、ウェアレベリングの充分な効果が期待で
き、かつ、簡単な構成でフラッシュメモリの長寿命化が
実現できるフラッシュメモリ内蔵半導体装置及びフラッ
シュメモリアドレス変換方法を得ることを目的とする。
【0009】
【課題を解決するための手段】本発明の請求項1に係る
課題解決手段は、複数の物理アドレスが割り当てられた
フラッシュメモリと、論理アドレスを受け、当該論理ア
ドレスに対応する前記物理アドレスへのアクセスを行う
ためのアクセス部とを備え、前記アクセス部は、前記複
数の物理アドレスのうち、前記論理アドレスに対応する
前記物理アドレスを登録しておく第1登録領域と、前記
複数の物理アドレスのうち、前記第1登録領域に登録さ
れていない前記物理アドレスを登録しておく第2登録領
域と、前記フラッシュメモリへのアクセスがライトアク
セスのときについては、前記第1登録領域内の当該ライ
トアクセスに係る論理アドレスに対応する物理アドレス
と前記第2登録領域内の一の物理アドレスとを交換する
制御部とを含む。
【0010】本発明の請求項2に係る課題解決手段にお
いて、前記第1登録領域内には同一の物理アドレスを示
す複数のダミーアドレスが登録され、前記制御部は、前
記ライトアクセスの場合、前記第1登録領域内の前記物
理アドレスと前記第2登録領域内の前記ダミーアドレス
以外の一の物理アドレスとを交換し、前記アクセス部
は、前記フラッシュメモリへのアクセスがリードアクセ
スであって、前記論理アドレスが前記ダミーアドレスに
対応する場合、前記フラッシュメモリから読み出したデ
ータとして固定データを出力する。
【0011】本発明の請求項3に係る課題解決手段にお
いて、初期状態では、前記第1登録領域には前記フラッ
シュメモリの全ての物理アドレスの代わりに前記ダミー
アドレスが登録され、前記第2登録領域には前記フラッ
シュメモリの全ての物理アドレスが登録されている。
【0012】本発明の請求項4に係る課題解決手段にお
いて、前記一の物理アドレスは、前記第2登録領域へ最
も新しく登録されたものである。
【0013】本発明の請求項5に係る課題解決手段にお
いて、前記一の物理アドレスは、前記第2登録領域へ最
も古く登録されたものである。
【0014】本発明の請求項6に係る課題解決手段にお
いて、前記固定データは前記フラッシュメモリの前記ダ
ミーアドレス内に設定されている。
【0015】本発明の請求項7に係る課題解決手段にお
いて、前記固定データは前記アクセス部内に設定されて
いる。
【0016】本発明の請求項8に係る課題解決手段は、
論理アドレスをフラッシュメモリの物理アドレスに変換
するための方法であって、(a)前記フラッシュメモリ
に割り当てられている複数の前記物理アドレスのうち、
前記論理アドレスに対応する前記物理アドレスを第1登
録領域に登録しておくステップと、(b)前記複数の物
理アドレスのうち、前記第1登録領域に登録されていな
い前記物理アドレスを第2登録領域に登録しておくステ
ップと、(c)前記フラッシュメモリへのアクセスがラ
イトアクセスのときについては、前記第1登録領域内の
当該ライトアクセスに係る論理アドレスに対応する物理
アドレスと前記第2登録領域内の一の物理アドレスとを
交換するステップと、(d)前記論理アドレスを、前記
第1登録領域を参照して、前記物理アドレスへ変換する
ステップとを備える。
【0017】本発明の請求項9に係る課題解決手段にお
いて、前記第1登録領域内には同一の物理アドレスを示
す複数のダミーアドレスが登録され、前記ステップ
(c)は、前記ライトアクセスの場合、前記第1登録領
域内の前記物理アドレスと前記第2登録領域内の前記ダ
ミーアドレス以外の一の物理アドレスとを交換する。
【0018】本発明の請求項10に係る課題解決手段に
おいて、初期状態では、前記第1登録領域には前記フラ
ッシュメモリの全ての物理アドレスの代わりに前記ダミ
ーアドレスが登録され、前記第2登録領域には前記フラ
ッシュメモリの全ての物理アドレスが登録されている。
【0019】
【発明の実施の形態】実施の形態1.図1は本発明の実
施の形態1のフラッシュストレージメディア(フラッシ
ュメモリ内蔵半導体装置)の概略ブロック図である。図
1において、1はホストシステム(図示せず)との間で
データのやりとりを行うためのホストI/F(I/F:
インターフェイス)、2はフラッシュメモリ3へのデー
タのリードや(読み出し)あるいはライト(書き込み)
を行うためのフラッシュI/F、4はフラッシュメモリ
3から読み出されたデータやフラッシュメモリ3へ書き
込むデータを一時的に格納するためのデータ用バッフ
ァ、5はホストシステムから与えられる論理アドレスを
フラッシュメモリの物理アドレスに変換するためのデー
タ(論理物理変換テーブル)を作業用に格納しておくた
めの論理物理変換テーブル用バッファ(第1登録領
域)、6はユーザーデータ領域10(後述の図2)のう
ち、未使用の物理アドレス(論理アドレスが割り当てら
れていない物理アドレス(以下、「空き物理アドレス」
と称す)を示すデータ(空き物理アドレステーブル)を
作業用に格納しておくための空き物理アドレステーブル
用バッファ(第2登録領域)、7はCPU(制御部)で
ある。
【0020】また、図1の各ブロック間の矢印はデータ
の流れを示す。CPU7は、制御線(図示せず)を介し
て、ホストI/F1、フラッシュI/F2、フラッシュ
メモリ3、データ用バッファ4、論理物理変換テーブル
用バッファ5、空き物理アドレステーブル用バッファ6
を制御することができる。
【0021】ホストI/F1、フラッシュI/F2、デ
ータ用バッファ4、論理物理変換テーブル用バッファ
5、空き物理アドレステーブル用バッファ6及びCPU
7は、ホストシステムから論理アドレスを受け、フラッ
シュメモリ3の当該論理アドレスに対応する物理アドレ
スへのアクセスを行うためのアクセス部100を構成す
る。
【0022】図2はフラッシュメモリ3の実施の形態1
のメモリマップを示す図である。図2に示すメモリマッ
プのように、フラッシュメモリ3は5つの領域を有す
る。論理物理変換テーブル領域8は既述の論理物理変換
テーブルを格納(保存)しておくための領域、空き物理
アドレステーブル領域9は既述の空き物理アドレステー
ブルを格納(保存)しておくための領域、ユーザーデー
タ領域10はホストシステムとの間でやりとり(読み書
き)されるデータを格納しておくための領域、ポインタ
テーブル領域11は論理物理変換テーブルおよび空き物
理アドレステーブルが格納されている物理アドレスを示
すデータ(ポインタ)を格納しておくための領域、ダミ
ーデータ領域12はダミーデータ(固定データ)を格納
しておくための領域である。
【0023】ダミーデータは、ある時点(例えば、初期
状態)でのフラッシュメモリ3のユーザーデータ領域1
0内の全ての物理アドレスに書き込まれるデータに等し
い値に予め設定されている。例えば、フラッシュメモリ
3のユーザーデータ領域10内の全ての物理アドレスに
零が書き込まれた状態でフラッシュストレージメディア
を市場に提供するとき(初期状態)、その時点では、ダ
ミーデータ領域12にも零を書き込んでおく。ダミーデ
ータ領域12の物理アドレスは、例えば0000h(ダ
ミーアドレス)のように、固定されている。以下の説明
では、ダミーデータ領域12の物理アドレスをダミーア
ドレス0000hとして説明していく。
【0024】次に動作について説明する。フラッシュス
トレージメディアに電源を投入すると、CPU7はフラ
ッシュメモリ3のポインタテーブル領域11からポイン
タを読み込んで、論理物理変換テーブル及び空き物理変
換テーブルがフラッシュメモリ3のうちのどの場所(物
理アドレスの範囲)に格納されているかを知る。これに
よって、CPU7は、論理物理変換テーブルのデータを
フラッシュメモリ3から読み込んで論理物理変換テーブ
ル用バッファ5へ書き込み、空き物理アドレステーブル
のデータをフラッシュメモリ3から読み込んで空き物理
アドレステーブル用バッファ6へ書き込む。
【0025】逆に、フラッシュストレージメディアに電
源を切ろうとすると、CPU7は、論理物理変換テーブ
ルのデータを論理物理変換テーブル用バッファ5から読
み込んで、フラッシュメモリ3の上記ポインタが示す場
所へ書き込み、空き物理アドレステーブルのデータを空
き物理アドレステーブル用バッファ6から読み込んで、
フラッシュメモリ3の上記ポインタが示す場所へ書き込
む。
【0026】以上のように、電源を切る際に、必要なデ
ータをフラッシュメモリ3に格納しておくことによっ
て、電源を投入したときの論理物理変換テーブル用バッ
ファ5や空き物理アドレステーブル用バッファ6の内容
を前回の電源を切る直前の状態と同じにすることができ
る。
【0027】アクセス部100は、ホストシステムから
論理アドレスを受け、この論理アドレスを物理アドレス
に変換することによって、フラッシュメモリ3の当該物
理アドレスとホストシステムとのアクセスが行われる。
以下、アクセス部100のアクセス動作を詳しく説明す
る。
【0028】図3は論理物理変換テーブルを示すデータ
構造図である。図示するZ0h,Z1h,Z2h,……
はそれぞれオフセットである。ホストシステムから与え
られる論理アドレスにはW0h,W1h,W2h,……
があるとする。論理物理変換テーブル用バッファ5のオ
フセットZ0h,Z1h,Z2h,……の各々は論理ア
ドレスW0h,W1h,W2h,……の各々に対応して
いる。
【0029】論理物理変換テーブルのオフセットZih
(以下、iは任意の値とする)には、現時点の論理アド
レスWihに対応する物理アドレスが登録されている。
よって、例えば、論理アドレスW3hに対応する物理ア
ドレスを知るには、論理物理変換テーブルのオフセット
Z3hの内容を参照すればよい。
【0030】また、実施の形態1では、初期状態におい
て、論理物理変換テーブルの全てのオフセットにダミー
アドレス0000hが登録されている。よって、この場
合、全ての論理アドレスはダミーアドレス0000h
(つまり、ダミーデータ領域12)に対応していること
になる。
【0031】図4は実施の形態1の空き物理アドレステ
ーブルを示すデータ構造図である。図示するY0h,Y
1h,Y2h,……はそれぞれオフセットである。X0
h,X1h,X2h,……はそれぞれ物理アドレスであ
る。
【0032】初期状態では、ユーザーデータ領域10に
一度もアクセスしていないとし、ユーザーデータ領域1
0内の全ての物理アドレスは空き物理アドレスと考え、
全てのユーザーデータ領域10内の物理アドレスを空き
物理アドレステーブルに登録する。例えば、実施の形態
1では、初期状態において、空き物理アドレスX0h,
X1h,X2h,……はそれぞれオフセットY0h,Y
1h,Y2h,……に登録されている。
【0033】次に、初期状態から現時点までに、論理ア
ドレスへのライトアクセス(フラッシュメモリ3のユー
ザーデータ領域10へデータを書き込むためのアクセ
ス)が行われたかどうかを確認する方法について、図5
を用いて説明する。
【0034】まず、データ用バッファ4は、ホストシス
テムからの論理アドレスをホストI/F1を介して取り
込む。次に、CPU7は、データ用バッファ4内の論理
アドレス(値をSampleLBAとする)を取り込む
(ステップSa1)。
【0035】次に、CPU7は、現時点での論理アドレ
ス(SampleLBA)に対応する物理アドレス(値
をPhysicalLBAとする)を論理物理変換テー
ブル用バッファ5から読み込む(ステップSa2)。
【0036】次に、CPU7は、物理アドレス(Phy
sicalLBA)とダミーアドレス0000hとを比
較する(ステップSa3)。その結果、物理アドレスが
ダミーアドレス0000hに等しければ、CPU7は、
現時点で論理アドレス(SampleLBA)に物理ア
ドレスが割り当てられていないと判断する。この場合
は、初期状態からダミーアドレス0000hのままなの
で、初期状態から現時点までの間に、この論理アドレス
(SampleLBA)へのデータの書き込みが行われ
たことがないことを意味する(ステップSa4)。
【0037】逆に、物理アドレス(PhysicalL
BA)がダミーアドレス0000hと異なれば、CPU
7は、現時点で論理アドレス(SampleLBA)に
物理アドレスが割り当てられていると判断する。この場
合は、つまり、初期状態から現時点までの間に論理アド
レス(SampleLBA)へのデータの書き込みが行
われたことがあることを意味する(ステップSa5)。
【0038】以上のようにして、CPU7は、ホストシ
ステムから与えられた論理アドレスへのライトアクセス
が現時点までに行われたかどうかを確認することができ
る。
【0039】次に、ライトアクセスの動作について、図
6を用いて説明する。
【0040】まず、データ用バッファ4は、ホストシス
テムからの論理アドレス及びデータをホストI/F1を
介して取り込む。次に、CPU7は、データ用バッファ
4内の論理アドレス(SampleLBA)を取り込む
(ステップSb1)。
【0041】次に、CPU7は、論理物理変換テーブル
用バッファ5の論理アドレス(SampleLBA)に
対応するオフセット(値をRealOffsetとす
る)から物理アドレス(PhysicalLBA)を読
み込む(ステップSb2)。
【0042】次に、CPU7は、空き物理アドレステー
ブル用バッファ6内のダミーアドレス0000hを無視
して、空き物理アドレステーブル用バッファ6からダミ
ーアドレス0000h以外の1つの空き物理アドレス
(値をEmptyLBA)を読み込む(ステップSb
3)。例えば、CPU7は空き物理アドレステーブル用
バッファ6のオフセットの内容を、所定順序(例えばオ
フセットの降順)で検索する。そして、CPU7は、ダ
ミーアドレス0000h以外の空き物理アドレスを登録
しているオフセット(値をEmptyOffsetとす
る)見つけだせば、この空き物理アドレス(Empty
LBA)を読み出す。
【0043】次に、CPU7は、空き物理アドレステー
ブル用バッファ6のオフセット(EmptyOffse
t)に物理アドレス(PhysicalLBA)を書き
込む(ステップSb4)。
【0044】次に、CPU7は、論理物理変換テーブル
用バッファ5のオフセット(RealOffset)に
空き物理アドレス(EmptyLBA)を書き込む(ス
テップSb5)。
【0045】つまり、ステップSb2〜Sb5によっ
て、論理物理変換テーブル用バッファ5のRealOf
fsetの内容と、空き物理アドレステーブル用バッフ
ァ6のEmptyOffsetの内容とを交換する。
【0046】次に、CPU7は、データ用バッファ4に
格納されているデータを論理アドレス(SampleL
BA)に対応する物理アドレス(EmptyLBA)に
書き込む(ステップSb6)。
【0047】以上によって、ホストシステムから、論理
アドレス(SampleLBA)に対応する物理アドレ
ス(EmptyLBA)へのデータの書き込みの動作が
完了する。
【0048】具体的に図7を用いて説明する。例えば、
図7の初期状態(a)のとき、論理物理変換テーブル用
バッファ5の全てのオフセット(4つのみ例示)には、
ダミーアドレス0000hが登録され、空き物理アドレ
ステーブル用バッファ6のオフセットY0h,Y1h,
Y2h,Y3h(4つのみ例示)には、それぞれ、物理
アドレスX0h,X1h,X2h,X3hが登録されて
いるとする。
【0049】次に、ホストシステムからフラッシュスト
レージメディアへ論理アドレスW2hが与えられたとす
れば、図7の(b)に示すように、上記ステップSb2
〜Sb5による交換動作によって、論理物理変換テーブ
ル用バッファ5のオフセットZ2h(=RealOff
set)には物理アドレスX3h(=EmptyLB
A)が登録され、空き物理アドレステーブル用バッファ
6のオフセットY3h(=EmptyOffset)に
はダミーアドレス0000h(=PhysicalLB
A)が登録される。これによって、図7の(b)から
(c)までの間に、論理アドレスW2hをアクセスする
ときに、論理物理変換テーブル用バッファ5を参照すれ
ば、論理物理変換テーブル用バッファ5の論理アドレス
W2hに対応するオフセットZ2hには物理アドレスX
3hが登録されていることから、論理アドレスW2hに
対する物理アドレスX3hへのデータの書き込みのアク
セスがすでに行われており、現在、論理アドレスW2h
が物理アドレスX3hに対応していることが分かる。一
方、空き物理アドレステーブル用バッファ6を参照すれ
ば、現在、物理アドレスX0h,X1h,X2hが未使
用であることが分かる。
【0050】次に、ホストシステムからフラッシュスト
レージメディアへ論理アドレスW0hが与えられたとす
れば、図7の(c)に示すように、交換動作によって、
論理物理変換テーブル用バッファ5のオフセットZ0h
には物理アドレスX2hが登録され、空き物理アドレス
テーブル用バッファ6のオフセットY2hにはダミーア
ドレス0000hが登録される。
【0051】次に、ホストシステムからフラッシュスト
レージメディアへ論理アドレスW2hが再び与えられた
とすれば、図7の(d)に示すように、交換動作によっ
て、論理物理変換テーブル用バッファ5のオフセットZ
2hには物理アドレスX1hが登録され、空き物理アド
レステーブル用バッファ6のオフセットY1hには物理
アドレスX3hが登録される。
【0052】この(d)において、もし、論理物理変換
テーブル用バッファ5のオフセットZ2hの内容を物理
アドレスX1hに書き換えずに、物理アドレスX3hの
ままにすると、物理アドレスX3hへのデータの書き込
みが(b)と(d)の合計2回行われ、フラッシュメモ
リ3の物理アドレスX3hのメモリセルの寿命が短くな
ってしまう。そこで、(d)において、論理物理変換テ
ーブル用バッファ5のオフセットZ2hの内容を物理ア
ドレスX3hから空き物理アドレスX1hに書き換える
とによって、論理アドレスW2hへの2回のライトアク
セスに対して、物理アドレスX3hへのデータの書き込
みが(b)の1回、物理アドレスX1hへのデータの書
き込みが(d)の1回というように、ウェアレベリング
(データ変更回数の平均化)を行うことができる。これ
によって、フラッシュメモリの長寿命化が図れることに
なる。
【0053】また、(d)において、論理物理変換テー
ブル用バッファ5から空き物理アドレステーブル用バッ
ファ6へ物理アドレスX3hを移動させたことは、つま
り、物理アドレスX3hが使用状態から解放され、空き
物理アドレスになったことを意味する。
【0054】以上のような動作から、実施の形態1では
CPU7は空き物理アドレステーブル用バッファ6の物
理アドレスをFILO(First in Least Out:先入れ後
出し)で出し入れすると言える。例えば、FILOによ
って、空き物理アドレステーブル用バッファ6に登録さ
れている物理アドレスのうち、最も新しく登録された物
理アドレス(例えば、図7の(d)から(e)へ移る物
理アドレスX3h)を取り出して論理物理変換テーブル
用バッファ5に登録する。これによって、CPU7によ
る論理物理変換テーブル用バッファ5と空き物理アドレ
ステーブル用バッファ6との間の物理アドレスの交換動
作を簡単に行うことが可能になる。
【0055】次に、ホストシステムからフラッシュスト
レージメディアへ論理アドレスが与えられ、論理アドレ
スに対応する物理アドレスからデータを読み出す場合
(リードアクセス)の動作について、図8を用いて説明
する。
【0056】まず、データ用バッファ4は、ホストシス
テムからの論理アドレスをホストI/F1を介して取り
込む。次に、CPU7は、データ用バッファ4内の論理
アドレス(SampleLBA)を取り込む(ステップ
Sc1)。
【0057】次に、CPU7は、論理アドレス(Sam
pleLBA)に対応するオフセット内に登録されてい
る物理アドレス(PhysicalLBA)を論理物理
変換テーブル用バッファ5から読み込む(ステップSc
2)。例えば、論理アドレス(SampleLBA)が
W3hであれば、空き物理アドレステーブル用バッファ
6のオフセットZ3h内に登録されている物理アドレス
(PhysicalLBA)を読み込む。
【0058】次に、CPU7は、フラッシュメモリ3の
物理アドレス(PhysicalLBA)からデータを
読み出してデータ用バッファ4に一時的に格納する。そ
して、CPU7は、フラッシュI/F2を制御して、デ
ータ用バッファ4からフラッシュI/F2を介してホス
トシステムへデータを出力する(ステップSc3)。こ
のとき、もし、物理アドレス(PhysicalLB
A)がダミーアドレス0000hであれば、初期状態か
ら現時点までの間に論理アドレスへデータの書き込みが
行われたことがないことを意味し、ダミーデータ領域1
2のダミーデータがホストシステムへ読み出されること
になる。
【0059】実施の形態2.実施の形態2では、ライト
アクセスに関して実施の形態1と異なる。その他につい
ては、実施の形態1と同様である。
【0060】図9は実施の形態2の空き物理アドレステ
ーブルを示すデータ構造図である。実施の形態1同様、
初期状態では、ユーザーデータ領域10に一度もアクセ
スしていないとし、ユーザーデータ領域10内の全ての
物理アドレスは空き物理アドレスと考え、全てのユーザ
ーデータ領域10内の物理アドレスを空き物理アドレス
テーブル用バッファ6に登録する。また、空き物理アド
レステーブルは空き物理アドレスの数を示す空き物理ア
ドレス数AdrsCountを格納している。
【0061】以下の実施の形態2の説明では、一例とし
て、空き物理アドレス数AdrsCountはオフセッ
トY0hに格納され、初期状態において、空き物理アド
レスX0h,X1h,X2h,……はそれぞれオフセッ
トY1h,Y2h,Y3h,……に登録されているとす
る。
【0062】次に、ライトアクセスの動作について、図
10を用いて説明する。
【0063】まず、データ用バッファ4は、ホストシス
テムからの論理アドレス及びデータをホストI/F1を
介して取り込む。次に、CPU7は、データ用バッファ
4内の論理アドレス(SampleLBA)及びデータ
を取り込む(ステップSA1)。
【0064】次に、CPU7は、論理物理変換テーブル
用バッファ5の論理アドレス(SampleLBA)に
対応するオフセット(値をRealOffsetとす
る)から物理アドレス(PhysicalLBA)を読
み込む(ステップSA2)。
【0065】次に、CPU7は、物理アドレス(Phy
sicalLBA)とダミーアドレス0000hとを比
較する(ステップSA3)。その結果、物理アドレスが
ダミーアドレス0000hに等しければ、CPU7は、
現時点で論理アドレス(SampleLBA)に物理ア
ドレスが割り当てられていないと判断する。逆に、物理
アドレス(PhysicalLBA)がダミーアドレス
0000hと異なれば、CPU7は、現時点で論理アド
レス(SampleLBA)に物理アドレスが割り当て
られていると判断する。
【0066】ステップSA3において物理アドレス(P
hysicalLBA)がダミーアドレス0000hに
等しければ、ステップSd1〜Sd6の処理を行う。
【0067】ステップSd1〜Sd6について、まず、
CPU7は、空き物理アドレステーブル用バッファ6の
オフセットY1hから空き物理アドレス(EmptyL
BA)を読み込む(ステップSd1)。
【0068】次に、CPU7は空き物理アドレステーブ
ル用バッファ6のオフセットの内容を1つずつずらす。
すなわち、CPU7は、オフセットY2hの内容をオフ
セットY1hへ上書きし、オフセットY3hの内容をオ
フセットY2hへ上書きする。オフセットY4h,Y5
h,……についても同じことを行う(ステップSd
2)。
【0069】次に、CPU7は空き物理アドレステーブ
ル用バッファ6のオフセットY0hの空き物理アドレス
数AdrsCountを読み込む(ステップSd3)。
【0070】次に、CPU7は空き物理アドレステーブ
ル用バッファ6のうち、空き物理アドレス数AdrsC
ountが示すオフセット(EmptyOffset)
に物理アドレス(PhysicalLBA=0000
h)を書き込む(ステップSd4)。
【0071】さらにステップSd4では、CPU7は空
き物理アドレス数AdrsCountから1を引いたも
のを空き物理アドレステーブル用バッファ6のオフセッ
トY0hに書き込む。この動作によって、空き物理アド
レステーブル用バッファ6のEmptyOffsetに
書き込んだダミーアドレス0000hは以後、無視され
ることになる。
【0072】次に、CPU7は、論理物理変換テーブル
用バッファ5のオフセット(RealOffset)に
空き物理アドレス(EmptyLBA)を書き込む(ス
テップSd5)。
【0073】つまり、ステップSd1〜Sd5によっ
て、論理物理変換テーブル用バッファ5のRealOf
fsetの内容と、空き物理アドレステーブル用バッフ
ァ6のEmptyOffsetの内容とを交換する。
【0074】次に、CPU7は、データ用バッファ4に
格納されているデータを論理アドレス(SampleL
BA)に対応する物理アドレス(EmptyLBA)に
書き込む(ステップSd6)。
【0075】一方、ステップSA3において物理アドレ
スがダミーアドレス0000hと異なれば、ステップS
e1〜Se6の処理を行う。
【0076】ステップSe1〜Se6はそれぞれステッ
プSd1〜Sd6と同様である。ただし、ステップSe
4では、CPU7は空き物理アドレステーブル用バッフ
ァ6のうち、空き物理アドレス数AdrsCountが
示すオフセット(EmptyOffset)に物理アド
レス(PhysicalLBA)を書き込むことのみを
行う。
【0077】ステップSe1〜Se5についても、ステ
ップSd1〜Sd5同様、論理物理変換テーブル用バッ
ファ5のRealOffsetの内容と、空き物理アド
レステーブル用バッファ6のEmptyOffsetの
内容とを交換することになる。
【0078】以上によって、ホストシステムから論理ア
ドレスに対応する物理アドレスへのデータの書き込みの
動作が完了する。
【0079】具体的に図11を用いて説明する。例え
ば、図11の初期状態(a)のとき、論理物理変換テー
ブル用バッファ5の全てのオフセット(4つのみ例示)
には、ダミーアドレス0000hが登録され、空き物理
アドレステーブル用バッファ6のオフセットY0h,Y
1h,Y2h,Y3h,Y4h(5つのみ例示)には、
それぞれ、空き物理アドレス数4h、物理アドレスX0
h,X1h,X2h,X3h,X4hが登録されている
とする。
【0080】次に、ホストシステムからフラッシュスト
レージメディアへ論理アドレスW2hが与えられたとす
れば(ステップSA1)、まず、論理物理変換テーブル
用バッファ5のオフセットZ2h(=RealOffs
et)の内容(PhysicalLBA)を読み出す
(ステップSA2)。ここでは、読み出した内容(Ph
ysicalLBA)はダミーアドレス0000hなの
で(ステップSA3)、ステップSd1に移り、空き物
理アドレステーブル用バッファ6のオフセットY1hの
内容(ここでは、物理アドレスX1h)を読み出す。次
に、CPU7は空き物理アドレステーブル用バッファ6
のオフセットの内容を1つずつずらす(ステップSd
2)。この結果、空き物理アドレステーブル用バッファ
6のオフセットY1h、Y2h、Y3hには、それぞれ
物理アドレスX2h、X3h、X4hが登録される。次
に、空き物理アドレステーブル用バッファ6のオフセッ
トY0hの内容を読み出す(ステップSd3)。ここで
は、空き物理アドレステーブル用バッファ6のオフセッ
ト0hの内容は空き物理アドレス数4hなので、これに
対応するオフセットY4h(EmptyOffset)
にダミーアドレス0000h(PhysicalLB
A)を書き込む。そして、CPU7は4hから1を引い
た3hを空き物理アドレステーブル用バッファ6のオフ
セットY0hに書き込む(ステップSd4)。
【0081】次に、CPU7は、論理物理変換テーブル
用バッファ5のオフセットZ2h(=RealOffs
et)に物理アドレスX1h(=EmptyLBA)を
書き込む(ステップSd5)。
【0082】以上の動作によって、(b)では、空き物
理アドレステーブル用バッファ6のオフセットY0h、
Y1h、Y2h、Y3h、Y4hには、それぞれ空き物
理アドレス数3h、物理アドレスX2h、X3h、X4
h、0000hが登録され、論理物理変換テーブル用バ
ッファ5のオフセットZ2hには、物理アドレスX1h
が登録されることになる。また、上記ステップSd1〜
Sd5による交換動作によって、論理物理変換テーブル
用バッファ5のオフセットZ2h(=RealOffs
et)には物理アドレスX1h(=EmptyLBA)
が登録され、空き物理アドレステーブル用バッファ6の
オフセットY4h(=EmptyOffset)にはダ
ミーアドレス0000h(=PhysicalLBA)
が登録される。
【0083】次に、CPU7は、データ用バッファ4に
格納されているデータをフラッシュメモリ3の物理アド
レスX1h(=EmptyLBA)に書き込む(ステッ
プSd6)。
【0084】次に、ホストシステムからフラッシュスト
レージメディアへ論理アドレスW0hが与えられたとす
れば、(b)と同様に考えて、(c)では、空き物理ア
ドレステーブル用バッファ6のオフセットY0h、Y1
h、Y2h、Y3hには、それぞれ空き物理アドレス数
2h、物理アドレスX3h、X4h、0000hが登録
され、論理物理変換テーブル用バッファ5のオフセット
Z0hには、物理アドレスX2hが登録される。
【0085】次に、ホストシステムからフラッシュスト
レージメディアへ再び論理アドレスW2hが与えられた
とすれば(ステップSA1)、まず、論理物理変換テー
ブル用バッファ5のオフセットZ2h(=RealOf
fset)の内容を読み出す(ステップSA2)。ここ
では、読み出した内容(PhysicalLBA)は物
理アドレスX1hなので(ステップSA3)、ステップ
Se1に移り、空き物理アドレステーブル用バッファ6
のオフセットY1hの内容(ここでは、物理アドレスX
3h)を読み出す。次に、CPU7は空き物理アドレス
テーブル用バッファ6のオフセットの内容を1つずつず
らす(ステップSe2)。この結果、空き物理アドレス
テーブル用バッファ6のオフセットY1hには物理アド
レスX4hが登録される。次に、空き物理アドレステー
ブル用バッファ6のオフセットY0hの内容を読み出す
(ステップSe3)。ここでは、空き物理アドレス数2
hなので、これに対応するオフセットY2h(Empt
yOffset)に物理アドレスX1h(Physic
alLBA)を書き込む(ステップSe4)。
【0086】次に、CPU7は、論理物理変換テーブル
用バッファ5のオフセットZ2h(=RealOffs
et)に物理アドレスX3h(=EmptyLBA)を
書き込む(ステップSe5)。
【0087】以上の動作によって、(d)では、空き物
理アドレステーブル用バッファ6のオフセットY0h、
Y1h、Y2h、Y3h、Y4hには、それぞれ空き物
理アドレス数2h、物理アドレスX4h、X1h、00
00h、0000hが登録され、論理物理変換テーブル
用バッファ5のオフセットZ2hには、物理アドレスX
3hが登録されることになる。また、上記ステップSe
1〜Se5による交換動作によって、論理物理変換テー
ブル用バッファ5のオフセットZ2h(=RealOf
fset)には物理アドレスX3h(=EmptyLB
A)が登録され、空き物理アドレステーブル用バッファ
6のオフセットY2h(=EmptyOffset)に
は物理アドレスX1h(=PhysicalLBA)が
登録される。
【0088】次に、CPU7は、データ用バッファ4に
格納されているデータをフラッシュメモリ3の物理アド
レスX3h(=EmptyLBA)に書き込む(ステッ
プSe6)。
【0089】次に、ホストシステムからフラッシュスト
レージメディアへ再び論理アドレスW2hが与えられた
とすれば、同様に考えて、(e)では、空き物理アドレ
ステーブル用バッファ6のオフセットY0h、1h、2
hには、それぞれ空き物理アドレス数2h、物理アドレ
スX1h、X3hが登録され、論理物理変換テーブル用
バッファ5のオフセットZ2hには、物理アドレスX4
hが登録される。
【0090】以上のような動作から、実施の形態2では
CPU7は空き物理アドレステーブル用バッファ6の物
理アドレスをFIFO(First in First Out:先入れ先
出し)で出し入れすると言える。例えば、FIFOによ
って、空き物理アドレステーブル用バッファ6に登録さ
れている物理アドレスのうち、最も古く登録された物理
アドレス(例えば、図11の(d)から(e)へ移る物
理アドレスX4h)を取り出して論理物理変換テーブル
用バッファ5に登録する。これによって、実施の形態1
と比較して、さらに質の良いウェアレベリングが実現で
きる。
【0091】例えば、図7の(d)の直後に、再び、論
理アドレスW2hへのライトアクセスが行われると、物
理アドレスX3hへ再びアクセスされることになり、論
理アドレス2hへの3回のライトアクセスに対して、物
理アドレスX3hへのアクセスが2回、X1hへのアク
セスが1回になる。一方、実施の形態2では、図11の
(d)の直後に、再び、論理アドレスW2hへのライト
アクセスが行われても、FIFOで物理アドレスが出し
入れされることによって、論理アドレス2hへの3回の
ライトアクセスに対して、物理アドレスX4h、X3
h、X2hへそれぞれ1回ずつアクセスされる。よっ
て、より質の良いウェアレベリングが実現できる。
【0092】一方、図7と図11との点線の矢印の数を
比較して分かるように、実施の形態1ではFILOによ
って、簡単な制御でウェアレベリングを実現できる。
【0093】まとめ.なお、本発明は実施の形態1,2
の説明に限定されるものではない。例えば、論理物理変
換テーブル用バッファ5及び空き物理アドレステーブル
用バッファ6はそれぞれ2つの独立したメモリ内に設け
られた領域であってもよいし、同一のメモリ内に設けら
れた領域であってもよい。また、アクセス部は、制御
部、第1登録領域及び第2登録領域を少なくとも含んで
いればよい。また、空き物理アドレステーブルの物理ア
ドレスの出し入れは、FILOやFIFOの他であって
も良い。
【0094】また、効果については、物理アドレスの交
換動作によって、ウェアレベリングを実現するので、従
来の技術で説明した方法のようにフラッシュメモリの
物理アドレスの各々のデータ変更回数をカウントしてお
く必要がなく、構成が簡単になる。
【0095】また、初期状態において、論理物理変換テ
ーブルの全てのオフセットに同じダミーアドレス000
0hを登録し、空き物理アドレステーブルの全てのオフ
セットに異なる物理アドレスを登録したが、これに限ら
なくても良い。例えば、図7や図11の(b)、
(c)、(d)、(e)に示すような物理アドレスの登
録状態を初期状態としてもよい。さらに、例えば、初期
状態において、論理物理変換テーブルの全てのオフセッ
トに異なる物理アドレスを登録し、空き物理アドレステ
ーブルに少なくとも1つ以上の物理アドレスを登録して
おいても良い。この場合は、ダミーアドレスに関わる処
理を省略することができる。
【0096】以上のように、空き物理アドレステーブル
用バッファ6に登録される空き物理アドレスは最低で1
つあれば良いので、ユーザーデータ領域10を広げなく
て済み、従来の技術で説明した方法のように、充分な
代替領域を確保しなくても、ウェアレベリングの充分な
効果が期待できる(なお、少なくとも1つ以上の空き物
理アドレスが空き物理アドレステーブル用バッファ6に
常に登録されているようにするためには、ホストシステ
ムから与えられる論理アドレスの総数と比較して、物理
アドレスの総数を多くしておけばよい)。
【0097】しかしながら、質の良いウェアレベリング
を得るには、空き物理アドレステーブル用バッファ6内
にはできるだけ多くの空き物理アドレスが登録されてい
た方が良い。例えば、空き物理アドレステーブル用バッ
ファ6に空き物理アドレスが1つだけしか登録されてな
い場合、1回のライトアクセスに対して、その1つの空
き物理アドレスは1回アクセスされることになる。空き
物理アドレステーブル用バッファ6に空き物理アドレス
が2つ登録されている場合、1回のライトアクセスに対
して、その2つの空き物理アドレスの一方が1回アクセ
スされることになる(概念的に考えて平均すると、この
2つの空き物理アドレスはそれぞれ0.5回アクセスさ
れることになる)。このように、空き物理アドレステー
ブル用バッファ6内の空き物理アドレスは多いほどウェ
アレベリングの質の向上にとって良い。
【0098】空き物理アドレスを多くするために、例え
ば、ユーザーデータ領域10を充分に確保すれば良いこ
とが考えられるが、この場合、代替領域を充分に確保す
る従来の方法と大差がなくなってしまう。
【0099】ところで、多数の論理アドレスの中には、
初期状態からいつまで経っても、全くライトアクセスさ
れない論理アドレスがある場合が考えられる。例えば、
図7の(e)のような登録状態を仮に初期状態とする。
初期状態(e)以後に、論理アドレスW2hへのライト
アクセスが全く行われなければ、これに対応する物理ア
ドレスX1hは空き物理アドレステーブル用バッファ6
に登録されず、用いられることはない。このように、初
期状態で論理物理変換テーブル用バッファ5に多くの物
理アドレスを登録すると、全く用いられない物理アドレ
スが多く生じることが考えられる。
【0100】そこで、初期状態において、論理物理変換
テーブル用バッファ5に登録する物理アドレスに代え
て、論理物理変換テーブル用バッファ5にダミーアドレ
スを登録し、論理物理変換テーブル用バッファ5に登録
された物理アドレス以外の物理アドレスを空き物理アド
レステーブル用バッファ6に登録する。これによって、
全く用いられない物理アドレスの数を減らせ、しかも、
空き物理アドレステーブル用バッファ6内に登録される
空き物理アドレスの数が増えるので、さらに質の良いウ
ェアレベリングが実現できる。
【0101】そして、その最も望ましい初期状態は、実
施の形態1,2で説明したように、論理物理変換テーブ
ル用バッファ5内の全てのオフセットにダミーアドレス
を登録し、空き物理アドレステーブル用バッファ6内に
フラッシュメモリ3のユーザーデータ領域10の全ての
物理アドレスを登録しておくことである。
【0102】また、リードアクセスのとき、論理アドレ
スがダミーアドレスに対応すれば、初期状態から現時点
までの間にライトアクセスされていないことを意味する
ので、初期状態から常に一定値を保っているダミーデー
タをダミーデータ領域12から読み出しても動作上、不
都合が生じない。一方、ライトアクセスによって論理物
理変換テーブル用バッファ5から読み出されたダミーア
ドレスは以後、無視する(図6のステップSb3や図1
0のステップSd4)。これによって、空き物理アドレ
ステーブル用バッファ6から論理物理変換テーブル用バ
ッファ5内へダミーアドレスが再び登録されることを防
ぎ、上記説明のリードアクセスの動作を不都合なく実行
することができる。
【0103】また、ダミーデータはフラッシュメモリ3
のダミーデータ領域12内に設定されている場合を説明
したが、これに代えて、アクセス部100内に設定され
ていてもよい。ダミーデータがダミーデータ領域12に
設定されている場合は、ホストシステムからの論理アド
レスがダミーアドレスに対応しているか否かに関わら
ず、フラッシュメモリ3にアクセスすることになるの
で、全てのリードアクセスを同じアクセス手順で実行す
ることができる。一方、ダミーデータがアクセス部10
0内(アクセス部100内に図示するいずれの構成要素
でもよいし、ダミーデータを格納しておく格納部をアク
セス部100内に追加しても良い)に設定されている場
合、リードアクセスであって論理アドレスがダミーアド
レスに対応するとき(つまり、初期状態から現時点まで
に、論理アドレスへのライトアクセスが行われていない
場合)、フラッシュメモリ3へアクセスする必要がない
ので、リードアクセスの高速化が図れ、フラッシュメモ
リ3にダミーデータ領域12を設ける必要もない。な
お、初期状態から現時点までに、論理アドレスへのライ
トアクセスが行われたことがあるかどうかは、図5を用
いて説明したように確認すればよい。
【0104】
【発明の効果】請求項1記載の発明によれば、第1登録
領域内の物理アドレスと、第2登録領域内の物理アドレ
スとを制御部が交換することによって、簡単な構成でウ
ェアレベリングを実現でき、フラッシュメモリの長寿命
化が実現できる。
【0105】請求項2記載の発明によれば、第1登録領
域内には同一の物理アドレスを示す複数のダミーアドレ
スを登録することによって、第2登録領域内に登録され
る物理アドレスの数を増やすことができる。これによっ
て、質の良いウェアレベリングが実現できる。一方、第
1登録領域内の物理アドレスと第2登録領域内のダミー
アドレス以外の一の物理アドレスとを交換することによ
って、第2登録領域から第1登録領域内へダミーアドレ
スが再び登録されないので、リードアクセスの動作を不
都合なく実行することができる。
【0106】請求項3記載の発明によれば、初期状態に
全ての物理アドレスを第2登録領域に登録しておくこと
によって、物理アドレスの全てを無駄なく用いることが
できる。これによって、さらに質の良いウェアレベリン
グを実現できる。
【0107】請求項4記載の発明によれば、第2登録領
域に登録されている物理アドレスのうち、最も新しく登
録された物理アドレスが第1登録領域に登録される。こ
れによって、制御部による交換を簡単に行うことが可能
になる。
【0108】請求項5記載の発明によれば、第2登録領
域に登録されている物理アドレスのうち、最も古く登録
された物理アドレスが第1登録領域に登録される。これ
によって、質の良いウェアレベリングが実現できる。
【0109】請求項6記載の発明によれば、論理アドレ
スがダミーアドレスに対応しているか否かに関わらず、
全てのリードアクセスを同じ制御手順で実行することが
できる。
【0110】請求項7記載の発明によれば、リードアク
セスであって論理アドレスがダミーアドレスに対応する
場合、フラッシュメモリへアクセスする必要がないの
で、リードアクセスの高速化が図れる。
【0111】請求項8記載の発明によれば、第1登録領
域内の物理アドレスと、第2登録領域内の物理アドレス
とを制御部が交換することによって、簡単な構成で充分
なウェアレベリングを実現でき、フラッシュメモリの長
寿命化が実現できる。
【0112】請求項9記載の発明によれば、第1登録領
域内には同一の物理アドレスを示す複数のダミーアドレ
スを登録することによって、第2登録領域内に登録され
る物理アドレスの数を増やすことができる。これによっ
て、質の良いウェアレベリングが実現できる。一方、第
1登録領域内の物理アドレスと第2登録領域内のダミー
アドレス以外の一の物理アドレスとを交換することによ
って、第2登録領域から第1登録領域内へダミーアドレ
スが再び登録されないので、第1登録領域内のダミーア
ドレスが存在していることから、ダミーアドレスが第1
登録領域に登録された時点から現時点までの間に、第1
登録領域内のダミーアドレスに対応する論理アドレスが
ライトアクセスされていないことを知ることができる。
【0113】請求項10記載の発明によれば、初期状態
に全ての物理アドレスを第2登録領域に登録しておくこ
とによって、物理アドレスの全てを無駄なく用いること
ができる。これによって、さらに質の良いウェアレベリ
ングを実現できる。
【図面の簡単な説明】
【図1】 本発明の実施の形態1のフラッシュメモリ内
蔵半導体装置の概略ブロック図である。
【図2】 本発明の実施の形態1のフラッシュメモリ内
蔵半導体装置のフラッシュメモリのメモリマップ図であ
る。
【図3】 本発明の実施の形態1の論理物理変換テーブ
ルを示すデータ構造図である。
【図4】 本発明の実施の形態1の空き物理アドレステ
ーブルを示すデータ構造図である。
【図5】 本発明の実施の形態1のフラッシュメモリ内
蔵半導体装置の動作を説明するためのフローチャートで
ある。
【図6】 本発明の実施の形態1のフラッシュメモリ内
蔵半導体装置の動作を説明するためのフローチャートで
ある。
【図7】 本発明の実施の形態1のフラッシュメモリ内
蔵半導体装置の動作を説明するための状態遷移図であ
る。
【図8】 本発明の実施の形態1のフラッシュメモリ内
蔵半導体装置の動作を説明するためのフローチャートで
ある。
【図9】 本発明の実施の形態2の空き物理アドレステ
ーブルを示すデータ構造図である。
【図10】 本発明の実施の形態2のフラッシュメモリ
内蔵半導体装置の動作を説明するためのフローチャート
である。
【図11】 本発明の実施の形態2のフラッシュメモリ
内蔵半導体装置の動作を説明するための状態遷移図であ
る。
【符号の説明】
5 論理変換テーブル用バッファ、6 空き物理アドレ
ステーブル用バッファ、100 アクセス部。

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 複数の物理アドレスが割り当てられたフ
    ラッシュメモリと、 論理アドレスを受け、当該論理アドレスに対応する前記
    物理アドレスへのアクセスを行うためのアクセス部と、
    を備え、 前記アクセス部は、 前記複数の物理アドレスのうち、前記論理アドレスに対
    応する前記物理アドレスを登録しておく第1登録領域
    と、 前記複数の物理アドレスのうち、前記第1登録領域に登
    録されていない前記物理アドレスを登録しておく第2登
    録領域と、 前記フラッシュメモリへのアクセスがライトアクセスの
    ときについては、前記第1登録領域内の当該ライトアク
    セスに係る論理アドレスに対応する物理アドレスと前記
    第2登録領域内の一の物理アドレスとを交換する制御部
    と、を含むフラッシュメモリ内蔵半導体装置。
  2. 【請求項2】 前記第1登録領域内には同一の物理アド
    レスを示す複数のダミーアドレスが登録され、 前記制御部は、 前記ライトアクセスの場合、前記第1登録領域内の前記
    物理アドレスと前記第2登録領域内の前記ダミーアドレ
    ス以外の一の物理アドレスとを交換し、 前記アクセス部は、 前記フラッシュメモリへのアクセスがリードアクセスで
    あって、前記論理アドレスが前記ダミーアドレスに対応
    する場合、前記フラッシュメモリから読み出したデータ
    として固定データを出力する請求項1記載のフラッシュ
    メモリ内蔵半導体装置。
  3. 【請求項3】 初期状態では、前記第1登録領域には前
    記フラッシュメモリの全ての物理アドレスの代わりに前
    記ダミーアドレスが登録され、前記第2登録領域には前
    記フラッシュメモリの全ての物理アドレスが登録されて
    いる請求項2記載のフラッシュメモリ内蔵半導体装置。
  4. 【請求項4】 前記一の物理アドレスは、前記第2登録
    領域へ最も新しく登録されたものである請求項2記載の
    フラッシュメモリ内蔵半導体装置。
  5. 【請求項5】 前記一の物理アドレスは、前記第2登録
    領域へ最も古く登録されたものである請求項2記載のフ
    ラッシュメモリ内蔵半導体装置。
  6. 【請求項6】 前記固定データは前記フラッシュメモリ
    の前記ダミーアドレス内に設定されている請求項2記載
    のフラッシュメモリ内蔵半導体装置。
  7. 【請求項7】 前記固定データは前記アクセス部内に設
    定されている請求項2記載のフラッシュメモリ内蔵半導
    体装置。
  8. 【請求項8】 論理アドレスをフラッシュメモリの物理
    アドレスに変換するための方法であって、(a)前記フ
    ラッシュメモリに割り当てられている複数の前記物理ア
    ドレスのうち、前記論理アドレスに対応する前記物理ア
    ドレスを第1登録領域に登録しておくステップと、
    (b)前記複数の物理アドレスのうち、前記第1登録領
    域に登録されていない前記物理アドレスを第2登録領域
    に登録しておくステップと、(c)前記フラッシュメモ
    リへのアクセスがライトアクセスのときについては、前
    記第1登録領域内の当該ライトアクセスに係る論理アド
    レスに対応する物理アドレスと前記第2登録領域内の一
    の物理アドレスとを交換するステップと、(d)前記論
    理アドレスを、前記第1登録領域を参照して、前記物理
    アドレスへ変換するステップと、を備えたフラッシュメ
    モリアドレス変換方法。
  9. 【請求項9】 前記第1登録領域内には同一の物理アド
    レスを示す複数のダミーアドレスが登録され、 前記ステップ(c)は、 前記ライトアクセスの場合、前記第1登録領域内の前記
    物理アドレスと前記第2登録領域内の前記ダミーアドレ
    ス以外の一の物理アドレスとを交換する請求項8記載の
    フラッシュメモリアドレス変換方法。
  10. 【請求項10】 初期状態では、前記第1登録領域には
    前記フラッシュメモリの全ての物理アドレスの代わりに
    前記ダミーアドレスが登録され、前記第2登録領域には
    前記フラッシュメモリの全ての物理アドレスが登録され
    ている請求項9記載のフラッシュメモリアドレス変換方
    法。
JP23794699A 1999-08-25 1999-08-25 フラッシュメモリ内蔵半導体装置及びフラッシュメモリアドレス変換方法 Pending JP2001067258A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23794699A JP2001067258A (ja) 1999-08-25 1999-08-25 フラッシュメモリ内蔵半導体装置及びフラッシュメモリアドレス変換方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23794699A JP2001067258A (ja) 1999-08-25 1999-08-25 フラッシュメモリ内蔵半導体装置及びフラッシュメモリアドレス変換方法

Publications (1)

Publication Number Publication Date
JP2001067258A true JP2001067258A (ja) 2001-03-16

Family

ID=17022816

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23794699A Pending JP2001067258A (ja) 1999-08-25 1999-08-25 フラッシュメモリ内蔵半導体装置及びフラッシュメモリアドレス変換方法

Country Status (1)

Country Link
JP (1) JP2001067258A (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100437609B1 (ko) * 2001-09-20 2004-06-30 주식회사 하이닉스반도체 반도체 메모리 장치의 어드레스 변환 방법 및 그 장치
JP2006004407A (ja) * 2004-05-03 2006-01-05 Microsoft Corp 不揮発性メモリ・キャッシュの性能改善
JP2006504201A (ja) * 2002-10-28 2006-02-02 サンディスク コーポレイション 不揮発性記憶システムにおける自動損耗均等化
JP2007199828A (ja) * 2006-01-24 2007-08-09 Matsushita Electric Ind Co Ltd 不揮発性記憶装置およびそのアドレス管理方法
US8111573B2 (en) 2008-11-04 2012-02-07 Sharp Kabushiki Kaisha Nonvolatile semiconductor memory device and method of controlling the same
US20120290772A1 (en) * 2011-05-09 2012-11-15 Canon Kabushiki Kaisha Storage control apparatus for controlling data writing and deletion to and from semiconductor storage device, and control method and storage medium therefor
US8400830B2 (en) 2008-11-26 2013-03-19 Sharp Kabushiki Kaisha Nonvolatile semiconductor memory device and driving method therefor
US8489815B2 (en) 2008-09-15 2013-07-16 Microsoft Corporation Managing cache data and metadata
JP2013200839A (ja) * 2012-03-26 2013-10-03 Toshiba Corp 半導体記憶装置、情報処理システムおよび制御方法
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US8909861B2 (en) 2004-10-21 2014-12-09 Microsoft Corporation Using external memory devices to improve system performance
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
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
JP2016042351A (ja) * 2014-08-13 2016-03-31 ザ・ボーイング・カンパニーTheBoeing Company コンピューティングシステムにおける動的なメモリアドレス再マッピング
US9361183B2 (en) 2008-09-19 2016-06-07 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
TWI659310B (zh) * 2018-01-04 2019-05-11 旺宏電子股份有限公司 儲存裝置操作方法及其應用其的儲存系統

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100437609B1 (ko) * 2001-09-20 2004-06-30 주식회사 하이닉스반도체 반도체 메모리 장치의 어드레스 변환 방법 및 그 장치
JP2006504201A (ja) * 2002-10-28 2006-02-02 サンディスク コーポレイション 不揮発性記憶システムにおける自動損耗均等化
JP2013047979A (ja) * 2004-05-03 2013-03-07 Microsoft Corp 不揮発性メモリ・キャッシュの性能改善
JP2006004407A (ja) * 2004-05-03 2006-01-05 Microsoft Corp 不揮発性メモリ・キャッシュの性能改善
US10216637B2 (en) 2004-05-03 2019-02-26 Microsoft Technology Licensing, Llc Non-volatile memory cache performance improvement
US8041904B2 (en) 2004-05-03 2011-10-18 Microsoft Corporation Non-volatile memory cache performance improvement
US9405693B2 (en) 2004-05-03 2016-08-02 Microsoft Technology Licensing, Llc Non-volatile memory cache performance improvement
US8909861B2 (en) 2004-10-21 2014-12-09 Microsoft Corporation Using external memory devices to improve system performance
US9317209B2 (en) 2004-10-21 2016-04-19 Microsoft Technology Licensing, Llc Using external memory devices to improve system performance
US9529716B2 (en) 2005-12-16 2016-12-27 Microsoft Technology Licensing, Llc Optimizing write and wear performance for a memory
US11334484B2 (en) 2005-12-16 2022-05-17 Microsoft Technology Licensing, Llc Optimizing write and wear performance for a memory
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
JP2007199828A (ja) * 2006-01-24 2007-08-09 Matsushita Electric Ind Co Ltd 不揮発性記憶装置およびそのアドレス管理方法
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
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
US8489815B2 (en) 2008-09-15 2013-07-16 Microsoft Corporation Managing cache data and metadata
US10387313B2 (en) 2008-09-15 2019-08-20 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US9448890B2 (en) 2008-09-19 2016-09-20 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US10509730B2 (en) 2008-09-19 2019-12-17 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US9361183B2 (en) 2008-09-19 2016-06-07 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US8111573B2 (en) 2008-11-04 2012-02-07 Sharp Kabushiki Kaisha Nonvolatile semiconductor memory device and method of controlling the same
US8400830B2 (en) 2008-11-26 2013-03-19 Sharp Kabushiki Kaisha Nonvolatile semiconductor memory device and driving method therefor
US20120290772A1 (en) * 2011-05-09 2012-11-15 Canon Kabushiki Kaisha Storage control apparatus for controlling data writing and deletion to and from semiconductor storage device, and control method and storage medium therefor
JP2013200839A (ja) * 2012-03-26 2013-10-03 Toshiba Corp 半導体記憶装置、情報処理システムおよび制御方法
JP2016042351A (ja) * 2014-08-13 2016-03-31 ザ・ボーイング・カンパニーTheBoeing Company コンピューティングシステムにおける動的なメモリアドレス再マッピング
TWI659310B (zh) * 2018-01-04 2019-05-11 旺宏電子股份有限公司 儲存裝置操作方法及其應用其的儲存系統

Similar Documents

Publication Publication Date Title
JP2001067258A (ja) フラッシュメモリ内蔵半導体装置及びフラッシュメモリアドレス変換方法
US9329995B2 (en) Memory device and operating method thereof
KR100560761B1 (ko) 인터페이스 변환 시스템 및 그 방법
US8261041B2 (en) Memory management device for accessing cache memory or main memory
TWI436208B (zh) 用來管理和存取快閃記憶體模組的控制器
US20020156988A1 (en) Memory device
US20100312955A1 (en) Memory system and method of managing the same
JP2000067574A (ja) 半導体記憶装置
US7245539B2 (en) Memory card, semiconductor device, and method of controlling semiconductor memory
KR20010110073A (ko) 블록 얼라인먼트 기능을 갖는 반도체 기억 장치
US9146879B1 (en) Virtual memory management for real-time embedded devices
KR20040082921A (ko) 플래쉬 파일 시스템
JPH08263361A (ja) フラッシュメモリカード
US6757806B2 (en) Method for converting addresses in a semiconductor memory device and apparatus therefor
CN102483719A (zh) 基于块的非透明高速缓存
CN111782154A (zh) 数据搬移方法、装置及系统
US5440708A (en) Microprocessor and storage management system having said microprocessor
JP4016396B2 (ja) マルチセルシステム
US20040078513A1 (en) Storage device
JP3766188B2 (ja) 論理フォーマット変換方法およびデータ保存媒体
CN110825658B (zh) 闪存控制器及方法
JPH11328990A (ja) 半導体集積回路装置およびそれを用いたメモリカード
JP2001134496A (ja) 不揮発性半導体メモリを用いた記憶装置
GB2221066A (en) Address translation for I/O controller
JP5253471B2 (ja) メモリコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081014

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090224