Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6401866B2 - トランザクション処理方法及び装置、並びにコンピュータシステム - Google Patents
[go: Go Back, main page]

JP6401866B2 - トランザクション処理方法及び装置、並びにコンピュータシステム - Google Patents

トランザクション処理方法及び装置、並びにコンピュータシステム Download PDF

Info

Publication number
JP6401866B2
JP6401866B2 JP2017534214A JP2017534214A JP6401866B2 JP 6401866 B2 JP6401866 B2 JP 6401866B2 JP 2017534214 A JP2017534214 A JP 2017534214A JP 2017534214 A JP2017534214 A JP 2017534214A JP 6401866 B2 JP6401866 B2 JP 6401866B2
Authority
JP
Japan
Prior art keywords
transaction
state
computer system
data
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.)
Active
Application number
JP2017534214A
Other languages
English (en)
Other versions
JP2018504692A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2018504692A publication Critical patent/JP2018504692A/ja
Application granted granted Critical
Publication of JP6401866B2 publication Critical patent/JP6401866B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 operations
    • G06F11/1474Error detection or correction of the data by redundancy in operations in transactions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • G06F9/467Transactional memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 operations
    • G06F11/1471Error detection or correction of the data by redundancy in operations involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • G06F11/3636Debugging of software by tracing the execution of the program
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

この出願は、トランザクション処理技術の分野に関し、特にトランザクション処理方法及び装置、並びにコンピュータシステムに関する。
多くの大規模且つ主要なアプリケーションプログラムにおいて、コンピュータは、毎秒大量のタスクを実行する。サービス要求を完了するために複数のタスクが一緒に組み合わされる場合、サービス要求は、トランザクションと呼ばれることがある。トランザクションは、原子性及び一貫性を有する。
トランザクションの原子性及び一貫性を確保するために、既存のトランザクション処理においてログ先行書き込み(英文:Write-Ahead Logging、略称WAL)方法が一般的に使用される。具体的には、既存のコンピュータシステムは、プロセッサと内部メモリと外部メモリとを含み、内部メモリはダイナミックランダムアクセスメモリ(英文:Dynamic Random Access Memory、略称DRAM)であり、ログ領域は外部メモリ内に設定される。トランザクション処理要求を受信した場合、プロセッサは、まず、トランザクションのトランザクションデータをコンピュータシステムのキャッシュから内部メモリに書き込み、次に、外部メモリのログ領域に書き込み、内部メモリに書き込まれたトランザクションデータを書き込む。トランザクションの全てのトランザクションがログ領域に書き込まれた後に、プロセッサは、トランザクションをコミットするために、トランザクションデータを外部メモリに書き込む。
しかし、前述の既存のトランザクション処理方法における全てのトランザクションデータは、ログ領域に書き込まれる前に内部メモリに書き込まれる必要があり、トランザクションは、全てのデータがログ領域に書き込まれた後にのみコミットされることができる。すなわち、トランザクションデータは、トランザクション処理過程において2回書き込まれる必要があり、これは、低いトランザクション処理速度をもたらす。
この出願は、トランザクションデータ処理速度が増加し得るようなトランザクション処理方法及び装置、並びにコンピュータシステムを提供する。
第1の態様では、本発明の実施例は、トランザクション処理方法を提供し、この方法は、不揮発性メモリを含むコンピュータシステム内に適用され、この方法は、トランザクション処理要求を受信するステップであり、トランザクション処理要求は、トランザクションのトランザクションデータを搬送するステップと、トランザクションの状態情報を不揮発性メモリに記録するステップであり、トランザクションの状態情報は、トランザクション状態と、トランザクション処理要求に従ってトランザクションに割り当てられたトランザクション識別子及びアドレスとを含み、トランザクション状態は未コミット状態であり、未コミット状態は、全てのトランザクションデータが不揮発性メモリに書き込まれているのではないことを示すステップと、アドレスに従ってトランザクションデータを不揮発性メモリに書き込むステップと、トランザクション識別子に従ってトランザクションのトランザクション状態をコミット状態に変更するステップであり、コミット状態は、トランザクションの全てのトランザクションデータが不揮発性メモリに書き込まれているが、全てのトランザクションデータがコンピュータシステムの外部メモリに書き込まれているのではないことを示すステップと、トランザクションデータを不揮発性メモリからコンピュータシステムの外部メモリに書き込むステップと、トランザクション識別子に従ってトランザクションのトランザクション状態をバックアップ状態に変更するステップであり、バックアップ状態は、トランザクションの全てのトランザクションデータがコンピュータシステムの外部メモリに書き込まれていることを示すステップとを含む。
第1の態様を参照して、第1の態様の第1の可能な実施例では、トランザクション識別子に従ってトランザクションのトランザクション状態をコミット状態に変更する前に、この方法は、コンピュータシステムがリスタートした場合、不揮発性メモリに記録されたトランザクションの状態情報に従って、トランザクションのトランザクション状態が未コミット状態であると決定するステップと、トランザクションのトランザクションデータ及び状態情報を削除するステップとを更に含む。
第1の態様又は第1の態様の第1の可能な実施例を参照して、第1の態様の第2の可能な実施例では、トランザクション識別子に従ってトランザクションのトランザクション状態をコミット状態に変更した後に、この方法は、コンピュータシステムがリスタートした場合、不揮発性メモリに記録されたトランザクションの状態情報に従って、トランザクションのトランザクション状態がコミット状態であると決定し、トランザクションデータを不揮発性メモリからコンピュータシステムの外部メモリに書き込むステップを更に含む。
第1の態様又は第1の態様の第1若しくは第2の可能な実施例を参照して、第1の態様の第3の可能な実施例では、トランザクション識別子に従ってトランザクションのトランザクション状態をバックアップ状態に変更した後に、この方法は、トランザクションのトランザクションデータを削除するステップを更に含む。
第2の態様では、本発明の実施例は、トランザクション処理装置を提供し、この装置は、不揮発性メモリを含むコンピュータシステム内に適用され、この装置は、トランザクション処理要求を受信するように構成された受信モジュールであり、トランザクション処理要求は、トランザクションのトランザクションデータを搬送する受信モジュールと、トランザクションの状態情報を不揮発性メモリに記録するように構成された記録モジュールであり、トランザクションの状態情報は、トランザクション状態と、トランザクション処理要求に従ってトランザクションに割り当てられたトランザクション識別子及びアドレスとを含み、トランザクション状態は未コミット状態であり、未コミット状態は、全てのトランザクションデータが不揮発性メモリに書き込まれているのではないことを示す記録モジュールと、アドレスに従ってトランザクションデータを不揮発性メモリに書き込むように構成された内部メモリ書き込みモジュールとを含み、記録モジュールは、内部メモリ書き込みモジュールがトランザクションデータを不揮発性メモリに書き込んだ後に、トランザクション識別子に従ってトランザクションのトランザクション状態をコミット状態に変更するように更に構成され、コミット状態は、トランザクションの全てのトランザクションデータが不揮発性メモリに書き込まれているが、全てのトランザクションデータがコンピュータシステムの外部メモリに書き込まれているのではないことを示し、記録モジュールがトランザクションのトランザクション状態をコミット状態に変更した後に、トランザクションデータを不揮発性メモリからコンピュータシステムの外部メモリに書き込むように構成された外部メモリ書き込みモジュールを含み、記録モジュールは、外部メモリ書き込みモジュールがトランザクションデータをコンピュータの外部メモリに書き込んだ後に、トランザクション識別子に従ってトランザクションのトランザクション状態をバックアップ状態に変更するように更に構成され、バックアップ状態は、トランザクションの全てのトランザクションデータがコンピュータシステムの外部メモリに書き込まれていることを示す。
第2の態様を参照して、第2の態様の第1の可能な実施例では、この装置は、記録モジュールがトランザクションのトランザクション状態をコミット状態に変更する前に、コンピュータシステムがリスタートした場合、不揮発性メモリに記録されたトランザクションの状態情報に従って、トランザクションのトランザクション状態が未コミット状態であると決定するように構成された状態決定モジュールと、状態決定モジュールがトランザクションのトランザクション状態が未コミット状態であると決定した場合、トランザクションのトランザクションデータ及び状態情報を削除するように構成された削除モジュールとを更に含む。
第2の態様第1の可能な実施例を参照して、第2の態様の第2の可能な実施例では、状態決定モジュールは、記録モジュールがトランザクションのトランザクション状態をコミット状態に変更した後に、コンピュータシステムがリスタートした場合、不揮発性メモリに記録されたトランザクションの状態情報に従って、トランザクションのトランザクション状態がコミット状態であると決定し、トランザクションデータを不揮発性メモリからコンピュータシステムの外部メモリに書き込むように外部メモリ書き込みモジュールをトリガーするように更に構成される。
第2の態様又は第1の態様の第1若しくは第2の可能な実施例を参照して、第2の態様の第3の可能な実施例では、削除モジュールは、記録モジュールがトランザクションのトランザクション状態をバックアップ状態に変更した後に、トランザクションのトランザクションデータを削除するように更に構成される。
第3の態様では、本発明の実施例は、コンピュータシステムを提供し、コンピュータシステムは、プロセッサと不揮発性メモリとを含み、不揮発性メモリは、データを記憶するように構成され、プロセッサは、トランザクション処理要求を受信するように構成され、トランザクション処理要求は、トランザクションのトランザクションデータを搬送し、トランザクションの状態情報を不揮発性メモリに記録するように構成され、トランザクションの状態情報は、トランザクション状態と、トランザクション処理要求に従ってトランザクションに割り当てられたトランザクション識別子及びアドレスとを含み、トランザクション状態は未コミット状態であり、未コミット状態は、全てのトランザクションデータが不揮発性メモリに書き込まれているのではないことを示し、アドレスに従ってトランザクションデータを不揮発性メモリに書き込み、トランザクション識別子に従ってトランザクションのトランザクション状態をコミット状態に変更するように構成され、コミット状態は、トランザクションの全てのトランザクションデータが不揮発性メモリに書き込まれているが、全てのトランザクションデータがコンピュータシステムの外部メモリに書き込まれているのではないことを示し、トランザクションデータを不揮発性メモリからコンピュータシステムの外部メモリに書き込み、トランザクション識別子に従ってトランザクションのトランザクション状態をバックアップ状態に変更するように構成され、バックアップ状態は、トランザクションの全てのトランザクションデータがコンピュータシステムの外部メモリに書き込まれていることを示す。
第3の態様を参照して、第3の態様の第1の可能な実施例では、トランザクション識別子に従ってトランザクションのトランザクション状態をコミット状態に変更する前に、プロセッサは、コンピュータシステムがリスタートした場合、不揮発性メモリに記録されたトランザクションの状態情報に従って、トランザクションのトランザクション状態が未コミット状態であると決定し、トランザクションのトランザクションデータ及び状態情報を削除するように更に構成される。
第3の態様又は第3の態様の第1の可能な実施例を参照して、第3の態様の第2の可能な実施例では、トランザクション識別子に従ってトランザクションのトランザクション状態をコミット状態に変更した後に、プロセッサは、コンピュータシステムがリスタートした場合、不揮発性メモリに記録されたトランザクションの状態情報に従って、トランザクションのトランザクション状態がコミット状態であると決定し、トランザクションデータを不揮発性メモリからコンピュータシステムの外部メモリに書き込むように更に構成される。
第3の態様又は第3の態様の第1若しくは第2の可能な実施例を参照して、第3の態様の第3の可能な実施例では、トランザクション識別子に従ってトランザクションのトランザクション状態をバックアップ状態に変更した後に、プロセッサは、トランザクションのトランザクションデータを削除するように更に構成される。
本発明の実施例において提供されるトランザクション処理方法では、不揮発性メモリが電源オフされたときにデータが失われないという特徴が使用され、トランザクションのトランザクションデータは、不揮発性メモリに書き込まれた後に外部メモリに直接書き込まれ、トランザクションデータは、ログ領域に書き込まれる必要はない。したがって、トランザクション処理過程が簡略化され、トランザクション処理速度が増加する。さらに、本発明の実施例では、トランザクションの全てのトランザクションデータが不揮発性メモリに書き込まれているか否か、或いは全てのトランザクションデータが外部メモリに書き込まれているか否かを識別するために、異なるトランザクション状態が不揮発性メモリ内に更に設定され、これにより、コンピュータシステムは、トランザクション状態に従って現在のトランザクションのトランザクションデータの書き込み状態を決定し得る。したがって、トランザクションの原子性及び一貫性が確保される。
本発明の実施例又は従来技術における技術的解決策をより明確に説明するために、以下に、実施例又は従来技術を説明するために必要な添付図面について簡単に説明する。明らかに、以下の説明における添付図面は、単に本発明のいくつかの実施例の添付図面に過ぎない。
本発明の実施例によるコンピュータシステムの概略構成図である。 本発明の実施例によるトランザクション処理方法のフローチャートである。 本発明の実施例による他のトランザクション処理方法のフローチャートである。 本発明の実施例による他のトランザクション処理方法のフローチャートである。 本発明の実施例によるトランザクション処理装置の概略構成図である。 本発明の実施例による他のトランザクション処理装置の概略構成図である。
以下の説明では、限定ではなく例示のため、この出願の完全な理解を行うために特定のシステム構成、インタフェース及び技術のような特定の詳細が提供される。しかし、当業者は、この出願がこれらの特定の詳細なしに他の実施例において実施され得ることを認識するべきである。他の場合にも、この出願が不要な詳細によりあいまいにされることなく説明されるように、周知の装置、回路及び方法の詳細な説明は省略される。
この出願におけるトランザクション処理方法の理解を容易にするため、この方法を使用するコンピュータシステム及びトランザクションが最初に記載される。図1を参照すると、図1は、本発明の実施例によるコンピュータシステムの概略構成図である。図1に示すように、コンピュータシステム100は、プロセッサ110と、不揮発性メモリ120と、外部メモリ130とを含む。本発明のこの実施例では、トランザクションは、不揮発性メモリ120を使用することによりデータを外部メモリ130に書き込むためにプロセッサ110により実行される動作を含んでもよく、外部メモリに書き込まれるデータは、トランザクションのトランザクションデータである。
不揮発性メモリ(Non-volatile Memory、NVM)120は、トランザクションのトランザクションデータ及び状態情報を一時的に記憶するように構成される。具体的には、データ領域121及びデータ状態領域122が不揮発性メモリ120内に設定されてもよい。データ領域121は、トランザクションのトランザクションデータを記憶するために使用され、データ状態領域122は、トランザクションの状態情報を記憶するために使用される。
本発明のこの実施例では、不揮発性メモリは、内部メモリが不揮発性メモリであることを意味する。具体的には、不揮発性メモリ120は、相変化メモリ(Phase Change memory、PCM)、抵抗変化型ランダムアクセスメモリ(Resistive Random Access Memory、RRAM)、磁気ランダムアクセスメモリ(Magnetic Random Access Memory、MRAM)、強誘電体ランダムアクセスメモリ(Ferroelectric Random Access Memory、FRAM)等により表される次世代不揮発性メモリ(Non-Volatile Memory、NVM)を含んでもよい。次世代NVMは、高いアクセス速度を有し、バイト(Byte)単位でアドレス指定し、ビット(bit)の単位でデータを不揮発性メモリに書き込むことができる。したがって、次世代不揮発性メモリは、メモリバスに接続され、CPUにより直接アクセスされる内部メモリとして使用されることができる。コンピュータシステム100が電源オフされた場合、不揮発性メモリ120内の情報は依然として存在する。
外部メモリ130は、トランザクションのトランザクションデータを永久的に記憶するように構成される。外部メモリ130は、ハードディスクドライブ(英文:Hard Disk Drive、略称HDD)、ソリッドステートドライブ(英:Solid State Drive、SDD)又は他のメモリでもよい。
プロセッサ110は、内部メモリ120を使用することによりトランザクションデータを外部メモリに書き込むために、この出願におけるトランザクション処理方法を実行するように構成される。プロセッサは、CPUを含んでもよく、或いは他の特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)又は本発明のこの実施例を実現するように構成された1つ以上の集積回路を含んでもよいことが理解され得る。
図2を参照すると、図2は、本発明の実施例によるトランザクション処理方法のフローチャートである。トランザクション処理方法は、図1に示すコンピュータシステム100内に適用され、コンピュータシステム100内のプロセッサ110により実行されるトランザクション処理方法は以下のステップを含んでもよい。
201.プロセッサは、トランザクション処理要求を受信し、トランザクション処理要求は、トランザクションのトランザクションデータを搬送する。
トランザクション処理要求は、ユーザにより入力されてもよく、或いはプロセッサにより実行される他のプログラム、例えば、ユーザにより入力された書き込み命令によりトリガーされてもよい。
トランザクション処理要求を受信した後に、プロセッサは、トランザクション処理要求に従ってトランザクション識別子及びアドレスをトランザクションに割り当てる。トランザクション識別子は、異なるトランザクションを区別するために使用される。アドレスは、トランザクションのトランザクションデータが不揮発性メモリに書き込まれるアドレスである。
202.プロセッサは、トランザクションの状態情報を不揮発性メモリに記録し、トランザクションの状態情報は、トランザクション状態と、トランザクション処理要求に従ってトランザクションに割り当てられたトランザクション識別子及びアドレスとを含み、トランザクション状態は未コミット状態である。
トランザクション識別子及びアドレスをトランザクションに割り当てた後に、プロセッサは、トランザクションのための状態情報を生成する。トランザクションの状態情報は、トランザクション識別子とトランザクション状態とアドレスとを含んでもよい。トランザクション状態は、トランザクションデータの書き込み状態を示すために使用され、主に未コミット状態とコミット状態とバックアップ状態とに分類される。未コミット状態は、トランザクションの全てのトランザクションデータが不揮発性メモリに書き込まれているのではないことを示す。未コミット状態は、プロセッサが他のプログラムを実行した場合、或いはコンピュータシステムがリスタートした場合、トランザクションのトランザクションデータが使用されることができないことを示すために使用されてもよい。コミット状態は、トランザクションの全てのトランザクションデータが不揮発性メモリに書き込まれているが、全てのトランザクションデータが外部メモリに書き込まれているのではないことを示す。コミット状態は、プロセッサが他のプログラムを実行した場合、或いはコンピュータシステムがリスタートした場合、不揮発性メモリ内のトランザクションのトランザクションデータが使用されることができることを示すために使用されてもよい。バックアップ状態は、トランザクションの全てのトランザクションデータが外部メモリに書き込まれていることを示す。バックアップ状態は、プロセッサが他のプログラムを実行した場合、或いはコンピュータシステムがリスタートした場合、外部メモリ内のトランザクションのトランザクションデータが使用されることができることを示すために使用されてもよい。他の表現方式では、トランザクションのトランザクション状態がバックアップ状態である場合、これは、トランザクションの処理が完了していることを示す。
例えば、プロセッサ110は、トランザクションデータとトランザクション識別子とアドレスとをトランザクションの状態情報として使用するため、デュアル・インライン・メモリ・モジュール(英文:Dual-Inline-Memory-Modules、略称DIMM)インタフェース又はペリフェラル・コンポーネント・インターコネクト・エクスプレス(Peripheral Component Interconnect Express、略称PCIe)インタフェースのようなインタフェースを使用することにより、トランザクションのトランザクションデータとトランザクション識別子とアドレスとを不揮発性メモリのデータ状態領域に書き込む。トランザクションのトランザクション識別子が第1のトランザクションであり、第1のトランザクションが4つのトランザクションデータを含む場合、第1のトランザクションの状態情報を記録するために以下の表1がデータ状態領域に生成される。
Figure 0006401866
明らかに、他の実施例では、同じトランザクションの全てのトランザクションデータについて1つのみの状態情報が生成されてもよく、状態情報内のアドレスは、不揮発性メモリ内のトランザクションの全てのトランザクションデータのそれぞれのアドレスである。したがって、トランザクションの状態情報を記録する方式は、この出願では具体的には限定されない。実際の用途では、コンピュータシステムは、処理されている複数のトランザクションの状態情報を記録してもよい点に留意すべきである。
203.プロセッサは、アドレスに従ってトランザクションデータを不揮発性メモリに書き込む。
例えば、トランザクションの状態情報がデータ状態領域に記録された後に、第1のトランザクションの状態情報内のアドレスに従って、プロセッサは、DIMMインタフェース又はPCIeインタフェースのようなインタフェースを使用することにより、トランザクション処理要求で搬送された第1のトランザクションのトランザクションデータを不揮発性メモリのデータ領域に書き込む。
204.プロセッサは、トランザクション識別子に従ってトランザクションのトランザクション状態をコミット状態に変更する。
例えば、第1のトランザクションの全てのトランザクションデータを不揮発性メモリのデータ領域に書き込んだ後に、プロセッサは、トランザクション識別子が第1のトランザクションである状態情報を求めて、不揮発性メモリのデータ状態領域を検索し、以下の表2に示すように、第1のトランザクションの状態情報内のトランザクション状態をコミット状態に変更する。この場合、第1のトランザクションがコミットされる。
Figure 0006401866
205.プロセッサは、トランザクションデータを不揮発性メモリからコンピュータシステムの外部メモリに書き込む。
例えば、第1のトランザクションがコミットされた後に、プロセッサは、シリアル・アドバンスト・テクノロジー・アタッチメント(英文:Serial Advanced Technology Attachment、略称SATA)インタフェース又はネットワークドライバ(英文:Network Drivers)のようなインタフェースを使用することにより、第1のトランザクションのトランザクションデータを不揮発性メモリのデータ領域から外部メモリに書き込む。
206.プロセッサは、トランザクション識別子に従ってトランザクションのトランザクション状態をバックアップ状態に変更する。
例えば、第1のトランザクションの全てのトランザクションデータを外部メモリに書き込んだ後に、プロセッサは、トランザクション識別子が第1のトランザクションである状態情報を求めて、不揮発性メモリのデータ状態領域を検索し、以下の表3に示すように、第1のトランザクションの状態情報内のトランザクション状態をバックアップ状態に変更する。この場合、第1のトランザクションのトランザクションデータは、外部メモリに成功して書き込まれ、第1のトランザクションが終了する。
Figure 0006401866
実際の用途を参照した説明は以下の通りである。ユーザは、コンピュータシステム内に新たなファイルAを生成し、ファイルAにおいて書き込み動作を実行する。この場合、プロセッサは、ユーザの書き込み動作命令を受信し、ファイルAを外部メモリのファイルシステムに書き込むトランザクションを処理する必要がある。具体的には、ユーザの書き込み動作を受信した場合、プロセッサは、トランザクション識別子及びアドレスをトランザクションに割り当て、トランザクションの状態情報を不揮発性メモリのデータ状態領域に記録し、状態情報内のトランザクション状態は、未コミット状態である。トランザクションの状態情報を生成した後に、プロセッサは、ファイルAを不揮発性メモリのデータ領域に書き込む。ファイルAを書き込んだ後に、プロセッサは、トランザクションの状態情報内のトランザクション状態をコミット状態に変更する。この場合、トランザクションがコミットされ、すなわち、ユーザの書き込み動作が実現される。この場合、プロセッサがファイルAを読み取る命令を受信した場合、プロセッサは、不揮発性メモリからファイルAを読み取ってもよいが、実際には、ファイルAは外部メモリのファイルシステムに書き込まれず、すなわち、ファイルAは、コンピュータシステムに永久的に記憶されることができない。したがって、トランザクションがコミットされた後に、データ領域内のファイルAは、外部メモリのファイルシステムに書き込まれる。この場合、トランザクションが終了する。
任意選択で、不揮発性メモリの記憶空間を節約するために、トランザクションのトランザクション状態をバックアップ状態に変更した後に、プロセッサは、不揮発性メモリ内のトランザクションのトランザクションデータを削除してもよく、不揮発性メモリ内のトランザクションの状態情報を更に削除してもよい。トランザクションのトランザクションデータ及び状態情報の双方が削除されるとき、プロセッサによりトランザクションのトランザクションデータを削除してトランザクションの状態情報を削除するシーケンスは限定されない。
或いは、不揮発性メモリが比較的十分な記憶空間を有する場合、トランザクションのトランザクション状態をバックアップ状態に変更した後に、プロセッサは、不揮発性メモリ内のトランザクションのトランザクションデータを削除しなくてもよく、これにより、トランザクションのトランザクションデータが後に使用される必要がある場合、トランザクションのトランザクションデータは、外部メモリから読み取られる必要はなく、内部メモリから直接読み取られてもよく、これは、読み取り速度を速める。
本発明のこの実施例では、不揮発性メモリが電源オフされたときにデータが失われないという特徴が使用され、トランザクションのトランザクションデータは、不揮発性メモリに書き込まれた後に外部メモリに直接書き込まれ、トランザクションデータは、ログ領域に書き込まれる必要はない。したがって、トランザクション処理過程が簡略化され、トランザクション処理速度が増加する。さらに、本発明のこの実施例では、トランザクションの全てのトランザクションデータが不揮発性メモリに書き込まれているか否か、或いは全てのトランザクションデータが外部メモリに書き込まれているか否かを識別するために、異なるトランザクション状態が不揮発性メモリ内に更に設定され、これにより、コンピュータシステムは、トランザクション状態に従って現在のトランザクションのトランザクションデータの書き込み状態を決定し得る。したがって、トランザクションの原子性及び一貫性が確保される。
さらに、前に記憶されたデータは、データが不揮発性メモリに書き込まれたときに消去される必要はなく、不揮発性メモリのデータ読み取り/書き込み速度は、一般的なDRAMのものより高い。したがって、不揮発性メモリが、トランザクションデータが書き込まれる内部メモリとして使用される場合、トランザクションデータを読み取る速度又は書き込む速度がかなり増加し、すなわち、トランザクション処理速度が更に増加する。
任意選択で、この出願のトランザクション処理方法では、トランザクション回復が更に実現されてもよく、すなわち、前述のトランザクション処理方法を実行する過程において、コンピュータシステムがリスタートした場合、プロセッサは、不揮発性メモリ内のトランザクションのトランザクション状態に従ってトランザクションを回復してもよい。
具体的には、図3A及び図3Bを参照すると、図3A及び図3Bは、本発明の実施例による他のトランザクション処理方法のフローチャートである。この実施例では、この方法は、不揮発性メモリを含むコンピュータシステム内に適用され、この方法は、コンピュータシステム内のプロセッサにより実行される。この方法は以下のステップを含む。
301.プロセッサは、トランザクション処理要求を受信し、トランザクション処理要求は、トランザクションのトランザクションデータを搬送する。
302.プロセッサは、トランザクションの状態情報を不揮発性メモリに記録し、トランザクションの状態情報は、トランザクション状態と、トランザクション処理要求に従ってトランザクションに割り当てられたトランザクション識別子及びアドレスとを含み、トランザクション状態は未コミット状態である。
303.プロセッサは、アドレスに従ってトランザクションデータを不揮発性メモリに書き込む。
304.プロセッサは、コンピュータシステムがリスタートしたか否かを決定し、コンピュータシステムがリスタートした場合、ステップ305を実行し、コンピュータシステムがリスタートしていない場合、ステップ307を実行する。
305.プロセッサは、不揮発性メモリに記録されたトランザクションの状態情報に従って、トランザクションのトランザクション状態が未コミット状態であると決定する。
例えば、プロセッサが第1のトランザクションのトランザクションデータを不揮発性メモリに書き込むとき、コンピュータシステムが電源異常又はクラッシュの後にリスタートした場合、プロセッサは、不揮発性メモリ内の第1のトランザクションの状態情報に従って、第1のトランザクションのトランザクション状態が未コミット状態であると決定する。不揮発性メモリ内の第1のトランザクションの状態情報は、上記の表1に示されている。
306.プロセッサは、トランザクションのトランザクションデータ及びトランザクションの状態情報を削除する。
例えば、プロセッサは、第1のトランザクションのトランザクション状態が未コミット状態であると決定し、これは、コンピュータシステムがリスタートする前に、第1のトランザクションの全てのトランザクションデータが不揮発性メモリのデータ領域にアップデートされているのではないことを示す。したがって、不揮発性メモリ内の第1のトランザクションのトランザクションデータは、トランザクションの原子性に従って外部メモリにアップデートされることができない。したがって、プロセッサは、不揮発性メモリのデータ領域内の第1のトランザクションの全てのトランザクションデータを削除し、データ状態領域内の第1のトランザクションの状態情報を削除し、すなわち、上記の表1が削除され、これにより、トランザクションロールバックを実現する。
307.プロセッサは、トランザクション識別子に従ってトランザクションのトランザクション状態をコミット状態に変更する。
308.プロセッサは、コンピュータシステムがリスタートしたか否かを決定し、コンピュータシステムがリスタートした場合、ステップ309を実行し、コンピュータシステムがリスタートしていない場合、ステップ310を実行する。
309.プロセッサは、不揮発性メモリに記録されたトランザクションの状態情報に従って、トランザクションのトランザクション状態がコミット状態であると決定し、ステップ310を実行する。
例えば、プロセッサが第1のトランザクションのトランザクション状態をコミット状態に変更した後に、コンピュータシステムが電源異常又はクラッシュの後にリスタートした場合、プロセッサは、不揮発性メモリ内の第1のトランザクションの状態情報に従って、第1のトランザクションのトランザクション状態がコミット状態であると決定し、これはまた、コンピュータシステムがリスタートする前に、第1のトランザクションの全てのトランザクションデータが不揮発性メモリのデータ領域にアップデートされていることを示す。不揮発性メモリ内の第1のトランザクションの状態情報は、上記の表2に示されている。したがって、プロセッサは、トランザクションの一貫性に従ってステップ310を実行し、これにより、データ領域内の第1のトランザクションのトランザクションデータを外部メモリに書き込む。
310.プロセッサは、トランザクションデータを不揮発性メモリからコンピュータシステムの外部メモリに書き込む。
311.プロセッサは、トランザクション識別子に従ってトランザクションのトランザクション状態をバックアップ状態に変更する。
312.プロセッサは、トランザクションのトランザクションデータを削除する。
プロセッサがトランザクションのトランザクション状態をバックアップ状態に変更した後に、コンピュータシステムがリスタートした場合、プロセッサは、不揮発性メモリ内のトランザクションの状態情報に従って、トランザクションのトランザクション状態がバックアップ状態であると決定し、これはまた、コンピュータシステムがリスタートする前に、トランザクションの全てのトランザクションデータが外部メモリにアップデートされていることを示す。不揮発性メモリ内のトランザクションの状態情報は、上記の表3に示されている。したがって、プロセッサは、トランザクションのトランザクションデータ及び状態情報を削除してもよく、これにより、不揮発性メモリの記憶空間を回収する。
図3A及び図3Bに示すフローチャートは、この出願のトランザクション回復過程を説明するためにのみ使用されるが、この出願における方法のステップに対する限定として理解されるべきではない点に留意すべきである。実質的に、プロセッサは、コンピュータシステムがリスタートしたか否かを決定しなくてもよい。プロセッサにより実行される、図3A及び図3Bにおいてコンピュータシステムがリスタートしたか否かを決定するステップは、コンピュータシステムの状態の説明を示しているだけであり、すなわち、この場合にコンピュータシステムがリスタートした場合、プロセッサが図3A及び図3Bにおける「Yes」に対応するステップを実行し、コンピュータシステムがリスタートしていない場合、プロセッサが図3A及び図3Bにおける「No」に対応するステップを実行することを示す。さらに、コンピュータシステムがリスタートしたか否かの状態は、ステップ303又はステップ307の後であることに限定されなくてもよく、プロセッサが図1に示すいずれかのステップを実行する前又は後に、或いは図1に示すいずれかのステップを実行する過程において現れてもよい。しかし、コンピュータシステムがリスタートするステップに拘わらず、この出願におけるプロセッサは、以下の原理に従って対応するトランザクション回復ステップを実行する。トランザクション識別子に従ってトランザクションのトランザクション状態がコミット状態に変更される前に、プロセッサは、コンピュータシステムがリスタートした場合、プロセッサは、トランザクションのトランザクション状態が未コミット状態であると決定し、トランザクション識別子に従ってトランザクションのトランザクション状態がコミット状態に変更された後に、コンピュータシステムがリスタートした場合、プロセッサは、トランザクションのトランザクション状態がコミット状態であると決定し、トランザクション回復ステップ310及び311を実行する。
この実施例では、不揮発性メモリが電源オフされたときにデータが失われないという特徴が使用され、トランザクションデータが不揮発性メモリに記憶され、これにより、コンピュータシステムがトランザクション処理過程においてリスタートした場合、不揮発性メモリ内のトランザクションのトランザクションデータが失われず、トランザクションのトランザクションデータは、不揮発性メモリから直接回復され得る。したがって、トランザクション回復速度が増加する。さらに、トランザクション状態は、トランザクションの全てのトランザクションデータが不揮発性メモリに書き込まれているか否か、且つ全てのトランザクションデータが外部メモリに書き込まれているか否かを識別するために、不揮発性メモリ内に設定される。コンピュータシステムがトランザクション処理過程においてリスタートした場合、トランザクションのトランザクションデータの書き込み状態は、トランザクション状態に従って決定されてもよい。トランザクションの全てのトランザクションデータが不揮発性メモリに書き込まれているのではない場合、トランザクションのトランザクションデータは、外部メモリに書き込まれず、トランザクションのトランザクションデータは直接削除される。トランザクションの全てのトランザクションデータが不揮発性メモリに書き込まれているが、外部メモリに書き込まれていない場合にのみ、トランザクションデータは、外部メモリに書き込まれる。したがって、トランザクションの原子性及び一貫性が確保される。
図4を参照すると、図4は、本発明の実施例によるトランザクション処理装置の概略構成図である。この実施例では、この装置は、不揮発性メモリと外部メモリとを含むコンピュータシステム内に適用される。データ領域及びデータ状態領域は、不揮発性メモリ内に設定されてもよい。データ領域は、トランザクションのトランザクションデータを記憶するために使用され、データ状態領域は、トランザクションの状態情報を記憶するために使用される。この出願では、不揮発性メモリが電源オフされたときにデータが失われないという特徴が使用され、これにより、トランザクションデータ及び状態情報の信頼性が確保される。トランザクション処理装置420は、受信モジュール423と、記録モジュール421と、内部メモリ書き込みモジュール422と、外部メモリ書き込みモジュール424とを含む。
受信モジュール423は、トランザクション処理要求を受信するように構成され、トランザクション処理要求は、トランザクションのトランザクションデータを搬送する。
トランザクション処理要求は、ユーザにより入力されてもよく、或いはプロセッサにより実行される他のプログラム、例えば、ユーザにより入力された書き込み命令によりトリガーされてもよい。
トランザクション処理要求を受信した後に、受信モジュール423は、トランザクション処理要求に従ってトランザクション識別子及びアドレスをトランザクションに更に割り当ててもよい。トランザクション識別子は、異なるトランザクションを区別するために使用される。アドレスは、トランザクションのトランザクションデータが不揮発性メモリに書き込まれるアドレスである。
記録モジュール421は、トランザクションの状態情報を不揮発性メモリに記録するように構成され、トランザクションの状態情報は、トランザクション状態と、トランザクション処理要求に従ってトランザクションに割り当てられたトランザクション識別子及びアドレスとを含み、トランザクション状態は未コミット状態である。
受信モジュール423が識別子及びアドレスをトランザクションに割り当てた場合、記録モジュール421は、トランザクションのための状態情報を生成する。トランザクションの状態情報は、トランザクション識別子とトランザクション状態とアドレスとを含んでもよい。トランザクション状態は、トランザクションのトランザクションデータの書き込み状態を示すために使用され、主に未コミット状態とコミット状態とバックアップ状態とに分類される。未コミット状態は、トランザクションの全てのトランザクションデータが不揮発性メモリに書き込まれているのではないことを示し、すなわち、未コミット状態は、コンピュータシステムが他のプログラムを実行した場合、或いはコンピュータシステムがリスタートした場合、トランザクションのトランザクションデータが使用されることができないことを示すために使用される。コミット状態は、トランザクションの全てのトランザクションデータが不揮発性メモリに書き込まれているが、全てのトランザクションデータがコンピュータシステムの外部メモリに書き込まれているのではないことを示し、すなわち、コミット状態は、コンピュータシステムが他のプログラムを実行した場合、或いはコンピュータシステムがリスタートした場合、トランザクションのトランザクションデータが使用されることができることを示すために使用される。バックアップ状態は、トランザクションの全てのトランザクションデータが外部メモリに書き込まれていることを示し、すなわち、バックアップ状態は、コンピュータシステムが他のプログラムを実行した場合、或いはコンピュータシステムがリスタートした場合、すなわち、トランザクションが終了した場合、外部メモリ内のトランザクションのトランザクションデータが使用されることができることを示すために使用される。
例えば、トランザクションのトランザクション識別子が第1のトランザクションであり、第1のトランザクションが4つのトランザクションデータを含む場合、第1のトランザクションの状態情報を記録するために上記の表1がデータ状態領域に生成される。
明らかに、他の実施例では、同じトランザクションの全てのトランザクションデータについて1つのみの状態情報が生成されてもよく、状態情報内のアドレスは、不揮発性メモリ内のトランザクションの全てのトランザクションデータのそれぞれのアドレスである。したがって、トランザクションの状態情報を記録する方式は、この出願では具体的には限定されない。
内部メモリ書き込みモジュール422は、アドレスに従ってトランザクションデータを不揮発性メモリに書き込むように構成される。
例えば、記録モジュール421がトランザクションの状態情報を記録した後に、内部メモリ書き込みモジュール422は、第1のトランザクションの状態情報内のアドレスに従って、トランザクション処理要求で搬送された第1のトランザクションのトランザクションデータを不揮発性メモリのデータ領域に書き込む。
記録モジュール421は、内部メモリ書き込みモジュール422がトランザクションデータを不揮発性メモリに書き込んだ後に、トランザクション識別子に従ってトランザクションのトランザクション状態をコミット状態に変更するように更に構成される。
例えば、内部メモリ書き込みモジュール422が第1のトランザクションの全てのトランザクションデータを不揮発性メモリのデータ領域に書き込んだ後に、記録モジュール421は、トランザクション識別子が第1のトランザクションである状態情報を求めて、不揮発性メモリのデータ状態領域を検索し、上記の表2に示すように、第1のトランザクションの状態情報内のトランザクション状態をコミット状態に変更する。この場合、第1のトランザクションがコミットされる。
外部メモリ書き込みモジュール424は、記録モジュール421がトランザクションのトランザクション状態をコミット状態に変更した後に、トランザクションデータを不揮発性メモリからコンピュータシステムの外部メモリに書き込むように構成される。
例えば、第1のトランザクションがコミットされた後に、外部メモリ書き込みモジュール424は、第1のトランザクションのトランザクションデータを不揮発性メモリのデータ領域から外部メモリに書き込む。
記録モジュール421は、外部メモリ書き込みモジュール424がトランザクションデータをコンピュータシステムの外部メモリに書き込んだ後に、トランザクション識別子に従ってトランザクションのトランザクション状態をバックアップ状態に変更するように更に構成される。
例えば、外部メモリ書き込みモジュール424が第1のトランザクションの全てのトランザクションデータを外部メモリに書き込んだ後に、記録モジュール421は、トランザクション識別子が第1のトランザクションである状態情報を求めて、不揮発性メモリのデータ状態領域を検索し、上記の表3に示すように、第1のトランザクションの状態情報内のトランザクション状態をバックアップ状態に変更する。この場合、第1のトランザクションのトランザクションデータは、外部メモリに成功して書き込まれ、第1のトランザクションの処理が終了する。
任意選択で、不揮発性メモリの記憶空間を節約するために、トランザクションのトランザクション状態バックアップ状態に変更された後に、不揮発性メモリ内のトランザクションのトランザクションデータ及び状態情報削除されてもよい。トランザクションのトランザクションデータを削除してトランザクションの状態情報を削除するシーケンスは限定されない。或いは、不揮発性メモリが比較的十分な記憶空間を有する場合、トランザクションのトランザクション状態バックアップ状態に変更された後に、不揮発性メモリ内のトランザクションのトランザクションデータ削除されなくてもよく、これにより、トランザクションのトランザクションデータが後に使用される必要がある場合、トランザクションのトランザクションデータは、外部メモリから読み取られる必要はなく、内部メモリから直接読み取られてもよく、これは、読み取り速度を速める。
任意選択で、この出願のトランザクション処理装置は、トランザクション回復を更に実現してもよく、すなわち、前述のトランザクション処理方法を実行する過程において、コンピュータシステムがリスタートした場合、トランザクション処理装置は、不揮発性メモリ内のトランザクションのトランザクション状態に従ってトランザクションを回復してもよい。
具体的には、図5を参照すると、図5は、本発明の実施例による他のトランザクション処理装置の概略構成図である。この実施例では、前述の実施例におけるトランザクション処理装置420より最適に、トランザクション処理装置520は、状態決定モジュール525と、削除モジュール526とを更に含む。
状態決定モジュール525は、記録モジュール421がトランザクションのトランザクション状態を未コミット状態に変更する前に、コンピュータシステムがリスタートした場合、不揮発性メモリに記録されたトランザクションの状態情報に従って、トランザクションのトランザクション状態が未コミット状態であると決定するように構成される。
例えば、内部メモリ書き込みモジュール422が第1のトランザクションのトランザクションデータを不揮発性メモリに書き込むとき、コンピュータシステムが電源異常又はクラッシュの後にリスタートした場合、状態決定モジュール525は、不揮発性メモリ内の第1のトランザクションの状態情報に従って、第1のトランザクションのトランザクション状態が未コミット状態であると決定する。不揮発性メモリ内の第1のトランザクションの状態情報は、上記の表1に示されている。
削除モジュール526は、状態決定モジュール525がトランザクションのトランザクション状態が未コミット状態であると決定した場合、トランザクションのトランザクションデータ及びトランザクションの状態情報を削除するように構成される。
例えば、削除モジュール526は、不揮発性メモリのデータ領域内の第1のトランザクションの全てのトランザクションデータを削除し、不揮発性メモリのデータ状態領域内の第1のトランザクションの状態情報を削除し、すなわち、上記の表1が削除され、これにより、トランザクションロールバックを実現する。
任意選択で、状態決定モジュール525は、記録モジュール421がトランザクションのトランザクション状態をコミット状態に変更した後に、コンピュータシステムがリスタートした場合、不揮発性メモリに記録されたトランザクションの状態情報に従って、トランザクションのトランザクション状態がコミット状態であると決定し、トランザクションデータを不揮発性メモリからコンピュータシステムの外部メモリに書き込むように外部メモリ書き込みモジュール424をトリガーするように更に構成される。
例えば、記録モジュール421が第1のトランザクションのトランザクション状態をコミット状態に変更した後に、コンピュータシステムが電源異常又はクラッシュの後にリスタートした場合、状態決定モジュール525は、不揮発性メモリ内の第1のトランザクションの状態情報に従って、第1のトランザクションのトランザクション状態がコミット状態であると決定し、不揮発性メモリ内の第1のトランザクションのトランザクションデータを外部メモリに書き込む。不揮発性メモリ内の第1のトランザクションの状態情報は、上記の表2に示されている。
任意選択で、不揮発性メモリの記憶空間を節約するために、記録モジュール421がトランザクションのトランザクション状態をバックアップ状態に変更した後に、削除モジュール526は、トランザクションのトランザクションデータを削除するように更に構成され、これにより、不揮発性メモリの記憶空間を回収する。
他の実施例では、不揮発性メモリが比較的十分な記憶空間を有する場合、トランザクション処理装置520は、トランザクションのトランザクション状態がバックアップ状態に変更された後に何も動作を実行しないことが理解され得る。
この出願は、コンピュータシステムを更に提供する。図1を参照すると、図1は、この出願におけるコンピュータシステムの実施例の概略構成図である。この実施例では、コンピュータシステム100は、プロセッサ110と、不揮発性メモリ120と、外部メモリ130とを含む。プロセッサ110は、DIMMインタフェース又はPCIeインタフェースのようなインタフェースを使用することにより、不揮発性メモリ120に接続されてもよく、不揮発性メモリ120は、SATAインタフェース又はネットワークドライブのようなインタフェースを使用することにより、外部メモリ130に接続されてもよい。
不揮発性メモリ120及び外部メモリ130の双方は、データを記憶するように構成される。具体的には、不揮発性メモリ120は、プロセッサ110により処理されるトランザクションのトランザクションデータ及び状態情報のようなプロセッサ110の処理データを一時的に記憶するように構成される。外部メモリ130は、プロセッサ110により処理されるトランザクションデータのようなコンピュータシステムのデータを永久的に記憶するように構成される。
プロセッサ110は、中央処理装置(Central Processing Unit、CPU)と呼ばれてもよく、トランザクション処理要求を受信するように構成され、トランザクション処理要求は、トランザクションのトランザクションデータを搬送し、トランザクションの状態情報を不揮発性メモリ120に記録するように構成され、トランザクションの状態情報は、トランザクション状態と、トランザクション処理要求に従ってトランザクションに割り当てられたトランザクション識別子及びアドレスとを含み、トランザクション状態は未コミット状態であり、未コミット状態は、全てのトランザクションデータが不揮発性メモリ120に書き込まれているのではないことを示し、アドレスに従ってトランザクションデータを不揮発性メモリ120に書き込み、トランザクション識別子に従ってトランザクションのトランザクション状態をコミット状態に変更するように構成され、コミット状態は、トランザクションの全てのトランザクションデータが不揮発性メモリに書き込まれているが、全てのトランザクションデータがコンピュータシステムの外部メモリ130に書き込まれているのではないことを示し、トランザクションデータを不揮発性メモリ120からコンピュータシステムの外部メモリ130に書き込み、トランザクション識別子に従ってトランザクションのトランザクション状態をバックアップ状態に変更するように構成され、バックアップ状態は、トランザクションの全てのトランザクションデータがコンピュータシステムの外部メモリ130に書き込まれていることを示す。
任意選択で、トランザクション識別子に従ってトランザクションのトランザクション状態をコミット状態に変更する前に、プロセッサ110は、コンピュータシステムがリスタートした場合、不揮発性メモリ120に記録されたトランザクションの状態情報に従って、トランザクションのトランザクション状態が未コミット状態であると決定し、トランザクションのトランザクションデータ及び状態情報を削除するように更に構成される。
任意選択で、トランザクション識別子に従ってトランザクションのトランザクション状態をコミット状態に変更した後に、プロセッサ110は、コンピュータシステムがリスタートした場合、不揮発性メモリ120に記録されたトランザクションの状態情報に従って、トランザクションのトランザクション状態がコミット状態であると決定し、トランザクションデータを不揮発性メモリ120からコンピュータシステムの外部メモリ130に書き込むように更に構成される。
任意選択で、トランザクション識別子に従ってトランザクションのトランザクション状態をバックアップ状態に変更した後に、プロセッサ110は、トランザクションのトランザクションデータを削除するように更に構成される。
任意選択で、不揮発性メモリ120は、データ領域121とデータ状態領域122とを含んでもよい。データ領域は、トランザクションのトランザクションデータを記憶するために使用され、データ状態領域は、トランザクションの状態情報を記憶するために使用される。
本発明のこの実施例では、プロセッサ110は、集積回路チップでもよく、信号処理能力を有する。実現過程において、前述の方法におけるステップは、プロセッサ110内のハードウェアの集積論理回路又はソフトウェアの形式の命令を用いることによって完了してもよい。前述のプロセッサ110は、汎用プロセッサ、デジタルシグナルプロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application-specific integrated circuit、ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)若しくは他のプログラム可能論理コンポーネント、別個のゲート若しくはトランジスタ論理コンポーネント、又は別個のハードウェアコンポーネントでもよく、本発明の実施例に開示された方法、ステップ及び論理ブロック図を実現又は実行してもよい。汎用プロセッサはマイクロプロセッサでもよく、或いはプロセッサはいずれか従来のプロセッサ等でもよい。本発明の実施例を参照して開示された方法のステップは、ハードウェア復号プロセッサにより直接実行及び完了されてもよく、或いは復号プロセッサ内のハードウェアとソフトウェアとの組み合わせを使用することにより実行及び完了されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読み取り専用メモリ、プログラム可能読み取り専用メモリ、電気的消去可能プログラム可能メモリ又はレジスタのような当該分野において成熟した記憶媒体に位置してもよい。記憶媒体は、外部メモリ130に位置する。プロセッサ110は、外部メモリ130内の情報を読み取り、プロセッサのハードウェアと組み合わせて前述の方法におけるステップを完了する。
前述の解決策では、不揮発性メモリが電源オフされたときにデータが失われないという特徴が使用され、トランザクションのトランザクションデータは、不揮発性メモリに書き込まれた後に外部メモリに直接書き込まれ、トランザクションデータは、ログ領域に書き込まれる必要はない。したがって、トランザクション処理過程が簡略化され、トランザクション処理速度が増加する。さらに、本発明の実施例では、トランザクションの全てのトランザクションデータが不揮発性メモリに書き込まれているか否か、或いは全てのトランザクションデータが外部メモリに書き込まれているか否かを識別するために、異なるトランザクション状態が不揮発性メモリ内に更に設定され、これにより、コンピュータシステムは、トランザクション状態に従って現在のトランザクションのトランザクションデータの書き込み状態を決定し得る。したがって、トランザクションの原子性及び一貫性が確保される。
この出願で提供される複数の実施例において、開示のシステム、装置及び方法は、他の方式で実現されてもよいことが理解されるべきである。例えば、記載の装置の実施例は、単なる例である。例えば、モジュール又はユニットの分割は、単に論理的な機能分割であり、実際の実現では他の分割でもよい。例えば、複数のユニット又はコンポーネントは、他のシステムに結合又は統合されてもよく、或いはいくつかの機能は無視されてもよく、或いは実行されなくてもよい。さらに、表示又は議論された相互結合若しくは直接結合又は通信接続は、いくつかのインタフェースを使用することにより実現されてもよい。装置又はユニットの間の間接結合又は通信接続は、電子的、機械的又は他の形式で実現されてもよい。
別々の部分として記載したユニットは、物理的に別々でもよく或いは別々でなくてもよく、ユニットとして表示された部分は、物理的なユニットでもよく或いは物理的なユニットでなくてもよく、1つの位置に位置してもよく、或いは複数のネットワークユニット上に割り当てられたものでもよい。ユニットの一部又は全部は、実施例の解決策の目的を達成するために、実際のニーズに従って選択されてもよい。
さらに、この出願の実施例における機能ユニットは、1つの処理ユニットに統合されてもよく、或いはユニットのそれぞれが物理的に単独で存在してもよく、或いは2つ以上のユニットが1つのユニットに統合されてもよい。統合されたユニットは、ハードウェアの形式で実現されてもよく、或いはソフトウェア機能ユニットの形式で実現されてもよい。
統合されたユニットがソフトウェア機能ユニットの形式で実現され、独立したプロダクトとして販売又は使用される場合、統合されたユニットは、コンピュータ読み取り可能記憶媒体に記憶されてもよい。このような理解に基づいて、この出願の技術的解決策は、本質的に、或いは、従来技術に寄与する部分又は技術的解決策の全部若しくは一部は、ソフトウェアプロダクトの形式で実現されてもよい。ソフトウェアプロダクトは、記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ又はネットワークデバイスでもよい)又はプロセッサ(processor)に対してこの出願の実施例に記載の方法のステップの全部又は一部を実行するように命令するための複数の命令を含む。前述の記憶媒体は、USBフラッシュドライブ、取り外し可能ハードディスク、読み取り専用メモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、磁気ディスク又は光ディスクのようなプログラムコードを記憶することができるいずれかの媒体を含む。

Claims (13)

  1. コンピュータシステムの内部メモリとして使用される不揮発性メモリを含む前記コンピュータシステム内に適用されるトランザクション処理方法であって
    トランザクション処理要求を受信するステップであり、前記トランザクション処理要求は、トランザクションのトランザクションデータを搬送するステップと、
    前記トランザクションの状態情報を前記不揮発性メモリに記録するステップであり、前記トランザクションの前記状態情報は、トランザクション状態と、前記トランザクション処理要求に従って前記トランザクションに割り当てられたトランザクション識別子及びアドレスとを含み、前記トランザクション状態は未コミット状態であり、前記未コミット状態は、全ての前記トランザクションデータが前記不揮発性メモリに書き込まれているのではないことを示すステップと、
    前記アドレスに従って前記トランザクションデータを前記不揮発性メモリに書き込むステップと、
    前記トランザクション識別子に従って前記トランザクションの前記トランザクション状態をコミット状態に変更するステップであり、前記コミット状態は、前記トランザクションの全ての前記トランザクションデータが前記不揮発性メモリに書き込まれているが、全ての前記トランザクションデータが前記コンピュータシステムの外部メモリに書き込まれているのではないことを示すステップと、
    前記トランザクションデータを前記不揮発性メモリから前記コンピュータシステムの前記外部メモリに書き込むステップと、
    前記トランザクション識別子に従って前記トランザクションの前記トランザクション状態をバックアップ状態に変更するステップであり、前記バックアップ状態は、前記トランザクションの全ての前記トランザクションデータが前記コンピュータシステムの前記外部メモリに書き込まれていることを示すステップと
    を含む方法。
  2. 前記トランザクション識別子に従って前記トランザクションの前記トランザクション状態をコミット状態に変更する前に、
    前記コンピュータシステムがリスタートした場合、前記不揮発性メモリに記録された前記トランザクションの前記状態情報に従って、前記トランザクションの前記トランザクション状態が前記未コミット状態であると決定するステップと、
    前記トランザクションの前記トランザクションデータ及び前記状態情報を削除するステップと
    を更に含む、請求項1に記載の方法。
  3. 前記トランザクション識別子に従って前記トランザクションの前記トランザクション状態をコミット状態に変更した後に、
    前記コンピュータシステムがリスタートした場合、前記不揮発性メモリに記録された前記トランザクションの前記状態情報に従って、前記トランザクションの前記トランザクション状態が前記コミット状態であると決定し、前記トランザクションデータを前記不揮発性メモリから前記コンピュータシステムの前記外部メモリに書き込むステップを更に含む、請求項1に記載の方法。
  4. 前記トランザクション識別子に従って前記トランザクションの前記トランザクション状態をバックアップ状態に変更した後に、
    前記トランザクションの前記トランザクションデータを削除するステップを更に含む、請求項1に記載の方法。
  5. コンピュータシステムの内部メモリとして使用される不揮発性メモリを含む前記コンピュータシステム内に適用されるトランザクション処理装置であって、
    トランザクション処理要求を受信するように構成された受信モジュールであり、前記トランザクション処理要求は、トランザクションのトランザクションデータを搬送する受信モジュールと、
    前記トランザクションの状態情報を前記不揮発性メモリに記録するように構成された記録モジュールであり、前記トランザクションの前記状態情報は、トランザクション状態と、前記トランザクション処理要求に従って前記トランザクションに割り当てられたトランザクション識別子及びアドレスとを含み、前記トランザクション状態は未コミット状態であり、前記未コミット状態は、全ての前記トランザクションデータが前記不揮発性メモリに書き込まれているのではないことを示す記録モジュールと、
    前記アドレスに従って前記トランザクションデータを前記不揮発性メモリに書き込むように構成された内部メモリ書き込みモジュールと
    を含み、
    前記記録モジュールは、前記内部メモリ書き込みモジュールが前記トランザクションデータを前記不揮発性メモリに書き込んだ後に、前記トランザクション識別子に従って前記トランザクションの前記トランザクション状態をコミット状態に変更するように更に構成され、前記コミット状態は、前記トランザクションの全ての前記トランザクションデータが前記不揮発性メモリに書き込まれているが、全ての前記トランザクションデータが前記コンピュータシステムの外部メモリに書き込まれているのではないことを示し、
    前記記録モジュールが前記トランザクションの前記トランザクション状態を前記コミット状態に変更した後に、前記トランザクションデータを前記不揮発性メモリから前記コンピュータシステムの前記外部メモリに書き込むように構成された外部メモリ書き込みモジュールを含み、
    前記記録モジュールは、前記外部メモリ書き込みモジュールが前記トランザクションデータを前記コンピュータシステムの前記外部メモリに書き込んだ後に、前記トランザクション識別子に従って前記トランザクションの前記トランザクション状態をバックアップ状態に変更するように更に構成され、前記バックアップ状態は、前記トランザクションの全ての前記トランザクションデータが前記コンピュータシステムの前記外部メモリに書き込まれていることを示す装置。
  6. 前記記録モジュールが前記トランザクションの前記トランザクション状態を前記コミット状態に変更する前に、前記コンピュータシステムがリスタートした場合、前記不揮発性メモリに記録された前記トランザクションの前記状態情報に従って、前記トランザクションの前記トランザクション状態が前記未コミット状態であると決定するように構成された状態決定モジュールと、
    前記状態決定モジュールが前記トランザクションの前記トランザクション状態が前記未コミット状態であると決定した場合、前記トランザクションの前記トランザクションデータ及び前記状態情報を削除するように構成された削除モジュールと
    を更に含む、請求項5に記載の装置。
  7. 前記状態決定モジュールは、前記記録モジュールが前記トランザクションの前記トランザクション状態を前記コミット状態に変更した後に、前記コンピュータシステムがリスタートした場合、前記不揮発性メモリに記録された前記トランザクションの前記状態情報に従って、前記トランザクションの前記トランザクション状態が前記コミット状態であると決定し、前記トランザクションデータを前記不揮発性メモリから前記コンピュータシステムの前記外部メモリに書き込むように前記外部メモリ書き込みモジュールをトリガーするように更に構成される、請求項6に記載の装置。
  8. 前記削除モジュールは、前記記録モジュールが前記トランザクションの前記トランザクション状態を前記バックアップ状態に変更した後に、前記トランザクションの前記トランザクションデータを削除するように更に構成される、請求項6又は7に記載の装置。
  9. プロセッサと、コンピュータシステムの内部メモリとして使用される不揮発性メモリとを含む前記コンピュータシステムであって、
    前記不揮発性メモリは、データを記憶するように構成され、
    前記プロセッサは、
    トランザクション処理要求を受信するように構成され、前記トランザクション処理要求は、トランザクションのトランザクションデータを搬送し、
    前記トランザクションの状態情報を前記不揮発性メモリに記録するように構成され、前記トランザクションの前記状態情報は、トランザクション状態と、前記トランザクション処理要求に従って前記トランザクションに割り当てられたトランザクション識別子及びアドレスとを含み、前記トランザクション状態は未コミット状態であり、前記未コミット状態は、全ての前記トランザクションデータが前記不揮発性メモリに書き込まれているのではないことを示し、
    前記アドレスに従って前記トランザクションデータを前記不揮発性メモリに書き込み、
    前記トランザクション識別子に従って前記トランザクションの前記トランザクション状態をコミット状態に変更するように構成され、前記コミット状態は、前記トランザクションの全ての前記トランザクションデータが前記不揮発性メモリに書き込まれているが、全ての前記トランザクションデータが前記コンピュータシステムの外部メモリに書き込まれているのではないことを示し、
    前記トランザクションデータを前記不揮発性メモリから前記コンピュータシステムの前記外部メモリに書き込み、
    前記トランザクション識別子に従って前記トランザクションの前記トランザクション状態をバックアップ状態に変更するように構成され、前記バックアップ状態は、前記トランザクションの全ての前記トランザクションデータが前記コンピュータシステムの前記外部メモリに書き込まれていることを示すコンピュータシステム。
  10. 前記トランザクション識別子に従って前記トランザクションの前記トランザクション状態を前記コミット状態に変更する前に、前記プロセッサは、
    前記コンピュータシステムがリスタートした場合、前記不揮発性メモリに記録された前記トランザクションの前記状態情報に従って、前記トランザクションの前記トランザクション状態が前記未コミット状態であると決定し、
    前記トランザクションの前記トランザクションデータ及び前記状態情報を削除するように更に構成される、請求項9に記載のコンピュータシステム。
  11. 前記トランザクション識別子に従って前記トランザクションの前記トランザクション状態を前記コミット状態に変更した後に、前記プロセッサは、
    前記コンピュータシステムがリスタートした場合、前記不揮発性メモリに記録された前記トランザクションの前記状態情報に従って、前記トランザクションの前記トランザクション状態が前記コミット状態であると決定し、前記トランザクションデータを前記不揮発性メモリから前記コンピュータシステムの前記外部メモリに書き込むように更に構成される、請求項9に記載のコンピュータシステム。
  12. 前記トランザクション識別子に従って前記トランザクションの前記トランザクション状態を前記バックアップ状態に変更した後に、前記プロセッサは、
    前記トランザクションの前記トランザクションデータを削除するように更に構成される、請求項9に記載のコンピュータシステム。
  13. コンピュータシステムのプロセッサ上で実行された場合、前記コンピュータシステムに対して請求項1乃至4のうちいずれか1項に記載の方法を実行させるコンピュータプログラム。
JP2017534214A 2014-12-24 2014-12-24 トランザクション処理方法及び装置、並びにコンピュータシステム Active JP6401866B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/094779 WO2016101165A1 (zh) 2014-12-24 2014-12-24 事务处理的方法、装置及计算机系统

Publications (2)

Publication Number Publication Date
JP2018504692A JP2018504692A (ja) 2018-02-15
JP6401866B2 true JP6401866B2 (ja) 2018-10-10

Family

ID=56148902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017534214A Active JP6401866B2 (ja) 2014-12-24 2014-12-24 トランザクション処理方法及び装置、並びにコンピュータシステム

Country Status (6)

Country Link
US (1) US10467044B2 (ja)
EP (1) EP3229147A4 (ja)
JP (1) JP6401866B2 (ja)
KR (1) KR101910759B1 (ja)
CN (1) CN106716395B (ja)
WO (1) WO2016101165A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10268502B2 (en) * 2017-06-29 2019-04-23 Intel Corporation Methods and apparatus to perform atomic transactions in nonvolatile memory under hardware transactional memory
KR20190046169A (ko) * 2017-10-25 2019-05-07 에스케이하이닉스 주식회사 데이터 처리 시스템 및 데이터 처리 시스템의 동작방법
US10445238B1 (en) * 2018-04-24 2019-10-15 Arm Limited Robust transactional memory
KR102450411B1 (ko) * 2018-05-09 2022-09-30 삼성에스디에스 주식회사 블록체인 기반 트랜잭션 처리 방법, 장치 및 그 시스템
CN111240851B (zh) * 2018-11-29 2024-05-24 合肥优荃信息科技有限公司 基于切面编程的事务处理方法、装置、设备及系统
KR102180592B1 (ko) * 2018-12-14 2020-11-18 주식회사 엘지씨엔에스 It 시스템 검증 방법 및 시스템
JP7313458B2 (ja) 2019-09-18 2023-07-24 華為技術有限公司 ストレージシステム、ストレージノード及びデータ記憶方法
KR102412423B1 (ko) * 2020-01-09 2022-06-23 성균관대학교산학협력단 비휘발성 메모리 장치, 이것을 포함하는 컴퓨팅 시스템 및 이것의 동작 방법
CN113296683B (zh) * 2020-04-07 2022-04-29 阿里巴巴集团控股有限公司 数据存储方法、装置、服务器和存储介质
CN112286909B (zh) * 2020-10-29 2023-09-05 平安科技(深圳)有限公司 执行状态确定方法、装置、服务器及存储介质
CN117480484A (zh) * 2021-09-15 2024-01-30 英特尔公司 存储器事务的路由

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5386111A (en) * 1977-01-07 1978-07-29 Toshiba Corp Monitor device
US4507751A (en) * 1982-06-21 1985-03-26 International Business Machines Corporation Method and apparatus for logging journal data using a log write ahead data set
JPH06332777A (ja) * 1993-05-18 1994-12-02 Hitachi Ltd トランザクション処理方式
US5386111A (en) * 1993-10-08 1995-01-31 Zimmerman; H. Allen Optical detection of water droplets using light refraction with a mask to prevent detection of unrefracted light
JP4287900B2 (ja) * 2001-03-19 2009-07-01 株式会社リコー 書き込み遅延データベース管理システム、及びプログラム
JP3607658B2 (ja) * 2001-10-05 2005-01-05 株式会社東芝 携帯可能電子装置
CA2422176C (en) * 2003-03-14 2009-07-21 Ibm Canada Limited - Ibm Canada Limitee Method and apparatus for interrupting updates to a database to provide read-only access
CN1205547C (zh) * 2003-05-19 2005-06-08 清华大学 用普通scsi磁盘代替存储光纤网络中光纤磁盘阵列的方法
US8850141B2 (en) * 2003-07-15 2014-09-30 International Business Machines Corporation System and method for mirroring data
US20070220059A1 (en) * 2006-03-20 2007-09-20 Manyi Lu Data processing node
CN101089857B (zh) * 2007-07-24 2011-05-11 中兴通讯股份有限公司 一种内存数据库事务管理方法及系统
JP5386111B2 (ja) * 2008-05-22 2014-01-15 株式会社日立ソリューションズ ファイルシステムの記録方法
US20110321015A1 (en) * 2010-06-23 2011-12-29 Yen Hsiang Chew Hardware triggering mechanism for software debugger
FR2991796A1 (fr) * 2012-06-12 2013-12-13 Inside Secure Procede de sauvegarde de donnees, a l'exterieur d'un microcircuit securise
CN102831069B (zh) * 2012-06-30 2016-03-30 华为技术有限公司 内存处理方法、内存管理设备
CN103077222B (zh) * 2012-12-31 2016-01-27 中国科学院计算技术研究所 机群文件系统分布式元数据一致性保证方法及系统
EP2972891B1 (en) * 2013-03-14 2020-05-06 Hewlett-Packard Enterprise Development LP Multiversioned nonvolatile memory hierarchy for persistent memory

Also Published As

Publication number Publication date
CN106716395B (zh) 2019-04-19
EP3229147A1 (en) 2017-10-11
US20170286150A1 (en) 2017-10-05
KR20170098900A (ko) 2017-08-30
KR101910759B1 (ko) 2018-12-19
EP3229147A4 (en) 2017-12-27
WO2016101165A1 (zh) 2016-06-30
CN106716395A (zh) 2017-05-24
JP2018504692A (ja) 2018-02-15
US10467044B2 (en) 2019-11-05

Similar Documents

Publication Publication Date Title
JP6401866B2 (ja) トランザクション処理方法及び装置、並びにコンピュータシステム
TWI741054B (zh) 儲存裝置及操作儲存裝置的方法
US9703816B2 (en) Method and system for forward reference logging in a persistent datastore
US10127166B2 (en) Data storage controller with multiple pipelines
CN108431783B (zh) 访问请求处理方法、装置及计算机系统
US11520487B2 (en) Managing write operations during a power loss
US9990146B2 (en) Apparatus and method of data sequencing
CN112416812B (zh) 访问请求处理方法、装置及计算机系统
CN106776147B (zh) 一种差异数据备份方法和差异数据备份装置
US10521148B2 (en) Data storage device backup
CN105659204A (zh) 用于进行带有注释的原子写入操作的方法和装置
US10459803B2 (en) Method for management tables recovery
US20210103517A1 (en) Operating method of memory system and host recovering data with write error
KR102756399B1 (ko) 메모리 디바이스의 조각 모음을 위한 시스템 및 방법
US20160026408A1 (en) Storage device metadata synchronization
KR20140094278A (ko) 반도체 장치 및 이의 동작 방법
TW202234411A (zh) 用於快閃記憶體中進行故障區塊管理的方法與裝置
US10635350B2 (en) Task tail abort for queued storage tasks
KR102085272B1 (ko) 비휘발성 메모리를 이용한 인메모리 데이터베이스의 데이터 처리 방법 및 인메모리 데이터베이스
KR102435910B1 (ko) 스토리지 장치 및 그것의 동작 방법
CN115048042B (zh) 启用针对持久性存储器的存储器存取事务
CN111752475B (zh) 在存储服务器中进行数据存取管理的方法与装置
US10872008B2 (en) Data recovery after storage failure in a memory system
US12422982B2 (en) Storage system and method of data management of the same
EP4246330A1 (en) Storage device and operating method thereof

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170704

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180810

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180907

R150 Certificate of patent or registration of utility model

Ref document number: 6401866

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250