[go: up one dir, main page]

JP6271939B2 - 情報処理装置及びその制御方法、並びにプログラム - Google Patents

情報処理装置及びその制御方法、並びにプログラム Download PDF

Info

Publication number
JP6271939B2
JP6271939B2 JP2013214136A JP2013214136A JP6271939B2 JP 6271939 B2 JP6271939 B2 JP 6271939B2 JP 2013214136 A JP2013214136 A JP 2013214136A JP 2013214136 A JP2013214136 A JP 2013214136A JP 6271939 B2 JP6271939 B2 JP 6271939B2
Authority
JP
Japan
Prior art keywords
data
information processing
processing apparatus
written
semiconductor storage
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.)
Expired - Fee Related
Application number
JP2013214136A
Other languages
English (en)
Other versions
JP2015076070A (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 JP2013214136A priority Critical patent/JP6271939B2/ja
Priority to US14/499,712 priority patent/US9983834B2/en
Priority to CN201410528012.1A priority patent/CN104571941B/zh
Publication of JP2015076070A publication Critical patent/JP2015076070A/ja
Application granted granted Critical
Publication of JP6271939B2 publication Critical patent/JP6271939B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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
    • 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/061Improving I/O performance
    • 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/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 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Description

本発明は、半導体ドライブ(SSD)を搭載した情報処理装置及びその制御方法、並びにプログラムに関するものである。
一般に、画像形成装置にはハードディスクドライブ(HDD)が搭載され、HDDにプログラムや画像データを格納するようにしている。一方、近年では、半導体ドライブ(SSD)の大容量化及び低価格化が進み、モバイルPCを中心として急速にSSDの普及が進んでいる。SSDは、HDDと比べて高速なランダムアクセスが可能であるだけでなく、低消費電力、高い耐衝撃性、軽量、及び省スペースという利点がある。特に、システム起動の際にHDDにおいて必要となるスピンアップ等の初期動作がSSDでは不要であり、高速なデータ転送と相まって、SSDの起動時間は大幅に短縮されている。更に、SSDは、衝撃によって破損しやすいディスクの駆動部分を有しないので、耐衝撃性に優れるだけでなく耐熱性にも優れている。このため、SSDは画像形成装置のストレージデバイスとしても注目されている。
ただし、SSDに搭載される記憶デバイスであるフラッシュメモリには、書き込み可能回数に上限がある。例えば、SLC(Single Level Cell)での書き込み可能回数は約10万回であり、MLC(Multiple Level Cell)での書き込み可能回数は約1万回である。更に、フラッシュメモリの製造プロセスの微細化に起因して、フラッシュメモリにおける書き換え可能回数は減少する傾向にある。
フラッシュメモリにおける書き込み可能回数の制限に対処するため、SSDに搭載されたフラッシュメモリコントローラは、フラッシュメモリにおいて同一の領域に対して書き込みの頻度が集中しないように、データの書き込み先の領域を平均的に分散させる。この技術は、「ウェアレベリング」と呼ばれている。更に、フラッシュメモリコントローラは、データの書き込み先の領域を複数のフラッシュメモリに分散させる「インタリーブ」という技術も用いている。このような技術により、フラッシュメモリ、即ち、ストレージデバイスの寿命を延ばすことができる。
一方、画像形成装置において、画像データ等のデータに対するセキュリティ確保の要求、及びプライバシー保護に対する要求は非常に高く、ストレージに記録されたスプールデータ及び保存データを完全に消去可能であることが要求されている。HDDでは、消去対象データが記録された領域にダミーデータを複数回上書きすること残留磁気を除去することにより、消去対象データの完全消去を行う技術が提案されている(例えば特許文献1及び2を参照)。
SSDでは、HDDとは異なり、1回の書き換えで消去対象データを完全に消去することが可能である。しかし、アドレス指定でデータの消去を実行したとしても、通常の書き込み処理では、上述のウェアレベリングに起因して、消去対象データを直接書き換えることができない。このため、SSDにおいて消去対象データを完全に消去するためには、完全消去に対応した特別な書き込み処理を行う必要がある。
特開2004−153516号公報 特開2006−023854号公報
しかし、SSDに搭載される各フラッシュメモリでは、その特性上、データの消去は所定のブロック単位でしか行うことができない。このため、SSDに格納されたデータの完全消去を行う場合、データ消去の際のオーバヘッドに起因して、システム性能が著しく低下してしまうという課題がある。例えば、不要となったデータのサイズが、SSDに搭載されるフラッシュメモリのブロックサイズより小さい場合、消去対象のブロックに格納された、消去対象のデータ以外のデータを他のブロックへ退避させた上で、当該ブロックの消去処理を行う必要がある。また、複数のチップまたはバンクに対してインタリーブが行われることで多数のブロックにデータが分散して配置されている場合、不要なデータを消去するためには、データが分散して配置されているブロックごとに消去処理を個別に行う必要がある。
本発明は、上述の問題に鑑みてなされたものである。本発明は、複数のフラッシュメモリを含む半導体ストレージにデータを書き込む際に、インタリーブの実行状態を適切に制御することで、不要データの消去に起因したシステム性能の低下を防ぐ技術を提供することを目的としている。
本発明は、例えば、情報処理装置として実現できる。本発明の一態様に係る情報処理装置は、複数のフラッシュメモリを含む半導体ストレージと、前記半導体ストレージへデータへの書き込み対象のデータが、当該データに関連する不要データを前記半導体ストレージに残存しないように消去することが設定された特定のデータであるか否かを判定する判定手段と、前記書き込み対象のデータが前記特定のデータではないと判定された場合には、前記複数のフラッシュメモリにデータを分散して書き込むインタリーブを有効にした状態で、前記書き込み対象のデータが前記特定のデータであると判定された場合には、前記インタリーブを無効にした状態で、前記書き込み対象のデータを前記半導体ストレージに書き込む書き込み手段とを備えることを特徴とする。
本発明によれば、複数のフラッシュメモリを含む半導体ストレージにデータを書き込む際に、インタリーブの実行状態を適切に制御することで、不要データの消去に起因したシステム性能の低下を防ぐ技術を提供できる。
画像形成装置300の制御系の構成例を示すブロック図。 メインコントローラ400の構成例を示すブロック図。 操作部800の構成例を示す図。 SSD413の構成例を示すブロック図。 SSD413へのデータ書き込み処理を行う際の、インタリーブの実行状態の制御手順を示すフローチャート。 SSD413におけるデータ書き込み処理の手順を示すフローチャート。 通常のデータ書き込み処理及び完全消去対応のデータ書き込み処理による、SSD413内の記憶領域の使用例を示す図。 画像形成装置300がシャットダウンする際に行われる、SSD413におけるデータの再配置及び不要データの消去の手順を示すフローチャート。
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
<システム構成>
図1は、本発明の実施形態に係る画像形成装置300の制御系の構成例を示すブロック図である。以下の実施形態では、画像形成装置300を本発明の情報処理装置の一例として機能させた例について説明する。
画像形成装置300の全体を制御するメインコントローラ400を備える。メインコントローラ400には、原稿給送装置制御部101、イメージリーダ制御部201、プリンタ制御部301、折り装置制御部501、フィニッシャ制御部601、操作部800及び外部インタフェース(I/F)451が接続されている。
メインコントローラ400は、操作部800または外部コンピュータ453から与えられた指示に基づいて、原稿給送装置制御部101及びイメージリーダ制御部201を制御する。原稿給送装置制御部101は、原稿給送装置(図示せず)を制御して、原稿をイメージリーダ(図示せず)による読み取り位置に給送する。また、イメージリーダ制御部201は、イメージリーダを制御することで、当該イメージリーダによって原稿の画像を読み取って画像データを得る。プリンタ制御部301は、メインコントローラ400の制御下でプリンタ(図示せず)を制御することで、画像データに応じて、例えば、電子写真プロセスによってシートに画像形成を行う。
折り装置制御部501及びフィニッシャ制御部601は、メインコントローラ400の制御下で、それぞれ折り装置(図示せず)及びフィニッシャ(図示せず)を制御することで、シートに折り処理、ステイプル処理またはパンチ穴処理等の後処理を実行する。
外部I/F451は、外部コンピュータ453が接続されるI/Fである。メインコントローラ400は、外部I/F451によって外部バス452に接続され、外部バス452には外部コンピュータ453が接続されている。外部バス452は、例えばネットワークまたはUSB等である。
メインコントローラ400は、外部I/F451を介して外部コンピュータ453からプリントデータを受信し、プリンタ制御部301を制御することで、当該プリントデータに応じた印刷を実行する。また、メインコントローラ400は、後述するストレージ機器(図2のHDD407またはSSD413)に記録された画像データを、外部I/F451を介して外部コンピュータ453に送信する。
図2は、メインコントローラ400の構成例を示すブロック図である。メインコントローラ400は、CPU401及びCPU408の2つのCPUを備え、各CPUではオペレーティングシステム(以下、OS)が動作する。
CPU401はバスブリッジ404と接続されている。CPU401は、バスブリッジ404を介してCPU408との通信を行う。バスブリッジ404には、ROM402、RAM403、外部I/F制御部405、操作部制御部406、及びストレージ制御部412が接続されている。ROM402にはCPU401の初期起動プログラムを格納される。RAM403は、CPU401の制御データを一時的に保持し、また、CPU401による制御に伴う演算用の作業領域としても用いられる。
外部I/F制御部405は、外部I/F451に接続されており、外部I/F451の制御を行う。操作部制御部406は、操作部800に接続されており、操作部800の制御を行う。ストレージ制御部412には、ストレージ機器として、半導体ドライブ(SSD)413と、ハードディスクドライブ(HDD)407と接続される。ただし、HDD407は、オプションのストレージ機器であるため、存在しない場合もありうる。ストレージ制御部412は、SSD413及びHDD407を制御する。
SSD413には、例えば、CPU401及びCPU408で動作するOSを含むメインプログラムが格納される。なお、メインプログラムには、後述する図5に従った処理を実現するためのプログラムが含まれる。ストレージ制御部412にHDD407が接続されていない場合、SSD413には、イメージリーダ及び外部I/F451により取得した画像データ、並びに操作部800の操作に応じて編集された画像データが格納される。また、ストレージ制御部412にHDD407が接続されていない場合、SSD413には、アプリケーションプログラム及びユーザプリファレンスデータ等のデータも格納される。なお、本実施形態では、SSD413はフラッシュディスクとして用いられる。
一方、ストレージ制御部412にHDD407が接続されている場合、イメージリーダ及び外部I/F451により取得した画像データ、並びに操作部800の操作に応じて編集された画像データは、HDD407に格納される。また、アプリケーションプログラム及びユーザプリファレンスデータ等のデータも、HDD407に格納される。CPU401及びCPU408は、ストレージ制御部412を介してHDD407にアクセスすることができる。
CPU408は、バスブリッジ404、ROM409、RAM410、及びデバイス制御部411と接続されている。ROM409にはCPU408の初期起動プログラムが格納される。RAM410は、CPU408の制御データを一時的に保持し、また、CPU408による制御に伴う演算用の作業領域としても用いられる。デバイス制御部411は、原稿給送装置制御部101、イメージリーダ制御部201、プリンタ制御部301、折り装置制御部501、及びフィニッシャ制御部601の制御を司る。
図3は、画像形成装置300の操作部800の構成例を示す図である。操作部800は、表面にタッチパネルシートが貼られた液晶ディスプレイ(LCD)900、テンキー801、スタートキー802、ガイドキー805、コピーモードキー806、FAXキー807、ファイルキー808、及びプリンタキー809を有している。
LCD900には操作画面が表示される。操作画面に表示されたキーがユーザによって押下されると、タッチパネル上で押下された位置を示す位置情報が操作部800からメインコントローラ400に伝達される。メインコントローラ400は、当該位置情報に応じた制御を実行する。
また、ユーザはテンキー801を用いて、例えば、コピー枚数を入力できる。ユーザが所望の条件を設定した後、スタートキー802を押下すると、メインコントローラ400は、例えば、複写動作又は原稿の読取り動作を開始する。ガイドキー805は、各キーの機能に関する説明をLCD900に表示するために用いられる。コピーモードキー806は、複写を行うために用いられる。FAXキー807は、FAXに関する設定を行うために用いられる。ファイルキー808は、ファイルデータの出力のために用いられる。プリンタキー809は、外部コンピュータ453等の外部装置から送られた画像データをプリント出力する際の設定等のために用いられる。
図4は、SSD413の構成例を示すブロック図である。図4に示すように、SSD413は、フラッシュ制御部1000と半導体ストレージ1010とを備え、半導体ストレージは、複数のフラッシュメモリ1011を含む。フラッシュ制御部1000は、ストレージI/F1001、メモリ制御部1002、CPU1005、及びRAM1006を備える。ストレージI/F1001は、ストレージ制御部412と接続されており、ストレージ制御部412との通信を行うためのモジュールである。本実施形態では、ストレージI/F1001として、シリアルATA(SATA:Serial AT Attachment)I/Fが用いられる。
半導体ストレージ1010に含まれる各フラッシュメモリ1011は、メモリ制御部1002と接続されている。メモリ制御部1002は、ストレージI/F1001を介して受信したコマンドに基づいて、フラッシュメモリ1011に対するデータのリード/ライトを行う。CPU1005は、フラッシュメモリ1011に保存された制御ファームウェアをRAM1006に読み出して実行することで、メモリ制御部1002を制御する。これにより、CPU1005は、後述するように、インタリーブを有効にした状態で行う、フラッシュメモリ1011に対する書き込み処理と、インタリーブを無効にした状態で行う、フラッシュメモリ1011に対する書き込み処理との切り替え制御を行う。
CPU1005及びメモリ制御部1002は、複数のフラッシュメモリ1011を並列で制御するインタリーブ機能を有する。インタリーブ機能としては、バンクインタリーブとチップインタリーブが知られている。バンクインタリーブでは、複数のフラッシュメモリ1011内に複数のバンクを設け、チップのアドレス及びデータバスを共有しながら、チップセレクト信号によって並列リード/ライトの対象となるバンクを切り替える。一方、チップインタリーブでは、複数のフラッシュチップについて、チップセレクト信号によって並列リード/ライトの対象となるチップを切り替える。一般に、これらのインタリーブ機能によれば、インタリーブの対象となるバンクまたはチップの並列度が高ければ高いほど、見かけ上、高速にリード/ライトを行うことができる。
<インタリーブの実行状態の制御>
本実施形態に係る画像形成装置300は、SSD413に格納されているデータに対する「完全消去」を行う機能を有する。「完全消去」とは、半導体ストレージ1010(SSD413)へのデータの書き込みの後、当該データの消去を行う際に、当該データに関連する不要データを半導体ストレージ1010(SSD413)に残存しないように消去する動作に相当する。例えば、画像形成装置300は、SSD413に格納されているデータの完全消去を行う場合、不要となったデータが格納されたSSD413内のブロックからのデータの読み出しを禁止し、その後、適切なタイミングに当該ブロック内のデータを消去する。このようにして、消去処理後のブロックからアドレス指定でデータが読み出されることを防止するとともに、当該ブロック内のデータをSSD413内に残存させることなく確実に消去することを実現する。
しかし、このような完全消去を行う場合、上述のように、不要なデータの消去の際に必要となる付加的な処理に起因して、画像形成装置300におけるシステム性能が著しく低下する可能性がある。そこで、本実施形態に係る画像形成装置300は、SSD413(半導体ストレージ1010)にデータを書き込む際に、複数のフラッシュメモリ1011にデータを分散して書き込むインタリーブの実行状態を適切に制御する。これにより、不要データの消去に起因したシステム性能の低下を防ぐことを可能にする。
具体的には、画像形成装置300(CPU1005)は、半導体ストレージ1010への書き込み対象のデータが、完全消去に対応したデータであるか否かに応じて、インタリーブの実行状態を制御する。ここで、完全消去に対応したデータとは、当該データに関連する不要データを半導体ストレージ1010に残存しないように消去可能にすべきことが設定されたデータ(特定のデータ)に相当する。画像形成装置300は、半導体ストレージ1010へデータを書き込む際に、書き込み対象のデータが完全消去に対応したデータであるか否かを判定する。更に、画像形成装置300は、書き込み対象のデータが完全消去に対応したデータではないと判定した場合、インタリーブを有効にした状態で、(通常の)データの書き込み処理を行う。一方、画像形成装置300(CPU1005)は、書き込み対象のデータが完全消去に対応したデータであると判定した場合、インタリーブを無効にした状態で、データの書き込み処理を行う。
このように、完全消去に対応したデータをSSD413に書き込む場合には、インタリーブは実行されず、データが複数のフラッシュメモリ1011に分散して格納されることがない。このため、不要データの消去の際に上述のような付加的な処理が必要となることがなく、不要データの消去に起因したシステム性能の低下を防ぐことが可能である。その一方で、完全消去に対応していないデータをSSD413に書き込む場合には、インタリーブを有効にした状態で通常の書き込み処理を実行するため、高速な書き込み処理を実現できる。
インタリーブが無効の状態である場合、画像形成装置300は、書き込み対象のデータを、複数のフラッシュメモリ1011に分散して書き込むのではなく、例えば、いずれかのフラッシュメモリにおける連続した記憶領域(ブロック)に書き込めばよい。これにより、1つのフラッシュメモリから一括して不要データを消去することが可能になるため、データの完全消去を効率良く実現できるようになる。
以下では、図5〜図7を参照して、上述のような処理を実現するための実施例についてより具体的に説明する。
図5は、SSD413へのデータ書き込み処理を行う際にメインコントローラ400のCPU401によって実行される、インタリーブの実行状態の制御手順を示すフローチャートである。図5に示す各ステップの処理は、CPU401がSSD413またはHDD407に格納されたプログラムをRAM403に読み出して実行することによって実現される。
CPU401は、S101で、CPU401上で動作中のOSからSSD413に対するデータの書き込み要求を受け付けると、S102で、画像形成装置300が完全消去モード(所定の動作モード)に設定されているか否かを判定する。ここで、完全消去モードは、SSD413(半導体ストレージ1010)へのデータの書き込み後に、当該データについての完全消去を可能にする動作モードに相当する。即ち、完全消去モードは、SSD413へ書き込まれたデータに関連する不要データをSSD413に残存しないように消去可能にする動作を行う動作モードに相当する。
S102で、CPU401は、画像形成装置300が完全消去モードに設定されていると判定した場合には、処理をS103に進める。一方、CPU401は、画像形成装置300が完全消去モードに設定されていないと判定した場合には、処理をS106に進める。
S103で、CPU401は、SSD413への書き込み対象のデータのデータアドレスを確認する。ここで、データアドレスとは、図7を用いて後述するように、メインコントローラ400において、SSD413内に配置されているデータを特定するために使用される、LBA(Logical Block Addressing)に対応したアドレスである。S104で、CPU401は、書き込み対象のデータに対して指定されているデータアドレスが所定の範囲内のアドレスであるか否かを判定する。CPU401は、書き込み対象のデータに対して指定されているデータアドレスが、所定の範囲内のアドレスである場合には、S105に処理を進め、所定の範囲内のアドレスではない場合には、処理をS106に進める。
本実施形態では、S104で用いられるデータアドレスの所定の範囲は、SSD413の各フラッシュメモリ1011における、セキュアデータ(特定のデータ)の配置用に予め設けられた特定のパーティション(所定の記憶領域)に対応する。本実施形態では、この特定のパーティションに対してデータの書き込み処理を行う場合には、インタリーブを無効にし、それ以外のパーティションに対してデータの書き込み処理を行う場合には、インタリーブを有効にする。したがって、S104では、書き込み対象のデータの配置先として、各フラッシュメモリの特定のパーティションが指定されているか否かに応じて、処理がS105またはS106に進められることになる。
S106で、CPU401は、通常の書き込み命令(通常のライトコマンド)を生成する。一方、S105で、CPU401は、通常の書き込み命令に、書き込み対象のデータが完全消去に対応したデータ(特定のデータ)であることを示す完全消去フラグを設定することで、拡張書き込み命令(拡張ライトコマンド)を生成する。なお、拡張書き込み命令を通常の書き込み命令から識別するための、完全消去フラグが設定される領域としては、SATAまたはATA規格のストレージ・インタフェースにおいてはフィーチャー・レジスタが利用されうる。
S105またはS106の後、CPU401は、S107で、生成した書き込み命令(通常の書き込み命令または拡張書き込み命令)と、SSD413への書き込み対象データとを、ストレージ制御部412を介してSSD413へ送信する。このようにして、CPU401は、SSD413へのデータ書き込み(データライト)を実行する。
なお、図5に示す破線で囲まれたS103及びS104の処理については、後述するS202で代替の処理が実行されてもよい。その場合、CPU401は、S102の判定結果にかかわらず、処理をS106に進め、通常の書き込み命令を生成し、SSD413に送信する。
次に、図6(A)〜(C)は、SSD413におけるデータ書き込み処理の手順を示すフローチャートである。図6(A)〜(C)に示す各ステップの処理は、SSD413のCPU1005が、フラッシュメモリ1011に格納されたプログラムをRAM1006に読み出して実行することによって実現される。
まず、図6(A)に示すように、ストレージ制御部412からSSD413へ書き込み命令が送信されると、S201で、CPU1005は、フラッシュ制御部1000内のストレージI/F1001を介して、当該書き込み命令を受信する。次に、S202で、CPU1005は、受信したデータ書き込み命令に完全消去フラグが存在するか否かを判定し、存在すると判定した場合にはS203へ、存在しないと判定した場合にはS204へ、処理を進める。即ち、CPU1005は、書き込み対象のデータが、完全消去に対応したデータ(特定のデータ)である場合には、処理をS203に進め、完全消去に対応したデータではない場合には、処理をS204に進める。
S203では、CPU1005は、図6(B)に示す手順に従って、インタリーブを無効にした状態で行う完全消去対応のデータ書き込み処理によって、フラッシュメモリ1011に対してデータの書き込みを行う。一方、S204では、図6(C)に示す手順に従って、インタリーブを有効にした状態で行う通常のデータ書き込み処理によって、フラッシュメモリ1011に対してデータの書き込みを行う。S203またはS204の後、CPU1005はデータの書き込みを終了する。
このように、CPU1005は、S102及びS104における判定結果に対応する書き込み命令に従って、インタリーブを無効または有効にした状態で、書き込み対象のデータを半導体ストレージ1010(フラッシュメモリ1011)に書き込む。なお、上述のようにS103及びS104の処理が実行されない場合には、S202においてその代替の処理が実行される。その場合、S202で、CPU1005は、書き込み命令に完全消去フラグが存在するか否かを判定するのではなく、書き込み命令に含まれる、書き込み対象のデータのデータアドレスに基づく判定処理を、S104と同様に実行すればよい。
また、CPU401からSSD413に送信される書き込み命令には、上述の完全消去フラグに代えて、インタリーブを禁止する(無効にする)か否かを示すインタリーブ禁止フラグが設定されてもよい。この場合、S202では、CPU401は、受信したデータ書き込み命令にインタリーブ禁止フラグが存在するか否かを判定し、存在すると判定した場合にはS203へ、存在しないと判定した場合にはS204へ、処理を進めればよい。
(S203の処理)
完全消去対応の書き込み処理は、図6(B)に示す手順に従って実行される。まず、S211で、CPU1005は、フラッシュメモリ1011の記憶領域内の書き換え対象ブロックに存在する、差分書き込みの対象となるデータを、未使用のブロックに一時的に保存する。
次に、S212で、CPU1005は、書き換え対象ブロック内で、更新されないデータと、差分書き込みの対象となるデータとについて、新ブロックへの書き込みを行う。完全消去対応のデータ書き込み処理の場合には、SSD413へのデータの書き込みの際にインタリーブを実行しない。このため、S212における書き込み処理では、複数のフラッシュメモリ1011のいずれか(チップまたはバンク)の連続した領域に、書き込み対象のデータが連続して配置された状態となるように書き込まれる。
最後に、S213で、CPU1005は、不要になったデータが存在する、書き換え前のブロック及び差分書き込みの対象となるデータが一時的に保存されたブロックに対して、読み出しを禁止することを示すマーキングを行う。これにより、CPU1005は、それらのブロックからのデータの読み出しを禁止する。その結果、それらのブロックに対してアドレス指定でデータの読み出しが行われたとしても、ダミーデータしか読み出せなくなる。以上により、完全消去対応のデータ書き込み処理が終了する。
(S204の処理)
通常のデータ書き込み処理は、図6(C)に示す手順に従って実行される。まず、S221で、CPU1005は、SSD413(フラッシュメモリ1011)の記憶領域内の書き換え対象ブロックに存在する、差分書き込みの対象となるデータを、差分データ保存用のブロックに保存(追記)する。
次に、S222で、CPU1005は、差分書き込みの対象となるデータのサイズがブロックサイズを超えたか否かを判定し、ブロックサイズを超えていない場合、通常のデータ書き込み処理を終了し、ブロックサイズを超えている場合、処理をS223に進める。
S223で、CPU1005は、書き換え対象のブロック内で、更新されないデータと、差分書き込みの対象となるデータと、ブロックサイズを超えた分のデータとについて、新ブロックへの書き込みを行う。通常のデータ書き込み処理の場合、データの書き込みの際にインタリーブを実行する。このため、S223における書き込み処理では、複数のチップまたはバンクに、書き込み対象のデータが分散して配置された状態となるように、同時に書き込まれる。
最後に、S224で、CPU1005は、不要になったデータが存在する、書き換え前のブロック差分書き込みの対象となるデータが一時的に保存されたブロックに対して、ブラクであることを示すマーキングを行う。これにより、CPU1005は、それらのブロックを未使用の状態に設定することで、他の用途に使用可能とする。以上により、通常のデータ書き込み処理が終了する。
次に、図7は、通常のデータ書き込み処理及び完全消去対応のデータ書き込み処理による、SSD413(半導体ストレージ1010)内の記憶領域の使用例を示す図である。図7(A)は、通常のデータ書き込み処理が行われた場合、図7(B)は、完全消去対のデータ書き込み処理が行われた場合をそれぞれ示している。
図7では、SSD413における2個のフラッシュメモリ1011を使用する場合を示し、各フラッシュメモリ1011内の各行は、1ブロック分のデータを格納可能な領域を示す。フラッシュメモリ1011内のシステム領域には、CPU1005によってRAM1006に読み出されて実行されるプログラムが格納される。また、フラッシュメモリ1011内のデータ領域には、CPU401及びCPU408によって使用されるデータが格納される。図7に示すデータ領域に格納されている各データにはそれぞれ異なる数値が与えられており、これは、メインコントローラ400においてデータを特定するために使用される、LBAに対応したアドレスを示す。
図7では、各フラッシュメモリ1011のデータ領域は3つの領域(パーティション)に分割されている(領域1,2及び3)。領域1及び2には、インタリーブ配置の対象となるデータ701が格納される、即ち、インタリーブを有効にした状態でデータが格納される。このため、領域1及び2には、奇数LBAのデータと偶数LBAのデータとが、それぞれ物理的に異なるブロックに格納されている。領域1及び2には、LBAのアドレス1〜5000、5001〜8000に対応するデータがそれぞれ格納される。
一方、領域3は、連続配置の対象となるデータ702が配置される、セキュアデータ(特定のデータ)の格納用のパーティションに相当する。領域3には、連続配置の対象となるデータ702が格納される。インタリーブを無効にした状態では、図7(B)に示すように、領域3には、LBAのアドレスが連続するデータが連続して配置されるように格納される。一方、インタリーブを有効にした状態では、図7(A)に示すように、領域3であっても、LBAのアドレスが連続するデータが、2個のフラッシュメモリ1011に分散して格納される。
このように、フラッシュメモリ1011内の領域ごとに、インタリーブを無効(禁止)にするか否かを予め設定してもよい。即ち、画像形成装置300が完全消去モードに設定されている場合に、LBAのアドレスが連続するデータが連続して配置される領域(領域3)を、予め定めてもよい。その場合、予め定められた領域以外の領域(領域1及び2)については、インタリーブを常に有効にすればよい。このような設定は、フラッシュ制御部1000に対して予め行われうる。
本実施形態によれば、完全消去に対応したデータが格納された領域については、システム性能の低下を防ぎつつ、データの消去を一括して確実に行うことが可能になる。その一方で、完全消去に対応していない通常のデータが格納される領域については、インタリーブを行うことで高速なデータの書き込み処理を実現できる。即ち、SSD413(半導体ストレージ1010)にデータを書き込む際に、インタリーブの実行状態を適切に制御することができるため、不要データの消去に起因したシステム性能の低下を防ぎつつ、高速なデータの書き込みを実現できる。
<画像形成装置のシャットダウン時の制御>
図8は、画像形成装置300がシャットダウンする際に行われる、SSD413におけるデータの再配置及び不要データの消去の手順を示すフローチャートである。図8に示す各ステップの処理は、SSD413のCPU1005が、フラッシュメモリ1011に格納されたプログラムをRAM1006に読み出して実行することによって実現される。
SSD413のCPU1005は、S301で、CPU401からシャットダウン命令を受信すると(即ち、シャットダウンが指示されると)、S302で、シャットダウンシーケンスに移行する。次に、S303で、CPU1005は、画像形成装置300における完全消去モードに関する設定が変更されているか否かを判定する。即ち、CPU1005は、次回のシステム起動時に、インタリーブの実行状態をシャットダウン前とは異なる状態に変更するか否かを判定する。S303で、CPU1005は、完全消去モードに関する設定が変更されていると判定した場合、処理をS304に進め、変更されていないと判定した場合、処理をS309に進める。
S304で、CPU1005は、フラッシュメモリ1011内の完全消去の対象領域に関する情報(完全消去の対象となるデータアドレスの範囲)と、完全消去モードが有効か否かを示す情報とを取得する。CPU1005は、取得した情報をフラッシュメモリ1011のシステム領域に保存する。次に、S305で、CPU1005は、フラッシュメモリ1011内の各ブロックに格納されたデータの再配置のために、ブロックごとの摩耗度を示す摩耗情報を取得する。
その後、S306で、CPU1005は、フラッシュメモリ1011のシステム領域に保存した情報を読み出して、次回起動時にインタリーブの実行状態を無効から有効の状態に変更する設定であるか否かを判定する。ここで、CPU1005は、次回起動時にインタリーブを有効の状態にする設定であると判定した場合、処理をS307に進める。一方、CPU1005は、次回起動時にインタリーブの実行状態を有効から無効の状態に変更する設定であると判定した場合、処理をS311に進める。
S307〜S309で、CPU1005は、画像形成装置300のシャットダウンの前に、複数のフラッシュメモリ1011に配置されているデータを、変更後のインタリーブの実行状態に応じて当該複数のフラッシュメモリ1011において再配置する。
具体的には、S307では、CPU1005は、フラッシュメモリ1011内の完全消去の対象領域(図7の領域3)について、ブロックごとに、当該ブロックに格納されたデータを、異なるチップまたはバンクの空きブロックのいずれに再配置するかを決定する。即ち、CPU1005は、ブロックごとのデータの再配置先を、異なるチップまたはバンク内においていずれかのブロックに決定することで、複数のフラッシュメモリ1011において分散した空き領域にデータが再配置されるようにする。
一方、S308では、CPU1005は、フラッシュメモリ1011内の完全消去の対象領域(図7の領域3)について、有効になっているインタリーブを解除するように、データの再配置先のブロックを決定する。具体的には、CPU1005は、完全消去対象の領域について、同一のチップまたはバンク内の空きブロックにおいて、データが連続したブロックに格納されるように、各ブロックのデータの再配置先となるブロックを決定する。これにより、複数のフラッシュメモリ1011のいずれかにおいて連続した空き領域にデータが再配置されるようにする。
その後、S309で、更新前のブロック及び更新中の差分ブロックについて、S307またはS308で決定されたフラッシュメモリ1011内の再配置先のブロックに、データの再配置(書き込み)を行う。データの書き込みが完了すると、CPU1005は、処理をS310に進める。S310で、CPU1005は、読み出し禁止のマーキングが存在するブロックに格納された、データの再配置後に複数のフラッシュメモリ1011に残存する不要データを、画像形成装置300のシャットダウンの前に一括で消去する。データの消去が完了すると、CPU1005は処理を終了する。
CPU1005は、S303からS309に処理を進めた場合、読み出し禁止のマーキングが存在するブロックに格納された、不要データを一括で消去し、処理を終了する。
なお、図8において破線で示すS305の処理については、必ずしも実行される必要はない。CPU1005は、S305の処理を実行しない(即ち、ブロックごとの摩耗情報を取得しない)場合、S307またはS308では、ブロックごとの摩耗情報を考慮せずに、単に空きブロックを再配置先として決定すればよい。一方、CPU1005は、ブロックごとの摩耗情報を取得した場合、S307では、異なるチップ/バンクの内で最も摩耗度が少ないブロックが優先して使用されるように、再配置先のブロックを決定する。また、S308では、CPU1005は、摩耗度の少ないブロックがより多く含まれるチップ/バンクが優先して使用されるように、再配置先のブロックを決定する。
このように、図8に示す処理では、次回のシステム起動後に、フラッシュメモリ1011内のデータ配置を、インタリーブの実行状態に応じたデータ配置とすることが可能である。これにより、システム起動後に、不要データの消去に起因したシステム性能の低下を防ぐことが可能になる。また、フラッシュメモリ1011内のブロックの摩耗度に基づいてデータの再配置を行うことにより、特定のブロックのみが極端に摩耗する状況を回避することが可能になる。
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワークまたは各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (11)

  1. 情報処理装置であって、
    複数のフラッシュメモリを含む半導体ストレージと、
    前記半導体ストレージへデータへの書き込み対象のデータが、当該データに関連する不要データを前記半導体ストレージに残存しないように消去することが設定された特定のデータであるか否かを判定する判定手段と、
    前記書き込み対象のデータが前記特定のデータではないと判定された場合には、前記複数のフラッシュメモリにデータを分散して書き込むインタリーブを有効にした状態で、前記書き込み対象のデータが前記特定のデータであると判定された場合には、前記インタリーブを無効にした状態で、前記書き込み対象のデータを前記半導体ストレージに書き込む書き込み手段と
    を備えることを特徴とする情報処理装置。
  2. 前記書き込み手段は、前記インタリーブを無効にした状態では、前記書き込み対象のデータを、前記複数のフラッシュメモリのいずれかにおける連続した記憶領域に書き込むことを特徴とする請求項1に記載の情報処理装置。
  3. 記情報処理装置が所定の動作モードに設定されており、かつ、前記書き込み対象のデータの配置先として、前記半導体ストレージに含まれる各フラッシュメモリの所定の記憶領域が指定されている場合、前記書き込み対象のデータに対して、当該データに関連する不要データを前記半導体ストレージに残存しないように消去することを設定する設定手段を更に備える
    ことを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記所定の動作モードは、前記半導体ストレージへのデータの書き込み後に、当該データに関連する不要データを前記半導体ストレージに残存しないように消去する動作を行う動作モードであることを特徴とする請求項3に記載の情報処理装置。
  5. 前記所定の記憶領域は、前記半導体ストレージに含まれる各フラッシュメモリの、前記特定のデータの配置用に予め設けられた記憶領域であることを特徴とする請求項3または4に記載の情報処理装置。
  6. 前記設定手段は、前記情報処理装置が所定の動作モードに設定されており、かつ、前記書き込み対象のデータに対して指定されているアドレスが、前記所定の記憶領域に配置されるデータに対して指定される所定の範囲内のアドレスである場合に、前記書き込み対象のデータに対して、当該データに関連する不要データを前記半導体ストレージに残存しないように消去することを設定することを特徴とする請求項3から5のいずれか1項に記載の情報処理装置。
  7. 前記情報処理装置のシャットダウンが指示され、かつ、前記情報処理装置の次回の起動時に前記インタリーブの実行状態を前記シャットダウンの前とは異なる状態に変更する場合に、前記シャットダウンの前に、前記複数のフラッシュメモリに配置されているデータを、変更後の前記インタリーブの実行状態に応じて前記複数のフラッシュメモリにおいて再配置する再配置手段と、
    前記再配置手段による再配置後に前記複数のフラッシュメモリに残存する不要データを、前記シャットダウンの前に一括で消去する消去手段と
    を更に備えることを特徴とする請求項1からのいずれか1項に記載の情報処理装置。
  8. 前記再配置手段は、
    前記情報処理装置の次回の起動時に、前記インタリーブの実行状態が無効から有効の状態に変更される場合には、前記複数のフラッシュメモリのいずれかの連続した記憶領域に配置されているデータを前記複数のフラッシュメモリにおいて分散した空き領域に再配置し、
    前記情報処理装置の次回の起動時に、前記インタリーブの実行状態が有効から無効の状態に変更される場合には、前記複数のフラッシュメモリに分散して配置されているデータを前記複数のフラッシュメモリのいずれかにおいて連続した空き領域に再配置する
    ことを特徴とする請求項に記載の情報処理装置。
  9. 前記複数のフラッシュメモリの記憶領域におけるブロックごとの摩耗度を示す摩耗情報を取得する取得手段を更に備え、
    前記再配置手段は、前記取得手段によって取得された摩耗情報が示す摩耗度が少ないブロック内の空き領域に対して優先してデータを再配置する
    ことを特徴とする請求項に記載の情報処理装置。
  10. 複数のフラッシュメモリを含む半導体ストレージを備える情報処理装置の制御方法であって、
    前記半導体ストレージへデータへの書き込み対象のデータが、当該データに関連する不要データを前記半導体ストレージに残存しないように消去することが設定された特定のデータであるか否かを判定する判定工程と、
    前記書き込み対象のデータが前記特定のデータではないと判定された場合には、前記複数のフラッシュメモリにデータを分散して書き込むインタリーブを有効にした状態で、前記書き込み対象のデータが前記特定のデータであると判定された場合には、前記インタリーブを無効にした状態で、前記書き込み対象のデータを前記半導体ストレージに書き込む書き込み工程と
    を含むことを特徴とする情報処理装置の制御方法。
  11. 請求項10に記載の情報処理装置の制御方法における各工程をコンピュータに実行させるためのプログラム。
JP2013214136A 2013-10-11 2013-10-11 情報処理装置及びその制御方法、並びにプログラム Expired - Fee Related JP6271939B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013214136A JP6271939B2 (ja) 2013-10-11 2013-10-11 情報処理装置及びその制御方法、並びにプログラム
US14/499,712 US9983834B2 (en) 2013-10-11 2014-09-29 Information processing apparatus, method of writing contiguous blocks for secure erease data and writing distributive blocks for non-secure erase data
CN201410528012.1A CN104571941B (zh) 2013-10-11 2014-10-09 信息处理装置及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013214136A JP6271939B2 (ja) 2013-10-11 2013-10-11 情報処理装置及びその制御方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2015076070A JP2015076070A (ja) 2015-04-20
JP6271939B2 true JP6271939B2 (ja) 2018-01-31

Family

ID=52810644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013214136A Expired - Fee Related JP6271939B2 (ja) 2013-10-11 2013-10-11 情報処理装置及びその制御方法、並びにプログラム

Country Status (3)

Country Link
US (1) US9983834B2 (ja)
JP (1) JP6271939B2 (ja)
CN (1) CN104571941B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170344262A1 (en) * 2016-05-25 2017-11-30 SK Hynix Inc. Data processing system and method for operating the same
JP6875808B2 (ja) * 2016-09-09 2021-05-26 キヤノン株式会社 情報処理装置
JP7305340B2 (ja) * 2018-12-11 2023-07-10 キヤノン株式会社 情報処理装置
JP7400215B2 (ja) * 2019-05-23 2023-12-19 オムロン株式会社 制御装置、データ不能化プログラム、および制御システム
US12242754B2 (en) * 2022-06-29 2025-03-04 SanDisk Technologies, Inc. Automatic data erase from data storage device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341339A (en) * 1992-10-30 1994-08-23 Intel Corporation Method for wear leveling in a flash EEPROM memory
JP2000285017A (ja) * 1999-03-31 2000-10-13 Seiko Epson Corp 記憶装置
EP1509035B1 (en) 2002-05-30 2008-09-10 Sharp Kabushiki Kaisha Image processing device
JP4082983B2 (ja) 2002-10-30 2008-04-30 シャープ株式会社 画像処理装置
JP2006023854A (ja) 2004-07-06 2006-01-26 Sharp Corp 情報処理装置、記憶装置、記憶制御装置及びプログラム
US7984084B2 (en) * 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7913032B1 (en) * 2007-04-25 2011-03-22 Apple Inc. Initiating memory wear leveling
KR100995663B1 (ko) * 2008-11-13 2010-11-19 주식회사 하이닉스반도체 반도체 장치, 반도체 장치의 데이터 라이트 회로 및 그 제어 방법
JP2012019383A (ja) * 2010-07-08 2012-01-26 Panasonic Corp 記録制御装置、半導体記録装置および記録システム
JP5917163B2 (ja) * 2011-01-27 2016-05-11 キヤノン株式会社 情報処理装置、その制御方法及びプログラム並びに記憶媒体
US9047686B2 (en) * 2011-02-10 2015-06-02 Qualcomm Incorporated Data storage address assignment for graphics processing
US8910017B2 (en) * 2012-07-02 2014-12-09 Sandisk Technologies Inc. Flash memory with random partition

Also Published As

Publication number Publication date
US20150106550A1 (en) 2015-04-16
CN104571941B (zh) 2018-01-16
CN104571941A (zh) 2015-04-29
JP2015076070A (ja) 2015-04-20
US9983834B2 (en) 2018-05-29

Similar Documents

Publication Publication Date Title
JP5917163B2 (ja) 情報処理装置、その制御方法及びプログラム並びに記憶媒体
JP6271939B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP4171749B2 (ja) メモリコントローラおよびフラッシュメモリシステム
JP5959958B2 (ja) 記憶装置及び記憶装置におけるデータ消去方法
JP6004923B2 (ja) 情報処理装置及びその制御方法とプログラム
US20090307525A1 (en) Disk drive and method for controlling the disk drive
JP2014010498A5 (ja)
JP4245585B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2008009527A (ja) メモリシステム
JP6875808B2 (ja) 情報処理装置
US20150278088A1 (en) Memory control apparatus, information processing apparatus and control method thereof, and storage medium
JP2011070365A (ja) メモリシステム
CN119512444A (zh) 存储器装置的数据存取管理的方法、存储器控制器、存储器装置以及电子装置
US9948809B2 (en) Image forming apparatus, memory management method for image forming apparatus, and program, using discretely arranged blocks in prioritizing information
JP2017142776A (ja) 寿命管理装置および寿命管理方法
JP2006243780A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP6719508B2 (ja) メモリ制御装置
JP4177292B2 (ja) メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP5350077B2 (ja) 情報処理装置及びこれを備えた画像形成装置
JP4410271B2 (ja) メモリ制御装置
JP2012191370A (ja) 画像形成装置
JP2015204071A (ja) 情報処理装置、情報処理方法およびプログラム
JP4985108B2 (ja) データ記憶装置およびその制御方法
JP2008299513A (ja) データ記憶装置およびその制御方法
JP5255389B2 (ja) 記憶装置およびメモリ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161003

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171027

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171228

R151 Written notification of patent or utility model registration

Ref document number: 6271939

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees