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

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

Info

Publication number
JP2019086959A
JP2019086959A JP2017213822A JP2017213822A JP2019086959A JP 2019086959 A JP2019086959 A JP 2019086959A JP 2017213822 A JP2017213822 A JP 2017213822A JP 2017213822 A JP2017213822 A JP 2017213822A JP 2019086959 A JP2019086959 A JP 2019086959A
Authority
JP
Japan
Prior art keywords
sata
bridge
storage device
storage
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017213822A
Other languages
English (en)
Inventor
広樹 伊藤
Hiroki Ito
広樹 伊藤
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 JP2017213822A priority Critical patent/JP2019086959A/ja
Priority to US16/176,563 priority patent/US11275706B2/en
Publication of JP2019086959A publication Critical patent/JP2019086959A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • 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/0617Improving the reliability of storage systems in relation to availability
    • 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/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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
    • 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/068Hybrid storage device
    • 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/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】 SATAブリッジの制御回路は煩雑化させず、複数の機能を機能させることが可能なストレージシステム及びその制御方法、並びにプログラムを提供することを目的とする。【解決手段】 カスケード接続されたSATAブリッジと、そのSATAブリッジの先に接続された記憶装置デバイスを判別し、SATAブリッジと記憶装置デバイスの接続構成に応じて各々のSATAブリッジの動作モードの設定を行なう。【選択図】 図6

Description

本発明は、ストレージシステム及びその制御方法、並びにプログラムに関する。
MFP(Multi Function Printer)などの情報処理装置は、装置のプログラムやユーザの画像データを保存する。このため、MFPは、HDD(Hard Disk Drive)やSSD(Solid State Drive)など記憶装置を備えている。
従来から、記憶装置のインターフェース規格であるSATA(Serial Advanced Technology Attachment)などを用いたストレージシステムの制御方法が提案されている。
例えば、特許文献1において、複数のHDDが接続されたストレージ制御装置において、複数の動作モードを持ち、動作モードを切り替えることにより転送方式を切り替えてデータ転送を行なうような制御方法が提案されている(特許文献1)。
ホスト側のメインコントローラに接続されデバイス側のポートマルチプライヤとして機能するSATAブリッジコントローラが開示される。このブリッジコントローラに、SATAブリッジを数段カスケード接続する。これにより、ポートマルチプライヤの機能を拡張する制御方法が提案されている(特許文献2)。
特開平11−143328号公報 特表2011−515749号公報
特許文献1に記載のような、複数の動作モードを切り替えることによって転送方式の機能を切り替える方法がある。例えばミラーリング機能とストライピング機能の両方を動作させる場合には、SATAブリッジに3つ以上のインターフェースの接続ポートが必要となる。
さらに複数の動作モードを同時に行うための回路も増大してしまい、SATAブリッジが行なう制御方法が煩雑化してしまうといった課題や、SATAブリッジの制御回路のコストが増大してしまうといった課題がある。
また一方で前記特許文献2に記載のように、SATAブリッジをカスケードに接続することによってポートマルチプライヤの機能を拡張する方法が提案されているが、各SATAブリッジがどのように複数の動作の切り替えを行なうか方法は記載されていない。
本発明のある側面は上述の問題点の少なくともひとつを鑑みてなされたものである。
本発明の目的は、制御回路は煩雑化させず、ストレージシステムの複数の機能を適切に機能させることが可能なストレージシステム及びその制御方法、並びにプログラムを提供することにある。
本実施形態においては一例として、複数の記憶装置をミラーリング動作させるミラーリングモードと、複数の記憶装置をミラーリング動作させずにそれぞれ動作させるハイブリッドモードを含む記憶装置の動作モードを設定する設定手段を有するストレージコントローラを含むストレージシステムにおいて、前記ストレージコントローラが有する複数の接続部の中のひとつの接続部はひとつのバスブリッジに対して接続され、前記バスブリッジはひとつの所定の動作モードに前記設定手段により設定されている複数の記憶装置に対してさらに接続され、前記複数の接続部の中の他の接続部に対して直接に接続されているまたは前記バスブリッジとは別のバスブリッジを介して接続されている記憶装置は、前記所定の記憶装置の動作モードとは異なる動作モードに前記設定手段が設定することを特徴とするストレージシステムが開示される。
本発明によれば、制御回路は煩雑化させず、ストレージシステムの複数の機能を適切に機能させることが可能なストレージシステム及びその制御方法、並びにプログラムを提供することにある。
本発明の第1の構成例全体ブロック図 本発明のメインコントローラ(100)の詳細構成図 本発明のブリッジ(200)の詳細構成図 本発明のブリッジ(300)の詳細構成図 本発明のブリッジ(200、300、310)の動作モードの状態遷移図 (A)本発明のメインコントローラ(100)が行なう動作モード設定時のフローチャート、(B)本発明のブリッジ(200、300、310)が行なう動作モード設定時のフローチャート (A)本発明のブリッジ(200、300、310)に対して設定可能な動作モードの例、(B)本発明のブリッジ(200、300、310)の動作モードの割り振り例 本発明の第2の構成例全体ブロック図 本発明の第2の構成例のブリッジ310の詳細構成図
以下、本発明を実施するための形態について図面を用いて説明する。
〔第1の実施例〕
(実施例1)
図1に、本発明の第1の構成例の情報処理装置全体のブロック図を示す。本実施例では、情報処理装置を一例として、MFPのシステム構成で説明するが、この構成に限定するものではなく、複数の記憶装置を備えた構成の情報処理装置であれば適応可能である。
本発明の情報処理装置は、MFP全体を制御するメインコントローラ100と、データを保管する記憶装置400、401、402と、その記憶装置にデータを送受信するブリッジ200、300によって構成されている。
本実施例では、記憶装置400・401はHDDとして、記憶装置402はSSDとして説明するが、これに限定するものではない。
本実施例では記憶装置400、401には、高速なアクセス速度が要求されないデータが格納される。また、記憶装置402には、高速なアクセス速度が要求されるデータが格納される。
本システムは、SATA Device I/Fを2ポート備え、HDDの暗号化機能を備える。以下2つの動作モードで動作が可能である。
ミラーリングモードでは、同じデータを2本のハードディスクに書き込むモード(いわゆるRAID1)を実行する。ハイブリッドモードは、高速MFP向けに開発した新規の機能である。例えば、接続された高速小容量の記憶装置402と低速大容量デバイス(HDD)400および401とする。ミラーリングモードは、これらの記憶装置をホストからはあたかも1つの高速大容量デバイスとしてみせ、スピードと容量の課題を解決する動作モードである。
さらに、ハイブリッドモードがある。高速アクセスが必要なデータはSSDに書き込み、それ以外のデータはHDDに書き込むモードである。高速MFPで高速アクセスが必要なときの動作モードである。また、本システムでは、これらの動作モードは排他に構成されており、同時にONすることはできない。
図2に、メインコントローラ100の詳細構成図を示す。メインコントローラ100は、CPU101、ROM102、DRAM103、Network104、各種画像処理部(105、107)、スキャナ106、プリンタ108、操作部109、SATAコントローラ110により構成されている。CPU101は、情報処理装置のシステム全体を制御するコントローラであり、システム制御、演算処理、OSやアプリケーションを実行する。
ROM102は、リード専用のメモリであり、CPU101で実行されるプログラムおよび設定情報を格納している。DRAM103は、CPU101で実行する制御プログラムを格納している。また、一時的なワークエリアとしても使用される。
Network104は、ネットワークI/Fであり、情報処理装置内で画像処理を施した画像データをLAN111(Local Area Network)経由で外部情報機器(不図示)に送信する。または、Network104は、外部情報処理装置から画像データを入力する。
スキャン画像処理部105は、スキャナ106から受信した画像データに画像処理を施す。処理された画像データは、SATAコントローラ110を経由して、記憶装置400、401、402、403のいずれかに保存される。
スキャナ106は、画像入力デバイスであり、原稿となる紙上の画像を照射し、CCDラインセンサ(不図示)を走査する事でラスター・イメージデータとして電気信号に変換する。プリンタ画像処理部107は、受信した画像データに画像処理を施す。処理された画像データはプリンタ108へ送信される。
プリンタ108は、画像出力デバイスであり、ラスター・イメージデータを用紙上の画像に変換する。操作部109は、表示機能と操作機能を兼ね揃えたタッチパネル等のデバイスであり、入力された画像データを表示する役割とシステム使用者が入力した情報をCPU101に伝える役割を持つ。
SATAコントローラ110は、SATA規格に準拠して接続機器を制御し、ブリッジ200とデータの送受信を行う。LAN111は、画像形成装置と外部情報機器の通信を行う為のネットワーク網である。
図3に、ブリッジ200の詳細構成図を示す。CPU201は、ブリッジ200のシステム制御、演算処理、ATAコマンド処理を行い、記憶装置400、401、402、ブリッジ300への送信コマンド処理等を行う。ROM202は、CPU201の制御プログラムや各種モードの設定値のデータを格納する。
RAM203は、CPU201で実行する制御プログラムを格納している。また、一時的なワークエリアとしても使用される。SATAデバイスI/F204は、メインコントローラ100に接続されていて、SATA規格に準拠して、メインコントローラ100内のSATAコントローラ110と通信する。SATAホストI/F205・206は、ブリッジ300と記憶装置402に接続され、SATA規格に準拠して、それぞれブリッジ300・記憶装置402とで通信を行なう。暗号化/復号化部207は、CPU201からの指示によってSATAデバイスI/F204あるいはSATAホストI/F205・206からの受信データに対して暗号化あるいは復号化処理を行う。
図4に、ブリッジ300の詳細構成図を示す。
ブリッジ300のCPU301は、システム制御、演算処理、ATAコマンド処理を行い、記憶装置400、記憶装置401への送信コマンド処理等を行う。
ROM302は、CPU301の制御プログラムや各種モードの設定値のデータを格納する。RAM303は、CPU301で実行する制御プログラムを格納している。また、一時的なワークエリアとしても使用される。
SATAデバイスI/F304は、ブリッジ200に接続されていて、SATA規格に準拠して、ブリッジ200内のSATAホストI/F205と通信する。
SATAホストI/F305、306は、記憶装置400、401に接続され、SATA規格に準拠して、記憶装置400、401と通信する。暗号化/復号化部307は、CPU301からの指示によってSATAデバイスI/F304あるいはSATAホストI/F305、306からの受信データに対して暗号化あるいは復号化処理を行う。
図8に、本発明の第2の構成例の情報処理装置全体のブロック図を示す。図1の第1の構成例との違いはブリッジ200に対して、ブリッジ300とブリッジ310が接続されブリッジ310にはさらに記憶装置402・403が接続される構成となっている部分である。
このように本発明はブリッジの個数を限定するものではなく、動作させる機能や接続する記憶装置の数に応じてブリッジ300・310にさらに不図示のブリッジを接続しても良い。図9に、ブリッジ310の詳細構成図を示す。
ブリッジ310のCPU311は、システム制御、演算処理、ATAコマンド処理を行い、記憶装置402、記憶装置403への送信コマンド処理等を行う。
ROM312は、CPU311の制御プログラムや各種モードの設定値のデータを格納する。RAM313は、CPU311で実行する制御プログラムを格納している。また、一時的なワークエリアとしても使用される。
SATAデバイスI/F314は、ブリッジ200に接続されていて、SATA規格に準拠して、ブリッジ200内のSATAホストI/F206と通信する。
SATAホストI/F315、316は、記憶装置402、403に接続され、SATA規格に準拠して、記憶装置402、403と通信する。
暗号化/復号化部317は、CPU311からの指示によってSATAデバイスI/F314あるいはSATAホストI/F315、316からの受信データに対して暗号化あるいは復号化処理を行う。
本実施例では、ブリッジ200・ブリッジ300・ブリッジ310は、同一の構成として説明するが、同一の構成に限定するものではなく、本発明の目的を果たす範囲で、機能を追加または削除して良いことは言うまでもない。
また、本実施例では、ブリッジ200、300、301は、SATAインターフェースで接続されるSATAブリッジとして説明するが、これに限定するものではない。PCIe(Peripheral Component Interconnect Express)などの他のインターフェースでもよい。
またさらに、本実施例では、SATAコントローラ110、ブリッジ200・ブリッジ300・ブリッジ301が別チップとして説明する。しかし、これらに限定するものではなく、SATAコントローラ110、ブリッジ200、300、301のいずれかが同一チップ内に含まれていてもよい。
図5に第1の実施例のブリッジ200・300・301の状態遷移図を示す。図5を用いてブリッジ200・300・301の動作を説明する。ここでは代表としてブリッジ300のブロック図を用いて動作を説明する。また、記憶装置400、401の例としてHDDを挙げて説明する。
ブリッジ200・300・301はシングルモード(S501)、ミラーリングモード(S502)、ハイブリッドモード(S503)の3つの動作モードを有する。
シングルモード(S501)は、1台のSATAホストI/FのみにHDDが装着された状態で動作するモードである。ブリッジ300を例に挙げると、シングルモード(S501)はSATAホストI/F305かSATAホストI/F306のどちらか片方のみにHDDが接続された状態で動作するモードである。
シングルモード(S501)において、CPU301は、SATAデバイスI/F304を通じてホスト側からミラーリングモード(S502)への移行命令があると、ミラーステート(S504)へ移行する。
また、シングルモード(S501)において、CPU301は、SATAデバイスI/F304を通じてホスト側からハイブリッドモード(S503)への移行命令があると、ハイブリッドステート(S508)へ移行する。
CPU301は、各ステート移行した際にROM302に移行したステートを記憶する。
シングルモード(S501)はデフォルトの動作モードであり、CPU301は起動時にROM302に前回動作時のモードが記憶されていない場合にはシングルモード(S501)で動作を開始する。
また、CPU301は起動時にROM302に前回動作時のモードが記憶されていた場合には、その記憶されていた動作モードにて動作を開始する。
ミラーリングモード(S502)は、2つのSATAホストI/F305、306にHDDが装着された状態で動作するモードである。
ミラーリングモード(S502)には、ミラーステート(S504)、デグレードステート(S505)、リビルドステート(S506)、ホールトステート(S507)の4つの状態が存在する。
ミラーリングモード(S502)では、CPU301は2つのSATAホストI/F305、306に対して片方をマスターHDD、もう片方をスレーブHDDとして扱う。
ミラーステート(S504)は、2つのSATAホストI/F305、306にHDDが装着された状態で正常に動作している状態である。
ミラーステート(S504)において、CPU301は、SATAデバイスI/F304を通じてホスト側から通知されるデータ読み出し命令に対して、2つのSATAホストI/F305、306のうち、マスターHDDのみに対して行なう。
ミラーステート(S504)において、CPU301は、SATAデバイスI/F304を通じてホスト側から通知されるデータ書き込み命令に対して、2つのSATAホストI/F305、306のうち、マスターHDDとスレーブHDDの両方に対して行なう。
ミラーステート(S504)において、マスターHDDとスレーブHDDのどちらか片方のHDDが故障すると、デグレードステート(S505)へ移行する。
ミラーステート(S504)において、CPU301は、SATAデバイスI/F304を通じてホスト側からリビルドステート(S506)への移行命令があると、リビルドステート(S506)へ移行する。
デグレードステート(S505)は、一方のSATAホストI/Fに接続されている正常デバイスのみ(例えば故障していないHDD)のみで動作している状態である。さらに、もう一方SATAホストI/Fに異常なデバイス(例えば故障しているHDD)を検知してアクセスが発生していない状態である。
デグレードステート(S505)において、CPU301は、故障しているHDDの代わりに新たに正常なHDDが接続されたことを検知すると、リビルドステート(S506)へ移行する。
デグレードステート(S505)において、CPU301は、2つのSATAホストI/F305、306ともに異常なデバイスが接続されている(2台目のHDDも故障したこと)を検知すると、ホールトステート(S507)へ移行する。
リビルドステート(S506)は、片方のHDD(前から装着され故障しなかったHDD)のみで動作している状態だが、そのHDDからもう片方のHDD(故障したHDDの代わりに新たに装着されたHDD)へデータをコピー(リビルド)している状態である。
この時、CPU301は、コピー元のHDD(前から装着され故障しなかったHDD)をマスターHDD、コピー先のHDD(故障したHDDの代わりに新たに装着されたHDD)をスレーブHDDとして扱う。
リビルドステート(S506)において、リビルドが完了すると、ミラーステート(S504)へ移行する。リビルドステート(S506)において、スレーブHDDが故障すると、デグレードステート(S505)へ移行する。リビルドステート(S506)において、マスターHDDが故障すると、ホールトステート(S507)へ移行する。
ホールトステート(S507)は、両方のHDDが異常状態になったことにより、ミラーリング動作が継続できなくなった状態である。
ここではSATAホストI/F305、306に接続されるデバイスの例としてHDDを挙げたが、SSDやSATAブリッジでもよい。
SATAホストI/F305、306に接続されるデバイスがSSDの場合には、CPU301は、HDD同様にSSD自体の故障している場合に、異常なデバイスが接続されていると判断する。
SATAホストI/F305、306に接続されるデバイスがSATAブリッジの場合には、CPU301は、SATAブリッジが異常状態であることを通知してきた場合に、異常なデバイスが接続されていると判断する。
ハイブリッドモード(S503)は、2つのSATAホストI/F305、306に対してHDDとSSDが装着された状態で動作するモードである。
ハイブリッドモード(S503)には、ハイブリッドステート(S508)、エラーステート(S509)の2つの状態が存在する。
ハイブリッドモード(S502)では、CPU301は2つのSATAホストI/F305、306に接続されるHDDとSSDに対してアドレスを統合し、SATAデバイスI/F304を通じてホスト側からは1つの記憶装置として見えるように動作する。
ハイブリッドステート(S508)は、2つのSATAホストI/F305、306にHDDとSSDが装着された状態で正常に動作している状態である。
ハイブリッドステート(S508)において、CPU301はHDDとSSDのどちらか片方が故障すると、エラーステート(S509)へ移行する。
エラーステート(S509)は、HDDとSSDのどちらか片方が異常状態になったことにより、ハイブリッド動作が継続できなくなった状態である。
図6(A)のフローチャートを用いて、メインコントローラ100内のCPU101が実行する、SATAコントローラ110に接続されたデバイスの初期化処理の動作を説明する。
図6(A)の動作フローはCPU101上で動作するプログラムである。これは、RAM103、ROM102または記憶装置デバイス400、401、402、401に格納される。
図6(A)は、起動などの初期化時に実行することが望ましいが、これに限定するものではなく、接続されているSATAデバイスにアクセスする際に実行しても構わない。
S601においてCPU101はSATAコントローラ110を通じて、SATAデバイスが接続されているかどうかを確認する。具体的な一例としては、IDENTIFY DEVICEコマンドなどのATAコマンドの発行を行ない、SATAデバイスが接続されているかどうかを確認する。
S601で発行したIDENTIFY DEVICEコマンドへの応答があった場合、CPU101はSATAコントローラ110にSATAデバイスが接続されていると判断し(S602でYes)、S603に進む。
S601で発行したIDENTIFY DEVICEコマンドへの応答がない場合、CPU101はSATAコントローラ110にSATAデバイスが接続されていないと判断し(S602でNo)、S605に進む。
S603において、CPU101はS601で発行したIDENTIFY DEVICEコマンドへの応答内容から、SATAコントローラ110にSATAブリッジが接続されているかを判断する。
S603において、CPU101がSATAコントローラ110にSATAブリッジが接続されていると判断した場合(S603でYes)、S604に進む。
S603において、CPU101がSATAコントローラ110に記憶装置が接続されていると判断した場合(S603でNo)、S609に進む。
S604において、CPU101はS601で発行したIDENTIFY DEVICEコマンドへの応答内容から、SATAコントローラ110に接続されたSATAブリッジ200の先にさらに接続デバイスが接続されているかを判断する。
S604において、CPU101がSATAブリッジ200の先にさらに接続デバイスが接続されていると判断した場合(S604でYes)、S606に進む。
S604において、CPU101がSATAブリッジ200の先にさらに接続デバイスが接続されていないと判断した場合(S604でNo)、S605に進む。
S605において、CPU101はSATAコントローラ110には接続されている記憶装置デバイスが検出できないとして操作部UI109に対してエラー表示を行なう。
S606において、CPU101はSATAコントローラ110を通じ、SATAブリッジ200にたしして暗号化処理の指示を行なう。
S607において、CPU101はS601で発行したIDENTIFY DEVICEコマンドへの応答内容から、SATAコントローラ110にSATAブリッジがカスケード接続されているかを判断する。
S607において、CPU101がSATAコントローラ110にSATAブリッジ200がカスケード接続されていると判断した場合(S607でYes)、S608に進む。
S607において、CPU101がSATAコントローラ110にSATAブリッジ200がカスケード接続されていないと判断した場合(S607でNo)、S611に進む。
S611において、CPU101はSATAコントローラ110を通じ、SATAブリッジ200に対して動作モードの設定を行なう。その際、SATAブリッジ200に対して設定できる動作モードはミラーリングモードS502のみかハイブリッドモードS503のみのいずれかである。
S608において、CPU101はSATAコントローラ110を通じ、SATAブリッジ200、300、310の動作モードを設定する。その際、SATAブリッジ200、300、301に対して設定できる動作モードは、ミラーリングモードS502のみか、ハイブリッドモードS503のみか、ミラーリングモードS502とハイブリッドモードS503の両方の3種類である。
S609において、CPU101はSATAコントローラ110、SATAブリッジ200、300、301を通じて接続されている記憶装置400、401、402、403に対して初期化処理の指示を行なう。
S610において、CPU101はSATAコントローラ110の先に接続されているデバイス構成の情報やSATAブリッジ200、300、301の設定情報を、ROM102あるいは記憶装置400、401、402、403に記憶する。
本実施例では、接続されているデバイス構成を確認するための方法としてIDENTIFY DEVICEコマンドを例とした。
しかし、これに限定するものではなく、SATAデバイスの有無の確認、SATAブリッジが存在するか確認、SATAブリッジがカスケード接続されているかを確認できる方法であれば何でも良い。もちろん、ATAコマンドに限定するものはなく、独自の拡張コマンドを発行しても構わない。
次に図6(B)のフローチャートを用いて、ブリッジ200、300、310が実行するモード設定と初期化処理の動作を説明する。ここでは例としてブリッジ200内のCPU201が実行する初期化処理の動作を説明するが、本動作フローはブリッジ300、310にも適応可能である。
図6(B)の動作フローはCPU201上で動作するプログラムであり、RAM203、ROM202または記憶装置400、401、402、401に格納される。
図6(B)は、起動などの初期化時に実行することが望ましいが、これに限定するものではなく、接続されているSATAデバイスにアクセスする際に実行しても構わない。
S621においてCPU201はSATAデバイスI/F204を通じて、ホスト側からの接続デバイス確認が通知されると、SATAホストI/F205・206の先にSATAデバイスが接続されているかどうかを確認する。具体的な一例としては、IDENTIFY DEVICEコマンドなどのATAコマンドの発行を行ない、SATAデバイスが接続されているかどうかを確認する。
S621で発行したIDENTIFY DEVICEコマンドへの応答があった場合、CPU201はSATAホストI/F205・206の先にSATAデバイスが接続されていると判断し(S622でYes)、S623に進む。
S621で発行したIDENTIFY DEVICEコマンドへの応答がない場合、CPU201はSATAホストI/F205・206にSATAデバイスが接続されていないと判断し(S622でNo)、S627に進む。
S623において、CPU201は、S621で発行したIDENTIFY DEVICEコマンドへの応答にデバイスが接続されていないエラー状態であることを通知する内容が含まれているかを判断する。
S623において、CPU201がS621で発行したIDENTIFY DEVICEコマンドへの応答にエラー通知内容が含まれていると判断した場合(S623でYes)、S627へ進む。
S623において、CPU201がS621で発行したIDENTIFY DEVICEコマンドへの応答にエラー通知内容が含まれていないと判断した場合(S623でNo)、S624へ進む。
S624において、CPU201は、S621で発行したSATAホストI/F205・206へのIDENTIFY DEVICEコマンドの応答内容とブリッジ200自身の情報を接続デバイス情報としてマージを行なう。S624において、さらにCPU201は、ホスト側へその接続デバイス情報を通知する。
S625において、CPU201はSATAデバイスI/F204を通じて、ホスト側から暗号化処理の設定指示があるかを判断する。
S625において、CPU201がホスト側から暗号化処理の設定指示があったと判断した場合(S625Yes)はS626へ処理を進める。CPU201がホスト側から暗号化処理の設定指示がないと判断した場合(S625No)はS628へ処理を進める。
S626において、CPU201はSATAデバイスI/F204を通じて、S625でホスト側から受けた指示に従って、暗号化/復号化の設定処理を行ない、その設定内容をROM202に記憶する。
これ以降、SATAデバイスI/F204を通じて受信したメインコントローラ100が記憶装置400、401、402、403に対して書き込むデータに対して次を行う。CPU201は当該データに対して、ROM202に記憶された設定内容と、暗号化/復号化部207を用いて暗号化処理を行ない、SATAホストI/F205・206を通じて下位のデバイスに送信する。
また更に、SATAホストI/F205・206を通じてメインコントローラ100が記憶装置400、401、402、403からデータを読み出す。このデータに対して、CPU201はROM202に記憶された設定内容と、暗号化/復号化部207を用いて復号化処理を行ない、SATAデバイスI/F204を通じて上位のホストに送信する。
S628においてCPU201はSATAデバイスI/F204を通じて、ホスト側からのモード設定指示を受信する。さらにS628においてCPU201は、受信したホスト側からのモード設定指示が、複数の動作モード設定指示かを判断する。
S628においてCPU201が、受信したホスト側からのモード設定指示が、複数の動作モード設定指示であると判断した場合(S628でYes)、処理をS629に進める。
S628においてCPU201が、受信したホスト側からのモード設定指示が、複数の動作モード設定指示でないと判断した場合(S628でNo)、処理をS635に進める。
S629において、CPU201はS628で受信したモード設定指示を、自デバイスに設定する動作モードと、下位のブリッジデバイスに対して設定する動作モードに割り振りを行なう。
S630において、CPU201はS629で割り振ったブリッジ200自身のモード設定に従い自身の動作モード設定を行なう。
S631において、CPU201はS629で割り振った下位のブリッジデバイスへのモード設定に従い、SATAホストI/F205・206を通じて下位のブリッジデバイスの動作モード設定を行なう。
S632において、CPU201はSATAデバイスI/F204を通じて、ホスト側から記憶装置に対する初期化処理指示を受信する。さらにS626においてCPU201は受信した初期化処理指示をSATAホストI/F205・206に接続されているデバイスに対して通知する。
S633において、CPU201はS628で受信したブリッジ200自身のモード設定に従い自身の動作モード設定を行ない、S632へ処理を進める。
S634において、CPU201はS629やS633で設定したブリッジ200自身の動作モードやS621で確認した接続デバイスの接続構成をROM202に記憶する。
S627において、CPU201はSATAホストI/F205・206にデバイスが接続されていないエラー状態であることをホスト側へ通知する。
以上により、ブリッジ200のモード設定と初期化処理を終了する。
次に図7(A)を用いて、図6(A)のS608におけるCPU101が設定指示可能な動作モードのパターンについて詳細に説明する。
図7(A)はメインコントローラ100に接続されるSATAブリッジのカスケード接続の構成パターンと、CPU101が下位のブリッジに対して設定可能な動作モードのパターンの対応表である。
S603とS607で、CPU101はSATAコントローラ110より下位にSATAブリッジが接続されているかと、カスケード接続されているかの判断を行なった。ここでSATAコントローラ110より下位に接続されるSATAブリッジのカスケード接続構成としては、次がある。すなわち、「記憶装置のみ」接続されているか、「SATAブリッジが1つ」のみ接続されているか、「SATAブリッジが2つ以上」接続されているか、に分類される。
SATAコントローラ110より下位に「記憶装置のみ」接続されている場合には、SATAブリッジが存在しないため、設定可能なモードはない。
SATAコントローラ110より下位に「SATAブリッジが1つ」のみ接続されている場合には、SATAブリッジが1つしか存在しないため、設定可能なモードは「ミラーリングモード(S502)のみ」か「ハイブリッドモード(S503)のみ」となる。
さらにSATAコントローラ110より下位に「SATAブリッジが2つ以上」接続されている場合には、次のようになる。設定可能なモードは「ミラーリングモード(S502)のみ」か「ハイブリッドモード(S503)のみ」か「ミラーリングモード(S502)とハイブリッドモード(S503)の両方」となる。
次に図7(B)を用いて、図6(B)のS629においてCPU201が行なった、複数の動作モードの下位のブリッジに対する割り振りについて説明する。
図7(B)はSATAブリッジ200に接続されるデバイスの、カスケード接続構成パターンと、CPU201が複数の動作モードを下位のブリッジに対して割り振る、動作モードの割振りパターンの対応表である。
SATAブリッジ200のSATAホストI/F205・206に対して記憶装置が1つとSATAブリッジが1つ接続されている場合、モード設定を行なうのはSATAブリッジ200自身とSATAブリッジ300である。そのため、SATAデバイスI/F204を通じてホスト側から受信した複数動作モードの割り振られ方は、次のようになる。すなわち、自デバイス(SATAブリッジ200)に対してはハイブリッドモードS503を割り当てられる。そして、下位のブリッジデバイス(SATAブリッジ300)に対してはミラーリングモードS502を割り当てられる、方法の1パターンのみである。
さらにSATAブリッジ200のSATAホストI/F205・206に対してSATAブリッジが2つ接続されている場合、モード設定を行なうのはSATAブリッジ200自身とSATAブリッジ300とSATAブリッジ310である。
そのため、SATAデバイスI/F204を通じてホスト側から受信した複数動作モードの割り振り方は次のようになる。自デバイス(SATAブリッジ200)に対してはハイブリッドモードを割り当てる。下位のブリッジデバイス2つ(SATAブリッジ300・310)に対してはミラーリングモードを割り当てる。この方法が1パターン目である。さらに自デバイス(SATAブリッジ200)に対してはミラーリングモードS502を割り当て、下位のブリッジデバイス2つ(SATAブリッジ300・310)に対してはハイブリッドモードS503を割り当てる、方法が2パターン目である。
以上、説明したように本発明の実施例によれば、カスケード接続されたSATAブリッジ200・300・310と、そのSATAブリッジの先に接続された記憶装置デバイス400・401・402・403を判別する。そして、SATAブリッジと記憶装置デバイスの接続構成に応じて各々のSATAブリッジの動作モードの割り振りと設定を行なう。これにより、各々のSATAブリッジの制御回路は煩雑化させずにストレージシステム全体として複数の機能を同時に機能させることが可能となる。
CPU311は、ストレージコントローラの一例である。記憶装置デバイス400〜403は、複数の記憶装置の一例である。これらをミラーリング動作させるミラーリングモードと、複数の記憶装置をミラーリング動作させずにそれぞれ動作させるハイブリッドモードを含む記憶装置の動作モードを設定するCPU311を開示した。ストレージコントローラが有する複数の接続部の中のひとつの接続部はひとつのバスブリッジに対して接続されうる。そして、バスブリッジはストレージコントローラにより設定されている複数の記憶装置デバイスに対してさらに接続されうる。記憶装置デバイスは、所定の動作モード(たとえばミラーリングまたはハイブリッド)と設定されうる。また、複数の接続部(315、316)の中の他の接続部に対して直接に接続されている、または、別のバスブリッジを介して接続されている記憶装置デバイスがある。そして、所定の記憶装置の動作モードとは異なる動作モードにストレージコントローラは設定できる。
SATA I/F315および316は、接続部の一例である。
CPU311は、ブリッジ200−310及び記憶装置デバイス400〜403の接続構成に基づき次の設定をする。つまり、ストレージシステムに含まれる記憶装置デバイス400−ないし403の動作モードを設定する。図7(A)(B)には、記憶装置の個数、SATAブリッジの個数などに依存して記憶装置の動作モードの設定が異なることが記載されている。図7(A)(B)は、これらがどのようにカスケード接続されるかを含む接続構成の一例である。
ストレージシステム内の所定の記憶装置デバイス400等が暗号化動作するよう設定されている場合、記憶装置デバイス400に対して下流側に接続されている記憶装置デバイスを暗号化動作させないよう制御することもできる。例えば、図7(B)にその記載がある。他の接続部に対して記憶されている記憶装置デバイス400−403は、別のブリッジに置き換え可能である。

Claims (8)

  1. 複数の記憶装置をミラーリング動作させるミラーリングモードと、複数の記憶装置をミラーリング動作させずにそれぞれ動作させるハイブリッドモードを含む記憶装置の動作モードを設定する設定手段を有するストレージコントローラを含むストレージシステムにおいて、
    前記ストレージコントローラが有する複数の接続部の中のひとつの接続部はひとつのバスブリッジに対して接続され、前記バスブリッジはひとつの所定の動作モードに前記設定手段により設定されている複数の記憶装置に対してさらに接続され、前記複数の接続部の中の他の接続部に対して直接に接続されているまたは前記バスブリッジとは別のバスブリッジを介して接続されている記憶装置は、前記所定の記憶装置の動作モードとは異なる動作モードに前記設定手段が設定可能であることを特徴とするストレージシステム。
  2. 前記ストレージコントローラは、前記ブリッジ及び記憶装置の接続構成に基づき、前記ストレージシステムに含まれる記憶装置の動作モードを設定する請求項1に記載のストレージシステム。
  3. 前記ストレージシステム内の所定の記憶装置が暗号化動作するよう設定されている場合、前記記憶装置に対して下流側に接続されている記憶装置を暗号化動作させないよう制御する請求項1に記載のストレージシステム。
  4. 前記他の接続部に対して記憶されている記憶装置は、前記ブリッジとは別のブリッジに置き換え可能であることを特徴とする請求項2に記載のストレージシステム。
  5. 複数の記憶装置をミラーリング動作させるミラーリングモードと、複数の記憶装置をミラーリング動作させずにそれぞれ動作させるハイブリッドモードを含む記憶装置の動作モードを設定するストレージコントローラを含むストレージシステムの制御方法において、
    前記ストレージコントローラが有する複数の接続部の中のひとつの接続部はひとつのバスブリッジに対して接続され、前記バスブリッジはひとつの所定の動作モードを設定されている複数の記憶装置に対してさらに接続されており、
    前記複数の接続部の中の他の接続部に対して直接に接続されているまたは前記バスブリッジとは別のバスブリッジを介して接続されている記憶装置を、前記所定の記憶装置の動作モードとは異なる動作モードを設定する設定工程を有することを特徴とするストレージシステムの制御方法。
  6. 前記ストレージコントローラは、前記ブリッジ及び記憶装置の接続構成に基づき、前記ストレージシステムに含まれる記憶装置の動作モードを設定する請求項5に記載の制御方法。
  7. 前記ストレージシステム内の所定の記憶装置が暗号化動作するよう設定されている場合、前記記憶装置に対して下流側に接続されている記憶装置を暗号化動作させないよう制御する請求項5に記載の制御方法。
  8. 前記他の接続部に対して記憶されている記憶装置は、前記ブリッジとは別のブリッジに置き換え可能であることを特徴とする請求項6に記載の制御方法。
JP2017213822A 2017-11-06 2017-11-06 情報処理装置及びその制御方法、並びにプログラム Pending JP2019086959A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017213822A JP2019086959A (ja) 2017-11-06 2017-11-06 情報処理装置及びその制御方法、並びにプログラム
US16/176,563 US11275706B2 (en) 2017-11-06 2018-10-31 Storage system having multiple bridges corresponding to multiple operation modes and control method therefor

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
JP2019086959A true JP2019086959A (ja) 2019-06-06

Family

ID=66328593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017213822A Pending JP2019086959A (ja) 2017-11-06 2017-11-06 情報処理装置及びその制御方法、並びにプログラム

Country Status (2)

Country Link
US (1) US11275706B2 (ja)
JP (1) JP2019086959A (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10143328A (ja) 1996-11-14 1998-05-29 Toshiba Corp 記憶装置制御方式
US8499168B2 (en) * 2007-05-09 2013-07-30 Kingston Technology Corporation Secure and scalable solid state disk system
US7904566B2 (en) 2008-03-14 2011-03-08 Silicon Image, Inc. Method, apparatus, and system for employing an enhanced port multiplier
KR20130070251A (ko) * 2011-12-19 2013-06-27 에스케이하이닉스 주식회사 브릿지 칩셋 및 그것을 포함하는 데이터 저장 시스템
WO2013165350A1 (en) * 2012-04-30 2013-11-07 Intel Corporation Mirroring memory commands to memory devices
KR102140512B1 (ko) * 2013-10-16 2020-08-03 삼성전자주식회사 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 불휘발성 메모리 시스템 및 불휘발성 메모리 시스템의 동작 방법

Also Published As

Publication number Publication date
US20190138480A1 (en) 2019-05-09
US11275706B2 (en) 2022-03-15

Similar Documents

Publication Publication Date Title
JP4295184B2 (ja) 仮想計算機システム
EP2924556B1 (en) Information processing apparatus, storage system, and program
JP5317807B2 (ja) ファイル制御システムおよびそれに用いるファイル制御計算機
JP5506568B2 (ja) データ処理装置、データ処理装置のデータ処理方法、プログラム
JP2010152688A (ja) 記憶領域管理装置、記憶領域管理方法
JP2015162091A (ja) 記憶制御装置、ストレージシステム、記憶制御方法、および記憶制御プログラム
JP5360199B2 (ja) 仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法
JP6875808B2 (ja) 情報処理装置
JP6380040B2 (ja) ストレージ装置、中継装置、および中継制御プログラム
CN104219409A (zh) 具有休眠功能的图像形成装置及其控制方法
JP5198334B2 (ja) ハイパバイザを有する計算機システム
US9442843B2 (en) Information processing apparatus, method of controlling the same, and storage medium
JP2009201092A (ja) 画像形成装置
JP2019086959A (ja) 情報処理装置及びその制御方法、並びにプログラム
US8060712B2 (en) Remote mirroring between a primary site and a secondary site
JP2019159471A (ja) ストレージシステム、その制御方法およびプログラム
JP2018063676A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2008217727A (ja) メモリホットプラグ時のデータコピー速度変更方式
JP2012252653A (ja) 情報処理装置及びその制御方法
US20200293209A1 (en) Information processing apparatus and control method of information processing apparatus
JP6370592B2 (ja) Kvmスイッチ、kvmスイッチの制御方法及び情報処理装置
JP2015203990A (ja) 電子機器およびメモリー管理方法
JP2017215717A (ja) 情報処理装置、その制御方法及びプログラム
JP2015102903A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2020067717A (ja) 情報処理装置および制御方法