[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2012113662A - アクセス制御プログラム、アクセス制御方法および情報処理装置 - Google Patents

アクセス制御プログラム、アクセス制御方法および情報処理装置 Download PDF

Info

Publication number
JP2012113662A
JP2012113662A JP2010264379A JP2010264379A JP2012113662A JP 2012113662 A JP2012113662 A JP 2012113662A JP 2010264379 A JP2010264379 A JP 2010264379A JP 2010264379 A JP2010264379 A JP 2010264379A JP 2012113662 A JP2012113662 A JP 2012113662A
Authority
JP
Japan
Prior art keywords
access
address information
address
storage area
unit
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
JP2010264379A
Other languages
English (en)
Other versions
JP5720204B2 (ja
Inventor
Kazuichi Oe
和一 大江
Tatsuo Kumano
達夫 熊野
Yasuo Noguchi
泰生 野口
Kazutaka Ogiwara
一隆 荻原
Masatoshi Tamura
雅寿 田村
Yoshihiro Tsuchiya
芳浩 土屋
Takashi Watanabe
高志 渡辺
Toshihiro Ozawa
年弘 小沢
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010264379A priority Critical patent/JP5720204B2/ja
Priority to US13/217,552 priority patent/US8589644B2/en
Publication of JP2012113662A publication Critical patent/JP2012113662A/ja
Application granted granted Critical
Publication of JP5720204B2 publication Critical patent/JP5720204B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】アクセス性能を向上させることを課題とする。
【解決手段】ファイルサーバ10は、ディスク装置30の記憶領域を示すアドレス情報であって、上位層が指定する論理アドレスと、ディスクドライバ13が指定する物理アドレスとを対応付けて記憶する変換テーブル13fを有する。そして、ファイルサーバ10は、物理アドレスが示す記憶領域をアクセス先としてディスク装置30にアクセスし、論理アドレスごとに、所定の期間内における各記憶領域に対するアクセス要求の回数をそれぞれ計数する。続いて、ファイルサーバ10は、計数されたアクセス要求の回数が多い論理アドレスの順に、物理アドレスが並ぶように、変換テーブル13fを更新する。その後、ファイルサーバ10は、更新された変換テーブル13fに基づいて、ディスク装置30に記憶されたデータの記憶領域を変更する。
【選択図】図2

Description

本発明は、ファイルのアクセス制御に関する。
近年、複数のクライアント端末でデータを共有するファイルサーバシステムが知られている。このようなファイルサーバシステムでは、アクセス対象となるデータを格納するディスク装置などの記憶装置と、クライアント端末からアクセス要求を受け付けてディスク装置にアクセスするファイルサーバなどの情報処理装置とを有する。
かかるファイルサーバは、ファイルサーバシステムを利用するクライアント端末からのアクセス要求を受信すると、ディスク装置に対してアクセスを実行してディスク装置からデータを取得してクライアント端末にデータを転送する。ここで、ファイルサーバがディスク装置に対してアクセスを実行してからデータを取得するまでに、アクセス位置のトラックまでヘッドを移動させるためのシーク時間や、記録媒体上のアクセス位置がヘッドの位置まで回転するための回転待ち時間がかかる。
特開平3−34158号公報
しかしながら、上述したファイルサーバシステムでは、アクセス性能が低下するという問題がある。例えば、アクセス頻度が高いデータの記憶領域がディスク装置上で離散している場合には、アクセス性能が低下するという問題がある。つまり、アクセス頻度が高いデータの記憶領域がディスク上で離散していると、アクセス頻度が高いデータ間の距離が長くなるので、ヘッドが移動する時間やディスクが回転する時間が多くかかる。この結果、シーク動作や回転待ち動作にかかる時間が長くなり、アクセス性能が低下するという問題がある。
ここで、ファイルサーバシステムにおいて、クライアント端末からのアクセス要求の傾向の一例について図16を用いて説明する。図16は、クライアント端末からのアクセス要求の傾向について説明する図である。図16の例では、横軸は、ディスク装置における1GB単位の領域に一意に付与されたオフセットを示し、縦軸は、各領域におけるアクセスにより発生するIO負荷の全負荷に対する割合を示している。また、図16の例では、負荷状況を示す縦線の両端が菱形、四角、三角、Xのものがあり、菱形が0〜5時のアクセスによる各領域の負荷状況を示し、四角が6〜11時のアクセスによる各領域の負荷状況を示している。また、三角が12〜17時のアクセスによる各領域の負荷状況を示し、Xが18〜23時のアクセスによる各領域の負荷状況を示している。
図16に示すように、アクセスが発生する領域は、一部の領域であって、一日を通してほぼ同じ領域にアクセスが発生している。例えば、図16の例では、オフセット1386〜1932の記憶領域に対して、アクセスが発生していない。また、一部の領域のみにアクセスが集中して負荷が高く、かつ、負荷の高い領域が複数に離散している。例えば、図16の例では、オフセット378〜420の記憶領域やオフセット1302〜1344の記憶領域にアクセスが集中し、これらのアクセスが集中している記憶領域同士の距離が離れている。
このような傾向のもとでは、上述したように、アクセス頻度が高いデータ間の距離が長く、ヘッドが移動する時間やディスクが回転する時間が多くかかる結果、シーク動作や回転待ち動作にかかる時間が長くなり、アクセス性能が低下する。
なお、シーク時間や回転待ち時間を短くする方法として、ディスクコントローラが、アクセス頻度の高いデータをディスクの内周ゾーンと比較して高速なディスクの外周ゾーンに移動する方法がある。しかし、アクセス頻度が高いデータをディスクの外周に配置する方法をディスクコントローラで実現するために、ディスク装置ごとに特別なハードウェアを準備することとなってしまう。なお、上述した課題は、ファイルサーバに限らず、記憶装置のアクセスを制御する情報処理装置における共通の課題である。
一つの側面では、デバイスドライバによる記録媒体に対するアクセス性能を向上させることを目的とする。
第一の案では、アクセス制御プログラムは、デバイスドライバが上位層から記憶装置へのアクセス要求を受け付けた場合に、記憶装置の記憶領域を示すアドレス情報であって、カーネルが指定する第1アドレスと該第1アドレスを変換した後の第2アドレスとの対応関係を記憶する記憶部を参照して、前記アクセス要求に含まれる前記第一のアドレス情報を前記第二のアドレス情報に変換し、当該第二のアドレス情報が示す記憶領域をアクセス先として前記記憶装置にアクセスし、前記第一のアドレス情報ごとに、所定の期間内における各記憶領域に対する上位層からデバイスドライバへのアクセス要求の回数をそれぞれ計数し、前記計数された前記アクセス要求の回数が多い第一のアドレス情報の順に、前記第二のアドレス情報が並ぶように、前記記憶部の前記対応関係を更新し、前記更新された対応関係に基づいて、前記記憶装置に記憶されたデータの記憶領域を変更する。
デバイスドライバによる記録媒体に対するアクセス性能を向上させることができる。
図1は、実施例1に係るファイルサーバを含むシステムの全体構成を示すシステム構成図である。 図2は、実施例1に係るファイルサーバの構成を示すブロック図である。 図3は、カウントテーブルの一例を示す図である。 図4は、変換テーブルの一例を示す図である。 図5は、ファイルサーバにおけるディスクドライバの処理を説明する図である。 図6は、カウントテーブルの一例を示す図である。 図7は、変換テーブルの一例を示す図である。 図8は、データ格納領域の変更処理後のiopsを説明する図である。 図9は、実施例1に係るファイルサーバの処理動作を示すフローチャートである。 図10は、実施例2に係るファイルサーバの構成を示すブロック図である。 図11は、実施例2に係るファイルサーバの分割単位変更処理の動作を示すフローチャートである。 図12は、実施例2に係るファイルサーバの処理動作を示すフローチャートである。 図13は、ホットスポット同士の間隔から並び替え処理を行うか判定する処理を説明する図である。 図14は、実施例3に係るファイルサーバの処理動作を示すフローチャートである。 図15は、アクセス制御プログラムを実行するコンピュータを示す図である。 図16は、クライアント端末からのアクセス要求の傾向について説明する図である。
以下に添付図面を参照して、この発明に係るアクセス制御プログラム、アクセス制御方法および情報処理装置の実施例を詳細に説明する。
以下の実施例では、実施例1に係るファイルサーバの構成および処理の流れを順に説明し、最後に実施例1による効果を説明する。
[ファイルサーバの構成]
まず、図1を用いて、実施例1に係るファイルサーバを含むシステムの全体構成を示すシステム構成を説明する。図1は、実施例1に係るファイルサーバを含むシステムの全体構成を示すシステム構成図である。図1に示すように、ファイルサーバを含むシステムは、ファイルサーバ10、複数のクライアント端末20、ディスク装置30を有する。また、ファイルサーバ10は、LAN(Local Area Network)40を介して複数のクライアント端末20と接続される。
ファイルサーバ10は、クライアント端末20からアクセス要求を受け付け、アクセス要求に応じて、ディスク装置30に対してアクセスする。例えば、ファイルサーバ10では、アクセス要求を受け付けるためのプログラムとしてSambaプログラムがユーザ空間で起動されている。そして、ファイルサーバ10は、クライアント端末20からアクセス要求を受け付けると、アクセス要求に含まれるアクセス先を指定するアクセス先情報を取得し、カーネル空間のディスクドライバにアクセス先情報を通知する。ここで、ディスクドライバとは、ハードウェアを制御するデバイスドライバであって、OS(Operating System)とハードウェアとの間での通信を中継するソフトウェアである。
そして、ファイルサーバ10のディスクドライバは、アクセス先情報に応じて、ディスク装置30に対してアクセスを実行する。ここで、カーネル空間とは、基本ソフトウェアが稼動する下位層であり、ハードウェアの制御、タスク管理、ファイルやシステムの管理、ネットワーク接続など、システムの基幹的な機能が実行される。一方、ユーザ空間とは、個々のアプリケーションプログラムが稼働する上位層であり、アクセス要求を受け付けるためのプログラムなどが稼動している。
クライアント端末20は、ディスク装置30へのアクセス要求をLAN40を介して、ファイルサーバ10に通知し、ディスク装置30からアクセス要求の応答データを受信する。ディスク装置30は、アクセス対象となるデータを格納しており、ファイルサーバ10によってデータの読み出しまたは書き込みが制御される。
次に、図2を用いて、図1に示したファイルサーバ10の構成を説明する。図2は、実施例1に係るファイルサーバの構成を示すブロック図である。図2に示すように、ファイルサーバ10は、通信制御I/F(interface)11、アクセス受付部12、ディスクドライバ13、ディスク制御I/F14、通信ドライバ16、ファイルシステム17を有する。
通信制御I/F11は、NIC(Network Interface Card)等のネットワークインターフェースであって、接続されるクライアント端末20との間でやり取りする各種情報に関する通信を制御する。例えば、通信制御I/F11は、クライアント端末20からアクセス要求を受信し、アクセスを実行してディスク装置30から取得した応答データをクライアント端末20へ送信する。通信ドライバ16は、通信デバイスを制御するためのソフトウェアであって、クライアント端末20との通信を制御する。例えば、通信ドライバ16は、通信制御I/F11を介して受信したアクセス要求をアクセス受付部12に通知し、ディスク装置30から取得した応答データを通信制御I/F11を介してクライアント端末20へ送信する。
アクセス受付部12は、クライアント端末20からのアクセス要求を受け付ける。例えば、アクセス受付部12は、アクセス要求を受け付けるアプリケーションであるSambaプログラムを動作させることで、クライアント端末20からのアクセス要求を受け付ける。そして、アクセス受付部12は、下位層のファイルシステム17を介してディスクドライバ13にアクセス要求を通知する。ファイルシステム17は、ディスク装置30に記憶されているデータの管理を行うソフトウェアである。
ここで、クライアント端末20からのアクセス要求について詳細に説明する。ディスクドライバ13に通知されるアクセス要求には、例えば、ディスク装置30からデータを読み出す要求(いわゆるread要求)や、ディスク装置30にデータを書き込む要求(いわゆるwrite要求)などがある。読み出し要求には、例えば、ディスク装置における読み出し位置を示すアドレス情報や、アクセス位置から読み出されるデータのサイズを示すデータサイズが含まれる。アドレス情報は、ディスクドライバのディスク領域へのアドレスであって、先頭からのブロックオフセットであり、例えば、ディスク装置におけるブロックサイズ(例えば、512バイト)の単位で指定される。この場合、例えば、アドレス情報「1000」を含むアクセス要求では、ディスク装置における所定の始点位置から1000ブロック目(512×1000バイト)の位置が指定されたことを意味する。なお、以下では、アクセス要求に含まれる、カーネルが指定するアドレス情報を「論理アドレス」と称する。一方、後述する変換テーブル13fを使って変換されたアドレスを「物理アドレス」と称する。
ディスク制御I/F14は、SCSI(Small Computer System Interface)カード等のインターフェースであって、接続されるディスク装置30との間でやり取りする各種情報に関する通信を制御する。例えば、ディスク制御I/F14は、ディスク装置30に対してアクセスを実行して読み書きされるデータの送受信を行う。
ディスクドライバ13は、ディスク装置30を制御するためのソフトウェアとして、ディスク装置30へのアクセスを制御しており、計数部13a、更新部13b、変更部13c、アクセス部13dを有する。また、ディスクドライバ13は、カウントテーブル13eおよび変換テーブル13fを有する。以下にこれらの各部の処理を説明する。
カウントテーブル13eは、ディスク装置30の記憶領域を示すアドレス情報であってカーネルが指定する論理アドレスごとに、アクセス要求が発生した回数を記憶する。例えば、カウントテーブル13eは、図3に示すように、「論理アドレス」と、論理アドレスに対してアクセス要求があった回数を示す「アクセス回数カウンタ」とを対応付けて記憶する。例えば、論理アドレスは、1GB(Giga Byte)の単位で管理される。例えば、図3の論理アドレス「0」には、カーネルが指定する、ディスク装置30における所定の始点位置から1GBまでの記憶領域の各論理アドレスが含まれることを意味する。なお、図3の例では、初期値の状態であるため、アクセス回数カウンタが全て「0」になっている。図3は、カウントテーブルの一例を示す図である。
変換テーブル13fは、ディスク装置30の記憶領域を示すアドレス情報であって、カーネルが指定する論理アドレスと、ディスクドライバ13が指定する物理アドレスと、物理アドレスが示す記憶領域の始点位置である先頭オフセットとを対応付けて記憶する。例えば、変換テーブル13fは、図4に示すように、「論理アドレス」と「物理アドレス」と「先頭オフセット」とが対応付けて記憶されている。例えば、論理アドレスおよび物理アドレスは、1GB(Giga Byte)の単位で管理される。また、先頭オフセットは、512バイトのブロック単位で管理される。
例えば、図4の論理アドレス「0」には、カーネルが指定する、ディスク装置30における所定の始点位置から1GBまでの記憶領域の各論理アドレスが含まれることを意味する。また、図4の物理アドレス「0」には、デバイスドライバ13が指定する、ディスク装置30における所定の始点位置から1GBまでの記憶領域の各物理アドレスが含まれることを意味する。なお、図4の例では、変換テーブル13fが初期の状態であるため、「論理アドレス」と「物理アドレス」とが同じ記憶領域の範囲となっている。図4は、変換テーブルの一例を示す図である。
また、図4の先頭オフセット「0」には、物理アドレス「0」のディスク装置30における所定の始点位置が0ブロック目であることを意味する。つまり、図4の例では、物理アドレス「0」は、ディスク装置30における0ブロック目から2097151ブロック目までの記憶領域の各物理アドレスが含まれることを示している。また、物理アドレス「1」は、ディスク装置30における2097152ブロック目から4194304ブロック目までの記憶領域の各物理アドレスが含まれることを示している。
計数部13aは、論理アドレスごとに、所定の期間内における各記憶領域に対するアクセス要求の回数をそれぞれ計数する。例えば、計数部13aは、ディスクドライバ13よりも上位のアプリケーションからアクセス要求を受信すると、アクセス対象となるデータの格納領域を示す論理アドレスを特定する。そして、計数部13aは、アクセスが発生した論理アドレスについて、カウントテーブル13eのアクセス回数カウントをカウントアップする。その後、計数部13aは、このようなアクセス回数の計数処理を所定の時刻(例えば、午前2時(A.M.2:00))まで行う。
例えば、計数部13aは、上位のアプリケーションからのアクセス要求として、1.5GBの論理アドレスにアクセスが発生した場合には、論理アドレス「1」に対応する記憶領域へのアクセスであるので、論理アドレス「1」のアクセス回数をカウントアップする。
更新部13bは、計数部13aによって計数されたアクセス要求の回数が多い論理アドレスの順に、物理アドレス情報が並ぶように、変換テーブル13fを更新する。例えば、更新部13bは、午前2時になると、カウントテーブル13eを参照し、各論理アドレスが多かった順にアクセス回数の順位を決定する。そして、更新部13bは、計数されたアクセス要求の回数が多い論理アドレスの順に、物理アドレス情報が並ぶように、変換テーブル13fを更新する。なお、後に図5を用いて詳述するが、上位層のデーモン15が午前2時になったかを監視し、午前2時になると、ディスクドライバ13の更新部13bに対して更新処理を行う旨を指示する。
ここで、更新部13bの処理を図6および図7の例を用いて説明する。図6は、カウントテーブルの一例を示す図である。図7は、変換テーブルの一例を示す図である。図6の例では、カウントテーブル13eは、論理アドレス「0」のアクセス回数が「200」であり、論理アドレス「1」のアクセス回数が「30」であり、論理アドレス「2」のアクセス回数が「5000」であることを記憶している。また、カウントテーブル13eは、論理アドレス「3」のアクセス回数が「20」であり、論理アドレス「4」のアクセス回数が「10」であり、論理アドレス「5」のアクセス回数が「6000」であることを記憶している。また、カウントテーブル13eは、論理アドレス「6」のアクセス回数が「50」であり、論理アドレス「7」のアクセス回数が「300」であることを記憶している。また、カウントテーブル13eは、論理アドレス「8」のアクセス回数が「40」であり、論理アドレス「9」のアクセス回数が「5」であることを記憶している。
そして、更新部13bは、カウントテーブル13eに記憶された各論理アドレスのアクセス回数カウンタを用いて、各論理アドレスのアクセス回数が多い順に順位付けを行う。例えば、図6の例では、更新部13bは、論理アドレス「5」がアクセス回数が一番多く、順位が「1」となり、次にアクセス回数が多いのが論理アドレス「2」となり、順位が「2」となる。
そして、更新部13bは、アクセス回数が多い論理アドレスから順に、物理アドレスの値が小さい値を順位割り当てる。ここで、物理アドレスは、ディスクオフセットと対応しており、値が小さいほどディスク装置の外周に記憶されていることを示している。つまり、更新部13bは、計数されたアクセス要求の回数が多い論理アドレスの順に、物理アドレスがディスク装置30の外周から内周へ並ぶように、変換テーブル13fを更新する。
例えば、図7の例を用いて説明すると、更新部13bは、一番アクセス回数が多かった論理アドレス「5」に物理アドレス「0」を割り当て、二番目にアクセス回数が多かった論理アドレス「2」に物理アドレス「1」を割り当てる。その後、アクセス回数が多かった論理アドレスの順に、物理アドレス「2」、「3」、「4」・・と順次割り当てる。
変更部13cは、更新部13bによって更新された変換テーブル13fに基づいて、ディスク装置30に記憶されたデータの記憶領域を変更する。例えば、変更部13cは、更新部13bによって変換テーブル13fが更新された場合に、変換テーブル13fに記憶された論理アドレスと物理アドレスとの対応関係を参照する。そして、変更部13cは、アクセス回数が多かった論理アドレス順に物理アドレスの値が小さい領域が割り当てられるように、ディスク装置30に記憶されたデータを移動し、データの記憶領域を変更する。
例えば、図4が更新前の変換テーブル13fであって、図7が更新後の変換テーブル13fである場合を例にして説明する。変更部13cは、論理アドレス「0」に対応付けられた物理アドレスが「0」から「3」に更新されているので、ディスク装置30の物理アドレス「0」に対応する記憶領域のデータを物理アドレス「3」に対応する記憶領域に移動する。つまり、変更部13cは、変換テーブル13fを参照し、物理アドレスが「0」から「3」に更新されている場合には、ディスク装置30における0ブロック目から2097151ブロック目までの記憶領域に記憶されているデータを、6291456ブロック目から8388607ブロック目までの記憶領域に移動する。
アクセス部13dは、ディスクドライバ13が上位層からディスク装置30へのアクセス要求を受け付けた場合に、変換テーブル13fを参照して、アクセス要求に含まれる論理アドレスを物理アドレスに変換する。そして、アクセス部13dは、物理アドレスが示す記憶領域をアクセス先としてディスク装置30にアクセスする。例えば、アクセス部13dは、上位のアプリケーションからアクセス要求を受け付けると、アクセス要求に含まれる論理アドレスを物理アドレスに変換し、物理アドレスが示す記憶領域をアクセス先としてディスク装置30にアクセスする。
ここで、アクセス部13dは、上位のアプリケーションからのアクセス要求に含まれるアクセス先を指定する論理アドレスとして、先頭のオフセットおよびデータサイズを受け付ける。そして、アクセス部13dは、変換テーブル13fを参照して、先頭のオフセットの値を物理アドレスに変換する。
例えば、変換テーブル13fが図7であって、アクセス部13dがアプリケーションから先頭のオフセットが「5.5GB」であってデータサイズが「0.2GB」のデータを要求するアクセス要求を受け付けた場合を例に説明する。この場合に、アクセス部13dは、先頭のオフセットが「5.5GB」であるため、論理アドレス「5」に対応するものと判定する。そして、アクセス部13dは、変換テーブル13fを参照し、論理アドレス「5」に対応する物理アドレスが「0」であることから、先頭のオフセットを「5.5GB」から「0.5GB」に変換する。そして、アクセス部13dは、先頭のオフセットが「0.5GB」であってデータサイズが「0.2GB」のデータの領域に対して、ディスク装置30にアクセスを実行する。
また、例えば、変換テーブル13fが図7であって、アクセス部13dがアプリケーションから先頭のオフセットが「0.7GB」であってデータサイズが「0.2GB」のデータを要求するアクセス要求を受け付けた場合を例に説明する。この場合に、アクセス部13dは、先頭のオフセットが「0.7GB」であるため、論理アドレス「0」に対応するものと判定する。そして、アクセス部13dは、変換テーブル13fを参照し、論理アドレス「0」に対応する物理アドレスが「3」であることから、先頭のオフセットを「0.7GB」から「3.7GB」に変換する。そして、アクセス部13dは、先頭のオフセットが「3.7GB」であってデータサイズが「0.2GB」のデータの領域に対して、ディスク装置30にアクセスを実行する。
ここで、図5を用いて、ディスクドライバ13が上位のアプリケーションからアクセス要求を受信し、ディスク装置にアクセスする処理について説明する。図5は、ファイルサーバにおけるディスクドライバの処理を説明する図である。図5に示すように、カーネル空間で動作するディスクドライバ13は、ユーザ空間における上位層のアプリケーションからアクセス要求(図5では、「IO」と記載)を受信する。そして、ディスクドライバ13は、アクセス要求に含まれる論理アドレスを物理アドレスに変換し、ディスク装置30の物理アドレスに対して、アクセスを行う。
また、図5に示すように、ファイルサーバ10では、OS上においてバックグラウンドで動作するプログラムであるデーモン15が動作している。かかるデーモン15が、一定時間ごとに、変換テーブル13fの更新処理およびディスク装置30におけるデータ格納領域の変更処理の開始指示をディスクドライバ13に通知している。例えば、デーモン15は、午前2時になったことを条件に、変換テーブル13fの更新処理およびディスク装置30におけるデータ格納領域の変更処理を開始する旨の指示をディスクドライバ13に通知する。
上述したように、ディスクドライバ13がデータの格納領域を変更することで、ディスク装置30の記憶領域を再構成した結果、アクセス頻度の高いデータの記憶領域(以下、ホットスポットという)をディスク装置30上の特定領域に集中させることができる。ここで、図8を用いて、データ格納領域の変更処理を行った後のディスク装置30の各ディスクオフセットにおけるiops(Input Output Per Second)の変化を説明する。ここで、iopsとは、1秒間に可能なI/O(リード/ライトの処理)の回数をあらわすものである。また、図8の例では、横軸がディスク装置における各記憶領域を一意に示すディスクオフセットを示し、縦軸が各ディスクオフセットにおけるiopsを示している。
図8の(1)に示すように、データ格納領域の変更処理を行う前には、iopsの値が高くなっている二つのホットスポットが離散している。その後、図8の(2)に示すように、ファイルサーバ10のディスクドライバ13がデータ格納領域の変更処理を行った後には、ディスクオフセットの値が小さい記憶領域にホットスポットを集中させることができる。このため、実施例1に係るファイルサーバ10は、アクセス性能が向上するとともに、ディスク装置30へのアクセスにかかるCPUの負荷を抑えることができる。
[ファイルサーバによる処理]
次に、図9を用いて、実施例1に係るファイルサーバ10による処理を説明する。図9は、実施例1に係るファイルサーバの処理動作を示すフローチャートである。
図9に示すように、まず、ファイルサーバ10のディスクドライバ13は、変換テーブル13fを初期化し(ステップS101)、上位のアプリケーションからのアクセス要求を待機する。そして、ディスクドライバ13は、アプリケーションからアクセス要求を受け付けると、変換テーブル13fを参照して、アクセス要求に含まれる論理アドレスを物理アドレスに変換する。そして、ディスクドライバ13は、物理アドレスが示す記憶領域をアクセス先としてディスク装置30にアクセスする(ステップS102)。
そして、ディスクドライバ13は、アプリケーションからアクセス要求を受け付けているので、アクセスが発生した論理アドレスについて、カウントテーブル13eのアクセス回数カウントをカウントアップする(ステップS103)。
そして、ファイルサーバ10は、A.M.2:00に到達したか判定する(ステップS104)。例えば、ファイルサーバ10のデーモン15がA.M.2:00に到達したか判定し、A.M.2:00に到達していない場合には(ステップS104否定)、ステップS102に戻る。また、ファイルサーバ10のデーモン15がA.M.2:00に到達したと判定した場合には(ステップS104肯定)、変換テーブル13fの更新処理およびディスク装置30におけるデータ格納領域の変更処理を開始する指示をディスクドライバ13に通知する。
そして、ディスクドライバ13は、カウントされたアクセス要求の回数が多い論理アドレスの順に、物理アドレス情報が並ぶように、変換テーブル13fを更新する(ステップS105)。その後、ディスクドライバ13は、更新された変換テーブル13fに基づいて、ディスク装置30に記憶されたデータの記憶領域を変更する。例えば、変更部13cは、更新部13bによって変換テーブル13fが更新された場合に、変換テーブル13fに記憶された論理アドレスと物理アドレスとの対応関係を参照し、ディスク装置30に記憶されたデータを移動する(ステップS106)。
[実施例1の効果]
このため、ファイルサーバ10は、アクセス数の多いデータをディスク上の特定領域に集めて記憶させ、アクセス性能を向上させることが可能である。
また、アクセスが発生する領域は、一部の領域であって、一日を通してほぼ同じ領域にアクセスが発生する傾向がある。また、一部の領域のみにアクセスが集中して負荷が高く、かつ、負荷の高い領域が複数に離散する傾向がある。また、このようなアクセス傾向は、1ヶ月程度の長期間に渡っても、ほとんど変化がないことも分かっている。このため、このような傾向のもとでは、アクセス数の多い論理アドレスの順に物理アドレスを並べ替えることで、アクセス数の多いデータをディスク上の特定領域に集めて記憶させる方法が特に有効であり、アクセス性能の向上を図ることが可能である。
また、ファイルサーバ10は、計数されたアクセス要求の回数が多い論理アドレスの順に、物理アドレスがディスク装置30の外周から内周へ並ぶように、変換テーブル13fを更新する。このため、内周と比較して高速なディスクの外周側の記憶領域にアクセス頻度の高いデータを集めて記憶させ、アクセス性能を向上させることが可能である。
ところで、上記の実施例1では、論理アドレスおよび物理アドレスの単位を1GBとし、ディスク装置30のデータを移動する単位も1GBである場合を説明した。しかし、実施例はこれに限定されるものではなく、論理アドレスおよび物理アドレスの単位をアクセスの日時変動に応じて変更するようにしてもよい。つまり、ファイルサーバシステムでは、上述したように、一部の記憶領域のみにアクセスが集中する傾向があるが、そのアクセスが集中する領域が日時によって数十GB程度変動する場合がある。このため、日時によってアクセスが発生する領域の日時による変化を吸収するために、論理アドレスおよび物理アドレスの単位をアクセスの日時変動に応じて変更する。
そこで、以下の実施例2では、論理アドレスおよび物理アドレスの単位をアクセスの日時変動に応じて変更し、論理アドレスおよび物理アドレスの単位を変更し、ディスク装置30のデータを移動する単位を変更する場合を説明する。以下では、図10〜図12を用いて、実施例2におけるファイルサーバ10Aの構成および処理について説明する。図10は、実施例2に係るファイルサーバの構成を示すブロック図である。図11は、実施例2に係るファイルサーバの分割単位変更処理の動作を示すフローチャートである。図12は、実施例2に係るファイルサーバの処理動作を示すフローチャートである。
図10に示すように、ファイルサーバ10Aは、図2に示したファイルサーバ10と比較して、算出部13gおよび決定部13hを新たに有する点が相違する。かかるファイルサーバ10Aにおける算出部13gは、所定の期間において、複数の分割単位でディスク装置の記憶領域を分割し、分割単位ごとに所定時間帯におけるアクセス要求による負荷が一定以上となった領域の割合をそれぞれ算出する。そして、算出部13gは、分割単位ごとに所定期間における負荷が一定以上となった領域の割合の標準偏差を算出する。
例えば、算出部13gは、1週間の期間において、1GB、2GB、4GB、8GB、16GB、32GB、64GBの分割単位でディスク装置の記憶領域を分割する。そして、算出部13gは、分割単位ごとに12:00〜18:00の間におけるアクセス要求による負荷が平均1iops以上となった領域の割合をそれぞれ算出する。そして、算出部13gは、分割単位ごとに1週間の期間における負荷が平均1iops以上となった領域であるホットスポットの割合の標準偏差を算出する。また、算出部13gは、分割単位ごとに1週間の期間における負荷が一定以上となった領域の割合の平均値も算出する。
決定部13hは、算出部13gによって算出された標準偏差が所定の閾値以下である分割単位のうち、最も小さい分割単位で分割したディスク装置の記憶領域の領域幅を、変換テーブル13fに記憶された論理アドレスおよび物理アドレスの領域幅として決定する。例えば、まず、決定部13hは、全ての分割単位においてアクセス要求による負荷の平均値が0であるか判定する。この結果、決定部13hは、全ての分割単位においてアクセス要求による負荷の平均値が0であると判定した場合には、平均1iops以上の負荷が掛かるホットスポット自体が存在していないので、分割単位を初期値の1GBに決定する。なお、ここでホットスポットとは、上記したように、アクセス要求による負荷が平均1iops以上となったアクセス頻度の高い記憶領域のことをいう。
また、決定部13hは、全ての分割単位においてアクセス要求による負荷の平均値が0でない場合には、全ての標準偏差が5以下になる分割単位が存在するか判定する。つまり、決定部13hは、平均1iops以上のCPU負荷が掛かる領域の割合が日時によって変動してしまうかを判定する。
この結果、決定部13hは、標準偏差が5以下になる分割単位が存在しない場合には、最も大きい分割単位である64GBを分割単位として選択する。つまり、いずれの分割単位であっても、平均1iops以上となる領域の割合が日時によって変動してしまうので、一番大きな分割単位である64GBを分割単位として選択する。標準偏差が5を超えている場合、ばらつきがその分割単位を超えているので、その分割単位を利用できないからである。
また、ファイルサーバ10Aは、標準偏差が5以下になる分割単位が存在する場合には、標準偏差が5以下になる分割単位のうち、最も小さい分割単位を選択する。例えば、8GB、16GB、32GB、64GBの標準偏差が全て5以下である場合には、分割単位を8GBとする。標準偏差が5以下である場合、ばらつきがその分割単位内に収まっているので、その分割単位を利用できるからである。
次に、実施例2にかかるファイルサーバ10Aの処理について説明する。図11に示すように、ファイルサーバ10Aは、12:00〜18:00の間に、ディスク装置30のディスクボリュームを1GB単位で分割し、1分間隔で分割単位ごとに実行したアクセス数のデータを記憶する(ステップS201)。続いて、ファイルサーバ10Aは、ディスク装置30のディスクボリュームに関して、その領域を1GB、2GB、4GB、8GB、16GB、32GB、64GBに分割する。そして、ファイルサーバ10Aは、12:00〜18:00の間に記憶したアクセス数のデータについて、各分割単位ごとに平均1iops以上となった割合を算出する(ステップS202)。
その後、ファイルサーバ10Aは、12:00〜18:00の間に記憶したアクセス数のデータについて、一週間分のデータを記憶したか判定する(ステップS203)。この結果、ファイルサーバ10Aは、一週間分のデータを記憶していないと判定した場合には(ステップS203否定)、ステップS201に戻って、一週間分のデータを記憶するまで、ステップS201〜203の処理を繰り返す。また、ファイルサーバ10Aは、一週間分のデータを記憶したと判定した場合には(ステップS203肯定)、1GB、2GB、4GB、8GB、16GB、32GB、64GBの各分割単位ごとに、一週間分の平均値と標準偏差を算出する(ステップS204)。
そして、ファイルサーバ10Aは、全ての分割単位の平均値が0であるか判定する(ステップS205)。この結果、ファイルサーバ10Aは、全ての分割単位の平均値が0であると判定した場合には(ステップS205肯定)、平均1iops以上の負荷が掛かるホットスポット自体が存在していないので、分割単位を1GBにしたまま処理を終了する。また、ファイルサーバ10Aは、全ての分割単位の平均値が0でないと判定した場合には(ステップS205否定)、標準偏差が5以下になる分割単位が存在するか判定する(ステップS206)。つまり、ファイルサーバ10Aは、平均1iops以上のCPU負荷が掛かる割合が日時によって変動してしまうかを判定する。
この結果、ファイルサーバ10Aは、標準偏差が5以下になる分割単位が存在しない場合には(ステップS206否定)、64GBを分割単位として選択する(ステップS208)。つまり、いずれの分割単位であっても、平均1iops以上となる割合が日時によって変動してしまうので、一番大きな分割単位である64GBを分割単位として選択する。
また、ファイルサーバ10Aは、標準偏差が5以下になる分割単位が存在する場合には(ステップS206肯定)、標準偏差が5以下になる分割単位のうち、最も小さい分割単位を選択する(ステップS207)。
次に、図12を用いて、分割単位が変更となった場合に、変換テーブル13fの論理アドレスおよび物理アドレスが決定した分割単位に変更するための処理を説明する。なお、図12の例では、変更となった分割単位をA(GB)であるものとして説明する。図12に示すように、ファイルサーバ10Aは、ディスク装置30のディスクボリュームをA(GB)の単位で分割する(ステップS301)。そして、ファイルサーバ10Aは、A(GB)に分割した各領域に関して、一日分のアクセス回数を記憶する(ステップS302)。
そして、ファイルサーバ10Aは、アクセス回数が多かった領域順にディスク装置30上のデータの記憶領域の並び替えを行い、並び替えを行った結果を基に、変換テーブル13fを更新する(ステップS303)。なお、その後、ファイルサーバ10Aは、アクセス要求があった場合には、更新された変換テーブル13fに従って論理アドレスから物理アドレスを求め、ディスク装置30にアクセスを実行する。
このため、ファイルサーバ10Aは、アクセス領域が日時によって変動する場合であっても、適切な分割単位でディスク装置30上のデータの記憶領域を変更し、アクセス性能を向上させることが可能となる。
ところで、上記の実施例1では、所定の時間ごとに毎回、変換テーブルの更新処理およびディスク装置におけるデータ格納領域の変更処理を行う場合について説明した。しかし、実施例はこれに限定されるものではなく、一定の性能向上が見込める場合のみ変換テーブルの更新処理およびディスク装置におけるデータ格納領域の変更処理を行うようにしてもよい。
そこで、以下の実施例3では、変換テーブルを更新した場合に、更新前の物理アドレスと更新後の物理アドレスとの差分が所定の閾値以上であるか判定し、変換テーブルの更新処理およびディスク装置のデータ格納領域の変更処理を行うか判定する場合を説明する。つまり、ディスク装置におけるデータ格納領域を変更した場合に、一定の性能向上が見込めるか判定し、一定の性能向上が見込める場合のみ更新処理および変更処理を行う。
以下では、図13、図14を用いて、実施例3におけるファイルサーバの処理について説明する。図13は、ホットスポット同士の間隔から並び替え処理を行うか判定する処理を説明する図である。図14は、実施例3に係るファイルサーバの処理動作を示すフローチャートである。なお、実施例3におけるファイルサーバの構成については、図2に示したファイルサーバ10と同様のものとなるため、説明を省略する。
上述したように、実施例3に係るファイルサーバでは、一定の性能向上が見込める場合のみ変換テーブルの更新処理およびディスク装置30におけるデータ格納領域の変更処理を行う。つまり、変換テーブルの更新処理を行うとともに、ディスク装置30に対してデータ格納領域の変更処理を行ってデータの入れ替えを行うため、処理が重くなる場合がある。このため、実施例3に係るファイルサーバでは、実施例1で説明した午前2時になるたびに毎回、変換テーブルの更新処理およびディスク装置におけるデータ格納領域の変更処理を行うのではなく、一定の性能向上が見込める場合のみ更新処理および変更処理を行う。
例えば、実施例3に係るファイルサーバでは、10%以上のアクセス性能の向上が見込める場合のデータの変動幅を予め求めておき、ここでは、10%以上のアクセス性能の向上が見込める場合のデータの変動幅がXGBであったものとする。変動幅とは、ホットスポットのピークの幅を言う。図13の左側のグラフに例示するように、ディスク装置に二つの離反したホットスポットが存在し、ホットスポットの間隔がXGB以上である場合には、変換テーブルの更新処理およびディスク装置におけるデータ格納領域の変更処理を行う。この結果、図13の右側のグラフに例示するように、離反したホットスポットを特定の領域に集中させ、10%以上のアクセス性能の向上が見込めることができる。なお、図13の例では、横軸がディスク装置のディスクオフセットを示し、縦軸が各ディスクオフセットにおけるiopsを示している。
実施例3に係るファイルサーバでは、ホットスポットの間隔を特定するために、更新前の物理アドレスと更新後の物理アドレスとの差分を求める。例えば、実施例3に係るファイルサーバでは、10%以上のアクセス性能の向上が見込める場合のデータの変動幅の閾値が3GBであるものとして設定されているものとする。そして、実施例3に係るファイルサーバは、変換テーブル13fの更新処理によって論理アドレス「1」に対応する物理アドレスが「1」から「6」に更新する場合には、データが5GB移動することになり、閾値の3GBよりも大きい。このため、実施例3に係るファイルサーバは、テーブルの更新処理を行うとともに、ディスク装置30に対してデータ格納領域の変更処理を行う。
次に、図14を用いて、実施例3に係るファイルサーバの処理の説明を行う。図14に示すように、まず、実施例3に係るファイルサーバは、実施例1と同様に、変換テーブル13fを初期化し(ステップS401)、アクセス要求があれば、ディスク装置30にアクセスし(ステップS402)、アクセス回数をカウントする(ステップS403)。
その後、実施例3に係るファイルサーバでは、A.M.2:00に到達した後(ステップS404肯定)、変換テーブル13fの更新を行う際に、更新前の物理アドレスと更新後の物理アドレスとの差分が所定の閾値以上であるか判定する(ステップS405)。この結果、実施例3に係るファイルサーバは、更新前の物理アドレスと更新後の物理アドレスとの差分が所定の閾値以上でない場合には(ステップS405否定)、10%以上のアクセス性能の向上が見込めないため、更新処理および変更処理を行わずに、処理を終了する。
また、実施例3に係るファイルサーバは、更新前の物理アドレスと更新後の物理アドレスとの差分が所定の閾値以上である場合には(ステップS405肯定)、10%以上のアクセス性能の向上が見込める部分のみ、変換テーブル13fを更新する(ステップS406)。そして、実施例3に係るファイルサーバは、更新された変換テーブル13fに基づいて、ディスク装置30に記憶されたデータの記憶領域を変更する(ステップS407)。
このため、データの記憶領域を変更することによるアクセス性能の向上が多く見込めない場合には、変換テーブル13fの更新を中止し、データの記憶領域を変更することによる処理負担をかけないようにすることが可能である。
さて、これまで本発明の実施例について説明したが、上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
(1)処理タイミング
上記の実施例1では、一日に一回、午前2時になったタイミングで変換テーブルの更新処理およびディスク装置におけるデータ格納領域の変更処理を行っている場合を説明したが、これに限定されるものではない。例えば、ファイルサーバは、一日に複数回の更新処理および変更処理を行ってもよいし、数日に一回のタイミングで変換テーブルの更新処理およびディスク装置におけるデータ格納領域の変更処理を行ってもよい。
(2)システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、計数部13aと更新部13bを統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(3)プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムを他の実施例として説明する。
図15に示すように、コンピュータシステム600は、HDD610と、RAM620と、ROM630と、CPU640とから構成され、バス650を介してそれぞれが接続されている。ここで、ROM630には、上記の実施例と同様の機能を発揮するプログラム、つまり、図15に示すように、アクセス制御プログラム631があらかじめ記憶されている。
そして、CPU640には、アクセス制御プログラム631を読み出して実行することで、図15に示すように、アクセス制御プロセス641となる。なお、アクセス制御プログラム631を読み出してアクセス制御プロセス641を実行することで、前述した図2に示した計数部13a、更新部13b、変更部13c、アクセス部13dと同様の処理を実行する。
また、HDD610には、カウンタテーブル611および変換テーブル612が設けられる。そして、CPU640は、カウンタテーブル611および変換テーブル612に対してデータを登録するとともに、カウンタテーブル611および変換テーブル612を読み出してRAM620に格納し、RAM620に格納されたデータに基づいて処理を実行する。
ところで、上記したプログラム631は、必ずしもROM630に記憶させておく必要はない。例えば、コンピュータシステム600に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に記憶させておき、コンピュータシステム600がこれらからプログラムを読み出して実行するようにしてもよい。また、コンピュータシステム600の内外に設けられるハードディスクドライブ(HDD)などの「固定用の物理媒体」、さらに、公衆回線、インターネット、LAN、WANなどを介してコンピュータシステム600に接続される「他のコンピュータシステム」に記憶させておき、コンピュータシステム600がこれらからプログラムを読み出して実行するようにしてもよい。
10、10A ファイルサーバ
11 通信制御I/F
12 アクセス受付部
13 ディスクドライバ
13a 計数部
13b 更新部
13c 変更部
13d アクセス部
13e カウントテーブル
13f 変換テーブル
13g 算出部
13h 決定部
14 ディスク制御I/F
20 クライアント端末
30 ディスク装置

Claims (6)

  1. コンピュータに、
    デバイスドライバが上位層から記憶装置へのアクセス要求を受け付けた場合に、記憶装置の記憶領域を示すアドレス情報であって、カーネルが指定する第1アドレスと該第1アドレスを変換した後の第2アドレスとの対応関係を記憶する記憶部を参照して、前記アクセス要求に含まれる前記第一のアドレス情報を前記第二のアドレス情報に変換し、当該第二のアドレス情報が示す記憶領域をアクセス先として前記記憶装置にアクセスし、
    前記第一のアドレス情報ごとに、所定の期間内における各記憶領域に対する上位層からデバイスドライバへのアクセス要求の回数をそれぞれ計数し、
    前記計数された前記アクセス要求の回数が多い第一のアドレス情報の順に、前記第二のアドレス情報が並ぶように、前記記憶部の前記対応関係を更新し、
    前記更新された対応関係に基づいて、前記記憶装置に記憶されたデータの記憶領域を変更する
    処理を実行させるアクセス制御プログラム。
  2. 所定の期間において、複数の分割単位で前記記憶装置の記憶領域を分割し、該分割単位ごとに所定時間帯におけるアクセス要求による負荷が一定以上となった領域の割合をそれぞれ算出し、前記分割単位ごとに所定期間における前記負荷が一定以上となった領域の割合の標準偏差を算出し、
    算出された各標準偏差が所定の閾値以下であるか判定し、標準偏差が所定の閾値以下であると判定された分割単位のうち最も小さい分割単位を、前記記憶部に記憶された前記対応関係の前記第一のアドレス情報および前記第二のアドレス情報の領域幅として決定する、
    処理を前記コンピュータに実行させる請求項1に記載のアクセス制御プログラム。
  3. 前記対応関係を更新する際に、該変更前の第二のアドレス情報と変更後の第二のアドレス情報との差分が所定の閾値以上であるかを判定し、該差分が所定の閾値以上である場合には、前記対応関係を更新し、前記差分が所定の閾値以上でない場合には、前記対応関係の更新を中止する処理を前記コンピュータに実行させる請求項1または2に記載のアクセス制御プログラム。
  4. 計数された前記アクセス要求の回数が多い第一のアドレス情報の順に、前記第二のアドレス情報が記憶装置の外周から内周へ並ぶように、前記対応関係を更新する処理を前記コンピュータに実行させる請求項1〜3のいずれか一つに記載のアクセス制御プログラム。
  5. 情報処理装置による記憶装置へのアクセスを制御する方法であって
    デバイスドライバが上位層から記憶装置へのアクセス要求を受け付けた場合に、記憶装置の記憶領域を示すアドレス情報であって、カーネルが指定する第1アドレスと該第1アドレスを変換した後の第2アドレスとの対応関係を記憶する記憶部を参照して、前記アクセス要求に含まれる前記第一のアドレス情報を前記第二のアドレス情報に変換し、当該第二のアドレス情報が示す記憶領域をアクセス先として前記記憶装置にアクセスし、
    前記第一のアドレス情報ごとに、所定の期間内における各記憶領域に対する上位層からデバイスドライバへのアクセス要求の回数をそれぞれ計数し、
    前記計数された前記アクセス要求の回数が多い第一のアドレス情報の順に、前記第二のアドレス情報が並ぶように、前記記憶部の前記対応関係を更新し、
    前記更新された対応関係に基づいて、前記記憶装置に記憶されたデータの記憶領域を変更する
    ことを特徴とするアクセス制御方法。
  6. 記憶装置に対するアクセスを制御するデバイスドライバが、
    記憶装置の記憶領域を示すアドレス情報であって、カーネルが指定する第1アドレスと該第1アドレスを変換した後の第2アドレスとの対応関係を記憶する記憶部と、
    前記デバイスドライバが前記上位層から前記記憶装置へのアクセス要求を受け付けた場合に、前記記憶部を参照して、前記アクセス要求に含まれる前記第一のアドレス情報を前記第二のアドレス情報に変換し、当該第二のアドレス情報が示す記憶領域をアクセス先として前記記憶装置にアクセスするアクセス部と、
    前記第一のアドレス情報ごとに、所定の期間内における各記憶領域に対する前記アクセス要求の回数をそれぞれ計数する計数部と、
    前記計数部によって計数された前記アクセス要求の回数が多い第一のアドレス情報の順に、前記第二のアドレス情報が並ぶように、前記記憶部の前記対応関係を更新する更新部と、
    前記更新部によって更新された対応関係に基づいて、前記記憶装置に記憶されたデータの記憶領域を変更する変更部と
    を有することを特徴とする情報処理装置。
JP2010264379A 2010-11-26 2010-11-26 アクセス制御プログラム、アクセス制御方法および情報処理装置 Active JP5720204B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010264379A JP5720204B2 (ja) 2010-11-26 2010-11-26 アクセス制御プログラム、アクセス制御方法および情報処理装置
US13/217,552 US8589644B2 (en) 2010-11-26 2011-08-25 Non-transitory medium, access control method, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010264379A JP5720204B2 (ja) 2010-11-26 2010-11-26 アクセス制御プログラム、アクセス制御方法および情報処理装置

Publications (2)

Publication Number Publication Date
JP2012113662A true JP2012113662A (ja) 2012-06-14
JP5720204B2 JP5720204B2 (ja) 2015-05-20

Family

ID=46127421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010264379A Active JP5720204B2 (ja) 2010-11-26 2010-11-26 アクセス制御プログラム、アクセス制御方法および情報処理装置

Country Status (2)

Country Link
US (1) US8589644B2 (ja)
JP (1) JP5720204B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140113346A (ko) * 2013-03-15 2014-09-24 시게이트 테크놀로지 엘엘씨 중간 스토리지 내의 분류된 데이터의 스테이징
JP2014182823A (ja) * 2013-03-15 2014-09-29 Seagate Technology Llc 動的粒状体に基づく中間記憶領域を利用する方法、データ記憶システムおよび記憶媒体
JP2016170685A (ja) * 2015-03-13 2016-09-23 三菱電機インフォメーションネットワーク株式会社 データ処理装置及びデータ処理方法及びデータ処理プログラム
JPWO2017056161A1 (ja) * 2015-09-28 2018-07-05 本田技研工業株式会社 加温制御装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5573737B2 (ja) * 2011-03-17 2014-08-20 富士通株式会社 情報処理プログラム、情報処理装置、及び情報処理方法
CN103677651A (zh) * 2012-09-14 2014-03-26 珠海扬智电子科技有限公司 数字视频转换器与视频串流的读写方法
JP6357478B2 (ja) 2012-11-05 2018-07-18 ヘモネティクス・コーポレーションHaemonetics Corporation 連続流分離チャンバ
US9483191B2 (en) * 2013-03-15 2016-11-01 Arris Enterprises, Inc. Multi-tier storage for delivery of services
CN104658550A (zh) * 2013-11-19 2015-05-27 株式会社东芝 磁盘装置及其控制方法
TWI731287B (zh) * 2018-12-22 2021-06-21 威聯通科技股份有限公司 網路應用程式產品及處理應用層協定的方法
US11610603B2 (en) * 2021-04-02 2023-03-21 Seagate Technology Llc Intelligent region utilization in a data storage device
CN115543930B (zh) * 2022-03-01 2023-10-24 荣耀终端有限公司 一种在内存中锁定文件的方法、装置及相关设备
CN118433253B (zh) * 2024-07-02 2024-10-25 临沂大学 一种信息安全数据存储方法、系统及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63271518A (ja) * 1987-04-28 1988-11-09 Nec Corp フアイル制御システム
JPH02227873A (ja) * 1989-02-28 1990-09-11 Osaka Gas Co Ltd 書き替え可能な記録媒体への情報記録方法
JPH0334158A (ja) * 1989-06-30 1991-02-14 Hitachi Ltd データ記録装置
JPH05210915A (ja) * 1992-01-30 1993-08-20 Nec Corp ディスク装置
JPH07295760A (ja) * 1994-04-20 1995-11-10 Ricoh Co Ltd ディスクへの情報格納方法
JP2002244816A (ja) * 2001-02-20 2002-08-30 Hitachi Ltd ディスク装置
JP2004046900A (ja) * 2003-10-14 2004-02-12 Hitachi Ltd 情報処理システムの制御方法
JP2010033578A (ja) * 2008-07-30 2010-02-12 Samsung Electronics Co Ltd データ管理方法、記録媒体及びデータ保存システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6674598B2 (en) * 2001-05-14 2004-01-06 Hitachi Global Technologies Radial positioning of data to improve hard disk drive reliability
US8566507B2 (en) * 2009-04-08 2013-10-22 Google Inc. Data storage device capable of recognizing and controlling multiple types of memory chips

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63271518A (ja) * 1987-04-28 1988-11-09 Nec Corp フアイル制御システム
JPH02227873A (ja) * 1989-02-28 1990-09-11 Osaka Gas Co Ltd 書き替え可能な記録媒体への情報記録方法
JPH0334158A (ja) * 1989-06-30 1991-02-14 Hitachi Ltd データ記録装置
JPH05210915A (ja) * 1992-01-30 1993-08-20 Nec Corp ディスク装置
JPH07295760A (ja) * 1994-04-20 1995-11-10 Ricoh Co Ltd ディスクへの情報格納方法
JP2002244816A (ja) * 2001-02-20 2002-08-30 Hitachi Ltd ディスク装置
JP2004046900A (ja) * 2003-10-14 2004-02-12 Hitachi Ltd 情報処理システムの制御方法
JP2010033578A (ja) * 2008-07-30 2010-02-12 Samsung Electronics Co Ltd データ管理方法、記録媒体及びデータ保存システム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140113346A (ko) * 2013-03-15 2014-09-24 시게이트 테크놀로지 엘엘씨 중간 스토리지 내의 분류된 데이터의 스테이징
JP2014182823A (ja) * 2013-03-15 2014-09-29 Seagate Technology Llc 動的粒状体に基づく中間記憶領域を利用する方法、データ記憶システムおよび記憶媒体
JP2014182835A (ja) * 2013-03-15 2014-09-29 Seagate Technology Llc データ記憶システム、データ記憶方法、およびプロセッサ読み取り可能記憶媒体
US9384793B2 (en) 2013-03-15 2016-07-05 Seagate Technology Llc Dynamic granule-based intermediate storage
US9588887B2 (en) 2013-03-15 2017-03-07 Seagate Technology Llc Staging sorted data in intermediate storage
US9588886B2 (en) 2013-03-15 2017-03-07 Seagate Technology Llc Staging sorted data in intermediate storage
US9740406B2 (en) 2013-03-15 2017-08-22 Seagate Technology Llc Dynamic granule-based intermediate storage
KR101984782B1 (ko) * 2013-03-15 2019-09-03 시게이트 테크놀로지 엘엘씨 중간 스토리지 내의 분류된 데이터의 스테이징
JP2016170685A (ja) * 2015-03-13 2016-09-23 三菱電機インフォメーションネットワーク株式会社 データ処理装置及びデータ処理方法及びデータ処理プログラム
JPWO2017056161A1 (ja) * 2015-09-28 2018-07-05 本田技研工業株式会社 加温制御装置
US10770766B2 (en) 2015-09-28 2020-09-08 Honda Motor Co., Ltd. Heating control device

Also Published As

Publication number Publication date
US20120137086A1 (en) 2012-05-31
US8589644B2 (en) 2013-11-19
JP5720204B2 (ja) 2015-05-20

Similar Documents

Publication Publication Date Title
JP5720204B2 (ja) アクセス制御プログラム、アクセス制御方法および情報処理装置
JP6560759B2 (ja) ストレージシステム
JP5594664B2 (ja) サービス品質に基づくストレージ階層化及び移動技法のためのシステム及び方法
JP5658197B2 (ja) 計算機システム、仮想化機構、及び計算機システムの制御方法
JP6190898B2 (ja) サーバに接続されるシステム及び仮想マシンが動作しているサーバに接続されたシステムによる方法
US9495287B2 (en) Solid state memory device logical and physical partitioning
JP6372074B2 (ja) 情報処理システム,制御プログラム及び制御方法
US20140254042A1 (en) Dynamic allocation of lba to un-shingled media partition
JP2015191628A (ja) ストレージ管理装置、性能調整方法及び性能調整プログラム
US20170212705A1 (en) Dynamic Weighting for Distributed Parity Device Layouts
JP2016162397A (ja) ストレージ制御装置、制御システム及び制御プログラム
US9916311B1 (en) Storage of bursty data using multiple storage tiers with heterogeneous device storage
US10579540B2 (en) Raid data migration through stripe swapping
JP6160240B2 (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム
JP6233403B2 (ja) ストレージシステム、ストレージ装置、ストレージ装置の制御方法及び制御プログラム、管理装置、管理装置の制御方法及び制御プログラム
JP2014232348A (ja) ストレージシステム、情報処理装置の制御プログラム、およびストレージシステムの制御方法
JP2015515072A (ja) データ管理メカニズムを備えたストレージシステムおよびその動作方法
KR20150139017A (ko) 메모리 제어 장치 및 방법
JP5612223B1 (ja) ストレージシステム、ストレージ装置の制御方法及びプログラム
JP6578694B2 (ja) 情報処理装置、方法及びプログラム
US11687443B2 (en) Tiered persistent memory allocation
JP4778538B2 (ja) ストレージデータ管理システム及びストレージデータ管理プログラム
US20150370816A1 (en) Load-balancing techniques for auditing file accesses in a storage system
JP6291937B2 (ja) ブロックストレージ、ストレージシステム、コンピュータシステム、ブロックストレージ制御方法、ストレージシステム制御方法およびプログラム
JP2019164510A (ja) ストレージシステム及びio処理の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140430

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140616

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150309

R150 Certificate of patent or registration of utility model

Ref document number: 5720204

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150