JPH1196779A - フラッシュ型メモリ,その管理方法,記憶装置,コンピュータシステム - Google Patents

フラッシュ型メモリ,その管理方法,記憶装置,コンピュータシステム

Info

Publication number
JPH1196779A
JPH1196779A JP27052097A JP27052097A JPH1196779A JP H1196779 A JPH1196779 A JP H1196779A JP 27052097 A JP27052097 A JP 27052097A JP 27052097 A JP27052097 A JP 27052097A JP H1196779 A JPH1196779 A JP H1196779A
Authority
JP
Japan
Prior art keywords
block
area
flash memory
storage device
address
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
Application number
JP27052097A
Other languages
English (en)
Other versions
JP3552490B2 (ja
Inventor
Kazuya Tanaka
和也 田中
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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
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 Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP27052097A priority Critical patent/JP3552490B2/ja
Publication of JPH1196779A publication Critical patent/JPH1196779A/ja
Application granted granted Critical
Publication of JP3552490B2 publication Critical patent/JP3552490B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 フラッシュ型メモリの書換回数を低減すると
ともに、拡張記憶装置上でプログラムの実行を可能とす
る。 【解決手段】 フラッシュメモリ側の物理アドレスで
は、各ブロック毎にヘッダエリア及びプログラム・デー
タエリアを配置する。しかし、プロセッサ側の論理アド
レス上では、各ブロックのヘッダエリア及びプログラム
・データエリアを連続して配置する。プログラム・デー
タエリアnに含まれるデータを書き換えるときは、デー
タエリアnのブロックと、対応するヘッダエリアのブロ
ックも書き換える必要がある。しかし、フラッシュメモ
リ12の物理アドレス上でみると、プログラム・データ
エリアnは該当するヘッダエリアとともに同一ブロック
内にある。従って、そのブロックのみを書き換えればよ
い。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、フラッシュ型メ
モリ,その管理方法,記憶装置,コンピュータシステム
にかかり、更に具体的には、フラッシュ型メモリの効率
的な管理手法の改良に関するものである。
【0002】
【背景技術】一般にフラッシュタイプのフローティング
ゲートトランジスタを含む電気的に消去可能なプログラ
マブル読出専用メモリ(EEPROM)は、現在市場で
容易に入手できる。これらのいわゆるフラッシュメモリ
は、機能・性能面でEPROMメモリと類似した不揮発
メモリであり、メモリ内で分割されているブロックを消
去する回路内プログラマブル動作を可能にするという機
能を更に有する。フラッシュメモリでは、以前に書き込
まれたブロック領域を前もって消去することで、その内
容の書き換えが行われる。
【0003】典型的なコンピュータシステムでは、オペ
レーティングシステム(以下、単に「OS」という)の
プログラムがそのシステムのデータ記憶装置のデータ管
理を担う。OSプログラムとの互換性を達成するために
必要かつ十分であるデータ記憶装置のアトリビュート
(属性)は、データ記憶装置のいかなる位置からもデー
タを読み出すことができ、これにデータを書き込むこと
ができることである。しかし、フラッシュメモリの場
合、データが既に書き込まれている領域には、その領域
のデータを消去しなければデータを書き込むことはでき
ない。このため、フラッシュメモリは、典型的な既存の
OSプログラムとは互換性がない。
【0004】このような点に着目し、既存のOSプログ
ラムによってフラッシュメモリを管理することを可能に
するソフトウエアが先行技術において提案されている。
この先行技術のプログラムでは、フラッシュメモリを
「書込み1回読出し複数回」の装置として動作させる
か、「書込み複数回読出し複数回」の装置として動作さ
せている。前者は、以前に書き込まれているメモリ領域
を再利用することはできない装置であり、補助記憶装置
や拡張記憶装置として使用できる。後者は、以前に書き
込まれているメモリ領域を再利用可能とし、その領域中
にはフラッシュメモリの書き換回数を少なくするような
制御を持つ補助記憶装置(半導体ファイル記憶装置)が
ある。
【0005】
【発明が解決しようとする課題】上述のような先行技術
に見られる装置によれば、フラッシュメモリを使用した
拡張記憶装置上では書換回数が少なくなるような制御構
造を持たずにROMエグゼキュータブルなプログラムを
動作させている。つまり、フラッシュメモリのデータを
書き換えるときは、全ブロックを一括して消去し、その
後、データを記憶させる必要がある。また、フラッシュ
メモリの書換回数を少なくするような制御構造を持つ装
置としては補助記憶装置(半導体ファイル記憶装置)が
あるものの、フラッシュメモリを使用した拡張記憶装置
上でプログラムの実行を可能とする装置にはない。補助
記憶装置において書換回数を少なくするためにその情報
(書換回数テーブル)を異なるメモリ上に記憶する方式
があるが、コスト高となる。また、同一フラッシュメモ
リ上に記憶する方式では、データを完全に連続的な配置
できることができない。
【0006】この発明は、以上の点に着目したもので、
その目的は、フラッシュメモリを使用した拡張記憶装置
上で、フラッシュメモリの書換回数を少なくするような
制御構造を持つ装置を提供することである。また、他の
目的は、主記憶装置にプログラムをロードすることな
く、拡張記憶装置上でプログラムの実行を可能とするこ
とである。更に他の目的は、フラッショメモリを使用し
た補助記憶装置として、書換回数を少なくする制御構造
をもちながら、連続的な論理アドレスを不連続な物理ア
ドレスに変換するメモリ管理装置によって、隣接するブ
ロックのデータ領域ブロックを、アクセスのためのオー
バヘッドを低減して、高速アクセス可能とすることであ
る。
【0007】
【課題を解決するための手段】前記目的を達成するた
め、本発明のフラッシュ型メモリは、自己のブロックの
管理情報を記憶する第1の領域と、主情報を記憶する第
2の領域とを、各ブロック毎に設けたことを特徴とす
る。本発明の記憶装置は、前記フラッシュ型メモリ、の
隣接するブロックの第1の領域もしくは第2の領域が、
連続する論理アドレスとなるように物理アドレスと論理
アドレスの変換を行うアドレス変換手段を備えたことを
特徴とする。前記アドレス変換手段は、例えば、ワイヤ
ードロジックによって構成される。また、前記管理情報
には、例えば、そのブロックの書込回数と、そのブロッ
クを消去した時刻とが含まれる。他の発明は、ブロック
をイレースする際に、書込回数が同じであれば、ブロッ
クの消去時刻が古い方を優先的に選択する制御手段を備
えたことを特徴とする。
【0008】本発明のコンピュータシステムは、前記フ
ラッシュ型メモリ上で、前記第2の領域に記憶されてい
るプログラムを実行するプロセッサを含むことを特徴と
する。本発明のフラッシュ型メモリの管理方法は、自己
のブロックの管理情報を記憶する第1の領域と、主情報
を記憶する第2の領域とを、各ブロック毎に設けること
を特徴とする。主要な形態の一つは、隣接するブロック
の第1の領域が連続する論理アドレスとなるように、物
理アドレスと論理アドレスの変換を行うことを特徴とす
る。他の形態は、隣接するブロックの第2の領域が連続
する論理アドレスとなるように、物理アドレスと論理ア
ドレスの変換を行うことを特徴とする。
【0009】この発明の前記及び他の目的,特徴,利点
は、以下の詳細な説明及び添付図面から明瞭になろう。
【0010】
【発明の実施の形態】以下、本発明の実施の形態につい
て詳細に説明する。本発明は、例えば図1に示すよう
に、プロセッサ10,フラッシュメモリ12およびその
制御装置14を含む拡張もしくは補助の記憶装置,RA
M(主記憶装置)16を含むコンピュータシステムに適
用される。フラッシュメモリ12は、その書換回数を少
なくなるようにするために、フラッシュメモリ12のブ
ロック単位の書換情報(イレース情報)を持つ領域(ヘ
ッダエリア)と、フラッシュメモリ12上のプログラム
やデータを記憶する領域(プログラム・データエリア)
を持つ(後述する図4参照)。フラッシュメモリ制御装
置14は、フラッシュメモリ12へのリード,ライト,
チップセレクトなどの信号を生成し、プロセッサ10か
らフラッシュメモリ12をインターフェース(I/F)
する役割を担う。
【0011】ヘッダエリアには、例えばイレースの回数
や時刻を記述する。ここで、プロセッサ10の論理アド
レスをフラッシュメモリ12のブロック数の単位に分割
してフラッシュメモリ12に記憶することができれば、
フラッシュメモリ12の書換回数の低減とフラッシュメ
モリ12の管理方法が簡単になる。すなわち、書換える
べきデータが複数のブロックに跨っていると、それら複
数のブロックについて書換処理を行わなければならな
い。しかし、書換えるべきデータが一つのブロック内に
あれば、そのブロックのみを書換えればよく、フラッシ
ュメモリ12の書換回数を低減して管理を簡略化するこ
とができる。
【0012】そこで、図2に示す装置を用いて、図3に
示すメモリマッピングを行う。つまり、ヘッダエリアや
プログラム・データエリアを、ブロック数の単位にそれ
ぞれ分割する。そして分割された各エリアを、フラッシ
ュメモリの中に効率よくブロック単位で配置する。すな
わち、同時に書換えが必要となる分割ヘッダエリアと分
割プログラム・データエリアが、同一のブロックに含ま
れるように配置する。このような配置は、プロセッサ1
0の論理アドレスをフラッシュメモリ12の物理アドレ
スに変換するアドレス変換装置20によって実現する。
【0013】図4に、ブロック構造を持つフラッシュメ
モリ12のメモリマップの一例を示す。この例は、1ブ
ロックがLバイトで、かつ全体でm+1ブロックをも
つ、L×(m+1)バイトを記憶できるフラッシュメモ
リである。各ブロックを管理するためにフラッシュメモ
リ12の書換回数などの情報を持つヘッダエリアとし
て、Pバイト必要であるとすると、全体でP×(m+
1)バイトのヘッダエリアが必要である。従って、この
システムは、(L−P)×(m+1)バイトのプログラ
ム・データエリアを持つことになる。
【0014】このようなエリア構成のフラッシュメモリ
12に対し、図2に示したアドレス変換装置18による
変換を行う。詳述すると、図5に示すように、プロセッ
サ10の論理アドレスでは各ブロックのヘッダエリアを
順にブロック0,ブロック1,……,ブロックmのよう
に連続して配置する。一方、プログラム・データエリア
については、順にブロック0,ブロック1,……,ブロ
ックmとヘッダエリア部分を抜いて連続した配置とす
る。これによって、各ブロックのヘッダエリアが、それ
ぞれ連続する論理アドレスで配置されることになる。ま
た同様に、各ブロックのプログラム・データエリアも、
それぞれ連続する論理アドレスで配置されることにな
る。
【0015】このようなアドレス配置において、例えば
プログラム・データエリアnに含まれるデータを書き換
える必要が生じたとする。プロセッサ10の論理アドレ
ス上でみると、プログラム・データエリアnのヘッダエ
リアが含まれるブロックと、プログラム・データエリア
nに相当するブロックの合計2つのブロックを書き換え
なければならない。しかし、フラッシュメモリ12の物
理アドレス上でみると、プログラム・データエリアnは
該当するヘッダエリアとともに同一ブロック内にある。
従って、そのブロックのみを書き換えればよい。
【0016】このように、本形態によれば、フラッシュ
メモリの書換回数を低減する高速の管理プログラムがヘ
ッダエリアの情報を読み、実行プログラムやデータの書
換えや追記を簡便に実現できる。また、論理アドレス上
でプログラム・データエリアのブロック間が連続的に配
置しているため、無駄な空きスペースのないデータ構造
を持つ拡張記憶装置および補助記憶装置を実現でき、か
つフラッシュメモリ上での実行プログラムの動作が可能
となる。更に、ヘッダエリアは、自己が管理するブロッ
クの中に記憶されることになるため、ヘッダエリアのた
めの別個のメモリ領域を必要としない。
【0017】フラッシュメモリの各ブロックの管理方法
を説明すると、最初はすべて、ヘッダエリアには「FF
h(16進表示)」が記憶されている。フラッシュメモ
リは、初期化しなければ拡張記憶装置や補助記憶装置と
して使用できないため、ブロック0のヘッダエリアに書
換回数0回と現時刻を記憶し、同様にブロック1のヘッ
ダエリアに書換回数0回と現時刻を記憶し、……という
具合に昇順で最後のブロックまで繰り返し記憶する。
【0018】拡張記憶装置や補助記憶装置としてフラッ
シュメモリを使用するシステムでは、データや実行プロ
グラムは追記させる構造でメモリに記憶させるのが通例
である。この追記させる構造では、更新されたデータや
実行プログラムは追記されるが、以前のデータや実行プ
ログラムは無効となるような構造を持っている。そし
て、繰り返しデータや実行プログラムが更新されていく
と、無駄なメモリエリアが拡大していく。そこで、フラ
ッシュメモリ上のメモリ領域の再配置を行う必要があ
る。そのとき、イレースするブロックの候補として、書
換回数の少ないブロック優先してイレースする。このと
き、書換回数が同じブロックが複数あり、いずれかをイ
レースする必要があるときは、前回のブロック消去時刻
の古い方を優先してイレースする。
【0019】実際にブロックを消去するときであるが、
そのブロックのヘッダエリアに記憶している以前の書換
回数「U」を一時的に別メモリあるいはレジスタに保持
し、その後フラッシュメモリのブロックを消去させるプ
ログラムによって目的とするブロック(ヘッダエリア及
びデータ・プログラムエリア)を消去して初期化する。
その後すぐに、そのブロックのヘッダエリアに以前の書
換回数に「1」インクリメントした値「U+1」を書き
込み、同時に現時刻も書き込む。そして必要に応じて、
データ・プログラムを再配置する。以下、本形態の実施
例について説明する。
【0020】
【実施例1】図1に示したような、汎用CPUもしくは
汎用マイコンであるプロセッサ10,、高速にアクセス
可能なRAM16,フラッシュメモリ12及びその制御
装置14を含む拡張記憶装置もしくは補助記憶装置をも
つようなシステムにおいて、本実施例では、拡張記憶装
置もしくは補助記憶装置に使用するフラッシュメモリ1
2として、2メガビット×8で合計32個の64Kバイ
トのブロックをもつものを搭載したとする。
【0021】このフラッシュメモリ12は、図6に示す
ような物理アドレスのメモリマップを持つ。各ブロック
は、OSプログラム又は制御プログラムが管理するため
に、1ブロック毎に自己のヘッダエリアを持つ。ヘッダ
エリアには、その内容として、ブロックの消去回数や消
去した時刻などを図7に示すような構造で記録されてお
り、16バイト分の容量をとる。なお、図7中に示すア
ドレスは、フラッシュメモリ12の物理アドレスであ
る。ブロックnのヘッダエリアに記憶されている内容を
参照して、OSプログラム又は制御プログラムがブロッ
クnの消去や書換えを管理する。
【0022】フラッシュメモリ12の物理アドレスは、
プロセッサ10から見た論理アドレスに変換され、図3
もしくは図5に示したように、各ブロックのヘッダエリ
アや、プログラム・データエリアのブロックが連続する
ようになる。この論理アドレスと物理アドレスとの変換
の計算式の一例を示すと、以下のようになる。なお、数
値nは、10進数表記で0から31までの数字である。
このnを16進数に変換した数値をN(h)とする。物
理アドレスの値を「16進数:[PA(h)],PA
[20:0]」とし、論理アドレスの値を「16進数:
[LA(h)],LA[20:0]」とし、ブロックN
(h)を用いて変換式を示すと、以下のようになる。
【0023】 IF(000000h≦LA(h)≦00FFEFh) PA(h)=LA(h) ELSE IF(00FFF0h≦LA(h)≦01FFDFh) PA(h)=LA(h)+10(h) ELSE IF(00FFE0h≦LA(h)≦02FFCFh) PA(h)=LA(h)+20(h) ELSE IF(02FFD0h≦LA(h)≦03FFBFh) PA(h)=LA(h)+30(h) ELSE IF(03FFC0h≦LA(h)≦04FFAFh) PA(h)=LA(h)+40(h) ELSE IF(04FFB0h≦LA(h)≦05FF9Fh) PA(h)=LA(h)+50(h) ELSE IF(05FFA0h≦LA(h)≦06FF8Fh) PA(h)=LA(h)+60(h) ELSE IF(06FF90h≦LA(h)≦07FF7Fh) PA(h)=LA(h)+70(h) ELSE IF(07FF80h≦LA(h)≦08FF6Fh) PA(h)=LA(h)+80(h) ELSE IF(08FF70h≦LA(h)≦09FF5Fh) PA(h)=LA(h)+90(h) ELSE IF(09FF60h≦LA(h)≦0AFF4Fh) PA(h)=LA(h)+A0(h) ELSE IF(0AFF50h≦LA(h)≦0BFF3Fh) PA(h)=LA(h)+B0(h) ELSE IF(0BFF40h≦LA(h)≦0CFF2Fh) PA(h)=LA(h)+C0(h) ELSE IF(0CFF30h≦LA(h)≦0DFF1Fh) PA(h)=LA(h)+D0(h) ELSE IF(0DFF20h≦LA(h)≦0EFF0Fh) PA(h)=LA(h)+E0(h) ELSE IF(0EFF10h≦LA(h)≦0FFEFFh) PA(h)=LA(h)+F0(h) ELSE IF(0FFF00h≦LA(h)≦10FEEFh) PA(h)=LA(h)+100(h) ELSE IF(10FEF0h≦LA(h)≦11FEDFh) PA(h)=LA(h)+110F(h) ELSE IF(11FEE0h≦LA(h)≦12FECFh) PA(h)=LA(h)+120(h) ELSE IF(12FED0h≦LA(h)≦13FEBFh) PA(h)=LA(h)+130(h) ELSE IF(13FEC0h≦LA(h)≦14FEAFh) PA(h)=LA(h)+140(h) ELSE IF(14FEB0h≦LA(h)≦15FE9Fh) PA(h)=LA(h)+150(h) ELSE IF(15FEA0h≦LA(h)≦16FE8Fh) PA(h)=LA(h)+160(h) ELSE IF(16FE90h≦LA(h)≦17FE7Fh) PA(h)=LA(h)+170(h) ELSE IF(17FE80h≦LA(h)≦18FE6Fh) PA(h)=LA(h)+180(h) ELSE IF(18FE70h≦LA(h)≦19FE5Fh) PA(h)=LA(h)+190(h) ELSE IF(19FE60h≦LA(h)≦1AFE4Fh) PA(h)=LA(h)+1A0(h) ELSE IF(1AFE50h≦LA(h)≦1BFE3Fh) PA(h)=LA(h)+1B0(h) ELSE IF(1BFE40h≦LA(h)≦1CFE2Fh) PA(h)=LA(h)+1C0(h) ELSE IF(1CFE30h≦LA(h)≦1DFE1Fh) PA(h)=LA(h)+1D0(h) ELSE IF(1DFE20h≦LA(h)≦1EFE0Fh) PA(h)=LA(h)+1E0(h) ELSE IF(1EFE10h≦LA(h)≦1FFDFFh) PA(h)=LA(h)+1F0(h) ELSE IF(1FFE00h≦LA(h)≦1FFE0Fh) PA(h)=LA(h)−1EFE10(h) ELSE IF(1FFE10h≦LA(h)≦1FFE1Fh) PA(h)=LA(h)−1DFE20(h) ELSE IF(1FFE20h≦LA(h)≦1FFE2Fh) PA(h)=LA(h)−1CFE30(h) ELSE IF(1FFE30h≦LA(h)≦1FFE3Fh) PA(h)=LA(h)−1BFE40(h) ELSE IF(1FFE40h≦LA(h)≦1FFE4Fh) PA(h)=LA(h)−1AFE50(h) ELSE IF(1FFE50h≦LA(h)≦1FFE5Fh) PA(h)=LA(h)−19FE60(h) ELSE IF(1FFE60h≦LA(h)≦1FFE6Fh) PA(h)=LA(h)−18FE70(h) ELSE IF(1FFE70h≦LA(h)≦1FFE7Fh) PA(h)=LA(h)−17FE80(h) ELSE IF(1FFE80h≦LA(h)≦1FFE8Fh) PA(h)=LA(h)−16FE90(h) ELSE IF(1FFE90h≦LA(h)≦1FFE9Fh) PA(h)=LA(h)−15FEA0(h) ELSE IF(1FFEA0h≦LA(h)≦1FFEAFh) PA(h)=LA(h)−14FEB0(h) ELSE IF(1FFEB0h≦LA(h)≦1FFEBFh) PA(h)=LA(h)−13FEC0(h) ELSE IF(1FFEC0h≦LA(h)≦1FFECFh) PA(h)=LA(h)−12FED0(h) ELSE IF(1FFED0h≦LA(h)≦1FFEDFh) PA(h)=LA(h)−11FEE0(h) ELSE IF(1FFEE0h≦LA(h)≦1FFEEFh) PA(h)=LA(h)−10FEF0(h) ELSE IF(1FFEF0h≦LA(h)≦1FFEFFh) PA(h)=LA(h)−FFF00(h) ELSE IF(1FFF00h≦LA(h)≦1FFF0Fh) PA(h)=LA(h)−EFF10(h) ELSE IF(1FFF10h≦LA(h)≦1FFF1Fh) PA(h)=LA(h)−DFF20(h) ELSE IF(1FFF20h≦LA(h)≦1FFF2Fh) PA(h)=LA(h)−CFF30(h) ELSE IF(1FFF30h≦LA(h)≦1FFF3Fh) PA(h)=LA(h)−BFF40(h) ELSE IF(1FFF40h≦LA(h)≦1FFF4Fh) PA(h)=LA(h)−AFF50(h) ELSE IF(1FFF50h≦LA(h)≦1FFF5Fh) PA(h)=LA(h)−9FF60(h) ELSE IF(1FFF60h≦LA(h)≦1FFF6Fh) PA(h)=LA(h)−8FF70(h) ELSE IF(1FFF70h≦LA(h)≦1FFF7Fh) PA(h)=LA(h)−7FF80(h) ELSE IF(1FFF80h≦LA(h)≦1FFF8Fh) PA(h)=LA(h)−6FF90(h) ELSE IF(1FFF90h≦LA(h)≦1FFF9Fh) PA(h)=LA(h)−5FFA0(h) ELSE IF(1FFFA0h≦LA(h)≦1FFFAFh) PA(h)=LA(h)−4FFB0(h) ELSE IF(1FFFB0h≦LA(h)≦1FFFBFh) PA(h)=LA(h)−3FFC0(h) ELSE IF(1FFFC0h≦LA(h)≦1FFFCFh) PA(h)=LA(h)−2FFD0(h) ELSE IF(1FFFD0h≦LA(h)≦1FFFDFh) PA(h)=LA(h)−1FFE0(h) ELSE IF(1FFFE0h≦LA(h)≦1FFFEFh) PA(h)=LA(h)−FFF0(h) ELSE IF(1FFFF0h≦LA(h)≦1FFFFFh) PA(h)=LA(h)
【0024】一例を示すと、最初の は、論理アドレスLA(h)が000000hと00F
FEFhの間にあるときに、物理アドレスPA(h)は
論理アドレスLA(h)と同じ値であることを意味す
る。
【0025】同様に、 ELSE IF(00FFF0h≦LA(h)≦01FFDFh) PA(h)=LA(h)+10(h) は、論理アドレスLA(h)が00FFF0hと01F
FDFhの間にあるときに、物理アドレスPA(h)は
論理アドレスLA(h)に10(h)加算した値である
ことを意味する。以下、同様である。
【0026】次に、図2のアドレス変換装置18を、上
述したアドレス変換式を用いてワイヤードロジックで構
成し、フラッシュメモリ12の制御装置14とともにプ
ロセッサ10とI/Fをとる。本実施例のフラッシュメ
モリ12のブロック管理方法を説明すると、上述したよ
うに、最初に各ブロックのヘッダエリアの初期化(イニ
シャライズ)を行う。初期化の一例を示すと、次のよう
になる。
【0027】ブロック0のヘッダエリアでは、物理アド
レスPA[20:0]の「00FFFDh」から「00
FFFFh」にそれぞれ「00h」を書き込み、「00
FFF6h」から「00FFFBhに」現在の時刻をそ
れぞれ書き込む。次に、ブロック1のヘッダエリアで
は、物理アドレスPA[20:0]の「01FFFD
h」から「01FFFFh」にそれぞれ「00h」を書
き込み、「01FFF6h」から「01FFFBh」に
現在の時刻をそれぞれ書き込む。…………そして、昇順
ブロックxxhのヘッダエリアでは、物理アドレスPA
[20:0]の「xxFFFDh」から「xxFFFF
h」にそれぞれ「00h」を書き込み、「xxFFF6
h」から「xxFFFBh」に現在の時刻をそれぞれ書
き込む。…………最終ブロック1Fhのヘッダエリアで
は、物理アドレスPA[20:0]の「1FFFFD
h」から「1FFFFFh」にそれぞれ「00h」を書
き込み、「1FFFF6h」から「1FFFFBh」に
現在の時刻をそれぞれ書き込んで初期化を終了する。
【0028】拡張記憶装置あるいは補助記憶装置として
フラッシュメモリを用いた本システムでは、データや実
行プログラムなどは追記する手法で新たに更新していく
ことになる。この手法自体は従来の手法と同様である。
しかし、データや実行プログラムの更新を繰り返す度
に、不要なメモリエリアが拡大していく。そこで、デー
タや実行プログラムの更新により不要となったデータ・
実行プログラムやメモリフラグメンテーションを削除す
るために、メモリデータの再配置(デフラグメンテーシ
ョン)を行い、不要なメモリエリアの縮小と再利用エリ
アの拡大を図るようにする。このとき、イレースするブ
ロックの候補として、上述したように書換回数の少ない
方のブロックを優先して消去する。もし、書換回数が同
じで2つ以上の候補があるときは、その候補の以前の消
去時刻の古いブロックを優先してイレースすることにす
る。この処理は、デフラグメンテーションプログラムに
より、プロセッサ10がフラッシュメモリ制御装置14
を介して行う。
【0029】具体的には、優先的に選ばれたブロックの
ヘッダエリアに記憶されている書換回数「V」を他のメ
モリあるいはレジスタに記憶し、そして次に該当ブロッ
クをイレースするためのプログラム(イレースシーケン
スルーチン)の実行に移る。このプログラムが終了後、
そのブロックはイレースされたことになる。そして直ち
に、ヘッダエリアの更新を行う。すなわち、書換回数を
以前の回数に1インクリメントした値「V+1」として
新たに書き込み、更に現在の時刻を書き込む。この作業
の終了後、通常のデータなどの追記や読み出しができる
状態に戻す。
【0030】
【実施例2】この実施例2では、拡張記憶装置もしくは
補助記憶装置に使用するフラッシュメモリ12として、
1メガビット×16で合計32個の32キロワードのブ
ロックをもつものを搭載したシステム構成となってい
る。このフラッシュメモリは、図8に示すような物理ア
ドレスのメモリマップを持つ。前記実施例と同様に、各
ブロックは、OSプログラム又は制御プログラムが管理
するために、1ブロック毎に自己のヘッダエリアを持
つ。その内容であるブロックの消去回数や消去した時刻
などは、図9に示すような構造で8ワード分をとる。な
お、図9中に示すアドレスは、フラッシュメモリ12の
物理アドレスである。ブロックnのヘッダエリアに記憶
されている内容を参照して、OSプログラム又は制御プ
ログラムがブロックnのブロック消去や書き換えを管理
する。この管理方法は、前記実施例1と同様の手法で対
応できる。
【0031】次に、各ブロックのヘッダエリアやプログ
ラム・データエリアのブロックが連続するように、アド
レス変換を行う。この論理アドレスから物理アドレスへ
のアドレス変換の計算式の一例を示すと、以下のように
なる。なお、数値n,数値N(h),物理アドレスの値
[PA(h)],PA[20:1],論理アドレスの値
[LA(h)],LA[20:1]は、前記実施例と同
様である。
【0032】 IF(00000h≦LA(h)≦07FF7h) PA(h)=LA(h) ELSE IF(07FF8h≦LA(h)≦0FFEFh) PA(h)=LA(h)+8(h) ELSE IF(0FFF0h≦LA(h)≦17FE7h) PA(h)=LA(h)+10(h) ELSE IF(17FE8h≦LA(h)≦1FFDFh) PA(h)=LA(h)+18(h) ELSE IF(1FFE0h≦LA(h)≦27FD7h) PA(h)=LA(h)+20(h) ELSE IF(27FD8h≦LA(h)≦2FFCFh) PA(h)=LA(h)+28(h) ELSE IF(2FFD0h≦LA(h)≦37FC7h) PA(h)=LA(h)+30(h) ELSE IF(37FC8h≦LA(h)≦3FFBFh) PA(h)=LA(h)+38(h) ELSE IF(3FFC0h≦LA(h)≦47FB7h) PA(h)=LA(h)+40(h) ELSE IF(47FB8h≦LA(h)≦4FFAFh) PA(h)=LA(h)+48(h) ELSE IF(4FFB0h≦LA(h)≦57FA7h) PA(h)=LA(h)+50(h) ELSE IF(57FA8h≦LA(h)≦5FF9Fh) PA(h)=LA(h)+58(h) ELSE IF(5FFA0h≦LA(h)≦67F97h) PA(h)=LA(h)+60(h) ELSE IF(67F98h≦LA(h)≦6FF8Fh) PA(h)=LA(h)+68(h) ELSE IF(6FF90h≦LA(h)≦77F87h) PA(h)=LA(h)+70(h) ELSE IF(77F88h≦LA(h)≦7FF7Fh) PA(h)=LA(h)+78(h) ELSE IF(7FF80h≦LA(h)≦87F77h) PA(h)=LA(h)+80(h) ELSE IF(87F78h≦LA(h)≦8FF6Fh) PA(h)=LA(h)+88(h) ELSE IF(8FF70h≦LA(h)≦97F67h) PA(h)=LA(h)+90(h) ELSE IF(97F68h≦LA(h)≦9FF5Fh) PA(h)=LA(h)+98(h) ELSE IF(9FF60h≦LA(h)≦A7F57h) PA(h)=LA(h)+A0(h) ELSE IF(A7F58h≦LA(h)≦AFF4Fh) PA(h)=LA(h)+A8(h) ELSE IF(AFF50h≦LA(h)≦B7F47h) PA(h)=LA(h)+B0(h) ELSE IF(B7F48h≦LA(h)≦BFF3Fh) PA(h)=LA(h)+B8(h) ELSE IF(BFF40h≦LA(h)≦C7F37h) PA(h)=LA(h)+C0(h) ELSE IF(C7F38h≦LA(h)≦CFF2Fh) PA(h)=LA(h)+C8(h) ELSE IF(CFF30h≦LA(h)≦D7F27h) PA(h)=LA(h)+D0(h) ELSE IF(D7F28h≦LA(h)≦DFF1Fh) PA(h)=LA(h)+D8(h) ELSE IF(DFF20h≦LA(h)≦E7F17h) PA(h)=LA(h)+E0(h) ELSE IF(E7F18h≦LA(h)≦EFF0Fh) PA(h)=LA(h)+E8(h) ELSE IF(EFF10h≦LA(h)≦F7F07h) PA(h)=LA(h)+F0(h) ELSE IF(F7F08h≦LA(h)≦FFEFFh) PA(h)=LA(h)+F8(h) ELSE IF(FFF00h≦LA(h)≦FFF07h) PA(h)=LA(h)−F7F08h ELSE IF(FFF08h≦LA(h)≦FFF0Fh) PA(h)=LA(h)−EFF10h ELSE IF(FFF10h≦LA(h)≦FFF17h) PA(h)=LA(h)−E7F18h ELSE IF(FFF18h≦LA(h)≦FFF1Fh) PA(h)=LA(h)−DFF20h ELSE IF(FFF20h≦LA(h)≦FFF27h) PA(h)=LA(h)−D7F28h ELSE IF(FFF28h≦LA(h)≦FFF2Fh) PA(h)=LA(h)−CFF30h ELSE IF(FFF30h≦LA(h)≦FFF37h) PA(h)=LA(h)−C7F38h ELSE IF(FFF38h≦LA(h)≦FFF3Fh) PA(h)=LA(h)−BFF40h ELSE IF(FFF40h≦LA(h)≦FFF47h) PA(h)=LA(h)−B7F48h ELSE IF(FFF48h≦LA(h)≦FFF4Fh) PA(h)=LA(h)−AFF50h ELSE IF(FFF50h≦LA(h)≦FFF57h) PA(h)=LA(h)−A7F58h ELSE IF(FFF58h≦LA(h)≦FFF5Fh) PA(h)=LA(h)−9FF60h ELSE IF(FFF60h≦LA(h)≦FFF67h) PA(h)=LA(h)−97F68h ELSE IF(FFF68h≦LA(h)≦FFF6Fh) PA(h)=LA(h)−8FF70h ELSE IF(FFF70h≦LA(h)≦FFF77h) PA(h)=LA(h)−87F78h ELSE IF(FFF78h≦LA(h)≦FFF7Fh) PA(h)=LA(h)−7FF80h ELSE IF(FFF80h≦LA(h)≦FFF87h) PA(h)=LA(h)−77F88h ELSE IF(FFF88h≦LA(h)≦FFF8Fh) PA(h)=LA(h)−6FF90h ELSE IF(FFF90h≦LA(h)≦FFF97h) PA(h)=LA(h)−67F98h ELSE IF(FFF98h≦LA(h)≦FFF9Fh) PA(h)=LA(h)−5FFA0h ELSE IF(FFFA0h≦LA(h)≦FFFA7h) PA(h)=LA(h)−57FA8h ELSE IF(FFFA8h≦LA(h)≦FFFAFh) PA(h)=LA(h)−4FFB0h ELSE IF(FFFB0h≦LA(h)≦FFFB7h) PA(h)=LA(h)−47FB8h ELSE IF(FFFB8h≦LA(h)≦FFFBFh) PA(h)=LA(h)−3FFC0h ELSE IF(FFFC0h≦LA(h)≦FFFC7h) PA(h)=LA(h)−37FC8h ELSE IF(FFFC8h≦LA(h)≦FFFCFh) PA(h)=LA(h)−2FFD0h ELSE IF(FFFD0h≦LA(h)≦FFFD7h) PA(h)=LA(h)−27FD8h ELSE IF(FFFD8h≦LA(h)≦FFFDFh) PA(h)=LA(h)−1FFE0h ELSE IF(FFFE0h≦LA(h)≦FFFE7h) PA(h)=LA(h)−17FE8h ELSE IF(FFFE8h≦LA(h)≦FFFEFh) PA(h)=LA(h)−FFF0h ELSE IF(FFFF0h≦LA(h)≦FFFF7h) PA(h)=LA(h)−7FF8h ELSE IF(FFFF8h≦LA(h)≦FFFFFh) PA(h)=LA(h)
【0033】次に、図2のアドレス変換装置18を、上
述したアドレス変換式を用いてワイヤードロジックで構
成し、フラッシュメモリ12の制御装置14とともにプ
ロセッサ10とI/Fをとる。このようにして、前記実
施例と同様に、ヘッダエリアにおける書換えの管理・制
御とプログラム・データエリアのブロック間を連続化す
るアドレスマップへの変換が可能となる。
【0034】
【他の実施例】この発明には数多くの実施の形態があ
り、以上の開示に基づいて多様に改変することが可能で
ある。例えば、次のようなものも含まれる。 (1)前記実施例1,2では、ハードロジックによってア
ドレス変換装置を実現したが、アドレス変換用のROM
を使用し、テーブル参照方式によって論理アドレスから
物理アドレスへのアドレス変換を行うようにしてもよ
い。すなわち、論理アドレスをROMのアドレス側に供
給し、物理アドレスをROMのデータ側から出力する。
ROMのチップイネーブルやアウトプットイネーブルは
アサートしたままにして、アドレスコントロールとす
る。このROMに、前記実施例で示したようなアドレス
変換式を展開したテーブルを記憶すればよい。
【0035】(2)前記形態はフラッシュメモリに本発明
を適用したものであるが、他の類似するメモリがフラッ
シュメモリと同じ書込み,読出し機能を備えており、か
つ、書込前ブロック消去特性を有するメモリであれば、
同様に適用可能である。 (3)前記実施例は、バイト単位やワード(16ビットや
32ビット)単位による操作の場合であるが、他のデー
タ単位であっても、同様に適用可能である。
【0036】
【発明の効果】以上説明したように、本発明によれば、
次のような効果がある。 (1)対応するヘッダエリアとプログラム・データエリア
が、メモリの同一ブロック内となるようにアドレス変換
を行うので、ブロックの書換回数を低減して、高速のア
クセスが可能となる。また、ヘッダエリア用のメモリを
必要とせず、コストの削減を可能にする。 (2)アドレス変換によって、プロセッサ側からみたとき
にプログラム・データエリアのブロックが連続するよう
になり、メモリ領域の無駄を省くとともに、主記憶装置
に実行プログラムをロードすることなく、拡張記憶装置
もしくは補助記憶装置上でプログラムの実行が可能とな
る。
【図面の簡単な説明】
【図1】本発明を利用したシステムの一例のブロック図
である。
【図2】本発明の一形態の主要部を示すブロック図であ
る。
【図3】論理アドレスから物理アドレスにアドレス変換
するための、メモリマッピングの手法を示す概念図であ
る。
【図4】ブロック消去機能をもつ汎用のフラッシュメモ
リにおける物理アドレスのメモリマッピングと、ヘッダ
エリア及びプログラム・データエリアの関係を示す図で
ある。
【図5】フラッシュメモリの物理アドレスとプロセッサ
の論理アドレスの関係を示す図である。
【図6】実施例1におけるフラッシュメモリのメモリマ
ップを示す図である。
【図7】実施例1におけるフラッシュメモリのブロック
nにおける詳細な構造のメモリマップを示す図である。
【図8】実施例2におけるフラッシュメモリのメモリマ
ップを示す図である。
【図9】実施例2におけるフラッシュメモリのブロック
nにおける詳細な構造のメモリマップを示す図である。
【符号の説明】
10…プロセッサ 12…フラッシュメモリ 14…フラッシュメモリ制御装置 16…RAM 18…アドレス変換装置

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 ブロック単位で記憶内容を消去するフラ
    ッシュ型メモリであって、 自己のブロックの管理情報を記憶する第1の領域と、主
    情報を記憶する第2の領域とを、各ブロック毎に設けた
    ことを特徴とするフラッシュ型メモリ。
  2. 【請求項2】 請求項1記載のフラッシュ型メモリを備
    えた記憶装置であって、 隣接するブロックの第1の領域が、連続する論理アドレ
    スとなるように物理アドレスと論理アドレスの変換を行
    うアドレス変換手段を備えたことを特徴とする記憶装
    置。
  3. 【請求項3】 請求項1記載のフラッシュ型メモリを備
    えた記憶装置であって、 隣接するブロックの第2の領域が、連続する論理アドレ
    スとなるように物理アドレスと論理アドレスの変換を行
    うアドレス変換手段を備えたことを特徴とする請求項2
    記載の記憶装置。
  4. 【請求項4】 前記アドレス変換手段を、ワイヤードロ
    ジックによって構成したことを特徴とする請求項3記載
    の記憶装置。
  5. 【請求項5】 前記アドレス変換手段を、変換用のテー
    ブルを格納したROMによって構成したことを特徴とす
    る請求項3記載の記憶装置。
  6. 【請求項6】 前記管理情報は、そのブロックの書込回
    数と、そのブロックを消去した時刻を含むことを特徴と
    する請求項2又は3記載の記憶装置。
  7. 【請求項7】 ブロックをイレースする際に、書込回数
    が同じであれば、ブロックの消去時刻が古い方を優先的
    に選択する制御手段を備えたことを特徴とする請求項4
    記載の記憶装置。
  8. 【請求項8】 請求項3記載の記憶装置を備えたコンピ
    ュータシステムであって、 前記フラッシュ型メモリ上で、前記第2の領域に記憶さ
    れているプログラムを実行するプロセッサを含むことを
    特徴とするコンピュータシステム。
  9. 【請求項9】 ブロック単位で記憶内容を消去するフラ
    ッシュ型メモリの管理方法であって、 自己のブロックの管理情報を記憶する第1の領域と、主
    情報を記憶する第2の領域とを、各ブロック毎に設ける
    ことを特徴とするフラッシュ型メモリの管理方法。
  10. 【請求項10】 隣接するブロックの第1の領域が連続
    する論理アドレスとなるように、物理アドレスと論理ア
    ドレスの変換を行うことを特徴とする請求項9記載のフ
    ラッシュ型メモリの管理方法。
  11. 【請求項11】 隣接するブロックの第2の領域が連続
    する論理アドレスとなるように、物理アドレスと論理ア
    ドレスの変換を行うことを特徴とする請求項10記載の
    フラッシュ型メモリの管理方法。
JP27052097A 1997-09-17 1997-09-17 フラッシュ型メモリを備えた記憶装置,フラッシュ型メモリの管理方法 Expired - Lifetime JP3552490B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27052097A JP3552490B2 (ja) 1997-09-17 1997-09-17 フラッシュ型メモリを備えた記憶装置,フラッシュ型メモリの管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27052097A JP3552490B2 (ja) 1997-09-17 1997-09-17 フラッシュ型メモリを備えた記憶装置,フラッシュ型メモリの管理方法

Publications (2)

Publication Number Publication Date
JPH1196779A true JPH1196779A (ja) 1999-04-09
JP3552490B2 JP3552490B2 (ja) 2004-08-11

Family

ID=17487377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27052097A Expired - Lifetime JP3552490B2 (ja) 1997-09-17 1997-09-17 フラッシュ型メモリを備えた記憶装置,フラッシュ型メモリの管理方法

Country Status (1)

Country Link
JP (1) JP3552490B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789158B2 (en) 2000-01-28 2004-09-07 Nec Electronics Corporation Method of rewriting program in a flash microcomputer
KR100484485B1 (ko) * 2002-10-01 2005-04-20 한국전자통신연구원 비휘발성 메모리에의 데이터 저장 방법 및 장치
KR100742849B1 (ko) * 1998-06-30 2007-07-25 소니 가부시끼 가이샤 데이타 기억 장치, 데이타 처리 시스템, 데이타 처리 방법 및 데이타 처리 장치
US7664906B2 (en) 2003-03-31 2010-02-16 Samsung Electronics Co., Ltd. Flash memory access apparatus and method
JP2010067284A (ja) * 2009-12-25 2010-03-25 Toshiba Corp メモリシステムの制御方法
KR100978302B1 (ko) 2008-04-24 2010-08-26 가부시끼가이샤 도시바 메모리 시스템
US8015347B2 (en) 2007-12-28 2011-09-06 Kabushiki Kaisha Toshiba Memory system and control method thereof

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100742849B1 (ko) * 1998-06-30 2007-07-25 소니 가부시끼 가이샤 데이타 기억 장치, 데이타 처리 시스템, 데이타 처리 방법 및 데이타 처리 장치
US6789158B2 (en) 2000-01-28 2004-09-07 Nec Electronics Corporation Method of rewriting program in a flash microcomputer
KR100484485B1 (ko) * 2002-10-01 2005-04-20 한국전자통신연구원 비휘발성 메모리에의 데이터 저장 방법 및 장치
US7664906B2 (en) 2003-03-31 2010-02-16 Samsung Electronics Co., Ltd. Flash memory access apparatus and method
US11893237B2 (en) 2007-12-28 2024-02-06 Kioxia Corporation Memory system and control method thereof
US11287975B2 (en) 2007-12-28 2022-03-29 Kioxia Corporation Memory system and control method thereof
US8015347B2 (en) 2007-12-28 2011-09-06 Kabushiki Kaisha Toshiba Memory system and control method thereof
US8886868B2 (en) 2007-12-28 2014-11-11 Kabushiki Kaisha Toshiba Memory system and control method thereof
US9026724B2 (en) 2007-12-28 2015-05-05 Kabushiki Kaisha Toshiba Memory system and control method thereof
US9280292B2 (en) 2007-12-28 2016-03-08 Kabushiki Kaisha Toshiba Memory system and control method thereof
US9483192B2 (en) 2007-12-28 2016-11-01 Kabushiki Kaisha Toshiba Memory system and control method thereof
US9933941B2 (en) 2007-12-28 2018-04-03 Toshiba Memory Corporation Memory system and control method thereof
US10558360B2 (en) 2007-12-28 2020-02-11 Toshiba Memory Corporation Memory system and control method thereof
KR100978302B1 (ko) 2008-04-24 2010-08-26 가부시끼가이샤 도시바 메모리 시스템
US7949910B2 (en) 2008-04-24 2011-05-24 Kabushiki Kaisha Toshiba Memory system and control method thereof
US7958411B2 (en) 2008-04-24 2011-06-07 Kabushiki Kaisha Toshiba Memory system and control method thereof
JP2010067284A (ja) * 2009-12-25 2010-03-25 Toshiba Corp メモリシステムの制御方法
JP4703764B2 (ja) * 2009-12-25 2011-06-15 株式会社東芝 メモリシステムの制御方法

Also Published As

Publication number Publication date
JP3552490B2 (ja) 2004-08-11

Similar Documents

Publication Publication Date Title
US7227788B2 (en) Memory management device and memory device
KR100526879B1 (ko) 플래쉬 파일 시스템
US6154808A (en) Method and apparatus for controlling data erase operations of a non-volatile memory device
US6134151A (en) Space management for managing high capacity nonvolatile memory
US5963983A (en) Method and apparatus for dynamically creating conversion tables to access a semiconductor memory device
JP2669365B2 (ja) 書換え可能なromファイル装置
US6477616B1 (en) Storage device, storage system, memory management method, recording medium, and computer data signal
US5946714A (en) Semiconductor storage device utilizing address management tables and table state maps for managing data storage and retrieval
US5953737A (en) Method and apparatus for performing erase operations transparent to a solid state storage system
JPH08263361A (ja) フラッシュメモリカード
JP2001521220A (ja) 改善されたフラッシュファイルシステム
US8595413B2 (en) Memory control method and device, memory access control method, computer program, and recording medium
GB2291990A (en) Flash-memory management system
WO2006093201A1 (ja) メモリモジュール、メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリの読み書き方法
JP2000510634A (ja) 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能
EP1228510A1 (en) Space management for managing high capacity nonvolatile memory
JPH08328762A (ja) 半導体ディスク装置及びそのメモリ管理方法
KR20040014971A (ko) 비휘발성 메모리의 제어방법
KR19990029196A (ko) 반도체 기억 장치 및 그 데이터 관리 방법
JPH11126488A (ja) フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置
KR100265266B1 (ko) 플래쉬 eeprom 을 구비하는 마이크로컴퓨터및 플래쉬 eeprom 의 소거방법
KR100437609B1 (ko) 반도체 메모리 장치의 어드레스 변환 방법 및 그 장치
EP0438808A2 (en) Microprocessor incorporating cache memory
JP3552490B2 (ja) フラッシュ型メモリを備えた記憶装置,フラッシュ型メモリの管理方法
JP3555456B2 (ja) フラッシュ型メモリの管理装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040413

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040426

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

Free format text: PAYMENT UNTIL: 20090514

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090514

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100514

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110514

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120514

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120514

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20120514

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120514

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 9

EXPY Cancellation because of completion of term