JP6631513B2 - メモリ制御装置、メモリ装置およびメモリ制御方法 - Google Patents

メモリ制御装置、メモリ装置およびメモリ制御方法 Download PDF

Info

Publication number
JP6631513B2
JP6631513B2 JP2016517807A JP2016517807A JP6631513B2 JP 6631513 B2 JP6631513 B2 JP 6631513B2 JP 2016517807 A JP2016517807 A JP 2016517807A JP 2016517807 A JP2016517807 A JP 2016517807A JP 6631513 B2 JP6631513 B2 JP 6631513B2
Authority
JP
Japan
Prior art keywords
data
area
memory
flag
writing
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.)
Expired - Fee Related
Application number
JP2016517807A
Other languages
English (en)
Other versions
JPWO2015170454A1 (ja
Inventor
祐人 細萱
祐人 細萱
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Publication of JPWO2015170454A1 publication Critical patent/JPWO2015170454A1/ja
Application granted granted Critical
Publication of JP6631513B2 publication Critical patent/JP6631513B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)

Description

本開示は、メモリ制御装置、メモリ装置およびメモリ制御方法に関する。
ランダムアクセスおよびデータの上書き処理が可能な不揮発性メモリ(NVRAM(Non Volatile Radom Access Memory)の研究が盛んに行われている。不揮発性メモリとして、例えば、STT(Spin Transfer Torque)−RAMを含むMRAM(Magnetic Radom Access Memory)やPCM(Phase Change Memory)、ReRAM(Resistive Radom Access Memory)が提案されている。これらのうちの一部が、下記特許文献1に記載されている。MRAM、PCM、ReRAMなどは高い集積度を実現できるとともに、書き換え速度が高速であることから、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)に置き換わる主記憶装置として使用されることが期待されている。
特許4956922号公報
ところで、不揮発性メモリの使用時に、停電や誤操作によりユーザが意図しない電源断が発生する場合がある。意図しない電源断が発生した場合でも、電源断の前後において不揮発性メモリにおける情報(データ)の一貫性が保持されることが望まれる。
本開示の目的の一つは、例えば意図しない電源断が発生した場合でも、電源断の前後において不揮発性メモリにおけるデータの一貫性を保持できるメモリ制御装置、メモリ装置およびメモリ制御方法を提供することにある。
上述した課題を解決するために、本開示は、例えば、
少なくとも第1の領域と第2の領域とを有する不揮発性メモリに対して、データの書き込みおよび読み出しの制御を行う制御部を有し、
制御部は、
第1の領域に複数のデータの書き込みを行う場合に、一旦、複数のデータを第2の領域に書き込み、
第2の領域に書き込まれた複数のデータのそれぞれを第1の領域にコピーする場合に、第1の領域への複数のデータのコピーが完了したか否かを示すフラグを設定するように構成され
データを、第1の領域へのコピーが完了したか否かを示す他のフラグと、コピー先である第1の領域のアドレス情報とを対応付けて、第2の領域に書き込むように構成された
メモリ制御装置である。
本開示は、例えば、
少なくとも第1の領域と第2の領域とを有する不揮発性メモリと、
不揮発性メモリに対して、データの書き込みおよび読み出しの制御を行う制御部を有し、
制御部は、
第1の領域に複数のデータの書き込みを行う場合に、一旦、複数のデータを第2の領域に書き込み、
第2の領域に書き込まれた複数のデータのそれぞれを第1の領域にコピーする場合に、第1の領域への複数のデータのコピーが完了したか否かを示すフラグを設定するように構成され
データを、第1の領域へのコピーが完了したか否かを示す他のフラグと、コピー先である第1の領域のアドレス情報とを対応付けて、第2の領域に書き込むように構成された
メモリ装置である。
本開示は、例えば、
少なくとも第1の領域と第2の領域とを有する不揮発性メモリに対して、データの書き込みおよび読み出しの制御を実行する制御部が、
第1の領域に複数のデータの書き込みを行う場合に、一旦、複数のデータを第2の領域に書き込み、
第2の領域に書き込まれた複数のデータのそれぞれを第1の領域にコピーする場合に、第1の領域への複数のデータのコピーが完了したか否かを示すフラグを設定し、
データを、第1の領域へのコピーが完了したか否かを示す他のフラグと、コピー先である第1の領域のアドレス情報とを対応付けて、第2の領域に書き込む
メモリ制御方法である。
本開示は、例えば、
少なくとも第1の領域と第2の領域とを有する不揮発性メモリに対して、データの書き込みおよび読み出しの制御を実行する制御部が、
電源投入時に第1のフラグが設定されている場合には、第2の領域に記憶されているデータのうち、第2のフラグが設定されているデータを第1の領域にコピーする
メモリ制御方法である。
少なくとも一つの実施形態によれば、例えば意図しない電源断が発生した場合でも、電源断の前後において不揮発性メモリにおけるデータの一貫性を保持できる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれの効果であってもよい。また、例示された効果により本開示の内容が限定して解釈されるものではない。
図1A、図1Bおよび図1Cは、データの一貫性が維持されない例を説明するための図である。 図2は、本開示の一実施形態におけるメモリ装置の構成の一例を説明するためのブロック図である。 図3は、本開示の一実施形態における主記憶装置(不揮発性メモリ)の論理的な構成の一例を説明するための図である。 図4は、本開示の一実施形態における、処理の流れの一例を説明するためのシーケンスチャートである。 図5は、コミット処理が行われる前における、主記憶装置(不揮発性メモリ)の論理的な構成の一例を説明するための図である。 図6は、コミット処理中における、主記憶装置(不揮発性メモリ)の論理的な構成の一例を説明するための図である。 図7は、本開示の一実施形態における、電源再投入後の処理の流れの一例を説明するためのフローチャートである。 図8は、変形例におけるメモリ装置の構成の一例を説明するためのブロック図である。 図9は、変形例における、処理の流れの一例を説明するためのシーケンスチャートである。
以下、本開示の一実施形態について図面を参照しながら説明する。なお、説明は以下の順序で行う。
<1.一実施形態>
<2.変形例>
以下に説明する実施形態等は本開示の好適な具体例であり、本開示の内容がこれらの実施形態等に限定されるものではない。
<1.一実施形態>
情報処理システムにおいては、CPU(Central Processing Unit)(プロセッサ等と称される場合もある)の主記憶装置(ワークメモリ)としてDRAM等が使用される。このDRAMは、通常、揮発性メモリであり、電源の供給が停止するとその記憶内容は消失する。
一方、近年、主記憶装置として不揮発性メモリが使用されるようになっている。この不揮発性メモリは、例えば、大きなサイズを単位としたデータアクセスに対応したフラッシュメモリと、小さな単位での高速なランダムアクセスが可能な不揮発性ランダムアクセスメモリとに大別することができる。フラッシュメモリとしては、例えば、NAND型フラッシュメモリが挙げられる。一方、不揮発性ランダムアクセスメモリの例としては、上述したMRAM、PCM、ReRAMなどが挙げられる。
本開示における一実施形態では、主記憶装置として不揮発性メモリが使用される。本開示の一実施形態では、例示した種類の不揮発性メモリはもとより、他の不揮発性メモリを適用することができる。不揮発性メモリを主記憶装置として使用すると、電源断前の情報が不揮発性メモリ上に残るため、電源再投入後に情報の再構築や再展開をする必要がない。このため、起動処理の高速化や実行途中のアプリケーションを電源断前の状態から再開することが可能となる。
しかしながら、不揮発性メモリに対する処理、例えば、書き換え処理中に意図しない電源断が発生すると、不揮発性メモリのメモリセルの状態が不確定となりデータが破壊される。意図しない電源断が発生した場合でも、不揮発性メモリに対する書き換え処理を正常に終了できるだけの電力を供給できるように、システム内にキャパシタや電池を内蔵することによりデータの破壊を防止できる。しかしながら、特に小型のメモリ装置ではキャパシタや電池を設けることは物理的な制約から困難である。
一方、CPUからの一回の書き込み要求で書き換えられるメモリのビット数は、例えばメモリの仕様で限られている。このため、一回の書き換え要求で書き換えられるデータを、意図しない電源断から保護できたとしても、複数回の書き換え要求によって意味をなす処理の途中で電源断が発生すると、不揮発性メモリのデータ構造に矛盾が生じる。このため、電源再投入後にシステムが正しく動作しない等の不都合が生じるおそれがある。
この問題点について図1を参照して具体的に説明する。図1A、図1Bおよび図1Cは、データ構造の一つであるリスト構造(単方向リスト)を模式的に示したものである。リスト構造において、データ部とポインタ部とを含む情報部分はノードと呼ばれる。データ部は実際のデータであり、ポインタ部は次に続くデータを指し示している。
図1Aに示すように、ある初期状態では、ノードNとノードMとが関連付けられている(ステップST0)。ここで、ノードNとノードMとの間に、ノードLを追加する処理を考える。この場合には、図1Bに示すように、ノードNのポインタがノードLの番地を示すように書き換え処理が行われる(ステップST1)。次に、図1Cに示すように、ノードLのポインタがノードMの番地を示すように書き換え処理が行われる(ステップST2)。このように、例えば、単方向リストのデータ構造においてノードを追加するには2回の書き換え処理が行われる。この2回の書き換え処理は、各処理が正常に終了することにより意味をなす、プログラム上の一の処理に対応する。
複数回の処理の途中、具体的には、ステップST1処理とステップST2の処理との間に意図しない電源断が発生したとする。この場合には、電源再導入時には、図1Bに示す状態となる。すなわち、ノードLとノードMとが関連づけられておらず、リスト構造のデータ構造であるリンク構造が不正な状態となってしまう。
このように、複数回の処理(例えば、書き込み処理)の途中で意図しない電源断が発生すると、データの一貫性が保持できなくおそれがある。以下、このような点に鑑みてなされた本開示の一実施形態について説明する。なお、図1では理解を容易とするために単方向リストを例にして説明したが、本開示の一実施形態に適用可能なデータ構造はこれに限定されるものではない。
なお、以下の説明において、例えば、複数回のメモリの書き換えによって意味をなす一連の書き換えのことをトランザクションと称する。また、トランザクション中の書き換えをメモリ上に反映させることをコミットと称する。図1に示した例では、ステップST0の状態からステップST1およびステップST2の処理を経てなされる一連の書き換え処理がトランザクション処理に対応する。ステップST1およびステップST2の処理結果がメモリ上に反映され確定するとコミットがなされる。意図しない電源断は、トランザクション処理中もしくはコミット中に発生する可能性がある。
「メモリ装置の構成の一例」
図2は、本開示の一実施形態におけるメモリ装置を含む情報処理システム1の一例を示す。情報処理システム1は、例えば、ホストデバイス10とメモリ装置100とを有する。ホストデバイス10は、パーソナルコンピュータ、撮像装置、携帯電話やスマートフォン等の携帯型の電子機器などである。メモリ装置100は、例えば、携帯型のいわゆる、メモリカードである。メモリ装置100は、例えば、ホストデバイス10に対して着脱自在とされる。
ホストデバイス10とメモリ装置100との間で、データやコマンドのやりとりがなされる。また、メモリ装置100がホストデバイス10に接続された状態で、ホストデバイス10からメモリ装置100に対して電力が供給されるように構成されている。メモリ装置100は、ホストデバイス10から供給される電力を電源として動作する。このため、メモリ装置100がホストデバイス10から取り外されたり、ホストデバイス10からの電力の供給が停止した場合には、メモリ装置100の動作が停止する。なお、この例ではホストデバイス10とメモリ装置100とは機械的に着脱自在とされるがこれに限定されるものではない。ホストデバイス10とメモリ装置100とが所定の無線方式により接続され(ペアリング)、無線によりデータや電力等のやりとりがなされるようにしてもよい。また、メモリ装置100がキャパシタや電池等の蓄電素子を有していてもよい。
メモリ装置100は、例えば、メモリコントローラ101と、主記憶装置102と、外部インターフェース(I/O(Input Output))103と、バッファRAM104と、参照符号105により示される不揮発性メモリとを備えている。メモリコントローラ101は、主記憶装置102およびバッファRAM104のそれぞれに接続されている。バッファRAM104は、外部インターフェース103および不揮発性メモリのそれぞれに接続されている。
メモリコントローラ101は、メモリ装置100の各部に対する制御を行う。具体的には、メモリコントローラ101は、外部インターフェース103が外部のホストデバイス10から受信したコマンドを解釈したり、コマンドに応じて不揮発性メモリに対するデータの書込/読出制御を実行したり、不揮発性メモリの記録データを管理するための各種の管理情報の生成等をする。メモリコントローラ101は、さらに不揮発性メモリへのデータ書込時のECC(Error Correction Code)データ生成・付加、読出時のECCエラー訂正処理などを行う。また、メモリコントローラ101は、各種プログラムを実行することにより情報処理を実行する。メモリコントローラ101は、主記憶装置102における記憶領域をワーク領域として、データのロードまたはストアを繰り返すことによりプログラムを実行する。
主記憶装置102は、メモリコントローラ101の主記憶装置として機能する。主記憶装置102は、不揮発性のメモリ(NVRAM)であり、上述した種々の不揮発性メモリを適用することができる。主記憶装置102は、データ等が記憶されるエリアであるNVRAM102aと、NVRAM102aにアクセス可能であるとともにメモリコントローラ101と通信可能なNVRAMコントローラ102bとを有する。
外部インターフェース103は、外部のホストデバイス10とメモリコントローラ101との間で各種データの送受信を可能とするために設けられている。外部インターフェース103を介して、ホストデバイス10から入力されるコマンドの受信や、ホストデバイス10とのデータの送受信等が行われる。
バッファRAM104は、例えば、揮発性のメモリであるSRAMにより構成され、不揮発性メモリに対する読出/書込データを一時的に蓄積するものである。なお、図2では、メモリ装置100がバッファRAM104を内蔵する構成が示されているが、メモリ装置100に外付けされるメモリデバイスがバッファメモリとして使用されてもよい。
不揮発性メモリは、例えば、NAND型のフラッシュメモリにより構成される。NAND型フラッシュメモリは、複数の電気的に書き換え可能なメモリセルがマトリクス状に配置されたメモリセルアレイを有している。なお、図2では、不揮発性メモリが3つ備えられている例を示しているが、これに限定されるものではない。以下の説明では、個々の不揮発性メモリをフラッシュメモリ105a、フラッシュメモリ105b、フラッシュメモリ105cと表記し、個々のフラッシュメモリを区別する必要がない場合には、フラッシュメモリ105と表記する。
なお、図示は省略しているが、フラッシュメモリ105に対しては、メモリコントローラ101との間で信号線がそれぞれ接続されている。各信号線は、読出又は書込の対象とするフラッシュメモリ105に対してデータの読出又は書込のタイミングを指示するために用いるイネーブル(Enable)信号を供給するための信号線となる。
また、フラッシュメモリ105に対しては、共通のデータ線が接続されている。このデータ線は、バッファRAM104に対しても接続されており、これによりバッファRAM104からフラッシュメモリ105への書込データの供給およびフラッシュメモリ105からバッファRAM104への読出データの供給が可能とされている。
なお、図2に示す情報処理システム1やメモリ装置100の構成は例示であり、これに限定されるものではない。例えば、メモリ装置100はメモリカードに限定されることはなく、CPUに接続される主記憶装置を有する機器に対して、本開示を適用することができる。また、上述したメモリ装置100における配線は一実施形態に係るもののみを抽出して説明している。実際には、例えば、読出/書込のアドレス指定を実現するための信号線等の他の配線も接続されるものであるがこれらの図示は省略している。
情報処理システム1においてなされる、書き込み動作および読み出し動作の一例について概略的に説明する。ホストデバイス10から書込指示されたデータは、外部インターフェース103を介してバッファRAM104に一時的に蓄積される。バッファRAM104に蓄積されたデータは、メモリコントローラ101の制御により、データ線を介して所定のフラッシュメモリ105のいずれかに書き込まれる。
ホストデバイス10からフラッシュメモリ105のいずれかに書き込まれたデータの読出指示があった場合、メモリコントローラ101の制御によりフラッシュメモリ105から所定のデータが読み出される。読み出されたデータがデータ線を介してバッファRAM104に一時的に蓄積された後、所定のタイミングでもって外部インターフェース103を介してホストデバイス10に送出される。
「NVRAMの論理的な構成の一例」
図3は、NVRAM102aの論理的な構成の一例を示す。NVRAM102aのメモリ空間には、例えば、コミットフラグ領域CFと、テンポラリエリア(Temporary Area:一時記憶領域)TAと、メインエリア(Main Area:主記憶領域)MAとが設定される。コミットフラグ領域CFとして、テンポラリエリアTAの一部の領域が割り当てられてもよく、メインエリアMAの一部の領域が割り当てられてもよい。第1の領域の一例としてメインエリアMAが対応し、第2の領域の一例としてテンポラリエリアTAが対応する。
コミットフラグ領域CFには、少なくとも1ビットで表されるコミットフラッグ(commit flag)が記憶される。テンポラリエリアTAは、例えば、複数のエントリ(entries)を保存できるテーブル構造をなしている。各エントリには、エントリが有効であるか否かを示す有効フラグ(Valid Flag)、メインエリアMAの書き込み先を示すアドレス(address)およびデータ(data)本体が対応付けられて格納される。有効フラグは、例えば、1ビットで表される。
「メモリ装置における処理の一例」
メモリ装置における処理の一例について、図4に示すシーケンスチャートを参照して説明する。図4により示されるシーケンスチャートは、メモリコントローラ101とNVRAMコントローラ102bとの間でなされるシーケンスを示している。なお、以下に説明する例は、メモリコントローラ101が直接、メインエリアMAにのみアクセス可能な例である。すなわち、メモリコントローラ101が参照可能なアドレスはメインエリアMAにのみ付加されている。テンポラリエリアTAおよびコミットフラグ領域CFはNVRAM102a内に隠蔽されており、メモリコントローラ101が直接、それらの領域を操作できない例である。
通常の書き換え処理では、メモリコントローラ101からNVRAMコントローラ102bに対して書き換え要求(Store Data)コマンドが送信される(ステップST101)。NVRAMコントローラ102bは、書き換え要求コマンドに応じて、指定されたアドレスに記憶されているデータを指示されたデータに書き換える(ステップST102)。
トランザクション処理を行う場合には、メモリコントローラ101はNVRAMコントローラ102bに対してトランザクション開始要求(Start Transaction)コマンドを送信する。トランザクション開始要求コマンドがNVRAMコントローラ102bにより受信される(ステップST103)。
NVRAMコントローラ102bに対して、書き換え要求コマンドが送信される(ステップST104)。トランザクション開始要求コマンドを受信したNVRAMコントローラ102bは、以降の書き換え要求コマンドに対応する処理として、データをアドレス情報ととともに一旦、テンポラリエリアTAのテーブル内のエントリに記憶し、有効フラグを設定する(ステップST105)。有効フラグとして、例えば、「1」が設定される。なお、以下の説明における「1」および「0」は、論理的な値を示している。
なお、メモリコントローラ101から読み出し要求(Load Data)コマンドがなされた場合には、読み出し要求コマンドに対応するデータがテンポラリエリアTAに格納されている場合には、テンポラリエリアTAのデータが読み出される(ステップST106、ステップST107)。なお、読み出すべきデータがメインエリアMAに格納されている場合は、NVRAMコントローラ102bは、メインエリアMAから該当するデータを読み出す。
再度、NVRAMコントローラ102bに対して、書き換え要求コマンドがなされる(ステップST108)。NVRAMコントローラ102bは、データをアドレス情報とともにテンポラリエリアTAのテーブル内のエントリに追加し、有効フラグを設定する(ステップST109)。有効フラグとして、例えば、「1」が設定される。
一連の書き換え処理であるトランザクション処理が終了すると、メモリコントローラ101はNVRAMコントローラ102bに対してコミット要求(commit)コマンドを送信する(ステップST110)。コミット要求コマンドを受信したNVRAMコントローラ102bは、コミットフラグを設定する。コミットフラグとして、例えば、「1」が設定される。
そして、NVRAMコントローラ102bは、テンポラリエリアTAのテーブルのデータを、アドレス情報にしたがってメインエリアMAにコピーする。例えば、テンポラリエリアTAに記憶されている個々のエントリ単位または複数のエントリ単位でもって、各エントリのデータがメインエリアMAにコピーされる。NVRAMコントローラ102bは、コピーしたエントリの有効フラグを解除する。例えば、コピーしたエントリの有効フラグが「1」から「0」に書き換えられる。
全てのエントリのデータがメインエリアMAにコピーされると、NVRAMコントローラ102bは、コミットフラグを解除する(ステップST111)。例えば、コミットフラグが「1」から「0」に書き換えられる。すなわち、コミットフラグは、有効フラグが設定されている複数のデータのメインエリアMAへのコピーが、完了したか否かを示すフラグである。そして、処理が終了する。
図5は、コミット前におけるNVRAM102aの論理的な構成の一例を示す。図5に示すように、コミット前では、NVRAM102aにおけるコミットフラグは例えば「0」に設定される。なお、図5および図6におけるアドレスおよびデータは、16進法にしたがって表記されている。
図6を参照して、コミット要求コマンドに応じて実行されるコミット処理の具体例を説明する。図6に示すように、コミット要求コマンドに応じてコミットフラグが例えば「1」に設定される。コミットフラグ「1」によりコミット中であることが示される。
メインエリアMAのアドレス「0xA000」には、データ「0x00000000」が記憶されている。また、アドレス「0x8000」にはデータ「0xCC88CC88」が記憶されている。テンポラリエリアTAには、書き込み先(コピー先)のアドレスとしてアドレス「0xA000」が指定されたデータ「0xAA55AA55」と、書き込み先のアドレスとしてアドレス「0x8000」が指定されたデータ「0xFFFFFFFF」とが記憶されている。
データ「0xAA55AA55」およびデータ「0xFFFFFFFF」のそれぞれには有効フラグとして「1」が設定されている。データ「0xFFFFFFFF」およびデータ「0xAA55AA55」は、複数の書き込み処理により意味をなす処理における、個々の書き込み処理に対応したデータの一例である。
上述したように、コミット処理ではテンポラリエリアTAのデータがメインエリアMAの所定のアドレスにコピーされる。例えば、データ「0xAA55AA55」がメインエリアMAのアドレス「0xA000」にコピーされる。すなわち、データ「0x00000000」がデータ「0xAA55AA55」に書き換えられる。書き換え処理が終了すると、有効フラグが「1」から「0」に書き換えられる。
同様に、データ「0xFFFFFFFF」がメインエリアMAのアドレス「0x8000」にコピーされる。すなわち、データ「0xCC88CC88」がデータ「0xFFFFFFFF」に書き換えられる。書き換え処理が終了すると、有効フラグが解除され「1」から「0」に書き換えられる。有効フラグが「1」のデータに関して全ての書き換え処理が終了すると、コミットフラグが解除され「1」から「0」に書き換えられる。
「電源再投入後の処理の一例」
図7は、意図しない電源断が発生した後に、電源が再投入されたときに行われる処理の流れの一例を示すフローチャートである。以下に説明する処理は、例えば、NVRAMコントローラ102bの制御に応じて行われる。NVRAMコントローラ102bは、ホストデバイス10からのコマンドや、自身に記憶されているデータを参照すること等により、正常な終了処理がなされた後の電源投入か、もしくは、意図しない電源断が発生した後の電源投入であるのかを識別できるように構成されている。
ステップST201において、NVRAMコントローラ102bは、NVRAM102aのコミットフラグ(第1のフラグの一例に対応する)を確認する。コミットフラグが設定されている場合、換言すれば、コミットフラグが「1」である場合には、処理がステップST202に進む。
コミットフラグが「1」である場合には、意図しない電源断等の障害によりコミット処理が完了していないことを示している。すなわち、テンポラリエリアTAのデータのメインエリアMAへのコピーが完了していない状態である。したがって、ステップST202では、有効フラグ(第2のフラグの一例に対応する)に基づいて、テンポラリエリアTA内のテーブルのデータがメインエリアMAに書き込まれる。具体的には、有効フラグが「1」のエントリにおけるデータが、対応付けされているアドレス情報にしたがってメインエリアMAに書き込まれる。なお、メインエリアMAに書き込まれたデータの有効フラグは「1」から「0」に書き換えられる。そして、処理がステップST203に進む。
ステップST203では、テンポラリエリアTA内の有効フラグが「1」であるデータが全てメインエリアMAに書き込まれたか否かが判断される。有効フラグが「1」であるデータが全てメインエリアMAに書き込まれていない場合には、処理がステップST202に戻り、ステップST202の処理が繰り返される。有効フラグが「1」であるデータが全てメインエリアMAに書き込まれた場合には、処理がステップST204に進む。
ステップST204では、コミットフラグが解除される。具体的には、コミットフラグが「1」から「0」に書き換えられる。これにより、メインエリアMAにおけるデータの一貫性を保持することが可能となる。そして、処理が終了する。
ステップST201における判断処理で、コミットフラグが設定されていない場合、換言すれば、コミットフラグが「0」である場合には、処理がステップST205に進む。コミットフラグが「0」であるということは、例えば、トランザクション開始後コミット処理が行われる前に意図しない電源断等の障害が発生したことを示している。したがって、ステップST205では、テンポラリエリアTA内のテーブルの有効フラグを全て解除し、テンポラリエリアTA内のデータを無効にする。具体的には、有効フラグを全て「0」にし、テンポラリエリアTAをトランザクション処理前の状態にする。なお、図示は省略しているが、NVRAMコントローラ102bは、メモリコントローラ101からトランザクション開始要求コマンドを明示的に受け取ると、再度、トランザクション処理を開始する。そして、処理が終了する。
なお、トランザクション処理が行われていない状態で意図しない電源断等の障害が発生した場合もコミットフラグが「0」になる。この場合も同様の処理が行われる。また、意図しない電源断に限らず、正常に終了処理がなされた後に再度、電源が投入された場合にも上述した処理と同様の処理が行われる。
なお、コミットフラグが「0」である場合に、ステップST205の処理において、NVRAM102aのテンポラリエリアTA内のデータを消去する処理が行われてもよい。また、テンポラリエリアTAの先頭のエントリに有効フラグとして「0」が設定されている場合には、有効フラグが「1」であるエントリが存在しないものとみなして、テンポラリエリアTA内のデータを消去しないようにしてもよい。
以上説明した本開示の一実施形態によれば、主記憶装置として不揮発性メモリを使用した場合に、意図しない電源断が発生した場合でも電源再投入後に不揮発性メモリ上のデータ構造に矛盾が生じることを防止できる。このため、データの再構築処理や再展開が不要となり、システムを高速に起動することが可能となる。
<2.変形例>
以上、本開示の実施形態について具体的に説明したが、本開示は、上述の実施形態に限定されるものではなく、本開示の技術的思想に基づく各種の変形が可能である。
図8は、メモリ装置100の変形例を説明するための図である。図8に示すように、不揮発性メモリを主記憶装置102として使用するとともに、バッファRAMとして使用する構成としてもよい。
上述した一実施形態では、NVRAMコントローラ102bがNVRAM102aのメインエリアMAのみにアクセス可能な構成としたが、これに限定されるものではない。
例えば、不揮発性メモリからなる主記憶装置102の全領域にアドレスが付加される。当該アドレスを使用して、メモリコントローラ101が主記憶装置102に対してメインエリアMA、テンポラリエリアTAおよびコミットフラグ領域CFを論理的に割り当て、各領域を使い分けるようにしてもよい。
図9は、テンポラリエリアTAへの書き込み処理やコミットフラグの書き換え処理等をメモリコントローラ101が制御する場合の、メモリ装置100における処理の流れの一例を示す。
通常の書き込み処理では、メモリコントローラ101は、データをNVRAM102aのメインエリアMAに書き込む(ステップST301)。
トランザクション処理を行う場合には、メモリコントローラ101は、トランザクション処理の開始を宣言する(ステップST302)。トランザクション処理の開始を宣言したメモリコントローラ101は、書き込むべきデータをアドレス情報ととともにテンポラリエリアTAのテーブル内のエントリに追加し、有効フラグを設定する(ステップST303、ステップS305)。有効フラグとして、例えば、「1」が設定される。
なお、データを読み出す場合は、メモリコントローラ101は、読み出すべきデータがテンポラリエリアTAに格納されている場合には、テンポラリエリアTAから該当するデータを読み出す(ステップST304)。なお、読み出すべきデータがメインエリアMAに格納されている場合は、メモリコントローラ101は、メインエリアMAから該当するデータを読み出す。
一連の書き換え処理であるトランザクション処理が終了すると、メモリコントローラ101は、コミットフラグを設定する(ステップST306)。NVRAM102aのコミットフラグ領域CFには、コミットフラグとして、例えば、「1」が設定される。
そして、メモリコントローラ101は、テンポラリエリアTAのテーブルのデータを一旦、読み出し、エントリ毎のアドレス情報を参照してメインエリアMAの書き換え処理を行う。例えば、テンポラリエリアTAに記憶されている個々のエントリ単位または複数のエントリ単位でもって、各エントリのデータがメインエリアMAにコピーされる。メモリコントローラ101は、コピーしたエントリの有効フラグを解除する。例えば、コピーしたエントリの有効フラグが「1」から「0」に書き換えられる(ステップST307、ステップST308)。
ステップST307およびステップST308の処理が、テンポラリエリアTAの全エントリに対して繰り返し行われる(ステップST309)。全エントリに対する処理が終了すると、コミットフラグが解除される(ステップST310)。例えば、コミットフラグが「1」から「0」に書き換えられる。このように、メモリコントローラ101がそれぞれのデータやフラグを書き換える処理を行うようにしてもよい。すなわち、NVRAMコントローラ102bがメモリ制御装置の一例として対応してもよく、メモリコントローラ101がメモリ制御装置の一例に対応してもよい。
上述した一実施形態および変形例における論理的な値は一例であり、これに限定されるものではない。論理的な値と、それが意味する内容は適宜、設定することができる。例えば、有効フラグが「0」が、メインエリアMAへのエントリのコピーが終了していないことを示すようにしてもよい。
上述した一実施形態では、主記憶装置として単一の不揮発性メモリが使用される例を示したが、主記憶装置として複数の不揮発性メモリが使用されてもよい。この場合に、異なる不揮発性メモリに、テンポラリエリアおよびメインエリアがそれぞれ設定されるようにしてもよい。
本開示は、装置に限らず、方法、プログラム、プログラムを記録した記録媒体、システム等により実現することができる。プログラムは、例えば、ネットワークを介して、若しくは、光ディスクや半導体メモリ等の可搬型のメモリを介してユーザに提供し得る。
なお、実施形態および変形例における構成および処理は、技術的な矛盾が生じない範囲で適宜組み合わせることができる。例示した処理の流れにおけるそれぞれの処理の順序は、技術的な矛盾が生じない範囲で適宜、変更できる。
本開示は、例示した処理が複数の装置によって分散されて処理される、いわゆるクラウドシステムに対して適用することもできる。実施形態等において例示した処理が実行されるシステムであって、例示した処理の少なくとも一部の処理が実行される装置として、本開示を実現することができる。
本開示は、以下の構成もとることができる。
(1)
少なくとも第1の領域と第2の領域とを有する不揮発性メモリに対して、データの書き込みおよび読み出しの制御を行う制御部を有し、
前記制御部は、
前記第1の領域に複数のデータの書き込みを行う場合に、一旦、前記複数のデータを前記第2の領域に書き込み、
前記第2の領域に書き込まれた前記複数のデータのそれぞれを前記第1の領域にコピーする場合に、前記第1の領域への前記複数のデータのコピーが完了したか否かを示すフラグを設定するように構成された
メモリ制御装置。
(2)
前記制御部は、前記コピーが完了した場合に前記フラグを解除するように構成された
(1)に記載のメモリ制御装置。
(3)
前記制御部は、前記データを、前記第1の領域へのコピーが完了したか否かを示すフラグと、コピー先である前記第1の領域のアドレス情報とを対応付けて、前記第2の領域に書き込むように構成された
(1)または(2)に記載のメモリ制御装置。
(4)
前記制御部は、前記データの前記第1の領域へのコピーが完了した場合に、前記第2の領域における前記データに対応する前記フラグを解除するように構成された
(3)に記載のメモリ制御装置。
(5)
前記複数のデータのそれぞれは、複数の書き込み処理により意味をなす処理における、個々の書き込み処理に対応したデータである
(1)乃至(4)のいずれかに記載のメモリ制御装置。
(6)
前記不揮発性メモリは、前記制御部に対して接続され、主記憶装置として使用されるメモリである
(1)乃至(5)のいずれかに記載のメモリ制御装置。
(7)
前記不揮発性メモリの第3の領域に前記フラグが記憶される
(1)乃至(6)のいずれかに記載のメモリ制御装置。
(8)
少なくとも第1の領域と第2の領域とを有する不揮発性メモリに対して、データの書き込みおよび読み出しの制御を行う制御部を有し、
前記制御部は、電源投入時に第1のフラグが設定されている場合には、前記第2の領域に記憶されているデータのうち、第2のフラグが設定されているデータを前記第1の領域にコピーするように構成された
メモリ制御装置。
(9)
前記第1のフラグは、前記第2のフラグが設定されているデータの全てが、前記第2の領域から前記第1の領域にコピーされたか否かを示す情報である
(8)に記載のメモリ制御装置。
(10)
前記第2の領域には、前記第2のフラグとコピー先である前記第1の領域のアドレス情報とが前記データに対応付けて記憶されており、
前記制御部は、前記アドレス情報に基づいて、前記データを前記第2の領域から前記第1の領域にコピーするように構成された
(8)または(9)に記載のメモリ制御装置。
(11)
前記制御部は、電源投入時に第1のフラグが設定されていない場合には、前記第2のフラグを解除するように構成された
(8)乃至(10)の何れかに記載のメモリ制御装置。
(12)
少なくとも第1の領域と第2の領域とを有する不揮発性メモリと、
前記不揮発性メモリに対して、データの書き込みおよび読み出しの制御を行う制御部を有し、
前記制御部は、
前記第1の領域に複数のデータの書き込みを行う場合に、一旦、前記複数のデータを前記第2の領域に書き込み、
前記第2の領域に書き込まれた前記複数のデータのそれぞれを前記第1の領域にコピーする場合に、前記第1の領域への前記複数のデータのコピーが完了したか否かを示すフラグを設定するように構成された
メモリ装置。
(13)
少なくとも第1の領域と第2の領域とを有する不揮発性メモリと、
前記不揮発性メモリに対して、データの書き込みおよび読み出しの制御を行う制御部を有し、
前記制御部は、電源投入時に第1のフラグが設定されている場合には、前記第2の領域に記憶されているデータのうち、第2のフラグが設定されているデータを前記第1の領域にコピーするように構成された
メモリ装置。
(14)
少なくとも第1の領域と第2の領域とを有する不揮発性メモリに対して、データの書き込みおよび読み出しの制御を実行する制御部が、
前記第1の領域に複数のデータの書き込みを行う場合に、一旦、前記複数のデータを前記第2の領域に書き込み、
前記第2の領域に書き込まれた前記複数のデータのそれぞれを前記第1の領域にコピーする場合に、前記第1の領域への前記複数のデータのコピーが完了したか否かを示すフラグを設定する
メモリ制御方法。
(15)
少なくとも第1の領域と第2の領域とを有する不揮発性メモリに対して、データの書き込みおよび読み出しの制御を実行する制御部が、
電源投入時に第1のフラグが設定されている場合には、前記第2の領域に記憶されているデータのうち、第2のフラグが設定されているデータを前記第1の領域にコピーする
メモリ制御方法。
1・・・情報処理システム
100・・・メモリ装置
101・・・メモリコントローラ
102・・・主記憶装置
102a・・・NVRAM
102b・・・NVRAMコントローラ

Claims (6)

  1. 少なくとも第1の領域と第2の領域とを有する不揮発性メモリに対して、データの書き込みおよび読み出しの制御を行う制御部を有し、
    前記制御部は、
    前記第1の領域に複数のデータの書き込みを行う場合に、一旦、前記複数のデータを前記第2の領域に書き込み、
    前記第2の領域に書き込まれた前記複数のデータのそれぞれを前記第1の領域にコピーする場合に、前記第1の領域への前記複数のデータのコピーが完了したか否かを示すフラグを設定するように構成され
    記データを、前記第1の領域へのコピーが完了したか否かを示す他のフラグと、コピー先である前記第1の領域のアドレス情報とを対応付けて、前記第2の領域に書き込むように構成された
    メモリ制御装置。
  2. 前記制御部は、前記第1の領域への前記複数のデータのコピーが完了した場合に前記フラグを解除するように構成された
    請求項1に記載のメモリ制御装置。
  3. 前記制御部は、前記データの前記第1の領域へのコピーが完了した場合に、前記第2の領域における前記データに対応する前記他のフラグを解除するように構成された
    請求項1又は2に記載のメモリ制御装置。
  4. 前記複数のデータのそれぞれは、複数の書き込み処理により意味をなす処理における、個々の書き込み処理に対応したデータである
    請求項1乃至のいずれかに記載のメモリ制御装置。
  5. 少なくとも第1の領域と第2の領域とを有する不揮発性メモリと、
    前記不揮発性メモリに対して、データの書き込みおよび読み出しの制御を行う制御部を有し、
    前記制御部は、
    前記第1の領域に複数のデータの書き込みを行う場合に、一旦、前記複数のデータを前記第2の領域に書き込み、
    前記第2の領域に書き込まれた前記複数のデータのそれぞれを前記第1の領域にコピーする場合に、前記第1の領域への前記複数のデータのコピーが完了したか否かを示すフラグを設定するように構成され
    記データを、前記第1の領域へのコピーが完了したか否かを示す他のフラグと、コピー先である前記第1の領域のアドレス情報とを対応付けて、前記第2の領域に書き込むように構成された
    メモリ装置。
  6. 少なくとも第1の領域と第2の領域とを有する不揮発性メモリに対して、データの書き込みおよび読み出しの制御を実行する制御部が、
    前記第1の領域に複数のデータの書き込みを行う場合に、一旦、前記複数のデータを前記第2の領域に書き込み、
    前記第2の領域に書き込まれた前記複数のデータのそれぞれを前記第1の領域にコピーする場合に、前記第1の領域への前記複数のデータのコピーが完了したか否かを示すフラグを設定し、
    記データを、前記第1の領域へのコピーが完了したか否かを示す他のフラグと、コピー先である前記第1の領域のアドレス情報とを対応付けて、前記第2の領域に書き込む
    メモリ制御方法。
JP2016517807A 2014-05-07 2015-04-21 メモリ制御装置、メモリ装置およびメモリ制御方法 Expired - Fee Related JP6631513B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014095925 2014-05-07
JP2014095925 2014-05-07
PCT/JP2015/002168 WO2015170454A1 (ja) 2014-05-07 2015-04-21 メモリ制御装置、メモリ装置およびメモリ制御方法

Publications (2)

Publication Number Publication Date
JPWO2015170454A1 JPWO2015170454A1 (ja) 2017-04-20
JP6631513B2 true JP6631513B2 (ja) 2020-01-15

Family

ID=54392314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016517807A Expired - Fee Related JP6631513B2 (ja) 2014-05-07 2015-04-21 メモリ制御装置、メモリ装置およびメモリ制御方法

Country Status (3)

Country Link
US (1) US9916103B2 (ja)
JP (1) JP6631513B2 (ja)
WO (1) WO2015170454A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106328059B (zh) * 2016-09-07 2017-10-27 京东方科技集团股份有限公司 用于电学补偿的存储器中数据更新的方法和装置
JP7089423B2 (ja) * 2018-07-12 2022-06-22 ルネサスエレクトロニクス株式会社 情報処理装置及び制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005149082A (ja) * 2003-11-14 2005-06-09 Hitachi Ltd ストレージ制御装置、及びストレージ制御装置の制御方法
JP2006126919A (ja) * 2004-10-26 2006-05-18 Kyocera Corp フラッシュメモリのデータ管理装置およびフラッシュメモリの制御方法
JP4956922B2 (ja) 2004-10-27 2012-06-20 ソニー株式会社 記憶装置
KR101336258B1 (ko) * 2007-05-29 2013-12-03 삼성전자 주식회사 비휘발성 메모리의 데이터 처리 장치 및 방법

Also Published As

Publication number Publication date
JPWO2015170454A1 (ja) 2017-04-20
US9916103B2 (en) 2018-03-13
WO2015170454A1 (ja) 2015-11-12
US20170046084A1 (en) 2017-02-16

Similar Documents

Publication Publication Date Title
JP3892851B2 (ja) メモリカード及び半導体装置
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
JP4828816B2 (ja) メモリカード、半導体装置、及びメモリカードの制御方法
US20190317685A1 (en) Apparatuses and methods for single level cell caching
US20070016719A1 (en) Memory device including nonvolatile memory and memory controller
US20080028132A1 (en) Non-volatile storage device, data storage system, and data storage method
JPWO2005083573A1 (ja) 半導体メモリ装置
US20160055095A1 (en) Storing data from cache lines to main memory based on memory addresses
JP2018101411A (ja) データストレージデバイスおよびその操作方法
JP4843222B2 (ja) 半導体記憶装置の制御方法、メモリカード、及びホスト機器
JP4460967B2 (ja) メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法
JP5981906B2 (ja) 画像形成装置
JP6631513B2 (ja) メモリ制御装置、メモリ装置およびメモリ制御方法
JP2007011872A (ja) メモリカードとその制御方法
US10613782B2 (en) Data storage system, data storage method of the data storage system, and method of manufacturing solid-state
JPWO2007105688A1 (ja) メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
CN110147332B (zh) 目录数据的管理方法与存储器装置
JP6919156B2 (ja) 電子機器、データ退避方法、及びプログラム
JP4661369B2 (ja) メモリコントローラ
JP5520880B2 (ja) フラッシュメモリ装置
US20160266803A1 (en) Memory system, information processing apparatus, control method, and initialization apparatus
JP2012033222A (ja) 半導体記憶装置およびその制御方法
JP2006331233A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2013174976A (ja) メモリシステムおよび制御プログラムの更新方法
JP2013004043A (ja) 情報処理装置、画像形成装置およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180406

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190701

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191125

R151 Written notification of patent or utility model registration

Ref document number: 6631513

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees