[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2006003966A - フラッシュメモリの書込方法 - Google Patents

フラッシュメモリの書込方法 Download PDF

Info

Publication number
JP2006003966A
JP2006003966A JP2004176939A JP2004176939A JP2006003966A JP 2006003966 A JP2006003966 A JP 2006003966A JP 2004176939 A JP2004176939 A JP 2004176939A JP 2004176939 A JP2004176939 A JP 2004176939A JP 2006003966 A JP2006003966 A JP 2006003966A
Authority
JP
Japan
Prior art keywords
writing
block
write
page
physical
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
JP2004176939A
Other languages
English (en)
Inventor
Momoto Watanabe
百人 渡邉
Hiroaki Sano
博明 佐野
Takahiro Urushi
貴弘 漆
Shoichi 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.)
OKI TECHNOCOLLAGE Inc
Oki Electric Industry Co Ltd
Original Assignee
OKI TECHNOCOLLAGE Inc
Oki Electric Industry Co 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 OKI TECHNOCOLLAGE Inc, Oki Electric Industry Co Ltd filed Critical OKI TECHNOCOLLAGE Inc
Priority to JP2004176939A priority Critical patent/JP2006003966A/ja
Priority to KR1020050006555A priority patent/KR20050119085A/ko
Priority to US11/055,996 priority patent/US20050278480A1/en
Priority to CNB2005100592791A priority patent/CN100428192C/zh
Publication of JP2006003966A publication Critical patent/JP2006003966A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61FFILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
    • A61F7/00Heating or cooling appliances for medical or therapeutic treatment of the human body
    • A61F7/007Heating or cooling appliances for medical or therapeutic treatment of the human body characterised by electric heating
    • AHUMAN NECESSITIES
    • A44HABERDASHERY; JEWELLERY
    • A44BBUTTONS, PINS, BUCKLES, SLIDE FASTENERS, OR THE LIKE
    • A44B18/00Fasteners of the touch-and-close type; Making such fasteners
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61FFILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
    • A61F7/00Heating or cooling appliances for medical or therapeutic treatment of the human body
    • A61F7/08Warming pads, pans or mats; Hot-water bottles
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H33/00Bathing devices for special therapeutic or hygienic purposes
    • A61H33/06Artificial hot-air or cold-air baths; Steam or gas baths or douches, e.g. sauna or Finnish baths
    • A61H33/066Cabins therefor
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H35/00Baths for specific parts of the body
    • A61H35/006Baths for specific parts of the body for the feet
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D23/00Control of temperature
    • G05D23/19Control of temperature characterised by the use of electric means
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B6/00Heating by electric, magnetic or electromagnetic fields
    • H05B6/02Induction heating
    • H05B6/36Coil arrangements
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61FFILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
    • A61F7/00Heating or cooling appliances for medical or therapeutic treatment of the human body
    • A61F2007/0001Body part
    • A61F2007/0039Leg or parts thereof
    • A61F2007/0045Foot
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61FFILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
    • A61F7/00Heating or cooling appliances for medical or therapeutic treatment of the human body
    • A61F2007/0086Heating or cooling appliances for medical or therapeutic treatment of the human body with a thermostat
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/02Characteristics of apparatus not provided for in the preceding codes heated or cooled
    • A61H2201/0207Characteristics of apparatus not provided for in the preceding codes heated or cooled heated
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2205/00Devices for specific parts of the body
    • A61H2205/12Feet
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61NELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
    • A61N5/00Radiation therapy
    • A61N5/06Radiation therapy using light
    • A61N2005/0658Radiation therapy using light characterised by the wavelength of light used
    • A61N2005/0659Radiation therapy using light characterised by the wavelength of light used infrared
    • A61N2005/066Radiation therapy using light characterised by the wavelength of light used infrared far infrared
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Veterinary Medicine (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Vascular Medicine (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Epidemiology (AREA)
  • Pain & Pain Management (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Rehabilitation Therapy (AREA)
  • General Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Automation & Control Theory (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

【課題】 ディジタルカメラの撮影画像をフラッシュメモリに書込む場合等において、書込時間の短縮が可能な書込方法を提供する。
【解決手段】 論理ブロックとフラッシュメモリ8の物理ブロックとの対応を示すアドレス変換テーブル11と、物理ブロック毎に有効なデータが書込まれているか否かを示すブロック状態テーブル12と、前回のデータ書込みの対象となった論理アドレス及び書込元と書込先の物理ブロック番号を保存するアドレスレジスタ13とを設ける。「書込開始」の場合は、書込元ブロックの前側のページを書込先ブロックにコピーした後に新規データを追加して書込む。「書込継続」の場合は、書込先ブロックに書込まれたデータに続くページに継続データを書込む。「書込終了」の場合は、書込先ブロックの未書込のページに、書込元ブロックの該当するページをコピーする。
【選択図】 図1

Description

本発明は、フラッシュメモリの書込方法であって、書込時間の短縮と書換え回数の軽減技術に関するものである。
特開2002−366430号公報 SSFDCフォーラム「スマートメディア ソフトウエア アルゴリズム ガイドライン(V1.00)」(2000.5.19)p.13-17
ディジタルカメラ等の記憶装置として、電源を切断した後も記憶内容が保持される不揮発性メモリの一種であるフラッシュメモリが普及している。フラッシュメモリにはNAND型とNOR型があるが、書込速度が速く大容量が容易に得られるNAND型が多用されている。しかし、NAND型のフラッシュメモリは、その構成上、読み書きのアクセスがページ単位(例えば、512バイト)でしか行えず、かつデータの消去は複数ページ(例えば、32ページ)を1つにまとめたブロック単位でしか行うことができない、という制約がある。
更に、フラッシュメモリは、高電圧の印加で浮遊ゲートに電荷を蓄積してデータを保持するため、消去と書込みの繰返し回数による寿命があり、特定のブロックでの書込みが多発すると、そのブロックへの正常な書込みができなくなり、ひいてはそのフラッシュメモリ全体が使用できなくなってしまう。
前記特許文献1には、複数の独立したフラッシュメモリを用い、1つのフラッシュメモリにデータを書込んだ後、直ちに別のフラッシュメモリに次のデータを書込む方法により、書込時間の実質的な短縮とブロック毎の使用頻度の平均化を図るものが記載されている。この方法では、複数の独立したフラッシュメモリを用意しなければならず、制御方法が複雑になるので、大容量のフラッシュメモリには向いていない。
前記非特許文献1には、スマートメディアと呼ばれるフラッシュメモリに対するデータ書込みの推奨方式として、論理ページを単位とする論理アドレスの指定により、ある論理ブロック内のページ7〜9のデータを書替える場合を例として、次のような方法が記載されている。
第1に、プロセッサからある論理アドレスのページ7〜9に対する書込み要求が行われたとき、指定された論理アドレスから論理ブロック番号を算出する。
第2に、論理ブロック番号とフラッシュメモリの物理ブロック番号との対応関係を示す対応テーブルを参照して、この論理ブロック番号に対応する物理ブロック番号(ここでは、書込元ブロックという)を特定する。
第3に、物理ブロック毎に有効なデータが書込まれているか否かを示す状態テーブルを参照して、有効なデータが書込まれていない物理ブロック(ここでは、書込先ブロックという)を検索し、この書込先ブロックのデータを消去する。
第4に、書込元ブロックのページ0〜6のデータを順次読出し、書込先ブロックのページ0〜6にそれぞれコピーする。
第5に、プロセッサから渡されたデータを、書込先ブロックのページ7〜9に順次書込む。
第6に、書込元ブロックのページ10〜31のデータを順次読出し、書込先ブロックのページ10〜31にそれぞれコピーする。
これにより、フラッシュメモリの記憶領域をブロック単位で管理することができるので、ページ単位での論理アドレスと物理ブロック番号及び物理ページ番号の対応テーブルや、物理ページ番号対応の状態テーブルを持つ必要がなくなり、大容量のメモリ管理が容易になる。
しかしながら、前記非特許文献1に記載されたデータ書込方法は、フラッシュメモリに対するランダムなページ単位の書替えを目的としているため、書換え対象外のページを、書込元ブロックから書込先ブロックへ無条件にコピーするようにしている。このため、データ書込み時には32ページ全部を書込む必要があり、書込時間の短縮ができないという課題があった。
本発明は、例えばディジタルカメラの撮影画像をフラッシュメモリに書込む場合等において、書込時間の短縮が可能な書込方法を提供することを目的としている。
本発明は、一定の記憶領域を有する物理ページ単位での書込みと連続する所定数の物理ページ毎に区分された物理ブロック単位での一括消去が可能なフラッシュメモリに対して、プロセッサから論理アドレスを指定すると共に書込開始、書込継続または書込終了のいずれかの動作指示が行われたときに、該プロセッサの指示に従ってデータの書込みを行うフラッシュメモリの書込方法において、前記論理アドレスから算出される論理ブロック番号と前記フラッシュメモリ上の物理ブロックとの対応を示すアドレス変換テーブルと、前記物理ブロック毎に有効なデータが書込まれているか否かを示すブロック状態テーブルと、前回のデータ書込みの対象となった論理アドレス及び書込元と書込先の物理ブロック番号を保存するアドレスレジスタとを設けている。
そして、書込開始の動作指示が行われたときには、前記指定された論理アドレスから論理ブロック番号及びそのブロック内のページ番号を算出する算出処理と、前記アドレス変換テーブルを参照して前記論理ブロック番号に対応する書込元物理ブロックを特定する物理ブロック特定処理と、前記ブロック状態テーブルを参照して有効なデータが書込まれていない書込先物理ブロックを取得する物理ブロック取得処理と、前記取得した書込先物理ブロックの記憶内容を消去する消去処理と、前記書込元物理ブロックにおける最初の物理ページから前記ページ番号の1つ前の物理ページまでを前記書込先物理ブロックにコピーするコピー処理と、前記書込先物理ブロックにおける前記ページ番号に対応する物理ページに前記プロセッサから指示されたデータを書込む新規書込処理を順次行う。
また、書込継続の動作指示が行われたときには、前記新規書込処理でデータを書込んだ前記書込先物理ブロックの物理ページの次のページに前記プロセッサから指示されたデータを書込む継続書込処理を行い、書込終了の動作指示が行われたときには、前記書込先物理ブロックにおける残りの全ページに前記書込元物理ブロックの対応するページをコピーする終了書込処理を行う。
本発明では、書込開始の動作指示が与えられたときには、書込元ブロックの前側のページを書込先ブロックにコピーした後に新規データを追加して書込み、書込継続の動作指示が与えられたときには、書込先ブロックに書込まれたデータに続くページに継続データを書込むようにしている。これにより、ディジタルカメラのように連続するアドレスのデータをフラッシュメモリに書込む場合に、従来の書込方法に比べて高速に書込むことができるという効果がある。
論理アドレスから算出される論理ブロック番号とフラッシュメモリ上の物理ブロックとの対応を示すアドレス変換テーブルと、物理ブロック毎に有効なデータが書込まれているか否かを示すブロック状態テーブルと、前回のデータ書込みの対象となった論理アドレス及び書込元と書込先の物理ブロック番号を保存するアドレスレジスタとを設け、プロセッサ側から「書込開始」、「書込継続」及び「書込終了」の動作指示を与える。「書込開始」の場合は、書込元ブロックの前側のページを書込先ブロックにコピーした後に新規データを追加して書込む。「書込継続」の場合は、書込先ブロックに書込まれたデータに続くページに継続データを書込む。「書込終了」の場合は、書込先ブロックの未書込のページに、書込元ブロックの該当するページをコピーする。
この発明の前記並びにその他の目的と新規な特徴は、次の好ましい実施例の説明を添付図面と照らし合わせて読むと、より完全に明らかになるであろう。但し、図面は、もっぱら解説のためのものであって、この発明の範囲を限定するものではない。
図1は、本発明の実施例を示すシステム構成図であり、フラッシュメモリを画像データ記録用の外部記憶装置として用いるディジタルカメラのシステム構成例を示している。
このシステムでは、全体の制御を行うプロセッサ1、制御用のプログラムが記憶された読出専用メモリ(ROM)2、撮影した画像データや処理途中のデータを一時的に記憶するランダムアクセスメモリ(RAM)3、光電変換によって画像データを取得する撮像素子(CCD)4、シャッターやモード切替スイッチ、或いはストロボ等の入出力装置(I/O)5が、システムバス6を介して接続されている。
また、このシステムには、システムバス6にインタフェース(IF)7を介して、外部記憶装置としてのフラッシュメモリ8が接続できるようになっている。フラッシュメモリ8は、例えば128MBの総記憶容量を有するNAND型のもので、8000個の物理ブロックで構成され、各物理ブロックは32ページを有し、各ページは512バイトの記憶領域を有している。フラッシュメモリ8は、8000×32(=256000)ページを有しており、このフラッシュメモリ8上のデータファイルをアクセスする場合、ページを単位とする“0”〜“255999”の論理アドレスで記憶場所を指定するようになっている。
一方、フラッシュメモリ8の8000個の物理ブロックは、論理アドレスに対して固定的に割当てられてはおらず、ファイルの更新に伴ってダイナミックに関係付けられるようになっている。
即ち、このシステムでは、フラッシュメモリ8上のデータファイルを管理するために、アドレス変換テーブル11、ブロック状態テーブル12及びアドレスレジスタ13を設けている。アドレス変換テーブル11は、論理アドレスから算出される論理ブロック番号(即ち、論理アドレスを32で割って得られた値で、少数以下を切り捨てた整数)に対応して、ダイナミックに関係付けられた物理ブロックの番号が書込まれたものである。
ブロック状態テーブル12は、物理ブロック毎に有効なデータが書込まれているか否かを示すもので、例えば、有効なデータが書込まれていれば1、書込まれていなければ0がセットされるようになっている。また、アドレスレジスタ13は、前回のデータ書込みの対象となった論理アドレス(即ち、論理ブロック番号とこのブロック内のページ番号)及び書込元と書込先の物理ブロック番号を保持するものである。
通常の動作状態では、これらのアドレス変換テーブル11、ブロック状態テーブル12及びアドレスレジスタ13は、RAM3上に置かれて随時更新されるようになっているが、電源を切断するとき、或いはフラッシュメモリ8をIF7から取外すときには、事前にフラッシュメモリ8の物理ブロック“0”に退避されるようになっている。また、フラッシュメモリ8がIF7を介して接続された時には、そのフラッシュメモリ8の物理ブロック“0”からテーブルやレジスタの内容が読出されてRAM3に書込まれるようになっている。
図2は、本発明の実施例を示すフラッシュメモリの書込方法のフローチャートであり、図3は、図2の書込方法の説明図である。以下、これらの図2及び図3に従い、図1におけるフラッシュメモリへのデータ書込方法を説明する。ここでは、プロセッサ1から論理アドレス“100”に対する書込開始と、論理アドレス“101”に対する書込継続が指示された場合を例に説明する。
(1) 書込開始処理
まず、論理アドレス“100”に対する書込開始が指示されると、図2のステップS1において、フラッシュメモリ8が書込可能な状態であるか否かが判定される。書込可能か否かは、フラッシュメモリ8から出力される信号線の状態で判定することができる。書込可能な状態になるまで待って、ステップS2へ進む。
ステップS2において、その指示が書込開始であるか否かが判定され、書込開始であればステップS3へ進み、それ以外であればステップS9へ進む。
ステップS3において、与えられた論理アドレス“100”から、論理ブロック番号とページ番号の算出が行われる。即ち、論理アドレス“100”を32で割ることにより、得られた商“3”が論理ブロック番号、余り“4”が論理ページ番号となる。言い換えると、2進数表示した論理アドレスの下5ビットが論理ページ番号であり、残りの上位ビットが論理ブロック番号である。これにより、図3(a)に示すように、書込開始モードとなる。
ステップS4において、アドレス変換テーブル11が参照され、書込元ブロックとして特定される。この場合、アドレス変換テーブル11の論理ブロック“3”に対応する物理ブロックは4となっているので、物理ブロック“4”が書込元ブロックとなる。
ステップS5において、ブロック状態テーブル12が参照され、書込先ブロックが取得される。この場合、ブロック状態テーブル12の物理ブロック“3”の状態が0、即ち有効なデータが書込まれていない状態となっているので、この物理ブロック“3”が書込先ブロックとなる。更に、物理ブロック“3”の全ページの内容が、書込処理のために一括して消去される。
ステップS6において、書込元ブロックの前側ページが書込先ブロックへコピーされる。即ち、書込元ブロックである物理ブロック“4”のページP0〜P3が、書込先ブロックである物理ブロック“3”の該当するページP0〜P3に、それぞれコピーされる。
ステップS7において、書込先ブロックへ新規データの追加書込みが行われる。即ち、書込先ブロックである物理ブロック“3”の、論理ページ番号で指定されたページP4に対して、プロセッサ1から与えられた新規書込データが書込まれる。これにより、書込先ブロックのページP0〜P4は書込済みとなり、ページP5〜P31は未書込状態に保持される。ステップS7の後、ステップS8へ進む。
ステップS8において、テーブル及びレジスタ類の更新が行われる。この場合、それまで論理ブロック“3”に対応していた物理ブロック“4”の内容が、物理ブロック“3”にコピーされたので、アドレス変換テーブル11において、論理ブロック“3”には物理ブロック“3”が対応付けられる。また、ブロック状態テーブル12では、物理ブロック“3”には有効なデータが書込まれた状態が設定され、物理ブロック“4”には有効なデータが書込まれていない状態が設定される。更に、アドレスレジスタ13には、今回の書込処理で使用された論理アドレス、書込元ブロック及び書込先ブロックの番号が保存される。ステップS8の処理により、書込開始処理は終了する。
(2) 書込継続処理
次に、論理アドレス“101”に対する書込継続が指示されると、ステップS1でフラッシュメモリ8が書込可能な状態であるか否かが判定された後、ステップS2,S9において、その指示が書込継続であるか否かが判定され、書込継続であればステップS10へ進み、それ以外であればステップS15へ進む。
ステップS10において、与えられた論理アドレス“101”が、アドレスレジスタ13に保存されている前回の論理アドレスの次のアドレスであるか確認される。これにより、図3(b)に示すように、書込継続モードとなる。
ステップS11において、アドレスレジスタ13に保存されている前回の論理アドレスのページ番号が最終ページ(即ち、P31)であるか否かが判定される。これは、前回書込みを行ったページが書込先ブロックの最終ページの場合、その書込先ブロックには書込可能なページが存在せず、新たな書込先ブロックを取得しなければならないからである。最終ページでない場合はステップS12へ進み、最終ページの場合はステップS13へ進む。
ステップS12において、前回書込みが行われたページの次のページ(ここでは、ページP5)に対して、プロセッサ1から与えられた継続データが書込まれる。これにより、書込先ブロックのページP0〜P5は書込済みとなり、ページP6〜P31は未書込状態に保持される。ステップS7の後、ステップS8へ進む。
一方、ステップS11において最終ページと判定された場合はステップS13へ進み、ステップS5と同様に書込先ブロックの取得と、このブロックの記憶内容の一括消去が行われる。更に、ステップS14において、書込先ブロックの先頭ページ(ページP0)に対して、プロセッサ1から与えられた継続データが書込まれる。ステップS14の後、ステップS8へ進む。
ステップS8において、テーブル及びレジスタ類の更新が行われ、これによって書込継続処理は終了する。
(3) 書込終了処理
論理アドレス“102”に対する書込終了が指示されると、ステップS1でフラッシュメモリ8が書込可能な状態であるか否かが判定された後、ステップS2,S9,S15において、その指示が書込終了であるか否かが判定され、書込終了であればステップS16へ進み、それ以外であれば直ちに書込処理は終了される。
ステップS16において、与えられた論理アドレス“102”がアドレスレジスタ13に保存されている前回の論理アドレスの次のアドレスであるか確認される。これにより、図3(c)に示すように、書込終了モードとなる。
ステップS17において、書込先ブロックである物理ブロック“3”の未書込のページP6〜P31に、書込元ブロックである物理ブロック“4”の該当するページP6〜P31がコピーされる。ステップS17の後、ステップS8へ進み、テーブル及びレジスタ類の更新が行われ、これによって書込終了処理は終了する。
なお、この書込終了処理は、論理ブロック中の特定のページのみを書替える場合に、前記書込開始処理や書込継続処理と合わせて行うものであり、ディジタルカメラの画像データを保存する場合のように、順次新しいデータを書込む場合には使用する必要はない。
このように、本実施例のフラッシュメモリの書込方法は、新規データの書込処理において、書込元ブロックの前側ページのみを書込先ブロックへコピーし、その次のページに新規データを書込んだ状態で書込処理を終了させている。従って、新規データに引続いて継続データの書込みを行う場合、その次の未書込のページに継続データを逐次書込むことができる。これにより、従来のように、書替えページ以外の書込元ブロックのページを全て書込先ブロックにコピーする必要がないので、書込時間を大幅に短縮することができるという利点がある。
また、ブロックの一括消去の頻度も減少するので、寿命が長くなるという利点がある。
なお、本発明は、上記実施例に限定されず、種々の変形が可能である。この変形例としては、例えば次のようなものがある。
(a) フラッシュメモリの適用システムはディジタルカメラに限定されない。
(b) フラッシュメモリの総記憶容量や、ブロックやページのサイズは例示したものに限定されない。
(c) 書込継続処理や書込終了処理における確認のステップS10,S16は、省略することができる。
(d) アドレスレジスタ13には、前回の書込処理で使用した論理アドレスや書込元及び書込先の物理ブロックの番号を保存しているが、次回の書込処理に備えた情報を保存するようにしても良い。
本発明の実施例を示すシステム構成図である。 本発明の実施例を示すフラッシュメモリの書込方法のフローチャートである。 図2の書込方法の説明図である。
符号の説明
1 プロセッサ
2 RAM
3 ROM
8 フラッシュメモリ
11 アドレス変換テーブル
12 ブロック状態テーブル
13 アドレスレジスタ

Claims (1)

  1. 一定の記憶領域を有する物理ページ単位での書込みと連続する所定数の物理ページ毎に区分された物理ブロック単位での一括消去が可能なフラッシュメモリに対して、プロセッサから論理アドレスを指定すると共に書込開始、書込継続または書込終了のいずれかの動作指示が行われたときに、該プロセッサの指示に従ってデータの書込みを行うフラッシュメモリの書込方法であって、
    前記論理アドレスから算出される論理ブロック番号と前記フラッシュメモリ上の物理ブロックとの対応を示すアドレス変換テーブルと、前記物理ブロック毎に有効なデータが書込まれているか否かを示すブロック状態テーブルと、前回のデータ書込みの対象となった論理アドレス及び書込元と書込先の物理ブロック番号を保存するアドレスレジスタとを設け、
    前記書込開始の動作指示が行われたときには、
    前記指定された論理アドレスから論理ブロック番号及びそのブロック内のページ番号を算出する算出処理と、
    前記アドレス変換テーブルを参照して前記論理ブロック番号に対応する書込元物理ブロックを特定する物理ブロック特定処理と、
    前記ブロック状態テーブルを参照して有効なデータが書込まれていない書込先物理ブロックを取得する物理ブロック取得処理と、
    前記取得した書込先物理ブロックの記憶内容を消去する消去処理と、
    前記書込元物理ブロックにおける最初の物理ページから前記ページ番号の1つ前の物理ページまでを前記書込先物理ブロックにコピーするコピー処理と、
    前記書込先物理ブロックにおける前記ページ番号に対応する物理ページに前記プロセッサから指示されたデータを書込む新規書込処理とを順次行い、
    前記書込継続の動作指示が行われたときには、
    前記新規書込処理でデータを書込んだ前記書込先物理ブロックの物理ページの次のページに前記プロセッサから指示されたデータを書込む継続書込処理を行い、
    前記書込終了の動作指示が行われたときには、
    前記書込先物理ブロックにおける残りの全ページに前記書込元物理ブロックの対応するページをコピーする終了書込処理を行う、
    ことを特徴とするフラッシュメモリの書込方法。
JP2004176939A 2004-06-15 2004-06-15 フラッシュメモリの書込方法 Pending JP2006003966A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004176939A JP2006003966A (ja) 2004-06-15 2004-06-15 フラッシュメモリの書込方法
KR1020050006555A KR20050119085A (ko) 2004-06-15 2005-01-25 플래시 메모리의 기록방법
US11/055,996 US20050278480A1 (en) 2004-06-15 2005-02-14 Method of writing data into flash memory
CNB2005100592791A CN100428192C (zh) 2004-06-15 2005-03-25 闪速存储器的写入方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004176939A JP2006003966A (ja) 2004-06-15 2004-06-15 フラッシュメモリの書込方法

Publications (1)

Publication Number Publication Date
JP2006003966A true JP2006003966A (ja) 2006-01-05

Family

ID=35461841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004176939A Pending JP2006003966A (ja) 2004-06-15 2004-06-15 フラッシュメモリの書込方法

Country Status (4)

Country Link
US (1) US20050278480A1 (ja)
JP (1) JP2006003966A (ja)
KR (1) KR20050119085A (ja)
CN (1) CN100428192C (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007279873A (ja) * 2006-04-04 2007-10-25 Matsushita Electric Ind Co Ltd データ記録装置
CN101464836B (zh) * 2007-12-20 2010-10-20 宇瞻科技股份有限公司 闪存储存装置的数据储存方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8275946B1 (en) * 2007-04-19 2012-09-25 Marvell International Ltd. Channel tags in memory components for optimizing logical to physical address translations
CN101419841B (zh) * 2008-12-09 2011-03-16 苏州大学 一种flash存储器擦写方法
EP2317442A1 (en) * 2009-10-29 2011-05-04 Thomson Licensing Solid state memory with reduced number of partially filled pages
JP2011192239A (ja) * 2010-03-17 2011-09-29 Sony Corp 記憶装置および記憶システム
CN102375779B (zh) * 2010-08-16 2015-08-19 深圳市朗科科技股份有限公司 一种数据处理方法以及数据处理模块
CN102426601B (zh) * 2011-11-09 2013-11-06 华为技术有限公司 数据删除方法和装置
CN103019946B (zh) * 2012-11-26 2016-06-01 北京北大众志微系统科技有限责任公司 一种访存指令的执行装置
KR101453951B1 (ko) * 2013-09-12 2014-10-23 엘아이지넥스원 주식회사 플래시 메모리를 이용한 운용시간 기록 시스템
CN107832236B (zh) * 2017-10-24 2021-08-03 记忆科技(深圳)有限公司 一种提高固态硬盘写性能的方法
CN109086006B (zh) * 2018-07-24 2021-10-15 浪潮电子信息产业股份有限公司 一种数据读取的方法以及相关装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100644602B1 (ko) * 2000-10-11 2006-11-10 삼성전자주식회사 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US6704852B2 (en) * 2001-11-16 2004-03-09 Key Technology Corporation Control device applicable to flash memory card and method for building partial lookup table
US6683817B2 (en) * 2002-02-21 2004-01-27 Qualcomm, Incorporated Direct memory swapping between NAND flash and SRAM with error correction coding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007279873A (ja) * 2006-04-04 2007-10-25 Matsushita Electric Ind Co Ltd データ記録装置
CN101464836B (zh) * 2007-12-20 2010-10-20 宇瞻科技股份有限公司 闪存储存装置的数据储存方法

Also Published As

Publication number Publication date
KR20050119085A (ko) 2005-12-20
CN100428192C (zh) 2008-10-22
CN1713160A (zh) 2005-12-28
US20050278480A1 (en) 2005-12-15

Similar Documents

Publication Publication Date Title
US7057942B2 (en) Memory management device and memory device
US6154808A (en) Method and apparatus for controlling data erase operations of a non-volatile memory device
JP2008033788A (ja) 不揮発性記憶装置、データ記憶システム、およびデータ記憶方法
JP2006003966A (ja) フラッシュメモリの書込方法
JPWO2007116476A1 (ja) メモリカードおよびデータの書き込み方法
JP5057887B2 (ja) データ更新装置及びデータ更新方法及びデータ更新プログラム
JP4501881B2 (ja) メモリコントローラ及びフラッシュメモリシステム
US7657697B2 (en) Method of controlling a semiconductor memory device applied to a memory card
JP4513786B2 (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
JP2005115562A (ja) フラッシュrom制御装置
JP4910426B2 (ja) 不揮発性記憶装置の書込み方法
JP4235646B2 (ja) メモリコントローラおよびフラッシュメモリシステム
JP4609406B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2006155335A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2007034581A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4710274B2 (ja) メモリ装置、メモリ装置の制御方法およびデータ処理システム
JP4888333B2 (ja) フラッシュディスク装置
JP4661748B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2004296014A (ja) 不揮発性メモリの消去回数平準化方法
JP2005292925A (ja) メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2006338083A (ja) メモリコントローラ
JP4213166B2 (ja) メモリコントローラおよびフラッシュメモリシステム
JP4985108B2 (ja) データ記憶装置およびその制御方法
JP2006244017A (ja) データコピー方法
JP4497124B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060825

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20081126

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091027

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100309