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
JP7204798B2 - 不揮発性メモリにデータを格納する装置および方法 - Google Patents
[go: Go Back, main page]

JP7204798B2 - 不揮発性メモリにデータを格納する装置および方法 - Google Patents

不揮発性メモリにデータを格納する装置および方法 Download PDF

Info

Publication number
JP7204798B2
JP7204798B2 JP2021036357A JP2021036357A JP7204798B2 JP 7204798 B2 JP7204798 B2 JP 7204798B2 JP 2021036357 A JP2021036357 A JP 2021036357A JP 2021036357 A JP2021036357 A JP 2021036357A JP 7204798 B2 JP7204798 B2 JP 7204798B2
Authority
JP
Japan
Prior art keywords
data
codeword
volatile memory
memory
processing unit
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
JP2021036357A
Other languages
English (en)
Other versions
JP2021157787A (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.)
Pilz GmbH and Co KG
Original Assignee
Pilz GmbH and Co KG
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 Pilz GmbH and Co KG filed Critical Pilz GmbH and Co KG
Publication of JP2021157787A publication Critical patent/JP2021157787A/ja
Application granted granted Critical
Publication of JP7204798B2 publication Critical patent/JP7204798B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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/0703Error 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/0706Error 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/0736Error 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 functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • 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/0703Error 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/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)

Description

本発明は不揮発性メモリにデータを格納するための装置、および対応する方法に関する。
情報技術分野において、不揮発性メモリとは、当該メモリを含む装置が動作中でない場合、あるいは当該メモリに電源が供給されていない場合であっても、情報が永久に保持されるデータメモリのことをいう。
揮発性メモリ(たとえばメインメモリまたはCPUのレジスタ)とは対照的に、不揮発性メモリは、動作中に変更されることもでき停電の後も保持され再起動の後再び使用される、構成データ、ユーザープロファイル、パスワード、証明書またはその他のデータを格納するために用いられる。
不揮発性メモリ内のデータに柔軟かつ便利にアクセスするために、それはある所定の方法で構成されることができる。
最も一般的な組織的構造は、ファイルシステムである。メモリの1つの領域には、実際のペイロードデータが含まれ、別の領域にはペイロードデータのパーティショニングをカタログ化する構造の説明が含まれている。
ファイルシステムまたはその他の複雑なストレージ構造は、大量のデータを構造化された方法で保存でき、より簡単に処理できるという利点がある。たとえば、ファイルシステムでは、データへのランダムアクセスだけでなく、データを整理できるディレクトリ・ツリーなどの複雑な管理構造も使用できる。
しかしながら、メモリの組織的構造の複雑さが増すにつれて、メモリにアクセスするために必要な労力も増す。加えて、組織的構造自体には、ユーザデータが使用できないストレージ空間が必要である。
ただし、ファイルシステムその他の複雑なストレージ構造を介した柔軟で便利なアクセスは、すべてのアプリケーションにとって優先事項とは限らない。 専用のタスクを実行する組み込みシステムなどの小規模なシステムの場合、他のプロパティが重要となる。
たとえば、ログと診断データとを不揮発性メモリに記録する装置の場合、データを安全に、継続して、追跡可能に不揮発性メモリに保存でき、不安定な状況でもこの保存を保証できることが重要である(トランザクションの安全性)。
すなわち、停電が発生した場合のデータ損失を可能な限り小さくし、書き込まれたデータの全体的な一貫性に影響を与えないようにする必要がある。 同時に、低い計算能力および小さなメモリを持つ装置でも実行可能であるために、これに必要な追加の労力は大きすぎてはならない。
以上のような背景に対して、本発明の目的は、低い計算能力および小さなメモリを有するシステムにおいても容易に実施することができ、それと同時に、トランザクションの高い安全性と固有の一貫性を確保できる 、データを不揮発性メモリに格納するための装置およびそれに対応する方法を提供することである。
本発明の目的は、特に、特別な予告のない電源異常が生じた場合でも、トランザクションの安全性と固有の一貫性を確保することである。
本発明の一態様によれば、データを不揮発性メモリに格納する装置が設けられている。当該装置は、複数のデータブロックを取得し、複数のデータブロックの各データブロックを終端素子で終端し、終端されたデータブロックをシリアルデータ列に結合するように構成されたデータ処理ユニットと、前記シリアルデータ列を不揮発性メモリに順次書き込むように構成されたメモリユニットとを備える。
前記終端素子は第1の符号語と少なくとも1つの第2の符号語とのいずれかが選択される。前記データ処理ユニットは、不揮発性メモリがメモリユニットによって全部書き込まれたたときに、終端素子として第1の符号語を使用するか、第2の符号語を使用するか、を切り替えるように構成される。
本発明の別の一態様によれば、データを不揮発性メモリに格納する方法が用意され、当該方法は、複数のデータブロックを取得するステップ、複数のデータブロックの各データブロックを終端素子で終端するステップ、終端されたデータブロックをシリアルデータ列に結合するステップ、シリアルデータ列を不揮発性メモリへ書き込むステップ、を含む。
そこにおいて、前記終端素子は、第1の符号語と第2の符号語の間で可変的であり、不揮発性メモリが完全に書き込まれ、前記データブロックが終端されるときに、終端素子としての第1の符号語の使用と第2の符号語の使用とが交替する。
本発明の別の一態様によれば、前記課題は、不揮発性メモリからデータを読み出すのための次の各工程を含む方法により解決される。
- 不揮発性メモリから第1のデータ列を読み込むこと、
- 第1のデータ列の中での移行を規定している第1の符号語および第2の符号語を検出すること、
- 検出された移行に基づき最初のスタート位置を設定すること、
- 最初のスタート位置から始まる第2のデータ列を読み込むこと、
- 第1の符号語または第2の符号語に基づいて、第2のデータ列を複数のデータブロックに分割すること、および
- 第2のデータ列において第1の符号語と第2の符号語との間の変化を検出すること。
このように本発明は、前記目的を達成するために、データメモリの明確な組織的構造を使用することなく、不揮発性メモリへ順次書き込むという着想に基づく。すなわち本発明は、シリアルデータ列に、キュー/FIFOの抽象的なデータ・タイプに基づいた、隠れた(implicit)組織的構造を設けるという着想である。
前記メモリユニットは、不揮発性メモリに順次書き込む。これにより、すべてのメモリセルが等しく書き込まれるという効果がある。
このようにして、たとえばフラッシュメモリのような、限られた有効寿命を有する不揮発性メモリのために、最大の書き込み回数サイクルを利用できる。
よって、ウェアレベリング (wear leveling)のような方法に依存する必要はなく、メモリは最適に書き込まれることができる。
このシリアルデータ列は、変換および直列化のための付加的な計算負荷を必要とすることなく、シリアルプロトコル(たとえばRS232、Ethernet(登録商標)など)においても、簡単に用いることができる。
このことにより、本装置は、資源が有限で通信プロトコルを実装するためのユニット追加の余地のないような組込みシステムに適している。
データ処理ユニットは、最小の付加的な努力で、隠れた組織的構造をシリアルデータ列に刻む(imprint)。アプリケーションにもよるが、データブロック当たり付加的な1、2バイトで、隠れた組織的構造を実施することが十分に可能である。
明確な組織的構造の省略によって、メモリは、ほぼ最適に利用される。
加えて、この隠れた組織的構造は、個々のメモリセルが不完全(defective)である場合であっても、当該構造が本質的に非常に強力(robust)であって、全体として機能性を保つという、すなわち本質的な整合性の利点を有する。
さらにまた、順次の書込みと単純な隠れた組織的構造との組合せは、書込み操作(トランザクション)当たりの、必要なプログラムのステップ数を減らす。
このことにより、高レベルのトランザクション安全性を維持することができ、それは予想外の電源異常が生じた場合のデータロスを減少させる。
この装置は、安全性に関連したログまたは診断データを格納するのに、このように非常に適している。その記録は、不安定な状態の場合に、たとえば制御可能なかつ切れ目のない監査記録を可能にするために、特に重要である。
前述した本発明の目的は、このように完全に達成される。
さらなる改良において、メモリユニットは、順次の態様(sequential manner)で、不揮発性メモリに完全に書き込むように構成されることができる。メモリユニットは、明確な組織的構造のない不揮発性メモリに書き込むことができる。
反復的な実施によって、メモリユニットは容易かつ効率的にメモリにアクセスすることができて、順次書込みを実現できる。
よってこの改良は、不揮発性メモリへの記録のために必要な付加的な努力をさらに減少させることに寄与する。
さらなる改良において、不揮発性メモリを順次読み込み、最初のスタート位置を決定するための終端素子の変更を識別し、最初のスタート位置からシリアルデータ列を順次書き込み始めるように、メモリユニットが構成されてもよい。
この改良によれば、たとえば再起動の後、メモリユニットは、最初のスタート位置をまず決定する。隠れた組織的構造のため、順次調査を1回走らせることだけが、これのために必要である。
最初のスタート位置は、最後に書き込まれた素子の終端素子の後の位置である。書き込まれた最後の素子は、第1の符号語から第2の符号語への移行またはその逆の移行によって、順次読み込まれたデータから識別されることができる。
最初のスタート位置は、このように迅速かつ効率よく決定されることができる。したがって、再起動(それは組込みシステムの場合しばしば必要である)は、基本的にデータの損失なく、迅速かつ効率よく実行される。
さらなる改良において、メモリユニットは、現在の書き込み位置を、揮発性メモリに格納するように構成されることができる。
現在の書き込み位置を格納することによって、メモリユニットは、書き込み休止のあと、書き込み位置の事前の検索をしないで、新しいデータをメモリへ書き込むことができる。「現在の書き込み位置」とは、前に書き込まれた素子の終端素子の後の位置に対応する。
よって、書込み操作(トランザクション)は、ほんの少数の動作のみによって、特に効率的に実行されることができる。メモリへの物理的な書き込みが直ちに始まるからである。
さらなる実施の態様において、メモリユニットは現在の書き込み位置を揮発性メモリに保存するように構成されてもよい。現在の書き込み位置の値が揮発性メモリから取得可能な場合のみ、シリアルデータを現在の書き込み位置に書き込む。
この実施の態様によれば、現在位置の値を揮発性メモリから得ることができる場合にだけ、メモリユニットは現在の書き込み位置で書込み操作を続ける。
値が格納されていない場合、メモリユニットは、すでに格納されたデータを検索して最初に書き込む位置を決定することができ、検索により決定された位置で書き込み動作を続ける。
現在の位置を揮発性メモリに保存することは動作中メモリに書き続けることを可能にし、揮発性メモリがたとえば再起動でリセットされた場合だけ、検索を強制する。この改良は、安全な態様で効率を向上させるように寄与する。
さらなる改良において、データ処理ユニットは、第1の符号語または少なくとも第2の符号語に対応する複数のデータブロックの各文字をマスクするように構成されてもよい。
この改良によれば、データ中に、終端素子に対応する隠れた組織的構造の不整合につながる文字がないことが確実にされる。このことにより、データは素子を終端素子の選択とは独立して格納されることができる。すなわち、終端素子は格納されるデータとは独立して選択されることができる。
さらなる改良において、データ処理ユニットは、複数のデータブロックの各データブロックごとにチェックサムを生成して、各データブロックにそれを追加するように構成されてもよい。
この改良によれば、各データブロックは、このようにチェックサムを備えている。よって、隠れた組織的構造を変えることなく、改ざん(falsification)に対して、データをこのように容易に固定することができる。このことにより、データの信頼性を増加できる。
この改良は、装置をログおよび診断用メモリとしての用途に用いることを特に可能にする。それはプローバの監査記録を特に確実にする。
さらなる改良において、データ処理ユニットは、複数のデータブロックの各データブロックを暗号化するように構成されることができる。
この改良によれば、データは、明確な組織的構造の欠如にもかかわらず、操作および許可されていないアクセスに対して、固定されることができる。
この改良は、ログおよび診断用メモリとしての用途において装置をさらに有効にする。
さらなる改良において、データブロックは、可変長であってもよい。
隠れた組織的構造は、可変長データが、さらなる修正なしで格納されることを可能にする。このことにより、空きメモリが最適に利用できる。
前述したおよび以下で説明される特徴は、本発明の範囲から離れない範囲で、示される組合せのみならず、他の組合せでも、または単独でも、実施されることができることは言うまでもない。
本発明の実施の形態は図面に示され、以下の説明において、さらに詳細に説明される。
本発明の実施の形態に係る、データを不揮発性メモリに格納する装置を示す概略図である。 不揮発性メモリに対する書込み操作を示す概略図である。 好ましい実施例によるシリアルデータ列を示す概略図である。 本発明の実施の形態に係る、データを不揮発性メモリに格納する方法を示すフロー図である。
図1は、データを不揮発性メモリに格納する装置を示す。装置の全体は、参照番号10によって示される。
装置は、組込みシステム、すなわち技術的な意味において集積された(埋め込まれた)データ処理装置であってもよい。
組込みシステムは、監視、制御、または規制機能を実行することができて、必要なデータ処理を提供できる。
たとえば、装置は、安全機能を実行するか、またはその実行に関与する安全関連デバイスであってもよい。
装置10は、データ処理ユニット12およびメモリユニット14を含む。これらのユニットは、論理ユニットとして理解すべきであって、単一のコンピュータユニットに結合されることができる。
コンピュータユニットは中央演算処理装置(たとえばマイクロコントローラ)であってもよい。それはプロセッサに加えてさらに周辺機能を有することもできる。
データ処理ユニット12は、第1のインタフェース16を介してデータ収集装置18から複数のデータブロック20を受けることができて、処理できる。
安全関連デバイスの実施例に関して、データ収集装置18は、ログおよび診断データを取得して、データブロック20の形式のメッセージとしてデータ処理ユニット12に送信する診断ユニットであってもよい。メッセージは、テキスト、測定値、または他のパラメータを含むことができる。データブロック20は、長さが可変であってもよい。
データ処理ユニット12は、個々のデータブロック20を得て、各データブロックに終端素子22を追加する。終端素子22は、所定のシンボルの列(たとえば1バイトまたは所定のバイト列)であってもよい。
データブロック20を終端した後に、データ処理ユニット12は、終端されたデータブロックをシリアルデータ列24に結合する。
シリアルデータ列24は、このように一連のデータブロックで構成され、各々が終端素子22によって分離される。
データブロックは、データ処理ユニット12によって、データブロック20を終端素子22に対応する文字に依存しないように、改変されてもよい。
メモリユニット14は、第2のインターフェース26を経て不揮発性メモリ28に接続される。メモリユニット14は、不揮発性メモリ28の中にシリアルデータ列24を格納するように順次、不揮発性メモリへ書き込む。
メモリユニット14は、不揮発性メモリの明示的な組織的構造(たとえばファイルシステム)を使用しないか、もしくはそれに依存しない。むしろ、メモリユニット14は、不揮発性メモリ28の個々にアドレス可能なメモリ位置に、直接書くことができる。
このように、メモリユニット14は、不揮発性メモリを、文字レベルでその内容への直接アクセスが可能であって、ファイルシステムを通して記録データを取り出さない、文字依存のデバイスすなわちRAWデバイスとして扱う。
したがって、その手順は、プロプライエタリなデータをバックアップするためのRAWモード(RAWモードでは、プロプライエタリな内容がファイルシステムのファイルに生データとして格納される)として知られる方法とは異なる。
しかしながら、原則として、ファイルシステムを使用することも、考えられる。都合のよいことに、本方法は、不揮発性メモリの各種の実施例に、このように一様に適用することができる。
メモリユニット14は、メモリに空き領域がなくなるまで、すなわちメモリが完全に書き込まれるまで、シリアルデータ列24を用いて不揮発性メモリ28への書き込みを継続する。
この位置に達すると、データ処理ユニット12は終端素子22を変更し、以降、終端素子22として異なるシンボルのシーケンスを有するシリアルデータ列24を生成する。
したがって、データ処理ユニット12は、終端素子22を、第1の符号語と、少なくとも1つの第2の符号語との間で切り替えることができ、メモリが完全に書き込まれるたびに切り替えが行われる。
終端素子22の変更の後、メモリユニット14は、最初から、シリアルデータ列を不揮発性メモリ28へ順次書き込み始める。このようにして、メモリユニット14は、以前不揮発性メモリ28に格納されたデータに上書きする。
上書きするとき、メモリユニット14は、最初に書き込まれたデータから始めてもよい。メモリユニット14は、このようにして、不揮発性メモリ28をリングバッファのように使用する。
前述の方法でシリアルデータ列を作成し順次書き込むことにより、次の特性を保証できる組織的構造が不揮発性メモリに課される。
- すべてのメモリセルへの均一な書き込み、
- データ構造の固有の一貫性、
- 特別な予防措置なしに停電が発生した場合の、トランザクションの高い安全性。
- 書き込まれたデータのデータ損失がないこと、
- データを整理するためのわずかな追加作業によるストレージの最適な利用、
- RS232やイーサネットなどシリアル通信プロトコルでのシリアルデータ列の再利用性。
記録過程および隠れた組織的構造は、図2を参照して以下でより詳細に説明される。
図2は、不揮発性メモリの概略図における、書込み操作を図示する。
図2の一番上の部分図(a)は、記録のない状態の不揮発性メモリ28を示す。不揮発性メモリ28は、ここでは、たとえば29個のメモリセルにより示される。1つのメモリセル30は、この実施例では1バイトを格納できる。よってこの実施例では、不揮発性メモリ28は、29バイトから成る記録域32を有する。
なお、この実施例は図示の目的だけのものと理解されるべきである。事実、不揮発性メモリは、ここで示されるより非常に大きなものであり得る。さらにまた、実際のすべてのメモリの一部だけが使われることも考えられる。複数のリストの記録すなわち分割が、(1つの実メモリで)このように可能である。
記録域32は、記録域32の最初のメモリセルを示すスタート位置34を有し、最後のメモリセルを示す端位置36を有する。
記録域32は、すべて、不揮発性メモリ28により提供されるメモリから成っていてもよい。
さらに不揮発性メモリ28は、フォーマットされていなくてもよい。すなわち、特定のメモリセルがメモリの組織のために、たとえば構造または割当テーブルの記載のために予約されるという明確な組織的構造を備えていなくてもよい。
部分図(b)は、メモリユニット14によって、シリアルデータ列24の第1の部分24aが順次書き込まれたあとの不揮発性メモリ28を示す。
まず最初に、メモリユニット14は、符号語の後のスタート位置34から書き始める。個々のデータブロックは、シリアルデータ列24において、第1の符号語38で終端される。
メモリユニット14は、さらに、現在の書き込み位置40を内蔵メモリに保存できる。現在の書き込み位置40は、たとえば、まだ書き込まれていない次のメモリセルを示していてもよい。現在の書き込み位置は、他の方法で保存されてもよいことは言うまでもない。
部分図(c)は、メモリユニット14が、不揮発性メモリ28にシリアルデータ列24の他の部分24bを書き込んだことを示す。この時点において、メモリユニット14は、不揮発性メモリ28の端位置36に到達した。
メモリユニット14が端位置36に到達すると、すなわちメモリ領域32に最初から最後まで書き込むとすぐに、メモリユニット14はメモリ領域32への最初からの書き込みを開始する。
換言すれば、メモリユニット14は、シリアルデータ列の次の値を、記録域32のスタート位置34へ書き込んで、初めに追加された値に上書きする。
これと同時に、終端素子22は変化し、データブロックは、この後第2の符号語42によって終端される。
部分図(d)は、シリアルデータ列24の他の部分24cが書き込まれた不揮発性メモリ28を示す。
終端素子22の変更は、第2の符号語42が使用されていることから明らかである。上書きを示すために、ユーザデータは、前のユーザデータが空の箱により示されていたのに対して、ここでは縦線によってマークされる。しかしながら、ユーザデータは、前のユーザデータと同様に符号化される。終端素子22だけは変化して、それは現在、第2の符号語42である。
符号語38と符号語42との間の領域は、無効である。
部分図(e)は、他の部分24dの不揮発性メモリ28への書き込みを示す。メモリユニット14は、順次メモリを上書きする。そうして、コードブロックは、終端素子22としての第2の符号語42により終端される。
部分図(f)は、シリアルデータ列24の書き込みが記録域32の端位置36に再び到達した、不揮発性メモリ28の状態を示す。
端位置に到達したときに、終端素子22は再び変えられて、再び第1の符号語38になる。すなわちシリアルデータ列24の部分24eのデータブロックが第2の符号語42により終端され、端位置36に到達した場合、それらは第1の符号語38により終端される。それと同時に、端位置36に到達したときに、メモリユニット14は、再び記録域32をスタート位置34から上書きし始める。
部分図(b)から部分図(f)に示された方法は、連続的に繰り返される。すなわち、記録域32はリングバッファのような循環方式で記載される。終端素子は、各循環ごとに、交換される。
第1のサイクルの後、記録域32は、このように第1の領域44および第2の領域46に分けられる。
第1の領域44において、データブロックは第1の符号語38により終端される。第2の領域46で、データブロックは第2の符号語42により終端される。
領域44、46間の移行(transition)48は、終端素子22の変化によって、示される。
たとえば、部分図(d)および部分図(e)において、記録域32をスタート位置34から見た場合、移行領域48は、第2の符号語42から第1の符号語38への変化によって起こる。
部分図(f)において、記録域32をスタート位置34から見た場合、変化は、第1の符号語38から第2の符号語42への移行領域48において発生する。
移行領域48の始まりはキュー(queue)の先頭であり、移行領域48の終端はキューの後尾である。
移行領域48は、最初の書き込み位置を決定するために用いることができる。たとえば、メモリユニット14は、再起動の後、最初の書き込み位置を決定するために構成されてもよく、その位置からの書込み操作が続けられる。
もしデータが以前にメモリ28へ書き込まれた場合、書込み操作は、スタート位置34でなく、むしろ移行領域48から始められてもよい。
このように、前に書き込まれたデータの整合性を維持でき、書き込まれたデータはシステム再始動の後、完全に、かつ、一貫して利用できる。
続いて、メモリユニット14は、たとえば最初のスタート位置を見つけた後、最初のスタート位置を現在の書き込み位置として記憶することにより、移行領域48の位置で、より具体的には移行領域48内の最初の終端素子の後から、書き込み動作を継続してもよい。
検索は、システム再始動後の時間に限られていなくて、他の時間でも同様に実行することができる。検索は、たとえばメモリユニット14に保存される現在の書き込んでいる位置が無効になった場合、開始されてもよい。これで一貫性のないメモリイメージになる前に、新しい検索で整合性を維持できる。
図3は、好ましい実施例にしたがったシリアルデータ列24の概略図を示す。
シリアルデータ列24は、連続したメモリセル30に格納された複数の隣接するデータ素子50から成る。ユーザデータは複数のデータブロック20にグループ化される。各データブロックは、終端素子22によって互いに区切られる。
ここで、終端素子22は、それぞれ1バイトの長さを有する符号語である。たとえば、第1の符号語38は「0x00」であり、第2の符号語42は「0x80」である。
他の実施例では、符号語が1バイトに限られていなくて、複数の文字を含むことができることが理解されよう。
ここに図示した実施例において、ユーザデータは、加えて、固定(secure)される。各データブロックは、各データブロックのデータを破損または伝送エラーから保護するために、巡回冗長検査桁(CRC)により延長される。
巡回冗長検査は、シリアルデータ列に課される隠れた組織的構造の固有の整合性をさらに増加させるために、用いることができる。冗長検査桁は、1バイトに限られているわけではない。
加えて、ユーザデータは、データブロック20の中で暗号化されることができる。これは図3において、データフィールドの灰色のバックグラウンドによって示される。操作の保護に加えて、ユーザデータに対する許可されていないアクセスが、このようにして防止される。
CRCおよび暗号化は、簡単な方法で、隠れた組織的構造を強化するために用いることができる。このことにより、単純な組織的構造によっても、データの完全性を、高レベルで確実にすることができる。
図3において、参照番号48は移行領域を示す。
移行領域48は、使用された終端素子22に変化が発生する領域を示す。移行領域48は、記録域がリングバッファのようにサイクリックに書き込まれることから、発生する。
換言すれば、利用できる記録域が完全に書き込まれたときに、それは記録域の始めからスタートして、以前のデータを上書きする。
リングバッファに対するシーケンシャルな書込みは、最も古いデータが最初に上書きされることを意味する。これは、ログおよび診断データを時間順に格納するのに有利である。このようにして、記録域は、最も大きな範囲に最も多くのメッセージを格納するために、最適に利用できる。
加えて、メモリに均一に書き込むことによって、メモリの最適有効寿命が達成できる。組織的構造はデータストリームの中にある。順次の読込みと書込みとは、メモリへの均一なアクセスをもたらす。
ここで提案される隠れた組織的構造によれば、ほとんどすべての空きメモリが、ユーザデータのために用いられることが可能である。
追加のメモリ空間が必要なのは、終端素子と、該当する場合はCRCチェック桁だけである。しかしながら、これは、データブロック当たり1、2バイトに限られ得る。
移行領域48内の2つの終端素子間の領域52(それはクロスハッチされたデータブロックによって示される)を除いて、記録域全体は、終端素子22を読み込み順次分割することによって、オリジナルなデータブロック(たとえば個々の診断メッセージ)に再び分割することができる有効なユーザデータによって占有される。したがって、隠れた組織的構造は、このように時間的に続くメッセージを保存することに適しているといえるが、この種のデータに限定されない。
不揮発性メモリ28の記録域を最適に利用することに加えて、シリアルデータ列を格納することは、データストリームを、直列データ伝送において直接用いることができるという効果がある。
シリアルプロトコルによる送信の場合、データ列をメモリからの変更なく順次読み取るだけで十分である。シリアルデータ列を送信するために個別にコンパイルする必要はない。したがって、使用される計算ユニットの計算能力への要求またはバッファメモリの要件を減らすことができる。
図4は、本発明の一つの実施の形態によるデータを不揮発性メモリに格納する方法の各ステップをフロー形式にまとめたものである。本方法の全体は、参照番号100によって、示される。
ステップS101において、データ処理ユニットは、個々のデータブロック20を取得する。データブロック20は、たとえば、診断装置からの可変長の診断メッセージであってもよい。データブロック20は、データ処理ユニットに送られる。またはデータブロック20は、共用メモリから読み取ることによって、能動的に取得されてもよい。
獲得された複数のデータブロックのうちの各データブロックは、ステップS102に示すように、データ処理ユニットによって終端素子が提供される。
このことに関して、データ処理ユニットは、後続のデータの編成(sequencing)における隠れた構造を可能にするために、第1の終端素子か少なくとも1つの第2の終端素子かを選択してもよい。
任意的であるが、データ処理ユニットは、たとえば、終端素子に使用されるデータ文字をマスキングすることによって、このステップ中で、データを処理することもできる。 さらに、この時点でデータにチェックサムを提供するか、暗号化することも考えられる。
次にステップS103において、データ処理ユニットは、複数のブロックを一緒に保存する(queuing)ことによって、終端したデータブロックをシリアルデータ列に結合する。
好ましい実施の形態では、データ処理ユニットは、データ処理ユニットがそれらを受信するに従って、データブロックを順次結合することができる。
しかしながら、データ処理ユニット12は、最初に複数のデータブロックをソートして優先順位を付け、次にそれらを結合してシリアルデータ列を形成することも考えられる。
ステップS104においては、シリアルデータ列は不揮発性メモリへ書き込まれる。すなわち、データは不揮発性メモリに物理的に格納される。
メモリに対する書込は、順次行われる。たとえば、シリアルデータ列は、バイトごとに不揮発性メモリに、または所定のサイズの各ブロックに転送されることができる。メモリのアドレス指定は単純な反復子(iterator)を用いて行うことができるため、現在の書き込み位置へのポインタのみをインクリメントすればよい。この処理は、オペレーティングシステムを使用せずに実行でき、リソースが限られているマイクロコントローラーに実装可能となる。
ステップ104の書き込みは、リングバッファへの書き込みに対応する。メモリが完全に書き込まれると、書き込み操作はメモリの先頭から続行される。加えて、メモリの終わりに達すると、終端素子が変更される。つまり、各サイクルの後、データブロックを切り離す終端素子が変化する。 このようにして、上記の隠れた組織的構造が実現される。
本方法は、本願明細書に示された各ステップに限定されず、追加のステップまたは中間のステップを含むことができることが理解されよう。
本方法は、先に述べた装置により行うことができる。あるいは、本方法は、コンピュータユニットまたは他のコンピューティング装置(ASIC、FPGAなど)によって実行され得るコンピュータユニットプログラムに実装されてもよい。
データを格納する方法に加えて、本格納装置は、データを読み込むための、対応する方法を実施することもできる。この手順は、他のデバイス(たとえば市販のPC)により実施されることもできる。
読み込み手順は、2つの段階に分けられる。
まず、第1の読み込み位置が決定される。そして第1の読み込み位置から始まって、メモリが順次読み込まれる。
第1段階は、始めの書き込み位置を見つけるための手順に対応する。
ここでは、メモリは順次読み込まれる。1つの符号語からもう一方の符号語への移行が、順次読み込まれたデータにおいて識別される。移行の終端は、順次読出しが始まる最初に読み込まれた位置を示す。読み取り位置から順次読み込まれたデータは、終端素子を使用して個々のデータブロックに分割でき、それから、それ自体が既知の方法で処理できる。
読み込み手順は、次の各工程を含んでいてもよい。
-不揮発性メモリから第1のデータ列を順次読み込むこと、
-第1のデータ列の移行領域を定めている第1の符号語および第2の符号語を検出すること、
-検出された移行領域に基づいてスタート位置を設定すること、
-前記スタート位置から始まる第2のデータ列を読み込むこと、
-第1の符号語または第2の符号語に基づいて、第2のデータ列を複数のデータブロックに分割すること、
-第2のデータ列における第1の符号語と第2の符号語との間の変化を検出すること。
第2のデータ列の読出しは回転方法(rolling manner)で実行される。すなわち、不揮発性メモリの端に達したときに、読込み操作は不揮発性メモリの初めから続けられる。
以上の説明は、実施例であると理解されるべきであって、本願明細書において開示された特徴が発明の範囲を制限するものではないと理解される。本発明の範囲は、添付の請求の範囲によって記述される。

Claims (11)

  1. 不揮発性メモリ(28)にデータを格納するための装置(10)であって、データ処理ユニット(12)とメモリユニット(14)とを備え、
    前記データ処理ユニット(12)は、複数のデータブロック(20)を収集し、前記複数のデータブロック(20)の各データブロックを終端素子(22)によって終端し、前記終端された各データブロックをシリアルデータ列(24)に結合するように構成され、
    前記メモリユニット(14)は、前記シリアルデータ列(24)を前記不揮発性メモリ(28)へ順次書き込むように構成され、
    前記終端素子(22)は、第1の符号語(38)または前記第1の符号語(38)とは異なる少なくとも1つの第2の符号語(42)のいずれかであることができ
    前記データ処理ユニット(12)は、前記不揮発性メモリ(28)が前記メモリユニット(14)によって完全に書き込まれたときに、前記終端素子(22)としての前記第1の符号語(38)の使用と、前記第2の符号語(42)の使用とを切り替えるように構成されており、かつ、前記シリアルデータ列(24)を前記不揮発性メモリ(28)に、前記不揮発性メモリ(28)の先頭から書き込み続けるように構成されている、装置(10)。
  2. 前記メモリユニット(14)は、順次、前記不揮発性メモリ(28)に完全に書き込むように構成される、請求項1に記載の装置。
  3. 前記メモリユニット(14)は、前記不揮発性メモリ(28)を順次読み込み、前記終端素子(22)の前記第1の符号語(38)から前記少なくとも1つの第2の符号語(42)への変更またはその逆の変更が識別された場合、最初のスタート位置を決定し、前記最初のスタート位置でシリアルデータ列(24)を順次書き込み始めるように構成される、請求項1または請求項2に記載の装置。
  4. 前記メモリユニット(14)は、内蔵メモリに現在の書き込み位置(40)を格納するように構成される、請求項1~請求項3のいずれか1項に記載の装置。
  5. 前記メモリユニット(14)は、現在の書き込み位置(40)を揮発性メモリに保存し、前記現在の書き込み位置(40)の値が前記揮発性メモリから揮発性メモリから取得できる場合にのみ、前記現在の書き込み位置(40)にシリアルデータ列(24)を書き込むように構成される、請求項4に記載の装置。
  6. 前記データ処理ユニット(12)は、前記複数のデータブロック(20)において、前記第1の符号語(38)または前記少なくとも第2の符号語(42)に対応する文字をマスクするように構成される、請求項1~請求項5のいずれか1項に記載の装置。
  7. 前記データ処理ユニット(12)は、前記複数のデータブロック(20)の各データブロックごとにチェックサムを生成して、前記各データブロックにそれを付随させるように構成される、請求項1~請求項6のいずれか1項に記載の装置。
  8. 前記データ処理ユニット(12)は、前記複数のデータブロック(20)の各データブロックを暗号化するように構成される、請求項1~請求項7のいずれか1項に記載の装置。
  9. 前記複数のデータブロック(20)は可変長を有する、請求項1~請求項8のいずれか1項に記載の装置。
  10. データ処理ユニット(12)によって、不揮発性メモリ(28)にデータを格納する方法(100)であって、
    -複数のデータブロック(20)を取得し(S101)、
    -前記複数のデータブロック(20)の各データブロックを終端素子(22)で終端し(S102)、
    -前記終端されたデータブロックをシリアルデータ列(24)に結合し(S103)、
    -前記シリアルデータ列(24)を不揮発性メモリ(28)へ書き込む(S104)、各ステップを備え、
    前記終端素子(22)は、第1の符号語(38)または前記第1の符号語(38)とは異なる第2の符号語(42)のいずれかであることができ
    前記データブロック(20)を終端する(S102)場合に、前記第1の符号語(38)または前記第2の符号語(42)の前記終端素子(22)としての使用が、前記不揮発性メモリ(28)が完全に書き込まれたときに交替し、前記シリアルデータ列(24)の前記不揮発性メモリ(28)への書き込みが、前記不揮発性メモリ(28)の先頭から継続される、方法
  11. 不揮発性メモリ(28)からデータを読み出す方法(100)であって、データ処理ユニット(12)によって、
    -前記不揮発性メモリ(28)から第1のデータ列を読み込み、
    -第1のデータ列における第1の移行(48)を定める第1の符号語(38)および第2の符号語(42)を配置し、
    -検出された前記第1の移行(48)に基づいて最初のスタート位置を設定し、
    -前記最初のスタート位置から始まる第2のデータ列を読み込み、
    -前記第1の符号語(38)または前記第2の符号語(42)に基づいて前記第2のデータ列を複数のデータブロック(20)に分割し、
    -前記第2のデータ列において前記第1の符号語(38から前記第2の符号語(42)への、またはこの逆の前記第2の符号語(42)から前記第1の符号語(38)への、第2の移行を検出する、各ステップを備え
    前記第2のデータ列の読み込みは回転方法(rolling manner)で実施され、前記不揮発性メモリ(28)の最後の位置に達したときに、前記不揮発性メモリ(28)の先頭から読み込みが続けられる、方法。
JP2021036357A 2020-03-24 2021-03-08 不揮発性メモリにデータを格納する装置および方法 Active JP7204798B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102020108101.4A DE102020108101A1 (de) 2020-03-24 2020-03-24 Vorrichtung zur Speicherung von Daten in einem nichtflüchtigen Speicher
DE102020108101.4 2020-03-24

Publications (2)

Publication Number Publication Date
JP2021157787A JP2021157787A (ja) 2021-10-07
JP7204798B2 true JP7204798B2 (ja) 2023-01-16

Family

ID=75203075

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021036357A Active JP7204798B2 (ja) 2020-03-24 2021-03-08 不揮発性メモリにデータを格納する装置および方法

Country Status (5)

Country Link
US (1) US11449273B2 (ja)
EP (1) EP3885957B1 (ja)
JP (1) JP7204798B2 (ja)
CN (1) CN113448888B (ja)
DE (1) DE102020108101A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11563830B2 (en) * 2018-12-19 2023-01-24 Nokia Technologies Oy Method and system for processing network packets
US20250103230A1 (en) * 2023-09-21 2025-03-27 Micron Technology, Inc. Adjusting wordline distribution in a memory device based on modulation of host data
US20250103213A1 (en) * 2023-09-21 2025-03-27 Micron Technology, Inc. Adaptable data modulation in memory systems

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001195283A (ja) 2000-01-12 2001-07-19 Toshiba Corp データ処理装置とデータ処理方法
JP2005196591A (ja) 2004-01-08 2005-07-21 Matsushita Electric Ind Co Ltd メモリ管理方法、及びメモリ管理装置
JP2018028888A (ja) 2016-08-19 2018-02-22 晶心科技股▲ふん▼有限公司Andes Technology Corporation 追跡情報符号化装置、その符号化方法、および読み取り可能なコンピュータ媒体

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4180854A (en) 1977-09-29 1979-12-25 Hewlett-Packard Company Programmable calculator having string variable editing capability
EP0489204B1 (en) 1990-12-04 1995-08-16 Hewlett-Packard Limited Reprogrammable data storage device
GB9314516D0 (en) * 1993-07-13 1993-08-25 Philips Electronics Uk Ltd Digital communications system and a reiceiving apparatus for use in the system
JP2687886B2 (ja) * 1994-07-19 1997-12-08 日本電気株式会社 冷陰極電流変調回路とこれを用いた表示装置
US5864713A (en) * 1996-02-12 1999-01-26 Hewlett-Packard Company Method for determining if data should be written at the beginning of a buffer depending on space available after unread data in the buffer
US6862635B1 (en) * 1998-11-13 2005-03-01 Cray Inc. Synchronization techniques in a multithreaded environment
US6904492B2 (en) * 2001-12-19 2005-06-07 Hewlett-Packard Development Company, L.P. Write-once memory device including non-volatile memory for temporary storage
US7486104B2 (en) * 2006-06-02 2009-02-03 Rambus Inc. Integrated circuit with graduated on-die termination
US7921258B1 (en) * 2006-12-14 2011-04-05 Microsoft Corporation Nonvolatile disk cache for data security
KR101336258B1 (ko) * 2007-05-29 2013-12-03 삼성전자 주식회사 비휘발성 메모리의 데이터 처리 장치 및 방법
US8429436B2 (en) * 2009-09-09 2013-04-23 Fusion-Io, Inc. Apparatus, system, and method for power reduction in a storage device
CN103262054B (zh) * 2010-12-13 2015-11-25 桑迪士克科技股份有限公司 用于自动提交存储器的装置、系统和方法
WO2015106162A1 (en) * 2014-01-09 2015-07-16 SanDisk Technologies, Inc. Selective copyback for on die buffered non-volatile memory
US9647692B2 (en) * 2014-01-24 2017-05-09 Avago Technologies General Ip (Singapore) Pte. Ltd. Upstream forward error correction codeword filling
US9405618B2 (en) * 2014-05-28 2016-08-02 Infineon Technologies Ag Marker programming in non-volatile memories
JP6531531B2 (ja) 2014-07-18 2019-06-19 東レ株式会社 積層フィルム、および積層フィルムの製造方法
IT201700115266A1 (it) * 2017-10-12 2019-04-12 St Microelectronics Rousset Dispositivo elettronico comprendente un modulo digitale per accedere a dati cifrati in una memoria e corrispondente metodo per accedere a dati cifrati in una memoria

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001195283A (ja) 2000-01-12 2001-07-19 Toshiba Corp データ処理装置とデータ処理方法
JP2005196591A (ja) 2004-01-08 2005-07-21 Matsushita Electric Ind Co Ltd メモリ管理方法、及びメモリ管理装置
JP2018028888A (ja) 2016-08-19 2018-02-22 晶心科技股▲ふん▼有限公司Andes Technology Corporation 追跡情報符号化装置、その符号化方法、および読み取り可能なコンピュータ媒体
US20180054374A1 (en) 2016-08-19 2018-02-22 Andes Technology Corporation Trace information encoding apparatus, encoding method thereof, and readable computer medium

Also Published As

Publication number Publication date
US11449273B2 (en) 2022-09-20
CN113448888A (zh) 2021-09-28
EP3885957C0 (de) 2025-12-31
EP3885957B1 (de) 2025-12-31
CN113448888B (zh) 2023-12-22
EP3885957A1 (de) 2021-09-29
JP2021157787A (ja) 2021-10-07
US20210349656A1 (en) 2021-11-11
DE102020108101A1 (de) 2021-09-30

Similar Documents

Publication Publication Date Title
US11385840B2 (en) Multi-tiered data storage with archival blockchains
JP7204798B2 (ja) 不揮発性メモリにデータを格納する装置および方法
US9075710B2 (en) Non-volatile key-value store
US9645758B2 (en) Apparatus, system, and method for indexing data of an append-only, log-based structure
US8136015B2 (en) Data storage apparatus and data storage method
US10620861B2 (en) Retrieve data block from determined devices
US10048864B2 (en) Dynamically configuring erasure code redundancy and distribution
US6256762B1 (en) Semiconductor disk device
CN108205499B (zh) 用于将数据处理转移到混合存储设备的方法和装置
US20180314627A1 (en) Systems and Methods for Referencing Data on a Storage Medium
US10108359B2 (en) Method and system for efficient cache buffering in a system having parity arms to enable hardware acceleration
US8639673B2 (en) Multiplex classification for tabular data compression
US11347653B2 (en) Persistent storage device management
WO2016144362A1 (en) Memory device write based on mapping
CN104123102B (zh) 一种ip硬盘及其数据处理方法
CN113360095B (zh) 硬盘数据管理方法、装置、设备及介质
WO2020028801A1 (en) Error correction with scatter-gather list data management
US6819627B2 (en) Method for storing data, method for reading data, apparatus for storing data and apparatus for reading data
US8819355B2 (en) Information processing apparatus, information processing method, and program
CN110955383B (zh) 数据储存装置以及非挥发式存储器控制方法
KR20230094308A (ko) 저장 장치, 그것을 포함하는 호스트 시스템, 및 그것의 동작 방법
US11928084B2 (en) Metadata store in multiple reusable append logs
CN111737199B (zh) 一种嵌入式抗掉电文件系统的操作方法
CN117272283A (zh) 程序运行的方法、装置、设备、存储介质和产品
HK40034078B (en) Method, device and equipment for generating hash of global state in block chain type account book

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220809

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221228

R150 Certificate of patent or registration of utility model

Ref document number: 7204798

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150