[go: up one dir, main page]

JP2010020586A - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP2010020586A
JP2010020586A JP2008181071A JP2008181071A JP2010020586A JP 2010020586 A JP2010020586 A JP 2010020586A JP 2008181071 A JP2008181071 A JP 2008181071A JP 2008181071 A JP2008181071 A JP 2008181071A JP 2010020586 A JP2010020586 A JP 2010020586A
Authority
JP
Japan
Prior art keywords
data
flash memory
block
controller
identifier
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
JP2008181071A
Other languages
English (en)
Inventor
Katsuhisa Kitagawa
勝久 北川
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics 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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2008181071A priority Critical patent/JP2010020586A/ja
Priority to US12/458,226 priority patent/US8327064B2/en
Publication of JP2010020586A publication Critical patent/JP2010020586A/ja
Priority to US13/669,144 priority patent/US20130067150A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/1016Performance improvement
    • 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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

【課題】EEPROMエミュレーションにおいてアクセス処理時間を低減すること。
【解決手段】データ処理装置1は、フラッシュメモリ20と、RAM30と、フラッシュメモリ20及びRAM30にアクセス可能なコントローラ10とを備える。フラッシュメモリ20には複数種のデータが記録され、RAM30には記録データ情報STRが格納される。記録データ情報STRは、複数種のデータの各々の最新データに関して、フラッシュメモリ20中の先頭アドレスとデータ長を示す。コントローラ10は、RAM30中の記録データ情報STRを参照して、読み出し対象の種類の最新データをフラッシュメモリ20から読み出す。
【選択図】図2

Description

本発明は、データ処理装置に関し、特に、フラッシュメモリを備えるデータ処理装置に関する。
マイコン等の半導体デバイスに搭載される不揮発性メモリとして、フラッシュメモリやEEPROM(Electrically Erasable Programmable Read Only Memory)が知られている。フラッシュメモリとEEPROMは、データ消去単位、書き換え可能回数、回路面積などの点で互いに異なっている。
例えば、データ消去単位は、フラッシュメモリの場合にはブロック単位であり、EEPROMの場合にはビット単位である。また、書き換え可能回数は、フラッシュメモリの場合には100〜1000回程度であり、EEPROMの場合には1万〜10万回程度である。つまり、データ消去単位や書き換え可能回数の観点から言えば、EEPROMの方がフラッシュメモリよりも優れている。その一方、回路面積の観点から言えば、フラッシュメモリの方がEEPROMよりもはるかに優れている。
そこで、半導体デバイスにフラッシュメモリとEEPROMの両方を搭載し、記録データに応じてフラッシュメモリとEEPROMを使い分けることが提案されている。例えば、データ量が多い場合や、書き換え頻度が低いデータの場合は、フラッシュメモリが使用される。一方、データ量が少ない場合や、書き換え頻度が高いデータの場合は、EEPROMが使用される。
しかしながら、半導体デバイスにフラッシュメモリとEEPROMの両方を搭載することは、製造プロセスや製造コストの観点から言えば大きなデメリットである。そこで、半導体デバイスにフラッシュメモリだけを搭載し、そのフラッシュメモリの一部をEEPROMのように扱う技術が提案されている(特許文献1、特許文献2参照)。フラッシュメモリの一部をEEPROMのように使用する技術は、一般に、「EEPROMエミュレーション」と呼ばれている。
フラッシュメモリのメモリセルのデータを書き換える場合、そのメモリセルに記憶されているデータを消去してからでないと、新たなデータを書き込むことができない。但し、フラッシュメモリのデータ消去単位はブロック単位である。従って、通常のフラッシュメモリでは、あるブロック中のあるデータの書き換えは、当該ブロックの全てのデータを消去した後に行う必要がある。EEPROMエミュレーションでは、基本的にデータの書き換えは行われない。その代わり、新たなデータは、未だデータが書き込まれていない空き領域(未使用領域)に追加的に書き込まれていく。そして、割り当てられたブロックが一杯になった時点で、当該ブロックの記録データが一括消去される。これにより、ある1つのメモリセルに関する書き換え回数が減少し、見かけ上の書き換え可能回数がEEPROMと同程度まで増加する。
EEPROMエミュレーションでは、空き領域に新たなデータを書き込むために、また、追記により累積したデータのうち最新データを読み出すために、特有のメモリアクセス方法が必要となる。以下、図1を参照して、特許文献1(特開2006−260468)に記載されているメモリアクセス方法を説明する。
図1に示されるように、フラッシュメモリは、複数のブロックを有している。このうちブロックBlは、データ長格納領域として用いられる。データ長格納領域には、複数種のデータの識別子(ID1,ID2,ID3)とデータ長との対応関係を示す情報が格納されている。一方、ブロックBm〜Bnは、データを格納するデータ格納領域として用いられる。データ格納領域には、複数種のデータD1〜D3が、それぞれの識別子ID1〜ID3と共に格納される。ある1つのデータとその識別子が格納されている領域は、「セクション」と参照される。
データ格納領域へのアクセス時、「スキップ処理」が実施される。具体的には、まず、先頭セクションに格納されている識別子が読み出される。続いて、データ長格納領域に格納されている情報を参照することにより、読み出された識別子に対応付けられたデータ長が得られる。得られたデータ長だけアクセスアドレスを変化させることにより、先頭セクションに格納されているデータを読み出すことなく、次のセクションへのアクセスが可能となる。これがスキップ処理である。
スキップ処理を繰り返すことにより、データ格納領域中の空き領域の先頭を検出することが可能である。データ書き込み時には、検出された空き領域の先頭に新たなデータとその識別子が追記され、新たなセクションが形成される。データ読み出し時には、読み出し対象の種類のデータのうち、最新のもの(最も後ろのアドレスに格納されたもの)を読み出す必要がある。そのために、スキップ処理においてあるセクションから識別子が読み出されたとき、その識別子が読み出し対象の識別子に一致するかどうかの判定が行われる。一致する場合、読み出し対象アドレスが、当該セクションのアドレスに更新される。スキップ処理の繰り返しにより空き領域が検出されたとき、その時点で保持されている読み出し対象アドレスが、読み出し対象の最新データのアドレスを示す。従って、その読み出し対象アドレスに戻り、最新データが読み出される。
特開2006−260468号公報 特開2007−172259号公報
本願発明者は、次の点に着目した。図1で示されたようにスキップ処理が行われる場合、アクセス対象の検出までに時間がかかる。特に、ブロックに多数のデータが既に書き込まれている場合、空き領域の検出までにスキップ処理を何度も繰り返す必要があり、このことはアクセス処理時間の増大を招く。また、空き領域の検出までの時間は、ブロックに既に書き込まれているデータ数に依存して変動する。すなわち、アクセス処理時間のばらつきが大きく、それを予測することができない。これは、システム設計を困難にする。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、[課題を解決するための手段]を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明の第1の観点において、データ処理装置(1)は、フラッシュメモリ(20)と、RAM(30)と、フラッシュメモリ(20)及びRAM(30)にアクセス可能なコントローラ(10)とを備える。フラッシュメモリ(20)には複数種のデータが記録され、RAM(30)には記録データ情報(STR)が格納される。記録データ情報(STR)は、複数種のデータの各々の最新データに関して、フラッシュメモリ(20)中の先頭アドレスとデータ長を示す。コントローラ(10)は、RAM(30)中の記録データ情報(STR)を参照して、読み出し対象の種類の最新データをフラッシュメモリ(20)から読み出す。
本発明の第2の観点において、データ処理装置(1)は、フラッシュメモリ(20)と、RAM(30)と、フラッシュメモリ(20)及びRAM(30)にアクセス可能なコントローラ(10)とを備える。RAM(30)には、フラッシュメモリ(20)中の空き領域(50)の先頭アドレス(ADDF)を示す空き領域情報(DFS)が格納される。新たなデータをフラッシュメモリ(20)に書き込む際、コントローラ(10)は、RAM(30)中の空き領域情報(DFS)を参照して、フラッシュメモリ(20)中の空き領域(50)の先頭に新たなデータを書き込む。
本発明によれば、EEPROMエミュレーションにおいて、読み出し対象の種類の最新データをフラッシュメモリから高速に読み出すことが可能となる。また、本発明によれば、EEPROMエミュレーションにおいて、新たなデータをフラッシュメモリに高速に書き込むことが可能となる。すなわち、アクセス処理時間が総じて低減される。また、スキップ処理が行われないため、アクセス処理時間のばらつきがなくなる。
添付図面を参照して、本発明の実施の形態を説明する。
1.構成
図2は、本発明の実施の形態に係るデータ処理装置1の構成を示すブロック図である。データ処理装置1は、例えばマイコンである。データ処理装置1は、コントローラ10、フラッシュメモリ20、及びRAM(Random Access Memory)30を備えている。
コントローラ10は、CPU(Central Processing Unit)とフラッシュメモリコントローラを含んでいる。コントローラ10は、フラッシュメモリ20及びRAM30にアクセス可能である。コントローラ10は、メモリアクセスプログラムを実行することにより、フラッシュメモリ20及びRAM30に対するデータ書き込み及びデータ読み出しを実行する。
フラッシュメモリ20は、プログラムが格納されるプログラム領域21と、ユーザデータが格納されるデータ保存領域22とを有している。本実施の形態によれば、データ保存領域22の少なくとも一部が、EEPROMエミュレーションに利用される。データ保存領域22のうちEEPROMエミュレーションに割り当てられる領域は、以下、「EEPROM代替領域40」と参照される。割り当てられるEEPROM代替領域40は、予め決定され、固定される。
図3は、本実施の形態に係るフラッシュメモリ20を概念的に示している。フラッシュメモリ20は、複数のブロックB0,B1・・・を有している。1つのブロックのブロックサイズBLS及びアドレス範囲は、製品毎に予め決まっている。また、フラッシュメモリ20のデータ消去単位は、ブロック単位である。
上述の通り、フラッシュメモリ20の少なくとも一部が、EEPROM代替領域40として利用される。図3の例では、ブロックBm〜ブロックBnがEEPROM代替領域40として利用される(m≦n)。代替領域情報ALTは、このEEPROM代替領域40の範囲を示す情報である。例えば、代替領域情報ALTは、EEPROM代替領域40の先頭ブロックBmと最終ブロックBnのブロック番号を示す。この代替領域情報ALTは、あるブロックBaに格納されている。尚、EEPROM代替領域40は固定されるため、代替領域情報ALTを更新する必要はない。従って、代替情報領域ALTは、プログラム領域21あるいはデータ保存領域22のいずれに格納されてもよい。
EEPROM代替領域40に含まれる各ブロックは、状態フラグSTATを有している。状態フラグSTATは、当該ブロックの使用状態を示す情報であり、当該ブロックの先頭に記録される。状態フラグSTATの種類としては、「有効」、「無効」、「未使用」、「使用禁止」が挙げられる。初期状態において、各ブロックの状態フラグSTATは、「未使用」に設定されている。あるブロックに有効データが書き込まれる時、当該ブロックの状態フラグSTATは「有効」に変更される。
EEPROM代替領域40において、データDATは先頭ブロックBmから順番に書き込まれていく。1つのブロック内では、状態フラグSTATに続いて、データDATが順番に記録されていく。EEPROM代替領域40のうち、未だデータDATが書き込まれていない領域は、空き領域50(未使用領域)である。空き領域50の先頭アドレスは、以下、「空き領域先頭アドレスADDF」と参照される。
データDATはその種類に基づいて分類され、各データDATの種類は「識別子ID」により特定される。図3の例では、異なる3種類のデータDAT1、DAT2、及びDAT3がEEPROM代替領域40に記録されている。データDAT1、DAT2、及びDAT3は、それぞれ、識別子ID1、ID2、及びID3により特定される。各データDATの識別子IDは、例えば、ユーザによって決定され、管理される。
また、後に詳述されるように、ある種類の最新データDATが書き込まれるとき、同じ種類の既存データDATは、その最新データDATによって上書きされない。つまり、最新データDATは、同じ種類の既存データDATを上書きすることなく、EEPROM代替領域40の空き領域50に追記されていく。従って、同種(同じ識別子ID)の複数のデータDATがEEPROM代替領域40に存在し得る。例えば図3において、データDAT1−1とデータDAT1−2は、同じ種類(識別子ID1)のデータであるが、その内容が異なる。この場合、先頭により近いデータDAT1−1が古いデータDAT1であり、アドレスが後ろのデータDAT1−2が最新データである。
1つのデータDATは、当該データの種類を示す識別子ID、データ本体、及び当該データの終わりを示す終了フラグFLを含んでいる。例えば、図3に示されるように、データDAT1−2は、その識別子ID1、データ本体D1−2、及び終了フラグELから構成されている。識別子IDはデータDATの先頭に存在し、終了フラグFLはデータDATの最後に存在する。識別子IDのサイズ及び終了フラグFLのサイズは、予め決まっている。データ長DLは、データ本体(あるいはデータDAT全体)のサイズである。データ長DL1、DL2及びDL3は、それぞれ、識別子ID1、ID2及びID3のデータ長である。
図4は、本実施の形態に係るRAM30を概念的に示している。RAM30には、空き領域情報DFS、最大識別子情報NUM、及び記録データ情報STRが格納される。これらの情報は、RAM30のユーザ領域、専用領域のどちらに格納されてもよい。
空き領域情報DFSは、EEPROM代替領域40中の空き領域先頭アドレスADDFを示す。
最大識別子情報NUMは、識別子IDのうち番号が最大である「最大識別子IDmax」を示す。例えば、EEPROM代替領域40に3種類のデータDAT1、DAT2、及びDAT3が記録されている場合、最大識別子IDmaxは“ID3”である。最大識別子IDmaxは、新種のデータDATが書き込まれる際に更新される場合がある。
記録データ情報STRは、各々の種類(識別子ID)のデータDATに関して、最新データの先頭アドレスADD及びデータ長DLを示す。ここで、先頭アドレスADDとは、EEPROM代替領域40中で最新データDAT(あるいはそのデータ本体)が格納されている範囲の先頭のアドレスを意味する。図4において、記録データ情報STRは、記録データ情報STR−1、STR−2、STR−3を含んでいる。記録データ情報STR−1は、識別子ID1のデータDAT1に関して、最新データの先頭アドレスADD1とデータ長DL1を示している。記録データ情報STR−2は、識別子ID2のデータDAT2に関して、最新データの先頭アドレスADD2とデータ長DL2を示している。記録データ情報STR−3は、識別子ID3のデータDAT3に関して、最新データの先頭アドレスADD3とデータ長DL3を示している。好適には、RAM30における記録データ情報STRの格納場所は、識別子ID毎に予め決められている。
本実施の形態では、以上に説明された情報を適宜利用することにより、EEPROM代替領域40への高速アクセスが実現される。以下、本実施の形態に係るアクセス処理を詳しく説明する。第2節では、初期化処理が説明される。第3節では、データ読み出し処理が説明される。第4節では、データ書き込み処理が説明される。
2.初期化処理
データ処理装置1の電源投入時、初期化処理が実施される。具体的には、フラッシュメモリ20におけるデータDATの記録状態が検出され、上述の空き領域情報DFS、最大識別子情報NUM、及び記録データ情報STRが作成される。作成された情報は、RAM30に格納される。すなわち、電源OFFの直前の状態が再現される。図5は、本実施の形態に係る初期化処理を示すフローチャートである。図6は、その初期化処理を概念的に示している。図5及び図6を参照して、初期化処理を説明する。
ステップS1:
まず、電源投入時のリセット信号に応答して、RAM30の初期化が行われる。
ステップS2:
次に、コントローラ10は、フラッシュメモリ20に格納されている代替領域情報ALTを読み出す。コントローラ10は、代替領域情報ALTを参照することにより、EEPROM代替領域40の範囲を把握することができる。このEEPROM代替領域40は、上述の空き領域情報DFS、最大識別子情報NUM、及び記録データ情報STRを作成するために調査すべき範囲である。代替領域情報ALTが存在することにより、フラッシュメモリ20中で調査すべき範囲を即座に知ることができると言える。すなわち、初期化処理の効率が向上する。
ステップS3:
次に、コントローラ10は、EEPROM代替領域40中の有効ブロックを検出する。有効ブロックとは、有効データが書き込まれているブロックであり、状態フラグSTATが“有効”に設定されているブロックである。従って、コントローラ10は、各ブロックの状態フラグSTATを順番に参照することにより、有効ブロックを検出することができる。
より詳細には、図6に示されるように、コントローラ10は、最終ブロックBnから先頭ブロックBmに向かって有効ブロックを探索し、EEPROM代替領域40中の最後の有効ブロックを検出する。最終ブロックBnは、代替領域情報ALTに示されている。また、1つのブロックのブロックサイズBLSは、予め決まっている。従って、コントローラ10は、各ブロック内の詳細を読み出すことなく、各ブロックの状態フラグSTATだけを飛ばし読みすることができる。その結果、EEPROM代替領域40中の最後の有効ブロック(例:ブロックBm)が、素早く検出される。このように、各ブロックが状態フラグSTATを有しているため、有効ブロックの検出を効率的に行うことが可能である。すなわち、初期化処理の効率が向上する。
ステップS4:
次に、コントローラ10は、ステップS3で検出された最後の有効ブロックBmから、空き領域50の先頭を検出する。具体的には、図6に示されるように、コントローラ10は、有効ブロックBmの最終アドレスから先頭アドレスに向かって、データDATの終了フラグFLを探索する。最初に終了フラグFLが検出されるまでの領域は、空き領域50である。そして、最初に検出された終了フラグFLに続く領域が、空き領域50の先頭である。このようにして、コントローラ10は、空き領域50の先頭アドレスADDFを簡単に検出することができる。コントローラ10は、空き領域先頭アドレスADDFを示す空き領域情報DFSを作成し、それをRAM30に格納する。
ステップS5:
続いて、コントローラ10は、空き領域先頭アドレスADDFからEEPROM代替領域40の先頭に向かって、データDATを順番に読み出す。具体的には、図6に示されるように、コントローラ10は、各データDATの終了フラグFLを検出し、連続する2つの終了フラグFLの間の範囲を1つのデータDATとして特定する。識別子IDのサイズと終了フラグFLのサイズは予め決まっているため、コントローラ10は、読み出されたデータDATの識別子ID、データ長DL、及び先頭アドレスADDを認識することができる。
ステップS6:
データDATが1つ読み出されるたびに、コントローラ10は、読み出されたデータDATの識別子IDを確認する。もし、その識別子IDが新種のIDであれば(ステップS6;Yes)、それは、読み出されたデータDATが当該識別子IDの「最新データ」であることを意味する。この場合、処理は、次のステップS7に移行する。一方、識別子IDが既に読み出されているものであれば(ステップS6;No)、それは、読み出されたデータDATが最新データよりも古いデータであることを意味する。この場合、処理は、ステップS9に移行する。
ステップS7:
新しい識別子IDのデータDATが読み出された場合、そのデータDATは、当該識別子IDの最新データである。従って、コントローラ10は、当該識別子IDに関する記録データ情報STRを作成する。記録データ情報STRは、当該識別子IDの最新データの先頭アドレスADD及びデータ長DLを示す。コントローラ10は、作成した記録データ情報STRを、RAM30に格納する。
ステップS8:
最大識別子情報NUMが示す最大識別子IDmaxは、最初、初期値(例:ID0)に設定される。新しい識別子IDのデータDATが読み出されるたびに、コントローラ10は、その新しい識別子IDを現在の最大識別子IDmaxと比較する。新しい識別子IDが現在の最大識別子IDmaxよりも大きい場合、コントローラ10は、最大識別子IDmaxを新しい識別子IDで上書きする。すなわち、コントローラ10は、最大識別子情報NUMを更新する。一方、新しい識別子IDが現在の最大識別子IDmax以下である場合、コントローラ10は、最大識別子情報NUMの更新を行わない。
ステップS9:
読み出されたデータDATがEEPROM代替領域40の先頭データではない場合(ステップS9;No)、処理はステップS5に戻り、次のデータDATが読み出される。つまり、コントローラ10は、空き領域先頭アドレスADDFからEEPROM代替領域40の先頭に向かって、上述のステップS5〜S8を繰り返す。全てのデータDATが読み出されると(ステップS9;Yes)、初期化処理は終了する。
図6で示された有効ブロックBmの場合、初期化処理は次の通りである。まず、識別子ID2の最新データDAT2−2が読み出され、識別子ID2に関する記録データ情報STR−2が作成される。このとき、最大識別子IDmaxは初期値からID2に更新される。次に、識別子ID3の最新データDAT3−1が読み出され、識別子ID3に関する記録データSTR−3が作成される。このとき、最大識別子IDmaxはID2からID3に更新される。次に、識別子ID1の最新データDAT1−2が読み出され、識別子ID1に関する記録データSTR−1が作成される。このとき、最大識別子IDmaxは更新されない。次に、識別子ID2の古いデータDAT2−1が読み出される。最後に、識別子ID1の古いデータDAT1−1が読み出される。このようにして、それぞれの識別子IDの最新データに関する記録データSTR−1〜STR−3が作成される。また、最大識別子IDmax=ID3を示す最大識別子情報NUMが作成される。
以上に説明されたように、本実施の形態によれば、代替領域情報ALT、状態フラグSTAT、終了フラグFL等を利用することにより、初期化処理を効率的に実施することが可能となる。
3.データ読み出し処理
次に、EEPROM代替領域40からのデータ読み出しを説明する。図7は、本実施の形態に係るデータ読み出し処理を示すフローチャートである。
まず、コントローラ10は、読み出し対象である読み出しデータの識別子IDを取得する(ステップS10)。次に、コントローラ10は、RAM30に格納されている記録データ情報STRを参照して、読み出し対象の識別子IDの最新データDATに関する先頭アドレスADD及びデータ長DLを取得する(ステップS11)。次に、コントローラ10は、その先頭アドレスADDを含む読み出しブロックの状態フラグSTATを確認する(ステップS12)。その状態フラグSTATが“有効”であれば(ステップS12;Yes)、コントローラ10は、先頭アドレスADD及びデータ長DLに基づいて、読み出し対象の最新データDAT(読み出しデータ)を読み出しブロックから読み出す(ステップS13)。一方、その状態フラグSTATが“有効”でなければ(ステップS12;No)、コントローラ10は、異常状態処理(例:停止、エラー出力等)を行う(ステップS14)。
例えば、読み出し対象の識別子IDが“ID1”の場合、コントローラ10は、RAM30に格納されている記録データ情報STR−1を参照する。記録データ情報STR−1は、識別子ID1の最新データDAT1−2の先頭アドレスADD1及びデータ長DL1を示している。従って、コントローラ10は、その先頭アドレスADD1及びデータ長DL1に基づいて、最新データDAT1−2をEEPROM代替領域40から即座に読み出すことができる。
以上に説明されたように、本実施の形態によれば、RAM30に格納されている記録データ情報STRを参照することにより、読み出し対象の種類の最新データDATを高速に読み出すことが可能である。図1で示されたようなスキップ処理は必要ではない。ブロックに多数のデータDATが既に書き込まれている場合であっても、記録データ情報STRを参照することにより、読み出し対象に直ぐにアクセスすることが可能である。すなわち、EEPROMエミュレーションにおけるアクセス処理時間が低減される。また、スキップ処理が行われないため、アクセス処理時間のばらつきがなくなる。これは、システム設計を容易にする。
4.データ書き込み処理
次に、EEPROM代替領域40へのデータ書き込みを説明する。図8は、本実施の形態に係るデータ書き込み処理を示すフローチャートである。図8に示されるように、データ書き込み処理は、ブロック残量判定処理(ステップS20)、書き込み処理(ステップS30)、及びコピー処理(ステップS40)に大別される。
書き込み処理(ステップS30)では、EEPROM代替領域40中の既存データは上書きされず、新たなデータは空き領域50に追加的に書き込まれる。ここで、空き領域50の先頭を有するブロックの残量がデータ書き込みに不足している場合、書き込み先を次のブロックに変更する必要がある。この処理を行うのが、ブロック残量判定処理(ステップS20)である。コピー処理(ステップS40)は、オプションであり、実施されても実施されなくてもよい。以下、各ステップを詳細に説明する。
4−1.ブロック残量判定処理(ステップS20)
図9は、本実施の形態に係るステップS20を示すフローチャートである。
ステップS21:
コントローラ10は、新規の書き込みデータのデータ長DLを取得する。また、コントローラ10は、RAM30に格納されている空き領域情報DFSを参照し、空き領域先頭アドレスADDFを取得する。この空き領域先頭アドレスADDFで示される空き領域50の先頭が存在するブロックが、現在の書き込み先ブロックである。ブロックサイズBLSや空き領域先頭アドレスADDFに基づき、コントローラ10は、現在の書き込み先ブロック中の空き領域50の容量、すなわち、現在の書き込み先ブロックの残量を算出することができる。そして、コントローラ10は、書き込みデータ長DLと書き込み先ブロックの残量に基づいて、書き込みデータを現在の書き込み先ブロックに書き込めるか否かを判定する。つまり、コントローラ10は、現在の書き込み先ブロックの残量が新たなデータの書き込みに不足しているか否かを判定する。
ステップS22:
現在の書き込み先ブロックの残量が十分である場合(ステップS22;Yes)、ステップS20は終了し、処理はステップS30に移行する。現在の書き込み先ブロックの残量が不足している場合(ステップS22;No)、処理は、次のステップS23に進む。
ステップS23:
現在の書き込み先ブロックの残量が不足している場合、書き込み先ブロックを、次のブロックに変更する必要がある。但し、次のブロックもEEPROM代替領域40に包含されている必要がある。そこで、コントローラ10は、代替領域情報ALTを参照し、次のブロックがEEPROM代替領域40に含まれていることを確認する。もし、次のブロックがEEPROM代替領域40に含まれていない場合(ステップS23;No)、コントローラ10は、異常状態処理(例:停止、エラー出力等)を行う(ステップS25)。次のブロックがEEPROM代替領域40に含まれている場合(ステップS23;Yes)、処理は、次のステップS24に進む。
ステップS24:
図10に示されるように、コントローラ10は、空き領域先頭アドレスADDFを、現在の書き込み先ブロック(例:Bm)から、次のブロック(例:B(m+1))に移す。但し、次ブロックの先頭には、状態フラグSTATが格納されている。従って、コントローラ10は、状態フラグSTATのサイズを考慮して、空き領域先頭アドレスADDFを次ブロックの状態フラグSTATに続くアドレスに更新する。言い換えれば、コントローラ10は、空き領域先頭アドレスADDFを、次ブロック中の空き領域50の先頭アドレスに更新する。コントローラ10は、空き領域先頭アドレスADDFの更新を、RAM30中の空き領域情報DFSに反映させる。その後、処理はステップS30に移行する。
4−2.書き込み処理(ステップS30)
図11は、本実施の形態に係るステップS30を示すフローチャートである。
ステップS31:
コントローラ10は、RAM30に格納されている空き領域情報DFSを参照し、空き領域先頭アドレスADDFを取得する。この空き領域先頭アドレスADDFで示される空き領域50の先頭が存在するブロックが、書き込み先ブロックである。
ステップS32〜S35:
コントローラ10は、書き込み先ブロックの状態フラグSTATを確認する。その状態フラグSTATが“未使用”を示している場合(ステップS32;Yes)、コントローラ10は、状態フラグSTATを“有効”に設定する(ステップS33)。その後、処理は、ステップS36に進む。状態フラグSTATが“有効”を示している場合(ステップS32;No、ステップS34;Yes)、処理は、ステップS36に進む。それ以外の場合、コントローラ10は、異常状態処理(例:停止、エラー出力等)を行う(ステップS35)。
ステップS36:
コントローラ10は、書き込み先ブロックの空き領域50に、新規の書き込みデータDAT(識別子ID、データ本体、終了フラグFL)を書き込む。より詳細には、コントローラ10は、空き領域先頭アドレスADDFで示される空き領域50の先頭に、新規の書き込みデータDATを書き込む。すなわち、コントローラ10は、既存データを新規のデータDATで上書きすることなく、新規のデータDATを空き領域50に順番に追記していく。ある識別子IDのデータDATが書き込まれるとき、同じ識別子IDの既存データは書き換えられず、書き込まれたデータDATが当該識別子IDの最新データとなる。
ステップS37:
ステップS36の後、コントローラ10は、RAM30に格納されている情報の更新を行う。具体的には、図12に示されるように、コントローラ10は、空き領域情報DFSが示す空き領域先頭アドレスADDFを、書き込みデータDATの分だけ更新する。空き領域先頭アドレスADDFの更新量は、書き込みデータDATのデータ長DL、識別子ID及び終了フラグFLのサイズに基づいて算出可能である。
また、コントローラ10は、書き込みデータDATの書き込み先(空き領域先頭アドレスADDF)及びデータ長DLに基づいて、最新データの先頭アドレスADD及びデータ長DLを示す記録データ情報STRを更新する。ここで更新されるのは、書き込みデータDATの識別子IDに関連する記録データ情報STRである。例えば、識別子ID1のデータDAT1が新たに書き込まれた場合、対応する記録データ情報STR−1(先頭アドレスADD1、データ長DL1)が更新される。
書き込みデータDATが新しい種類である場合、新しい識別子IDが割り当てられる。割り当てられる識別子IDは、例えば、ユーザによって決定され、管理される。コントローラ10は、その新しい識別子IDに対応する新たな記録データ情報STRを作成し、それをRAM30に格納する。更に、新しい識別子IDの番号が最大識別子IDmaxの番号よりも大きければ、コントローラ10は、最大識別子情報NUMが示す最大識別子IDmaxを、その新しい識別子IDで更新(上書き)する。
以上に説明されたように、本実施の形態によれば、RAM30に格納されている空き領域情報DFSを参照することにより、空き領域50の先頭に即座にアクセスすることが可能である。従って、新規の書き込みデータDATをEEPROM代替領域40に高速に書き込むことが可能となる。空き領域50の先頭を検出するために、図1で示されたようなスキップ処理は必要ではない。ブロックに多数のデータDATが既に書き込まれている場合であっても、空き領域情報DFSを参照することにより、空き領域先頭アドレスADDFに直ぐにアクセスすることが可能である。すなわち、EEPROMエミュレーションにおけるアクセス処理時間が低減される。また、スキップ処理が行われないため、アクセス処理時間のばらつきがなくなる。これは、システム設計を容易にする。
4−3.コピー処理(ステップS40)
上述のステップS20において書き込み先ブロックが次のブロックに変更された場合、元のブロックに記録されていたそれぞれの識別子IDの最新データDATは、新しいブロックにコピーされてもよい。但し、このコピー処理はオプションであり、実施されなくてもよい。
図13は、本実施の形態に係るステップS40を示すフローチャートである。まず、コントローラ10は、ループ処理に用いられる識別子IDを“ID1”に設定する(ステップS41)。次に、コントローラ10は、設定された識別子IDの最新データDATを、EEPROM代替領域40から読み出す(ステップS42)。この読み出し処理は、上述のステップS10〜S13と同じである。次に、コントローラ10は、読み出された最新データDATを、新しいブロックに書き込む(ステップS43)。この書き込み処理は、上述のステップS30と同じである。
次に、コントローラ10は、現在の識別子IDを、最大識別子情報NUMが示す最大識別子IDmaxと比較する(ステップS44)。現在の識別子IDが最大識別子IDmaxより小さい場合(ステップS44;No)、コントローラ10は、識別子IDの番号を1だけ増加させる(ステップS45)。その後、新しい識別子IDに関して、上述のステップS42、S43が再度実行される。識別子IDが最大識別子IDmaxと等しくなった場合(ステップS44;Yes)、それは、全ての識別子IDの最新データDATが新しいブロックにコピーされたことを意味する。最後に、コントローラ10は、コピー元ブロックの状態フラグSTATを、“有効”から“無効”に変更する(ステップS46)。
このようなコピー処理が実施される場合、最大識別子情報NUMが必要であるが、EEPROM代替領域40中の有効ブロックは1つだけとなる。一方、コピー処理が実施されない場合、最大識別子情報NUMは不要であるが、有効ブロックの数はどんどん増える。コピー処理を実施するか否かは、ユーザの要求に応じて適宜決定されるとよい。
5.まとめ
本実施の形態によれば、EEPROMエミュレーションにおいて、フラッシュメモリ20に対する高速読み出し及び高速書き込みが実現される。つまり、EEPROMエミュレーションにおけるアクセス処理時間が総じて低減される。近年、環境に配慮した省エネ商品が要求されるようになってきている。省エネ商品を実現するには、動作時の消費電力を低減するだけでなく、処理を短時間に完了させ、消費電力の少ないスタンバイモードに素早く移行させることも必要である。つまり、データアクセスの高速化が重要である。この観点からも、本実施の形態に係る技術は有用である。
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
図1は、関連技術におけるEEPROMエミュレーションを説明するための概念図である。 図2は、本発明の実施の形態に係るデータ処理装置の構成を示すブロック図である。 図3は、本実施の形態に係るフラッシュメモリに記録されるデータを示す概念図である。 図4は、本実施の形態に係るRAMに格納される情報を示す概念図である。 図5は、本実施の形態に係る初期化処理を示すフローチャートである。 図6は、本実施の形態に係る初期化処理を説明するための概念図である。 図7は、本実施の形態に係るデータ読み出し処理を示すフローチャートである。 図8は、本実施の形態に係るデータ書き込み処理を示すフローチャートである。 図9は、本実施の形態に係るデータ書き込み処理のステップS20を示すフローチャートである。 図10は、本実施の形態に係るデータ書き込み処理のステップS20を説明するための概念図である。 図11は、本実施の形態に係るデータ書き込み処理のステップS30を示すフローチャートである。 図12は、本実施の形態に係るデータ書き込み処理のステップS30を説明するための概念図である。 図13は、本実施の形態に係るデータ書き込み処理のステップS40を示すフローチャートである。
符号の説明
1 データ処理装置
10 コントローラ
20 フラッシュメモリ
30 RAM
40 EEPROM代替領域
50 空き領域
ALT 代替領域情報
ADDF 空き領域先頭アドレス
STAT 状態フラグ
DAT データ
ID 識別子
IDmax 最大識別子
FL 終了フラグ
DL データ長
DFS 空き領域情報
NUM 最大識別子情報
STR 記録データ情報

Claims (9)

  1. 複数種のデータが記録されたフラッシュメモリと、
    記録データ情報が格納されたRAMと、
    前記フラッシュメモリ及び前記RAMにアクセス可能なコントローラと
    を備え、
    前記記録データ情報は、前記複数種の各々の最新データに関して、前記フラッシュメモリ中の先頭アドレスとデータ長を示し、
    前記コントローラは、前記記録データ情報を参照して、前記複数種のうち読み出し対象の種類の前記最新データを前記フラッシュメモリから読み出す
    データ処理装置。
  2. 請求項1に記載のデータ処理装置であって、
    前記複数種の各々の前記最新データは、同じ種類の既存データを上書きすることなく、前記フラッシュメモリに追記されている
    データ処理装置。
  3. 請求項1に記載のデータ処理装置であって、
    新たなデータを前記フラッシュメモリに書き込む際、前記コントローラは、既存データを上書きすることなく、前記フラッシュメモリ中の空き領域に前記新たなデータを書き込む
    データ処理装置。
  4. 請求項3に記載のデータ処理装置であって、
    前記RAMには更に、前記フラッシュメモリ中の前記空き領域の先頭アドレスを示す空き領域情報が格納され、
    前記コントローラは、前記空き領域情報を参照して、前記空き領域の先頭に前記新たなデータを書き込む
    データ処理装置。
  5. 請求項4に記載のデータ処理装置であって、
    前記コントローラは、前記新たなデータを書き込んだ後、前記新たなデータの書き込み先とデータ長に基づいて、前記記録データ情報と前記空き領域情報を更新する
    データ処理装置。
  6. 請求項4又は5に記載のデータ処理装置であって、
    前記フラッシュメモリの複数のブロックは、
    前記空き領域の先頭が存在する第1ブロックと、
    前記第1ブロックに続く第2ブロックと
    を含み、
    前記第1ブロック中の前記空き領域が前記新たなデータの書き込みに不足している場合、前記コントローラは、前記空き領域情報が示す前記空き領域の先頭アドレスを、前記第2ブロック中の前記空き領域の先頭アドレスに更新する
    データ処理装置。
  7. フラッシュメモリと、
    前記フラッシュメモリ中の空き領域の先頭アドレスを示す空き領域情報が格納されたRAMと、
    前記フラッシュメモリ及び前記RAMにアクセス可能なコントローラと
    を備え、
    新たなデータを前記フラッシュメモリに書き込む際、前記コントローラは、前記空き領域情報を参照して、前記空き領域の先頭に前記新たなデータを書き込む
    データ処理装置。
  8. 請求項7に記載のデータ処理装置であって、
    前記コントローラは、前記新たなデータを書き込んだ後、前記新たなデータの書き込み先とデータ長に基づいて、前記空き領域情報を更新する
    データ処理装置。
  9. 請求項7又は8に記載のデータ処理装置であって、
    前記フラッシュメモリの複数のブロックは、
    前記空き領域の先頭が存在する第1ブロックと、
    前記第1ブロックに続く第2ブロックと
    を含み、
    前記第1ブロック中の前記空き領域が前記新たなデータの書き込みに不足している場合、前記コントローラは、前記空き領域情報が示す前記空き領域の先頭アドレスを、前記第2ブロック中の前記空き領域の先頭アドレスに更新する
    データ処理装置。
JP2008181071A 2008-07-11 2008-07-11 データ処理装置 Pending JP2010020586A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008181071A JP2010020586A (ja) 2008-07-11 2008-07-11 データ処理装置
US12/458,226 US8327064B2 (en) 2008-07-11 2009-07-06 Data processor with flash memory, and method for accessing flash memory
US13/669,144 US20130067150A1 (en) 2008-07-11 2012-11-05 Data processor with flash memory, and method for accessing flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008181071A JP2010020586A (ja) 2008-07-11 2008-07-11 データ処理装置

Publications (1)

Publication Number Publication Date
JP2010020586A true JP2010020586A (ja) 2010-01-28

Family

ID=41506152

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008181071A Pending JP2010020586A (ja) 2008-07-11 2008-07-11 データ処理装置

Country Status (2)

Country Link
US (2) US8327064B2 (ja)
JP (1) JP2010020586A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012248094A (ja) * 2011-05-30 2012-12-13 Denso Corp 電子機器
JP2013130948A (ja) * 2011-12-20 2013-07-04 Aisin Seiki Co Ltd フラッシュメモリへのデータ書き込み方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130080690A1 (en) * 2011-09-23 2013-03-28 William Brooks Barrett Method to emulate eeprom using flash memory
US9110782B2 (en) 2012-04-27 2015-08-18 Freescale Semiconductor, Inc. Emulated electrically erasable memory parallel record management
EP2755142B1 (en) * 2013-01-09 2016-03-16 Sony Mobile Communications AB Data storage in a mobile device with embedded mass storage device
US9424176B2 (en) 2013-02-25 2016-08-23 Freescale Semiconductor, Inc. Robust sector ID scheme for tracking dead sectors to automate search and copydown
US9478271B2 (en) * 2013-03-14 2016-10-25 Seagate Technology Llc Nonvolatile memory data recovery after power failure
US9563491B2 (en) 2014-09-12 2017-02-07 Nxp Usa, Inc. High voltage failure recovery for emulated electrically erasable (EEE) memory system
CN105706067B (zh) * 2014-09-25 2019-04-26 株式会社京都软件研究 内置闪存的微型计算机和向内置于微型计算机的闪存的数据写入方法
US20160188414A1 (en) 2014-12-24 2016-06-30 Intel Corporation Fault tolerant automatic dual in-line memory module refresh
US10275160B2 (en) 2015-12-21 2019-04-30 Intel Corporation Method and apparatus to enable individual non volatile memory express (NVME) input/output (IO) Queues on differing network addresses of an NVME controller
CN106020735A (zh) * 2016-05-31 2016-10-12 晨星半导体股份有限公司 一种数据存储方法及数据存储装置
US10200376B2 (en) 2016-08-24 2019-02-05 Intel Corporation Computer product, method, and system to dynamically provide discovery services for host nodes of target systems and storage resources in a network
US10176116B2 (en) 2016-09-28 2019-01-08 Intel Corporation Computer product, method, and system to provide discovery services to discover target storage resources and register a configuration of virtual target storage resources mapping to the target storage resources and an access control list of host nodes allowed to access the virtual target storage resources
US10642695B2 (en) 2018-02-08 2020-05-05 Micron Technology, Inc. Storage backed memory package save trigger
CN108536614A (zh) * 2018-03-30 2018-09-14 天津麒麟信息技术有限公司 一种Flash直接随机写实现方法、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260468A (ja) * 2005-03-18 2006-09-28 Nec Electronics Corp 半導体装置
JP2008033801A (ja) * 2006-07-31 2008-02-14 Victor Co Of Japan Ltd メモリデータ管理装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485595A (en) * 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
US5568423A (en) * 1995-04-14 1996-10-22 Unisys Corporation Flash memory wear leveling system providing immediate direct access to microprocessor
JPH09185551A (ja) * 1996-01-08 1997-07-15 Mitsubishi Electric Corp 半導体記憶装置
JPH09319645A (ja) * 1996-05-24 1997-12-12 Nec Corp 不揮発性半導体記憶装置
US5943692A (en) * 1997-04-30 1999-08-24 International Business Machines Corporation Mobile client computer system with flash memory management utilizing a virtual address map and variable length data
US6104638A (en) * 1999-02-26 2000-08-15 Hewlett-Packard Company Use of erasable non-volatile memory for storage of changing information
US6282605B1 (en) * 1999-04-26 2001-08-28 Moore Computer Consultants, Inc. File system for non-volatile computer memory
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US7246346B2 (en) * 2002-09-17 2007-07-17 Microsoft Corporation System and method for persisting dynamically generated code in a directly addressable and executable storage medium
JP2005190288A (ja) * 2003-12-26 2005-07-14 Tdk Corp メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
US7389397B2 (en) * 2005-06-01 2008-06-17 Sandisk Il Ltd Method of storing control information in a large-page flash memory device
US7624239B2 (en) * 2005-11-14 2009-11-24 Sandisk Corporation Methods for the management of erase operations in non-volatile memories
JP4999325B2 (ja) * 2005-12-21 2012-08-15 ルネサスエレクトロニクス株式会社 フラッシュメモリ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260468A (ja) * 2005-03-18 2006-09-28 Nec Electronics Corp 半導体装置
JP2008033801A (ja) * 2006-07-31 2008-02-14 Victor Co Of Japan Ltd メモリデータ管理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012248094A (ja) * 2011-05-30 2012-12-13 Denso Corp 電子機器
JP2013130948A (ja) * 2011-12-20 2013-07-04 Aisin Seiki Co Ltd フラッシュメモリへのデータ書き込み方法

Also Published As

Publication number Publication date
US8327064B2 (en) 2012-12-04
US20130067150A1 (en) 2013-03-14
US20100011155A1 (en) 2010-01-14

Similar Documents

Publication Publication Date Title
JP2010020586A (ja) データ処理装置
US8291155B2 (en) Data access method, memory controller and memory storage system
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
US6865658B2 (en) Nonvolatile data management system using data segments and link information
JP4837731B2 (ja) プログラム可能な耐久度を有するフラッシュメモリ
US20030229753A1 (en) Flash memory file system
US20080120488A1 (en) Apparatus and method of managing nonvolatile memory
JP4046877B2 (ja) 一括消去型不揮発性メモリおよび携帯電話
JP2007133487A (ja) ファイル管理方法、装置、およびプログラム
WO2005059966A2 (en) Rotational use of memory to minimize write cycles
JP4356686B2 (ja) メモリ装置及びメモリ制御方法
JP4829202B2 (ja) 記憶装置及びメモリ制御方法
JP4748708B2 (ja) 半導体装置
JPH113287A (ja) 記憶装置およびそれに用いられる記憶領域管理方法
JP4794530B2 (ja) 半導体装置および携帯電話
JP4501881B2 (ja) メモリコントローラ及びフラッシュメモリシステム
JP5520880B2 (ja) フラッシュメモリ装置
JP4818453B1 (ja) 電子機器およびデータ読み出し方法
JP2011215871A (ja) 書き込み装置、書き込み方法、及び書き込みプログラム
US20090319587A1 (en) Memory controller, nonvolatile memory device, and nonvolatile memory system
JP2008171246A (ja) フラッシュメモリドライブ装置、その制御方法及びそのプログラム
JP4149640B2 (ja) 半導体メモリの書込制御装置及びその方法
JP5255389B2 (ja) 記憶装置およびメモリ制御方法
JP4935101B2 (ja) メモリアクセス方法及び装置
JP2017097404A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110401

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130222

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130313