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

JP2009238112A - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP2009238112A
JP2009238112A JP2008086118A JP2008086118A JP2009238112A JP 2009238112 A JP2009238112 A JP 2009238112A JP 2008086118 A JP2008086118 A JP 2008086118A JP 2008086118 A JP2008086118 A JP 2008086118A JP 2009238112 A JP2009238112 A JP 2009238112A
Authority
JP
Japan
Prior art keywords
data
area
sector
written
transfer
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
JP2008086118A
Other languages
English (en)
Inventor
Takeshi Takahashi
高橋  毅
Takayuki Harada
貴之 原田
Hirokazu Sugi
広和 杉
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.)
Panasonic Corp
Original Assignee
Panasonic 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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2008086118A priority Critical patent/JP2009238112A/ja
Publication of JP2009238112A publication Critical patent/JP2009238112A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】フラッシュROMを搭載した半導体集積回路において、フラッシュROMのセクタを2つ以上使用しEEPROM機能を実現するに当たり、書き込み要求受理時に書き込み対象セクタがデータで埋め尽くされていると、転送が完了するまで書き込みが実行できない。
【解決手段】書き込み対象セクタの全領域を使用せず、データ領域と余裕領域とにあらかじめ設定しておく。かかる構成により、データ領域が空いている場合はそのままデータ領域にデータを書き込むが、データ領域が全て埋め尽くされている場合は、余裕領域と転送先領域の両方に同一のデータを書き込み、更新を行なう。更新時に、書き込み要求が発生した場合は更新を停止し、余裕領域と転送先領域の両方に同一のデータを書き込み、セクタ転送を再開する。
【選択図】図2

Description

本発明は、EEPROMをマイコン内蔵のフラッシュROMで代用する半導体集積回路であって、特にデータの書換え方法に関するものである。
マイコンのフラッシュROM化が進み,従来外部に備えていたEEPROMを、マイコンに内蔵のフラッシュROMで代用するケースが増加している。
フラッシュROMによるEEPROM機能の代用は、冷蔵庫やエアコンなどの家電製品で使用され始めている。用途は主に、運転時間の累計や、故障発生時のシステム環境を保持し、製品修理時などの解析に利用される。
ここで、フラッシュROMについての説明を行う。フラッシュROMは、図6のように、複数のセクタ300で構成され、それぞれのセクタ300は一定量のROM領域301を有する。
また、フラッシュROMの動作特徴として、フラッシュROMへの書き込みは1byte単位の書き込みが可能であるが、消去は1セクタ単位でしか実施することができない。よって、書き込んだデータの書き換えは、一旦書き換え対象のセクタ全体のデータを退避した上でデータの書き換えを行い、さらに書き換え対象のセクタ全体を一度消去してから、データの書き換えを終えた1セクタ分のデータをフラッシュROMへ書き込む必要があり、タスクと書込み回数の制限から現実的ではない。そのため、あるデータが更新されてデータ内容を書き換える場合は、空き領域に重複してデータを書き込み、データを読み込む際には重複して書き込んだデータのうち、最後に書き込まれたデータを読み取ることで実現している。
フラッシュROMによるEEPROM機能の代用は、ROM領域301内に、ヘッダ領域302とデータ領域303とを構成することで実現する。ヘッダ領域302は使用中状態、使用済み状態、ブランク状態の3つの状態を持つことで、EEPROM機能の制御を行なっている。
図7において、書き込み要求データ400を書き込む場合、ヘッダ領域403が使用中のセクタ401に書き込める空き領域が存在すれば,セクタ401の空き領域にデータ400を書き込む。このとき、ヘッダ領域404がブランクのセクタ402には何の操作も発生しない。
図8は、上記動作を複数回繰り返した後、書き込み要求データ410が発生した場合を示している。ヘッダ領域403が使用中のセクタ401に空き領域が存在しなければ、書き込み要求データ410はセクタ401へは書き込むことはできない。そのため、データの消去が必要となるが、フラッシュROMの特性として前に述べたようにセクタ単位での消去しか実施できないため、書き込んだデータをすべて消去する必要がある。そのため、消去を実行する前に、別のセクタへ最新のデータを転送することで最新のデータのみを保持している。
ヘッダ領域404がブランク状態のセクタ402にセクタ401の最新データのみを転送するが、このとき転送するデータはアドレスの後方より先に発見されたデータのみ転送すればよい。すなわち、あるデータが更新されてデータ内容を書き換える場合は、空き領域に重複してデータを書き込み、データを読み込む際には重複して書き込んだデータのうち、最後に書き込まれたデータを読み取ることで実現している。
従来、EEPROMを使用していた場合、あるアドレスに、例えば累積運転時間(No.1)というデータを上書きすることが可能であった。フラッシュROMでは、任意のアドレスに配置されるデータだけ変更するというのは難しいため、累積運転時間(No.1)というデータを書き込む場合、決められたアドレスに書き込むのではなく、No.1というような認識番号を用いて、空いているアドレスに順次書き込みを行う。よって、累積運転時間(No.1)を表すデータが、古い順に、セクタの先頭から存在することになる。つまり、セクタの最後尾からサーチし、最初に発見されたNo.1が最新のデータ(保持すべきデータ)となる。その他のデータは旧データとなるため、保持する必要はない。
セクタ401の最新データの転送が完了すると、書き込み要求データ410を書き込む。その際、セクタ401のヘッダ領域403を使用済みに変更し、セクタ402のヘッダ領域404を使用中に変更する。
ヘッダ領域403が使用済みとなったセクタ401は消去動作を実施し、消去完了後ヘッダ領域をブランクへ変更する。
ところで、図8のデータ転送方法では、データ410の書き込みは、セクタ401のデータ転送が完了し、セクタ202のヘッダ領域が使用中に変更されてから書き込まれる。この間、データの書き込みは行なわれず、新たにデータを書き込もうとしても、実行できない。
また、図9のように、データ420をヘッダ領域404がブランクのものに書き込み、後からセクタ401の最新データを転送しようとしても、転送途中に障害、例えば瞬低のような現象が発生すれば、セクタ401、セクタ402のどちらにも最新の状態が保持されず復旧した際に、障害発生前の状態を戻すことは難しくなる。また、上記動作の安全性を考え、補助電源等、例えばコンデンサのようなものを用い瞬低対策を行う場合、データ転送が完了するまでの時間を保証しなければならない。
そこで、特許文献1のように、使用するセクタのうち一つ以上を余分に使用することで、使用中セクタが全て書き込まれた状態であっても、上記余分セクタに一時データとして格納し、システムが十分な時間を確保できたタイミングでデータ転送を行なうことで、上記課題を解決しようとしていた。
特開平9−97207号公報
しかし、特許文献1のような方法では、転送に必要な十分な時間をシステムが確保する必要があるため、十分な時間を確保できないシステムには適用することはできない。
また、余分セクタに1byteでもデータが書き込まれれば、消去時に余分に1セクタの消去を行わなければならない。その上、瞬低発生時には上記動作の安全性を考え、補助電源等、例えばコンデンサのようなものを用い瞬低対策を行う場合、データ転送が完了するまでの時間を保証しなければならないため、システムに実装されるコンデンサの容量を、従来の容量よりも大きくする必要がある。また、この保証時間はセクタの大きさに比例し増加するため、セクタが大きいほど,容量も大きくする必要がある。また、データ転送が完了するまでの時間を待つことができないシステムには適用できなかった。
本発明の半導体集積回路は、フラッシュメモリを有する半導体集積回路であって、前記フラッシュメモリはプログラム領域の他に2つ以上のブロックを有し、前記半導体集積回路は電源を落とされた場合にも保持すべきデータをブロックに書込む手段と、前記フラッシュメモリは前記ブロックが埋め尽くされると別のブロックに最新データを転送する手段と、前記データが埋め尽くされたブロックのデータを消去する手段とを備え、前記ブロックは、データ領域と、前記転送する手段に必要な時間と書込み手段の発生頻度を基に算出された余裕領域とに分割されており、前記転送する手段と前記書込む手段とを平行して実現することのできるものである。
本発明の半導体集積回路によると、フラッシュROMを構成する複数のセクタのうち2つ以上を使用するシステムを構成し、各セクタをデータ領域と余裕領域とに区別することで、セクタが全て書き込まれた状態、またはデータ転送を行なっている最中であっても書き込み要求を即座に受理し、フラッシュROMに書き込むことができる。
これによれば、データ領域が全て埋め尽くされセクタ転送が開始している場合であっても、転送を一時停止し、余裕領域と転送先領域の両方に同一のデータを書き込むことで、瞬低発生など、マイコンがリセットされた場合にも、転送元のセクタには最新の情報を含む全てのデータを保持することができる。
本発明半導体集積回路によると、フラッシュROMを用いたEEPROM機能を実装できるシステムが大幅に増え、さらに瞬低対策のために使用する補助電源、例えばコンデンサの容量を大きくする必要がなくなる。
(第1の実施形態)
まず、本発明の半導体集積回路の構成について説明する。
半導体集積回路は、フラッシュメモリ(フラッシュROM)を有し、フラッシュメモリはプログラム領域の他に2つ以上のブロック(セクタ)を有する。
また、半導体集積回路は、電源を落とされた場合にも保持すべきデータをブロックに書込む手段を備える。この電源を落とされた場合にも保持すべきデータをブロックに書込む手段は、半導体集積回路内の書換え対象以外のメモリに書換えプログラムを有し、半導体集積回路内の書き込み対象のフラッシュメモリに対して書き込みコマンドを発行することで実現する。
また、フラッシュメモリは、ブロックが埋め尽くされると別のブロックに最新データを転送する手段を備える。このブロックが埋め尽くされると別のブロックに最新データを転送する手段は、埋め尽くされたブロックをサーチし、保持すべきデータだけを、その他の任意のブロックにコピー(転送)する。そして、半導体集積回路内の書換え対象以外のメモリに書換えプログラムを有し、半導体集積回路内の書き込み対象のフラッシュメモリに対して書き込みコマンドを発行することで実現する。
また、データが埋め尽くされたブロックのデータを消去する手段を備える。このデータが埋め尽くされたブロックのデータを消去する手段は、半導体集積回路内の書換え対象以外のメモリに消去プログラムを有し、半導体集積回路内の書き込み対象のフラッシュメモリに対して消去コマンドを発行することで実現する。
ブロックは、データ領域と、転送する手段に必要な時間と書込み手段の発生頻度を基に算出された十分な余裕領域とに分割されており、転送する手段と書込む手段とを平行して実現する構成となっている。
次に、本発明の第1の実施形態におけるフラッシュROMによるEEPROM機能の代用の実現方法を図1ないし図3に基づいて説明する。
あるフラッシュROMを構成するセクタ101,102を用い、各セクタをヘッダ領域103,104、データ領域105,106、余裕領域107,108を定義している。なおセクタ101のヘッダ領域103が使用中、セクタ102のヘッダ領域104がブランクであり、書き込み要求データ100が発生しているとする。
図1のように、データ領域105に空き領域があれば、空き領域の先頭に書き込み要求データ100を書き込む。書き込みを複数回実施し、図2のように、セクタ101のデータ領域105がすべて埋め尽くされている状態で書き込み要求データ110が発生すると、セクタ101の余裕領域107に書き込み要求データ110を図2(1)−1のように書き込むと同時に、セクタ102のデータ領域106に書き込み要求データ110を図2(1)−2のように書き込む。書き込み要求データ110を書き込んだ後は、セクタ101のデータ領域105に保持されている最新データを、セクタ102のデータ領域106へ順に図2の(2),(3),(4),(5)のように転送する。このとき、書き込み要求110で書き込んだデータは最新データであり、セクタ101のデータ領域105に残ったデータは旧データとなるため転送しない。なお、図2中「×」で示した部分は、図2(2)の転送に際して書き込み要求データ110が書き込まれたデータ領域106の次にデータ(No.0)が書き込まれ、また書き込み要求データ110の旧データに相当するデータ(No.3)は書き込まずに次のデータ(No.4)を書き込むことを表している。
また、図3のように、データ転送中に書き込み要求データ120が発生した場合、一旦データ転送を停止し、セクタ101の余裕領域107、ならびにセクタ102のデータ領域106へ、書き込み要求データ120を図3(6)−1,(6)−2のように書き込む。書き込みが完了した際にデータ転送を再開し、図3の(7)のように転送を実施する。なお、図3中「×」で示した部分は、書き込み要求データ120が書き込まれた箇所は避けて次の領域に書き込むことを表している。転送完了後は、セクタ102に全てのデータが転送されたため、セクタ101のヘッダ103を使用済みとし、セクタ102のヘッダ104を使用中に変更する。セクタ101は使用済みとなるため、消去してかまわない。セクタ102のデータ領域106が全て埋め尽くされると、同様にして、ブランクセクタにデータを転送し、フラッシュROMによるEEPROM代用の機能を実現する。
図1〜図3のように、フラッシュROMのセクタ101,102をあらかじめデータ領域105,106、余裕領域107,108に定義しておくことで、データ領域105,106が埋め尽くされた状態であっても、セクタ101,102間の転送を待つことなくデータの書き込みを行うことができ、さらにセクタ101の余裕領域107とセクタ102のデータ領域106とにデータを書き込むことで、データ転送途中に障害、例えば瞬低のような現象が発生しても、必ずどちらかのセクタ101,102には最新のデータが更新されているため、復旧時の保証が簡単となる。
(第2の実施形態)
第1の実施形態において、セクタ101の余裕領域107とセクタ102の余裕領域108を制御する領域設定用アドレス130を備えたフラッシュROMを図4に示す。
領域設定用アドレス130の値により余裕領域107を自由に設定することで、データ転送に必要な時間と、データ転送発生時に起こり得る書き込み要求回数分を基に算出された余裕領域を確保することが可能となる。余裕領域の確保に際しては、算出結果よりも十分大きな余裕領域を確保すべきだが、やみくもに無駄な余裕領域を確保するのではなく、システムに応じた最適な余裕領域を確保することが好ましい。
また、余裕領域107設定のための領域設定用アドレス130のアドレスの設定は、ソフトウェアアルゴリズムになる。具体的な値は0x14000などである。例えば、4kのセクタAと8kのセクタBを使用する場合、セクタAは3.5kの書き込み領域と、0.5kの余裕領域、セクタBは7.5kの書き込み領域と、0.5kの余裕領域というように設定する。このとき、余裕領域の大きさが同じになるように設定する。また、データ用のセクタが4つある場合、A,Bを1つのブロック、C,Dを1つのブロックとして使用することもできる。
これにより、瞬低対策で必要な補助電源、例えばコンデンサの容量を少なくすることが可能となることで、コストダウンできる。
(第3の実施形態)
図5は、第3の実施形態におけるエアコンの構成を示すブロック図である。
図5に示すエアコンは、マイコン201と、換気用ファンモータ202と、ファンモータ203と、リモコン受信機204と、湿度センサ205と、温度センサ206と、ADコンバータ207と、DAコンバータ208とを備える。
フラッシュROMによるEEPROMの代用機能はマイコン201に相当する。
マイコン201は、フラッシュROMによるEEPROMの代用機能の実現を含むエアコンのシステム制御を行なう。マイコン501はシステム制御の中で、EEPROM書き込みを行なう条件が成立した場合、第1、第2の実施形態に則り、フラッシュROMに運転時間の累計や故障発生時のシステム環境等のデータを書き込む。
本発明のEEPROMの代用としてフラッシュROMを用いることによって、データ転送中に発生した書き込み要求は転送完了するまで、受理できなかったものが、即座に書き込むことができる。
なお、フラッシュROMによるEEPROMの代用機能を用いるのは、エアコン以外の家電製品にも適用できる。
ここで、本発明の余裕領域の定義について説明する。
書込みデータの単位を1パケット、5byteとしたデータ209の転送に、例えば10msecかかるシステムを用いたとき、データ領域が埋め尽くされた場合のデータ転送時間は転送パケット数×10msecとなり、この時間内に発生する可能性がある書き込み要求回数が余裕領域よりも十分に小さければよい。しかし、実際にはメイン周期のうち全てのタスクを使用することは困難であるため、メイン周期の一部のタスクをフラッシュROMによるEEPROMの代用機能に割り当てる。
例えば、メイン周期100msecに一度だけ1パケット書き込みを実施できるシステムでは、転送するパケットが100である場合、データ転送には10000msec使用することになりメイン周期100回の期間で転送完了となる。このため、10000msec間に発生する書き込み要求の最大回数が10回のシステムであれば、余裕領域が50byteより十分大きければ、システムとして成り立つ。
すなわち、データ転送時間は転送パケット数×10msecであることから、データ転送にはミニマム1000msec使用することとなる。これは、転送(書込み)処理のみを実施した場合になる。しかしこれでは、転送中、他の処理が全くできず、実際のシステム(家電)に適用すれば、システムが破綻してしまう。そこで、上記の例では、メイン(処理の)周期を100msecとし、そのうち10msecは転送処理に割り当て、その他の90msecを他の処理に割り当てるということを想定している。よって、1パケットの転送には100msec要することとなり、100msec(メイン周期)×100パケットで10000ms使用することとなる。
また、10000msの転送時間に、最大で10回(パケット)の書込み要求が発生するシステムであれば、上記で書込みの単位を1パケット5Byteと仮定しているので、データ転送中の書込みは、最大で5byte×10回(パケット)で50Byteとなり、余裕領域が50byteより十分大きければ、システムとして成り立つこととなる。
本発明の半導体集積回路は、冷蔵庫やエアコンなどの家電製品全般に適用することができる。
本発明の第1の実施形態におけるフラッシュROMによるEEPROM機能の代用の様子を示す図(空き容量あり) 本発明の第1の実施形態におけるフラッシュROMによるEEPROM機能の代用の様子を示す図(空き容量なし) 本発明の第1の実施形態におけるフラッシュROMによるEEPROM機能の代用の様子を示す図(データ転送中) 本発明の第2の実施形態におけるフラッシュROMの余裕領域の設定の様子を示す図 本発明の第3の実施形態におけるエアコンシステムへの適用の様子を示すブロック図 フラッシュROMの構成図 従来例におけるフラッシュROMによるEEPROM機能の代用の様子を示す図(空き容量あり) 従来例におけるフラッシュROMによるEEPROM機能の代用の様子を示す図(空き容量なし) 従来例におけるフラッシュROMによるEEPROM機能の代用の様子を示す図(不正書き込み)
符号の説明
101 フラッシュROMの第1のセクタ(フラッシュメモリのブロック)
102 フラッシュROMの第1のセクタ(フラッシュメモリのブロック)
103 第1のセクタのヘッダ領域
104 第2のセクタのヘッダ領域
105 第1のセクタのデータ領域
106 第2のセクタのデータ領域
107 第1のセクタの余裕領域
108 第2のセクタの余裕領域
100 書き込み要求データ
110 書き込み要求データ
120 書き込み要求データ
130 領域設定用アドレス
201 マイコン(半導体集積回路)
202 換気用ファンモータ
203 ファンモータ
204 リモコン受信機
205 湿度センサ
206 温度センサ
207 ADコンバータ
208 DAコンバータ
209 書込みデータの構成

Claims (4)

  1. フラッシュメモリを有する半導体集積回路であって、
    前記フラッシュメモリはプログラム領域の他に2つ以上のブロックを有し、
    前記半導体集積回路は電源を落とされた場合にも保持すべきデータをブロックに書込む手段と、
    前記フラッシュメモリは前記ブロックが埋め尽くされると別のブロックに最新データを転送する手段と、
    前記データが埋め尽くされたブロックのデータを消去する手段とを備え、
    前記ブロックは、データ領域と、前記転送する手段に必要な時間と書込み手段の発生頻度を基に算出された余裕領域とに分割されており、前記転送する手段と前記書込む手段とを平行して実現することのできる半導体集積回路。
  2. 請求項1の半導体集積回路を備えた家電製品。
  3. 2つ以上のセクタを有し、各セクタは、データ領域と余裕領域とからなるフラッシュROM。
  4. 前記余裕領域の大きさを設定する領域設定用アドレスを備えた請求項3記載のフラッシュROM。
JP2008086118A 2008-03-28 2008-03-28 半導体集積回路 Pending JP2009238112A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008086118A JP2009238112A (ja) 2008-03-28 2008-03-28 半導体集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008086118A JP2009238112A (ja) 2008-03-28 2008-03-28 半導体集積回路

Publications (1)

Publication Number Publication Date
JP2009238112A true JP2009238112A (ja) 2009-10-15

Family

ID=41251934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008086118A Pending JP2009238112A (ja) 2008-03-28 2008-03-28 半導体集積回路

Country Status (1)

Country Link
JP (1) JP2009238112A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012501027A (ja) * 2008-08-26 2012-01-12 サンディスク アイエル リミテッド 多性能モードメモリシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012501027A (ja) * 2008-08-26 2012-01-12 サンディスク アイエル リミテッド 多性能モードメモリシステム

Similar Documents

Publication Publication Date Title
JP4837731B2 (ja) プログラム可能な耐久度を有するフラッシュメモリ
CN104750615B (zh) 数据储存装置以及快闪存储器控制方法
JP2011175615A (ja) ホスト装置およびメモリデバイス
US20130067150A1 (en) Data processor with flash memory, and method for accessing flash memory
WO1999031592A1 (fr) Systeme de memoire flash
WO2009118917A1 (ja) フラッシュメモリを用いた記憶装置
JP5137413B2 (ja) 半導体記憶装置
JP2012178132A (ja) メモリシステム
JP2014126989A (ja) 制御装置、制御方法、及び、プログラム
JP2000020252A (ja) 不揮発性半導体メモリを用いた記憶装置
JP7521631B2 (ja) 空気調和機及び空気調和システム
JP4686358B2 (ja) フラッシュメモリを備えた制御装置
JP2009003784A (ja) 不揮発性メモリの制御装置及び制御方法及び記憶装置
JP2008215713A (ja) 空気調和機用制御装置および空気調和機
JP2009238112A (ja) 半導体集積回路
CN107894894B (zh) 用于更新设备软件的系统和方法
JP2009086738A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JPWO2019030896A1 (ja) プログラム更新方法、室外機及び管理装置
US7899974B2 (en) Nonvolatile memory, mapping control apparatus and method of the same
JP2008225922A (ja) 不揮発性記憶装置
CN101963942A (zh) 一种机顶盒nor型flash快速存储的方法
JP5247558B2 (ja) 電子機器の制御装置及びその制御装置を用いた空気調和機
JP5194953B2 (ja) 空調装置の制御装置のソフトウェアバージョンアップ方法
JP4767597B2 (ja) データバックアップ装置
JP4895264B2 (ja) 記憶装置および情報処理装置