JP2010044504A - フラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法 - Google Patents

フラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法 Download PDF

Info

Publication number
JP2010044504A
JP2010044504A JP2008207122A JP2008207122A JP2010044504A JP 2010044504 A JP2010044504 A JP 2010044504A JP 2008207122 A JP2008207122 A JP 2008207122A JP 2008207122 A JP2008207122 A JP 2008207122A JP 2010044504 A JP2010044504 A JP 2010044504A
Authority
JP
Japan
Prior art keywords
data
page
flash memory
writing
current page
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
JP2008207122A
Other languages
English (en)
Inventor
Keita Hattori
啓太 服部
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.)
Hitachi Cable Ltd
Original Assignee
Hitachi Cable 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 Hitachi Cable Ltd filed Critical Hitachi Cable Ltd
Priority to JP2008207122A priority Critical patent/JP2010044504A/ja
Priority to US12/538,262 priority patent/US20100037008A1/en
Publication of JP2010044504A publication Critical patent/JP2010044504A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • 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/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

【課題】フラッシュメモリに保存しているデータの書き込みを行う場合の新しいデータの書き込み、古いデータの消去の一連の動作時に、停電などの事故があったときでも、フラッシュメモリに書き込み前のデータが保存されている状態または書き込み後の新しいデータが保存されている状態に復元できるフラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法を提供する。
【解決手段】フラッシュメモリを用いた装置1において、フラッシュメモリ11は記憶領域として少なくとも3つのページ2a,2b,2c…を備え、各ページ2a,2b,2c…の記憶領域が、書き込まれる正データの2倍以上の容量を有し、現在のページ2aの記憶領域のみにデータDpが書き込まれている状態で、新しいデータを書き込むとき、次のページ2bの記憶領域に新しいデータDfを書き込んだ後、現在のページ2aのデータDpを消去するものである。
【選択図】図1

Description

本発明は、フラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法に関する。
近年、電子機器に備えられたMCU(Micro Controller Unit)などのコントローラには、電子機器で使用する各種のデータを記憶するためのフラッシュメモリ(フラッシュROM)が内蔵されている。このフラッシュメモリは、大量のデータを一括処理するのに向いているため、コントローラにEEPROM(Electrical Erasable Programmable Read Only Memory)を外付けし、そのEEPROMで少数のデータを処理することが従来から広く行われている。
なお、この出願の発明に関連する先行技術文献情報としては、次のものがある。
特開2007−72695号公報 特開2007−41798号公報 特開平11−272566号公報 特開平10−161942号公報 特開平10−124403号公報 特開平8−30515号公報 特開平10−97475号公報 特開2002−268955号公報 特開2003−157204号公報 特開2005−339450号公報
しかし、従来から使用されているEEPROMは、コントローラに外付けして設けられるため、電子機器の部品点数が増えて電子機器が大型になったり、回路基板の実装面積が大きくなったりする問題がある。
また、EEPROMはセル面積が大きいので、製造コスト面では不利であり、EEPROMを用いると電子機器が高価になりやすい。
そこで、EEPROMに保存していたデータを、MCUに内蔵されているフラッシュメモリに保存することで、部品点数やコストの低減を図ることが提案されている。
図4に従来のフラッシュメモリを用いた装置41の動作を示す。
(ステップS42)「Start」
スタートする。
(ステップS43)「書き込み要求あり?」
フラッシュメモリへの新しいデータの書き込み要求があるかどうかを判断する。
(ステップS44)「ページを消去」
書き込み要求がある場合(Yes)、フラッシュメモリのページに保存されているデータを消去する。
(ステップS45)「ページへ新しいデータを書き込み」
そのページに新しいデータを書き込む。
(ステップS46)「End」
終了する。
(ステップS46)「End」
ステップS43において書き込み要求がない場合(No)には、終了する。
しかしながら、従来のフラッシュメモリを用いた装置41は、フラッシュメモリがページ単位でデータを一括消去する構造であるため、ステップS44のページに保存されたデータを消去する時やステップS45のページに新しいデータを書き込む時に、途中で停電などの事故があった場合、データが失われてしまい、最悪すべてのデータが破壊されるという問題がある。
そこで、本発明の目的は、フラッシュメモリにデータの書き込みを行う場合の新しいデータの書き込み、古いデータの消去の一連の動作時に、停電などの事故があったときでも、フラッシュメモリに書き込み前のデータが保存されている状態または書き込み後の新しいデータが保存されている状態に復元できるフラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法を提供することにある。
前記目的を達成するために創案された請求項1に係る発明は、フラッシュメモリを用いた装置において、前記フラッシュメモリは記憶領域として少なくとも3つのページを備え、現在のページにデータが書き込まれている状態で、次のページに新しいデータを書き込んだ後、前記現在のページのデータを消去することを特徴とするフラッシュメモリを用いた装置である。
請求項2に係る発明は、電源を投入したとき、前記現在のページのデータが壊れていないかどうかを判断し、そのデータが壊れていない場合、前記次のページの新しいデータが壊れていないかどうかを判断し、その新しいデータも壊れていない場合、前記現在のページのデータを消去する請求項1記載のフラッシュメモリを用いた装置である。
請求項3に係る発明は、前記各ページへのデータの書き込みは所定の順序で循環に行われる請求項1または2記載のフラッシュメモリを用いた装置である。
請求項4に係る発明は、データとして正データと該正データの反転データとを保存する請求項1〜3いずれかに記載のフラッシュメモリを用いた装置である。
請求項5に係る発明は、フラッシュメモリを用いた装置のフラッシュメモリへのデータの書き込み方法において、前記フラッシュメモリは記憶領域として少なくとも3つのページを備え、現在のページにデータが書き込まれている状態で、次のページに新しいデータを書き込んだ後、前記現在のページのデータを消去することを特徴とするフラッシュメモリを用いた装置のフラッシュメモリへのデータの書き込み方法である。
本発明によれば、フラッシュメモリにデータの書き込みを行う場合の新しいデータの書き込み、古いデータの消去の一連の動作時に、停電などの事故があったときでも、フラッシュメモリに書き込み前のデータが保存されている状態または書き込み後の新しいデータが保存されている状態に復元できる。
以下、本発明の好適な実施形態を添付図面にしたがって説明する。
図1は、本発明の好適な実施形態を示すフラッシュメモリを用いた装置の主要部の構成図と、その書き込み方法の一例を説明する図であり、図1(a)は定常状態、図1(b)は書き込み中、図1(c)は書き込み完了、図1(d)は消去中を示す。
図1(a)〜図1(d)に示すように、本実施形態に係るフラッシュメモリを用いた装置1は、1つのフラッシュメモリ11を備える。このフラッシュメモリ11は、記憶領域として3つのページ2a,2b,2cを備える。フラッシュメモリ11は、記憶領域を4つ以上備えていても良い。
本実施形態では、各ページ2a,2b,2cの記憶領域が、実際のデータである正データの2倍以上の容量を有する。ページには正データと、正データの各ビットを反転した反転データを保存する。1つのページサイズは、正データ、反転データ、順次増加する新しいデータ、冗長部Rに格納される管理情報などの冗長データが格納できる容量とする。
ページ2a,2b,2cの記憶領域は、フラッシュメモリ11に、メモリのアドレス上位からページ2a,2b,2cの順で設けられる。電源を投入したときの初期動作では、アドレス最上位のページ2aにアクセスしにいく。通常の動作時では、ページ2a,2b,2c,2a,2b…のように所定の順序で循環にアクセスする。
例えば、図1(a)のような定常状態において、ページ2bにデータが保存されてページ2bが現在のページであるとすると、その後のデータ書き込み順序は、ページ2c、ページ2a、ページ2bとなり、3つのページ2a〜2c間で循環する。
フラッシュメモリ11としては、NAND型でもNOR型でも使用できるが、本実施形態では、大容量化が容易なNAND型フラッシュメモリを用いた。
以下の説明において、「現在のページ」とは、定常状態においてデータが保存されているページであり、「次のページ」とは、ページへのアクセス順序において「現在のページ」の次にアクセスされるページであり、「前のページ」とは、「現在のページ」の前にアクセスされたページである。
フラッシュメモリを用いた装置1では、3つのページ2a、ページ2b、ページ2cのうちいずれかに現在のページとしてデータが保存されており、他のページ(前のページと次のページ)の記憶領域のデータは消去されている。新しいデータの書き込みを行う場合、新しいデータを次のページの記憶領域に書き込んだ後、現在のページのデータを消去する。以後同様に、さらなる新しいデータを書き込むページを順次変更していく。
フラッシュメモリを用いた装置1には、フラッシュメモリ11の他にも、図示しないRAM(例えば、後述する図3参照)を備える。新しいデータの書き込みを行う場合、例えば、ライタなどのプログラム機器、あるいは電子機器に備えられたMCUなどの制御手段(コントローラ)を用いて、RAMに現在のページのデータをいったんコピーし、そのコピーしたデータに変更分のデータを加えて新しいデータとし、この新しいデータをRAMから読み出し、これを次のページの記憶領域に書き込む。新しいデータ全てを外部からRAMに記憶しても良い。
正データの例として、電子機器の1〜3月までの合計使用時間などがある。この場合、変更分のデータの例として、電子機器の4月中の合計使用時間であり、新しいデータは、電子機器の1〜4月までの合計使用時間である。
フラッシュメモリを用いた装置1では、ページに保存されたデータが壊れていないかどうかを判断する。本実施形態では、ページに保存された正データと、反転データとが整合するか否かを判断する。整合する場合は、そのページに正しく正データと反転データが保存されている。したがって、データは壊れていないと判断される。整合しない場合は、そのページに正しく正データと反転データが保存されていない。したがって、データは壊れていると判断される。ここで整合するとは、正データと、反転データの反転とが同じであることをいう。
次に、フラッシュメモリを用いた装置1の書き込み方法の動作を図1(a)〜図1(d)、図2(a)および図2(b)を用いて説明する。
図1(a)における書き込み動作前の定常状態は、ページ2bが現在のページであり、ページ2aが前のページであり、ページ2cが次のページである。現在のページであるページ2bには正データDp+と反転データDp−とからなるデータDpが保存されている。ページ2aとページ2cは消去済み(すべて1)である。
フラッシュメモリを用いた装置1の新しいデータの書き込みの一連の動作(データ消去、データ書き込み、ページ計算、判断)は、ライタなどのプログラム機器、あるいは電子機器に備えられたMCUなどの制御手段で行う。
新しいデータの書き込み動作;
(ステップS20a)「Start」
図2(a)に示すように、フラッシュメモリを用いた装置1は、現在のページ(ページ2b)にデータDpが保存されている定常状態(図1(a))からスタートする。
(ステップS21a)「書き込み要求あり?」
フラッシュメモリ11に新しいデータDfの書き込み要求があるかどうかを判断する。
(ステップS22a)「次のページを計算」
書き込み要求がある場合(Yes)、次のページを計算する。図1(a)において、現在のページはページ2bであるため、アクセス順序により、ページ2cが次のページとなる。
(ステップS23a)「次のページに新しい正データと反転データを書き込む」
次のページ(ページ2c)に新しいデータDfの正データDf+と反転データDf−を書き込む(図1(b))。本実施形態では、正データDf+、反転データDf−の順に書き込む(書き込む順を逆にしても以降の動作は同様)。
(ステップS24a)「現在のページを消去」
現在のページ(ページ2b)のデータDpを消去する。本実施形態では、正データDp+、反転データDp−の順に消去する(消去順を逆にしても以降の動作は同様)。
(ステップS25a)「次のページを現在のページとする」
そして、次のページ(ページ2c)を現在のページとする。
(ステップS26a)「End」
終了する。
(ステップS26a)「End」
ステップS21aで書き込み要求がない場合(No)には、終了する。
フラッシュメモリを用いた装置1は、図2(a)で説明したデータ書き込み中に、停電、電源OFFなどの障害(事故)が発生し、その障害が復旧した時(電源再投入時など)、図2(b)に示した動作を行う。
電源OFFの状態から電源を投入したときの動作;
(ステップS20b)「Start」
電源を投入してスタートする。
(ステップS21b)「現在のページを初期化する」
現在のページを初期化する。図1の実施形態では、電源を投入したとき、フラッシュメモリ11のアドレス最上位であるページ2aにアクセスし、ページ2aを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページの正データと反転データが整合しているかを検査する。
(ステップS23b)「整合している?」
現在のページの正データと反転データが整合しているか否かを判断する。
(ステップS24b)「次のページを計算し、それを現在のページとする」
整合していない場合(No)には、次のページを計算し、それを現在のページとし、ステップS22bに戻る。
(ステップS25b)「次のページを計算し、次のページも正データと反転データが整合しているか検査する」
現在のページのデータが整合している場合(Yes)は、次のページを計算し、次のページの正データと反転データが整合しているか検査する。
(ステップS26b)「整合している?」
次のページの正データと反転データが整合しているか否かを判断する。
(ステップS27b)「次のページを現在のページとする」
次のページの正データと反転データが整合している場合(Yes)は、次のページを現在のページとする。
(ステップS28b)「他のページを全消去」
他のページ(前のページと次のページ)を全消去する。
(ステップS29b)「End」
終了する。
(ステップS30b)「他のページを全消去」
ステップS26bにおいて次のページの正データと反転データが整合していない場合(No)には、他のページ(前のページと次のページ)を全消去する。
(ステップS29b)「End」
終了する。
ここで、フラッシュメモリを用いた装置1に、途中で電源がOFFになるなどの障害が発生したとき、どのようにデータを復元することができるかを、図1(a)〜図1(d)を用いて、より詳細に説明する。
電源がOFFとなるタイミングは、図1(a)の定常状態、図1(b)の書き込み中、図1(c)の書き込み完了、図1(d)の消去中の4つに分けられる。データの復元の動作は、図2(b)で説明したフローチャートにしたがって行う。
図1(a)の定常状態で電源OFFとなった時の復元動作;
(ステップS20b)「Start」
電源を投入する。
(ステップS21b)「現在のページを初期化する」
フラッシュメモリ11のアドレス最上位であるページ2aにアクセスし、ページ2aを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2aの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2aは消去済み(すべて1)であるため整合していないと判断する。
(ステップS24b)「次のページを計算し、それを現在のページとする」
アクセス順序により次のページであるページ2bを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2bの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2bに正データDp+と反転データDp−が保存されているため整合していると判断する。
(ステップS25b)「次のページを計算し、次のページも正データと反転データが整合しているか検査する」
アクセス順序により次のページはページ2cであり、次のページであるページ2cの正データと反転データが整合しているかを検査する。
(ステップS26b)「整合している?」
ページ2cは消去済み(すべて1)であるため整合していないと判断する。
(ステップS30b)「他のページを全消去」
他のページ(前のページと次のページ)であるページ2aとページ2cを全消去する。
(ステップS29b)「End」
終了する。
これにより、ページ2bを現在のページとする図1(a)の定常状態に復元される。
図1(b)の書き込み中に電源OFFとなった時の復元動作;
(ステップS20b)「Start」
電源を投入する。
(ステップS21b)「現在のページを初期化する」
フラッシュメモリ11のアドレス最上位であるページ2aにアクセスし、ページ2aを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2aの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2aは消去済み(すべて1)であるため整合していないと判断する。
(ステップS24b)「次のページを計算し、それを現在のページとする」
アクセス順序により次のページであるページ2bを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2bの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2bに正データDp+と反転データDp−が保存されているため整合していると判断する。
(ステップS25b)「次のページを計算し、次のページも正データと反転データが整合しているか検査する」
アクセス順序により次のページはページ2cであり、次のページであるページ2cの正データと反転データが整合しているかを検査する。
(ステップS26b)「整合している?」
ページ2cはデータの一部しか保存されていないため整合していないと判断する。
(ステップS30b)「他のページを全消去」
他のページ(前のページと次のページ)であるページ2aとページ2cを全消去する。
(ステップS29b)「End」
終了する。
これにより、ページ2bを現在のページとする図1(a)の定常状態に復元される。
図1(c)の書き込み完了時に電源OFFとなった時の復元動作;
(ステップS20b)「Start」
電源を投入する。
(ステップS21b)「現在のページを初期化する」
フラッシュメモリ11のアドレス最上位であるページ2aにアクセスし、ページ2aを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2aの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2aは消去済み(すべて1)であるため整合していないと判断する。
(ステップS24b)「次のページを計算し、それを現在のページとする」
アクセス順序により次のページであるページ2bを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2bの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2bに正データDp+と反転データDp−が保存されているため整合していると判断する。
(ステップS25b)「次のページを計算し、次のページも正データと反転データが整合しているか検査する」
アクセス順序により次のページはページ2cであり、次のページであるページ2cの正データと反転データが整合しているかを検査する。
(ステップS26b)「整合している?」
ページ2cは正データDf+と反転データDf−が保存されているため整合していると判断する。
(ステップS27b)「次のページを現在のページとする」
次のページであるページ2cを現在のページとする。
(ステップS28b)「他のページを全消去」
他のページ(前のページと次のページ)であるページ2bとページ2aを全消去する。
(ステップS29b)「End」
終了する。
これにより、新しいデータが保存されたページ2cを現在のページとする定常状態に復元される。
図1(d)の消去中に電源OFFとなった時の復元動作;
電源を投入する。
(ステップS21b)「現在のページを初期化する」
フラッシュメモリ11のアドレス最上位であるページ2aにアクセスし、ページ2aを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2aの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2aは消去済み(すべて1)であるため整合していないと判断する。
(ステップS24b)「次のページを計算し、それを現在のページとする」
アクセス順序により次のページであるページ2bを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2bの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2bは正データと反転データの一部しか保存されていないため整合していないと判断する。
(ステップS24b)「次のページを計算し、それを現在のページとする」
アクセス順序により次のページであるページ2cを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2cの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2cは正データDf+と反転データDf−が保存されているため整合していると判断する。
(ステップS25b)「次のページを計算し、次のページも正データと反転データが整合しているか検査する」
アクセス順序により次のページはページ2aであり、次のページであるページ2aの正データと反転データが整合しているかを検査する。
(ステップS26b)「整合している?」
ページ2aは消去済み(すべて1)であるため整合していないと判断する。
(ステップS30b)「他のページを全消去」
他のページ(前のページと次のページ)であるページ2bとページ2aを全消去する。
(ステップS29b)「End」
終了する。
これにより、新しいデータが保存されたページ2cを現在のページとする定常状態に復元される。
上記の通り、本実施形態のフラッシュメモリを用いた装置1によれば、定常状態および書き込み中、書き込み完了、消去中の一連の新しいデータの書き込み動作中において、停電や電源OFFなどの障害があっても、現在のページに正データと反転データが保存された状態に復元できる。
なお、図2(b)の動作は、フラッシュメモリを用いた装置1を搭載した電子機器の交換時や初期の取り付け時の、交換後又は取り付け後の電源投入時にも適用される。電子機器の製品出荷時、フラッシュメモリにデータが保存されない(必要としない)ケースがある。この場合、フラッシュメモリの3つのページのいずれにもデータが保存されていないため、図2(b)の動作はループし終了しない。これに対し、製品出荷時に、フラッシュメモリの1つのページにダミーのデータを保存しておき、図1(a)に示すような定常状態に設定しておくと良い。また、図2(b)の動作において、3つのページ全てが整合しない場合、所定のページ(例えば、ページ2a)を現在のページとして終了する手順を含めるようにしても良い。
フラッシュメモリを用いた装置1では、フラッシュメモリ11とは別に外付けEEPROMを必要としないため、部品点数削減による高密度実装とコスト低減を実現できる。
また、フラッシュメモリを用いた装置1では、3つのページ2a,2b,2cを用いることにより、図2(b)のフローチャートの示す手順で、現在のページに正データと反転データが保存された状態に復元することができる。2つのページを用いる場合、書き込み完了時の2つのページ両方にデータが保存されている状態で電源OFFとなったとき、どちらに新しいデータが保存されているかを判断して復元することができない。したがって、2つのページにページ番号を記憶する領域を設けて、一方のページに新しいデータを書き込む時、新しいページ番号を同時に書き込み記憶させる必要が生じる。本実施形態のフラッシュメモリを用いた装置1では、各ページにページ番号を記憶する領域を設け、各ページにページ番号を記憶させることを行う必要はない。フラッシュメモリを用いた装置1は、所定の手順によって、新しいデータの書き込み完了前に電源OFFとなった時には元のデータを保存しているページを現在のページとして定常状態に復元し、新しいデータの書き込み完了後に電源OFFとなった場合は新しいデータを保存しているページを現在のページとして定常状態に復元することができる。
フラッシュメモリを用いた装置1を搭載した電子機器の一例としての光モジュールを、図3を用いて説明する。
図3に示すように、光モジュール31は、MCUにフラッシュメモリを用いた装置1を内蔵した1チップの制御手段32で動作が制御される伝送速度が10Gbit/s以上のSFP(Small Form Factor Pluggable)型の光送受信器である。
この光モジュール31は、電気信号を光信号に変換して送信するTOSA(光送信サブアセンブリ)などの光送信部33tと、その光送信部33tが有するLD(半導体レーザ)を駆動・変調するためのドライバを有する駆動部34と、受信した光信号を電気信号に変換するROSA(光受信サブアセンブリ)などの光受信部33rと、光受信部33rが有するPD(フォトダイオード)からの電気信号を増幅するアンプなどの増幅部35とを備える。
図3の例では、ROSA33rと増幅部35を別体で構成したが、ROSA内に増幅部が含まれるように構成してもよい。
制御手段32には、光送信部33t、駆動部34、光受信部33r、増幅部35がそれぞれ接続され、これら各部品と制御手段32間で低速制御・状態信号が伝送される。光送信部33tには光伝送路として送信用光ファイバ36tが接続され、光受信部33rには光伝送路として受信用光ファイバ36rが接続される。
光モジュール31は、カードエッジコネクタ37を有し、スイッチングハブやメディアコンバータなどの上位機器に挿抜自在に設けられる。このため、上位機器と、制御手段32、光送信部33t、光受信部33rとがそれぞれ電気的に接続され、これら各部品と上位機器間でも低速制御・状態信号が伝送される。また、上位機器と、駆動部34、増幅部35とがそれぞれ電気的に接続され、これらと上位機器間では高速伝送信号が伝送される。
光モジュール31では、制御手段32の本発明に係るフラッシュメモリ(Flush ROM)1にファームウェア(組み込みソフトウェア)を保存する。従来、外付けのEEPROMにファームウェアを保存していた。本発明のフラッシュメモリを用いた装置1を用いると、ファームウェアを記憶したフラッシュメモリを備えた1チップMCUによって実現することで、従来の外付けEEPROM削減による高密度実装およびコスト削減を図りながら、故障時の保存データの復元を行うことができる。したがって、光モジュール31にフラッシュメモリを用いた装置1を用いると有用である。
光モジュール31において、前述した正データの一例としては、光モジュール31の種類、製造日などの初期特性データや、累積使用時間、エラー信号の履歴などのユーザによって書き込まれるユーザデータなどがある。
図1は、本発明の好適な実施形態を示すフラッシュメモリを用いた装置の主要部の構成図と、その書き込み方法の一例を説明する図であり、図1(a)は定常状態、図1(b)は書き込み中、図1(c)は書き込み完了、図1(d)は消去中を示す。 図2(a)は図1のフラッシュメモリを用いた装置の書き込み動作を説明するフローチャート、図2(b)は電源を投入したときの動作のフローチャートである。 図1に示したフラッシュメモリを用いた装置を搭載した電子機器として、光モジュールの一例を示すブロック図である。 従来のフラッシュメモリを用いた装置の動作を説明するフローチャートである。
符号の説明
1 フラッシュメモリを用いた装置
2a,2b,2c ページ
11 フラッシュメモリ
Dp データ
Df 新しいデータ

Claims (5)

  1. フラッシュメモリを用いた装置において、
    前記フラッシュメモリは記憶領域として少なくとも3つのページを備え、
    現在のページにデータが書き込まれている状態で、次のページに新しいデータを書き込んだ後、前記現在のページのデータを消去することを特徴とするフラッシュメモリを用いた装置。
  2. 電源を投入したとき、前記現在のページのデータが壊れていないかどうかを判断し、そのデータが壊れていない場合、前記次のページの新しいデータが壊れていないかどうかを判断し、その新しいデータも壊れていない場合、前記現在のページのデータを消去する請求項1記載のフラッシュメモリを用いた装置。
  3. 前記各ページへのデータを書き込みは所定の順序で循環に行われる請求項1または2記載のフラッシュメモリを用いた装置。
  4. データとして正データと該正データの反転データとを保存する請求項1〜3いずれかに記載のフラッシュメモリを用いた装置。
  5. フラッシュメモリを用いた装置のフラッシュメモリへのデータの書き込み方法において、
    前記フラッシュメモリは記憶領域として少なくとも3つのページを備え、
    現在のページにデータが書き込まれている状態で、次のページに新しいデータを書き込んだ後、前記現在のページのデータを消去することを特徴とするフラッシュメモリを用いた装置のフラッシュメモリへのデータの書き込み方法。
JP2008207122A 2008-08-11 2008-08-11 フラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法 Pending JP2010044504A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008207122A JP2010044504A (ja) 2008-08-11 2008-08-11 フラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法
US12/538,262 US20100037008A1 (en) 2008-08-11 2009-08-10 Apparatus with a flash memory and method for writing data to the flash memory thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008207122A JP2010044504A (ja) 2008-08-11 2008-08-11 フラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法

Publications (1)

Publication Number Publication Date
JP2010044504A true JP2010044504A (ja) 2010-02-25

Family

ID=41653967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008207122A Pending JP2010044504A (ja) 2008-08-11 2008-08-11 フラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法

Country Status (2)

Country Link
US (1) US20100037008A1 (ja)
JP (1) JP2010044504A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015200945A (ja) * 2014-04-04 2015-11-12 Necプラットフォームズ株式会社 フラッシュメモリ制御装置、フラッシュメモリ内蔵機器、フラッシュメモリ制御方法、及びそのためのプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9397754B2 (en) * 2012-07-25 2016-07-19 Finisar Corporation Linecards with pluggable interfaces for pluggable optical amplifiers and other pluggable devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09293028A (ja) * 1996-04-26 1997-11-11 Toyota Motor Corp 半導体記憶装置
JP2004341783A (ja) * 2003-05-15 2004-12-02 Canon Finetech Inc データ記憶方法、及びデータ記憶装置
JP2005235028A (ja) * 2004-02-23 2005-09-02 Sony Corp 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
JP2006085342A (ja) * 2004-09-15 2006-03-30 Sony Corp メモリ制御装置、メモリ制御方法、プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974461A (en) * 1996-06-03 1999-10-26 Webtv Networks, Inc. Method for automatically regenerating information at a client system in the event of power or communication disruption between the client system and the server
US5940074A (en) * 1996-06-03 1999-08-17 Webtv Networks, Inc. Remote upgrade of software over a network
JP2002351685A (ja) * 2001-05-22 2002-12-06 Sankyo Seiki Mfg Co Ltd 不揮発性メモリのデータ更新方法及び制御装置
US6977847B2 (en) * 2001-11-23 2005-12-20 M-Systems Flash Disk Pioneers Ltd. Detecting partially erased units in flash devices
KR100645044B1 (ko) * 2004-09-17 2006-11-10 삼성전자주식회사 높은 신뢰도를 갖는 불 휘발성 메모리 장치의 프로그램 방법
KR100631765B1 (ko) * 2004-10-18 2006-10-09 삼성전자주식회사 플래시 메모리의 데이터 처리 장치 및 방법
JP4066381B2 (ja) * 2005-03-01 2008-03-26 三菱電機株式会社 車載電子制御装置
US8041883B2 (en) * 2007-05-09 2011-10-18 Stmicroelectronics S.R.L. Restoring storage devices based on flash memories and related circuit, system, and method
DE102008035095A1 (de) * 2008-07-28 2010-02-11 Vincotech (Germany) Gmbh Verfahren und Vorrichtung um Änderungen an Daten zu erkennen
CN101930387A (zh) * 2009-06-19 2010-12-29 上海惠普有限公司 用于更新压缩只读文件系统的改进的容错方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09293028A (ja) * 1996-04-26 1997-11-11 Toyota Motor Corp 半導体記憶装置
JP2004341783A (ja) * 2003-05-15 2004-12-02 Canon Finetech Inc データ記憶方法、及びデータ記憶装置
JP2005235028A (ja) * 2004-02-23 2005-09-02 Sony Corp 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
JP2006085342A (ja) * 2004-09-15 2006-03-30 Sony Corp メモリ制御装置、メモリ制御方法、プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015200945A (ja) * 2014-04-04 2015-11-12 Necプラットフォームズ株式会社 フラッシュメモリ制御装置、フラッシュメモリ内蔵機器、フラッシュメモリ制御方法、及びそのためのプログラム

Also Published As

Publication number Publication date
US20100037008A1 (en) 2010-02-11

Similar Documents

Publication Publication Date Title
KR102232922B1 (ko) 쓰기 보조 회로를 포함하는 스태틱 랜덤 액세스 메모리 장치
US9697076B2 (en) Data storage device and error correction method thereof
CN100530413C (zh) 非易失性半导体存储装置、电子卡及电子装置
JP4679370B2 (ja) データ処理装置並びにメモリカードの設定方法
JP4901334B2 (ja) メモリコントローラ
JP3233079B2 (ja) データ処理システム及びデータ処理方法
US8897092B2 (en) Memory storage device, memory controller and controlling method
JP2004094948A (ja) Sata貯蔵装置
US20080046778A1 (en) Memory controller and semiconductor memory device
US6345333B1 (en) Method and apparatus for reverse rewriting
CN110197696B (zh) 电子装置、非暂时性计算机可读存储介质以及控制方法
JP2018055759A (ja) メモリシステム
JP2007241618A (ja) 不揮発性記憶装置及びその書き込み判定方法
JP2010079856A (ja) 記憶装置およびメモリ制御方法
JP2010044504A (ja) フラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法
US20210326060A1 (en) Nonvolatile memory device, data storage device including the same and operating method thereof
US7921340B2 (en) Nonvolatile memory device, nonvolatile memory system, and defect management method for nonvolatile memory device
US9025379B2 (en) Semiconductor device and method of operating the same
US8406069B2 (en) Data writing method and writing device for an electronic erasable read only dynamic memory
US20070279983A1 (en) Semiconductor memory device and data transmission method thereof
KR20180078426A (ko) 데이터 저장 장치의 에러 정정 코드 처리 방법
CN109933282B (zh) 存储器系统及其操作方法
JP4742553B2 (ja) 記憶装置
JP6679971B2 (ja) 記憶装置、液体容器及びホスト装置
KR20030065223A (ko) 플래시 메모리 안정화기능을 구비한 호스트 기기 및 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121207

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130122