JP2010186340A - メモリシステム - Google Patents

メモリシステム Download PDF

Info

Publication number
JP2010186340A
JP2010186340A JP2009030297A JP2009030297A JP2010186340A JP 2010186340 A JP2010186340 A JP 2010186340A JP 2009030297 A JP2009030297 A JP 2009030297A JP 2009030297 A JP2009030297 A JP 2009030297A JP 2010186340 A JP2010186340 A JP 2010186340A
Authority
JP
Japan
Prior art keywords
log
management
storage unit
data
management table
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.)
Granted
Application number
JP2009030297A
Other languages
English (en)
Other versions
JP5376983B2 (ja
Inventor
Hironobu Miyamoto
博暢 宮本
So Yamazaki
創 山崎
Shinji Yonezawa
真司 米澤
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2009030297A priority Critical patent/JP5376983B2/ja
Priority to US12/559,983 priority patent/US8225058B2/en
Publication of JP2010186340A publication Critical patent/JP2010186340A/ja
Application granted granted Critical
Publication of JP5376983B2 publication Critical patent/JP5376983B2/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • 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/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Abstract

【課題】DRAMログの容量サイズを削減し、不正な電源断の際にも管理情報の整合を保つ。
【解決手段】ログ記憶エリアに蓄積記録されるタイプBログが設定値を超えた場合、タイプBの管理情報に関しては、マスターテーブルを更新し、ログ記憶エリアへの記録動作を中止し、コミット実行条件が成立したときに、コミットではなく、スナップショットを実行する。
【選択図】図1

Description

本発明は、不揮発性半導体メモリを備えたメモリシステムに関する。
ハードディスク装置を2次記憶装置として用いたパーソナルコンピュータにおいては、ハードディスク装置に格納されるデータが何らかの障害によって無効なデータとなってしまうことを防ぐためにバックアップをとる技術が知られている。たとえば、ハードディスク装置中のデータの変更を検出すると、そのデータの変更前のバックアップコピーであるスナップショットをとり、そのデータに対する更新を記録したログをとる。その後、所定の時間ごとにスナップショットをとるとともに、スナップショットをとる前の過去のログを無効にし、新しいログを生成するという処理が繰り返し行われる(たとえば、特許文献1参照)。このような処理を行うことで、データが無効になってしまった場合には、スナップショットとログを基にそのデータを復元することができる。
ところで、近年では、不揮発性半導体記憶装置であるNAND型フラッシュメモリの大容量化が進行し、このNAND型フラッシュメモリを搭載したメモリシステムとしてのSSD(Solid State Drive)が注目されている。フラッシュメモリは、磁気ディスク装置に比べ、高速、軽量などの利点を有している。しかし、このようなNAND型フラッシュメモリを2次記憶装置とするパーソナルコンピュータに格納されるデータのバックアップに対して、ハードディスク装置を2次記憶装置とするパーソナルコンピュータに格納されるデータのバックアップの場合と同様に上記特許文献1の技術を適用することはできない。それは、NAND型フラッシュメモリの大容量化には、1つのメモリセルに2ビット以上の複数のデータ(多値データ)を記憶することが可能な多値メモリ技術(MLC)が使用されているからである(たとえば、特許文献2参照)。
多値メモリを構成するメモリセルは、チャネル領域上にゲート絶縁膜、浮遊ゲート電極、ゲート間絶縁膜および制御ゲート電極が順に積層された積層ゲート構造を有する電界効果型トランジスタ構造を有し、浮遊ゲート電極に蓄積される電子の数に応じて、複数の閾値電圧を設定可能な構成を有している。そして、この複数の閾値電圧によって、多値記憶を可能とするために、1つのデータに対応する閾値電圧の分布を非常に狭く制御する必要がある。
また、パーソナルコンピュータなどのホスト機器が記録するデータは、時間的局所性、及び領域的局所性を兼ね備えている。そのため、データを記録する際に外部から指定されたアドレスにそのまま記録していくと、特定の領域に短時間に書き換え、すなわち消去処理が集中し、消去回数の偏りが大きくなる。そのため、NAND型フラッシュメモリを利用するメモリシステムでは、データ更新箇所を均等に分散させるウェアレベリングと呼ばれる処理が行われる。ウェアレベリング処理では、例えば、ホスト機器から指定される論理アドレスを、データ更新箇所が均等に分散されるように不揮発性半導体メモリの物理アドレスにアドレス変換している。
このようなアドレス変換の際には、外部から供給される論理アドレス(LBA)と、NANDフラッシュメモリ上でデータが記憶されている位置を示す物理アドレス(NANDアドレス)の対応関係を表すアドレス変換テーブルなどの管理テーブルを用いて、データの記憶位置を管理することが多い。この管理テーブルは、起動時、不揮発性のNANDフラッシュメモリから揮発性のDRAMなどのメモリに展開され、DRAM上に展開された管理テーブルはデータが書き込まれるたびに更新される。DRAM上に展開された管理テーブルは、電源断をまたいでも使用するために、例えば、上記スナップショットおよびログなどのバックアップ技術を用いてバックアップすることが必要となる。
このため、通常は、揮発性のDRAM上には、不揮発性のNANDフラッシュメモリから起動時に展開した管理テーブルと、該管理テーブルの変更内容を示すログとを記憶させ、NANDへのデータ書き込みに伴って、管理テーブルを更新してログを蓄積し、また、DRAM上の管理テーブルおよびログを適宜のタイミングで不揮発性のNANDフラッシュメモリにバックアップするようにしている。
ところが、昨今は、SSDの高性能化のために、ある一定処理単位中のNANDフラッシュメモリへのデータ書き込み量が増え、その分管理テーブルの更新量も増え、蓄積するログも増えている。DRAMは、通常、NANDフラッシュメモリのキャッシュメモリとしても使用されることが多いために、DRAM中で、いかに管理テーブルのサイズを小さくし蓄積するログ量を少なくする対策が望まれている。特に、DRAM上のログに関しては、発生した事象に伴ってログが蓄積されるため、発生する事象によっては、その事象を原因として蓄積すべきログ量の上限を見積もることができず、適切なDRAM上のログ設定容量(ログ蓄積量の上限設定値)を設定することが難しい。このため、蓄積すべきログ量がDRAM上のログ容量より大きくなった場合は、DRAM上のログ領域以外の領域にあるデータを破壊してしまうなどの不具合を起こしてしまう可能性を排除することができなかった。
米国特許出願公開第2006/0224636号明細書 特開2004−192789号公報
本発明は、揮発性メモリ上での適切なログ蓄積量の上限設定値を設定可能であってかつ不正な電源断が発生した場合でも管理情報の整合性を保つことが可能なメモリシステムを提供する。
本願発明の一態様によれば、揮発性の第1の記憶部と、不揮発性の第2の記憶部と、前記第1の記憶部を介してホスト装置と前記第2の記憶部との間のデータ転送を行うコントローラとを備えるメモリシステムにおいて、前記第2の記憶部には、前記第2の記憶部でのデータを管理するための第1および第2の管理テーブルが記憶され、前記コントローラは、前記第2の記憶部に記憶された第1および第2の管理テーブルを起動時にマスターテーブルとして前記第1の記憶部に転送するテーブル転送手段と、前記マスターテーブルにおける第1の管理テーブルを更新すべき事象が発生した際、第1の管理テーブルの更新情報を第1ログとして第1の記憶部のログ記憶エリアに蓄積記録し、前記マスターテーブルにおける第2の管理テーブルを更新すべき事象が発生した際、第2の管理テーブルの更新情報を第2ログとして第1の記憶部のログ記憶エリアに蓄積記録するとともに、前記マスターテーブルにおける第2の管理テーブルを更新するログ記録手段と、第1の条件が成立したときに、前記ログ記憶エリアに蓄積記録された第1ログおよび第2ログを前記第2の記憶部に保存するとともに第1ログの内容を前記マスターテーブルにおける第1の管理テーブルに反映するコミット動作を行うログ反映手段と、第1の条件とは異なる第2の条件が成立したときに、前記マスターテーブルにおける第1および第2の管理テーブルを前記第2の記憶部にスナップショットとして保存するスナップショット保存手段と、前記ログ記憶エリアに蓄積記録される第2ログが設定値を超える前記第1または第2の条件とは異なる第3の条件が成立したときに、前記ログ記録手段によるログ記憶エリアへの第2ログの記録動作を中止し、第1の条件がつぎに成立したときに、前記ログ反映手段によるコミット動作を禁止し、前記スナップショット保存手段によるスナップショット保存動作を実行させるログ溢れ制御手段とを備えることを特徴とする。
本発明によれば、揮発性メモリ上での適切なログ蓄積量の上限設定値を設定可能であってかつ不正な電源断が発生した場合でも管理情報の整合性を保つことが可能なメモリシステムを提供できる。
SSDの構成例を示すブロック図。 プロセッサの機能構成例を示すブロック図。 データ管理部の機能構成を示すブロック図。 本実施の形態の要部構成を示す機能ブロック図。 スナップショットとログの生成形態を概念的に示す図。 DRAMログ領域の記憶上限サイズを概念的に示す図。 本実施の形態の動作例を示すフローチャート。 ログ溢れ時の動作を概念的に示す図。 SSDを搭載したパーソナルコンピュータの全体図。 SSDを搭載したパーソナルコンピュータのシステム構成例を示す図。
以下に添付図面を参照して、本発明の実施の形態にかかるメモリシステムを詳細に説明する。なお、これらの実施の形態により本発明が限定されるものではない。
(第1の実施の形態)
図1は、SSD(Solid State Drive)100の構成例を示すブロック図である。SSD100は、コントローラとしてのドライブ制御回路4と、不揮発性半導体メモリとしてのNAND型フラッシュメモリ(以下、NANDメモリと略す)10と、揮発性半導体メモリとしてのDRAM20と、ATAインタフェース(ATA I/F)2などのメモリ接続インタフェースなどを備えている。SSD100は、ATA I/F2を介してパーソナルコンピュータあるいはCPUコアなどのホスト装置(以下、ホストと略す)1と接続され、ホスト1の外部メモリとして機能する。
NANDメモリ10は、ホスト1によって指定されたユーザデータを記憶したり、DRAM20で管理される管理情報をバックアップ用に記憶したりする。NANDメモリ10は、、複数のメモリセルがマトリクス状に配列されたメモリセルアレイを有し、個々のメモリセルは上位ページおよび下位ページを使用して多値記憶が可能である。NANDメモリ10は、複数のNANDメモリチップによって構成され、各NANDメモリチップは、データ消去の単位である物理ブロックを複数配列して構成される。また、NANDメモリ10では、物理ページごとにデータの書き込みおよびデータの読み出しが行われる。物理ブロックは、複数の物理ページによって構成されている。この実施の形態では、NANDメモリ10においては、4つの並列動作要素10a〜10dが各複数ビットの4チャネル(4ch)を介して、ドライブ制御回路4内部のNANDコントローラ113に並列接続されており、4つの並列動作要素10a〜10dを並列動作させることが可能である。
DRAM20は、データ転送用、管理情報記録用または作業領域用の記憶部として使用される。具体的には、データ転送用の記憶部(データ転送用キャッシュ)としては、ホスト1から書込要求があったデータをNANDメモリ10に書込む前に一時的に保存したり、ホスト1から読出要求があったデータをNANDメモリ10から読出して一時的に保存したりするために使用される。また、管理情報記録用の記憶部としては、NANDメモリ10に記憶されるデータの格納位置を管理するための管理情報(NANDメモリ10に記憶されている各種管理テーブルが起動時などに展開されたマスターテーブル、管理テーブルの変更差分のコピーである差分ログ、イベントが発生したことを記録するイベントログなど)を格納するために使用される。さらに、作業領域用の記憶部としては、管理情報を復元する際に用いるログの展開時などに使用される。
ドライブ制御回路4は、ホスト1とNANDメモリ10との間でDRAM20を介してデータ転送制御を行うとともに、SSD100内の各構成要素を制御する。
ドライブ制御回路4は、データアクセス用バス101、回路制御用バス102を備えている。回路制御用バス102には、ドライブ制御回路4全体を制御するプロセッサ104が接続されている。回路制御用バス102には、NANDメモリ10に記憶された各管理プログラム(FW:ファームウエア)をブートするブート用プログラムが格納されたブートROM105がROMコントローラ106を介して接続されている。
ATAインタフェースコントローラ(ATAコントローラ)111、NANDコントローラ113、およびDRAMコントローラ114は、データアクセス用バス101と回路制御用バス102との両方に接続されている。ATAコントローラ111は、ATAインタフェース2を介してホスト1との間でデータを送受信する。データアクセス用バス101には、データ作業領域およびファームウェア展開領域として使用されるSRAM115がSRAMコントローラ116を介して接続されている。NANDメモリ10に記憶されているファームウェアは起動時、ブートROM105に記憶されたブート用プログラムによってSRAM115に転送される。
DRAMコントローラ114は、プロセッサ104とDRAM20とのインタフェース処理などを実行する。NANDコントローラ113は、プロセッサ104とNANDメモリ10とのインタフェース処理、NANDメモリ10−DRAM20間のデータ転送制御、誤り訂正符号のエンコード/デコード処理などを実行する。
図2は、プロセッサ104により実現されるファームウェアの機能構成例を示すブロック図である。プロセッサ104により実現されるファームウェアの各機能は、大きくは、データ管理部(DM:Data Manager)120、ATAコマンド処理部(AM:ATA Manager)121、セキュリティ管理部122、ブートローダ123、初期化管理部124などに分類される。
データ管理部120は、NANDコントローラ113、DRAMコントローラ114などを介して、NANDメモリ10−DRAM20間のデータ転送、NANDメモリ10に関する各種機能を制御する。ATAコマンド処理部121は、ATAコントローラ111、DRAMコントローラ114を介して、データ管理部120と協動してDRAM20−ホスト1間のデータ転送処理を行う。セキュリティ管理部122は、データ管理部120およびATAコマンド処理部121と協動して各種のセキュリティ情報を管理する。
ブートローダ123は、パワーオン時、各管理プログラム(ファームウェア)をNANDメモリ10からSRAM115にロードする。初期化管理部124は、ドライブ制御回路4内の各コントローラ/回路の初期化を行う。
つぎに、データ管理部120について詳しく説明する。データ管理部120は、ATAコマンド処理部121が記憶デバイスであるNANDメモリ10やDRAM20に対して要求する機能の提供(ホスト1からのWrite要求、Cache Flush要求、Read要求等の各種コマンドへの応答)と、ホスト1から与えられる論理アドレスとNANDメモリ10との対応関係の管理と、スナップショット、ログによる管理情報の保護と、DRAM20およびNANDメモリ10を利用した高速で効率の良いデータ読み出し/書き込み機能の提供と、NANDメモリ10の信頼性の確保などを行う。
データ管理部120では、図3に示すように、多層の管理構成が採用されており、データ管理部120は、上層からATA層管理部120a、DRAM層管理部120b、論理層管理部120c、物理層管理部120dを備えている。
ATA層管理部120aは、ATAコマンド処理部121からの要求を受付け、この要求に応答するとともに、要求を適切な下位層の管理部に通知する。DRAM層管理部120bは、DRAM管理テーブル30を使用してDRAM20上のデータを管理する。
ここで、ホスト1はSSD100対し、ReadまたはWrite要求を発行する際には、ATAインタフェース2を介して論理アドレスとしてのLBA(Logical Block Addressing)及びデータサイズを入力する。LBAは、セクタ(サイズ:512B)に対して0からの通し番号をつけた論理アドレスである。また、論理ブロックとは、NANDメモリ10のチップ上の物理ブロックを複数組み合わせて構成される仮想的なブロックのことであり、この実施の形態では、論理ブロックは1つの物理ブロックを並列チャネル数分(この場合、図1に示すように4ch)まとめた単位のことをいう。論理ページも同様であり、物理ページを4ch分まとめた単位のことをいう。
論理層管理部120cは、各種の論理層管理テーブル40を使用してNANDメモリ10上のデータを管理するものであり、
・LBAと論理ブロックの対応関係の管理
・DRAM20からNANDメモリ10へのデータ書き込み制御
・NANDメモリ10からDRAM20へのデータ読み出し制御
・NANDメモリ10内のユーザデータの整理
などを実行する。
物理層管理部120dは、各種の物理層管理テーブル50を使用してNANDメモリ10を管理するとともに、論理ブロックの提供、不揮発情報の管理、NANDコントローラ113の制御などを実行する。具体的には、
・フリーブロック、バッドブロック、アクティブブロックの管理
・論理ブロックと物理ブロックの対応の管理
・物理的エラーの管理
・ウェアレベリング、リフレッシュの実行
・不揮発情報(スナップショット、ログ)の管理
NANDコントローラ113の制御
などを実行する。
フリーブロック(FB)とは、内部に有効データを含まない、用途未割り当ての論理ブロックのことである。アクティブブロック(AB)とは、用途が割り当てられた論理ブロックのことである。バッドブロック(BB)は、誤りが多いなど記憶領域として使用できない物理ブロックのことであり、例えば、消去動作が正常に終了しなかった物理ブロックがバッドブロックBBとして登録される。
図3に示した各管理テーブル30、40、50で管理される管理情報によって、ホスト1で使用されるLBAと、SSD100で使用される論理NANDアドレス(論理ブロックアドレスなど)と、NANDメモリ10で使用される物理NANDアドレス(物理ブロックアドレスなど)との間を対応付けることができ、ホスト1とNANDメモリ10との間のデータのやり取りを行うことが可能となる。
図4は、本実施の形態の要部の機能構成を示すブロック図である。NANDメモリ10には、ユーザデータを記憶するユーザデータ記憶部201と、NANDメモリ10上の所定の記憶領域に記憶され、図3に示した各管理テーブルのうちNANDメモリ10を管理するためのNAND管理テーブル202(論理層管理テーブル40および物理層管理テーブル50などを含む)と、NAND管理テーブル202と同様、NANDメモリ10上の所定の記憶領域に記憶され、NAND管理テーブル202の変更差分情報としてのログ(以下、NANDログ)203とが記憶されている。
DRAM20には、キャッシュメモリ206の他に、DRAM20上に展開されたNAND管理テーブル202であるマスターテーブル204と、マスターテーブル204に加えた変更内容を蓄積記憶するためのDRAM20上のログバッファ領域であるDRAMログ領域205とが用意される。
NANDメモリ10の所定の領域に記憶されているNAND管理テーブル202は、起動時に、揮発性のDRAM20上に展開される。DRAM20上に展開されたNAND管理テーブル202がマスターテーブル204である。マスターテーブル204を、データ管理部120が使用することで、マスターテーブル204は更新されていく。マスターテーブル204は、電源が切れても、電源が切れる以前の状態に復元する必要があり、このためマスターテーブル204を不揮発性のNANDメモリ10に保存する仕組みが必要となる。NANDメモリ10上の不揮発性のNAND管理テーブル202はスナップショットとも呼び、DRAM20上で使用されているマスターテーブル204をそのままNANDメモリ10に保存することを、スナップショットをとるとも表現する。
ログは、マスターテーブル204の変更差分情報である。マスターテーブル204の更新の度に、スナップショットをとっていたのでは、速度も遅く、NANDメモリ10への書き込み数が増えるために、通常は、DRAMログ領域205に蓄積される変更差分情報としてのログだけをNANDメモリ10に蓄積記録していく。ログをマスターテーブル204に反映し、NANDメモリ10に保存することを、コミットするとも表現する。コミットによってNANDメモリ10に保存されたログがNANDログ203である。
図5に、データ更新時に、スナップショットとログがどのように更新されるかを示す。データ管理部120がデータ更新する際に、マスターテーブル204に加えた変更内容の差分情報としてのログをDRAMログ領域205に蓄積する。ここで、データ管理部120が管理する管理情報には、2つのタイプがある。1つは、データ更新の際に、DRAMログ領域205に対するログ(差分情報)の蓄積のみを行い、マスターテーブル204の更新は行わないタイプであり、タイプAと呼ぶ。もう一つは、データ更新の際に、DRAMログ領域205に対するログ(差分情報)の蓄積を行い、かつマスターテーブル204の更新も行うタイプであり、タイプBと呼ぶ。なお、データの読み書き処理の際には、マスターテーブル204の他にDRAMログ領域205に蓄積されたログも参照する。
データの更新が安定したとき、すなわち管理情報とデータの一貫性がとれるときに(各管理テーブルで管理される管理情報と、NANDメモリ10でのデータの状態とが一致するとき)、ログのコミットを行う。コミット処理では、DRAMログ領域205中のタイプAのログの内容をマスターテーブル204に反映させ、さらにDRAMログ領域205の全内容(タイプAおよびタイプB)をNANDメモリ10に保存して不揮発化する。スナップショットをNANDメモリ10に保存するのは、正常な電源断シーケンスの際、あるいはNANDログ203の保存領域が不足した場合などとする。このように、通常は、スナップショットの保存処理の実行間隔に比べ、コミット処理の実行間隔は、短い。ログまたはスナップショットがNANDメモリ10に書き終わった時点で、管理情報の不揮発化が完了する。スナップショットまたはコミットが行われると、DRAMログ領域205上に積み上げてきたログは、無効化される。
タイプAは、DRAM20上に蓄積されたログを無効にし、ある時点の状態まで戻ることを可能にしたい管理情報に採用され、タイプBは、状態を戻す必要がない管理情報に採用される。例えば、タイプAは、論理層管理部120cで使用される管理情報に利用され、タイプBは、物理層管理部120dで使用される管理情報に利用される。物理層管理部120dは、NANDメモリ10の物理的な状態(エラー発生など)を管理しているので、状態を戻す必要がない。一方、論理層管理部120cは、前述したように仮想的な論理ブロックでデータを管理しているので、例えば、データをある論理ブロックに書き込む際に、この論理ブロック内でエラーが発生した場合、この書き込み動作をキャンセルしてから、他の論理ブロックにデータ書き込みを行いたい場合などがあり、このような状況下で状態を戻す必要がある。因みに、上記した論理ブロック内のエラーは、物理層管理部120dで管理されている。なお、前述したように、更新差分情報を記録するログには、管理テーブルの変更差分のコピーである差分ログと、イベントが発生したことを記録するイベントログ(差分ログよりデータサイズが小さい)があるが、論理層管理部120cで使用されるタイプAのログには、差分ログが使用されることが多く、また物理層管理部120dで使用されるタイプBのログには、イベントログが使用されることが多い。
SSD100では、ホスト1からの書き込みデータのサイズが大きくても、AM121によって書き込みデータが分割されて所定のサイズ以下の書き込みしか行われないために、タイプAのログに関しては、DRAMログ領域205に蓄積するログの上限数を見積もることが可能である。しかしながら、タイプBのログに関しては、エラー発生などの物理現象を管理しているので、上限を定めることが難しい。例えば、バッドブロックBBが発生する場合、バッドブロックBBの発生個数の上限を予測することは難しく、バッドブロックBBの発生を記録するログ(イベントログ)によって、DRAMログ領域205を溢れさせる可能性がある。DRAMログ領域205として、充分な記憶容量が確保できればよいが、これでは、蓄積するログ量を少なくし、ログを記憶する不揮発性メモリの記憶容量を小さくするという要望に反することになる。
そこで、本実施の形態においては、図5を用いて説明したスナップショットの成立条件(正常な電源断シーケンスの際、あるいはNANDログ203の保存領域が不足した場合)の他に、新たなスナップショットの成立条件を追加する。すなわち、タイプBのログをDRAMログ領域205に蓄積する時点で、DRAMログ領域205の残量が少ない場合、すなわちタイプBのログが溢れたことを検出した時点で(タイプBのログの蓄積量が予め設定した上限値を超えた時点で)、DRAMログ領域205にタイプBのログを残すことを中止し、コミットの条件がつぎに成立した時に、マスターテーブル204をNANDメモリ10にスナップショット202として保存するスナップショット処理を実行し、DRAMログ領域205のタイプAおよびタイプBの蓄積ログをNANDメモリ10にNANDログ203として保存するコミット処理を実行しないようにする。
タイプBのログは、DRAMログ領域205に、ログを記録するタイミングで、マスターテーブル204を更新するため、タイプBのログ溢れを検出した場合、その後のタイプBのログを破棄したとしても、マスターテーブル204を、次回のコミットのタイミングで、スナップショットするようにすれば、不正な電源断が発生しても、タイプBに関する管理情報を復元することができる。前述したように、タイプAのログは上限サイズが決まっているため、タイプBのログの上限サイズを決定すると、DRAMログ領域205のサイズは、これらの和として定めることができる。図6は、DRAMログ領域205におけるタイプAログの記憶上限サイズと、タイプBログの記憶上限サイズを示すものである。
このような制御を行うデータ管理部120の機能構成を図4に示す。データ管理部120(コントローラ)120は、読み書き制御部210、スナップショット転送部211、ログ記録部212、ログ反映部213、スナップショット保存部214およびログ溢れ制御部215などによって構成されている。
読み書き制御部210は、マスターテーブル204およびDRAMログ領域205に蓄積されたログに基づいて、キャッシュメモリ206を介してNANDメモリ10に対するデータの読み書き制御を行う。スナップショット転送部211は、NANDメモリ10に記憶されたタイプAの管理情報を管理するためのタイプA管理テーブルとタイプBの管理情報を管理するためのタイプB管理テーブルと有するNAND管理テーブル(スナップショット)202を起動時にマスターテーブル204としてDRAM20上に展開する。
ログ記録部212は、マスターテーブル204におけるタイプAの管理テーブルを更新すべき事象が発生した際、タイプAの管理テーブルの差分情報としてのタイプAのログをDRAMログ領域205に蓄積記憶する。また、ログ記録部212は、マスターテーブル204におけるタイプBの管理テーブルを更新すべき事象が発生した際、タイプBの管理テーブルの差分情報としてのタイプBのログをDRAMログ領域205に蓄積記憶し、かつマスターテーブル204におけるタイプBの管理テーブルを更新する。
ログ反映部213は、前述のコミット実行条件が成立すると、DRAMログ領域205に蓄積されたタイプAおよびタイプBのログをNANDメモリ10にNANDログ203として保存するとともに、タイプAのログの内容をマスターテーブル204におけるタイプAの管理テーブルに反映する。
スナップショット保存部214は、前述のスナップショット実行条件が成立すると、前記マスターテーブルにおけるタイプAの管理テーブルおよびタイプBの管理テーブルをNANDメモリ10にスナップショット202として保存する。
ログ溢れ制御部215は、本実施の形態の主要な機能構成部であり、その処理内容を図7を用いて説明する。DRAMログ領域205に蓄積記録されるタイプBのログが所定の上限サイズを超えるログ溢れが発生した場合(ステップS300)、ログ溢れ制御部215は、ログ記録部212によるDRAMログ領域205へのタイプBのログの記録動作を中止させ(マスターテーブルのタイプBの管理テーブルへの更新動作は実行させる)、これ以後は、タイプBのログを廃棄させる。そして、次回のコミット実行条件が成立すると(ステップS330)、ログ反映部213によるコミット動作を禁止する一方、スナップショット保存部214によるスナップショット保存動作を実行させる(ステップS340)。
図8は、通常動作時と、タイプBのログ溢れ時の動作例を示すものである。通常時には、マスターテーブル204におけるタイプAの管理テーブルを更新すべき事象が発生した際、あるいはマスターテーブル204におけるタイプBの管理テーブルを更新すべき事象が発生した際には、ログ記録部212によって、タイプAあるいはタイプBのログをDRAMログ領域205に蓄積記憶している。そして、コミット実行条件が成立すると、ログ反映部213は、DRAMログ領域205に蓄積されたタイプAおよびタイプBのログをNANDメモリ10にNANDログ203として保存する。
一方、DRAMログ領域205に蓄積記録されるタイプBのログが所定の上限サイズを超えるログ溢れが発生した場合は、ログ溢れ制御部215は、DRAMログ領域205へのタイプBのログの記録動作を中止させるとともに、マスターテーブル204のタイプBの管理テーブルへの更新動作は実行させる。この結果、これ以降は、タイプAのログのみがDRAMログ領域205に蓄積可能となり、タイプBのログは廃棄される。そして、次回のコミット実行条件が成立すると(ステップS330)、ログ溢れ制御部215は、コミット動作を禁止する一方、スナップショット保存部214によるスナップショット保存動作を実行させる。
このようにこの実施の形態によれば、DRAMログ領域205においてタイプBのログが溢れた場合には、これ以降は、タイプAのみをDRAMログ領域205に蓄積し、タイプBの管理情報に関しては、マスターテーブル204を更新するようにし、次回のコミット実行条件が成立すると、コミットではなくスナップショットをとるようにしており、これにより本実施の形態では、DRAMログ領域205のサイズを充分に確保する必要がなくなり、DRAMログ領域205の容量サイズを削減すること可能となり、タイプBのログでタイプAのログを書く領域を書きつぶすこともなく、さらに不正な電源断の際にも管理情報の整合を保つことも可能となる。
因みに、上述したバッドブロックBBなどのエラーが発生する度に、マスターテーブル204を更新し、かつNANDメモリ10にスナップショットをとる手法も考えられが、この手法では、スナップショットをとる回数が増え、NANDメモリ10に対する書き込み回数、書き込み量が増えるという問題がある。
[第2の実施の形態]
図9は、SSD100を搭載したパーソナルコンピュータ1200の一例を示す斜視図である。パーソナルコンピュータ1200は、本体1201、及び表示ユニット1202を備えている。表示ユニット1202は、ディスプレイハウジング1203と、このディスプレイハウジング1203に収容された表示装置1204とを備えている。
本体1201は、筐体1205と、キーボード1206と、ポインティングデバイスであるタッチパッド1207とを備えている。筐体1205内部には、メイン回路基板、ODD(optical disk device)ユニット、カードスロット、及びSSD100等が収容されている。
カードスロットは、筐体1205の周壁に隣接して設けられている。周壁には、カードスロットに対向する開口部1208が設けられている。ユーザは、この開口部1208を通じて筐体1205の外部から追加デバイスをカードスロットに挿抜することが可能である。
SSD100は、従来のHDDの置き換えとして、パーソナルコンピュータ1200内部に実装された状態として使用してもよいし、パーソナルコンピュータ1200が備えるカードスロットに挿入した状態で、追加デバイスとして使用してもよい。
図10は、SSDを搭載したパーソナルコンピュータのシステム構成例を示している。パーソナルコンピュータ1200は、CPU1301、ノースブリッジ1302、主メモリ1303、ビデオコントローラ1304、オーディオコントローラ1305、サウスブリッジ1309、BIOS−ROM1310、SSD100、ODDユニット1311、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)1311、及びネットワークコントローラ1312等を備えている。
CPU1301は、パーソナルコンピュータ1200の動作を制御するために設けられたプロセッサであり、SSD100から主メモリ1303にロードされるオペレーティングシステム(OS)を実行する。更に、ODDユニット1311が、装填された光ディスクに対して読出し処理及び書込み処理の少なくとも1つの処理の実行を可能にした場合に、CPU1301は、それらの処理の実行をする。
また、CPU1301は、BIOS−ROM1310に格納されたシステムBIOS(Basic Input Output System)も実行する。尚、システムBIOSは、パーソナルコンピュータ1200内のハードウェア制御のためのプログラムである。
ノースブリッジ1302は、CPU1301のローカルバスとサウスブリッジ1309との間を接続するブリッジデバイスである。ノースブリッジ1302には、主メモリ1303をアクセス制御するメモリコントローラも内蔵されている。
また、ノースブリッジ1302は、AGP(Accelerated Graphics Port)バス1314等を介してビデオコントローラ1304との通信、及びオーディオコントローラ1305との通信を実行する機能も有している。
主メモリ1303は、プログラムやデータを一時的に記憶し、CPU1301のワークエリアとして機能する。主メモリ1303は、例えばDRAMから構成される。
ビデオコントローラ1304は、パーソナルコンピュータ1200のディスプレイモニタとして使用される表示ユニット1202を制御するビデオ再生コントローラである。
オーディオコントローラ1305は、パーソナルコンピュータ1200のスピーカ1306を制御するオーディオ再生コントローラである。
サウスブリッジ1309は、LPC(Low Pin Count)バス上の各デバイス、及びPCI(Peripheral Component Interconnect)バス1315上の各デバイスを制御する。また、サウスブリッジ1309は、各種ソフトウェア及びデータを格納する記憶装置であるSSD100を、ATAインタフェースを介して制御する。
パーソナルコンピュータ1200は、セクタ単位でSSD100へのアクセスを行う。ATAインタフェースを介して、書き込みコマンド、読出しコマンド、フラッシュコマンド等がSSD100に入力される。
また、サウスブリッジ1309は、BIOS−ROM1310、及びODDユニット1311をアクセス制御するための機能も有している。
EC/KBC1311は、電力管理のためのエンベデッドコントローラと、キーボード(KB)1206及びタッチパッド1207を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。
このEC/KBC1311は、ユーザによるパワーボタンの操作に応じてパーソナルコンピュータ1200の電源をON/OFFする機能を有している。ネットワークコントローラ1312は、例えばインターネット等の外部ネットワークとの通信を実行する通信装置である。
さらなる効果や変形例は、当業者によって容易に導き出すことができる。よって、本発明のより広範な態様は、以上のように表わしかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付のクレームおよびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
1 ホスト、2 ATAインタフェース、4 ドライブ制御回路、10 NANDメモリ、20 DRAM、40 論理層管理テーブル、50 物理層管理テーブル、104 プロセッサ、120 データ管理部、120c 論理層管理部、120d 物理層管理部、202 NAND管理テーブル(スナップショット)、203 NANDログ、204 マスターテーブル、205 DRAMログ領域、211 スナップショット転送部、212 ログ記録部、213 ログ反映部、214 スナップショット保存部、ログ溢れ制御部。

Claims (5)

  1. 揮発性の第1の記憶部と、不揮発性の第2の記憶部と、前記第1の記憶部を介してホスト装置と前記第2の記憶部との間のデータ転送を行うコントローラとを備えるメモリシステムにおいて、
    前記第2の記憶部には、前記第2の記憶部でのデータを管理するための第1および第2の管理テーブルが記憶され、
    前記コントローラは、
    前記第2の記憶部に記憶された第1および第2の管理テーブルを起動時にマスターテーブルとして前記第1の記憶部に転送するテーブル転送手段と、
    前記マスターテーブルにおける第1の管理テーブルを更新すべき事象が発生した際、第1の管理テーブルの更新情報を第1ログとして第1の記憶部のログ記憶エリアに蓄積記録し、前記マスターテーブルにおける第2の管理テーブルを更新すべき事象が発生した際、第2の管理テーブルの更新情報を第2ログとして第1の記憶部のログ記憶エリアに蓄積記録するとともに、前記マスターテーブルにおける第2の管理テーブルを更新するログ記録手段と、
    第1の条件が成立したときに、前記ログ記憶エリアに蓄積記録された第1ログおよび第2ログを前記第2の記憶部に保存するとともに第1ログの内容を前記マスターテーブルにおける第1の管理テーブルに反映するコミット動作を行うログ反映手段と、
    第1の条件とは異なる第2の条件が成立したときに、前記マスターテーブルにおける第1および第2の管理テーブルを前記第2の記憶部にスナップショットとして保存するスナップショット保存手段と、
    前記ログ記憶エリアに蓄積記録される第2ログが設定値を超える前記第1または第2の条件とは異なる第3の条件が成立したときに、前記ログ記録手段によるログ記憶エリアへの第2ログの記録動作を中止し、第1の条件がつぎに成立したときに、前記ログ反映手段によるコミット動作を禁止し、前記スナップショット保存手段によるスナップショット保存動作を実行させるログ溢れ制御手段と、
    を備えることを特徴とするメモリシステム。
  2. 前記第1の条件は、第1および第2の管理テーブルで管理される管理情報と、第2の記憶部でのデータの状態とが一致している場合を含むことを特徴とする請求項1に記載のメモリシステム。
  3. 前記第2の条件は、正常な電源断シーケンスが発生した場合、第2の記憶部に記憶される第1および第2ログの量が所定の閾値を越えた場合を含むことを特徴とする請求項1に記載のメモリシステム。
  4. 前記第2の記憶部は、ページ単位で読み出し及び書き込みが行われ、前記ページ単位の2以上の自然数倍の大きさである物理ブロック単位で消去が行われる不揮発性半導体メモリから構成され、
    前記コントローラは、
    ホスト装置が使用するセクタ単位のデータと、1以上の前記物理ブロックに対応付けられた論理ブロックとの対応を管理する論理層コントローラと、
    前記論理ブロックと物理ブロックとの対応およびバッドブロックを管理する物理層コントローラと、
    を有し、
    前記第1の管理テーブルには、前記論理層コントローラが管理する論理層管理情報が登録され、
    前記第2の管理テーブルには、前記物理層コントローラが管理する物理層管理情報が登録され、
    第1ログは、前記論理層管理情報に関するログを含み、前記第2ログは前記物理層管理情報に関するログを含むことを特徴とする請求項1に記載のメモリシステム。
  5. 前記第1ログは、第1の管理テーブルの更新前後の差分をコピーした差分ログを含み、
    前記第2ログは、第2の管理テーブルに関するイベントが発生したことを記録するイベントログを含むことを特徴とする請求項4に記載のメモリシステム。
JP2009030297A 2009-02-12 2009-02-12 メモリシステム Expired - Fee Related JP5376983B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009030297A JP5376983B2 (ja) 2009-02-12 2009-02-12 メモリシステム
US12/559,983 US8225058B2 (en) 2009-02-12 2009-09-15 Memory system managing a size of logs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009030297A JP5376983B2 (ja) 2009-02-12 2009-02-12 メモリシステム

Publications (2)

Publication Number Publication Date
JP2010186340A true JP2010186340A (ja) 2010-08-26
JP5376983B2 JP5376983B2 (ja) 2013-12-25

Family

ID=42541318

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009030297A Expired - Fee Related JP5376983B2 (ja) 2009-02-12 2009-02-12 メモリシステム

Country Status (2)

Country Link
US (1) US8225058B2 (ja)
JP (1) JP5376983B2 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4675984B2 (ja) * 2008-02-29 2011-04-27 株式会社東芝 メモリシステム
CN101681316A (zh) * 2008-03-01 2010-03-24 株式会社东芝 存储器系统
JP2010152514A (ja) * 2008-12-24 2010-07-08 Toshiba Corp メモリシステム
JP5317690B2 (ja) * 2008-12-27 2013-10-16 株式会社東芝 メモリシステム
JP5376983B2 (ja) * 2009-02-12 2013-12-25 株式会社東芝 メモリシステム
JP2011048725A (ja) * 2009-08-28 2011-03-10 Panasonic Corp 不揮発性記憶装置および不揮発性メモリコントローラ
US8219746B2 (en) * 2009-10-08 2012-07-10 International Business Machines Corporation Memory package utilizing at least two types of memories
US8671265B2 (en) 2010-03-05 2014-03-11 Solidfire, Inc. Distributed data storage system providing de-duplication of data using block identifiers
JP5238768B2 (ja) * 2010-07-27 2013-07-17 株式会社日立アドバンストデジタル 記憶制御装置およびデータ処理システム
IL208641A0 (en) * 2010-10-12 2010-12-30 Eci Telecom Ltd Method for accelerating start up of a computerized system
JP2012128643A (ja) 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
JP2012128816A (ja) * 2010-12-17 2012-07-05 Toshiba Corp メモリシステム
US8751758B2 (en) * 2011-07-01 2014-06-10 International Business Machines Corporation Delayed instant copy operation for short-lived snapshots
US8959416B1 (en) * 2011-12-16 2015-02-17 Western Digital Technologies, Inc. Memory defect management using signature identification
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9223805B2 (en) * 2012-01-30 2015-12-29 Memsql, Inc. Durability implementation plan in an in-memory database system
US9251055B2 (en) 2012-02-23 2016-02-02 Kabushiki Kaisha Toshiba Memory system and control method of memory system
JP5813589B2 (ja) * 2012-07-13 2015-11-17 株式会社東芝 メモリシステムおよびその制御方法
JP6056453B2 (ja) * 2012-12-20 2017-01-11 富士通株式会社 プログラム、データ管理方法および情報処理装置
US9600514B2 (en) 2013-09-09 2017-03-21 VoltDB, Inc. Methods and systems for detecting data divergence and inconsistency across replicas of data within a shared-nothing distributed database
US10176240B2 (en) 2013-09-12 2019-01-08 VoltDB, Inc. Methods and systems for real-time transactional database transformation
US9639571B2 (en) 2013-12-30 2017-05-02 VoltDB, Inc. Methods and systems for increasing capacity and performing data rebalancing without downtime to a distributed shared-nothing database with serializable isolation
US9251064B2 (en) 2014-01-08 2016-02-02 Netapp, Inc. NVRAM caching and logging in a storage system
US9152330B2 (en) 2014-01-09 2015-10-06 Netapp, Inc. NVRAM data organization using self-describing entities for predictable recovery after power-loss
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US9798728B2 (en) 2014-07-24 2017-10-24 Netapp, Inc. System performing data deduplication using a dense tree data structure
US10133511B2 (en) 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
US9671960B2 (en) 2014-09-12 2017-06-06 Netapp, Inc. Rate matching technique for balancing segment cleaning and I/O workload
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
JP5982025B1 (ja) * 2015-02-27 2016-08-31 京セラドキュメントソリューションズ株式会社 情報処理装置およびメモリー管理プログラム
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9710317B2 (en) 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
US20170097771A1 (en) * 2015-10-01 2017-04-06 Netapp, Inc. Transaction log layout for efficient reclamation and recovery
US9846539B2 (en) 2016-01-22 2017-12-19 Netapp, Inc. Recovery from low space condition of an extent store
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
CN109117086B (zh) * 2018-07-16 2021-09-21 北京百度网讯科技有限公司 存储设备数据位置的处理方法、装置、设备及存储介质
CN111475100B (zh) * 2019-01-23 2023-07-14 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机可读介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060224636A1 (en) * 2005-04-05 2006-10-05 Microsoft Corporation Page recovery using volume snapshots and logs

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3935139B2 (ja) 2002-11-29 2007-06-20 株式会社東芝 半導体記憶装置
US20050097288A1 (en) * 2003-10-30 2005-05-05 Richard Holzmann System and method for monitoring and non-disruptive backup of data in a solid state disk system
JP2006293834A (ja) * 2005-04-13 2006-10-26 Hitachi Ltd 記憶装置システム、ストレージ装置およびログの記録方法
JP4675984B2 (ja) 2008-02-29 2011-04-27 株式会社東芝 メモリシステム
JP5198245B2 (ja) * 2008-12-27 2013-05-15 株式会社東芝 メモリシステム
JP5376983B2 (ja) * 2009-02-12 2013-12-25 株式会社東芝 メモリシステム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060224636A1 (en) * 2005-04-05 2006-10-05 Microsoft Corporation Page recovery using volume snapshots and logs

Also Published As

Publication number Publication date
US8225058B2 (en) 2012-07-17
JP5376983B2 (ja) 2013-12-25
US20100205353A1 (en) 2010-08-12

Similar Documents

Publication Publication Date Title
JP5376983B2 (ja) メモリシステム
JP5198245B2 (ja) メモリシステム
JP5317690B2 (ja) メモリシステム
JP5317689B2 (ja) メモリシステム
US20200034304A1 (en) Techniques to perform power fail-safe caching without atomic metadata
US8868842B2 (en) Memory system, method of controlling memory system, and information processing apparatus
TWI385523B (zh) 用於快閃記憶體的資料備份方法及其控制器與儲存系統
TWI419161B (zh) 儲存管理資訊之記憶體系統及控制其之方法
US8706988B2 (en) Memory system
US20090222636A1 (en) Memory system and memory initializing method
KR20090042035A (ko) 불휘발성 메모리 장치를 이용한 데이터 저장장치, 메모리시스템, 그리고 컴퓨터 시스템
US8108594B2 (en) Memory system
JP2010186341A (ja) メモリシステム
JP2012128645A (ja) メモリシステム
JP2013174976A (ja) メモリシステムおよび制御プログラムの更新方法
JP2013174977A (ja) メモリシステムおよびポインタ情報の更新方法
Firmware et al. A Beginner’s Guide to SSD Firmware
JP2009211213A (ja) メモリシステム
JP2009211218A (ja) メモリシステムおよび瞬断判定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130325

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: 20130827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130924

R151 Written notification of patent or utility model registration

Ref document number: 5376983

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees