JP7208000B2 - 情報処理装置及び情報処理装置の制御方法 - Google Patents

情報処理装置及び情報処理装置の制御方法 Download PDF

Info

Publication number
JP7208000B2
JP7208000B2 JP2018247848A JP2018247848A JP7208000B2 JP 7208000 B2 JP7208000 B2 JP 7208000B2 JP 2018247848 A JP2018247848 A JP 2018247848A JP 2018247848 A JP2018247848 A JP 2018247848A JP 7208000 B2 JP7208000 B2 JP 7208000B2
Authority
JP
Japan
Prior art keywords
storage
information processing
control
dummy data
area
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
JP2018247848A
Other languages
English (en)
Other versions
JP2020107243A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2018247848A priority Critical patent/JP7208000B2/ja
Priority to US16/721,680 priority patent/US11194481B2/en
Publication of JP2020107243A publication Critical patent/JP2020107243A/ja
Application granted granted Critical
Publication of JP7208000B2 publication Critical patent/JP7208000B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Detection And Correction Of Errors (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、複数の不揮発性の半導体メモリを搭載した情報処理装置及びその制御方法に関する。
従来、情報処理装置内にHDDやSSDの様な大容量ストレージデバイスが搭載され、動作プログラムを格納すると共に画像データの保存、編集などを実現するストレージ機能を実現している。
近年、大容量化と低価格化が進んで急速に普及が進んでいるSSDはHDDと比べて高速なランダムアクセスが可能であり、低消費電力、高い耐衝撃性、軽量、省スペースといった点に特長がある。特にシステム起動時においてHDDで必要なスピンアップ等の初期動作が必要無い為、高速なデータ転送と相まって起動時間や復帰時間の短縮化には非常に効果があるため、画像形成装置のストレージデバイスとして採用されてきている。
SSDには書換え回数(P/Eサイクル)とデータ保持時間が使用上の主な制限値として存在する。書換え回数の制限値はSSDに搭載されるフラッシュメモリに依存し、フラッシュメモリの製造プロセスの微細化に伴い減少し続けている。
SSDは書換え回数の消費が進むと、データ保持時間の低下や使用可能エリアの減少等の不具合が発生する可能性が高まる。そこで、SSDに搭載されているフラッシュメモリ・コントローラは同じ領域への書き込み頻度が集中しないように書き込み先を平均化させてストレージデバイスの寿命を延伸化させるウェアレベリングという技術を用いて対応している。
SSDのオペレーティングシステム(以下OS)のファイルシステム(以下FS)は、ストレージへのリード・ライト処理において、不要となったファイル(データ)を管理情報から削除する。しかし、このとき管理情報から削除されるだけであって、SSDの記憶領域に記憶された実データは削除されず、記憶領域に残る。
そのため、SSDのコントローラはライトパフォーマンスを維持するために基本的にSSDに搭載されるNANDフラッシュメモリに未使用ブロックが有る場合に、優先的に未使用ブロックを使用してライトを行う。従って、SSDは使い込まれるにつれて未使用ブロックが減少する。未使用ブロックが完全に無くなった場合に、SSDのコントローラはライトする際にガベージコレクション処理を伴うことになり、ライトパフォーマンスが大幅にダウンする。
そこで、近年、Trimコマンドが普及しつつある。Trimコマンドは、パフォーマンスダウン解消のために、OSの管理情報で不要となったデータをSSDに通知して、SSD内の不要データを含んだブロックを一括してガベージコレクションと消去処理を行なわせるコマンドである。
また、SSDはHDDに代わるストレージデバイスという位置づけである。そのため、SSDにおいてもHDDと同様に信頼性向上のためRAID1のミラーリング構成による利用が検討されている。
ミラーリング構成は、2台のストレージデバイスに同じデータを書き込む構成である。このような構成によれば、一方のストレージデバイスが故障してもそのストレージデバイスを新たなストレージデバイスに交換すれば、もう一方のストレージデバイスを用いてデータを復旧することが可能となる(特許文献1、2)。
ミラーリング構成を搭載する際に、情報処理装置の内部において、メインコントローラと2台のストレージデバイスとを、ミラーリング制御部を介して接続することになる。この場合、ミラーリングの制御はミラーリング制御部が行うことになり、メインコントローラ側から見るとあたかも1台のストレージデバイスが接続されているだけのように認識される。
特開2006-252451号公報 特開2012-079100号公報
ミラーリング構成において、2台のストレージデバイスの内の1台が故障した時に故障したストレージデバイスを新しいものに交換してそのデバイスに正常なデバイスのデータを書き込むリビルドという処理を行う。
通常のリビルド制御においては、リビルド範囲は使用するストレージデバイスの有効領域全体が対象となる。つまりコピー元である正常なストレージデバイス(以下、マスターストレージ)の先頭アドレスから最終アドレスまでのディスクイメージ全てが交換された新規のデバイスにコピーされる。これによって、図12の様にマスターストレージ上のOSでは未使用とされる領域から読み出された情報も全て論理アドレスに紐付けられてコピー先のストレージデバイスに記録される。
ストレージデバイスがSSDの場合においては、SSDのコントローラから見た全領域が使用状態で空き領域が無い状態となる。言い換えると、データが記憶されていない未使用領域から読み出した情報が書き込まれた状態となる。つまり、例えば、図12のように未使用領域を有するSSD(マスターストレージ)を基にリビルドを行うと、スレーブストレージ側のSSDに対するOSの管理情報は未使用領域だが、SSD制御部では使用済みの領域となってしまうおそれがある。
本発明は、不揮発性の半導体メモリであり且つメインとなる第1ストレージと、不揮発性の半導体メモリであり且つサブとなる第2ストレージと、を有する情報処理装置であって、前記第1ストレージの記憶領域のうち未使用領域を確認する確認手段と、データの書き込みを指示する書込指示手段と、前記第1ストレージの記憶領域に記憶した全てのデータを前記第2ストレージの記憶領域に記憶するリビルド制御、又は、前記第1ストレージおよび前記第2ストレージを同期するミラーリング制御を実行する制御手段と、論理消去を実行する消去手段と、を有し、前記書込指示手段は、前記第1ストレージの前記未使用領域の全ての領域にダミーデータを書き込む指示を前記第1ストレージに送信し、前記制御手段は、前記第1ストレージが前記未使用領域の全ての領域にダミーデータを書き込んだ後、前記リビルド制御を実行し、且つ、前記リビルド制御を実行した後、前記リビルド制御から前記ミラーリング制御に切り替え、前記消去手段は、前記制御手段が前記ミラーリング制御に切り替えた後に、前記第1ストレージおよび前記第2ストレージの前記ダミーデータが書き込まれた全ての領域を対象とした論理消去を実行することを特徴とする情報処理装置。
本発明によれば、未使用領域があるマスターストレージを基にリビルド制御を実行する際に、スレーブストレージ側のSSD制御部から見た未使用領域が全て使用済みとなってライトパフォーマンスが低下する現象を抑制することが可能である。
SSDの内部構成を示すブロック図 コントローラ部の構成を示すブロック図 ストレージデバイスの状態遷移の概念説明図 ストレージデバイスのリビルド制御を説明するフローチャート 未使用領域確認シーケンスを説明するフローチャート ダミーデータファイルの書込みシーケンスの処理を説明するフローチャート ストレージデバイスの状態遷移の概念説明図 ストレージデバイスのリビルド制御を説明するフローチャート 未使用領域確認シーケンスを説明するフローチャート 部分リビルド対象領域の設定の処理を説明するフローチャート リビルド対象領域の未使用領域へのダミーデータファイルの書込みシーケンスの処理を説明するフローチャート 従来のストレージデバイスの状態遷移の概念説明図
添付図面を参照して本発明の各実施例を詳しく説明する。以下の実施例は特許請求の範囲に係る発明を限定するものではなく、また各実施例で説明されている特徴の組み合わせすべてが発明の解決手段に必須の構成とは限らない。なお、以下の実施例では、情報処理装置の例として画像処理装置を用いる。
(実施例1)
図1はストレージデバイス415,415として使用されるSSDの内部構造を示すブロック図である。なお、本実施例では、SSDを用いる構成を示したが、不揮発性の半導体メモリであれば、例えばEMMC等のSSD以外のメモリでもよい。
SSDはSSD制御部100および複数のフラッシュメモリ103を有している。そして、SSD制御部100はストレージI/F101およびメモリ制御部102を備えており、ストレージI/F101は後述のストレージ制御部412またはミラーリング制御部に接続される。つまり、ストレージI/F101はストレージ制御部412またはミラーリング制御部との通信するためのモジュールである。図示の例では、ストレージI/F101として、シリアルATA(Serial AT Attachment:以下SATA)インターフェースが用いられる。
メモリ制御部102は複数のフラッシュメモリ103を1つの大きなストレージデバイスとして制御を行う。メモリ制御部102によってウェアレベリングを行われるため論理アドレスとそれに対応する各フラッシュメモリ103の物理アドレスは動的に変わる。
複数のフラッシュメモリ103で構成されたストレージデバイスの内、論理アドレスによってSSDの外部から管理された記憶領域がユーザー領域104であり、SSD制御部100のみが管理する記憶領域がリザーブ領域105である。
ただし、前述の通りウェアレベリングを行う関係上、ユーザー領域104及びリザーブ領域105に割り当てられるフラッシュメモリ103の物理アドレスは固定されず動的に変化する。
ユーザー領域104はOSを含むユーザープログラムやデータ等が格納されている領域であり、FSの管理情報もここに格納される。FSの管理情報は主にOSが管理する論理アドレス上のファイルの保管先や使用状況等を管理するための情報である。
リザーブ領域105はSSD制御部100の管理情報の格納やウェアレベリングやガベージコレクションで使用するための予備領域として使用される。SSDの管理情報は主に論理アドレスと物理アドレスのリンク情報や各物理ブロックの消去回数及び使用状況等を管理するための情報である。
図2は前記SSDがストレージデバイス414,415として組み込まれる画像形成装置のコントローラ部400を示すブロック図である。
図2のコントローラ部400は、不図示の操作部や外部コンピュータからの指示に基づいて原稿搬送装置を制御する原稿搬送制御部、イメージリーダを制御するイメージリーダ制御部と通信し、入力される原稿の画像データを取得する。また、プリンタ部を制御するプリンタ制御部と通信を行い、画像データをシートに印刷する。折り装置を制御する折り装置制御部、フィニッシャを制御するフィニッシャ制御部と通信を行い、印刷されたシートにステイプルやパンチ穴といった所望の出力を実現する。
外部I/F451は外部のコンピュータと接続するインターフェースである。例えばネットワークやUSBなどの外部バスで接続し外部コンピュータからのプリントデータを画像に展開して出力するほか、後述するストレージデバイス415内の画像データを外部コンピュータに送信することを行う。
コントローラ部400は、CPU401を有し、OSによって制御される。CPU401には、バスブリッジ404が接続される。バスブリッジ404には、ROM402、RAM403、外部I/F制御部405、操作部I/F406、ストレージ制御部412が接続される。CPU401は、ROM402からバスブリッジ404を介して初期起動プログラムを読み出す。また、CPU401は、一時的なデータ格納領域として用い、制御に伴う演算の作業領域として用いられるRAM403にプログラムを展開する。
ストレージ制御部412は、CPU401からの指示に基づいて、ストレージ制御部412に接続されるストレージ装置の制御を行う。具体的には、ストレージ制御部412はHDDやSSD等のストレージ機器のリード/ライト制御を行うハードウェアモジュールで、ストレージ機器と接続はSATAインターフェースが用いられる。なお、図2において、ストレージ制御部412は、ミラーリングシステム420を1つのストレージ装置とみなして制御を行う。
ミラーリングシステム420は、ミラーリング制御部413にストレージデバイス414とストレージデバイス415が接続される構成となっている。ミラーリング制御部413は、ストレージのミラーリング制御を行うハードウェアモジュールである。図2においてミラーリング制御部413は、独立した構成となっているが、ストレージ制御部412に含まれていてもよい。図2の構成において、ミラーリング制御部413とストレージ制御部412の接続はSATAインターフェースが用いられる。
ストレージデバイス414及び415は、CPU401のOSを含むメインプログラムの格納と、イメージリーダや外部I/F451より取得した画像データや操作部で画像を編集した時の保存用やアプリケーションプログラムの格納先として使用される。また、アプリケーションプログラムやユーザープリファレンスデータの格納先としても使用される。ストレージデバイス414及び415は、CPU401からアクセスができるように構成されている。ストレージデバイス414およびストレージデバイス415は、例えばSSDである。
ストレージデバイス414及び415は、ミラーリング制御部413を介してストレージ制御部412と接続される。ミラーリング制御の基で動作しているため同一の論理アドレスに同じデータが書き込まれる。従ってストレージデバイス414とストレージデバイス415に書き込まれているデータは完全に一致する。
外部制御部I/F405は、ネットワークやUSBインターフェースを制御する。操作部I/F406は、操作部に接続する。
デバイス制御部411は、不図示の原稿搬送装置制御部、イメージリーダ制御部、プリンタ制御部、折り装置制御部、フィニッシャ制御部と接続され、これらの制御を行う。
図3、図4を用いてストレージデバイス415を交換もしくはストレージデバイス414のシングル構成に対してストレージデバイス415を追加した場合を例にリビルド制御を説明する。交換理由は、例えばストレージデバイスの故障等である。ここでは、ストレージデバイス414がマスターデバイスとなり、ストレージデバイス415がスレーブとなる。両者の関係が逆の場合も同様に交換側もしくは追加側がスレーブとなる。
図3は、ストレージデバイスの状態遷移の概念説明図であり、図4はストレージデバイスのリビルド制御を説明するフローチャートである。
図4において、システム起動時にコントローラ部400が通電されるとCPU401は、ミラーリングシステム420のイニシャライズを行うため、各デバイスの接続状況を確認する。なお、イニシャライズとは、例えばステートの確認と動作設定など、起動時における状態確認および初期設定である。
各デバイスの接続状況の確認時において、ストレージデバイスの接続の確認を起点としてCPU401は以下のフローを開始する。
ステップS101において、CPU401は、ミラーリング制御部413を介してストレージデバイス414及びストレージデバイス415の接続を認識する。そして、CPU401は、ミラーリング制御部413を介してストレージデバイス414及びストレージデバイス415に対してIdentify deviceコマンドを送信する。Identify deviceコマンドを受信したストレージデバイス414及びストレージデバイス415は、ミラーリング制御部413を介して、デバイス情報をCPU401に返す。
ステップS102において、CPU401は、受け取ったデバイス情報をそれぞれ確認し、ストレージデバイス414及びストレージデバイス415のデバイスの種類を確認する。例えば、受信したデバイス情報のWORD217(Nominal Media Rotation Rate)の値が“0001h”の場合はSSDと認識する。
ステップS103において、ストレージデバイス415がSSDではない(例えば、HDDである)場合は、ステップS107にてリビルドを開始する。ステップS107のリビルドについては、後述する。
一方、ストレージデバイス415がSSDである場合には、ステップS104に遷移する。
ステップS104にてリビルドのマスターストレージとなるストレージデバイス414の未使用領域確認シーケンスに移行する。図5を用いて未使用領域確認シーケンスの詳細な説明を行う。
ステップS121において、CPU401はストレージデバイス414の内部構成を確認する。具体的には、ストレージデバイス414のストレージ情報を取得し、ストレージデバイス414のパーティション構成や使用しているFSの確認を行う。
ステップS122にてCPU401は、ストレージデバイス414内の各パーティションの未使用領域の確認を行う。例えばLinux(登録商標) OSでは各パーティションのFSの管理情報に含まれるスーパーブロックのフリー・カウントを使用して未使用領域のサイズを算出する。スーパーブロックは、ファイルシステムの管理情報を記録している。記録されている情報は、パーティション内のデータブロック数、ブロックサイズ、空きブロック数等である。
ステップS123にてCPU401は、各パーティションのライト可能なファイル数を確認する。具体的にはLinux OSではFSのinode(アイノード)テーブルを参照し、使用可能なinode(アイノード)の数を確認する。ステップS104が終了後にステップS105のダミーデータファイルの書込みシーケンスに移行する。
ステップS105のダミーデータファイルの書込みシーケンスは図6のフローにて行う。
ダミーデータファイルは“FF”(ALL“H”)データ(データの全ビットがHighで満たされたデータ)で構成され、様々な容量の空き領域に対応可能な様にサイズの異なる複数種類のファイルが用意されている。
複数種類のダミーデータファイルのそれぞれのサイズは任意であるが、本実施例では最小サイズは一般的なフラッシュメモリのページサイズである4キロバイト、最大サイズは64メガバイトを想定している。ダミーデータファイルの格納先はROM402,RAM403,ストレージデバイス414及びストレージデバイス415の何れでもよい。
ステップS131にてCPU401は各パーティションの未使用領域に合わせて、使用するダミーデータファイルのサイズと数量を選定する。基本的には用意されたダミーデータファイルのサイズの大きいものから選択し、余剰分を小さいサイズのファイルで補間する様に選択する。
これは小さいデータを大量にライトするのは、パフォーマンス的に効率が悪くなるのとパーティション毎にライト可能なファイル数に制限がある事から前記の様な手法をとる。
従って、パーティション毎にライトするファイル数がそれぞれステップS123にて確認したライト可能なファイル数を超過しないようにファイルサイズと数量を設定する。
ステップS132において、ステップS131でパーティション毎に設定した使用するダミーデータファイルのサイズおよび数量を管理するダミーデータファイルのライトテーブルを生成させる。
ステップS133において、ダミーデータファイルのライトテーブルに合わせて、CPU401は各パーティションにダミーデータファイルをライトする。
ステップS106において、CPU401が全てのダミーデータファイルの書込みの終了を確認する。このときの状態を図3(a)に示す。図3の(a)の様にマスターストレージであるストレージデバイス414の未使用領域は全てダミーデータファイルで満たされる。
ステップS107にてミラーリング制御部413は、ストレージデバイス414からストレージデバイス415に対してリビルドを開始する。このときミラーリング制御部413はマスターストレージであるストレージデバイス414の論理アドレスで管理される領域の全てのデータをストレージデバイス415である新品のSSDにイメージコピーを行う。
ステップS108にてリビルドの終了確認を行う。ステップS109においてリビルド制御が完了すると図3の(b)の様に、マスターストレージとスレーブストレージは完全に同じ状態となる。そしてCPU401はミラーリング制御部413をミラーリング制御に変更する。
ステップS110にてS102で取得したデバイス情報から、ストレージデバイス415がSSDであった場合、S111においてCPU401は全てのダミーデータファイルの論理消去を行う。この処理によって図3の(c)の様に、マスターストレージとスレーブストレージ内のダミーデータファイルの格納されていた領域がOSから管理情報で不要とされたデータの領域となる。
ステップS112にてCPU401はSSDに対してTrimコマンドを送信する。Trimコマンドを受信したSSDは、OSから管理情報で不要とされた領域のデータの消去処理を行う。消去処理が行われると図3の(d)のようにリビルド前のマスターストレージの状態がスレーブストレージ側に完全に再現できる。
なお、本実施例において、ストレージデバイス414,415が共にSSDの場合は両方にTrimコマンドを送信し、マスターストレージであるストレージデバイス414がHDDの場合はストレージデバイス415のみにTrimコマンドを送信する。ステップS112を終えるとステップS113に遷移する。
ステップS113において、ストレージデバイス414およびストレージデバイス415は、スタンバイ状態に移行する。
本実施例の構成によれば、未使用領域があるマスターストレージを基にリビルド制御を実行する際に、スレーブストレージ側のSSD制御部から見た未使用領域が全て使用済みとなりパフォーマンスが低下する現象を抑制することができる。
(実施例2)
本実施例の構成を図7~12を用いて説明する。本実施例は、マスターストレージ内の所定値以上の連続未使用領域を検知してリビルド非対象領域とし、対象領域のみにダミーデータファイルの書込み処理を行い、対象領域のみを部分リビルドを行う点で実施例1と異なる。なお、以下では所定値以上を所定の容量以上として説明するがこれに限らない。また、図1と図2は、実施例1と共通であるため説明を省略する。
図7、図8を用いて古いストレージデバイスをストレージデバイス415に交換した場合のリビルド制御を説明する。
図7は、ストレージデバイスの状態遷移の概念説明図であり、図8はストレージデバイスのリビルド制御を説明するフローチャートである。
ステップSS201からステップS203の処理は、図4のステップS101からステップS103の処理と同一のため説明を割愛する。
ステップS204にて、リビルド制御においてストレージデバイス414となるSSDの未使用領域確認シーケンスに移行するが、本実施例では実施例1の未使用領域確認シーケンスに対して連続的な未使用領域を検知する処理が追加される。本実施例の未使用領域確認シーケンスを図9のフローに示す。ステップS221とステップS222の処理は、ステップS121からステップS122の処理と同一のため説明は割愛する。
ステップS223においてCPU401は、確認した各パーティションの未使用領域のサイズを確認、未使用領域のサイズが予め設定された所定の値より大きいパーティションをピックアップする。なお、各パーティションの未使用領域の確認は、実施例1と同様に各パーティションのFSの管理情報に含まれるスーパーブロックのフリー・カウントを使用して未使用領域のサイズを算出して行う。
ステップS224にて、所定の値以上の未使用領域がパーティションに無い場合には、ステップS226に遷移する。ステップS226については後述する。所定の値以上の未使用領域がパーティションにある場合には、ステップS225に遷移する。
ステップS225にてCPU401は、FSの管理情報を参照してピックアップされたパーティションの連続的な未使用領域のサイズと論理アドレスを確認する。具体的には、CPU401は、各パーティションのinode情報からパーティション内に存在するファイルの位置とエクステント(データサイズ)を参照する。CPU401は、参照した情報を基に各ファイルの配置分布を確認することで連続的な未使用領域の論理アドレスの位置及び範囲とサイズを算出する。
ステップS226の処理はステップS123の処理と同一のため説明は割愛する。ステップS226を終えるとステップS205に遷移する。
ステップS205において、ステップS225で確認した連続的な未使用領域のサイズが予め設定された所定値以上の領域が無い場合は、ステップS206に遷移する。なお、予め設定した未使用領域サイズの所定値は任意であるが、本実施例においては、例えばダミーデータファイルの最大サイズの2倍の値とする。
ステップS206は、ステップS105に対応し、通常リビルド時のダミーデータファイル書き込みシーケンスを行う。ここでは詳細な説明を省略する。また、ステップS207及びステップS208は、ステップS106およびステップS107に対応し、詳細な説明を省略する。ステップS107を終えるとステップS213に遷移する。
ステップS205に戻る。ステップS225で確認した連続的な未使用領域のサイズが予め設定された所定値以上の領域がある場合には、ステップS209に遷移する。
ステップS209において、図10に示す部分リビルド対象領域の設定シーケンスに移行する。ステップS241にて、CPU401はS225にて確認された各パーティション内の予め設定された所定値以上の連続的な未使用領域をピックアップして、それらをリビルドの非対象領域に設定する。具体的には前記連続的な未使用領域の先頭アドレスから最終アドレス迄をそれぞれピックアップする。
ここでミラーリング制御部413の仕様的な制限により、部分リビルドに設定できる領域数に制限値がある場合は、ピックアップされた連続的な未使用領域の中から容量の大きい順に制限値から1を減じた値分の領域をリビルド非対象領域に選択する。例えば、部分リビルドの設定可能な領域数の制限数が3の場合、リビルド非対称領域は2となる。そのため、ピックアップされた連続的な未使用領域の中から容量サイズの上位2つの領域が選択される。
ステップS242にて、CPU401は前記ピックアップされたリビルド非対象領域のアドレス情報をもとにミラーリング制御部に対して部分リビルドの範囲アドレスの設定を行う。ステップS242を終えるとステップS210に遷移する。
ステップS210にてCPU401は、リビルド対象領域に対する未使用領域へのダミーファイルデータ書込みシーケンスに移行する。リビルド対象領域の未使用領域へのダミーデータファイルの書込みシーケンスについて図11のフローを用いて説明する。
ステップS251にてCPU401は、SSDの論理アドレスの先頭から順に各パーティションに対してリビルド非対象領域の有無を確認する。
ステップS252にて確認したパーティション内にリビルド非対象領域が含まれていない場合にはステップS255に遷移する。ステップS255においてCPU401はパーティションの未使用領域に合わせて、使用するダミーデータファイルのサイズと数量を選定する。ステップS255を終えるとステップS256に遷移する。ステップS256の説明は後述する。ステップS525の説明に戻る。
ステップS252にて確認したパーティション内にリビルド非対象領域が含まれている場合にはステップS253の処理を行う。
ステップS253にてCPU401は、パーティション内に存在するファイルの格納アドレス及びデータサイズとリビルド非対象領域のアドレス範囲から、パーティション内のリビルド対象領域の未使用領域のサイズとアドレス情報を特定する。
ステップS254にてCPU401は、ステップS253にて取得したパーティション内のリビルド対象領域に合わせて、使用するダミーデータファイルのサイズと数量を選定する。
また、ステップS256にて全てのパーティションに対するダミーデータファイルの選定が終了すると、ステップS257にてパーティション毎に設定したダミーデータファイルのサイズおよび数量を管理するライトテーブルを生成する。
ステップS258にてS257で生成した前記ダミーデータファイルのライトテーブルに合わせて、CPU401は各パーティションにダミーデータファイルをライトする。ステップS211において全てのダミーデータファイルの書込みの終了が確認されると、図7の(a)の様にマスターストレージであるストレージデバイス414のリビルド対象領域内の未使用領域が全てダミーデータファイルで満たされる。ステップS211を終えるとステップS212に遷移する。
ステップS212にてミラーリング制御部413は、S208にて設定された論理アドレスの範囲のデータをストレージデバイス414から読み出して、ストレージデバイス415の同一アドレスにコピーを行う部分リビルド制御を開始する。
ステップS213にてリビルド制御の終了確認を行う。リビルド制御が完了すると図7の(b)の様に、マスターストレージとスレーブストレージは完全に同じ状態となる。なお、リビルド制御が完了するまでステップS213を維持する。
そして、ステップS214においてCPU401はミラーリング制御部413をミラーリング制御に設定する。ステップS215にてストレージデバイス415がSSDでなかった場合にはステップS218に遷移する。ステップS218の説明は後述する。
ステップS215にてストレージデバイス415がSSDであった場合にはステップS216に遷移する。ステップS216にてCPU401は全てのダミーデータファイルの論理消去を行う。この処理によって、図7(c)のようにマスターストレージとスレーブストレージ内のダミーデータファイルの格納されていた領域がOSから管理情報で不要とされたデータの領域となる。
ステップS217にてCPU401はSSDに対してTrimコマンドを送信する。
Trimコマンドを受信したSSDは、OSから管理情報で不要とされた領域のデータの消去処理を行うため、図7の(d)のようにリビルド前のマスターストレージの状態がスレーブストレージ側に完全に再現できる。なお、ストレージデバイス414,415が共にSSDの場合は両方にTrimコマンドを送信し、マスターストレージであるストレージデバイス414がHDDの場合はストレージデバイス415のみにTrimコマンドを送信する。
ステップS218はステップS113に対応し、ストレージデバイス414およびストレージデバイス415は、スタンバイ状態に移行する。
本実施例の構成においても、空き容量があるマスターストレージを基にリビルド制御を実行する際に、スレーブストレージ側SSD制御部から見た未使用領域が全て使用済みとなってライトパフォーマンスが大幅にダウンする現象を抑制することができる。
さらに、本実施例の構成によれば、所定値以上の連続未使用領域を検知してリビルド非対象領域とし、対象領域のみにダミーデータファイルの書込み処理を行い、対象領域のみを部分リビルドすることでリビルドの処理時間を短縮できる。
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
なお、実施例1および実施例2において、ダミーデータファイルに使用するデータとして“FF”(ALL“1”)データを使用する事により、フラッシュメモリの実質的なデバイス寿命の消費を抑制する事ができる。
(その他の実施形態)
以上、本発明の様々な例と実施形態を示して説明したが、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるものではない。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
401 CPU
412 ストレージ制御部
413 ミラーリング制御部
414 ストレージデバイス
415 ストレージデバイス

Claims (13)

  1. 不揮発性の半導体メモリであり且つメインとなる第1ストレージと不揮発性の半導体メモリであり且つサブとなる第2ストレージとを有する情報処理装置であって、
    前記第1ストレージの記憶領域のうち未使用領域を確認する確認手段と、
    データ書き込みを指示する書込指示手段と、
    前記第1ストレージの記憶領域に記憶した全てのデータを前記第2ストレージの記憶領域に記憶するリビルド制御、又は、前記第1ストレージおよび前記第2ストレージを同期するミラーリング制御を実行する制御手段と、
    論理消去を実行する消去手段と、を有し、
    前記書込指示手段は、前記第1ストレージの前記未使用領域の全ての領域にダミーデータを書き込む指示を前記第1ストレージに送信し、
    前記制御手段は、前記第1ストレージが前記未使用領域の全ての領域にダミーデータを書き込んだ後、前記リビルド制御を実行し、且つ、前記リビルド制御を実行した後、前記リビルド制御から前記ミラーリング制御に切り替え、
    前記消去手段は、前記制御手段が前記ミラーリング制御に切り替えた後に、前記第1ストレージおよび前記第2ストレージの前記ダミーデータが書き込まれた全ての領域を対象とした論理消去を実行することを特徴とする情報処理装置。
  2. 前記消去手段は、前記第1ストレージおよび前記第2ストレージの前記ダミーデータが書き込まれた全ての領域を対象とした論理消去を実行した後、前記第1ストレージおよび前記第2ストレージの前記ダミーデータが書き込まれた全ての領域を対象としたTrimコマンドを前記第1ストレージおよび前記第2ストレージに送信することを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1ストレージは、前記書込指示手段から前記第1ストレージの前記未使用領域の全ての領域にダミーデータを書き込む指示を受け付けると、前記未使用領域のすべての領域にダミーデータを書き込むことを特徴とする請求項1またはに記載の情報処理装置。
  4. ストレージ情報を取得する取得手段を更に有し、
    前記取得手段は、前記第1ストレージの第1ストレージ情報を取得し、
    前記確認手段は、前記第1ストレージ情報を基に前記未使用領域を確認することを特徴とする請求項1に記載の情報処理装置。
  5. 前記取得手段は、前記情報処理装置の起動に基づいて、前記第1ストレージにストレージ情報を取得するためのコマンドを送信することで前記第1ストレージ情報を取得することを特徴とする請求項4に記載の情報処理装置。
  6. 前記第2ストレージは、新たに追加されたストレージまたは交換されたストレージであることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記第1ストレージの前記未使用領域に書き込ませるダミーデータのサイズを選択する選択手段を更に有し、
    前記確認手段は、前記第1ストレージの前記未使用領域のサイズを確認し、
    前記選択手段は、前記確認手段が確認した前記未使用領域のサイズに基づいてダミーデータのサイズを選択する
    ことを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  8. 予め設定された複数種類のデータサイズのダミーデータを有する記憶手段を有することを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  9. 前記ダミーデータが、FFで構成されたデータであることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  10. 前記第1ストレージおよび前記第2ストレージは、SSDであることを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  11. 不揮発性の半導体メモリであり且つメインとなる第1ストレージと不揮発性の半導体メモリであり且つサブとなる第2ストレージとを有し、第1制御部と、前記第1ストレージおよび前記第2ストレージを制御する第2制御部と、を有する情報処理装置の制御方法であって、
    前記第1制御部が前記第1ストレージの記憶領域のうち未使用領域を確認するステップと、
    前記第1制御部が、確認した前記第1ストレージの前記未使用領域の全ての領域にダミーデータを書き込ませるステップと、
    前記第1ストレージが前記未使用領域の全ての領域にダミーデータを書き込んだ後、前記第2制御部が、前記第1ストレージの記憶領域に記憶した全てのデータを前記第2ストレージの記憶領域に記憶するリビルド制御を実行するステップと、
    前記リビルド制御によって前記全てのデータを前記第2ストレージの記憶領域に記憶したことによって、前記第2制御部が前記第1ストレージと前記第2ストレージをミラーリング制御するステップと、
    前記第2制御部が前記ミラーリング制御を実行した後、前記第1制御部が、前記第1ストレージおよび前記第2ストレージの前記ダミーデータが書き込まれた全ての領域を対象とした論理消去を実行するステップと、
    を有することを特徴とする情報処理装置の制御方法。
  12. 請求項11に記載の制御方法を、コンピュータに実行させるためのプログラム。
  13. 請求項12に記載のプログラムを格納したコンピュータで読み取り可能な記憶媒体。
JP2018247848A 2018-12-28 2018-12-28 情報処理装置及び情報処理装置の制御方法 Active JP7208000B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018247848A JP7208000B2 (ja) 2018-12-28 2018-12-28 情報処理装置及び情報処理装置の制御方法
US16/721,680 US11194481B2 (en) 2018-12-28 2019-12-19 Information processing apparatus and method for controlling information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018247848A JP7208000B2 (ja) 2018-12-28 2018-12-28 情報処理装置及び情報処理装置の制御方法

Publications (2)

Publication Number Publication Date
JP2020107243A JP2020107243A (ja) 2020-07-09
JP7208000B2 true JP7208000B2 (ja) 2023-01-18

Family

ID=71123010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018247848A Active JP7208000B2 (ja) 2018-12-28 2018-12-28 情報処理装置及び情報処理装置の制御方法

Country Status (2)

Country Link
US (1) US11194481B2 (ja)
JP (1) JP7208000B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7065816B2 (ja) * 2019-10-09 2022-05-12 ハギワラソリューションズ株式会社 コンピュータシステム及びそのドライブコピー装置、並びにコンピュータシステムのデータコピー方法
US11144203B2 (en) * 2019-12-03 2021-10-12 Micron Technology, Inc. Selectively operable memory device
JP2022152740A (ja) * 2021-03-29 2022-10-12 株式会社日立製作所 情報処理方法及び情報処理プログラム
JP7352300B2 (ja) * 2021-04-30 2023-09-28 株式会社 ニューテック 記憶装置およびリビルド方法
CN113934370B (zh) * 2021-09-09 2022-06-28 珠海海奇半导体有限公司 非易失性存储器的耗损均衡方法、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280779A (ja) 2002-10-31 2004-10-07 Hitachi Ltd ストレージシステムのリモートコピーに於いて空白データを省略する方法と装置
JP2011150590A (ja) 2010-01-22 2011-08-04 Hitachi Ltd ソリッド・ステート・ドライブ装置およびミラー構成再構成方法
JP2015129998A (ja) 2014-01-06 2015-07-16 キヤノン株式会社 ミラーリング装置及びその制御方法、並びにプログラム
US20160092309A1 (en) 2014-09-30 2016-03-31 International Business Machines Corporation Optimization of rebuilding in solid state drives
JP2018014005A (ja) 2016-07-22 2018-01-25 キヤノン株式会社 ストレージ制御装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4888935B2 (ja) 2005-03-14 2012-02-29 株式会社リコー ストレージシステム
JP2012079100A (ja) 2010-10-01 2012-04-19 Canon Inc ディスク制御装置及びディスク制御方法、並びにプログラム
US20120254508A1 (en) * 2011-04-04 2012-10-04 International Business Machines Corporation Using the Short Stroked Portion of Hard Disk Drives for a Mirrored Copy of Solid State Drives
CN108170562B (zh) * 2018-01-12 2020-10-09 深圳大普微电子科技有限公司 一种固态硬盘及其数据处理方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280779A (ja) 2002-10-31 2004-10-07 Hitachi Ltd ストレージシステムのリモートコピーに於いて空白データを省略する方法と装置
JP2011150590A (ja) 2010-01-22 2011-08-04 Hitachi Ltd ソリッド・ステート・ドライブ装置およびミラー構成再構成方法
JP2015129998A (ja) 2014-01-06 2015-07-16 キヤノン株式会社 ミラーリング装置及びその制御方法、並びにプログラム
US20160092309A1 (en) 2014-09-30 2016-03-31 International Business Machines Corporation Optimization of rebuilding in solid state drives
JP2018014005A (ja) 2016-07-22 2018-01-25 キヤノン株式会社 ストレージ制御装置

Also Published As

Publication number Publication date
US20200210074A1 (en) 2020-07-02
US11194481B2 (en) 2021-12-07
JP2020107243A (ja) 2020-07-09

Similar Documents

Publication Publication Date Title
JP7208000B2 (ja) 情報処理装置及び情報処理装置の制御方法
JP4472010B2 (ja) 記憶装置
TWI385669B (zh) 用於快閃記憶體的平均磨損方法、儲存系統與控制器
JP4890160B2 (ja) ストレージシステム及びバックアップ/リカバリ方法
JP5525605B2 (ja) フラッシュメモリモジュール
JP5437373B2 (ja) 複数のフラッシュパッケージを有するストレージシステム
JP4164118B1 (ja) フラッシュメモリを用いた記憶装置
US8725981B2 (en) Storage system and method implementing online volume and snapshot with performance/failure independence and high capacity efficiency
US8397017B2 (en) Controller and data storage device
JP6097845B2 (ja) 不揮発性キャッシュメモリにデータをバックアップするストレージシステム
CN101763309B (zh) 非易失性存储装置、信息记录系统及信息记录方法
TWI409630B (zh) 記憶體設備,記憶體控制方法,及非暫態電腦可讀式媒體
JP2008015769A (ja) ストレージシステム及び書き込み分散方法
JP2008198184A (ja) 連続的なデータ保護のためにジャーナル領域を調節するための方法および装置
US20100235605A1 (en) Enhancement of storage life expectancy by bad block management
CN110362499B (zh) 电子机器及其控制方法、计算机系统及其控制方法以及主机的控制方法
JP2011090496A (ja) 半導体記憶装置および制御方法
JP2017142776A (ja) 寿命管理装置および寿命管理方法
JP4242245B2 (ja) フラッシュrom制御装置
JP2006011811A (ja) 記憶制御システム及び記憶制御方法
JP7401193B2 (ja) 情報処理装置及びその制御方法並びにプログラム
JP4245021B2 (ja) ストレージ装置、ストレージシステム、ストレージ装置の制御方法
JP5768118B2 (ja) 複数のフラッシュパッケージを有するストレージシステム
KR20110041843A (ko) 하이브리드 저장장치 및 그 동작방법
JP5350077B2 (ja) 情報処理装置及びこれを備えた画像形成装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211216

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230105

R151 Written notification of patent or utility model registration

Ref document number: 7208000

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151