JP2016133829A - 電子機器、記憶装置へのアクセス制御方法およびプログラム - Google Patents

電子機器、記憶装置へのアクセス制御方法およびプログラム Download PDF

Info

Publication number
JP2016133829A
JP2016133829A JP2015006050A JP2015006050A JP2016133829A JP 2016133829 A JP2016133829 A JP 2016133829A JP 2015006050 A JP2015006050 A JP 2015006050A JP 2015006050 A JP2015006050 A JP 2015006050A JP 2016133829 A JP2016133829 A JP 2016133829A
Authority
JP
Japan
Prior art keywords
data
storage device
controller
access
lba
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
JP2015006050A
Other languages
English (en)
Inventor
建 小野
Ken Ono
建 小野
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.)
Toshiba Corp
Toshiba TEC Corp
Original Assignee
Toshiba Corp
Toshiba TEC Corp
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 Toshiba Corp, Toshiba TEC Corp filed Critical Toshiba Corp
Priority to JP2015006050A priority Critical patent/JP2016133829A/ja
Publication of JP2016133829A publication Critical patent/JP2016133829A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 簡易な構成で記憶装置のデータを保護できる電子機器、記憶装置へのアクセス制御方法およびプログラムを提供する。【解決手段】 実施形態によれば、電子機器は、データ管理部とアクセス制御とを有する。データ管理部は、記憶装置に記憶するデータをセクタアドレスで指定するセクタごとに管理し、データへのアクセス要求が発生した場合、アクセス要求によるアクセス対象のデータへのアクセス条件を指定する。アクセス制御部は、データ管理部により指定されたアクセス条件に含まれるセクタアドレスを所定の変換ルールによって変換し、所定の変換ルールで変換したセクタアドレスに基づいて記憶装置にアクセスする。【選択図】図2

Description

本実施形態は、電子機器、記憶装置へのアクセス制御方法およびプログラムに関する。
一般に、PC、サーバ又は産業機器などの電子機器は、HDD或いはSSD等のSATA(serial ATA)デバイスを記憶装置として具備するものが多い。SATAデバイスが盗難された場合、SATAデバイス内のファイルは、ファイルシステムを通して容易に読み出せる。また、SATAデバイスは、パスワードでロックしても、動作中にSATAインターフェースをアナライザでモニタすることにより、データが読み出せる。また、SATAデバイスは、暗号化によりデータを保護することも可能である。しかし、データの暗号化には、暗号化用のハードウェアまたはソフトウェアを取り入れる必要がある。SATAデバイスのデータを暗号化する構成の電子機器は、開発のコストがかかったり、開発工数が多くなったりする可能性がある。
特開2008−85986号公報
本発明は、簡易な構成で記憶装置のデータを保護できる電子機器、記憶装置へのアクセス制御方法およびプログラムを提供することを目的とする。
実施形態によれば、電子機器は、データ管理部とアクセス制御とを有する。データ管理部は、記憶装置に記憶するデータをセクタアドレスで指定するセクタごとに管理し、データへのアクセス要求が発生した場合、アクセス要求によるアクセス対象のデータへのアクセス条件を指定する。アクセス制御部は、データ管理部により指定されたアクセス条件に含まれるセクタアドレスを所定の変換ルールによって変換し、所定の変換ルールで変換したセクタアドレスに基づいて記憶装置にアクセスする。
図1は、実施形態に係る電子機器としてのデジタル複合機の構成例を示すブロック図である。 図2は、本実施形態に係るデジタル複合機における記憶装置に対するアクセス制御の概要を説明するための図である。 図3(a)は、本実施形態に係るデジタル複合機においてファイルシステムが管理するLBAの例を示す図である。図3(b)は、本実施形態に係るデジタル複合機においてLBA変換処理した後のLBAの例を示す図である。 図4(a)は、本実施形態に係るデジタル複合機においてファイルシステムが指定するライトコマンドの例である。図4(b)は、図4(a)のライトコマンドに対するLBA変換処理後の処理手順の例を示す。 図5(a)は、本実施形態に係るデジタル複合機においてファイルシステムが管理するエリアの例を示す図である。図5(b)は、図5(a)に示すエリアに対応する記憶装置14内のエリアの例を示す図である。 図6は、本実施形態に係るデジタル複合機における記憶装置へのアクセス制御の第1動作例を説明するためのフローチャートである。 図7は、本実施形態に係るデジタル複合機における記憶装置へのアクセス制御の第2動作例を説明するためのフローチャートである。
以下、実施の形態について、図面を参照して説明する。
図1は、実施形態に係る電子機器としてのデジタル複合機(MFP,Multi−Functional Peripheral)の構成例を示すブロック図である。
図1に示す例において、デジタル複合機1は、コントローラ11(SOC:system on a chip)11、プログラムメモリ12、メインメモリ13、記憶装置(SATA:(serial ATA )ドライブ)14、画像処理部15、スキャナ16、および、プリンタ17を有する。
コントローラ11、プログラムメモリ12、メインメモリ13、記憶装置14、および画像処理部15は、システム制御部を構成する。システム制御部は、コントローラ11と外部装置とを接続する通信インターフェースを具備しても良い。システム制御部は、コントローラ11と操作部とを接続するインターフェースを具備しても良い。
コントローラ11は、デジタル複合機1の各部を統括的に制御する。コントローラ11は、例えば、プロセッサ11a、コントローラ、メモリなどを有するSOC(system on a chip)で実現する。コントローラ11は、システムバスを介して、デジタル複合機1内の各部に接続する。例えば、コントローラ11は、スキャナ16およびプリンタ17との双方向の通信により、各部へ動作指示を出力したり、各部から種々の情報を取得したりする。また、コントローラ11は、データ処理を実行するプロセッサ11aを有する。プロセッサ11aは、プログラムを実行することにより種々の処理を実現する。
プログラムメモリ12は、プログラムおよび制御データなどを記憶する。プログラムメモリ12は、例えば、FROMなどの不揮発性のメモリである。例えば、プログラムメモリ12は、ファイルシステムのプログラムを記憶する記憶領域12a、及び、記憶装置ドライバのプログラムを記憶する記憶領域12bを有する。
ファイルシステムは、データをファイル単位で管理するシステムである。プロセッサ11aがファイルシステムのプログラムを実行することにより、コントローラ11は、ファイルシステムを実現する。以下の説明において、ファイルシステムのプログラムを実行するコントローラ11は、単にファイルシステムとも称する。例えば、ファイルシステムは、記憶装置内のファイル(データ)へのアクセス(書込み又は読出し)を指示する命令(コマンド)を生成する。
記憶装置ドライバは、記憶装置14を制御するためのプログラムである。プロセッサ11aが記憶装置ドライバのプログラムを実行することにより、コントローラ11は、記憶装置の制御機能を実現する。以下の説明において、記憶装置ドライバのプログラムを実行するコントローラ11は、単に記憶装置ドライバとも称する。例えば、記憶装置ドライバは、ファイルシステムが生成するコマンドに応じて記憶装置へアクセスする。記憶装置ドライバは、後述するアドレス(LBA)変換処理あるいはデータ変換処理などの機能を有する。
メインメモリ13は、ワーキングメモリあるいはバッファメモリとして機能するメモリである。メインメモリ13は、例えば、RAMなどの揮発性のメモリである。コントローラ11のプロセッサ11aは、メインメモリ13を使用してプログラムメモリ12或は記憶装置14に記憶したプログラムを実行する。
記憶装置14は、データを記憶する。記憶装置14は、例えば、書換え可能な不揮発性のメモリである。記憶装置14は、HDD(hard disc drive)、SSD(solid state drive)、あるいは光学ドライブなどの記憶装置である。記憶装置14は、例えば、ATA、SATA(serial ATA)などの特定の規格に準じた仕様の機器(ドライブ)である。記憶装置14は、規格などに応じた記憶装置ドライバのプログラムを実行するコントローラ11によって制御される。本実施形態は、記憶装置14がSATA(serial ATA )に準拠したドライブ(SATAドライブ)であることを想定して説明する。また、記憶装置14がSATAドライブであれば、記憶装置ドライバは、SATAドライバである。
記憶装置14は、画像データおよび各種の動作履歴情報などを記憶する。また、記憶装置14は、制御プログラム、制御データあるいは設定情報などを記憶しても良い。記憶装置14は、ファイルシステムにより管理されるファイルとしてデータを記憶する。記憶装置14は、アプリケーションプログラムを記憶する記憶領域14aを有する。コントローラ11のプロセッサ11aは、アプリケーションプログラムを実行することにより種々の処理を実現する。以下の説明において、アプリケーションプログラムを実行するコントローラ11は、単にアプリケーションとも称する。例えば、アプリケーションは、ファイルシステムを介して記憶装置内のファイルにアクセスする。
画像処理部15は、画像データを処理する。例えば、画像処理部15は、入力画像処理機能と出力画像処理機能とを有する。入力画像処理機能は、例えば、スキャナ16が読み取った画像データ(入力画像)を画像処理する。入力画像処理機能は、例えば、シェーディング補正処理、階調変換処理、ライン間補正処理、圧縮伸張処理などの機能を含む。出力画像処理機能は、例えば、プリンタ17が用紙にプリントするプリント用の画像データを生成する。出力画像処理機能は、入力画像処理機能により処理された画像データをプリント用の画像データに変換する。
スキャナ16は、原稿の画像を読み取って画像データに変換する装置である。スキャナ16は、例えば、原稿の読取面における画像を画像データに変換するCCDラインセンサなどにより構成する。スキャナ16は、原稿台ガラス上に載置された原稿をスキャンする機能を有するものであっても良い。また、スキャナ16は、ADF(Auto Document Feeder)が搬送する原稿の画像を読み取る機能を有するものであっても良い。スキャナ16は、例えば、デジタル複合機の本体上部に設置する。スキャナ16は、コントローラ11により制御される。スキャナ16は、原稿の画像データを画像処理部15へ出力する。
プリンタ17は、画像形成装置である。プリンタ17は、記録媒体としての用紙に画像を形成する。プリンタ17は、特定の画像形成方式に限定されない。例えば、プリンタ17は、電子写真方式であっても良いし、インクジェット方式であっても良いし、熱転写方式であっても良い。また、プリンタ17は、カラー印刷機能を有するものであっても良いし、モノクロ印刷機能ものを有するものであっても良い。
次に、本実施形態に係るデジタル複合機における記憶装置14へのアクセス制御について説明する。
図2は、記憶装置14に対するアクセス制御の概要を説明するための図である。
記憶装置に対するアクセス制御は、コントローラ11のプロセッサ11aが実行する種々のプログラムにより実現する。例えば、プロセッサ11aは、ファイルシステム、記憶装置ドライバ、および、アプリケーションなどのプログラムを実行する。アプリケーションプログラムは、ファイルへのアクセスを要求するプログラムである。ファイルシステムのプログラムは、ファイルを制御するためのプログラムである。記憶装置ドライバのプログラムは、記憶装置14へのアクセスを制御するためのプログラムである。
なお、図1に示す構成例において、記憶装置14は、アプリケーションプログラムを記憶する。図1に示す構成例において、プログラムメモリ12は、ファイルシステムおよび記憶装置ドライバのプログラムを記憶する。アプリケーションプログラム及びファイルシステムのプログラムは、プログラムメモリ12または記憶装置14のどちらに記憶しても良い。ただし、記憶装置ドライバのプログラムは、記憶装置14以外のメモリ(図1に示す構成例ではプログラムを記憶する)を記憶する。
コントローラ11は、プロセッサ11aによりアプリケーションプログラムを実行する(ACT1)。コントローラ11は、プロセッサ11aによりアプリケーションプログラムを実行することにより様々な処理を実行する。例えば、アプリケーションは、特定のファイル(データ)へのアクセス要求が発生する。アプリケーションは、発生したファイルへのアクセス要求をファイルシステムに指示する。
アプリケーションにより特定のファイルへのアクセス要求が発生すると、コントローラ11は、ファイルへのアクセス要求をファイルシステムにより処理する(ACT2)。コントローラ11は、プロセッサ11aがファイルシステムのプログラムを実行することにより、ファイル(データ)管理部として機能する。例えば、ファイルシステムを実行するコントローラ11は、アプリケーションにより発生したアクセス要求に応じて、記憶装置14のファイルに対するアクセス条件を決定する。ファイルシステムは、決定したアクセス条件で記憶装置14にアクセスすることを要求するコマンドを生成する。
例えば、ファイルシステムは、アクセス条件として、リード又はライト(R/W)の指定、セクタアドレス、転送セクタ数、及び、メモリアドレス等を決定する。R/Wの指定は、データの読み出しか、データの書込みかを指定する。セクタアドレスは、記憶装置におけるセクタのアドレスである。例えば、セクタアドレスは、LBA(Logical Block Address)を用いる。転送セクタ数は、転送するセクタの数を示す。メモリアドレスは、ライトデータを書き込むメモリ上のアドレスまたはリードデータを格納しているメモリ上のアドレス等である。
ファイルシステムによりコマンドを生成すると、コントローラ11は、ファイルシステムで生成したコマンドを記憶装置ドライバにより処理する(ACT3)。コントローラ11は、プロセッサ11aが記憶装置ドライバのプログラムを実行することによりアクセス制御部として機能する。例えば、記憶装置ドライバを実行するコントローラ11は、ファイルシステムで生成したコマンドに応じた記憶装置14へのアクセスを制御する。
本デジタル複合機において、コントローラ11は、記憶装置ドライバによりファイルシステムが指定するアクセス条件或いはデータを所定の変換ルールで変換する。例えば、コントローラ11は、記憶装置ドライバによりファイルシステムが指定するアクセス条件のLBAを所定の変換ルールにより変換するLBA変換処理を行う。また、コントローラ11は、記憶装置ドライバによりアクセス対象のデータを所定の変換ルールに従って変換するデータ変換処理を行う。
次に、本実施形態に係るデジタル複合機における記憶装置14内のデータを保護するためのアドレス変換処理(LBA変換処理)について説明する。
LBAは、ファイルシステムがアクセス対象とするデータを指定するアドレス情報である。LBA変換処理は、プロセッサ11aが実行する記憶装置ドライバによりファイルシステムが指定するLBAを変換する処理である。コントローラ11は、ファイルシステムが指定するLBAに直接アクセスするのではなく、記憶装置ドライバによるLBA変換処理で変換したLBAにアクセスする。
LBA変換処理として、コントローラ11は、ファイルシステムが指定するLBAを予め定められた変換ルールに従って変換する。コントローラ11は、ファイルシステムによりLBAを含むアクセス条件を指定するコマンドを生成する。例えば、ファイルシステムは、アクセス条件として、転送対象(アクセス対象)となる記憶装置14におけるエリア(連続エリア)の先頭LBAとセクタ数とを指定する。従って、記憶装置ドライバは、コマンドのアクセス条件のLBAで指定されるエリアにおけるLBAに対してLBA変換処理を行う。
図3(a)は、記憶装置におけるLBAの例を示す図である。図3(b)は、LBA変換処理した後の記憶装置におけるLBAの例を示す図である。また、図4(a)は、ファイルシステムにより指定するライトコマンドの例である。図4(b)は、図4(a)に示すライトコマンドに対するLBA変換処理後の処理例を示す。
図3(a)は、転送対象とするエリアE1を示す。エリアE1は、LBAが「0x00000010」から10セクタが連続するエリアである。図3(a)は、エリアE1に対応する5つのエリアE11、E12、E13、E14、E15を示す。各エリアE11、E12、E13、E14、E15は、2セクタが連続するエリアである。図3(b)の各エリアE11´〜E15´は、図3(a)に示すエリアE1に対してLBA変換処理したものである。
例えば、コントローラ11は、記憶装置ドライバにより図3(a)のエリアE1のLBAをLBA変換処理することにより図3(b)のLBAを得る。図3(a)を図3(b)に変換する変換ルールは、LBAのbit6〜0をデータ0x2Aとエクスクルージブ・オアを取るものである。なお、LBA変換処理に用いる変換ルールは、上述の例に限定されるものではない。LBA変換処理の変換ルールは、書込みおよび読出しが行えるように予め設定しておくものであれば良い。
ここで、ファイルシステムが指定するコマンドは、図4(a)に示す書込み要求(ライトコマンド)であるものとする。図4(a)に示すライトコマンドは、アクセス条件がLBA=0x00000010(LBA先頭アドレス)、転送セクタ数=10である。図4(a)に示すライトコマンドのアクセス条件は、図3(a)に示すエリアE1に対応する。また、図4(b)は、図3(a)および(b)に示すLBA変換処理を行う場合のライトコマンドの実行手順の例である。図4(b)は、図4(a)に示すライトコマンドの処理として、所定の変換ルールで指定される連続ブロック(2セクタ)ごとにデータの書込みを行う手順を示す。
記憶装置ドライバを実行するコントローラ11は、図4(a)のライトコマンドに対して、指定されたエリアE1内の各LBAを変換する。これにより、エリアE1は、5つのエリアE11´〜E15´に変換される。すなわち、コントローラ11は、LBAが「0x00000010」〜「0x00000019」のエリアを連続する2セクタごとのエリアに変換する。具体的には、コントローラ11は、記憶装置ドライバにより連続する2セクタごとの単位ブロックを以下の(1)〜(5)に示すように変換する。
(1)「0x00000010〜11」を「0x0000003A〜3B」に変換。
(2)「0x00000012〜13」を「0x00000038〜39」に変換。
(3)「0x00000014〜15」を「0x0000003E〜3F」に変換。
(4)「0x00000016〜17」を「0x0000003C〜3D」に変換。
(5)「0x00000018〜19」を「0x00000032〜33」に変換。
1回のライトコマンドは、アクセス条件として1つの連続エリアしか指定できないものとする。コントローラ11は、記憶装置ドライバによりLBA変換処理で単位ブロックとして分割したエリアごとにデータを書込む。つまり、コントローラ11は、エリアE1を指定するライトコマンドに対して、上記(1)〜(5)の各エリアE11´〜15´にデータ転送(書込み)を実行する。
次に、コントローラ11が実行する記憶装置ドライバによる読出し要求(リードコマンド)に対する処理について説明する。
図5(a)は、ファイルシステムが指定するデータエリアE2の例を示す図である。図5(b)は、図5(a)に示すデータエリアE2に対応する実際の記憶装置14内のエリアE21´、E22´、E23´の例を示す図である。
図5(a)に示すデータエリアE2は、図5(b)に示すエリアE21´、E22´、E23´に対応する。図5(a)に示すエリアE2は、ファイルシステムが管理するLBAを示す。図5(a)に示すデータエリアE2は、ファイルシステムではLBAが「M」〜「M+5」である。従って、コントローラ11は、ファイルシステムによりデータエリアE2を指定するアクセス条件としてLBAを「M」〜「M+5」とする。
図5(b)は、LBA変換処理後にデータが書き込まれた状態を示す。図5(b)に示すエリアE21´は、LBAが「X+2」及び「X+3」である。図5(b)に示すLBA「X+2」及び「X+3」(エリアE21´)は、図5(a)に示すLBA「M」及び「M+1」(エリアE21)に対応する。従って、記憶装置ドライバは、ファイルシステムからのLBA「M」及び「M+1」を指定するリードコマンドに対して、LBA「X+2」及び「X+3」のデータを読み出す。
また、図5(b)に示すエリアE22´は、LBAが「X」及び「X+1」である。図5(b)に示すLBA「X」及び「X+1」(エリアE22´)は、図5(a)に示すLBA「M+2」及び「M+3」(エリアE22)に対応する。従って、記憶装置ドライバは、ファイルシステムからのLBA「M+2」及び「M+3」を指定するリードコマンドに対して、LBA「X」及び「X+1」のデータを読み出す。
また、図5(b)に示すエリアE23´は、LBAが「X+6」及び「X+7」である。図5(b)に示すLBA「X+6」及び「X+7」(エリアE23´)は、図5(a)に示すLBA「M+4」及び「M+5」(エリアE23)に対応する。従って、記憶装置ドライバは、ファイルシステムからのLBA「M+4」及び「M+5」を指定するリードコマンドに対して、LBA「X+6」及び「X+7」のデータを読み出す。
上記のように、コントローラ11は、LBA変換処理を行う記憶装置ドライバにより、ファイルシステムが指定するデータを書き込む場合には、アドレス変換したLBAにデータを書き込む。また、コントローラ11は、LBA変換処理を行う記憶装置ドライバにより、データを読み出す場合にはアドレス変換したLBAからデータを読み出す。これにより、記憶装置14は、当該デジタル複合機の記憶装置ドライバでなければデータへの正常なアクセスができなくなる。
仮に記憶装置が盗難された場合であっても、記憶装置ドライバによるLBA変換処理なしでは、当該記憶装置からは正しくデータを読み出すことができない。例えば、別の装置は、ファイルシステムによりLBAとして「M」を指定するリードコマンドを実行しても、LBA変換無しでは、DATA_0を読み出せない。この結果として、LBA変換処理を行う記憶装置ドライバを有するデジタル複合機は、盗難等があっても記憶装置からのデータ漏えいを防止できる。
なお、上述のLBA変換処理を行うと、1回のコマンドで実施していた連続エリアへのアクセスを複数回に分けて実施することとなる。これは、記憶装置14へのアクセス制御のパフォーマンスとしては不利になる。ただし、パフォーマンス低下は、LBA変換処理の方法を工夫することで抑えることができる。例えば、LBA変換処理は、必ずしも個々のLBAに対してアドレス変換を行うものではなく、ブロック単位で行うようにしても良い。ブロック単位のLBA変換処理は、変換前のLBAをnセクタ毎にブロック化し、ブロック単位でLBA変換することにより実現できる。ブロック単位のLBA変換処理は、LBA変換後の各ブロック内が連続するLBAのままなので、ランダムアクセスの頻度を減らせてパフォーマンス低下を抑えることができる。
次に、本実施形態に係るデジタル複合機における記憶装置14内のデータを保護するためのデータ変換処理について説明する。
本実施形態に係るデジタル複合機は、記憶装置14に記憶したデータを保護するために、データに対して変換処理(データ変換処理)を行う機能も有する。コントローラ11は、記憶装置ドライバによる、データの書込み処理及びデータの読出し処理において、データ変換処理を実行する。
例えば、ファイルシステムがライトコマンドを生成した場合、コントローラ11は、記憶装置ドライバによりライトコマンドが指定するデータを所定の変換方法で変換する。コントローラ11は、データ変換後、記憶装置ドライバによりデータ変換したデータを記憶装置14に書き込む。
また、ファイルシステムがリードコマンドを生成した場合、コントローラ11は、記憶装置ドライバによりリードコマンドが指定するデータを記憶装置14から読出す。コントローラ11は、記憶装置ドライバにより記憶装置14から読出したデータを書込み処理時の変換方法とは逆関係となる変換方法(逆変換方法)で変換する。コントローラ11は、記憶装置ドライバにより逆変換方法で変換したデータをファイルシステムに渡す。
上述のデータ変換処理に適用する変換方法及び逆変換方法は、暗号化処理よりも処理負荷が軽い方法を採用する。例えば、データ変換処理に適用する変換方法及び逆の変換方法は、特定データとのエクスクルージブ・オアを取るなどの方法が適用できる。データ変換処理は、記憶装置14内のデータがランダムな値になるものであれば良い。すなわち、データ変換処理は、暗号化処理よりも、プロセッサの負荷が軽く、処理時間が短縮できる処理である。データ変換処理によれば、記憶装置14内のデータをランダム値となるので、盗難等でのデータ漏えいを防止できる。また、データ変換処理を上述のLBA変換処理と組み合わせることにより、記憶装置14からのデータ漏えいをさらに厳格に防止できる。仮に記憶装置14が盗難されても、LBA変換のルールとデータ変換のルールとの両方が破られなければ、不正にデータを読み出すことはできない。
次に、本実施形態に係るデジタル複合機における記憶装置へのアクセス制御の第1動作例について説明する。
図6は、記憶装置ドライバによる記憶装置へのアクセス制御の第1動作例を説明するためのフローチャートである。
コントローラ11は、アプリケーションによりアクセス要求が発生すると、ファイルシステムによりアクセス要求に応じたコマンドを生成する。コントローラ11は、ファイルシステムにより生成したコマンドを記憶装置ドライバへ供給する。すなわち、コントローラ11は、ファイルシステムで生成したコマンドを記憶装置ドライバにより取得する(ACT11、YES)。
コントローラ11は、記憶装置ドライバによりコマンドを取得すると、当該コマンドの種類を判別する(ACT12、ACT13)。例えば、コントローラ11は、ファイルシステムが生成したコマンドがデータの書込み要求(ライトコマンド)であるか否かを判別する(ACT12)。取得したコマンドがライトコマンドでない場合(ACT12、NO)、コントローラ11は、当該コマンドがデータの読出し要求(リードコマンド)であるか否かを判別する(ACT13)。取得したコマンドがライトコマンドでもリードコマンドでもないと判別した場合(ACT13、NO)、コントローラ11は、当該コマンドに応じた処理を実行する(ACT14)。
ファイルシステムが生成したコマンドがライトコマンドであると判別した場合(ACT12、YES)、コントローラ11は、データ変換処理を実行する(ACT14)。コントローラ11は、上述したデータ変換処理により、当該ライトコマンドで書込みが指定されるデータ(ライトデータ)全体を所定の変換方法でデータ変換する。コントローラ11は、データ変換処理したデータを後述するデータ転送設定における転送元情報で示すメモリアドレスに記憶する。
また、コントローラ11は、当該ライトコマンドで指定されるアクセス条件に対してLBA変換処理を実行する(ACT22)。コントローラ11は、LBA変換処理として、所定の変換ルール(アドレス変換ルール)に従ってLBAを変換する。
コントローラ11は、LBA変換処理を実行すると、LBA変換処理により生成された連続エリアの数Nを設定する(ACT23)。コントローラ11は、連続エリア数Nを設定すると、変数iを初期化(i=1)する(ACT24)。変数iを初期化した後、コントローラ11は、各エリアへのデータの書込み(データ転送)を順に実行する(ACT25−28)。
すなわち、コントローラ11は、変数iを設定又は更新すると、i番目のエリアに対するデータの書込み(データ転送)を設定する(ACT25)。例えば、コントローラ11は、i番目のエリアに対するデータ転送設定として、データの転送元情報、データの転送先情報、及びデータの転送数情報をセットする。例えば、コントローラ11は、転送元情報として、i番目のエリアに書込むデータを蓄積しているメインメモリ13上のアドレスをセットする。また、コントローラ11は、転送先情報として、実際にデータを書き込むi番目のエリアを示す記憶装置14上のLBA(LBA変換処理後のLBA)をセットする。コントローラ11は、転送数情報として、転送セクタ数(図3に示す例では2セクタ)をセットする。
コントローラ11は、i番目のエリアに対するデータの書込み設定が完了すると、設定したLBA変換処理後のLBAに基づいてデータを書込む(ACT26)。i番目のエリアに対するデータの書込みが完了すると、コントローラ11は、変数iをインクリメント(i=i+1)する(ACT27)。
コントローラ11は、変数iをインクリメントすると、変数iが連続エリア数N以上であるか否かを判断する(ACT28)。コントローラ11は、変数iが連続エリア数N以上でないと判断した場合(ACT28、NO)、上述のACT25−28の処理を再度実行する。また、コントローラ11は、変数iが連続エリア数N以上であると判断した場合(ACT28、YES)、当該コマンドに対する処理を終了する。
また、ファイルシステムが生成したコマンドがリードコマンドであると判別した場合(ACT13、YES)、コントローラ11は、記憶装置14からのデータ読出処理を行う。まず、コントローラ11は、当該リードコマンドで指定されるアクセス条件に対してLBA変換処理を実行する(ACT31)。コントローラ11は、LBA変換処理として、所定の変換ルール(アドレス変換ルール)に従ってLBAを変換する。コントローラ11は、データの書込み処理時と同じLBAが得られるように、データ書込み時と同じ変換ルールでLBA変換処理を実行する。
コントローラ11は、LBA変換処理を実行すると、LBA変換処理により生成された連続エリアの数Nをセットする(ACT32)。コントローラ11は、連続エリア数Nをセットすると、変数iを初期化(i=1)する(ACT33)。変数iを初期化した後、コントローラ11は、各エリアからのデータの読出し(データ転送)を順に実行する(ACT34−36)。
すなわち、コントローラ11は、変数iを設定又は更新すると、i番目のエリアからのデータの読出し(データ転送)を設定する(ACT34)。例えば、コントローラ11は、i番目のエリアに対するデータ転送設定として、データの転送元情報、データの転送先情報、及びデータの転送数情報をセットする。例えば、コントローラ11は、転送元情報として、実際にデータが書き込まれているi番目のエリアを示す記憶装置14上のLBA(LBA変換処理後のLBA)をセットする。また、コントローラ11は、転送先情報として、i番目のエリアから読み出したデータを蓄積するメインメモリ13上のアドレスをセットする。コントローラ11は、転送数情報として、転送セクタ数をセットする。
コントローラ11は、i番目のエリアに対するデータ転送(データ読出し)設定が完了すると、設定したLBA変換処理後のLBAに基づいてデータを読み出す(ACT35)。i番目のエリアからのデータの読出しが完了すると、コントローラ11は、変数iをインクリメント(i=i+1)する(ACT36)。
コントローラ11は、変数iをインクリメントすると、変数iが連続エリア数N以上であるか否かを判断する(ACT37)。コントローラ11は、変数iが連続エリア数N以上でないと判断した場合(ACT37、NO)、上述のACT34−37の処理を再度実行する。また、コントローラ11は、変数iが連続エリア数N以上であると判断した場合(ACT37、YES)、各エリアからのデータ読出しを完了する。
コントローラ11は、全エリアからのデータの読出しが完了すると、読み出したデータ全体を所定の逆変換方法でデータ変換処理する(ACT38)。逆変換方法は、書込みデータに対する変換方法とは逆変換となる変換方法である。コントローラ11は、逆変換方法によるデータ変換処理により得られたデータを読出しデータとしてファイルシステムへ渡す。
次に、本実施形態に係るデジタル複合機における記憶装置へのアクセス制御の第2動作例について説明する。
図7は、記憶装置ドライバによる記憶装置14へのアクセス制御の第2動作例を説明するためのフローチャートである。
第2動作例は、第1動作例におけるデータ変換処理のタイミングを変更した動作例である。第2動作例では、ライトコマンドに対して、LBA変換処理で分割した各エリアに書き込むデータ毎にデータ変換処理を実行する。また、第2動作例は、リードコマンドに対して、LBA変換処理で生成した各連続エリアから読み出したデータ毎にデータ変換処理を実行する。
すなわち、コントローラ11は、記憶装置ドライバによりコマンドを取得すると(ACT51、YES)、当該コマンドの種類を判別する(ACT52、ACT53)。コントローラ11は、取得したコマンドがライトコマンドである場合(ACT52、YES)、LBA変換処理を実行する(ACT61)。コントローラ11は、LBA変換処理によりLBAを所定の変換ルールで変換する。コントローラ11は、LBA変換処理により生成された連続エリアの数Nをセットする(ACT62)。コントローラ11は、連続エリア数Nをセットすると、変数iを初期化(i=1)する(ACT63)。コントローラ11は、変数iを初期化した後、各エリアへのデータの書込み(データ転送)を順に実行する(ACT64−68)。
コントローラ11は、変数iを設定又は更新すると、i番目のエリアへのデータの書込み(データ転送)を設定する(ACT64)。例えば、コントローラ11は、i番目のエリアに対するデータ転送設定として、データの転送元情報、データの転送先情報、及びデータの転送数情報をセットする。コントローラ11は、i番目のエリアに対するデータ転送設定が完了すると、i番目のエリアに書込むデータ(ライトデータ)に対してデータ変換処理を実行する(ACT65)。
コントローラ11は、i番目のエリアに対するデータ転送設定およびデータ変換処理が完了すると、データ転送設定に従ってデータ変換処理後のデータを書込む(ACT66)。i番目のエリアに対するデータの書込みが完了すると、コントローラ11は、変数iをインクリメント(i=i+1)する(ACT67)。コントローラ11は、変数iをインクリメントすると、変数iが連続エリア数N以上であるか否かを判断する(ACT68)。
コントローラ11は、変数iが連続エリア数N以上でないと判断した場合(ACT68、NO)、上述のACT64−68の処理を再度実行する。また、コントローラ11は、変数iが連続エリア数N以上であると判断した場合(ACT68、YES)、当該コマンドに対する処理を終了する。
また、リードコマンドを取得した場合(ACT53、YES)、コントローラ11は、当該リードコマンドのアクセス条件に対するLBA変換処理を実行する(ACT71)。コントローラ11は、LBA変換処理後、LBA変換処理により生成された連続エリアの数Nをセットする(ACT72)。さらに、コントローラ11は、変数iを初期化(i=1)する(ACT73)。変数iを初期化した後、コントローラ11は、各エリアからのデータの読出し(データ転送)を順に実行する(ACT74−78)。
コントローラ11は、変数iを設定又は更新すると、i番目のエリアからのデータの読出し(データ転送)を設定する(ACT74)。コントローラ11は、i番目のエリアに対するデータ転送設定が完了すると、データ転送(データ読出し)設定に基づいて記憶装置14からデータを読み出す(ACT75)。
また、コントローラ11は、i番目のエリアから読み出したデータに対して、所定の逆変換方法でデータ変換処理を実行する(ACT76)。逆変換方法は、ライトデータに対する変換方法とは逆変換となる変換方法である。コントローラ11は、i番目のエリアから読み出した後にデータ変換処理したデータをデータ転送設定における転送先情報で設定したメモリアドレスに蓄積する。
コントローラ11は、i番目のエリアからのデータの読み出し及びデータ変換が完了すると、変数iをインクリメント(i=i+1)する(ACT77)。コントローラ11は、変数iをインクリメントすると、変数iが連続エリア数N以上であるか否かを判断する(ACT78)。
コントローラ11は、変数iが連続エリア数N以上でないと判断した場合(ACT78、NO)、上述のACT74−78の処理を再度実行する。また、コントローラ11は、変数iが連続エリア数N以上であると判断した場合(ACT78、YES)、当該リードコマンドに対する処理を終了する。
上記のように、本実施形態に係るデジタル複合機は、記憶装置のデータを保護するための処理として、アドレス変換処理とデータ変換処理とを有する。
アドレス変換処理は、ファイルシステムが指定するLBA(セクタアドレス)を記憶装置ドライバにより所定の変換ルール(アドレス変換ルール)に従って変換する処理である。デジタル複合機は、記憶装置へのアクセス制御において、アドレス変換処理により変換されたLBAに対してデータのライト又はリードを行う。
上記のアドレス変換処理を適用したデジタル複合機は、記憶装置内のデータ配置がファイルシステムにより指定するデータ配置と異なる。このため、記憶装置内のデータは、ファイルシステムで読み出そうとしても、記憶装置ドライバが無ければ、ファイルの存在を認識することができない。この結果、上記のアドレス変換処理を適用したデジタル複合機は、記憶装置のデータを保護できる。
データ変換処理は、記憶装置への書込みデータを記憶装置ドライバにより所定の変換方法で変換する処理である。また、データ変換処理は、記憶装置ドライバにより記憶装置から読出したデータを書込みデータに対する所定の逆変換方法で変換する処理である。すなわち、デジタル複合機は、ファイルシステムがライトコマンドを発行すると、記憶装置ドライバにより所定の変換方法でデータ変換したデータを記憶装置に書き込む。また、デジタル複合機は、ファイルシステムがリードコマンドを発行すると、記憶装置ドライバにより記憶装置から読出したデータを所定の逆変換方法でデータ変換する。
上記のデータ変換処理を適用したデジタル複合機は、記憶装置内のデータが全てランダムなデータとなる。このため、記憶装置内のデータは、通常のファイルシステムで読み出そうとしても、記憶装置ドライバが無ければファイルの存在を認識することができない。この結果、上記のデータ変換処理を適用したデジタル複合機は、記憶装置のデータを保護できる。
なお、上述した各実施形態では、装置内のメモリにプロセッサが実行するプログラムが予め記録されている場合で説明をした。しかし、プロセッサが実行するプログラムは、ネットワークから装置にダウンロードしても良いし、記録媒体から装置にインストールしてもよい。記録媒体としては、CD−ROM等のプログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば良い。また、予めインストールやダウンロードにより得る機能は、装置内部のOS(オペレーティング・システム)等と協働して実現させるものであってもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…デジタル複合機、11…コントローラ、11a…プロセッサ、12…プログラムメモリ、12a、12b…記憶領域、13…メインメモリ、14…記憶装置、14a…記憶領域、16…スキャナ、17…プリンタ。

Claims (6)

  1. 記憶装置を接続する電子機器であって、
    前記記憶装置に記憶するデータをセクタアドレスで指定するセクタごとに管理し、データへのアクセス要求が発生した場合、前記アクセス要求によるアクセス対象のデータへのアクセス条件を指定するデータ管理部と、
    前記データ管理部により指定されたアクセス条件に含まれるセクタアドレスを所定の変換ルールによって変換し、前記所定の変換ルールで変換したセクタアドレスに基づいて前記記憶装置にアクセスするアクセス制御部と、
    を有する電子機器。
  2. 前記アクセス制御部は、前記データ管理部がデータの書込みを要求する場合、前記データ管理部が指定する書込みデータを所定のデータ変換方法によって変換したデータを記憶装置に書き込み、前記データ管理部がデータの読出しを要求する場合、前記記憶装置から読み出したデータを前記所定のデータ変換方法とは逆変換の関係となる逆変換方法により変換したデータを読出しデータとする、
    請求項1に記載の電子機器。
  3. 前記アクセス制御部は、所定数の連続するセクタ群を単位ブロックとし、単位ブロックごとにセクタアドレスの変換を行う、
    請求項1又は2の何れか1項に記載の電子機器。
  4. 記憶装置を接続する電子機器に用いる記憶装置へのアクセス制御方法であって、
    前記記憶装置に記憶するデータをセクタアドレスで指定するセクタごとに管理し、
    データへのアクセス要求が発生した場合、前記アクセス要求によるアクセス対象のデータへのアクセス条件を指定し、
    前記指定されたアクセス条件に含まれるセクタアドレスを所定の変換ルールによって変換し、
    前記所定の変換ルールで変換したセクタアドレスに基づいて前記記憶装置にアクセスする、
    記憶装置へのアクセス制御方法。
  5. さらに、データの書込みが要求された場合、書込みデータを所定のデータ変換方法によって変換したデータを記憶装置に書き込み、データの読出しが要求される場合、前記記憶装置から読み出したデータを前記所定のデータ変換方法とは逆変換の関係となる逆変換方法により変換したデータを読出しデータとする、
    請求項4に記載の記憶装置へのアクセス制御方法。
  6. 記憶装置を接続するコンピュータに、
    前記記憶装置に記憶するデータをセクタアドレスで指定するセクタごとに管理し、データへのアクセス要求が発生した場合、前記アクセス要求によるアクセス対象のデータへのアクセス条件を指定する機能と、
    前記指定されたアクセス条件に含まれるセクタアドレスを所定の変換ルールによって変換し、前記所定の変換ルールで変換したセクタアドレスに基づいて前記記憶装置にアクセスする機能と、
    を実行させるためのプログラム。
JP2015006050A 2015-01-15 2015-01-15 電子機器、記憶装置へのアクセス制御方法およびプログラム Pending JP2016133829A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015006050A JP2016133829A (ja) 2015-01-15 2015-01-15 電子機器、記憶装置へのアクセス制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015006050A JP2016133829A (ja) 2015-01-15 2015-01-15 電子機器、記憶装置へのアクセス制御方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2016133829A true JP2016133829A (ja) 2016-07-25

Family

ID=56437969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015006050A Pending JP2016133829A (ja) 2015-01-15 2015-01-15 電子機器、記憶装置へのアクセス制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2016133829A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869357A (ja) * 1994-08-26 1996-03-12 Teac Corp ディスク記録再生装置
JP2004126745A (ja) * 2002-09-30 2004-04-22 I-O Data Device Inc データ保護装置
JP2008010441A (ja) * 2006-06-27 2008-01-17 Toshiba Corp シリコン酸化膜の形成方法
JP2009100250A (ja) * 2007-10-17 2009-05-07 Kyocera Mita Corp 難読化装置及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869357A (ja) * 1994-08-26 1996-03-12 Teac Corp ディスク記録再生装置
JP2004126745A (ja) * 2002-09-30 2004-04-22 I-O Data Device Inc データ保護装置
JP2008010441A (ja) * 2006-06-27 2008-01-17 Toshiba Corp シリコン酸化膜の形成方法
JP2009100250A (ja) * 2007-10-17 2009-05-07 Kyocera Mita Corp 難読化装置及びプログラム

Similar Documents

Publication Publication Date Title
US8850149B2 (en) Information processing apparatus, control method of the information processing apparatus and program
JP5213539B2 (ja) 画像処理装置及び画像処理装置のメモリ管理方法
US20120047340A1 (en) Information processing apparatus, method of controlling information processing apparatus, and program
US9967423B2 (en) Image forming apparatus and method for controlling image forming apparatus
US20060010160A1 (en) Information processing apparatus, storage device, storage control apparatus, and computer program product
US10289543B2 (en) Secure erasure of processed data in non-volatile memory by disabling distributed writing
US11853604B2 (en) Computational storage device, method, and data processing system executing operation in accordance with information in command
US9361472B2 (en) Information processing apparatus, control method of information processing apparatus, and program
US20120268757A1 (en) Image forming apparatus and image forming method
US20160078332A1 (en) Image forming device, method of switching modes, and computer-readable recording medium
US9684853B2 (en) Image forming apparatus that writes data from volatile memory to non-volatile memory
JP2016133829A (ja) 電子機器、記憶装置へのアクセス制御方法およびプログラム
JP6124836B2 (ja) 電子機器およびメモリー管理方法
US10437488B2 (en) Electronic device and non-transitory computer readable storage medium
JP2015204071A (ja) 情報処理装置、情報処理方法およびプログラム
JP2006252550A (ja) ファイル操作制限システムおよびファイル操作制限プログラム、ファイル操作制限方法、電子機器並びに印刷装置
US20240053933A1 (en) Printing apparatus, control method of printing apparatus, and storage medium
JP4434310B2 (ja) ジョブ処理装置及び該装置の制御方法及び制御プログラム
JP4483996B2 (ja) ジョブ処理装置及び該装置の制御方法及び制御プログラム
JP2005236782A (ja) 画像処理装置及び画像処理プログラム
JP5509704B2 (ja) 情報処理装置、ログ管理方法およびログ管理プログラム
JP5263574B2 (ja) データ処理装置及びデータ消去方法
US10268488B2 (en) Image forming apparatus capable of easy application creation
JP5544905B2 (ja) 画像処理装置と画像処理装置のデータ消去方法とプログラム
JP2021077165A (ja) 電子機器およびアクセス制限プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171004

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180313