JP2015176378A - 記憶媒体制御装置、記憶媒体制御方法およびプログラム - Google Patents

記憶媒体制御装置、記憶媒体制御方法およびプログラム Download PDF

Info

Publication number
JP2015176378A
JP2015176378A JP2014052753A JP2014052753A JP2015176378A JP 2015176378 A JP2015176378 A JP 2015176378A JP 2014052753 A JP2014052753 A JP 2014052753A JP 2014052753 A JP2014052753 A JP 2014052753A JP 2015176378 A JP2015176378 A JP 2015176378A
Authority
JP
Japan
Prior art keywords
mode
processing
combination
data
storage medium
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.)
Granted
Application number
JP2014052753A
Other languages
English (en)
Other versions
JP6277797B2 (ja
Inventor
嵯峨 嘉孝
Yoshitaka Saga
嘉孝 嵯峨
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2014052753A priority Critical patent/JP6277797B2/ja
Publication of JP2015176378A publication Critical patent/JP2015176378A/ja
Application granted granted Critical
Publication of JP6277797B2 publication Critical patent/JP6277797B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】暗号化/復号化、及び圧縮/伸張のデータ処理速度がシステム上のボトルネックになる場合でも、HDDホストコントローラのデータ転送帯域を最適化して消費電力を低減する。
【解決手段】記憶媒体制御装置100は、第1記憶媒体へのデータの書き込み処理、及び読み出し処理を制御するコントローラ部と、暗号/復号化処理を実施する第1モード、暗号/復号化処理を実施しない第2モードを有する暗号/復号部6と、圧縮/伸張処理を実施する第3モード、圧縮/伸張処理を実施しない第4モードを有する圧縮/伸張部7と、各モードの組合せごとに、それぞれの処理速度を比較して、遅い方の処理速度に合わせてコントローラ部を動作させる動作周波数を設定する動作モード制御部9と、現在の各モードの組合せに対応した動作周波数に切り替える周波数切替部13と、を備える。
【選択図】図1

Description

本発明は、記憶媒体制御装置、記憶媒体制御方法およびプログラムに関する。
HDD(Hard disk drive)に高速アクセスするためにRAID(Redundant Arrays of Inexpensive Disks)0と呼ばれる複数のHDDを組み合わせて1台のHDDであるかのように構成し、複数のHDDにデータを分散して同時に記憶する方法がある。以下、「RAID0」を「ストライピング」と表記することがある。すなわち、複数の外部記憶装置(HDDなど)をまとめて一台の装置として管理するRAID技術の方式の一つで、複数の記憶装置に均等にデータを振り分け、それぞれの記憶装置に対して同時に読み込む、又は書き込むことにより、データの読み書きを高速化したものである。また、ストライピング先のディスクで最も遅いものの転送速度に台数を掛けたものが全体の転送速度になり、飛躍的にデータ転送が高速化されることになる。
また、RAID0に対応したHDDホストコントローラにHDDを1台のみ接続して、RAID0(ストライピング)なしの構成で使用する場合に、HDDホストコントローラの転送帯域が無駄になることがある。そのため、HDDホストコントローラの転送帯域を最適化する方法として、RAID0(ストライピング)なしの構成の場合には、制御回路の一部のクロック周波数を、RAID0(ストライピング)ありの場合の構成の半分にする方法が知られている。
特許文献1には、インタフェース部の帯域とディスクアレイ装置部との間の能力の不適合を排し、システムの構築の柔軟性を高めることが可能なデータ記録再生装置が開示されている。特許文献1に記載のデータ記録再生装置は、複数のHDDによって並列冗長構成されたRAIDの複数のディスクアレイ装置であり、1ポート/2ポートの切り替えが可能な入出力インタフェース部と、データをストライピングして複数のHDD部に順次に供給し、複数のHDD部から供給されたデータを結合するストライピング・ECC部とを備え、ストライピング・ECC部から複数のHDD部までの間では、データのビット幅を16ビットに統一し、1ポートモードのときは動作クロック周波数を2ポートモードの半分に切り替えるものである。
HDDに記憶するデータは、暗号化/復号化、及び圧縮/伸張の処理を実施される場合がある。暗号化/復号化、及び圧縮/伸張のデータ処理速度が、HDDデバイス、及びHDDホストコントローラの転送速度よりも遅い場合には、データ処理速度がボトルネック(妨げ要因)となるため、HDDホストコントローラのデータ転送帯域が無駄になるという問題がある。
また、特許文献1に記載のデータ記録再生装置の動作周波数を変更する方法では、RAID0(ストライピング)ありの構成、又はRAID0(ストライピング)なしの構成の場合に、暗号化/復号化、及び圧縮/伸張などのデータ処理速度がボトルネックになる場合には、データ転送帯域を有効利用することができないため、無駄な電力を消費するという問題がある。
本発明は、上記に鑑みてなされたものであって、暗号化/復号化、及び圧縮/伸張のデータ処理速度がシステム上のボトルネックになる場合でも、HDDホストコントローラのデータ転送帯域を最適化して消費電力を低減することができる記憶媒体制御装置、記憶媒体制御方法およびプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係る記憶媒体制御装置は、データを記憶する第1記憶媒体への前記データの書き込み処理、及び読み出し処理を制御するコントローラ部と、書き込み対象データに暗号化処理、及び暗号化された読み出し対象データに復号化処理を実施する第1モードと、前記書き込み対象データに暗号化処理、及び読み出し対象データに復号化処理を実施しない第2モードを有する暗号/復号部と、書き込み対象データに圧縮処理、及び圧縮された読み出し対象データに伸張処理を実施する第3モードと、前記書き込み対象データに圧縮処理、及び読み出し対象データに伸張処理を実施しない第4モードを有する圧縮/伸張部と、前記第1モードと前記第3モードの組合せ、前記第1モードと前記第4モードの組合せ、前記第2モードと前記第3モードの組合せ、前記第2モードと前記第4モードの組合せ、の各モードの組合せごとに、それぞれの処理の処理速度を比較して、遅い方のモードの前記処理速度に合わせて前記コントローラ部を動作させる動作周波数を低く設定する動作モード制御部と、現在の前記各モードの組合せに対応した前記動作周波数を選択して、前記動作周波数を切り替える周波数切替部と、を備えることを特徴とする。
本発明によれば、暗号化/復号化、及び圧縮/伸張のデータ処理速度がシステム上のボトルネックになる場合でも、HDDホストコントローラのデータ転送帯域を最適化して消費電力を低減することができる、という有利な効果を奏する。
図1は、本実施形態に係る記憶媒体制御装置の機能的構成の一例を示す図である。 図2は、RAID0制御部における供給クロック信号とデータ転送速度の関係の一例を示す図である。 図3は、DMACにおける供給クロック信号とデータ転送速度の関係の一例を示す図である。 図4は、ストライピング処理の有無の各モードと、暗号化処理、及び復号化処理の実施の有無の各モードと、圧縮処理、及び伸張処理の実施の有無の各モードとの組合せごとに、それぞれの処理のデータ処理速度の関係の一例を示す図である。 図5は、ストライピング処理領域と単体処理領域の一例について説明する図である。 図6は、記憶媒体制御装置と接続されているHDDの検出の一例について説明する図である。 図7は、本実施形態に係る記憶媒体制御装置の処理動作の一例を示すフローチャート図である。
以下、添付図面を参照しながら、本発明に係る記憶媒体制御装置、記憶媒体制御方法およびプログラムの一実施形態を詳細に説明する。
本実施形態の記憶媒体制御装置は、書き込み対象データに暗号化処理、及び暗号化された読み出し対象データに復号化処理を実施する第1モード、及び前記書き込み対象データに暗号化処理、及び読み出し対象データに復号化処理を実施しない第2モードと、書き込み対象データに圧縮処理、及び圧縮された読み出し対象データに伸張処理を実施する第3モード、及び前記書き込み対象データに圧縮処理、及び読み出し対象データに伸張処理を実施しない第4モードと、ストライピング処理動作モード、及び単体処理動作モードとの各モードの組合せごとに、それぞれの処理の処理速度を比較して、最も遅いモードの処理速度に合わせてDMAC(Direct Memory Access Controller)を動作させる動作周波数をclk1より低く設定する。これにより、記憶媒体制御装置は、DMACとメモリとの間のデータの転送速度を低下させて、暗号化/復号化、及び圧縮/伸張のデータ処理速度がシステム上のボトルネックになる場合でも、HDDホストコントローラ(DMAC)のデータ転送帯域を最適化して消費電力を低減することができる。なお、DMACは、請求項の「コントローラ部」に対応する。
以下では、本実施形態の記憶媒体制御装置の一例として、1つのデータを2つ以上のハードディスクドライブに分けて同時に書き読みするメモリシステムに適用した例を挙げて説明するがこれに限られるものではなく、本発明が適用されるメモリシステムの種類は任意である。
図1は、本実施形態に係る記憶媒体制御装置の機能的構成の一例を示す図である。本実施形態の記憶媒体制御装置100は、図1に示すように、HDD_A1と、HDD_B2と、SATA制御部A3と、SATA制御部B4と、RAID0制御部5と、暗号/復号器6と、圧縮/伸張器7と、DMAC(ダイレクトメモリアクセスコントローラ)8と、動作モード制御部9と、バススイッチ10と、メモリ11と、CPU12と、周波数セレクタ13とを備える。なお、以下ではHDD_A1と、HDD_B2とを区別する必要がない場合には、単にHDDと表記する。なお、以下ではDMAC8は、HDDホストコントローラに相当する。
本実施形態では、HDD_A1と、HDD_B2と、バススイッチ10と、メモリ11と、CPU12とは、ハードウェアモジュールで構成され、メモリ11と、CPU12と、SATA制御部A3と、SATA制御部B4と、RAID0制御部5と、暗号/復号器6と、圧縮/伸張器7と、DMAC8と、動作モード制御部9と、周波数セレクタ13については、これらの一部又は全部がソフトウェア(プログラム)、ハードウェア回路であってもよい。また、上記各部のうちの一部が記憶媒体制御装置100に搭載される形態であってもよい。
HDD_A1とHDD_B2は、各種プログラム、データ等を分散して記憶するための、例えば、SATA(Serial Advanced Technology Attachment)規格準拠のハードディスクドライブである。なお、インタフェースとして、SATAに限ることはなく、PCI Express、eMMC(embedded MMC)、UFS(Universal Flash Storage)および、USB(Universal Serial Bus)などを適用することができる。なお、HDD_A1とHDD_B2は、請求項の「第2記憶媒体」に対応する。
RAID0(ストライピング)を構成する場合には、HDD_A1とHDD_B2は同型のデバイスを使用する。また、RAID0を構成しないで、HDD_A1とHDD_B2をそれぞれ単独で使用する場合には、同型でなく任意のデバイスを接続することができる。また、HDD_A1、または、HDD_B2のどちらか1台のみを接続することもできる。なお、本実施形態では、HDD_A1とHDD_B2のデータの最大転送速度は、例えば300MByte/sと仮定する。
SATA制御部A3は、RAID0制御部5の制御の下、データの読み出し(リード)/書き込み(ライト)を実行する機能を有する。具体的には、例えば、RAID0制御部5が発行するコマンドに従って、HDD_A1に対して制御コマンドを発行し、データの読み出し/書き込みを実行する。SATA制御部A3は、データの読み出し時では、HDD_A1から読み出したデータをRAID0制御部5へ送信する。SATA制御部A3は、データの書き込み時では、RAID0制御部5から受信したデータをHDD_A1へ書き込みする。なお、本実施形態では、SATA制御部A3とHDD_A1との間のデータの最大転送速度は、例えば300MByte/sと仮定する。また、SATA制御部A3とRAID0制御部5との間のデータ転送速度は、周波数セレクタ13からRAID0制御部5へ供給されるクロック信号(クロック周波数)14で制御され、データの最大転送速度は、例えば300MByte/sと仮定する。
SATA制御部B4は、RAID0制御部5の制御の下、データの読み出し(リード)/書き込み(ライト)を実行する機能を有する。具体的には、例えば、RAID0制御部5が発行するコマンドに従って、HDD_B2に対して制御コマンドを発行し、データの読み出し/書き込みを実行する。SATA制御部B4は、データの読み出し時では、HDD_B2から読み出したデータをRAID0制御部5へ送信する。SATA制御部B4は、データの書き込み時では、RAID0制御部5から受信したデータをHDD_B2へ書き込みする。なお、本実施形態では、SATA制御部B4とHDD_B2との間のデータの最大転送速度は、例えば、300MByte/sと仮定する。また、SATA制御部B4とRAID0制御部5との間のデータ転送速度は、周波数セレクタ13からRAID0制御部5へ供給されるクロック信号(クロック周波数)14に制御され、データの最大転送速度は、例えば300MByte/sと仮定する。
SATA制御部A3及びB4は、RAID0制御部5から送信されるコマンド(書き込みコマンドまたは読み出しコマンド)を受信する。SATA制御部A3及びB4は、受信した書き込みコマンドに付加された情報(SATA制御部A3及びB4による書き込み制御の対象となる情報)の符号化処理を行う。この例では、SATA制御部A3及びB4は、HDD_A1及びHDD_B2に対する書き込みを行うべき情報に対して、ビットの誤り訂正処理(ECC処理)を行うための冗長情報(データビットの偶奇性を利用する場合、パリティーと呼ぶ)を付加する処理を行う。また、SATA制御部A3及びB4は、HDD_A1及びHDD_B2から読み出された情報に対する誤り訂正処理(ECC処理)を行う。
SATA制御部A3及びB4は、受信した書き込みコマンドに従って、HDD_A1及びHDD_B2に対する情報の書き込みを行う。より具体的には、SATA制御部A3及びB4は、HDD_A1及びHDD_B2のうち、書き込みコマンドに付加された物理アドレスが示す領域に対して、SATA制御部A3及びB4によって符号化された情報を書き込む。また、SATA制御部A3及びB4は、受信した読み出しコマンドに従って、HDD_A1及びHDD_B2からの情報の読み出しを行う。より具体的には、SATA制御部A3及びB4は、HDD_A1及びHDD_B2のうち、読み出しコマンドに付加された物理アドレスが示す領域に格納された情報を読み出す。SATA制御部A3及びB4によって読み出された情報は、誤り訂正処理によって復号され、復号された情報が、読み出しコマンドに対する応答として、RAID0制御部5へ送られる。
RAID0制御部5は、動作モード制御部9が指定するHDD記憶領域への読み出し(リード)/書き込み(ライト)を実行するためのSATA制御コマンドを生成し、SATA制御部A3とSATA制御部B4へコマンドを送信する。RAID0制御部5は、データを分割して1以上の記憶媒体(HDD)に同時に書き込み、及び読み出しを実行するRAID0(ストライピング)処理動作モードと、データを分割しないで1つの記憶媒体(HDD)に書き込み、及び読み出しを実行する単体処理動作モードとを備えている。以下、RAID0(ストライピング)処理動作モードを、「ストライピング処理動作モード」と表記する。なお、ストライピング処理動作モードと単体処理動作モードの動作モードの切り替えは、例えば、後述する動作モード制御部9の制御により行われるものとする。
RAID0制御部5は、ストライピング処理動作モードでHDDに書き込みする場合、暗号/復号器6から受信したデータを、HDD_A1に記憶するデータと、HDD_B2に記憶するデータに分割し、分割したそれぞれのデータを、SATA制御部A3とSATA制御部B4へ送信する。また、RAID0制御部5は、ストライピング処理動作モードでHDDから読み出しする場合、HDD_A1とHDD_B2から読み出したデータを統合し、統合したデータを暗号/復号器6へ送信する。
RAID0制御部5は、単体処理動作モードでHDDに書き込みする場合、暗号/復号器6から受信したデータを、HDD_A1、または、HDD_B2へ送信する。RAID0制御部5は、単体処理動作モードでHDDから読み出しする場合、HDD_A1、または、HDD_B2から読み出したデータを暗号/復号器6へ送信する。なお、HDD_A1、HDD_B2のどちらにアクセスするかの選択は、例えば、後述する動作モード制御部9の制御により行われるものとする。
RAID0制御部5は、HDD_A1及びHDD_B2に対するデータの書き込みを要求する書き込み要求や、HDD_A1及びHDD_B2からのデータの読み出しを要求する読み出し要求をCPU12又は動作モード制御部9から受け付けることができる。例えば、書き込み要求は、書き込みの実行を要求する情報と、書き込みを要求するデータと、プログラム上の仮想空間アドレスのうち、その書き込みを要求するデータが割り当てられる場所を示す論理アドレスとを含んで構成される。一方、読み出し要求は、読み出しの実行を要求する情報と、プログラム上の仮想空間アドレスのうち、読み出しを要求するデータが割り当てられる場所を示す論理アドレスとを含んで構成される。上記論理アドレスは、CPU12又は動作モード制御部9によって指定される。
RAID0制御部5は、書き込み要求を受け付けた場合、書き込みが要求されたデータ(書き込み要求に含まれるデータ、以下、「書き込み対象データ」と呼ぶ場合がある)を含む情報を、HDD_A1及びHDD_B2に書き込む制御(以下、「書き込み制御」と呼ぶ場合がある)を行う。本実施形態では、RAID0制御部5は、書き込みの実行を命令する書き込みコマンドを生成し、生成した書き込みコマンドに対して、書き込み対象データを含む情報(書き込み制御の対象となる情報)と、HDD_A1及びHDD_B2のうち、書き込み対象データが書き込まれる領域を示す物理アドレスとを付加してSATA制御部A3及びSATA制御部B4へ伝達する。
RAID0制御部5は、読み出し要求を受け付けた場合、論物変換テーブルを参照して、読み出し要求に含まれる論理アドレスに対応付けられた物理アドレスを特定し(論物変換を行い)、特定した物理アドレスが示す位置に格納された情報を読み出す制御を行う。本実施形態では、RAID0制御部5は、SATA制御部A3及びB4に対して読み出しの実行を命令する読み出しコマンドを生成し、その生成した読み出しコマンドに対して、上述の論物変換により得た物理アドレスを付加してSATA制御部A3及びSATA制御部B4へ伝達する。そして、RAID0制御部5は、読み出しコマンドに対する応答として、SATA制御部A3及びSATA制御部B4がHDD_A1及びHDD_B2から読み出した情報を受け取ることができる。
RAID0制御部5のデータの最大転送速度は、例えば、後述する周波数セレクタ13から供給されるクロック信号14で制御される。ここで、図2を参照して、供給クロック信号14ごとに、暗号/復号器6−RAID0制御部5間、RAID0制御部5−SATA制御部A3、B4間のデータ転送速度の一例について説明する。図2は、RAID0制御部における供給クロック信号とデータ転送速度の関係の一例を示す図である。
図2に示すように、周波数セレクタ13から供給されるクロック信号14の一例として、例えば、clk1、clk1/2、clk1/3、clk1/4の4種類を挙げて説明する。供給されるクロック信号14は、RAID0制御部5を動作させるための動作周波数のことを示す。以下、供給されるクロック信号14を「供給クロック信号」と表記する。なお、clk1の周波数は任意に設定されている。
最初に、供給クロック信号14がclk1の場合、暗号/復号器6とRAID0制御部5との間のデータの最大転送速度は、例えば600MByte/sであり、RAID0制御部5とSATA制御部A3との間のデータの最大転送速度は、例えば300MByte/sであり、RAID0制御部5とSATA制御部B4との間のデータの最大転送速度は、例えば300MByte/sであると仮定する。供給クロック信号14がclk1/2の場合では、暗号/復号器6とRAID0制御部5との間のデータの最大転送速度は、例えば300MByte/sとなり、RAID0制御部5とSATA制御部A3との間のデータの最大転送速度は、例えば150MByte/sとなり、RAID0制御部5とSATA制御部B4との間のデータの最大転送速度は、例えば150MByte/sとなる。
供給クロック信号14がclk1/3の場合では、暗号/復号器6とRAID0制御部5との間のデータの最大転送速度は、例えば200MByte/sとなり、RAID0制御部5とSATA制御部A3との間のデータの最大転送速度は、例えば100MByte/sとなり、RAID0制御部5とSATA制御部B4との間のデータの最大転送速度は、例えば100MByte/sとなる。供給クロック信号14がclk1/4の場合では、暗号/復号器6とRAID0制御部5との間のデータの最大転送速度は、例えば150MByte/sとなり、RAID0制御部5とSATA制御部A3との間のデータの最大転送速度は、例えば75MByte/sとなり、RAID0制御部5とSATA制御部B4との間のデータの最大転送速度は75MByte/sとなる。このように、複数の周波数の供給クロック信号14は、例えば同相逓倍である。
図1に戻って説明を続ける。暗号/復号器6は、書き込み対象データを暗号化する暗号化モードと、暗号化された読み出し対象データを復号化する復号化モードと、何の処理もせずにデータ転送の中継をするスルーモードとを備えている。暗号/復号器6は、書き込み対象データに暗号化処理、及び暗号化された読み出し対象データに復号化処理を実施する第1モードと、前記書き込み対象データに暗号化処理、及び読み出し対象データに復号化処理を実施しない第2モードを有する。なお、各動作モードの切り替えは、例えば、後述する動作モード制御部9の制御により行われるものとする。
暗号/復号器6は、暗号化モード時では、圧縮/伸張器7から受信した書き込み対象データを暗号化し、RAID0制御部5へ送信する。暗号/復号器6は、復号化モード時では、RAID0制御部5から受信した暗号化された読み出し対象データを復号化し、圧縮/伸張器7へ送信する。暗号/復号器6は、スルーモード時では、暗号/復号の処理を実施せずに、圧縮/伸張器7とRAID0制御部5間のデータの送受信を中継する。
なお、本実施形態では、暗号/復号器6は、常に、上述したclk1で動作し、暗号化/復号化のデータ処理速度は、例えば200MByte/sであると仮定する。また、スルーモード時のデータの最大転送速度は、例えば600MByte/sであると仮定する。なお、暗号/復号器6は、請求項の「暗号/復号部」に対応する。
圧縮/伸張器7は、書き込み対象データを圧縮する圧縮モードと、圧縮された読み出し対象データを伸張する伸張モードと、何の処理もせずにデータ転送の中継をするスルーモードとを備えている。圧縮/伸張器7は、書き込み対象データに圧縮処理、及び圧縮された読み出し対象データに伸張処理を実施する第3モードと、前記書き込み対象データに圧縮処理、及び読み出し対象データに伸張処理を実施しない第4モードを有する。なお、各動作モードの切り替えは、例えば、後述する動作モード制御部9の制御により行われるものとする。
圧縮/伸張器7は、圧縮モード時では、DMAC8から受信した書き込み対象データを圧縮し、暗号/復号器6へ送信する。圧縮/伸張器7は、伸張モード時では、暗号/復号器6から受信した圧縮された読み出し対象データを伸張し、DMAC8へ送信する。圧縮/伸張器7は、スルーモード時では、圧縮/伸張処理を実施せずに、DMAC8と暗号/復号器6間のデータの送受信を中継する。なお、本実施形態では、圧縮/伸張器7は、常に、上述したclk1で動作し、圧縮/伸張のデータ処理速度は、例えば133MByte/sであると仮定する。また、スルーモード時のデータの最大転送速度は、例えば600MByte/sであると仮定する。なお、圧縮/伸張器7は、請求項の「圧縮/伸張部」に対応する。
DMAC8は、ダイレクトメモリアクセスコントローラであり、データの転送処理を制御する。具体的には、DMAC8は、第1記憶媒体(メモリ11、例えば、RAMなど)へのデータの書き込み処理、及び読み出し処理を制御する。DMAC8は、バススイッチ10を介して、メモリ11にアクセスする。具体的には、例えばDMAC8は、HDDへデータを書き込みする時には、メモリ11から書き込み対象データを読み出して、圧縮/伸張器7へ送信する。また、DMAC8は、HDDからデータを読み出しする時には、圧縮/伸張器7から受信した読み込み対象データをメモリ11に書き込みする。なお、本実施形態では、メモリ11のアクセス領域の指定は、例えば、後述する動作モード制御部9の制御により行われるものとする。
また、DMAC8は、メモリ11との間のデータ転送速度を制御する。具体的には、DMAC8は、メモリ11がCPU12を介すことなくデータ転送を行うDMA転送において、通信の制御を行う。つまり、DMAC8は、CPU12を介さずにHDD_A1、及びB2とメモリ11との間で直接データ転送を行う。DMAC8とメモリ11との間のデータの最大転送速度は、周波数セレクタ13から供給される供給クロック信号14で制御される。なお、DMAC8は、請求項の「コントローラ部」に対応する。
ここで、図3を参照して、供給クロック信号14ごとに、DMAC8とメモリ11との間のデータ転送速度の一例について説明する。図3は、DMACにおける供給クロック信号とデータ転送速度の関係の一例を示す図である。図3に示すように、周波数セレクタ13から供給される複数の周波数の供給クロック信号14の一例として、例えば、clk1、clk1/2、clk1/3、clk1/4の4種類を挙げて説明する。供給クロック信号14は、DMAC8を動作させるための動作周波数のことを示す。なお、clk1の周波数は任意に設定される。
最初に、供給クロック信号14がclk1の場合、DMAC8とメモリ11との間のデータの最大転送速度は、例えば600MByte/sであると仮定する。供給クロック信号14がclk1/2の場合では、DMAC8とメモリ11との間のデータの転送速度は、例えば300MByte/sとなる。供給クロック信号14がclk1/3の場合では、DMAC8とメモリ11との間のデータの転送速度は、例えば200MByte/sとなる。供給クロック信号14がclk1/4の場合、DMAC8とメモリ11との間のデータの転送速度は150MByte/sとなる。このように、複数の周波数の供給クロック信号14は、同相逓倍である。
DMAC8は、メモリ11に対するデータの書き込みを要求する書き込み要求や、メモリ11からのデータの読み出しを要求する読み出し要求をCPU12又は動作モード制御部9から受け付けることができる。例えば、書き込み要求は、書き込みの実行を要求する情報と、書き込みを要求するデータと、プログラム上の仮想空間アドレスのうち、その書き込みを要求するデータが割り当てられる場所を示す論理アドレスとを含んで構成される。一方、読み出し要求は、読み出しの実行を要求する情報と、プログラム上の仮想空間アドレスのうち、読み出しを要求するデータが割り当てられる場所を示す論理アドレスとを含んで構成される。上記論理アドレスは、CPU12又は動作モード制御部9によって指定される。
DMAC8は、書き込み要求を受け付けた場合、書き込みが要求されたデータ(書き込み要求に含まれるデータ、以下、「書き込み対象データ」と呼ぶ場合がある)を含む情報を、メモリ11に書き込む制御を行う。本実施形態では、DMAC8は、書き込みの実行を命令する書き込みコマンドを生成し、生成した書き込みコマンドに対して、書き込み対象データを含む情報(書き込み制御の対象となる情報)と、メモリ11のうち、書き込み対象データが書き込まれる領域を示す物理アドレスとを付加してメモリ11へ伝達する。
DMAC8は、読み出し要求を受け付けた場合、論物変換テーブルを参照して、読み出し要求に含まれる論理アドレスに対応付けられた物理アドレスを特定し(論物変換を行い)、特定した物理アドレスが示す位置に格納された情報を読み出す制御を行う。本実施形態では、DMAC8は、読み出しの実行を命令する読み出しコマンドを生成し、その生成した読み出しコマンドに対して、上述の論物変換により得た物理アドレスを付加してメモリ11へ伝達する。そして、DMAC8は、読み出しコマンドに対する応答として、メモリ11から読み出した情報を受け取ることができる。
図1に戻って説明を続ける。動作モード制御部9は、制御部21と、処理動作モード切替部22と、ストライピング領域判定部23、検出部24とを有する。本実施形態において、制御部21と、処理動作モード切替部22と、検出部24と、ストライピング領域判定部23とが動作モード制御部9の機能を提供する。
制御部21は、RAID0制御部5、暗号/復号器6、圧縮/伸張器7、DMAC8、周波数セレクタ13の各動作モードを制御する。また、制御部21は、CPU12により設定された動作モードに従い、圧縮/伸張器7、暗号/復号器6、RAID0制御部5の各動作モードを設定、又は各動作モードの切り替えを制御する。また、制御部21は、CPU12により設定された動作モードに従い、圧縮/伸張器7、暗号/復号器6、RAID0制御部5の各動作モードを設定し、各動作モードの組合せごとに、それぞれの処理のデータ処理速度を比較して、最も遅い処理速度に合わせて周波数セレクタ13が出力する供給クロック信号14を設定する。具体的には、制御部21は、書き込み対象データに暗号化処理、及び暗号化された読み出し対象データに復号化処理を実施する第1モード、及び前記書き込み対象データに暗号化処理、及び読み出し対象データに復号化処理を実施しない第2モードと、書き込み対象データに圧縮処理、及び圧縮された読み出し対象データに伸張処理を実施する第3モード、及び前記書き込み対象データに圧縮処理、及び読み出し対象データに伸張処理を実施しない第4モードと、ストライピング処理動作モード、及び単体処理動作モードとの各モードの組合せごとに、それぞれの処理のデータ処理速度を比較して、最も遅いモードのデータ処理速度に合わせてDMAC(コントローラ部)8を動作させる動作周波数をclk1より低く設定して、DMAC8とメモリ11との間のデータの転送速度を低下させる。すなわち、制御部21は、ストライピング処理動作モードと第1モードと第3モードの組合せ、ストライピング処理動作モードと第1モードと第4モードの組合せ、ストライピング処理動作モードと第2モードと第3モードの組合せ、ストライピング処理動作モードと第2モードと第4モードの組合せ、単体処理動作モードと第1モードと第3モードの組合せ、単体処理動作モードと第1モードと第4モードの組合せ、単体処理動作モードと第2モードと第3モードの組合せ、単体処理動作モードと第2モードと第4モードの組合せ、の各モードの組合せごとに、それぞれの処理の処理速度を比較して、最も遅いモードの処理速度に合わせてコントローラ部を動作させる動作周波数を低く設定する。
また、制御部21は、書き込み対象データに暗号化処理、及び暗号化された読み出し対象データに復号化処理を実施する第1モード、及び前記書き込み対象データに暗号化処理、及び読み出し対象データに復号化処理を実施しない第2モードと、書き込み対象データに圧縮処理、及び圧縮された読み出し対象データに伸張処理を実施する第3モード、及び前記書き込み対象データに圧縮処理、及び読み出し対象データに伸張処理を実施しない第4モードと、の各モードの組合せごとに、それぞれの処理のデータ処理速度を比較して、遅い方のモードのデータ処理速度に合わせてDMAC(コントローラ部)8を動作させる動作周波数をclk1より低く設定して、DMAC8とメモリ11との間のデータの転送速度を低下させる。すなわち、制御部21は、第1モードと第3モードの組合せ、第1モードと第4モードの組合せ、第2モードと第3モードの組合せ、第2モードと第4モードの組合せ、の各モードの組合せごとに、それぞれの処理の処理速度を比較して、遅い方のモードの処理速度に合わせてコントローラ部を動作させる動作周波数を低く設定する。
ここで、図3及び図4を参照して、動作モード制御部9の制御部21での周波数セレクタ13が出力する供給クロック信号14の設定方法について説明する。図4は、ストライピング処理の有無の各モードと、暗号化処理、及び復号化処理の実施の有無の各モードと、圧縮処理、及び伸張処理の実施の有無の各モードとの組合せごとに、それぞれの処理のデータ処理速度を関係付けた情報の一例を示す図である。制御部21は、図4の例に示す、CPU12により設定された各モードの組合せごとに、各処理のデータ処理速度を関係付けた情報を予め保持する。なお、各処理のデータ処理速度は予め任意に設定することができる。
図4の例に示すように、ストライピング処理「有り」のデータ処理速度は、600MByte/s、暗号化/復号化処理「有り」のデータ処理速度は、200MByte/s、圧縮/伸張処理「有り」のデータ処理速度は、133MByte/sの組合せである。また、ストライピング処理「有り」のデータ処理速度は、600MByte/s、暗号化/復号化処理「有り」のデータ処理速度は、200MByte/s、圧縮/伸張処理「無し」のデータ処理速度は、600MByte/sの組合せである。また、ストライピング処理「有り」のデータ処理速度は、600MByte/s、暗号化/復号化処理「無し」のデータ処理速度は、600MByte/s、圧縮/伸張処理「有り」のデータ処理速度は、133MByte/sの組合せである。また、ストライピング処理「有り」のデータ処理速度は、600MByte/s、暗号化/復号化処理「無し」のデータ処理速度は、600MByte/s、圧縮/伸張処理「無し」のデータ処理速度は、600MByte/sの組合せである。
また、図4の例では、ストライピング処理「無し」のデータ処理速度は、300MByte/s、暗号化/復号化処理「有り」のデータ処理速度は、200MByte/s、圧縮/伸張処理「有り」のデータ処理速度は、133MByte/sの組合せである。また、ストライピング処理「無し」のデータ処理速度は、300MByte/s、暗号化/復号化処理「有り」のデータ処理速度は、200MByte/s、圧縮/伸張処理「無し」のデータ処理速度は、600MByte/sの組合せである。また、ストライピング処理「無し」のデータ処理速度は、300MByte/s、暗号化/復号化処理「無し」のデータ処理速度は、600MByte/s、圧縮/伸張処理「有り」のデータ処理速度は、133MByte/sの組合せである。また、ストライピング処理「無し」のデータ処理速度は、300MByte/s、暗号化/復号化処理「無し」のデータ処理速度は、600MByte/s、圧縮/伸張処理「無し」のデータ処理速度は、600MByte/sの組合せである。
そこで、例えば、制御部21は、図4の例に示した各モードの組合せごとに、各処理のデータ処理速度を関係付けた情報を用いて、RAID0制御部5がストライピング処理動作モードであり、暗号/復号器6がスルーモード(処理無し)であり、圧縮/伸張器7がスルーモード(処理無し)の組合せである場合、最も遅いデータ処理速度は、600MByte/sであると判断し、図3を参照して、周波数セレクタ13が出力する供給クロック信号14としては、clk1を設定する。
また、制御部21は、図4の例に示した各モードの組合せごとに、各処理のデータ処理速度を関係付けた情報を用いて、RAID0制御部5が単体処理動作モード(ストライピング処理無し)であり、暗号/復号器6がスルーモード(処理無し)であり、圧縮/伸張器7がスルーモード(処理無し)の組合せである場合、最も遅いデータ処理速度は、300MByte/sであると判断し、図3を参照して、周波数セレクタ13が出力する供給クロック信号14としては、clk1/2を設定する。
また、制御部21は、図4の例に示した各モードの組合せごとに、各処理のデータ処理速度を関係付けた情報を用いて、RAID0制御部5がストライピング処理動作モードまたは単体処理動作モードであり、暗号/復号器6が暗号化モード(処理有り)または復号化モード(処理有り)であり、圧縮/伸張器7がスルーモード(処理無し)の組合せである場合、最も遅いデータ処理速度は、200MByte/sであると判断し、図3を参照して、周波数セレクタ13が出力する供給クロック信号14としては、clk1/3を設定する。
また、制御部21は、図4の例に示した各モードの組合せごとに、各処理のデータ処理速度を関係付けた情報を用いて、圧縮/伸張器7が圧縮モード(処理有り)または伸張モード(処理有り)である場合、RAID0制御部5と暗号/復号器6の動作モードとの組合せには関係なく、最も遅いデータ処理速度は、133MByte/sであると判断し、図3を参照して、周波数セレクタ13が出力する供給クロック信号14としては、clk1/4を設定する。
また、制御部21は、図4の例に示した各モードの組合せごとに、各処理のデータ処理速度を関係付けた情報を用いて、暗号/復号器6がスルーモード(処理無し)であり、圧縮/伸張器7がスルーモード(処理無し)の組合せである場合、遅い方のデータ処理速度は、600MByte/sであると判断し、図3を参照して、周波数セレクタ13が出力する供給クロック信号14としては、clk1を設定する。
また、制御部21は、図4の例に示した各モードの組合せごとに、各処理のデータ処理速度を関係付けた情報を用いて、暗号/復号器6が暗号化モード(処理有り)または復号化モード(処理有り)、圧縮/伸張器7がスルーモード(処理無し)の組合せである場合、遅い方のデータ処理速度は、200MByte/sであると判断し、図3を参照して、周波数セレクタ13が出力する供給クロック信号14としては、clk1/3を設定する。
また、制御部21は、図4の例に示した各モードの組合せごとに、各処理のデータ処理速度を関係付けた情報を用いて、圧縮/伸張器7が圧縮モード(処理有り)または伸張モード(処理有り)である場合、暗号/復号器6の動作モードの組合せには関係なく、遅い方のデータ処理速度は、133MByte/sであると判断し、図3を参照して、周波数セレクタ13が出力する供給クロック信号14としては、clk1/4を設定する。
すなわち、制御部21は、ストライピング処理動作モードで、圧縮/伸張処理、暗号化/復号化処理の両方とも処理を実施しないモードの組合せの場合は、データ処理速度は600MByte/sとなり、clk1を設定する。また、制御部21は、ストライピング処理動作モードで、圧縮/伸張処理を実施しない場合であって、暗号化/復号化処理を実施するモードの組合せの場合は、データ処理速度は200MByte/sとなり、clk1/3を設定する。また、制御部21は、ストライピング処理動作モードで、圧縮/伸張処理を実施するモードの場合は、暗号化/復号化処理の実施の有無のモードの組合せにかかわらず、データ処理速度は、133MByte/sとなり、clk1/4を設定する。
また、制御部21は、単体処理動作モードで、圧縮/伸張処理、暗号化/復号化処理の両方とも処理を実施しないモードの組合せの場合は、データ処理速度は300MByte/sとなり、clk1/2を設定する。また、制御部21は、単体処理動作モードで、圧縮/伸張処理を実施しない場合であって、暗号化/復号化処理を実施するモードの組合せの場合は、データ処理速度は200MByte/sとなり、clk1/3を設定する。また、制御部21は、単体処理動作モードで、圧縮/伸張処理を実施する場合は、暗号化/復号化処理の実施の有無のモードの組合せにかかわらず、データ処理速度は、133MByte/sとなり、clk1/4を設定する。
このように、制御部21は、ストライピング処理の有無の各モードと、暗号化処理、及び復号化処理の実施の有無の各モードと、圧縮処理、及び伸張処理の実施の有無の各モードとの組合せごとに、それぞれの処理のデータ処理速度を比較して、最も遅い方のモードのデータ処理速度に合わせてDMAC(コントローラ部)8を動作させる動作周波数を任意のclk1より低く設定して、DMAC8とメモリ11との間のデータの転送速度を低下させる。
また、制御部21は、暗号化処理、及び復号化処理の実施の有無の各モードと、圧縮処理、及び伸張処理の実施の有無の各モードとの組合せごとに、それぞれの処理のデータ処理速度を比較して、遅い方のモードのデータ処理速度に合わせてDMAC(コントローラ部)8を動作させる動作周波数を任意のclk1より低く設定して、DMAC8とメモリ11との間のデータの転送速度を低下させる。
これによって、暗号化/復号化、及び圧縮/伸張のデータ処理速度がシステム上のボトルネックになる場合でも、HDDホストコントローラのデータ転送帯域を最適化して消費電力を低減することができる。なお、clk1の周波数は任意に設定されている。
また、制御部21は、DMAC8がメモリ11に対してデータを書き込み、及び読み出しする時のメモリ11のアクセス領域(論理アドレス)の指定を行って制御する。
また、制御部21は、RAID0制御部5が単体処理動作モードでHDDに書き込み/読み出しする場合、HDD_A1、又はHDD_B2のどちらにアクセスするかを制御する。
図1に戻って説明を続ける。処理動作モード切替部22は、データを分割して1以上の第2記憶媒体(HDD)に同時に書き込み、及び読み出しを実行するストライピング処理動作モードと、データを分割しないで1つの第2記憶媒体(HDD)に書き込み、及び読み出しを実行する単体処理動作モードとを切り替える制御を行う。処理動作モード切替部22は、ストライピング処理動作モードと単体処理動作モードとを切り替える場合、制御コマンドを生成し、RAID0制御部5へコマンドを送信する。
また、処理動作モード切替部22は、後述するストライピング領域判定部23が記憶媒体(HDD)の記憶領域にアクセスする場合に、アドレス情報からストライピング処理領域であると判定した場合、ストライピング処理動作モードに切り替える。また、処理動作モード切替部22は、後述するストライピング領域判定部23が記憶媒体(HDD)の記憶領域にアクセスする場合に、アドレス情報から単体処理領域であると判定した場合、単体処理動作モードに切り替える。
また、処理動作モード切替部22は、後述する検出部24が検出した記憶媒体(HDD)が1つだけの場合には、単体処理動作モードに切り替える。また、処理動作モード切替部22は、後述する検出部24が検出した記憶媒体(HDD)が複数の場合には、ストライピング処理動作モードに切り替える。
ストライピング領域判定部23は、記憶媒体(HDD)の記憶領域にアクセスする場合に、データを書き込み、及び読み出しするためにアクセスする記憶媒体(HDD)の記憶領域がストライピング処理領域であるか否かを判定する。まず、動作モード制御部9は、予め記憶媒体(HDD)の記憶領域にアクセスするアドレス情報を用いて、記憶媒体(HDD)の記憶領域をストライピング処理領域と、単体処理領域とに分けて設定しておく。そして、ストライピング領域判定部23は、記憶媒体(HDD)の記憶領域にアクセスする場合に、アドレス情報からデータを書き込み、及び読み出しするための記憶媒体(HDD)の記憶領域がストライピング処理領域であるか否かを判定する。よって、記憶媒体(HDD)の記憶領域を、ストライピング処理領域と単体処理領域とを混在させて使用する場合には、記憶媒体(HDD)にアクセスするアドレス情報からRAID0制御部5の処理動作モードを自動で設定することができる。すなわち、CPU12が介在することなく、記憶媒体(HDD)にアクセスするアドレス情報を用いてRAID0制御部5の処理動作モードを自動で設定することができる。
図5は、ストライピング処理領域と単体処理領域の一例について説明する図である。図5の例に示すように、HDD_A1では、アドレス0x0000_0000〜0x8000_0000までをストライピング処理領域(データ格納領域)31に設定し、アドレス0x8000_0000〜0xC000_0000までを単体処理領域(プログラム格納領域)41に設定したことを示している。
また、HDD_B2では、アドレス0x0000_0000〜0x8000_0000までをストライピング処理領域(データ格納領域)32に設定し、アドレス0x8000_0000〜0xC000_0000までは空き領域に設定し、アドレス0xC000_0000〜0xZ000_0000を単体処理領域(プログラム格納領域)42に設定したことを示している。
なお、ストライピング処理領域31、32は、データを分割してHDD_A1、及びHDD_B2に分散させて記憶させるためのデータ格納領域である。また、単体処理領域41、42は、1つだけのHDD_A1、又はHDD_B2にデータを記憶させるためのプログラム格納領域である。このように、例えば、頻繁にアクセスするデータ格納領域31、32をストライピング処理領域とし、OS等のプログラム格納領域を単体処理領域41、42として使用することで、記憶容量とアクセス速度のバランスをとることができる。
図1に戻って説明を続ける。検出部24は、記憶媒体制御装置100と接続されている1以上の第2記憶媒体(HDD)を検出する。図6は、記憶媒体制御装置と接続されているHDDの検出の一例について説明する図である。図6の例に示すように、HDD_Ach1、HDD_Bch2の接続コネクタのGND端子と、動作モード制御部9の検出部24への入力信号(detect_a、detect_b)を接続し、この入力信号経路をプルアップしておくことで、HDDの接続を検知する。すなわち、HDDが接続されている場合は、detect_a、detect_bはLowレベルであり、HDDが接続されていない場合は、detect_a、detect_bはHighレベルである。また、detect_aとdetect_bのどちらか一方がHighレベルで、どちらか他方がLowレベルの場合は、2台以上のHDDが必要なRAID0(ストライピング)を構成していることはない。よって、動作モード制御部9の処理動作モード切替部22は、検出部24で検出したHDD(第2記憶媒体)が1つだけの場合には、RAID0制御部5の動作モードを単体処理モードに設定することで、CPU12によるソフトウェア制御を簡易化することができる。
図1に戻って説明を続ける。バススイッチ10は、バスラインの高速切り替え、又は切り離し等を行うスイッチである。バスラインは、上記の各構成要素を図1に示されているように電気的に接続する。バスラインとしては、例えば、アドレスバスやデータバス等である。バススイッチ10は、MEM−IFを介してDMAC8、メモリ11と接続される。また、バススイッチ10は、CPU−IFを介して動作モード制御部9、CPU12と接続される。すなわち、バススイッチ10は、DMAC8と動作モード制御部9とメモリ11とCPU12との間でのバスラインの切り替えを行う。
メモリ11は、記憶媒体であり、記憶媒体制御装置100用プログラムを記憶する。また、メモリ11は、各種のデータを記憶する。また、メモリ11は、CPU12のワークエリアとしても使用される。つまり、メモリ11は、ROM(Read Only Memory)やRAM(Random Access Memory)の機能を有する。なお、メモリ11は、請求項の「第1記憶媒体」に対応する。
CPU(Central Processing Unit)12は、記憶媒体制御装置100全体の動作を制御する。CPU12は、例えば、データをメモリ11から読み出させて、HDD_A1とHDD_B2とに均等にデータを振り分け、それぞれのHDDに対して同時に対象データの書き込み、又は読み出しを実行させる。
周波数セレクタ13は、圧縮/伸張器7と暗号/復号器6に対して供給クロック信号(clk1)14を供給する。また、周波数セレクタ13は、動作モード制御部9が、暗号化処理、及び復号化処理の実施の有無の各モードと、圧縮処理、及び伸張処理の実施の有無の各モードと、ストライピング処理動作モード、及び単体処理動作モードの各モードとの組合せごとに設定した動作周波数(供給クロック信号14)を用いて、現在の各モードの組合せに対応した動作周波数を選択して、複数の周波数の供給クロック信号14の中から、DMAC8とRAID0制御部5に供給する供給クロック信号14を切り替える。上述したように、供給クロック信号14は、例えば、clk1、clk1/2、clk1/3、clk1/4の4種類から選択可能である。clk1/2の周波数はclk1の半分であり、clk1/3の周波数はclk1の3分の1であり、clk1/4の周波数はclk1の4分の1である。すなわち、上記の例では、複数の周波数の供給クロック信号14は、同相逓倍関係である。なお、clk1の周波数は任意に設定されている。なお、周波数セレクタ13は、請求項の「周波数切替部」に対応する。
なお、上記の記憶媒体制御装置100用プログラムは、インストール可能な形式、または実行可能な形式のファイルで、記憶媒体等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
次に、図7を参照して、本実施形態に係る記憶媒体制御装置100における処理動作を説明する。図7は、本実施形態に係る記憶媒体制御装置の処理動作の一例を示すフローチャート図である。
記憶媒体制御装置100の動作モード制御部9は、CPU12からのデータの書き込み/読み出し要求を受けて、書き込み/読み出し対象データと、書き込まれる領域を示す物理アドレス/論理アドレスとを含む書き込み/読み出し要求をDMAC8及びRAID0制御部5に送信する(ステップS1)。次に、動作モード制御部9は、RAID0制御部5がストライピング処理動作モードであるか否かを判断する(ステップS2)。ストライピング処理動作モードである場合(ステップS2:Yes)、動作モード制御部9は、圧縮/伸張器7が圧縮処理、及び伸張処理モードであるか否かを判断する(ステップS3)。圧縮処理、及び伸張処理モードでない場合(ステップS3:No)、動作モード制御部9は、暗号/復号器6が暗号化処理、及び復号化処理モードであるか否かを判断する(ステップS4)。暗号化処理、及び復号化処理モードでない場合(ステップS4:No)、動作モード制御部9は、最も遅いデータ処理速度は600MByte/s(ステップS5)であると判断し、動作周波数(供給クロック信号14)をclk1に設定する(ステップS6)。次に、ステップS19に移行する。
ステップS2に戻り、ストライピング処理動作モードでない場合(ステップS2:No)、動作モード制御部9は、圧縮/伸張器7が圧縮処理、及び伸張処理モードであるか否かを判断する(ステップS7)。圧縮処理、及び伸張処理モードでない場合(ステップS7:No)、動作モード制御部9は、暗号/復号器6が暗号化処理、及び復号化処理モードであるか否かを判断する(ステップS8)。暗号化処理、及び復号化処理モードでない場合(ステップS8:No)、動作モード制御部9は、最も遅いデータ処理速度は300MByte/s(ステップS9)であると判断し、動作周波数をclk1/2に設定する(ステップS10)。次に、ステップS19に移行する。
ステップS3に戻り、圧縮処理、及び伸張処理モードである場合(ステップS3:Yes)、動作モード制御部9は、最も遅いデータ処理速度は133MByte/s(ステップS11)であると判断し、動作周波数をclk1/4に設定する(ステップS12)。次に、ステップS19に移行する。
ステップS4に戻り、暗号化処理、及び復号化処理モードである場合(ステップS4:Yes)、動作モード制御部9は、最も遅いデータ処理速度は200MByte/s(ステップS13)であると判断し、動作周波数をclk1/3に設定する(ステップS14)。次に、ステップS19に移行する。
ステップS7に戻り、圧縮処理、及び伸張処理モードである場合(ステップS7:Yes)、動作モード制御部9は、最も遅いデータ処理速度は133MByte/s(ステップS15)であると判断し、動作周波数をclk1/4に設定する(ステップS16)。次に、ステップS19に移行する。
ステップS8に戻り、暗号化処理、及び復号化処理モードである場合(ステップS8:Yes)、動作モード制御部9は、最も遅いデータ処理速度は200MByte/s(ステップS17)であると判断し、動作周波数をclk1/3に設定する(ステップS18)。次に、ステップS19に移行する。
ステップS19に移行し、次に、動作モード制御部9の処理動作モード切替部22は、各モードの組合せに対応した、ステップS6、ステップS10、ステップS12、ステップS14、ステップS16、ステップS18の各ステップで設定した動作周波数(供給クロック信号14)を選択して、周波数セレクタ13は動作周波数を切り替える(ステップS19)。次に、記憶媒体制御装置100の圧縮/伸張器7、暗号/復号器6、RAID0制御部5は、CPU12により設定された各モードの処理モードの設定に基づき、各処理を実行する(ステップS20)。次に、例えば、DMAC8は、切り替えられた動作周波数(供給クロック信号14)でメモリ11に対してデータの書き込み/読み出しを実行する。また、例えば、SATA制御部A3、B4は、HDD_A1、B2に対して、データの書き込み/読み出しを実行する(ステップS21)。そして、処理を終了する。
このように、上述した処理動作を、本実施形態の記憶媒体制御装置100に実行させる。これにより、本実施形態の記憶媒体制御装置100は、暗号化処理、及び復号化処理の実施の有無の各モードと、圧縮処理、及び伸張処理の実施の有無の各モードと、ストライピング処理動作モード、及び単体処理動作モードの各モードとの組合せごとに、それぞれの処理の処理速度を比較して、最も遅いモードの処理速度に合わせてDMAC(コントローラ部)8を動作させる動作周波数をclk1より低く設定して、DMAC8とメモリ11との間のデータの転送速度を低下させる。
また、本実施形態の記憶媒体制御装置100は、暗号化処理、及び復号化処理の実施の有無の各モードと、圧縮処理、及び伸張処理の実施の有無の各モードとの組合せごとに、それぞれの処理の処理速度を比較して、遅い方のモードの処理速度に合わせてDMAC(コントローラ部)8を動作させる動作周波数をclk1より低く設定して、DMAC8とメモリ11との間のデータの転送速度を低下させる。
よって、本実施形態の記憶媒体制御装置100によれば、暗号化/復号化、及び圧縮/伸張のデータ処理速度がシステム上のボトルネックになる場合でも、HDDホストコントローラ(DMAC8)のデータ転送帯域を最適化して消費電力を低減することができる。
以上、本発明の実施形態を説明したが、上述の各実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。本発明は、上述の各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の各実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。また、以上の各実施の形態および変形例は任意に組み合わせることも可能である。
なお、上述の各実施形態の記憶媒体制御装置100で実行される制御プログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、上述の各実施の形態の記憶媒体制御装置100で実行される制御プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の各実施の形態の記憶媒体制御装置100で実行される制御プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
1 HDD_A
2 HDD_B
3 SATA制御部A
4 SATA制御部B
5 RAID0制御部
6 暗号/復号器
7 圧縮/伸張器
8 DMAC
9 動作モード制御部
10 バススイッチ
11 メモリ
12 CPU
13 周波数セレクタ
14 供給クロック信号
21 制御部
22 処理動作モード切替部
23 ストライピング領域判定部
24 検出部
31、32 ストライピング処理領域(データ格納領域)
41、42 単体処理領域(プログラム格納領域)
特開2000−231455号公報

Claims (9)

  1. データを記憶する第1記憶媒体への前記データの書き込み処理、及び読み出し処理を制御するコントローラ部と、
    書き込み対象データに暗号化処理、及び暗号化された読み出し対象データに復号化処理を実施する第1モードと、前記書き込み対象データに暗号化処理、及び読み出し対象データに復号化処理を実施しない第2モードを有する暗号/復号部と、
    書き込み対象データに圧縮処理、及び圧縮された読み出し対象データに伸張処理を実施する第3モードと、前記書き込み対象データに圧縮処理、及び読み出し対象データに伸張処理を実施しない第4モードを有する圧縮/伸張部と、
    前記第1モードと前記第3モードの組合せ、前記第1モードと前記第4モードの組合せ、前記第2モードと前記第3モードの組合せ、前記第2モードと前記第4モードの組合せ、の各モードの組合せごとに、それぞれの処理の処理速度を比較して、遅い方のモードの前記処理速度に合わせて前記コントローラ部を動作させる動作周波数を低く設定する動作モード制御部と、
    現在の前記各モードの組合せに対応した前記動作周波数を選択して、前記動作周波数を切り替える周波数切替部と、を備える、
    ことを特徴とする記憶媒体制御装置。
  2. データを記憶する1以上の第2記憶媒体と、
    前記データを分割して1以上の前記第2記憶媒体に同時に書き込み、及び読み出しを実行するストライピング処理動作モードと、前記データを分割しないで1つの前記第2記憶媒体に書き込み、及び読み出しを実行する単体処理動作モードとを切り替える処理動作モード切替部と、を備え、
    前記動作モード制御部は、前記ストライピング処理動作モードと前記第1モードと前記第3モードの組合せ、前記ストライピング処理動作モードと前記第1モードと前記第4モードの組合せ、前記ストライピング処理動作モードと前記第2モードと前記第3モードの組合せ、前記ストライピング処理動作モードと前記第2モードと前記第4モードの組合せ、前記単体処理動作モードと前記第1モードと前記第3モードの組合せ、前記単体処理動作モードと前記第1モードと前記第4モードの組合せ、前記単体処理動作モードと前記第2モードと前記第3モードの組合せ、前記単体処理動作モードと前記第2モードと前記第4モードの組合せ、の各モードの組合せごとに、それぞれの処理の処理速度を比較して、最も遅いモードの前記処理速度に合わせて前記コントローラ部を動作させる動作周波数を低く設定することを特徴とする請求項1に記載の記憶媒体制御装置。
  3. 前記記憶媒体制御装置と接続されている1以上の前記第2記憶媒体を検出する検出部を備え、
    前記処理動作モード切替部は、検出部で検出した前記第2記憶媒体が1つだけの場合には、前記単体処理動作モードに切り替えることを特徴とする請求項2に記載の記憶媒体制御装置。
  4. 前記データを書き込み、及び読み出しするためにアクセスする前記第2記憶媒体の記憶領域がストライピング処理領域であるか否かを判定するストライピング領域判定部を備え、
    前記動作モード制御部は、予め前記第2記憶媒体の記憶領域にアクセスするアドレス情報を用いて、前記第2記憶媒体の記憶領域をストライピング処理領域と、単体処理領域とに分けて設定し、
    前記ストライピング領域判定部は、前記第2記憶媒体の記憶領域にアクセスする場合に、前記アドレス情報から前記ストライピング処理領域であるか否かを判定し、
    前記ストライピング処理領域である場合には、前記処理動作モード切替部は、前記ストライピング処理動作モードに切り替える、
    ことを特徴とする請求項2に記載の記憶媒体制御装置。
  5. 前記周波数切替部は、複数の周波数のクロック信号の中から、前記コントローラ部に供給する前記クロック信号を選択して前記動作周波数を切り替えることを特徴とする請求項1に記載の記憶媒体制御装置。
  6. 前記複数の周波数のクロック信号は、同相逓倍関係であることを特徴とする請求項5に記載の記憶媒体制御装置。
  7. 1以上の前記第2記憶媒体は、同型のハードディスクドライブであることを特徴とする請求項2に記載の記憶媒体制御装置。
  8. データを記憶する第1記憶媒体への前記データの書き込み処理、及び読み出し処理を制御するコントローラステップと、
    書き込み対象データに暗号化処理、及び暗号化された読み出し対象データに復号化処理を実施する第1モードと、前記書き込み対象データに暗号化処理、及び読み出し対象データに復号化処理を実施しない第2モードを有する暗号/復号ステップと、
    書き込み対象データに圧縮処理、及び圧縮された読み出し対象データに伸張処理を実施する第3モードと、前記書き込み対象データに圧縮処理、及び読み出し対象データに伸張処理を実施しない第4モードを有する圧縮/伸張ステップと、
    前記第1モードと前記第3モードの組合せ、前記第1モードと前記第4モードの組合せ、前記第2モードと前記第3モードの組合せ、前記第2モードと前記第4モードの組合せ、の各モードの組合せごとに、それぞれの処理の処理速度を比較して、遅い方のモードの前記処理速度に合わせて前記コントローラステップを動作させる動作周波数を低く設定する動作モード制御ステップと、
    現在の前記各モードの組合せに対応した前記動作周波数を選択して、前記動作周波数を切り替える周波数切替ステップと、を含む、
    ことを特徴とする記憶媒体制御方法。
  9. 記憶媒体制御装置に、
    データを記憶する第1記憶媒体への前記データの書き込み処理、及び読み出し処理を制御するコントローラステップと、
    書き込み対象データに暗号化処理、及び暗号化された読み出し対象データに復号化処理を実施する第1モードと、前記書き込み対象データに暗号化処理、及び読み出し対象データに復号化処理を実施しない第2モードを有する暗号/復号ステップと、
    書き込み対象データに圧縮処理、及び圧縮された読み出し対象データに伸張処理を実施する第3モードと、前記書き込み対象データに圧縮処理、及び読み出し対象データに伸張処理を実施しない第4モードを有する圧縮/伸張ステップと、
    前記第1モードと前記第3モードの組合せ、前記第1モードと前記第4モードの組合せ、前記第2モードと前記第3モードの組合せ、前記第2モードと前記第4モードの組合せ、の各モードの組合せごとに、それぞれの処理の処理速度を比較して、遅い方のモードの前記処理速度に合わせて前記コントローラステップを動作させる動作周波数を低く設定する動作モード制御ステップと、
    現在の前記各モードの組合せに対応した前記動作周波数を選択して、前記動作周波数を切り替える周波数切替ステップと、
    を実行させるためのプログラム。
JP2014052753A 2014-03-14 2014-03-14 記憶媒体制御装置、記憶媒体制御方法およびプログラム Expired - Fee Related JP6277797B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014052753A JP6277797B2 (ja) 2014-03-14 2014-03-14 記憶媒体制御装置、記憶媒体制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014052753A JP6277797B2 (ja) 2014-03-14 2014-03-14 記憶媒体制御装置、記憶媒体制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2015176378A true JP2015176378A (ja) 2015-10-05
JP6277797B2 JP6277797B2 (ja) 2018-02-14

Family

ID=54255509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014052753A Expired - Fee Related JP6277797B2 (ja) 2014-03-14 2014-03-14 記憶媒体制御装置、記憶媒体制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6277797B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021079535A1 (ja) * 2019-10-23 2021-04-29
USRE49898E1 (en) 2011-06-03 2024-04-02 Fujifilm Business Innovation Corp. Image forming system, information forming apparatus, and computer readable medium having management apparatus with distributed storage

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022086403A (ja) 2020-11-30 2022-06-09 キオクシア株式会社 メモリシステム及び情報処理システム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185723A (ja) * 1997-09-12 1999-03-30 Hitachi Ltd マイクロコンピュータ及び移動体通信機器
JP2000231455A (ja) * 1999-02-08 2000-08-22 Sony Corp データ記録再生装置
US20040019741A1 (en) * 2002-07-23 2004-01-29 Pratt Thomas L. Selectable internal RAID system
JP2006236079A (ja) * 2005-02-25 2006-09-07 Toshiba Corp コンピュータおよびディスク管理方法
JP2007148789A (ja) * 2005-11-28 2007-06-14 Sharp Corp データ処理装置、画像形成装置、画像形成方法およびプリントシステム
JP2007199891A (ja) * 2006-01-25 2007-08-09 Hitachi Ltd ストレージシステム及び記憶制御装置
EP2527973A1 (en) * 2011-05-25 2012-11-28 Giga-Byte Technology Co., Ltd. Computer system with multiple operation modes and method of switching modes thereof

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185723A (ja) * 1997-09-12 1999-03-30 Hitachi Ltd マイクロコンピュータ及び移動体通信機器
JP2000231455A (ja) * 1999-02-08 2000-08-22 Sony Corp データ記録再生装置
US20040019741A1 (en) * 2002-07-23 2004-01-29 Pratt Thomas L. Selectable internal RAID system
JP2006236079A (ja) * 2005-02-25 2006-09-07 Toshiba Corp コンピュータおよびディスク管理方法
JP2007148789A (ja) * 2005-11-28 2007-06-14 Sharp Corp データ処理装置、画像形成装置、画像形成方法およびプリントシステム
JP2007199891A (ja) * 2006-01-25 2007-08-09 Hitachi Ltd ストレージシステム及び記憶制御装置
EP2527973A1 (en) * 2011-05-25 2012-11-28 Giga-Byte Technology Co., Ltd. Computer system with multiple operation modes and method of switching modes thereof
JP2012248177A (ja) * 2011-05-25 2012-12-13 Giga-Byte Technology Co Ltd 複数のオペレーションモードがあるコンピュータ・システムとそのスイッチ方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE49898E1 (en) 2011-06-03 2024-04-02 Fujifilm Business Innovation Corp. Image forming system, information forming apparatus, and computer readable medium having management apparatus with distributed storage
JPWO2021079535A1 (ja) * 2019-10-23 2021-04-29
WO2021079535A1 (ja) * 2019-10-23 2021-04-29 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置
US11768628B2 (en) 2019-10-23 2023-09-26 Sony Interactive Entertainment Inc. Information processing apparatus
JP7403554B2 (ja) 2019-10-23 2023-12-22 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置

Also Published As

Publication number Publication date
JP6277797B2 (ja) 2018-02-14

Similar Documents

Publication Publication Date Title
US11870709B2 (en) Techniques for dynamically allocating resources in a storage cluster system
US9824228B2 (en) Preserving redundancy in data deduplication systems by encryption
US9342465B1 (en) Encrypting data in a flash-based contents-addressable block device
US9342466B2 (en) Multiple volume encryption of storage devices using self encrypting drive (SED)
KR101457451B1 (ko) 암호화된 전송 고체 상태 디스크 제어기
JP5134894B2 (ja) ストレージ装置及び暗号鍵変更方法
US20170317991A1 (en) Offloading storage encryption operations
US20080263289A1 (en) Storage controller and storage control method
US20200042500A1 (en) Collaborative compression in a distributed storage system
US8074039B2 (en) Redundant array of independent disks-related operations
JP6460940B2 (ja) 記憶装置およびデータ退避方法
US9459811B2 (en) Disk array system and data processing method
JPWO2015029230A1 (ja) 記憶装置及びデータ制御方法
JP6277797B2 (ja) 記憶媒体制御装置、記憶媒体制御方法およびプログラム
WO2012006062A1 (en) Interface management control systems and methods for non-volatile semiconductor memory
US9176896B2 (en) Method of managing aligned and unaligned data bands in a self encrypting solid state drive
JP2008524969A5 (ja)
US9465556B2 (en) RAID 0 disk array system and data processing method for dividing reading command to reading command segments and transmitting reading command segments to disks or directly transmitting reading command to one of disks without dividing
CN112115076A (zh) 使用者数据的加解密装置及方法
US20120303945A1 (en) Computer system with multiple operation modes and method of switching modes thereof
JP2010537339A (ja) バッファ容量の利用が改善されたマスストレージシステム
JP5532516B2 (ja) ストレージ装置、及び、暗号鍵の変更方法
KR101972535B1 (ko) 반도체 저장 장치
JP2008048268A (ja) データ処理装置およびデータ転送システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171215

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180101

R151 Written notification of patent or utility model registration

Ref document number: 6277797

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees