JP2012022475A - データ処理装置、半導体装置および制御方法 - Google Patents

データ処理装置、半導体装置および制御方法 Download PDF

Info

Publication number
JP2012022475A
JP2012022475A JP2010159175A JP2010159175A JP2012022475A JP 2012022475 A JP2012022475 A JP 2012022475A JP 2010159175 A JP2010159175 A JP 2010159175A JP 2010159175 A JP2010159175 A JP 2010159175A JP 2012022475 A JP2012022475 A JP 2012022475A
Authority
JP
Japan
Prior art keywords
rewriting
ram
nonvolatile memory
rewrite
unit
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
JP2010159175A
Other languages
English (en)
Inventor
Kazuya Furukawa
量也 古川
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 JP2010159175A priority Critical patent/JP2012022475A/ja
Priority to PCT/JP2011/001942 priority patent/WO2012008071A1/ja
Publication of JP2012022475A publication Critical patent/JP2012022475A/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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • G06F2212/2515Local memory within processor subsystem being configurable for different purposes, e.g. as cache or non-cache memory
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

【課題】RAMの使用効率を向上させるデータ処理装置を提供する。
【解決手段】データ処理装置は、CPU101と、電気的に書き換え可能な不揮発性メモリ107と、RAM105と、RAM105を、不揮発性メモリ107のプログラムをキャッシュするキャッシュメモリとして動作させる制御を行うキャッシュ制御部102と、不揮発性メモリ107を書き換えるための書き換えプログラムと書き換え用のデータとを格納するメモリとしてRAM105を利用し、当該書き換えプログラムを実行することにより不揮発性メモリ107を書き換える書き換えシーケンスを実行するフラッシュ書換部106と、キャッシュ制御部102およびフラッシュ書換部106を択一的に動作させる切換部104とを備える。
【選択図】図1

Description

本発明は各種プログラムを不揮発性メモリ(EEPROM)に格納し、不揮発性メモリから必要なプログラムを読み出して実行する方式のデータ処理装置、半導体装置および制御方法に関する。
従来の1チップマイクロコンピュータは、それ自体を動作制御するためのプログラムが記憶されたROMを内蔵する形となっている。この際、価格、消費電流などを考慮し、マスクROMを用いるのが一般的である。しかしながら、マスクROM内蔵の1チップマイクロコンピュータでは、プログラムの変更を要する場合に、新たなマスク作成および再拡散が必要であり、新たな設計によるコスト高をまねき、かつマイクロコンピュータの製造まで長い時間がかかってしまうという問題がある。そこで、最近では、データの書き込み及び読み出しが可能なEEPROM等の不揮発性メモリをプログラムメモリとして使用する1チップマイクロコンピュータが提案されている。このような不揮発性メモリをプログラムメモリとして使用することの利点は、電気的な操作によってEEPROMのプログラム変更が容易であり、わざわざマスクを変更する必要もなく、ユーザ自身が変更を必要とする記憶領域のみプログラムの書き換えができる為、IC製造業者を頼ることなくコストを抑えてプログラムの異なる1チップマイクロコンピュータを迅速に作ることができる。
しかしながら、不揮発性メモリとしてEEPROMを用いる場合には、前記した利点を有する反面、EEPROMからプログラムコードを読み出して1チップマイクロコンピュータを動作させている時の、EEPROM自体の消費電流が数mA〜数十mAと大きく、1チップマイクロコンピュータを用いて時計動作のみを行わせるような場合でも消費電流が大きく、低消費電力モードを実現できない問題があった。特にバッテリー駆動タイプの機器に用いると、機器の駆動可能時間が短くなってしまい、使用者にとっては不都合であった。
このような問題を解消するため、特許文献1では、不揮発性メモリのデータを不揮発性メモリよりも容量の小さい別のRAMに保持し、RAMに対してアクセスする際はフラッシュEEPROMを低消費状態にすることで低消費電力を実現させている。
図11は、特許文献1に開示されたデータ処理装置の構成を示すブロック図である。同図のデータ処理装置10は、データ処理装置を制御するためのプログラムが格納されたフラッシュEEPROM2と、前記プログラムの一部を格納可能でEEPROM2よりも小容量のRAM3と、EEPROM2またはRAM3をアドレス指定してそれぞれに格納されているプログラムを読み出して命令を解読し実行するCPU1と、EEPROM2からRAM3へ前記一部のプログラムを転送する手段(CPU)1と、EEPROM2の動作状態をイネーブル状態にするか、ディセーブル状態にするかを指定するフラグ5とを備えており、フラグ5はRAM3に格納されたプログラムを実行する際にEEPROM2の動作状態をディセーブル状態に指定する。
これにより、CPU1がRAM3のプログラムを実行するとき、RAM3よりも消費電力の大きなEEPROM2がディセーブルとされ、消費電力の低減が可能となる。
特開2000−105701号公報
ところが前記公報の技術では、不揮発性メモリの書き換え時には不揮発性メモリを読み出すことができないことから、不揮発性メモリを書き換えるための書き換えプログラムを記憶するための命令メモリが別途必要になる。一般的にRAMは不揮発性メモリに対して単位容量辺りの面積が大きく、命令メモリを実装することによってLSIとしてのコストが高くなってしまう。
本発明は、RAMを物理的に増加させずコストを増加させずに、RAMの使用効率を向上させるデータ処理装置、半導体装置および制御方法を提供することを目的とする。
前記目的を達成するために、本発明の一形態におけるデータ処理装置は、CPUと、電気的に書き換え可能な不揮発性メモリと、RAMと、前記RAMを、前記不揮発性メモリのプログラムをキャッシュするキャッシュメモリとして動作させる制御を行うキャッシュ制御部と、前記不揮発性メモリを書き換えるための書き換えプログラムと、書き換え用のデータとを格納するメモリとして前記RAMを利用し、当該書き換えプログラムを実行することにより前記不揮発性メモリを書き換える書き換えシーケンスを実行する書換部と、前記キャッシュ制御部および前記書換部を択一的に動作させる切換部とを備える。
この構成によれば、RAMは、(i)不揮発性メモリの書き換え時以外では不揮発性メモリのキャッシュメモリとして用いられ、(ii)不揮発性メモリ書き換え時には、書き換えプログラムを記憶する命令メモリおよび書き換え作業データを一時的に格納するワークメモリとして用いられる。つまり、RAMを(i)にも(ii)にも利用することができ、書き換えプログラムおよび書き換え用のデータを書換部に供給する専用の命令メモリおよびワークメモリを別途備える必要がないので、RAMを物理的に増加させずつまりストを増加させずに、RAMの使用効率を向上させることができる。
ここで、前記キャッシュ制御部は、さらに、前記CPUから出力されたアドレスに対応するデータが前記RAMに記憶されている場合、前記不揮発性メモリを低電力モードにする構成としてもよい。
この構成によれば、さらに、キャッシュメモリにヒットしている間は、不揮発性メモリを低電力モードにするので、消費電力を低減することができる。
ここで、前記切換部は、前記不揮発性メモリの書き換えの要否に対応する真偽を示す要否フラグを保持するフラグ保持部を備え、前記要否フラグが偽であるとき、前記キャッシュ制御部を動作させ前記書換部を停止し、前記要否フラグが真であるとき、前記キャッシュ制御部を停止させ前記書換部を動作させるようにしてもよい。
この構成によれば、フラグ保持部という単純な回路によって切換部を構成するので、回路規模を小型化することができる。
ここで、前記CPUは、前記不揮発性メモリの書き換え要求として、真を示す前記要否フラグを前記フラグ保持部に設定し、さらに前記RAMに書き換え用のデータを格納し、前記キャッシュ制御部は、前記要否フラグが偽から真に変化したとき、前記不揮発性メモリから前記RAMに前記書き換えプログラムを転送するようにしてもよい。
ここで、前記書換部は、前記RAMから書き換えプログラムを読み出して実行することによって、前記RAMに格納された前記書き換え用のデータを用いて前記不揮発性メモリに対して書き換えシーケンスを実行し、前記書き換えシーケンスの完了時に前記要否フラグを真から偽に反転するようにしてもよい。
ここで、前記切換部は、前記不揮発性メモリの書き換えの要否に対応する真偽を示す要否フラグと、前記不揮発性メモリに対する書き換えが中断しているか否かに対応する真偽を示す中断フラグとを保持するフラグ保持部を備え、前記要否フラグが偽であるとき、および、前記要否フラグが真かつ前記中断フラグが真であるとき、前記キャッシュ制御部を動作させ前記書換部を停止し、前記要否フラグが真であるとき、前記キャッシュ制御部を停止させ前記書換部を動作させるようにしてもよい。
この構成によれば、不揮発性メモリの書き換えが中断している間に、CPUが不揮発性メモリをアクセスすることができるので、データ処理装置の処理が軽いとき(例えばアイドル状態)だけでなく、重い処理をしているときでも、不揮発性メモリの書き換えに起因するCPUの処理遅延を少なくすることができる。また、2つのフラグを保持するフラグ保持部という単純な回路によって切換部を構成するので、回路規模を小型化することができる。
ここで、前記RAMは、前記書き換えプログラムを記憶するための第1記憶領域と、前記書き換え用のデータを記憶するための第2記憶領域とを有し、前記キャッシュ制御部は、前記要否フラグが偽であるとき、前記第1記憶領域および第2記憶領域をキャッシュメモリとして動作させる制御を行い、前記要否フラグが真かつ前記中断フラグが真であるとき、前記第2記憶領域を使用することなく、前記第1記憶領域をキャッシュメモリとして動作させる制御を行うようにしてもよい。
この構成によれば、不揮発性メモリの書き換えが中断している間に、RAMの一部の領域(第1記憶領域)をキャッシュメモリとして利用するので、CPUが重い処理をしているときでも、不揮発性メモリの書き換えに起因するCPUの処理遅延をもっと少なくすることができる。
ここで、前記CPUは、前記不揮発性メモリの書き換え要求として、真を示す前記要否フラグを前記フラグ保持部に設定し、さらに前記RAM中に書き換え用のデータを格納し、前記キャッシュ制御部は、前記要否フラグが偽から真に変化したとき、前記不揮発性メモリから前記RAMに前記書き換えプログラムを転送するようにしてもよい。
ここで、前記書換部は、所定の時間をカウントしたときにタイムアウト信号を発生するタイマーを備え、前記書換部は、前記RAMから書き換えプログラムを読み出して実行することによって、前記RAMに格納された前記書き換え用のデータを用いて前記不揮発性メモリに対して書き換えシーケンスを実行し、前記書換部は、書き換え中に前記タイムアウト信号が発生したとき、書き換えシーケンスを中断し、前記中断フラグを真に設定し、前記書換部は、中断中にタイムアウト信号が発生したとき、前記中断フラグを偽に設定し、前記キャッシュ制御部は、前記中断フラグが真から偽に変化したとき、前記不揮発性メモリから前記RAMに前記書き換えプログラムを転送し、前記書換部は、前記書き換えシーケンスの完了時に前記要否フラグを真から偽に反転するようにしてもよい。
また、本発明の一形態における半導体装置は、CPUと、電気的に書き換え可能な不揮発性メモリと、RAMと、前記RAMを、前記不揮発性メモリのプログラムをキャッシュするキャッシュメモリとして動作させる制御を行うキャッシュ制御部と、前記不揮発性メモリを書き換えるための書き換えプログラムと書き換え用のデータとを格納するメモリとして前記RAMを利用し、当該書き換えプログラムを実行することにより前記不揮発性メモリを書き換える書き換えシーケンスを実行する書換部と、前記キャッシュ制御部および前記書換部を択一的に動作させる切換部とを備える。
この構成によれば、上記のデータ処理装置と同じ効果を奏する。
また、本発明の一形態におけるデータ処理装置の制御方法は、CPUと、電気的に書き換え可能な不揮発性メモリと、RAMとを備えるデータ処理装置の制御方法であって、前記RAMを、前記不揮発性メモリのプログラムをキャッシュするキャッシュメモリとして動作させるステップと、前記不揮発性メモリの書き換えの要否を判定するステップと、書き換え要と判定されたとき、前記RAMのキャッシュメモリとしての動作を停止するステップと、前記不揮発性メモリを書き換えるための書き換えプログラムと書き換え用のデータとを前記RAMに格納するステップと、当該書き換えプログラムを実行することにより前記不揮発性メモリを書き換えるステップと、前記不揮発性メモリの書き換え完了後に前記RAMを前記キャッシュメモリとして動作させるステップとを有する。
この構成によれば、上記のデータ処理装置と同じ効果を奏する。
本発明によれば、RAMを、(i)不揮発性メモリのキャッシュメモリとしても、(ii)不揮発性メモリを書き換えるための書き換えプログラムを記憶する命令メモリおよび書き換え作業データを一時的に格納するワークメモリとしても利用することができる。書き換えプログラムおよび書き換え用のデータを書換部に供給する専用の命令メモリおよびワークメモリを別途備える必要がないので、RAMを物理的に増加させずつまりコストを増加させずに、RAMの使用効率を向上させることができる。
また、不揮発性メモリの消費電力を低減することができる。
本発明に係わる実施の形態1におけるデータ処理装置の構成を示すブロック図である。 本発明に係わる不揮発性メモリのデータ領域を示す図である。 本発明に係わる不揮発性メモリ書き換え動作を示す説明図である。 本発明に関わる不揮発性メモリの書き換え中におけるRAMのデータ領域を示す図である。 本発明に関わるキャッシュメモリとしてのRAMのデータ領域を示す図である。 本発明に関わるキャッシュメモリとしてのRAMのデータ領域を示す図である。 本発明の実施の形態1に係わる不揮発性メモリとRAMの使用状況を示す図である。 本発明の実施の形態1に係わるキャッシュ制御部の処理フローを示す図である。 本発明に係わるフラッシュ書換部の処理フローを示す図である。 本発明に係わる実施の形態2におけるデータ処理装置の構成を示すブロック図である。 本発明の実施の形態1に係わる不揮発性メモリとRAMの使用状況を示す図である。 本発明の実施の形態2に係わるキャッシュ制御部の処理フローを示す図である。 従来技術におけるデータ処理装置の構成を示すブロック図である。
(実施の形態1)
以下、本発明に係わる実施の形態1について、図面を参照しながら説明する。
<構成>
続いて、本実施の形態1におけるデータ処理装置の構成について説明する。
図1は、本実施の形態1におけるデータ処理装置の構成を示す図である。図1に示されるように、データ処理装置は、CPU101、キャッシュ制御部102、低電力フラグ保持部103、切換部104、RAM105、フラッシュ書換部106、不揮発性メモリ107を備える。
CPU101は不揮発性メモリ107に対するアクセスをするためにアドレスをキャッシュ制御部102に発行する。
キャッシュ制御部102は、RAM105を、不揮発性メモリ107のプログラムをキャッシュするキャッシュメモリとして動作させる制御を行う。つまり、キャッシュ制御部102は指定されたアドレスの不揮発性メモリ107のデータがRAM105上に存在すればRAM105からデータを取得し、取得したデータをリードデータとしてCPU101に出力する。また、キャッシュ制御部102は、CPU101から出力されたアドレスに対応するデータがRAM105に記憶されている場合、不揮発性メモリ107を低電力モードにする。具体的には、キャッシュ制御部102は、CPU101から出力されたアドレスに対応するデータがRAM105に記憶されている場合、低電力フラグ保持部103に保持された低電力フラグをセットすることにより不揮発性メモリ107を低消費電力状態にする。
低電力フラグ保持部103は、キャッシュ制御部102によって設定される低電力フラグを保持し、低電力フラグが1である場合に、不揮発性メモリ107を低電力モードにする。
切換部104は、キャッシュ制御部102およびフラッシュ書換部106を択一的に動作させる。このとき、切換部104は、不揮発性メモリ107が中断状態であるかどうかの情報を元にRAM105の使用領域を変更し、変更したRAMの使用領域をキャッシュ制御部102に入力する。
RAM105は、揮発性メモリであり、例えばSRAMであり、DRAMでもよい。RAM105は、(i)不揮発性メモリの書き換え時以外では不揮発性メモリのキャッシュメモリとして用いられ、(ii)不揮発性メモリ書き換え時には、書き換えプログラムを記憶する命令メモリおよび書き換え作業データを一時的に格納するワークメモリとして用いられる。
フラッシュ書換部106は、不揮発性メモリ107を書き換えるための書き換えプログラムと書き換え用のデータとを格納するメモリとしてRAM105を利用し、書き換えプログラムを実行することにより不揮発性メモリ107を書き換える書き換えシーケンスを実行する。つまり、フラッシュ書換部106はRAM105から書き換えプログラム中の命令を取得しながら不揮発性メモリ107を制御して書き換えを実施するシーケンサである。また、フラッシュ書換部106は、所定の時間をカウントしたときにタイムアウト信号を発生するタイマー106aを備える。ここで、所定の時間は、書き換えシーケンスにおける、(a)中断から再開までの時間、および、(b)起動または再開から中断または完了までの時間を決定するために定められ、一定の時間であってもよいし、(a)、(b)の各時間個別に定められてもよい。
不揮発性メモリ107は、フラッシュEEPROM(いわゆるフラッシュメモリ)等の電気的に書き換え可能な不揮発性のメモリである。
また、上記の切換部104は、不揮発性メモリ107の書き換えの要否に対応する真偽を示す要否フラグRと、不揮発性メモリ107に対する書き換えが中断しているか否かに対応する真偽を示す中断フラグSとを保持するフラグ保持部108を備える。要否フラグRが真かつ中断フラグSが真であるとき、書き換えが中断していることを意味する。
切換部104は、要否フラグRが偽であるとき、および、要否フラグRが真かつ中断フラグSが真であるとき、キャッシュ制御部102を動作させ前記書換部を停止する。このとき、切換部104は、要否フラグRが真であっても、中断フラグが真である場合、キャッシュ制御部を動作させなくてもよい。この場合でも、CPU101は直接不揮発性メモリをリードすることができる。
図2は、不揮発性メモリ107のデータ領域の一例を示す図である。同図において、書換制御用領域301には書き換えプログラムつまり、フラッシュ書換部によって実行される命令例が格納されている。一般的にフラッシュEEPROMの書き換えのアルゴリズムはLSIを製造して評価しながら決めることがあり、予めマスクROM等で製造することは困難である。また、フラッシュEEPROMはコスト削減のため書き換え中は格納データを読めなくなっており本書き換えプログラムの命令は、RAM105に転送された後にRAM105からフラッシュ書換部106によって読み出される。
ユーザーデータ格納領域302には本データ処理装置のユーザーのデータが格納される。書換対象領域303は、ユーザーデータ格納領域302中の任意の領域であり、ユーザーがデータを更新したい領域である。書換対象領域303は、CPU101によって指定された書き換え後のデータに書き換えられる。
図3は、不揮発性メモリ(フラッシュEEPROM)107の書き換え動作の一例を示す説明図である。期間A201は、書き換えプログラムの実行前の期間であり、フラッシュEEPROMのデータを読み出すことが可能である。期間B202は、書き換えプログラムを起動してから中断するまでの期間であり、データを読み出すことが不可能である。期間C203は、中断から再開までの期間であり、書き換え対象のデータ以外はデータを読み出すことが可能である。期間D204は、再開から書き換えが完了するまでの期間であり、データを読み出すことが不可能である。書き換えが完了した後の期間E205はデータを読み出すことが可能である。
なお、図3では、中断と再開とを含む書き換えシーケンスを説明したが、起動から完了まで中断することなく書き換える書き換えシーケンスも可能である。中断することなく書き換える書き換えシーケンスでは、数mSから数Sの間、不揮発性メモリを読み出し不能になるため、CPUの処理を著しく遅延させることがある。図3の書き換えシーケンスでは、この遅延を回避することができる。CPU101は、書き換えシーケンスにおいて中断するかしないか、中断から再開までの時間、起動または再開から中断または完了までの時間を指定可能である。書き換えプログラムは、これらの指定に従って書き換えシーケンスをフラッシュ書換部106に実行させる。また、指定された時間はタイマー106aによってカウントされる。
図4Aは、本発明に関わる不揮発性メモリの書き換え中におけるRAMのデータ領域を示す図である。
同図の復帰可能データ領域401は、書き換えプログラムを記憶する第1記憶領域であり、不揮発性メモリの書き換え中に使用するデータの内、復帰可能なデータ領域である。復帰可能データ領域401には、不揮発性メモリ107の書換制御用領域301に格納された書き換えプログラムが転送される。
復帰不可データ領域402は不揮発性メモリ107の書き換え用のデータおよび書き換え中に発生する書き換え作業データを記憶する第2記憶領域であり、復帰不可データを格納する領域である。書き換え中、所定ビット数単位でデータ書き込みが実施されるが、不揮発性メモリ107は書き換え中は全領域(書換制御用領域301、ユーザーデータ格納領域302)のデータの読み出しが不能になり、一般的な書き換えに必要な時間は数ミリ秒と長く、1チップマイクロコンピュータとして許容できる時間でないので、図3のような書き換えを数回に分割し途中で中断することで、中断中に不揮発性メモリ107のデータを読出せるようにしている。
図4Bは、本発明に関わるキャッシュメモリとしてのRAMのデータ領域を示す図である。同図は、不揮発性メモリ107の書き換えが中断してから再開するまでの期間以外(書き換えが起動される前および書き換えが完了した後)のRAM105の状態を示しており、RAM105の全領域がキャッシュメモリとして利用されている。
図4Cは、本発明に関わるキャッシュメモリとしてのRAMのデータ領域を示す図である。同図は、不揮発性メモリ107の書き換えが中断してから再開するまでの期間におけるRAM105の状態を示しており、RAM105の復帰可能データ領域(第1記憶領域)401がキャッシュメモリ領域404として利用され、復帰不可データ領域(第2記憶領域)402はキャッシュメモリ利用されない。 図5は不揮発性メモリ107およびRAM105の使用状態を示す図である。使用状態が異なる期間A〜Eを示している。さらに、同図では、期間A〜Eに対応する要否フラグRの真偽と中断フラグSの真偽を示している。
期間A(601)では、不揮発性メモリ107がリード可能な状態であり、RAM105は図4Bの状態である。図4Bに示すようにRAM105は、全面利用可能であり、キャッシュ制御部102によって不揮発性メモリ107のデータがRAM105の前記憶領域にリフィルされる。
期間B(602)では、不揮発性メモリ107が書き換え中であることから、不揮発性メモリ107のリード不可能な状態である。RAM105は、図4Aの状態であり、復帰不可データ領域と復帰可能データ領域共にキャッシュメモリとして利用不可の状態である。
期間C(603)では、不揮発性メモリ107が中断でリード可能である状態である。RAM105は、図4Cの状態であり、復帰可能データ領域はキャッシュメモリとして利用可能であるが、復帰不可データ領域はキャッシュメモリとして利用不可である。
期間D(604)は、書き換えを再開後の書き換え中の状態であり、期間Bと同様に、不揮発性メモリ107はリード不可であり、RAM105は復帰可能データ領域と復帰不可データ領域共にキャッシュメモリとして利用不可である。
期間E(605)では、不揮発性メモリ107の書き換え完了後の状態であり、期間Aと同様に不揮発性メモリ107はリード可能で、RAM105は全面キャッシュメモリとして利用可能である。
本実施の形態では、キャッシュ制御部102は、期間Bと期間Dの最初にRAM105に対して復帰可能データ領域に書き換えプログラム(書換制御用命令)を不揮発性メモリ107から転送する。なお、この転送は、キャッシュ制御部102ではなく、CPU101またはフラッシュ書換部106が行ってもよい。
図6は、図1の構成例の切換部104およびキャッシュ制御部102の動作フローチャートを示す。まず、切換部104は、書き換え中かどうかを判断する(ステップ1101)。このとき、切換部104は、要否フラグRが真であり、かつ中断フラグが偽であれば、書き換え中と判断する。書き換え中であれば、切換部104は、キャッシュ制御不可と判断し(ステップ1105)、キャッシュ制御部102を停止し、フラッシュ書換部106を動作させる。書き換え中でなければ、切換部104は、中断状態かどうか(中断フラグSが真か偽か)の判断し(ステップ1102)、中断中であればRAM105の復帰可能領域のみを使用してキャッシュ制御可能であると判断し(ステップ1104)、中断中でなければRAM105の全面を使用してのキャッシュ制御可能であると判断し(ステップ1103)、判断結果をキャッシュ制御部102に指示する。キャッシュ制御部102は判断結果に従って動作する。さらに、キャッシュ制御を実施した場合はRAM105の復帰可能データ領域の書き換えプログラムが上書きされてしまうので、書き換えが再開されたかまたは起動されたかを判断する(ステップ1106)。このとき、切換部104は、要求フラグRが1でかつ中断フラグSが0から1に変化したとき、書き換えが再開されると判断し、要求フラグRが0から1に変化したとき、書き換えシーケンスが起動されると判断する。再開または起動されたと判断された場合には、キャッシュ制御部102は、不揮発性メモリからRAM105の復帰可能データ領域にデータを転送する(ステップ1107)。
このように、キャッシュ制御部102は、要否フラグRが偽であるとき、第1記憶領域(401)および第2記憶領域(402)をキャッシュメモリとして動作させる制御を行う。また、要否フラグRが真かつ中断フラグSが真であるとき、第2記憶領域402を使用することなく、前記第1記憶領域401をキャッシュメモリとして動作させる制御を行う。 なお、本発明は、データ処理装置として実現される以外に、データ処理装置を制御する制御方法、データ処理装置の機能が組み込まれた半導体装置として実現されてもよい。半導体装置には、LSI(Large Scale Integration)、その機能をFPGA、CPLDなどのプログラマブル・ロジック・デバイスに形成するIPコア等が含まれる。さらに、そのIPコアを記録した記録媒体などとして実現されるとしてもよい。
図7は、フラッシュ書換部106における書き換え処理フローを示す図である。
フラッシュ書換部106は、書き換えシーケンスが起動されたとき(要否フラグが0から1に変化したとき)、書き換え用データ作成ステップ(ステップ501)として、書換対象領域303に対して更新したい書き換え用のデータを復帰可能データ領域401内に用意する。この書き換え用のデータはCPU101から指示される。その後、書き換えステップ(ステップ502)で、書換対象領域303に対して所定ビット数の書き換えを実施し、書き換えが正常に完了したかどうかを書き換えチェックステップ(ステップ503)で確認する。ここで全ビットが書き換え完了していた場合は、要否フラグを1から0にリセットして(ステップ509)そのまま完了する。但し、フラッシュEEPROMはビット単位で書き換え完了するかどうかが異なる。よって、全ビット書き換え完了判定(ステップ504)により完了していない場合は書き換え用データ更新ステップ(ステップ505)において、完了しているビットは書換対象から外すよう書き換え用のデータを更新する。ここで、中断をする(タイマー106aがタイムアウト信号を発生した)場合(ステップ506)はフラッシュEEPROMを読める状態にして中断フラグSをセットする(ステップ507)。中断しない場合は書き換えステップ(ステップ502)に遷移して書き換えを継続する。中断した後、再開する(中断フラグSが1でかつタイマー106aがタイムアウト信号を発生した)場合は、中断フラグSをリセットし(ステップ508)、書き換えステップ(ステップ502)を実行する。
以上説明してきたように、本実施の形態におけるデータ処理装置は、CPU101と、電気的に書き換え可能な不揮発性メモリ107と、RAM105と、RAM105を、不揮発性メモリ107のプログラムをキャッシュするキャッシュメモリとして動作させる制御を行うキャッシュ制御部102と、不揮発性メモリ107を書き換えるための書き換えプログラムと書き換え用のデータとを格納するメモリとしてRAM105を利用し、当該書き換えプログラムを実行することにより不揮発性メモリを書き換える書き換えシーケンスを実行するフラッシュ書換部106と、キャッシュ制御部102およびフラッシュ書換部106を択一的に動作させる切換部104とを備える。
キャッシュ制御部102は、さらに、CPU101から出力されたアドレスに対応するデータがRAM105に記憶されている場合、不揮発性メモリ107を低電力モードにしてもよい。
切換部104は、不揮発性メモリ107の書き換えの要否に対応する真偽を示す要否フラグRを保持するフラグ保持部108を備え、要否フラグRが偽であるとき、キャッシュ制御部102を動作させフラッシュ書換部106を停止し、要否フラグRが真であるとき、キャッシュ制御部102を停止させフラッシュ書換部106を動作させてもよい。
CPU101は、不揮発性メモリ107の書き換え要求として、真を示す要否フラグRをフラグ保持部に設定し、さらにRAM105に書き換え用のデータを格納し、キャッシュ制御部102は、要否フラグRが偽から真に変化したとき、不揮発性メモリ107からRAM105に書き換えプログラムを転送してよい。
フラッシュ書換部は、RAM105から書き換えプログラムを読み出して実行することによって、RAM105に格納された書き換え用のデータを用いて不揮発性メモリ107に対して書き換えシーケンスを実行し、書き換えシーケンスの完了時に要否フラグRを真から偽に反転する。
また、切換部104は、不揮発性メモリ107の書き換えの要否に対応する真偽を示す要否フラグRと、不揮発性メモリ107に対する書き換えが中断しているか否かに対応する真偽を示す中断フラグSとを保持するフラグ保持部108を備え、要否フラグRが偽であるとき、および、要否フラグRが真かつ中断フラグSが真であるとき、キャッシュ制御部を動作させフラッシュ書換部106を停止し、要否フラグRが真であるとき、キャッシュ制御部を停止させフラッシュ書換部106を動作させてもよい。
RAM105は、書き換えプログラムを記憶するための第1記憶領域401と、書き換え用のデータを記憶するための第2記憶領域402とを有し、キャッシュ制御部102は、要否フラグRが偽であるとき、第1記憶領域402および第2記憶領域402をキャッシュメモリとして動作させる制御を行い、要否フラグRが真かつ中断フラグSが真であるとき、第2記憶領域402を使用することなく、第1記憶領域401をキャッシュメモリとして動作させる制御を行うようにしてもよい。
CPUは、不揮発性メモリ107の書き換え要求として、真を示す要否フラグRをフラグ保持部に設定し、さらにRAM105中に書き換え用のデータを格納し、キャッシュ制御部102は、要否フラグRが偽から真に変化したとき、不揮発性メモリ107からRAM105に書き換えプログラムを転送するようにしてもよい。
フラッシュ書換部106は、所定の時間をカウントしたときにタイムアウト信号を発生するタイマー106aを備え、フラッシュ書換部106は、RAM105から書き換えプログラムを読み出して実行することによって、RAM105に格納された書き換え用のデータを用いて不揮発性メモリ107に対して書き換えシーケンスを実行し、フラッシュ書換部106は、書き換え中にタイムアウト信号が発生したとき、書き換えシーケンスを中断し、中断フラグSを真に設定し、フラッシュ書換部106は、中断中にタイムアウト信号が発生したとき、中断フラグSを偽に設定する。キャッシュ制御部102は、中断フラグSが真から偽に変化したとき、不揮発性メモリ107からRAM105に書き換えプログラムを転送し、フラッシュ書換部106は、書き換えシーケンスの完了時に要否フラグRを真から偽に反転するようにしてもよい。
また、本実施の形態におけるデータ処理装置の制御方法は、CPU101と、電気的に書き換え可能な不揮発性メモリ107と、RAM105とを備えるデータ処理装置の制御方法であって、RAM105を、不揮発性メモリ107のプログラムをキャッシュするキャッシュメモリとして動作させるステップと、不揮発性メモリ107の書き換えの要否を判定するステップと、書き換え要と判定されたとき、RAM105のキャッシュメモリとしての動作を停止するステップと、不揮発性メモリ107を書き換えるための書き換えプログラムと書き換え用のデータとをRAM105に格納するステップと、当該書き換えプログラムを実行することにより不揮発性メモリ107を書き換えるステップと、不揮発性メモリ107の書き換え完了後にRAM105をキャッシュメモリとして動作させるステップとを有する。 以上のように本実施の形態に拠れば、キャッシュ用RAMを不揮発性メモリの書き換えプログラムを記憶するRAMとできるため、RAMの面積、更にはデータ処理装置を実現するマイクロコンピュータを小型化することができる。
(実施の形態2)
以下、本発明に係わる実施の形態2について、図面を参照しながら説明する。
本実施の形態におけるデータ処理装置は、実施の形態1と比べて、図5の期間C(603)つまり中断から再開までの期間において、RAM105をキャッシュメモリとして動作させない点が異なっている。これにより、キャッシュ制御部102が期間Dの最初に不揮発性メモリ107から復帰可能データ領域401に書き換えプログラムを転送する必要がなくなり、書き換え時間が長くなることを回避できる。
<構成>
続いて、本実施の形態2におけるデータ処理装置の構成について説明する。
図8は、本実施の形態2におけるデータ処理装置の構成を示す図である。図8は、図1と比べて、キャッシュ制御部102、切換部104およびフラッシュ書換部106の代わりにキャッシュ制御部802、切換部804およびフラッシュ書換部806を備える点が異なっている。同じ点は説明を省略し、以下異なる点を中心に説明する。
図9は不揮発性メモリ107とRAM105が書き換えにより状態が変更されることを期間A〜Eに分割して示している。RAM105は図4Aで示したように復帰可能データ領域と復帰不可データ領域に分割されている。
期間A(901)では不揮発性メモリ107がリード可能でありRAM105はキャッシュ制御802が不揮発性メモリ107のデータをリフィルするために全面利用可能である。
期間B(902)では不揮発性メモリ107を書き換え中であり不揮発性メモリ107はリード不可能であり、RAM105は復帰不可データ領域と復帰可能データ領域共に利用不可である。
期間C(903)では不揮発性メモリ107が中断でリード可能である期間であるが、RAM105の全面をキャッシュ制御として利用しない。
期間D(904)では書き換えを再開させて書き換え中となり、不揮発性メモリ107はリード不可であり、RAM105は復帰可能データ領域と復帰不可データ領域共にキャッシュ制御として利用不可である。
期間E(905)では不揮発性メモリ107の書き換えが完了し、不揮発性メモリ107はリード可能で、RAM105は全面キャッシュ制御として利用可能である。本実施の形態では期間Dの最初にRAM105に対して復帰可能データ領域に書換制御用命令を不揮発性メモリ107から転送する必要がない。このように本実施の形態2では再開時にRAM105に対して不揮発性メモリ107からのデータ転送(書き換えプログラムの転送)が不要になり、書き換え時間が長くなることを回避できる。
図10は図8の構成例のキャッシュ制御フローチャートを示す。書き換え中かどうかを判断し(ステップ1201)、書き換え中であれば、キャッシュ制御不可1204である。書き換え中でなければ中断状態かどうかを判断し(ステップ1202)、中断中であればキャッシュ制御不可と判断し(ステップ1204)、中断中でなければRAM105の全面領域を使用してのキャッシュ制御可能(ステップ1203)と判断する。
但し、新たに書き換えシーケンスが起動される場合つまり要否フラグRが0から1に変化した場合(ステップ1205)はRAM105の復帰可能データ領域が上書きされているので、データ転送(ステップ1206)により不揮発性メモリ107からRAM105の復帰可能データ領域にデータ(書き込みプログラム)を転送する必要がある。
なお、実施の形態1、2において、不揮発性メモリ107は、通常のEEPROMやFeRAM(強誘電体メモリ)、ReRAM(抵抗変化型メモリ)のように書き換えができる不揮発性メモリであれば、同様の効果を得ることができるということは言うまでもない。
本発明によるデータ処理装置は、キャッシュに使用するRAMを不揮発性メモリの書き換えに使用できるため、小型で低消費電力のデータ処理装置として有用である。
101 CPU
102、802 キャッシュ制御部
103 低電力フラグ保持部
104、804 切換部
105 RAM
106、806 フラッシュ書換部
107 不揮発性メモリ
108 フラグ保持部

Claims (11)

  1. CPUと、
    電気的に書き換え可能な不揮発性メモリと、
    RAMと、
    前記RAMを、前記不揮発性メモリのプログラムをキャッシュするキャッシュメモリとして動作させる制御を行うキャッシュ制御部と、
    前記不揮発性メモリを書き換えるための書き換えプログラムと、書き換え用のデータとを格納するメモリとして前記RAMを利用し、当該書き換えプログラムを実行することにより前記不揮発性メモリを書き換える書き換えシーケンスを実行する書換部と、
    前記キャッシュ制御部および前記書換部を択一的に動作させる切換部とを備えたデータ処理装置。
  2. 前記キャッシュ制御部は、さらに、前記CPUから出力されたアドレスに対応するデータが前記RAMに記憶されている場合、前記不揮発性メモリを低電力モードにする
    請求項1記載のデータ処理装置。
  3. 前記切換部は、
    前記不揮発性メモリの書き換えの要否に対応する真偽を示す要否フラグを保持するフラグ保持部を備え、
    前記要否フラグが偽であるとき、前記キャッシュ制御部を動作させ前記書換部を停止し、
    前記要否フラグが真であるとき、前記キャッシュ制御部を停止させ前記書換部を動作させる
    請求項2記載のデータ処理装置。
  4. 前記CPUは、前記不揮発性メモリの書き換え要求として、真を示す前記要否フラグを前記フラグ保持部に設定し、さらに前記RAMに書き換え用のデータを格納し、
    前記キャッシュ制御部は、前記要否フラグが偽から真に変化したとき、前記不揮発性メモリから前記RAMに前記書き換えプログラムを転送する
    請求項3記載のデータ処理装置。
  5. 前記書換部は、前記RAMから書き換えプログラムを読み出して実行することによって、前記RAMに格納された前記書き換え用のデータを用いて前記不揮発性メモリに対して書き換えシーケンスを実行し、
    前記書き換えシーケンスの完了時に前記要否フラグを真から偽に反転する
    請求項4記載のデータ処理装置。
  6. 前記切換部は、
    前記不揮発性メモリの書き換えの要否に対応する真偽を示す要否フラグと、前記不揮発性メモリに対する書き換えが中断しているか否かに対応する真偽を示す中断フラグとを保持するフラグ保持部を備え、
    前記要否フラグが偽であるとき、および、前記要否フラグが真かつ前記中断フラグが真であるとき、前記キャッシュ制御部を動作させ前記書換部を停止し、
    前記要否フラグが真であるとき、前記キャッシュ制御部を停止させ前記書換部を動作させる
    請求項2記載のデータ処理装置。
  7. 前記RAMは、前記書き換えプログラムを記憶するための第1記憶領域と、前記書き換え用のデータを記憶するための第2記憶領域とを有し、
    前記キャッシュ制御部は、
    前記要否フラグが偽であるとき、前記第1記憶領域および第2記憶領域をキャッシュメモリとして動作させる制御を行い、
    前記要否フラグが真かつ前記中断フラグが真であるとき、前記第2記憶領域を使用することなく、前記第1記憶領域をキャッシュメモリとして動作させる制御を行う
    請求項6記載のデータ処理装置。
  8. 前記CPUは、前記不揮発性メモリの書き換え要求として、真を示す前記要否フラグを前記フラグ保持部に設定し、さらに前記RAM中に書き換え用のデータを格納し、
    前記キャッシュ制御部は、前記要否フラグが偽から真に変化したとき、前記不揮発性メモリから前記RAMに前記書き換えプログラムを転送する
    請求項7記載のデータ処理装置。
  9. 前記書換部は、所定の時間をカウントしたときにタイムアウト信号を発生するタイマーを備え、
    前記書換部は、前記RAMから書き換えプログラムを読み出して実行することによって、前記RAMに格納された前記書き換え用のデータを用いて前記不揮発性メモリに対して書き換えシーケンスを実行し、
    前記書換部は、書き換え中に前記タイムアウト信号が発生したとき、書き換えシーケンスを中断し、前記中断フラグを真に設定し、
    前記書換部は、中断中にタイムアウト信号が発生したとき、前記中断フラグを偽に設定し、
    前記キャッシュ制御部は、前記中断フラグが真から偽に変化したとき、前記不揮発性メモリから前記RAMに前記書き換えプログラムを転送し、
    前記書換部は、前記書き換えシーケンスの完了時に前記要否フラグを真から偽に反転する
    請求項8記載のデータ処理装置。
  10. CPUと、
    電気的に書き換え可能な不揮発性メモリと、
    RAMと、
    前記RAMを、前記不揮発性メモリのプログラムをキャッシュするキャッシュメモリとして動作させる制御を行うキャッシュ制御部と、
    前記不揮発性メモリを書き換えるための書き換えプログラムと書き換え用のデータとを格納するメモリとして前記RAMを利用し、当該書き換えプログラムを実行することにより前記不揮発性メモリを書き換える書き換えシーケンスを実行する書換部と、
    前記キャッシュ制御部および前記書換部を択一的に動作させる切換部と
    を備える半導体装置。
  11. CPUと、電気的に書き換え可能な不揮発性メモリと、RAMとを備えるデータ処理装置の制御方法であって、
    前記RAMを、前記不揮発性メモリのプログラムをキャッシュするキャッシュメモリとして動作させるステップと、
    前記不揮発性メモリの書き換えの要否を判定するステップと、
    書き換え要と判定されたとき、前記RAMのキャッシュメモリとしての動作を停止するステップと、
    前記不揮発性メモリを書き換えるための書き換えプログラムと書き換え用のデータとを前記RAMに格納するステップと、
    当該書き換えプログラムを実行することにより前記不揮発性メモリを書き換えるステップと、
    前記不揮発性メモリの書き換え完了後に前記RAMを前記キャッシュメモリとして動作させるステップと
    を有するデータ処理装置の制御方法。
JP2010159175A 2010-07-13 2010-07-13 データ処理装置、半導体装置および制御方法 Pending JP2012022475A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010159175A JP2012022475A (ja) 2010-07-13 2010-07-13 データ処理装置、半導体装置および制御方法
PCT/JP2011/001942 WO2012008071A1 (ja) 2010-07-13 2011-03-31 データ処理装置、半導体装置および制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010159175A JP2012022475A (ja) 2010-07-13 2010-07-13 データ処理装置、半導体装置および制御方法

Publications (1)

Publication Number Publication Date
JP2012022475A true JP2012022475A (ja) 2012-02-02

Family

ID=45469091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010159175A Pending JP2012022475A (ja) 2010-07-13 2010-07-13 データ処理装置、半導体装置および制御方法

Country Status (2)

Country Link
JP (1) JP2012022475A (ja)
WO (1) WO2012008071A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9244824B2 (en) 2012-07-05 2016-01-26 Samsung Electronics Co., Ltd. Memory sub-system and computing system including the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IN2015DN00919A (ja) 2012-07-13 2015-06-12 Calysta Inc

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3056175B2 (ja) * 1998-11-13 2000-06-26 甲府日本電気株式会社 消費電力低減装置
US7173863B2 (en) * 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
JP2005332148A (ja) * 2004-05-19 2005-12-02 Keihin Corp 車載用制御装置の記憶データの書き換えシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9244824B2 (en) 2012-07-05 2016-01-26 Samsung Electronics Co., Ltd. Memory sub-system and computing system including the same

Also Published As

Publication number Publication date
WO2012008071A1 (ja) 2012-01-19

Similar Documents

Publication Publication Date Title
JP3986950B2 (ja) Cpuおよびこれを備えた情報処理装置、cpuの制御方法
JP2988866B2 (ja) コンピュータシステム
TWI528162B (zh) 電腦系統及其作業系統切換方法
JP2009211153A (ja) メモリ装置、情報処理装置及び電力制御方法
JP2008090435A (ja) 情報処理装置、およびその制御方法。
US9606913B2 (en) Electronic circuit for and method of executing an application program stored in a one-time-programmable (OTP) memory in a system on chip (SoC)
JP2004046324A (ja) 待機モード付情報処理装置およびその待機モード開始方法と待機モード解除方法
JP2013174975A (ja) メモリシステムとそのデータ書き込み方法
US20060230304A1 (en) Frequency control method and information processing apparatus
US20120233451A1 (en) Method for fast resuming computer system and computer system
JP4533960B2 (ja) 記憶装置および情報処理装置
WO2012008071A1 (ja) データ処理装置、半導体装置および制御方法
JP6150669B2 (ja) 情報処理装置、画像形成装置、及びその制御方法
JP2008077794A (ja) 情報処理装置およびディスクドライブ制御方法
JP2003085041A (ja) ディスクキャッシュシステム
US20130132659A1 (en) Microcontroller and method of controlling microcontroller
JP2008159003A (ja) 情報処理装置
JP5795758B2 (ja) 不揮発性記憶装置のデータを保護する方法
JP5521477B2 (ja) メモリ制御装置
JP2009258925A (ja) 計算機システムおよび計算機システムのメモリ管理方法
JP2007148695A (ja) 情報処理装置およびブートプログラムの書き換え方法
TWI522924B (zh) 電子裝置及其切換作業系統的方法
JPH06222985A (ja) メモリ制御装置
JP5894044B2 (ja) ハイブリッド・ディスク・ドライブにデータを記憶する方法および携帯式コンピュータ
JP3699947B2 (ja) マイクロコントローラ