JP2010152571A - Raidドライバ及びこれを備えた電子機器並びにraidに対するアクセス要求調停方法 - Google Patents

Raidドライバ及びこれを備えた電子機器並びにraidに対するアクセス要求調停方法 Download PDF

Info

Publication number
JP2010152571A
JP2010152571A JP2008328953A JP2008328953A JP2010152571A JP 2010152571 A JP2010152571 A JP 2010152571A JP 2008328953 A JP2008328953 A JP 2008328953A JP 2008328953 A JP2008328953 A JP 2008328953A JP 2010152571 A JP2010152571 A JP 2010152571A
Authority
JP
Japan
Prior art keywords
access
access request
raid
request queue
queue
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
JP2008328953A
Other languages
English (en)
Other versions
JP5171602B2 (ja
Inventor
Shuntaro Tsuji
俊太郎 辻
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Mita 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 Kyocera Mita Corp filed Critical Kyocera Mita Corp
Priority to JP2008328953A priority Critical patent/JP5171602B2/ja
Priority to US12/564,676 priority patent/US8347032B2/en
Priority to CN2009102252260A priority patent/CN101762999B/zh
Publication of JP2010152571A publication Critical patent/JP2010152571A/ja
Application granted granted Critical
Publication of JP5171602B2 publication Critical patent/JP5171602B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

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

【課題】物理ディスクに対するアクセス要求の競合を適切に調停する。
【解決手段】RAIDドライバ21は、論理ディスクLD1〜LD4のそれぞれに対応した第1段のキュー30〜33と、第2段のキュー34と、論理ディスクLD1〜LD4のそれぞれの優先度が設定された優先度情報35と、調停制御を行うアクセス要求調停部36とを備えている。アクセス要求調停部36は、キュー34が空になったタイミングで、キュー30〜33のそれぞれに格納されている要求の数Nと優先度情報35とに基づいて、取込順決定値GO=(アクセス要求数N)/(優先度P)の比を求め、この比で、キュー30〜33から、1回で取出すアクセス要求の数を決定する。但し、キュー30〜33から取出すアクセス要求の全数を6とする。取出す順番は、この比の値が大きいほど先とする。
【選択図】図1

Description

本発明は、オペレーティングシステムとRAID(Redundant Arrays of Independent Disks)コントローラとの間のインターフェイスとして機能するRAIDドライバ及びこれを備えた電子機器並びにRAIDに対するアクセス要求調停方法に関する。
RAIDによれば、複数台のハードディスクドライブ(HDD)をオペレーティングシステム側で単一ドライブとみなして取り扱うことができる(下記特許文献1)。この仮想的な単一ドライブには、複数の論理ドライブを構成することができる。例えば、下記非特許文献1に示されるように、複数台のハードディスクドライブでRAIDを構成し、これに、高速アクセスが可能なストライピング(RAID0)モードの論理ディスクと、高信頼性のミラーリング(RAID1)モードの論理ディスクとを構成することができる。
特開2002−259062号公報 http://www.intel.com/jp/support/chipsets/imsm/sb/CS-020681.htm
しかしながら、例えば2台のハードディスクドライブでストライピングモードとミラーリングモードの論理ディスクを構成した場合、これらいずれのモードでも2台のハードディスクドライブを並列に同時アクセスするので、同時に2モードを実行することはできず、一方、オペレーティングシステムは複数の論理ディスクとして認識するので、アクセス要求の競合が生ずる。従来では、このようなアクセス競合に対し調停が行われていなかったので、競合するアクセス要求が拒否されたり、高速アクセスが可能なストライピングモードのアクセス要求が後回しになることがあった。
本発明の目的は、このような問題点に鑑み、物理ディスクに対するアクセス要求の競合を適切に調停することが可能なRAIDドライバ及びこれを備えた電子機器並びにRAIDに対するアクセス要求調停方法を提供することにある。
本発明によるRAIDドライバの第1態様では、オペレーティングシステムからのアクセス要求に係るアクセス情報に含まれる論理ディスクアクセス情報を、物理ディスクアクセス情報に変換し、該物理ディスクアクセス情報を含むアクセス情報をRAIDコントローラに供給するRAIDドライバにおいて、
アクセス要求キューと、
プロセッサに対し、該オペレーティングシステムからの、論理ディスクに対するアクセス要求を、取込順決定情報に基づき順に該アクセス要求キューに格納させ、該アクセス要求キューからアクセス要求を順次取り出すアクセス要求調停手段とを有する。
本発明によるRAIDドライバの第2態様では、第1態様において、該取込順決定情報は、RAIDに構成された複数の論理ディスクのそれぞれの優先度と、それぞれの論理ディスクに対するアクセス要求の数とを含み、
該アクセス要求調停手段は、該プロセッサに対し、アクセス要求に係る論理ディスクの優先度が高いほど且つ該アクセス要求に係る論理ディスクに対するアクセス要求の数が多いほど、優先的に、該数のアクセス要求の一部又は全部を該アクセス要求キューに格納させる。
本発明によるRAIDドライバの第3態様では、第2態様において、該アクセス要求キューは、該複数の論理ディスクのそれぞれに対応した第1段のアクセス要求キュー群と、第2段のアクセス要求キューとを有し、
該アクセス要求調停手段は、
該プロセッサに対し、該オペレーティングシステムからのアクセス要求を、該第1段のアクセス要求キュー群のうちアクセス要求に係る論理ディスクに対応したアクセス要求キューに順に格納させる第1手段と、
該プロセッサに対し、所定のタイミングで、該第1段のアクセス要求キュー群のそれぞれのアクセス要求キューに格納されているアクセス要求の数が多いほど且つこのアクセス要求キューに対応した優先度が高いほど、優先的に、対応するアクセス要求キューから該数のアクセス要求の一部又は全部を取り出して該第2段のアクセス要求キューに格納させる第2手段とを有する。
本発明によるRAIDドライバの第4態様では、第3態様において、該第2手段は、該プロセッサに対し、実質的に、該複数の論理ディスクのそれぞれに対応した(アクセス要求数)/(優先度)の値の比に基づいて、1回で該第1段のアクセス要求キュー群のそれぞれから取り出すアクセス要求の数を決定させる。
ここに「実質的」とは、例えば優先度の値が大きいほど優先度が高いと定義して、(アクセス要求数)・(優先度)の値の比を用いる場合を含む意味である。
本発明によるRAIDドライバの第5態様では、第3態様において、該第2手段は、該プロセッサに対し、実質的に、該第1段のアクセス要求キュー群のうち該アクセス要求キュー群のそれぞれに対応した(アクセス要求数)/(優先度)の値が最大のものから1つ取り出す処理を繰り返させる。
本発明によるRAIDドライバの第6態様では、第3乃至5態様のいずれか1つにおいて、該所定のタイミングは、該第2段のアクセス要求キューが閾値になったことを検出した時点である。
上記第1態様の構成によれば、オペレーティングシステムからの、論理ディスクに対するアクセス要求を、アクセス要求調停手段により、取込順決定情報に基づき順にアクセス要求キューに格納し、該アクセス要求キューからアクセス要求を順次取り出し、この要求に基づいて、RAIDコントローラを介し物理ディスクに対するアクセスを行うので、アクセス要求の競合が生じても、アクセス要求が拒否されたり、高速アクセスが可能なストライピングモードのアクセス要求が後回しになったりするのを防止でき、これにより、物理ディスクに対するアクセス要求の競合を適切に調停することが可能となるという効果を奏する。
上記第2態様の構成によれば、アクセス要求に係る論理ディスクの優先度が高いほど且つ該アクセス要求に係る論理ディスクに対するアクセス要求の数が多いほど、優先的に、該数のアクセス要求の一部又は全部を該アクセス要求キューに格納するので、アクセス要求の競合をより適切に調停することが可能となるという効果を奏する。
上記第3態様の構成によれば、オペレーティングシステムからのアクセス要求を、第1段のアクセス要求キュー群のうちアクセス要求に係る論理ディスクに対応したアクセス要求キューに順に格納し、所定のタイミングで、該第1段のアクセス要求キュー群のそれぞれのアクセス要求キューに格納されているアクセス要求の数が多いほど且つこのアクセス要求キューに対応した優先度が高いほど、優先的に、対応するアクセス要求キューから該数のアクセス要求の一部又は全部を取り出して第2段のアクセス要求キューに格納するので、複雑なアクセス要求の調停処理を簡単化することができるという効果を奏する。
上記第4態様の構成によれば、実質的に、複数の論理ディスクのそれぞれに対応した(アクセス要求数)/(優先度)の値の比に基づいて、1回で該第1段のアクセス要求キュー群のそれぞれから取り出すアクセス要求の数を決定するので、一括処理が可能となるという効果を奏する。
上記第5態様の構成によれば、実質的に、該第1段のアクセス要求キュー群のうち該アクセス要求キュー群のそれぞれに対応した(アクセス要求数)/(優先度)の値が最大のものから1つ取り出す処理を繰り返すので、処理を単純化できるという効果を奏する。
上記第6態様の構成によれば、上記所定のタイミングが、該第2段のアクセス要求キューが閾値になったことを検出した時点であるので、第1アクセス要求キュー群から第2アクセス要求キューへのアクセス要求の移動が早くなり過ぎるのを防止でき、これにより、より適切に調停することが可能となるという効果を奏する。
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
図8は、本発明の実施例1に係る画像形成装置のハードウェア構成を示す概略ブロック図である。
画像形成装置10では、MPU11にインターフェイス12を介して、EEPROM13、DRAM14、RAIDコントローラ15、NIC16、印刷部17及び操作パネル18が結合されている。図8では、簡単化のため、複数のインターフェイスを1つのブロックで示している。
EEPROM13は、例えばフラッシュメモリである。EEPROM13には、仮想記憶方式のオペレーティングシステム(OS)、例えばLinux(登録商標)オペレーティングシステム、このOSの上層で動作する複数のアプリケーション及びOSの下層で操作するRAIDドライバを含む各種ドライバが格納されている。
DRAM14は、主メモリとして用いられる。
印刷部17は、プリントエンジン並びに用紙の給紙部、搬送部及び排紙部を備え、供給されるビットマップデータに基づいてプリントエンジンの感光ドラムに静電潜像を形成し、これをトナーで現像し、用紙に転写し定着させた後に排紙する。
図1は、本実施例1の特徴部分であるRAIDドライバ21に関係した構成を示す概略ブロック図である。図1において、ハードディスクドライブ19、20及びRAIDコントローラ23はハードウェア構成であり、その他は、ソフトウェア構成であって、実行時にはDRAM14内に構成される。
ハードディスクドライブ19及び20には、論理ディスクLD1、LD2、LD3及びLD4が構成されている。論理ディスクLD1及びLD2はいずれも、ハードディスクドライブ19と20の対応する領域に作成され、それぞれRAID0モード及びRAID1モードで、ハードディスクドライブ19と20とが同時にアクセスされる。論理ディスクLD3及びLD4はいずれも、通常モード(シングルモード)でアクセスされ、それぞれハードディスクドライブ20及びハードディスクドライブ19のみに作成されている。
RAIDドライバ21は、オペレーティングシステム22とRAIDコントローラ23との間のインターフェイスとして機能する。
オペレーティングシステム22は、カーネル220と、ファイルシステム221とを備えている。プロセス24がファイルをアクセスする場合、まず、プロセス24からカーネル220に対しファイルのパスとリード又はライト等のアクセスモードとを指定したファイルオープンのシステムコールが行われる。カーネル220は、これに応答して、カーネル用メモリ領域にストリームバッファ領域222を確保し、その識別子をプロセス24に返す。プロセス24はこの後、この識別子及びバイト数を指定してカーネル220を介しこのストリームバッファ領域222をアクセスすることにより、間接的にファイルをアクセスすることができる。
これを可能にするために、カーネル220は、ファイルシステム221を参照して、上記パスで指定されるファイルの先頭LBA(論理ブロックアドレス)の値を取得し、パスに含まれる論理ディスク名と、このLBAと、必要なブロック数と、ストリームバッファ222内のアクセス先頭アドレス(ストリームバッファアドレス)とを含むアクセス情報を指定して、RAIDドライバ21に対し、ファイルアクセスを要求する。1ブロックサイズは、例えば1セクタサイズに等しく、例えば512バイトである。RAIDドライバ21は、上記アクセス情報を、図6(B)に示すようなコントロールブロックCBに転記し、このコントロールブロックCBの先頭アドレス(コントロールブロックCBを指し示すポインタの内容*CB)をアクセス要求識別子(以下、単に「アクセス要求」と称す。)としてキューに入れる。
ここで、オペレーティングシステム22は、プロセス24からの要求に応じ、論理ディスクLD1〜LD4の物理的構成を考慮せずに、RAIDドライバ21に対し、論理ディスクLD1〜LD4のアクセスを要求する。
しかし、実際には、論理ディスクLD1〜LD4は同時に1つしかアクセスすることができず、オペレーティングシステム22からRAIDドライバ21へのアクセス要求が競合することになる。
そこで、RAIDドライバ21は、アクセス順決定部210を備えてこの調停を後述のように適切に行っている。
RAIDドライバ21において、論理/物理ディスクアクセス情報変換部211は、調停されたアクセス要求をアクセス順決定部210から受け取り、アドレス変換情報212を参照して、この要求に係る上記アクセス情報のうち論理ディスク情報である論理ディスク名及びLBAをそれぞれ物理ディスク情報である物理ディスク名及び物理ブロックアドレス(PBA)に変換し、また、アドレス変換情報212に記述された論理ディスクとモード(本実施例ではRAID0モード、RAID1モード又はシングルモード)との対応関係から、物理ディスク情報の一部であるモードを決定し、変換及び決定された物理ディスク情報を、図6(B)に示すアクセス情報213内の対応するコントロールブロックCBに書き込む。LBAとPBAとの差は、論理ディスク毎に定まる定数である。
論理/物理ディスクアクセス情報変換部211は、このコントロールブロックCBの先頭アドレス*CBを指定して、転送部214にデータ転送要求(サブルーチンコール)する。転送部214はこれに応答して、このコントロールブロックCBに含まれる物理ディスク名、PBA、モード、ブロック数及びストリームバッファ222内のアクセス先頭アドレスを、RAIDコントローラ23に転送する。
RAIDコントローラ23はこれに応答して、この物理ディスクアクセス情報に基づきそのモードを実行するように、ハードディスクドライブ19又は/及びハードディスクドライブ20に対し、アクセス要求する。RAIDコントローラ23は、DMA(Direct Memory Access)コントローラ230を備えており、リードの場合には、ハードディスクドライブ19又は/及びハードディスクドライブ20から読み出されたデータを、DMAによりストリームバッファ領域222内へ、そのアクセス先頭アドレスから(ブロック数)*512バイトだけ転送し、ライトの場合には、このストリームバッファ領域222からDMAによりデータをハードディスクドライブ19又は/及びハードディスクドライブ20へ同様に転送する。ハードディスクドライブ19及び20はいずれも、内部にハードディスクコントローラ及びバッファメモリを備えており、RAIDコントローラ23とのデータ転送は、このハードディスクコントローラを介しこのバッファメモリとの間で行われる。
RAIDドライバ21は、論理ディスクLD1〜LD4のそれぞれに対応した第1段のキュー30〜33と、第2段のキュー34と、論理ディスクLD1〜LD4のそれぞれの優先度が設定された優先度情報35と、調停制御を行うアクセス要求調停部36とを備えている。アクセス要求調停部36は、所定のタイミングで、キュー30〜33のそれぞれに格納されている要求(上記*CB、すなわち図6(B)中のAdr1〜Adr5、Adr9)の数と優先度情報35とに基づいて、次の1つの要求をキュー30〜33のいずれから取り出すかを決定し、決定された要求を取り出してキュー34へ入れる。
次に、アクセス要求調停部36の動作を具体的に説明する。
図4に示すように、論理ディスクLD1〜LD4の優先度がユーザによりそれぞれ1、3、3、3(値が小さいほど優先度が高い)と予め設定され、キュー30〜33にそれぞれ4つのアクセス要求が格納されて待ち状態となっている場合を考える。図4中のキュー30〜33内の数値は、オペレーティングシステム22からRAIDドライバ21へのアクセス要求順を示している。
アクセス要求調停部36は、取込順決定値GO=(アクセス要求数N)/(優先度P)の値が最大のアクセス要求を、キュー30〜33から1つだけ選択して取り出し、キュー34へ入れる。
図5(A)〜(F)は、アクセス要求調停部36がこの取出規則に従ってキュー33から34へアクセス要求を移動させた場合の状態遷移を示している。
まず、図4の状態では、キュー30〜33の取込順決定値GOはそれぞれ4/1、4/3、4/3、4/3であるので、キュー30内の要求1が選択されて、キュー34に入れられ、図5(A)に示す状態になる。
この状態では、キュー30〜33の取込順決定値GOがそれぞれ3/1、4/3、4/3、4/3であるので、キュー30内の要求5が選択されて、キュー34に入れられ、図5(B)に示す状態になる。
この状態では、キュー30〜33の取込順決定値GOがそれぞれ2/1、4/3、4/3、4/3であるので、キュー30内の要求9が選択されて、キュー34に入れられ、図5(C)に示す状態になる。
この状態では、キュー30〜33の取込順決定値GOがそれぞれ1/1、4/3、4/3、4/3であるので、キュー31内の要求2が選択されて、キュー34に入れられ、図5(D)に示す状態になる。
この状態では、キュー30〜33の取込順決定値GOがそれぞれ1/1、3/3、4/3、4/3であるので、キュー32内の要求3が選択されて、キュー34に入れられ、図5(E)に示す状態になる。
この状態では、キュー30〜33の取込順決定値GOがそれぞれ2/1、3/3、3/3、4/3であるので、キュー33内の要求4が選択されて、キュー34に入れられ、図5(F)に示す状態になる。
この状態から、RAIDコントローラ23がレディ状態になる毎に、キュー34から要求が取り出され、キュー34が空になると、上記同様にしてキュー30〜33から34への要求移動処理がアクセス要求調停部36により行われる。
ここでキュー30は、図6(A)に示すように、1次元配列300と、配列300の要素を指定する読出ポインタ301及び書込ポインタ302とを備えている。読出ポインタ301及び書込ポインタ302の内容は、配列300の要素の使用順が論理的にループ状になるように更新される。
すなわち、書込ポインタ302で示される書込ポインタ302でポイントされる配列300の要素にコントロールブロックCBの先頭アドレスが格納されると、書込ポインタ302の内容がデクリメントされ、読出ポインタ301でポイントされる配列300の要素の内容が取り出されると、読出ポインタ301の内容がデクリメントされる。読出ポインタ301又は書込ポインタ302でポイントされる配列300の要素が先頭要素である場合には、このデクリメントの替わりに、配列300の最後の要素のアドレスが読出ポインタ301又は書込ポインタ302に書き込まれる。これら読出ポインタ301の内容と書込ポインタ302の内容とに基づいて、キュー30に格納されているアクセス要求の数が求められる。
キュー31〜34についてもキュー30と同様である。
図2(A)及び(B)はいずれも、アクセス要求調停部36による処理を示すフローチャートである。図2(A)の処理は、カーネル220からRAIDドライバ21へのアクセス要求に応答して開始される。以下、括弧内は図中のステップ識別符号である。
(S0)このアクセス要求が論理ディスクLD1に対するものであれば、そのコントロールブロックCBの先頭アドレス(コントロールブロックCBのポインタの内容)をキュー30に入れ、論理ディスクLD2に対するものであれば、そのコントロールブロックCBの先頭アドレスをキュー31に入れ、論理ディスクLD3に対するものであれば、そのコントロールブロックCBの先頭アドレスをキュー32に入れ、論理ディスクLD4に対するものであれば、そのコントロールブロックCBの先頭アドレスをキュー33に入れる。
図2(B)の処理は、図2(A)の処理を終了した後、及び、RAIDコントローラ23がレディ状態へ遷移したときの割込により、開始される。
(S10)キュー34が空でなければステップS11へ進み、空であればステップS14へ進む。
(S11)キュー34からアクセス要求を1つ取り出す。
(S12)上述のように、この要求に係る論理ディスクアクセス情報を物理ディスクアクセス情報に変換し、これをそのコントロールブロックCBに書き込む。
(S13)RAIDコントローラ23がレディ状態であれば、転送部214を介して、このコントロールブロックCBに含まれる上記内容を、RAIDコントローラ23へ転送し、図2の処理を終了する。
(S14)上述のようなキュー30〜33からキュー34へのアクセス要求移動処理を行い、次いでステップS11へ進む。
図3は、このステップS14の処理を示す詳細フローチャートである。
(S20)キュー34内のアクセス要求数を示す変数iに初期値0を代入する。
(S21)キュー30〜33のいずれかが空でなければステップS22へ進み、全てが空であれば図3の処理を終了する。
(S22)キュー30〜33の取込順決定値GOを上述のようにして算出する。
(S23)キュー30〜33のうち、算出した取込順決定値GOの比の最大値に対応するものから、要求を1つ取り出して、キュー34に入れる。
(S24)iの値を1だけインクリメントする。
(S25)i≦imaxであればステップS21へ戻り、そうでなければ図3の処理を終了する。imaxは、例えば6である。
このような処理により、図4の状態から図5の(A)〜(F)に示す状態へ順次遷移し、キュー34からアクセス要求が取出されて、ハードディスクドライブ19又は/及びハードディスクドライブ20に対するアクセスが行われる。
ステップS10からステップS14へ移った時に、すなわち、キュー34が空になったタイミングで、キュー30〜33のいずれかに複数の要求が含まれていれば、キュー30〜33のそれぞれの優先度のみならず、それぞれの要求数に比例して取込順決定値GOが決定されるので、前記要求移動処理を行うことにより、要求順を適切に入れ替えてその結果に基づきハードディスクドライブ19及び20をアクセスすることができる。
これにより、例えば、高速処理が可能なストライピングモードによるアクセスが後回しになるのを防止でき、期待された動作が行われる。また、信頼性向上のためにミラーリングモードを選択したがアクセス遅延を防止したい場合に、その優先度を高くすることにより、アクセスが競合してもアクセス遅延を防止可能となる。
上述の規則に基づく図2のステップS14の処理は、図3のものに限定されず、この規則に基づく他の処理を、本発明の実施例2として次に説明する。
図9は、図3の代替処理のフローチャートである。
(S30)図3のステップS22と同様に、キュー30〜33のそれぞれの取込順決定値GOを算出する。
(S31)これら取込順決定値GOの比、図4の場合は4/1:4/3:4/3:4/3=3:1:1:1で、キュー30〜33から、1回で取出すアクセス要求の数を決定する。但し、キュー30〜33から取出すアクセス要求の全数を6とする。図4の場合、キュー30〜33からそれぞれ3個、1個、1個、1個取出すことになる。取出す順番は、上記比の値が大きいほど先とし、同一値の場合には、図4の左側の方が先とする。これにより、図4に示す状態から図5(F)に示す状態となり、図3の処理結果と同一となる。
他の点は、実施例1と同じである。
なお、本発明には外にも種々の変形例が含まれる。
例えば、優先度情報35は、ユーザが手動で設定しても、プログラムで、その処理内容に応じて動的に設定変更してもよい。
また、RAIDコントローラ23は、ソフトウェアによる構成であってもよい。
さらに、取込順決定値GOの式には、好ましくは少なくとも優先度と要求数とが実質的に含まれて、アクセス要求に係る論理ディスクの優先度が高いほど且つ該アクセス要求に係る論理ディスクに対するアクセス要求の数が多いほど、優先的に、該数のアクセス要求の一部又は全部をアクセス要求キューに格納させるものであればよく、上述の式に限定されない。
また、図2のステップS10からステップS14へ進む判定基準は、第2キュー内のアクセス要求数が閾値以下であればよく、閾値が0に限定されないことは勿論である。さらに、キューには、ポインタの内容*CBの替わりに、例えば、*CB=(オフセット値)+整数*(1ブロックのワード数又はバイト数)における整数を入れる構成であってもよい。また、コントロールブロックCB
本発明の実施例1の特徴部分であるRAIDドライバに関係した構成を示す概略ブロック図である。 (A)及び(B)はいずれも、アクセス要求調停部による処理を示すフローチャートであり、(A)は、カーネルからRAIDドライバへのアクセス要求に応答して開始されものであり、(B)は、図2(A)の処理を終了した後、及び、RAIDコントローラがレディ状態へ遷移したときの割込により開始されるものである。 図2(B)中のステップS14の処理を示す詳細フローチャートである。 アクセス要求調停部の具体的な動作説明に供する、図2のステップS10からステップS14へ移った直後の状態説明図である。 (A)〜(F)は図3の処理の説明図である。 (A)はソフトウェアキューの構成説明図、(B)はアクセス情報の項目及びこの情報とキューとの関係を示す説明図である。 論理ブロックアドレスLBAと物理ブロックアドレスPBAとの関係を示す概略説明図である。 本発明の実施例1に係る画像形成装置のハードウェア構成を示す概略ブロック図である。 本発明の実施例2に係る、図3の代替処理のフローチャートである。
符号の説明
10 画像形成装置
11 MPU
12 インターフェイス
13 EEPROM
14 DRAM
15 RAIDコントローラ
16 ネットワークアダプタ
17 印刷部
18 操作パネル
19、20 ハードディスクドライブ
21 RAIDドライバ
210 アクセス順決定部
211 論理/物理ディスクアクセス情報変換部
212 アドレス変換情報
213 アクセス情報
214 転送部
22 オペレーティングシステム
220 カーネル
221 ファイルシステム
222 ストリームバッファ領域
23 RAIDコントローラ
230 DMAコントローラ
24 プロセス
30〜34 キュー
301 配列
302 読出ポインタ
303 書込ポインタ
35 優先度情報
36 アクセス要求調停部
LD1〜LD4 論理ディスク
CB、CB1 コントロールブロック
GO 取込順決定値

Claims (8)

  1. オペレーティングシステムからのアクセス要求に係るアクセス情報に含まれる論理ディスクアクセス情報を、物理ディスクアクセス情報に変換し、該物理ディスクアクセス情報を含むアクセス情報をRAID(Redundant Arrays of Independent Disks)コントローラに供給するRAIDドライバにおいて、
    アクセス要求キューと、
    プロセッサに対し、該オペレーティングシステムからの、論理ディスクに対するアクセス要求を、取込順決定情報に基づき順に該アクセス要求キューに格納させ、該アクセス要求キューからアクセス要求を順次取り出すアクセス要求調停手段と、
    を有することを特徴とするRAIDドライバ。
  2. 該取込順決定情報は、
    RAIDに構成された複数の論理ディスクのそれぞれの優先度と、それぞれの論理ディスクに対するアクセス要求の数とを含み、
    該アクセス要求調停手段は、該プロセッサに対し、アクセス要求に係る論理ディスクの優先度が高いほど且つ該アクセス要求に係る論理ディスクに対するアクセス要求の数が多いほど、優先的に、該数のアクセス要求の一部又は全部を該アクセス要求キューに格納させる、
    ことを特徴とする請求項1に記載のRAIDドライバ。
  3. 該アクセス要求キューは、該複数の論理ディスクのそれぞれに対応した第1段のアクセス要求キュー群と、第2段のアクセス要求キューとを有し、
    該アクセス要求調停手段は、
    該プロセッサに対し、該オペレーティングシステムからのアクセス要求を、該第1段のアクセス要求キュー群のうちアクセス要求に係る論理ディスクに対応したアクセス要求キューに順に格納させる第1手段と、
    該プロセッサに対し、所定のタイミングで、該第1段のアクセス要求キュー群のそれぞれのアクセス要求キューに格納されているアクセス要求の数が多いほど且つこのアクセス要求キューに対応した優先度が高いほど、優先的に、対応するアクセス要求キューから該数のアクセス要求の一部又は全部を取り出して該第2段のアクセス要求キューに格納させる第2手段と、
    を有することを特徴とする請求項2に記載のRAIDドライバ。
  4. 該第2手段は、該プロセッサに対し、実質的に、該複数の論理ディスクのそれぞれに対応した(アクセス要求数)/(優先度)の値の比に基づいて、1回で該第1段のアクセス要求キュー群のそれぞれから取り出すアクセス要求の数を決定させる、
    ことを特徴とする請求項3に記載のRAIDドライバ。
  5. 該第2手段は、該プロセッサに対し、実質的に、該第1段のアクセス要求キュー群のうち該アクセス要求キュー群のそれぞれに対応した(アクセス要求数)/(優先度)の値が最大のものから1つ取り出す処理を繰り返させる、
    ことを特徴とする請求項3に記載のRAIDドライバ。
  6. 該所定のタイミングは、該第2段のアクセス要求キューが閾値になったことを検出した時点である、
    ことを特徴とする請求項3乃至5のいずれか1つに記載のRAIDドライバ。
  7. 請求項1乃至6のいずれか1つに記載のRAIDドライバが記憶手段に格納されているコンピュータを有することを特徴とする電子機器。
  8. 記憶手段を備えたコンピュータがRAIDに対するアクセス競合を調停するアクセス調停方法において、該記憶手段には、アクセス要求キューと、RAIDに構成された複数の論理ディスクのそれぞれの優先度とが格納され、該コンピュータが、
    論理ディスクに対するアクセス要求を、該論理ディスクの優先度を含む取込順決定情報に基づき順に該アクセス要求キューに格納し、
    該アクセス要求キューからアクセス要求を順次取り出し、取り出されたアクセス要求に係る論理ディスクアクセス情報を物理ディスクアクセス情報に変換し、該物理ディスクアクセス情報を含むアクセス情報をRAIDコントローラに供給する、
    ことを特徴とする、RAIDに対するアクセス調停方法。
JP2008328953A 2008-12-25 2008-12-25 Raidドライバ及びこれを備えた電子機器並びにraidに対するアクセス要求調停方法 Expired - Fee Related JP5171602B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008328953A JP5171602B2 (ja) 2008-12-25 2008-12-25 Raidドライバ及びこれを備えた電子機器並びにraidに対するアクセス要求調停方法
US12/564,676 US8347032B2 (en) 2008-12-25 2009-09-22 Image forming apparatus and access request arbitration method for a RAID driver
CN2009102252260A CN101762999B (zh) 2008-12-25 2009-11-16 图像形成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008328953A JP5171602B2 (ja) 2008-12-25 2008-12-25 Raidドライバ及びこれを備えた電子機器並びにraidに対するアクセス要求調停方法

Publications (2)

Publication Number Publication Date
JP2010152571A true JP2010152571A (ja) 2010-07-08
JP5171602B2 JP5171602B2 (ja) 2013-03-27

Family

ID=42286297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008328953A Expired - Fee Related JP5171602B2 (ja) 2008-12-25 2008-12-25 Raidドライバ及びこれを備えた電子機器並びにraidに対するアクセス要求調停方法

Country Status (3)

Country Link
US (1) US8347032B2 (ja)
JP (1) JP5171602B2 (ja)
CN (1) CN101762999B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012216004A (ja) * 2011-03-31 2012-11-08 Panasonic Healthcare Co Ltd 入出力制御装置
JP2014142757A (ja) * 2013-01-23 2014-08-07 Toshiba Corp インターフェース制御装置、データ記憶装置及びインターフェース制御方法
JP2017016487A (ja) * 2015-07-02 2017-01-19 株式会社バイオス ストレージ制御装置
CN106776377A (zh) * 2016-12-12 2017-05-31 中国航空工业集团公司西安航空计算技术研究所 一种用于并发读取多个存储单元的地址合并处理电路

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9311184B2 (en) * 2010-02-27 2016-04-12 Cleversafe, Inc. Storing raid data as encoded data slices in a dispersed storage network
CN102053800A (zh) * 2010-11-26 2011-05-11 华为技术有限公司 数据存取的方法、消息接收解析器及系统
JP5704318B2 (ja) * 2011-02-08 2015-04-22 コニカミノルタ株式会社 画像形成方法および画像形成装置
US8904105B2 (en) * 2011-03-15 2014-12-02 Dell Products L.P. System and method for performing raid I/O operations in PCIE-based storage resources
US9361305B2 (en) * 2011-08-09 2016-06-07 Kyocera Document Solutions Inc. Image forming apparatus having a file system
US9047068B2 (en) * 2011-10-31 2015-06-02 Dell Products L.P. Information handling system storage device management information access
US10102174B2 (en) * 2014-10-03 2018-10-16 Verizon Patent And Licensing Inc. Smart harness
CN106844140B (zh) * 2016-12-21 2020-05-26 南京富士通南大软件技术有限公司 一种基于scom的监控方法
US11221964B2 (en) * 2019-04-24 2022-01-11 EMC IP Holding Company LLC Allocating adjacent file parts to different virtual cylinder groups mapped to physical storage devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259198A (ja) * 1993-03-09 1994-09-16 Hitachi Ltd ディスク装置システム
JPH09128159A (ja) * 1995-11-06 1997-05-16 Matsushita Electric Ind Co Ltd 記憶装置
JP2000242441A (ja) * 1999-02-19 2000-09-08 Toshiba Corp ディスク制御方法およびその制御装置
JP2001067297A (ja) * 1999-07-26 2001-03-16 Internatl Business Mach Corp <Ibm> ディスク・ドライブへコマンドを出すかどうかを決定する方法及びディスク・コントローラ
JP2001222382A (ja) * 2000-02-07 2001-08-17 Toshiba Corp ディスク装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3344907B2 (ja) * 1996-11-01 2002-11-18 富士通株式会社 Raid装置及び論理ボリュームのアクセス制御方法
JP3324572B2 (ja) * 1999-03-30 2002-09-17 三菱電機株式会社 情報処理装置並びにコンピュータに実行させるためのプログラムを記録した記録媒体
US7263476B1 (en) * 2000-06-12 2007-08-28 Quad Research High speed information processing and mass storage system and method, particularly for information and application servers
JP2002259062A (ja) 2001-02-28 2002-09-13 Hitachi Ltd 記憶装置システム及び記憶装置システムにおけるデータの複写方法
JP3617632B2 (ja) * 2001-07-19 2005-02-09 富士通株式会社 Raid制御装置及びその制御方法
JP4521206B2 (ja) * 2004-03-01 2010-08-11 株式会社日立製作所 ネットワークストレージシステム、コマンドコントローラ、及びネットワークストレージシステムにおけるコマンド制御方法
JP4305378B2 (ja) * 2004-12-13 2009-07-29 ソニー株式会社 データ処理システム、アクセス制御方法、その装置およびそのプログラム
JP2008080648A (ja) * 2006-09-27 2008-04-10 Canon Inc 画像形成装置及びその制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259198A (ja) * 1993-03-09 1994-09-16 Hitachi Ltd ディスク装置システム
JPH09128159A (ja) * 1995-11-06 1997-05-16 Matsushita Electric Ind Co Ltd 記憶装置
JP2000242441A (ja) * 1999-02-19 2000-09-08 Toshiba Corp ディスク制御方法およびその制御装置
JP2001067297A (ja) * 1999-07-26 2001-03-16 Internatl Business Mach Corp <Ibm> ディスク・ドライブへコマンドを出すかどうかを決定する方法及びディスク・コントローラ
JP2001222382A (ja) * 2000-02-07 2001-08-17 Toshiba Corp ディスク装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012216004A (ja) * 2011-03-31 2012-11-08 Panasonic Healthcare Co Ltd 入出力制御装置
JP2014142757A (ja) * 2013-01-23 2014-08-07 Toshiba Corp インターフェース制御装置、データ記憶装置及びインターフェース制御方法
JP2017016487A (ja) * 2015-07-02 2017-01-19 株式会社バイオス ストレージ制御装置
CN106776377A (zh) * 2016-12-12 2017-05-31 中国航空工业集团公司西安航空计算技术研究所 一种用于并发读取多个存储单元的地址合并处理电路
CN106776377B (zh) * 2016-12-12 2020-04-28 中国航空工业集团公司西安航空计算技术研究所 一种用于并发读取多个存储单元的地址合并处理电路

Also Published As

Publication number Publication date
CN101762999A (zh) 2010-06-30
US8347032B2 (en) 2013-01-01
JP5171602B2 (ja) 2013-03-27
US20100169573A1 (en) 2010-07-01
CN101762999B (zh) 2012-08-29

Similar Documents

Publication Publication Date Title
JP5171602B2 (ja) Raidドライバ及びこれを備えた電子機器並びにraidに対するアクセス要求調停方法
US9317204B2 (en) System and method for I/O optimization in a multi-queued environment
JP4922496B2 (ja) I/o要求に優先順位を与える方法
JP5657641B2 (ja) データストレージデバイスのコマンド及び割り込みのグループ化
US7480754B2 (en) Assignment of queue execution modes using tag values
US20130212319A1 (en) Memory system and method of controlling memory system
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
EP3605347B1 (en) Systems and methods for i/o prioritization in nvme-compliant storage devices
JP2008047116A (ja) 入力/出力装置とメモリ間のデータ転送の融通性のある制御
JP5416860B2 (ja) 計算機システムおよびその制御方法
US6665746B1 (en) System and method for prioritized context switching for streaming data memory transfers
JP4176341B2 (ja) 記憶制御装置
US7032093B1 (en) On-demand allocation of physical storage for virtual volumes using a zero logical disk
US10089039B2 (en) Memory controller, memory device having the same, and memory control method
JP5849794B2 (ja) ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム
US9465745B2 (en) Managing access commands by multiple level caching
US20210103445A1 (en) Method and apparatus for preprocessing data transfer commands
JP5158576B2 (ja) 入出力制御システム、入出力制御方法、及び、入出力制御プログラム
US10346070B2 (en) Storage control apparatus and storage control method
US9858204B2 (en) Cache device, cache system, and cache method
US10169235B2 (en) Methods of overriding a resource retry
JP2009199367A (ja) 計算機システム、i/oスケジューラ及びi/oスケジューリング方法
CN112306927B (zh) 一种io请求的处理方法、装置及系统
US9058113B2 (en) Storage region providing device, storage region providing method, and recording medium
US10783096B2 (en) Storage system and method of controlling I/O processing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120831

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121225

R150 Certificate of patent or registration of utility model

Ref document number: 5171602

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees