JP2014120179A - 停電障害状況におけるイベントトレース情報の復旧 - Google Patents
停電障害状況におけるイベントトレース情報の復旧 Download PDFInfo
- Publication number
- JP2014120179A JP2014120179A JP2013260888A JP2013260888A JP2014120179A JP 2014120179 A JP2014120179 A JP 2014120179A JP 2013260888 A JP2013260888 A JP 2013260888A JP 2013260888 A JP2013260888 A JP 2013260888A JP 2014120179 A JP2014120179 A JP 2014120179A
- Authority
- JP
- Japan
- Prior art keywords
- host
- memory
- event
- trace information
- volatile memory
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0778—Dumping, i.e. gathering error/state information after a fault for later diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
- G11C16/225—Preventing erasure, programming or reading when power supply voltages are outside the required ranges
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/143—Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
- G11C5/144—Detection of predetermined disconnection or reduction of power supply, e.g. power down or power standby
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0763—Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computer Security & Cryptography (AREA)
- Power Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
【課題】 停電障害状況におけるイベントトレース情報の復旧を提供する。
【解決手段】 ソリッドステートドライブ(SSD)及びハードディスクドライブ(HDD)ストレージデバイスにおいて使用するために、停電障害(PLI)状況においてイベントトレース情報を復旧する。不注意による停電後に復旧される揮発性状態情報がイベントトレース情報を含むこととなっている場合は、このような情報は、貴重なデバッグリソースを提供することができる。揮発性メモリからのイベントトレース情報は、PLIイベントに対する応答である電源オン時に、第2のメモリにコピーされる。不揮発性メモリに保存されたコンテキスト復元データの破損状態が検出され、破損状態の表示が設定される。イベントトレース情報は、表示に基づいて要求されると、ホストに渡される。
【選択図】 図2
【解決手段】 ソリッドステートドライブ(SSD)及びハードディスクドライブ(HDD)ストレージデバイスにおいて使用するために、停電障害(PLI)状況においてイベントトレース情報を復旧する。不注意による停電後に復旧される揮発性状態情報がイベントトレース情報を含むこととなっている場合は、このような情報は、貴重なデバッグリソースを提供することができる。揮発性メモリからのイベントトレース情報は、PLIイベントに対する応答である電源オン時に、第2のメモリにコピーされる。不揮発性メモリに保存されたコンテキスト復元データの破損状態が検出され、破損状態の表示が設定される。イベントトレース情報は、表示に基づいて要求されると、ホストに渡される。
【選択図】 図2
Description
本発明の実施形態は、ソリッドステートドライブ(SSD)及びハードディスクドライブ(HDD)と共に使用される、停電障害(PLI)による故障をデバッグするために使用されるフォールトトレラントトレースツールに関する。
ソリッドステートドライブ(SSD)は、データを永続的に保存するためのメモリユニットとして集積回路部品を使用するデータストレージデバイスである。SSD技術は、従来のブロック入出力(I/O)ハードディスクドライブ(HDD)と互換性のある電子インタフェースを用いる。SSDは、動く機械部品を用いず、これにより、可動読み書きヘッドを用いて回転磁気ディスク上にデータを保存する従来のHDDとは区別される。
現在、殆どのSSDは、電力が存在しない時にデータを保持し、電気的な消去及び再プログラミングが可能な(フラッシュメモリは、EEPROMから開発されたため)不揮発性メモリの一種であるNANDベースのフラッシュメモリを使用する。更に、ハイブリッドドライブは、同一ユニット内にSSD及びHDD双方の特徴を組み合わせ、一般的に、ハードディスクドライブと、頻繁にアクセスされるデータの性能を向上させるためにSSDキャッシュとを含む。フラッシュメモリは、フローティングゲートトランジスタから製造されたメモリセルアレイに情報を保存する。
フラッシュ(NAND)メモリベースのソリッドステートドライブ(SSD)は、電力障害に耐性があり、そのような電力障害を経験した際にデータを全く失わないように設計されている。SSDドライブは、一般的に、DRAM等のデータが保持される不揮発性キャッシュを有し、このデータは、停電障害(PLI)イベント時にNANDメモリに保存される必要がある。一般的に、SSDは、PLI割り込み信号が受信された際にNANDにデータを保存するのに十分な電力を供給するコンデンサまたは意図的に持続して充電された他のストレージデバイスを含む。PLIイベントに応答して保存されたデータは、一般的に、ダーティ書き込みキャッシュデータ及びLBAマッピングテーブル情報(例えばインディレクションテーブル)を含み、これは、ジャーナリングデータを含み得る。
しかしながら、PLI問題は、一般的に、多大な診断努力を必要とし、これは、電源オフシーケンス中に何が起こったかのトラブルシューティングを行うためにドライブ上でツールを実行させるために、デベロッパ/トラブルシュータがドライブを所有することを必要とする。一般的に、データ一貫性サニティチェックにより電源オン時にドライブが「準備が整った」状態にならず、従って、完全なデータロスという結果になり得る故障の重症度を考えると、この長い診断所要時間は、顧客にとって許容できるとは考えられない。
本発明の実施形態は、ソリッドステートドライブ(SSD)及びハードディスクドライブ(HDD)ストレージデバイスにおいて使用するための、停電障害(PLI)状況におけるイベントトレース情報の復旧に関する。例えば、不注意による停電後に復旧されるDRAM状態情報がイベントトレース情報を含むこととなっている場合は、このような情報は、貴重なデバッグリソースを提供することができる。
ある実施形態によれば、揮発性メモリからのイベントトレース情報は、PLIイベントに対する応答である電源オン時に、第2のメモリにコピーされる。不揮発性メモリに保存されたコンテキスト復元データの破損状態が検出され、破損状態の表示が設定される。ある実施形態によれば、イベントトレース情報は、表示に基づいて要求されると、ホストに渡され得る。
任意選択の改善として、フォールトトレラントデバッグツールと共に使用するために、ホストからの要求に応答して、イベントトレース情報がホストに渡される。デバッグツールは、不正形式のトレース文字から正規トレース文字を推論するように構成されるので、ある程度フォールトトレラントである。
発明の概要のセクションに記載した実施形態は、本明細書に記載した全ての実施形態を示唆、記述、または教示するものではない。従って、本発明の実施形態は、このセクションに記載のもの以外の、付加的または異なる特徴を含み得る。
本発明の実施形態を、一例として、限定する目的ではなく、同様の参照符号が同様の要素を指す添付図面の図に示す。
ソリッドステートドライブ(SSD)ストレージデバイスにおける停電障害(PLI)による故障をデバッグするために使用されるフォールトトレラントトレースツールへの取り組みを記載する。以下の記載では、本明細書に記載の本発明の実施形態の完全な理解を提供するために、説明目的で、多数の具体的な詳細を記載する。しかしながら、本明細書に記載の本発明の実施形態は、これらの特定の詳細なしに実施可能であることは明白であろう。他の例では、本明細書に記載の本発明の実施形態を不必要に分かりにくくすることを避けるために、周知の構造及びデバイスは、ブロック図形式で示す。
[ソリッドステートドライブ構成]
本発明の実施形態を用いて、ソリッドステートドライブ(SSD)ストレージデバイスを管理することができる。図1は、本発明の実施形態が実施され得る動作環境例を示すブロック図である。図1は、主要通信インタフェース106を介してホストデバイス104と通信接続されたSSD102を備えた一般的SSDアーキテクチャ100を示す。本発明の実施形態は、図1に図示されるような構成に限定されず、実施形態は、ハードディスクドライブ(HDD)におけるような、SSD以外の動作環境にも適用可能であり、図1に示される以外のSSD構成において実施することができる。例えば、実施形態は、重要な動作情報の一時的なストレージを行うために、揮発性メモリのストレージコンポーネントに依存する他の環境において動作するように実施されてもよい。
本発明の実施形態を用いて、ソリッドステートドライブ(SSD)ストレージデバイスを管理することができる。図1は、本発明の実施形態が実施され得る動作環境例を示すブロック図である。図1は、主要通信インタフェース106を介してホストデバイス104と通信接続されたSSD102を備えた一般的SSDアーキテクチャ100を示す。本発明の実施形態は、図1に図示されるような構成に限定されず、実施形態は、ハードディスクドライブ(HDD)におけるような、SSD以外の動作環境にも適用可能であり、図1に示される以外のSSD構成において実施することができる。例えば、実施形態は、重要な動作情報の一時的なストレージを行うために、揮発性メモリのストレージコンポーネントに依存する他の環境において動作するように実施されてもよい。
ホストデバイス104(または単純に「ホスト」)は、特に、1つ以上のメモリデバイスに対してデータI/O要求またはコールを行う、いかなるタイプのコンピュータハードウェアまたはソフトウェアも広く意味する。例えば、ホスト104は、コンピュータ、タブレット、携帯電話、またはメモリを含む、またはメモリとインタラクトする概ねあらゆるタイプのコンピュータデバイス上で実行されるオペレーティングシステムでもよい。ホストデバイス104をSSD102に接続する主要インタフェース106は、例えば、コンピュータの内部バスまたは通信ケーブルまたは無線通信リンク等でもよい。
図1に示されるSSD例102は、インタフェース110、コントローラ112(例えば、内部にファームウェアロジックを有するコントローラ)、アドレッシング114機能ブロック、データバッファキャッシュ116、エラー訂正符号(ECC)118、及び1つ以上の不揮発性メモリコンポーネント120a、120b、120nを含む。アドレッシング114機能ブロック、データバッファキャッシュ116、及びECC118のいずれも、システムオンチップ(SOC)構成において見られるように、コントローラ112の一部として機能的に統合されてもよい。
インタフェース110は、コンポーネント、つまり、この文脈では、SSD102及びホストデバイス104間のインタラクションの場所であり、ハードウェア及びソフトウェア双方のレベルで適用可能である。これにより、入出力システム及び関連のプロトコルを介して、あるコンポーネントが他のコンポーネントと通信することが可能となる。ハードウェアインタフェースは、一般的に、インタフェースにおける機械的、電気的、及び論理的な信号と、それらを順序付けるためのプロトコルとによって表される。一般的及び標準的なインタフェースの幾つかの非限定的例には、SCSI(スモールコンピュータシステムインタフェース)、SAS(シリアル接続SCSI)、及びSATA(シリアルATA)が含まれる。
SSD102は、不揮発性メモリコンポーネント(例えば、NANDフラッシュ)をホストに、例えば、不揮発性メモリ120a、120b、120nをホストデバイス104にブリッジする電子機器を内蔵したコントローラ112を含む。コントローラは、一般的に、ファームウェアレベルのコードを実行する組み込みプロセッサを含む。
コントローラ112は、アドレッシング114機能ブロックを介して、不揮発性メモリ120a、120b、120nとインタフェースをとる。アドレッシング114機能ブロックは、例えば、ホスト104からSSD102上、即ち、SSD102の不揮発性メモリ120a、120b、120n上の対応する物理ブロックアドレスへの論理ブロックアドレス(LBA)のマッピングを管理するように動作する。不揮発性メモリページとホストセクタはサイズが異なるので、SSDは、セクタへの、またはセクタからの、ホスト書き込みデータまたは読み取りデータと、データが実際に存在する物理的不揮発性メモリページとの変換を可能にするデータ構造の構築及び維持を行う必要がある。このテーブル構造または「マッピング」は、DRAMまたはコントローラ112及びアドレッシング114にアクセス可能な他のローカル揮発性メモリコンポーネント等のSSDの揮発性メモリ122におけるセッションのために構築及び維持され得る。
アドレッシング114は、不揮発性メモリ120a、120b、120nに加えて、データバッファキャッシュ116及びエラー訂正符号(ECC)118とインタフェースをとる。SSD102のデータバッファキャッシュ116は、非限定的例として、キャッシュとしてSRAMまたはDRAMを使用してもよい。データバッファキャッシュ116は、不揮発性メモリコンポーネントへの、または不揮発性メモリコンポーネントからのデータ送信のためのバッファまたは中継地として機能するだけでなく、キャッシュしたデータに対する今後の要求のスピードアップをはかるためのキャッシュとしても機能する。データバッファキャッシュ116は、一般的に、揮発性メモリが用いられるので、内部に保存されたデータは、キャッシュに永久的に保存されない、即ち、データは永続的ではない。
ECC118は、送信プロセス中または保存の際に多数のエラーが生じたとしても、受信者によって回復できるように、冗長データまたはパリティデータをメッセージに加えるシステムである。
最後に、SSD102は、1つ以上の不揮発性メモリ120a、120b、120nコンポーネントを含む。非限定的な例として、不揮発性メモリコンポーネント120a、120b、120nは、フラッシュメモリ(例えば、NANDまたはNORフラッシュ)、または現在あるいは将来入手可能な他のタイプのソリッドステートメモリとして実施可能である。不揮発性メモリ120a、120b、120nコンポーネントは、データが永続的に保存される実際のメモリ電子部品である。SSD102の不揮発性メモリ120a、120b、120nコンポーネントは、ハードディスクドライブ(HDD)ストレージデバイスにおけるハードディスクの類似物であると見なすことができる。
SSDストレージデバイスに加えて、本発明の実施形態を用いて、ハードディスクドライブ(HDD)ストレージデバイスを管理することもできる。例えば、一般的HDDアーキテクチャは、SSD102が主要通信インタフェース106を介してホスト104と接続される図1に示されるSSD構成100に類似して、主要通信インタフェースを介してホストデバイスに通信接続されるHDDを含み得る。更に、HDDは、SSD102のコントローラ112及び揮発性メモリ122に類似して、揮発性メモリに通信接続されたファームウェアを有するコントローラを含む。HDDコンポーネント及びSSDコンポーネント間の比較は、同一であるというよりも、概念的なものである。従って、HDDコントローラは、SSDコントローラ112とは異なり、一部の類似した機能だけでなく、一部の異なる機能を行うように設計されていることに留意されたい。しかしながら、HDD及びSSDは共に、DRAM等のある形態の揮発性メモリと通信する、内部に組み込まれた/符号化されたあるファームウェアを備えたコントローラを含む。
[導入部]
停電障害(PLI)状況におけるイベントトレース情報の復旧技術に関する本発明の実施形態を記載する。実施形態は、ソリッドステートドライブ(SSD)ストレージデバイス及びハードディスクドライブ(HDD)ストレージデバイスに適用可能で、それらにおいて、及び/または、それらのために実施され得る。結果的に、これらの技術の使用により、単純なメモリダンプのみを用いて、顧客のHDDまたはSSDドライブから有効なトレースを取得し、解析のために顧客がドライブを工場に送付する必要性を回避することができる。イベントトレース情報の復旧は、一般的に、非限定的例として、ファームウェア開発及びドライブの検証及び認定試験に関連し、適用可能である。
停電障害(PLI)状況におけるイベントトレース情報の復旧技術に関する本発明の実施形態を記載する。実施形態は、ソリッドステートドライブ(SSD)ストレージデバイス及びハードディスクドライブ(HDD)ストレージデバイスに適用可能で、それらにおいて、及び/または、それらのために実施され得る。結果的に、これらの技術の使用により、単純なメモリダンプのみを用いて、顧客のHDDまたはSSDドライブから有効なトレースを取得し、解析のために顧客がドライブを工場に送付する必要性を回避することができる。イベントトレース情報の復旧は、一般的に、非限定的例として、ファームウェア開発及びドライブの検証及び認定試験に関連し、適用可能である。
組み込みシステムのための従来のコードデバッグプロセスは、通常、命令メモリ、データメモリ、DRAM等の内部システムメモリの状態のスナップショットであるメモリダンプを行うことである。基本的に、スナップショットは、デベロッパまたはデバッガが、システム内の問題を理解しようするために使用し得るシステムの状態を提供する。このようなメモリダンプは、一般的に、周期的に、または割り込みイベントに応答して行われる。
ファームウェアデベロッパがサポートするファームウェアを必要とし得るという比較的新しい種類の課題は、停電障害(PLI)イベント及びそれに対応する応答及び回復である。例えば、PLIイベントのサポートは、一般的に、ライトキャッシュされ、既にホストには認識されているが、不揮発性媒体にはまだ保存されていない「ダーティ書き込みデータ」を取り扱う必要がある。更に、SSDの場合、論理データアドレスを物理的記憶場所にマッピングするインディレクションデータテーブルを保存する必要がある。本質的に、PLIイベントは、時間的に予測がつかず、従って、このようなイベントの対応サポートは、容易ではなく、困難なプロセスである。従って、ファームウェアは、まず第1に、PLIイベントに対して必ずしも最適に反応するとは限らない場合がある。
従って、ファームウェアトレーシング情報は、デベロッパにとって、より価値のあるデバッグツールの1つである。イベントトレース情報は、以前の何百または何千という実行済みコマンドに関連した実行情報をリストしたログに例えられる。トレース情報は、例えば、実行された最後のコード行の識別、コード変数等を含むことができ、これらは全て、デバッガにとって、重要な情報である。しかしながら、メモリダンプは、一般的に、ファームウェアデータ構造と、場合によってはユーザデータを優先するが、トレーシング情報は、システム故障の際にシステムから抽出するべき優先順位の低い情報として扱われる。従って、システムが停電を経験した際に処理用に利用可能な短期持続充電は、トレーシング情報に到達するのにさえ十分ではない可能性があるので、トレーシング情報は、決して永続的に保存されない可能性がある。
先に述べたように、従来のメモリダンプ処理の欠点の幾つかは、メモリダンプが周期的に行われること、及びデータ構造及びユーザデータが優先されることである。更に、1つ以上の割り込みシーケンスが無効になり、結果的に、状態データが永続的に全く保存されない時にシステム故障が生じる場合がある。
[ダイナミックランダムアクセスメモリ(DRAM)]
DRAMは、幾つかの興味深い固有の物理的性質を持つ。揮発性と見なされるが、DRAMは、比較的短期間、不揮発性メモリの幾つかの特徴を実際に示すことが知られている。即ち、システムの電源を切って入れ直した後、内部DRAMは、ある期間、例えば、場合により30秒から最大2〜3分間、電力なしでその状態を保持することができる。幾つかのビットが落ちるまたは反転する場合があるが、DRAM内のデータは、停電直後の期間はまだ比較的完全なままである。更に、コントローラメモリマネージャは、DRAMに対して、データ中の一部のエラーを訂正可能なECC保護(シングルビット訂正、ダブルビット検出)を用いてもよい。
DRAMは、幾つかの興味深い固有の物理的性質を持つ。揮発性と見なされるが、DRAMは、比較的短期間、不揮発性メモリの幾つかの特徴を実際に示すことが知られている。即ち、システムの電源を切って入れ直した後、内部DRAMは、ある期間、例えば、場合により30秒から最大2〜3分間、電力なしでその状態を保持することができる。幾つかのビットが落ちるまたは反転する場合があるが、DRAM内のデータは、停電直後の期間はまだ比較的完全なままである。更に、コントローラメモリマネージャは、DRAMに対して、データ中の一部のエラーを訂正可能なECC保護(シングルビット訂正、ダブルビット検出)を用いてもよい。
[イベントトレース情報の復旧方法]
DRAMの上記の特徴に基づいて、電源ダウンイベント後の電源アップ状況において(電源アップは、一般的に、電源ダウンの2〜3秒以内に生じる)、基本的に、電源ダウン時のDRAM状態を時がたって回顧することができ、最後のDRAMリフレッシュまで戻ることができる。不注意による停電後に復旧されるDRAM状態情報がイベントトレース情報を含むこととなっている場合は、このような情報は、貴重なデバッグリソースを提供することができる。例えば、このようなイベントトレース情報を用いて、どのようにファームウェアが特定のイベント、即ち、停電障害による故障等の故障イベントに応答しているかを理解し、デバッグすることができる。
DRAMの上記の特徴に基づいて、電源ダウンイベント後の電源アップ状況において(電源アップは、一般的に、電源ダウンの2〜3秒以内に生じる)、基本的に、電源ダウン時のDRAM状態を時がたって回顧することができ、最後のDRAMリフレッシュまで戻ることができる。不注意による停電後に復旧されるDRAM状態情報がイベントトレース情報を含むこととなっている場合は、このような情報は、貴重なデバッグリソースを提供することができる。例えば、このようなイベントトレース情報を用いて、どのようにファームウェアが特定のイベント、即ち、停電障害による故障等の故障イベントに応答しているかを理解し、デバッグすることができる。
図2は、本発明の一実施形態による、停電障害(PLI)状況においてイベントトレース情報を復旧させる方法を示すフロー図である。図2に示すプロセスは、SSD102(図1)等のSSDにおいて実施され得る。更に具体的には、図2に示されるプロセスは、ある実施形態によれば、SSD102のコントローラ112(図1)において実施され得る。このプロセスロジックは、SSD102内のアナログまたはデジタルハードウェア回路として、または、好ましくは、SSD102内のCPUまたはMPU等のプロセッサによって実行されるファームウェア命令として実施され得る。
図2のブロック202において、揮発性メモリからのイベントトレース情報は、第2のメモリにコピーされる。例えば、イベントトレース情報は、揮発性メモリ122(図1)から揮発性メモリ122の専用部分、あるいは1つ以上の不揮発性メモリ120a、120b、120n(図1)へとコピーされる。揮発性メモリから第2のメモリへのイベントトレース情報のコピーは、ある実施形態においては、停電障害イベントに応答した電源オン時に行われる。これは、応答による電源オンサイクル時にデータがリセットまたは上書きされる前のイベントトレース情報をメモリにコピーする最適な時であり、なぜなら、最新の情報が再キャプチャされる、即ち、最後の周期的なトレース保存以降に生じたいずれの処理も反映されるからである。更に、このイベントトレース情報のコピーは、電源オフ状況に対する応答ではない「ウォーム」リセットではなく、電源が実際にオフであった「コールド」リセットと併用される。
ブロック204では、不揮発性メモリに保存されたコンテキスト復元データの破損状態が検出される。一般的に、電源オンシーケンス時に、ファームウェアは、不揮発性または永続的媒体でどんな情報が入手可能であるかに基づいて、その状態を復元しようとする。このプロセスは、ファームウェアが故障時に実行していたコンテキストまたは状態を復元しようと試みることから、本明細書ではコンテキスト復元と呼ぶ。更に、ファームウェアは、復元目的で使用するようにプログラムされたデータの破損状態を検出するように構成される。非限定的例として、ファームウェアは、インディレクション(LBA)テーブルを完全に再構築することが不可能であること、または永続的メモリに記録されていないダーティ書き込みデータが存在すること等を検出し得る。
ブロック206では、破損状態の表示が設定される。例えば、データの破損状態を検出する際に、ファームウェアは、破損状態が存在することを示すフラグまたはビットを設定し得る。ホストが設定された表示にアクセスして、読み取ることができることから、この表示を設定することにより、ファームウェアは、ホストに対して効果的に破損状態について知らせる。例えば、ストレージデバイスに対して外部のプログラム(例えば、テストまたは検証プログラム)は、フラグを読み取り、ストレージデバイスからホストに対して、PLIイベント時からのイベントトレース情報を要求する。なお、これは、保存プロセスが情報の現在の状態を実際に変更し得ることから、イベントトレース情報を不揮発性メモリに保存するのに適した時ではない。
ブロック208において、イベントトレース情報は、例えば破損状態表示に応答した、ホストまたはホストで実行されるアプリケーションプログラムからの要求に応答して、ホストに渡される。この情報は、従来のストレージデバイスインタフェース(例えばSAS)を用いて、または側波帯デバッグインタフェースを介してホストに渡すことができる。
[フォールトトレラントデバッグツール]
デバッグプロセスに関しては、基本的にどれだけの量の正規形式のトレース情報でも、解析中の問題についてのある程度の洞察力の提供に役立ち得る。従って、利用可能な正規形式のトレース情報を多く持つ程、より良い問題解析を行うことができる。
デバッグプロセスに関しては、基本的にどれだけの量の正規形式のトレース情報でも、解析中の問題についてのある程度の洞察力の提供に役立ち得る。従って、利用可能な正規形式のトレース情報を多く持つ程、より良い問題解析を行うことができる。
ある実施形態によれば、イベントトレース情報は、ホストで実行され得るフォールトトレラントデバッグツールに渡される。デバッグツールは、イベントトレースデータをパース及び解析する後処理ツールである。イベントトレース情報は、通常、適格な形式であるが、ロバストなデバッグツールは、不正形式のイベントトレース情報及び文字を許容するべきである。このようなデバッグツールは、ツールが破損データに遭遇したとしてもその処理を継続し、不正形式の情報に関して知的な推定を行うことにより、不正形式の情報をどのように正規形式にするべきかに関して「最も妥当な推測」に到達するべき点で、少なくともある程度フォールトトレラントである。代替的に、かつ、おそらくより一般的に、トレース情報が取り出されると(通常、顧客ドライブ認定エンジニアによって)、それはSSD開発チームに渡され、オフラインでパースされる。
ある実施形態によれば、フォールトトレラントデバッグツールは、不正形式のトレース文字から正規トレース文字を推論するように構成された推論エンジンを含む。この推論は、システム及び構成要素である揮発性メモリがPLIイベントにより電力を失っていく際に、イベントトレース情報を表す各ビットが、通常、「1」から「0」へと低下するという仮定または認識に基づく。デバッグツールでこのようなフォールトトレランスを的確に実施することは、多くの要素に基づいて、例えば、対応するファームウェアの実施に基づいて、対応するイベントトレース情報の形成に基づいて、及びデバッグツール自体の実施等に基づいて、異なり得る。
上記の明細書では、実施ごとに異なり得る多数の具体的な詳細に関連して、本発明の実施形態を記載した。従って、何が発明であるか、及び発明であると出願人によって意図されたものの唯一かつ排他的な指標は、本出願が公表する一組の請求項であり、後の補正を含む、当該請求項が公表する特定の形式のものである。当該請求項に含まれる用語に関して本明細書に明確に記載した定義はいずれも、請求項において使用される当該用語の意味を支配するものとする。従って、請求項に明確に記載されていない限定、要素、性質、特徴、利点、または特性は、当該請求項の範囲を決して限定するものではない。従って、本明細書及び図面は、限定的な意味ではなく、例示的に捉えられるものである。
100 SSD構成
104 ホストデバイス
106 主要通信インタフェース
110 インタフェース
112 コントローラ
114 アドレッシング
116 データバッファキャッシュ
120a 不揮発性メモリ
120b 不揮発性メモリ
122 揮発性メモリ
202 ブロック
204 ブロック
206 ブロック
208 ブロック
ATA シリアル
SCSI シリアル接続
104 ホストデバイス
106 主要通信インタフェース
110 インタフェース
112 コントローラ
114 アドレッシング
116 データバッファキャッシュ
120a 不揮発性メモリ
120b 不揮発性メモリ
122 揮発性メモリ
202 ブロック
204 ブロック
206 ブロック
208 ブロック
ATA シリアル
SCSI シリアル接続
Claims (20)
- ストレージデバイスにおける停電障害イベントに応答して電源をオンにする際に、第1の揮発性メモリから第2のメモリへとイベントトレース情報をコピーするステップと、
不揮発性メモリに保存されたコンテキスト復元データの破損状態を検出するステップと、
前記破損状態の表示を設定するステップと、
を含む方法。 - ホストからの要求に応答して、前記イベントトレース情報を前記ホストに渡すステップを更に含む、
請求項1に記載の方法。 - 前記第1の揮発性メモリは、ダイナミックランダムアクセスメモリ(DRAM)である、
請求項1に記載の方法。 - 前記第2のメモリは、前記第1の揮発性メモリと同じメモリである、
請求項1に記載の方法。 - 前記第2のメモリは、NANDフラッシュメモリである、
請求項1に記載の方法。 - 不正形式のトレース文字から正規トレース文字を推論するように構成された推論エンジンを含むフォールトトレラントデバッグツールと共に使用するために、ホストからの要求に応答して、前記イベントトレース情報を前記ホストに渡すステップを更に含む、
請求項1に記載の方法。 - ホストからの要求に応答して、前記ホストで実行されるフォールトトレラントデバッグツールに前記イベントトレース情報を渡すステップを更に含み、
前記フォールトトレラントデバッグツールは、不正形式のトレース文字から正規トレース文字を推論するように構成された推論エンジンを含む、
請求項1に記載の方法。 - 前記推論エンジンは、前記イベントトレース情報を表す各ビットが、前記第1の揮発性メモリが前記停電障害イベントにより電力を失っていく際に、「1」から「0」へと低下するという仮定に基づいて、不正形式のトレース文字から正規トレース文字を推論するように構成される、
請求項7に記載の方法。 - 1つ以上の命令シーケンスを保存するソリッドステートドライブコントローラであって、前記1つ以上の命令シーケンスは、1つ以上のプロセッサによって実行されると、
ストレージデバイスにおける停電障害イベントに応答して電源をオンにする際の、第1の揮発性メモリから第2のメモリへのイベントトレース情報のコピーと、
不揮発性メモリに保存されたコンテキスト復元データの破損状態の検出と、
前記破損状態の表示の設定と、
を生じさせる、ソリッドステートドライブコントローラ。 - 前記1つ以上の命令シーケンスは、前記1つ以上のプロセッサによって実行されると、ホストからの要求に応答して、前記イベントトレース情報を前記ホストに渡させる、
請求項9に記載のコントローラ。 - 前記第1の揮発性メモリは、ダイナミックランダムアクセスメモリ(DRAM)である、
請求項9に記載のコントローラ。 - 前記1つ以上の命令シーケンスは、前記1つ以上のプロセッサによって実行されると、
不正形式のトレース文字から正規トレース文字を推論するように構成された推論エンジンを含むフォールトトレラントデバッグツールと共に使用するために、ホストからの要求に応答して、前記イベントトレース情報を前記ホストに渡させる、
請求項9に記載のコントローラ。 - 前記1つ以上の命令シーケンスは、前記1つ以上のプロセッサによって実行されると、
ホストからの要求に応答して、前記ホストで実行されるフォールトトレラントデバッグツールに前記イベントトレース情報を渡させ、
前記フォールトトレラントデバッグツールは、不正形式のトレース文字から正規トレース文字を推論するように構成された推論エンジンを含む、
請求項9に記載のコントローラ。 - ホストと通信するための通信インタフェースと、
1つ以上の不揮発性媒体と、
揮発性媒体と、
1つ以上の命令シーケンスを保存するコントローラであって、前記1つ以上の命令シーケンスは、1つ以上のプロセッサによって実行されると、
ストレージデバイスにおける停電障害イベントに応答して電源をオンにする際の、前記揮発性メモリから第2のメモリへのイベントトレース情報のコピーと、
前記不揮発性媒体に保存されたコンテキスト復元データの破損状態の検出と、
前記破損状態の表示の設定と、
を生じさせるコントローラと、
を含むストレージデバイス。 - 前記1つ以上の命令シーケンスは、前記1つ以上のプロセッサによって実行されると、前記ホストからの要求に応答して、前記イベントトレース情報を前記ホストに渡させる、
請求項14に記載のストレージデバイス。 - 前記揮発性メモリは、ダイナミックランダムアクセスメモリ(DRAM)である、
請求項14に記載のストレージデバイス。 - 前記第2のメモリは、前記揮発性メモリである、
請求項14に記載のストレージデバイス。 - 前記第2のメモリは、NANDフラッシュメモリである、
請求項14に記載のストレージデバイス。 - 前記1つ以上の命令シーケンスは、前記1つ以上のプロセッサによって実行されると、
フォールトトレラントデバッグツールと共に使用するために、前記ホストからの要求に応答して、前記イベントトレース情報を前記ホストに渡させ、
前記フォールトトレラントデバッグツールは、不正形式のトレース文字から正規トレース文字を推論するように構成された推論エンジンを含む、
請求項14に記載のストレージデバイス。 - 前記推論エンジンは、前記イベントトレース情報を表す各ビットが、前記揮発性メモリが前記停電障害イベントにより電力を失っていく際に、「1」から「0」へと低下するという仮定に基づいて、不正形式のトレース文字から正規トレース文字を推論するように構成される、
請求項19に記載のストレージデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/719,209 | 2012-12-18 | ||
US13/719,209 US9690642B2 (en) | 2012-12-18 | 2012-12-18 | Salvaging event trace information in power loss interruption scenarios |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014120179A true JP2014120179A (ja) | 2014-06-30 |
Family
ID=50030823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013260888A Pending JP2014120179A (ja) | 2012-12-18 | 2013-12-18 | 停電障害状況におけるイベントトレース情報の復旧 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9690642B2 (ja) |
JP (1) | JP2014120179A (ja) |
KR (1) | KR20140079285A (ja) |
DE (1) | DE102013021679A1 (ja) |
GB (1) | GB2511391B (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10474618B2 (en) * | 2014-09-04 | 2019-11-12 | Western Digital Technologies, Inc. | Debug data saving in host memory on PCIE solid state drive |
US9836108B2 (en) | 2014-09-10 | 2017-12-05 | Toshiba Memory Corporation | Memory system and controller |
US10055377B2 (en) | 2016-02-24 | 2018-08-21 | Western Digital Technologies, Inc. | Using a proprietary framework on a standards-based embedded device |
US9946489B2 (en) | 2016-07-27 | 2018-04-17 | Western Digital Technologies, Inc. | Multi-stream journaled replay |
US10678924B2 (en) * | 2016-08-10 | 2020-06-09 | Qualcomm Incorporated | Hardware-based software-resilient user privacy exploiting ephemeral data retention of volatile memory |
CN106951354B (zh) * | 2017-03-20 | 2020-08-18 | 湖南磐石科技有限公司 | 固态硬盘及其故障检测装置和方法 |
KR102467842B1 (ko) | 2017-10-13 | 2022-11-16 | 삼성전자주식회사 | 인스트럭션을 실행하는 코어 및 그것을 포함하는 시스템 |
KR102415218B1 (ko) * | 2017-11-24 | 2022-07-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
US20190042460A1 (en) * | 2018-02-07 | 2019-02-07 | Intel Corporation | Method and apparatus to accelerate shutdown and startup of a solid-state drive |
US10636495B2 (en) | 2018-06-12 | 2020-04-28 | Western Digital Technologies, Inc. | Adjustable read retry order based on decoding success trend |
CN109086168A (zh) * | 2018-07-13 | 2018-12-25 | 深圳忆联信息系统有限公司 | 一种利用硬件备份固态硬盘写速度的方法及其系统 |
CN110989918B (zh) | 2018-10-03 | 2023-03-28 | 慧荣科技股份有限公司 | 写入控制方法以及数据存储装置及其控制器 |
CN110990175B (zh) | 2018-10-03 | 2023-03-14 | 慧荣科技股份有限公司 | 错误处置方法以及数据存储装置及其控制器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05210595A (ja) * | 1991-09-05 | 1993-08-20 | Internatl Business Mach Corp <Ibm> | メモリシステム |
JP2004152301A (ja) * | 2002-10-28 | 2004-05-27 | Sandisk Corp | 不揮発性メモリシステムにおいて用いられる電力管理ブロック |
JP2007286937A (ja) * | 2006-04-18 | 2007-11-01 | Hitachi Ltd | ストレージ装置及びストレージ装置の電源障害管理方法 |
JP2012078941A (ja) * | 2010-09-30 | 2012-04-19 | Toshiba Corp | 情報処理装置及びキャッシュ制御方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02151913A (ja) | 1988-12-02 | 1990-06-11 | Meidensha Corp | 電源断検出方法 |
US6502208B1 (en) * | 1997-03-31 | 2002-12-31 | International Business Machines Corporation | Method and system for check stop error handling |
US6226728B1 (en) | 1998-04-21 | 2001-05-01 | Intel Corporation | Dynamic allocation for efficient management of variable sized data within a nonvolatile memory |
US7533214B2 (en) * | 2002-02-27 | 2009-05-12 | Microsoft Corporation | Open architecture flash driver |
DE10227255B4 (de) | 2002-06-19 | 2008-06-26 | Hyperstone Gmbh | Verfahren zur Wiederherstellung von Verwaltungsdatensätzen eines blockweise löschbaren Speichers |
US6889341B2 (en) * | 2002-06-28 | 2005-05-03 | Hewlett-Packard Development Company, L.P. | Method and apparatus for maintaining data integrity using a system management processor |
US6988175B2 (en) | 2003-06-30 | 2006-01-17 | M-Systems Flash Disk Pioneers Ltd. | Flash memory management method that is resistant to data corruption by power loss |
US7181672B2 (en) | 2003-09-25 | 2007-02-20 | Intel Corporation | Method, system, and apparatus for supporting power loss recovery in ECC enabled memory devices |
US20050138302A1 (en) * | 2003-12-23 | 2005-06-23 | Intel Corporation (A Delaware Corporation) | Method and apparatus for logic analyzer observability of buffered memory module links |
US7308609B2 (en) * | 2004-04-08 | 2007-12-11 | International Business Machines Corporation | Method, data processing system, and computer program product for collecting first failure data capture information |
US7424643B2 (en) | 2004-12-30 | 2008-09-09 | Intel Corporation | Device, system and method for power loss recovery procedure for solid state non-volatile memory |
US7610445B1 (en) * | 2005-07-18 | 2009-10-27 | Palm, Inc. | System and method for improving data integrity and memory performance using non-volatile media |
JP2008004011A (ja) | 2006-06-26 | 2008-01-10 | Canon Inc | 不揮発メモリのデータ復旧方法を備えたコンピュータ装置 |
JP2009122819A (ja) | 2007-11-13 | 2009-06-04 | Fuji Electric Systems Co Ltd | メモリバックアップ装置 |
US8706950B2 (en) | 2008-03-01 | 2014-04-22 | Kabushiki Kaisha Toshiba | Memory system |
JP2010004293A (ja) | 2008-06-19 | 2010-01-07 | Ricoh Co Ltd | 画像形成装置、画像形成装置の書き込みエラー検知方法 |
US8169825B1 (en) | 2008-09-02 | 2012-05-01 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells subjected to long retention periods |
US9003118B2 (en) | 2009-01-09 | 2015-04-07 | Dell Products L.P. | Systems and methods for non-volatile cache control |
CN103399813B (zh) | 2013-06-30 | 2016-05-11 | 惠州市德赛西威汽车电子股份有限公司 | 一种基于Trace信息的嵌入式系统离线跟踪分析方法 |
-
2012
- 2012-12-18 US US13/719,209 patent/US9690642B2/en active Active
-
2013
- 2013-12-06 KR KR1020130151237A patent/KR20140079285A/ko not_active Application Discontinuation
- 2013-12-12 GB GB1321990.2A patent/GB2511391B/en active Active
- 2013-12-18 JP JP2013260888A patent/JP2014120179A/ja active Pending
- 2013-12-18 DE DE102013021679.6A patent/DE102013021679A1/de active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05210595A (ja) * | 1991-09-05 | 1993-08-20 | Internatl Business Mach Corp <Ibm> | メモリシステム |
JP2004152301A (ja) * | 2002-10-28 | 2004-05-27 | Sandisk Corp | 不揮発性メモリシステムにおいて用いられる電力管理ブロック |
JP2007286937A (ja) * | 2006-04-18 | 2007-11-01 | Hitachi Ltd | ストレージ装置及びストレージ装置の電源障害管理方法 |
JP2012078941A (ja) * | 2010-09-30 | 2012-04-19 | Toshiba Corp | 情報処理装置及びキャッシュ制御方法 |
Also Published As
Publication number | Publication date |
---|---|
DE102013021679A1 (de) | 2014-06-18 |
GB201321990D0 (en) | 2014-01-29 |
GB2511391A (en) | 2014-09-03 |
US9690642B2 (en) | 2017-06-27 |
KR20140079285A (ko) | 2014-06-26 |
GB2511391B (en) | 2015-02-18 |
US20140173357A1 (en) | 2014-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9690642B2 (en) | Salvaging event trace information in power loss interruption scenarios | |
US8484522B2 (en) | Apparatus, system, and method for bad block remapping | |
US20230016555A1 (en) | Data recovery method, apparatus, and solid state drive | |
TWI479309B (zh) | 控制固態硬碟的裝置及方法 | |
TWI490876B (zh) | 系統啟動引導處理方法及裝置 | |
US10592134B1 (en) | Open block stability scanning | |
US20130024735A1 (en) | Solid-state memory-based storage method and device with low error rate | |
US20150378642A1 (en) | File system back-up for multiple storage medium device | |
KR20110086725A (ko) | 솔리드-스테이트 저장장치의 고장을 예측하는 장치, 시스템 및 방법 | |
US11294750B2 (en) | Media management logger for a memory sub-system | |
US9619330B2 (en) | Protecting volatile data of a storage device in response to a state reset | |
US20230251931A1 (en) | System and device for data recovery for ephemeral storage | |
CN116414616A (zh) | 一种固态硬盘ssd故障恢复方法、ssd及系统 | |
US20100138603A1 (en) | System and method for preventing data corruption after power failure | |
US11928036B2 (en) | Recovery from broken mode | |
US11593209B2 (en) | Targeted repair of hardware components in a computing device | |
US11893275B2 (en) | DRAM-less SSD with recovery from HMB loss | |
US11809742B2 (en) | Recovery from HMB loss | |
US9274709B2 (en) | Indicators for storage cells | |
KR20240003823A (ko) | 정정된 에러를 관리하는 전자 장치 및 전자 장치의 동작 방법 | |
CN115687180A (zh) | 在具有硬件加速输入/输出路径的存储器子系统上生成系统存储器快照 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141118 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150218 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150630 |