JP2007193886A - ディスク装置、データ書込み制御方法およびコマンド制御方法 - Google Patents

ディスク装置、データ書込み制御方法およびコマンド制御方法 Download PDF

Info

Publication number
JP2007193886A
JP2007193886A JP2006010476A JP2006010476A JP2007193886A JP 2007193886 A JP2007193886 A JP 2007193886A JP 2006010476 A JP2006010476 A JP 2006010476A JP 2006010476 A JP2006010476 A JP 2006010476A JP 2007193886 A JP2007193886 A JP 2007193886A
Authority
JP
Japan
Prior art keywords
data
multiplicity
capacity
command
disk device
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
JP2006010476A
Other languages
English (en)
Inventor
Takeshi Tanaka
健 田中
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 JP2006010476A priority Critical patent/JP2007193886A/ja
Priority to US11/411,323 priority patent/US7478195B2/en
Publication of JP2007193886A publication Critical patent/JP2007193886A/ja
Pending legal-status Critical Current

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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
    • G11B2220/415Redundant array of inexpensive disks [RAID] systems

Abstract

【課題】ディスク装置の信頼性を向上させること。
【解決手段】OSなどシステムデータを最初に書き込む前に、容量制限処理部102がホスト2から受信した容量制限コマンドに基づいて多重度および高多重度領域サイズを算出して多重度管理テーブル171に設定し、ライト処理部103が多重度管理テーブル171に基づいてデータを多重で書き込み、リード処理部104がリードエラーが発生した場合に、多重に書き込まれた他のデータを読み出してホスト2に転送するよう構成する。
【選択図】 図2

Description

この発明は、ホストからの指示に基づいてデータの書込みを少なくとも行うディスク装置、データ書込み制御方法およびコマンド制御方法に関し、特に、簡単な操作だけでデータを多重化して記録する信頼性の高いディスク装置、データ書込み制御方法およびコマンド制御方法に関するものである。
近年、磁気ディスク装置はパソコンだけでなく、デジタルAV機器やモバイル機器などのホスト(上位コントローラ)にインタフェース接続されて様々な分野で使われており、磁気ディスク装置の応用分野が拡大するにしたがって、磁気ディスク装置への要求も多様なものとなってきている。
例えば、モバイル機器で使われる場合には、さまざまな環境の下で動作する必要があるため、容量が大きいことよりも信頼性が高いことが重要となる。そこで、高い信頼性を要求されるデータについては、2重化して記録する磁気ディスク装置が開発されている(例えば、特許文献1参照。)。
特開2005−108040号公報
しかしながら、高い信頼性を要求するデータに対して2重化を指定して記録することとすると、信頼性が高いデータの割合が多い場合には、データを記録するたびに2重化を指定する必要があり、指定が煩わしいという問題がある。特に、記録したいデータ量に比べて磁気ディスク装置の容量がはるかに大きい場合には、2重化指定の煩わしさが顕著なものとなる。
また、一部のデータだけを2重化する場合には、データを2重化する割合に応じて記録容量が異なってくるため、記録可能なデータの容量が特定できないという問題もある。また、モバイル環境などでは、より多重度をあげてデータを記録したいという要求もある。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、簡単な操作だけでデータを多重化して記録する信頼性の高いディスク装置、データ書込み制御方法およびコマンド制御方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、請求項1の発明に係るディスク装置は、ホストからの指示に基づいてデータの書込みを少なくとも行うディスク装置であって、データの書込みに使用する記録容量を指定する情報を含む容量制限コマンドをホストから受信し、該受信した容量制限コマンドで指定された記録容量に基づいて、ディスクに書き込むデータの多重度を算出する多重度算出手段と、ホストから送信されてくるデータを前記多重度算出手段により算出された多重度で書き込む書込手段と、を備えたことを特徴とする。
この請求項1の発明によれば、データの書込みに使用する記録容量を指定する情報を含む容量制限コマンドをホストから受信し、受信した容量制限コマンドで指定された記録容量に基づいて、ディスクに書き込むデータの多重度を算出し、ホストから送信されてくるデータを、算出した多重度で書き込むよう構成したので、データの書込みに使用する記録容量を指定するだけで、データの多重記録を行うことができる。
また、請求項2の発明に係るディスク装置は、請求項1の発明において、前記多重度算出手段は、使用する最終論理ブロックアドレスをホストから受信し、該受信した最終論理ブロックアドレスと装置の容量とに基づいて多重度を算出することを特徴とする。
この請求項2の発明によれば、使用する最終論理ブロックアドレスをホストから受信し、受信した最終論理ブロックアドレスと装置の容量とに基づいて多重度を算出するよう構成したので、使用する最終論理ブロックアドレスを指定するだけで、データの多重記録を行うことができる。
また、請求項3の発明に係るディスク装置は、請求項2の発明において、前記多重度算出手段は、装置の容量を前記最終論理ブロックアドレスで割った商を多重度とし、該最終論理ブロックアドレスと多重度の積を装置の容量から引いた大きさのデータについては多重度を一つ増加させることを特徴とする。
この請求項3の発明によれば、装置の容量を最終論理ブロックアドレスで割った商を多重度とし、最終論理ブロックアドレスと多重度の積を装置の容量から引いた大きさのデータについては多重度を一つ増加させるよう構成したので、一部のデータについて多重度を増加させることができる。
また、請求項4の発明に係るデータ書込み制御方法は、ホストからの指示に基づいてディスクへのデータの書込み制御を行うデータ書込み制御方法であって、データの書込みに使用する記録容量を指定する情報を含む容量制限コマンドをホストから受信し、該受信した容量制限コマンドで指定された記録容量に基づいて、ディスクに書き込むデータの多重度を算出する多重度算出工程と、ホストから送信されてくるデータを前記多重度算出工程により算出された多重度で書き込む書込工程と、を含んだことを特徴とする。
この請求項4の発明によれば、データの書込みに使用する記録容量を指定する情報を含む容量制限コマンドをホストから受信し、受信した容量制限コマンドで指定された記録容量に基づいて、ディスクに書き込むデータの多重度を算出し、ホストから送信されてくるデータを、算出した多重度で書き込むよう構成したので、データの書込みに使用する記録容量を指定するだけで、データの多重記録を行うことができる。
また、請求項5の発明に係るコマンド制御方法は、ディスク装置に対して所定のコマンドを発行するコマンド制御方法であって、データの書込みを実行させるライトコマンドを前記ディスク装置に発行する制御工程と、データの書込みに使用する記録容量を指定する情報を含む容量制限コマンドを前記ディスク装置に発行する制御工程とを少なくとも有し、容量制限コマンドで指定される記録容量に基づいて定められた多重度に応じて、前記ディスク装置に対してデータを多重化して書込みを行なわせることを特徴とする。
この請求項5の発明によれば、データの書込みを実行させるライトコマンドをディスク装置に発行し、データの書込みに使用する記録容量を指定する情報を含む容量制限コマンドをディスク装置に発行し、容量制限コマンドで指定される記録容量に基づいて定められた多重度に応じて、ディスク装置に対してデータを多重化して書込みを行なわせるよう構成したので、データの書込みに使用する記録容量を指定するだけで、データの多重記録を行うことができる。
請求項1、4および5の発明によれば、データの書込みに使用する記録容量を指定するだけで、データの多重記録を行うので、簡単な操作だけでデータを多重化して記録し、信頼性を向上することができるという効果を奏する。
また、請求項2の発明によれば、使用する最終論理ブロックアドレスを指定するだけで、データの多重記録を行うので、簡単な操作だけでデータを多重化して記録し、信頼性を向上することができるという効果を奏する。
また、請求項3の発明によれば、一部のデータについて多重度を増加させるので、特に高い信頼性を必要とするデータだけについて多重度を増加させることができるという効果を奏する。
以下に添付図面を参照して、この発明に係るディスク装置、データ書込み制御方法およびコマンド制御方法の好適な実施例を詳細に説明する。なお、本実施例では、本発明を磁気ディスク装置に適用した場合を中心に説明する。
まず、本実施例に係る磁気ディスク装置の構成について説明する。図1は、本実施例に係る磁気ディスク装置の構成を示すハードウェア構成図である。同図に示すように、この磁気ディスク装置1は、PCBA(Printed Circuit Board Assembly)10と、ディスクドライブ20とにより構成される。この磁気ディスク装置1は、ATAインタフェースによりホスト2と接続され、磁気ディスク装置1とホスト2との間でデータや制御コマンドなどが伝送される。
PCBA10は、磁気ディスク装置1を制御する種々のLSIが配置されたプリント基板である。このPCBA10は、HDC(Hard Disk Controller)11と、RDC(Read Channel)12と、バッファ13と、FROM14と、CPU15と、ROM16と、SRAM17とを有しており、これらは互いにバスで接続されている。
HDC11は、バッファ13に格納されたデータをディスクドライブ20に書き込む際の動作や、ディスクドライブ20に記録されたデータを読み出してバッファ13に格納する際の動作を制御するコントローラである。RDC12は、バッファ13とディスクドライブ20との間を仲介し、データを変調または復調するLSIである。
バッファ13は、ホスト2とディスクドライブ20との間でリードまたはライトされるデータを一時的に格納するキャッシュである。FROM14は、この磁気ディスク装置1の動作を制御するファームウェアを記憶する不揮発性のメモリである。
CPU15は、SRAM17に展開されたファームウェアを読み出して実行する中央処理装置であり、そのファームウェアの一部はリード/ライト制御部100としてCPU15の内部で実行される。ここで、リード/ライト制御部100は、ホスト2からの指示に基づいてデータライトおよびデータリードをHDC11に指示し、制御する処理部である。
ROM16は、磁気ディスク装置1を動作させる際に必要となる各種定数を記憶する不揮発性のメモリである。SRAM17は、FROM14に記憶されたファームウェアを展開するための揮発性のメモリである。また、このSRAM17は、データを多重化して記録した記録先などの情報を、多重化管理テーブル171(図4参照)として記憶する。
ディスクドライブ20は、この磁気ディスク装置1においてデータが記録される部分であり、4つのプラッタ21(プラッタ21−0〜21−3)と、DCM22と、8つのヘッド23(ヘッド23−0〜23−7)と、VCM24とを有する。
プラッタ21は、裏表両面に磁気記録面を有する中空円盤状の基板である。DCM22は、積層された複数のプラッタ21を回転させる駆動装置である。ヘッド23は、プラッタ21の磁気記録面に対して磁気的にデータのリード/ライトを行う磁気ヘッドである。VCM24は、ヘッド23をディスク半径方向に移動させて、ヘッド23を目的のデータリード/ライト先へと移動させる駆動装置である。
次に、リード/ライト制御部100の構成について説明する。図2は、リード/ライト制御部100の構成を示す機能ブロック図である。同図に示すように、リード/ライト制御部100は、ホスト2との間でコマンドレジスタ151を用いて通信を行う。
コマンドレジスタ151は、ホスト2が磁気ディスク装置1に対して発行する制御コマンドを格納するレジスタである。リード/ライト制御部100は、このコマンドレジスタ151に格納された制御コマンドを読み出し、その制御コマンドに対応する処理を実行する。
このコマンドレジスタ151に格納される制御コマンドの一つとして、磁気ディスク装置1の使用容量を制限するとともに記録するデータの多重度を指定する容量制限コマンドがある。なお、この容量制限コマンドは本発明の実現のためにホスト2のインタフェースプログラムにプロトコルとして新設したものである。
図3−1は、容量制限コマンドのフォーマットを示す図である。同図に示すように、この容量制限コマンドでは、コマンドレジスタ151のうち「LBA低」、「LBA中」、「LBA高」および「デバイス」の一部を用いてLBA(Logical Block Address)が指定され、「コマンド」として容量制限コマンドが指定される。
容量制限コマンドのLBAは、磁気ディスク装置1を使用する上での制限容量および多重度を指定する。例えば、磁気ディスク装置1の容量が100GBであり、容量制限コマンドのLBAとして100GBの1/4にあたるアドレスが指定された場合には、磁気ディスク装置1は、25GBに容量が制限され、全てのデータが4重化されて記録される。なお、容量制限コマンドは、OSなどのシステムデータをインストール際に、ホスト2がユーザ環境に合わせて発行する。
また、リード/ライト制御部100は、容量制限コマンドなどの制御コマンドを受領すると、コマンドレジスタ151に現在のステータスに対応する値を返す。図3−2は、容量制限コマンド受領時にコマンドレジスタ151に格納される値を示す図である。同図に示す各値は、図3−1に示した容量制限コマンドのフォーマットと対応しており、最上段は「フィーチャ」に代えて「エラー」として利用され、最下段は「コマンド」に代えて「ステータス」として利用される。
同図の最上段に示す「エラー」では、リード/ライト制御部100が容量制限コマンドを正常に認識できたか否かが設定され、正常に認識できれば「00h」、正常に認識できずにエラーが発生したときには「04h」が設定される。
また、同図の最下段に示す「ステータス」では、リード/ライト制御部100が返すステータスとして「50h(ドライブレディ)」または「51h(エラー)」が設定される。
リード/ライト制御部100は、コマンド解析部101と、容量制限処理部102と、ライト処理部103と、リード処理部104と、データ修復部105とを有する。
コマンド解析部101は、コマンドレジスタ151に格納された制御コマンドの種別を解析し、その制御コマンドが容量制限コマンドであれば容量制限処理部102へ、ライトコマンドであればライト処理部103へ、リードコマンドであればリード処理部104へと処理を振り分ける処理部である。このコマンド解析部101は、コマンドレジスタ151におけるコマンドの値を参照することで、制御コマンドの種別を判別する。
容量制限処理部102は、ホスト2が発行した容量制限コマンドを処理する処理部である。具体的には、この容量制限処理部102は、磁気ディスク装置1の容量をコマンドレジスタ151に格納されたLBAの値で割った商を求め、多重度として多重化管理テーブル171に格納し、多重度とLBAとの積を磁気ディスク装置1の容量から引いた値を高多重度領域サイズとして多重化管理テーブル171に格納する。
図4は、多重化管理テーブル171の一例を示す図である。同図に示すように、この多重化管理テーブル171には、多重度と、高多重度領域サイズと、ホスト指定開始LBAと、そのデータのサイズと、多重ライトされたデータの全ての記録先であるデータ記録先とが含まれる。
例えば、磁気ディスク装置1の容量が100GBであり、LBAの値が25GBである場合には、多重度は100/25=4となり、高多重度領域サイズは100−4×25=0となる。また、容量が100GBの磁気ディスク装置1で先頭から10GBをOS領域として使用し、先頭から10GBのデータの信頼性を向上させたい場合には、LBAの値を90GBとすることによって、多重度は100/90の商=1となり、高多重度領域サイズは100−90=10となって、先頭の10GBすなわちOS領域を2重化することができる。
また、図4に示す例では、ホスト指定開始LBAが「A」のデータは、サイズが「S_A」で、ヘッド多重により3多重されており、3多重された各データのデータ記録先は「A0」、「A1」、「A2」であることを示している。なお、このデータ記録先では、データの記録を開始するアドレスが、CHS形式により指定される。
容量制限処理部102が、容量制限コマンドに基づいて多重度と高多重度領域サイズを決定して多重化管理テーブル171に格納することによって、多重度に基づくデータの読書きを行うことができる。
ライト処理部103は、ディスクドライブ20へのデータの書き込みをHDC11に指示する処理部である。このライト処理部103は、コマンド解析部101からライトコマンドを受領すると、データを記録するデータ記録先を、多重化管理テーブル171が記憶する多重度の個数分決定して多重化管理テーブル171に格納するとともに、決定した多重度の個数分のデータ記録先にバッファ13に格納されたデータを書き込むようHDC11に対して指示する。
また、このライト処理部103は、先頭LBAから多重化管理テーブル171の高多重度領域サイズ内にデータを書き込むようにホストが指定した場合には、データを記録するデータ記録先を、多重化管理テーブル171が記憶する多重度に1を加えた多重度の個数分決定して多重化管理テーブル171に格納するとともに、決定した個数分のデータ記録先にバッファ13に格納されたデータを書き込むようHDC11に対して指示する。
このライト処理部103が、データを記録するデータ記録先を、多重化管理テーブル171が記憶する多重度の個数分決定し、決定した多重度の個数分のデータ記録先にバッファ13に格納されたデータを書き込むようHDC11に対して指示することによって、容量制限コマンドで指定された多重度で常にデータを記録することができる。
リード処理部104は、ディスクドライブ20からのデータの読み出しをHDC11に指示する処理部である。このリード処理部104は、コマンド解析部101からリードコマンドを受領すると、多重化管理テーブル171が記憶するデータ記録先の一つからデータを読み出してバッファ13に格納するようHDC11に対して指示する。
また、このリード処理部104は、データを読み出す際にエラーが発生した場合には、他のデータ記録先からデータを読み出すようにHDC11に対して指示し、多重化されて記録されたいずれかのデータ記録先からデータを読み出すことができた場合には、データ修復部105に対してエラーが発生したデータに修復を指示する。
データ修復部105は、多重化して記録されたデータを読み出す際にエラーが発生した場合に、リード処理部104の指示にしたがって、多重化されたデータのうち読み出すことができたデータに基づいてエラーが発生したデータをHDC11と連携して修復する処理部である。
次に、容量制限処理部102の処理手順について説明する。図5は、容量制限処理部102の処理手順を示すフローチャートである。なお、この容量制限処理部102による処理は、OSなどシステムデータをインストールするときに最初に起動される。
図5に示すように、この容量制限処理部102は、まず、ステータスを「D0h(ビジー)」に設定し(ステップS101)、コマンドレジスタ151に格納されたLBAの値から多重度および高多重度領域サイズを算出する(ステップS102)。
具体的には、磁気ディスク装置1の容量をコマンドレジスタ151に格納されたLBAの値で割った商を求めて多重度とし、多重度とLBAとの積を磁気ディスク装置1の容量から引いた値を高多重度領域サイズとする。
そして、多重度および高多重度領域サイズを多重度管理テーブル171に設定し(ステップS103)、エラーレジスタに「00h(正常)」を設定する(ステップS104)。そして、ステータスを「50h(ドライブレディ)に設定する(ステップS105)。
このように、容量制限処理部102が、OSなどシステムデータをインストールするときに最初に多重度および高多重度領域サイズを求めて多重度管理テーブル171に設定することによって、ライト処理部103が多重度管理テーブル171に基づいて自動的に多重書込みを行うことができる。
次に、ライト処理部103の処理手順について説明する。図6は、ライト処理部103の処理手順を示すフローチャートである。同図に示すように、このライト処理部103は、まず、ステータスを「D0h(ビジー)」に設定し(ステップS201)、多重度管理テーブル171の多重度および高多重度領域サイズに基づいてデータ記録回数およびデータ記録先を決定する(ステップS202)。
具体的には、ライトコマンドで指定されたLBAおよびデータサイズからデータの書込み領域が先頭から高多重度領域サイズ内でない場合には、多重度の個数分のデータ記録先を決定し、ライトコマンドで指定されたLBAおよびデータサイズからデータの書込み領域が先頭から高多重度領域サイズ内である場合には、多重度+1の個数分のデータ記録先を決定する。
そして、繰返しの数をカウントする変数iに初期値1を設定し(ステップS203)、データ記録先を一つ選択してHDC11に対してヘッド23のシークを指示する(ステップS204)。そして、データを受け取る準備が完了すると、ステータスを「58h(データ要求)」に設定し、HDC11に指示してホスト2に割り込みを発生させ、データ転送をホスト2に要求する(ステップS206)。
そして、ホスト2がバッファ13にデータを転送するとHDC11に媒体へのデータ書込みを指示し(ステップS207)、データの書込みが正常に終了すると、iがデータ記録回数より小さいか否かを判定し(ステップS208)、iがデータ記録回数より小さい場合には、iに1を加え(ステップS209)、ステップS204に戻る。
一方、iがデータ記録回数より小さくない場合には、LBAや決定したデータ書込先に基づいて多重度管理テーブル171を更新し(ステップS210)、ステータスを「50h(ドライブレディ)」に設定する(ステップS211)。
このように、ライト処理部103が多重度管理テーブル171の多重度および高多重度領域サイズに基づいてデータを多重書込みすることによって、磁気ディスク装置1の信頼性を高めることができる。
なお、ここでは、データ記録回数の書込みが終了した時点でステータスを「50h(ドライブレディ)」に設定することとしたが、媒体にデータを1回書込んだ時点でステータスを「50h(ドライブレディ)」に設定し、ホスト2に対してより早く書込み処理の完了を通知することもできる。
次に、リード処理部104の処理手順について説明する。図7は、リード処理部104の処理手順を示すフローチャートである。同図に示すように、このリード処理部104は、まず、ステータスを「D0h(ビジー)」に設定し(ステップS301)、リードコマンドで指定されたLBAを用いて多重度管理テーブル171を検索し、データの格納先を取得する(ステップS302)。
そして、HDC11に対してデータリードを指示し(ステップS303)、リードエラーが発生したか否かを判定する(ステップS304)。その結果、リードエラーが発生した場合には、多重化された他のデータを読み込み(ステップS305)、多重化された他のデータのうちいずれかのデータの読み込みが成功したか否かを判定する(ステップS306)。
そして、多重化された他のデータの読み込みに全て失敗した場合には、ホスト2にエラーを通知し(ステップS307)、その後、ステータスを「50h(ドライブレディ)」に設定する(ステップS308)。
一方、多重化された他のデータのうちいずれかのデータの読み込みに成功した場合には、ステータスを「58h(データリクエスト)」にし、HDC11に指示してホスト2に割り込みを発生させ、ホスト2に対してデータを転送する(ステップS309)。そして、エラーデータの修復をデータ修復部105に指示し(ステップS310)、ステータスを「50h(ドライブレディ)」に設定する(ステップS308)。
また、リードエラーが発生しなかった場合には、ステータスを「58h(データリクエスト)」にし、HDC11に指示してホスト2に割り込みを発生させ、ホスト2に対してデータを転送する(ステップS311)。そして、ステータスを「50h(ドライブレディ)」に設定する(ステップS308)。
このように、リード処理部104が、データを媒体から読み出す際にエラーが発生した場合に、多重に書き込まれた他のデータを読み出してホスト2に転送することによって、磁気ディスク装置1の信頼性を高めることができる。
上述してきたように、本実施例では、容量制限処理部102がホスト2から受信した容量制限コマンドに基づいて多重度および高多重度領域サイズを算出して多重度管理テーブル171に設定し、ライト処理部103が多重度管理テーブル171に基づいてデータを多重で書き込み、リード処理部104がリードエラーが発生した場合に、多重に書き込まれた他のデータを読み出してホスト2に転送することとしたので、OSなどのシステムデータを書き込む最初に容量制限コマンドを磁気ディスク装置1に対して発行する簡単な操作だけで磁気ディスク装置1の信頼性を向上することができる。
また、本実施例では、磁気ディスク装置について説明したが、本発明はこれに限定されるものではなく、例えば、光ディスク装置など他のディスク装置にも同様に適用することができる。
(付記1)ホストからの指示に基づいてデータの書込みを少なくとも行うディスク装置であって、
データの書込みに使用する記録容量を指定する情報を含む容量制限コマンドをホストから受信し、該受信した容量制限コマンドで指定された記録容量に基づいて、ディスクに書き込むデータの多重度を算出する多重度算出手段と、
ホストから送信されてくるデータを前記多重度算出手段により算出された多重度で書き込む書込手段と、
を備えたことを特徴とするディスク装置。
(付記2)前記多重度算出手段は、使用する最終論理ブロックアドレスをホストから受信し、該受信した最終論理ブロックアドレスと装置の容量とに基づいて多重度を算出することを特徴とする付記1に記載のディスク装置。
(付記3)前記多重度算出手段は、装置の容量を前記最終論理ブロックアドレスで割った商を多重度とし、該最終論理ブロックアドレスと多重度の積を装置の容量から引いた大きさのデータについては多重度を一つ増加させることを特徴とする付記2に記載のディスク装置。
(付記4)多重化されたデータのうちの一つを記録媒体から読み出した際にエラーが発生した場合に該多重化されたデータの他のデータを記録媒体から読み出す読出手段をさらに備えたことを特徴とする付記1、2または3に記載のディスク装置。
(付記5)多重化されたデータのうち記録媒体から読み出した際にエラーが発生したデータに対して正しく読み出しが行われたデータを用いて修復を行う修復手段をさらに備えたことを特徴とする付記4に記載のディスク装置。
(付記6)ホストからの指示に基づいてディスクへのデータの書込み制御を行うデータ書込み制御方法であって、
データの書込みに使用する記録容量を指定する情報を含む容量制限コマンドをホストから受信し、該受信した容量制限コマンドで指定された記録容量に基づいて、ディスクに書き込むデータの多重度を算出する多重度算出工程と、
ホストから送信されてくるデータを前記多重度算出工程により算出された多重度で書き込む書込工程と、
を含んだことを特徴とするデータ書込み制御方法。
(付記7)前記多重度算出工程は、使用する最終論理ブロックアドレスをホストから受信し、該受信した最終論理ブロックアドレスと装置の容量とに基づいて多重度を算出することを特徴とする付記6に記載のデータ書込み制御方法。
(付記8)前記多重度算出工程は、装置の容量を前記最終論理ブロックアドレスで割った商を多重度とし、該最終論理ブロックアドレスと多重度の積を装置の容量から引いた大きさのデータについては多重度を一つ増加させることを特徴とする付記7に記載のデータ書込み制御方法。
(付記9)ディスク装置に対して所定のコマンドを発行するコマンド制御方法であって、
データの書込みを実行させるライトコマンドを前記ディスク装置に発行する制御工程と、
データの書込みに使用する記録容量を指定する情報を含む容量制限コマンドを前記ディスク装置に発行する制御工程とを少なくとも有し、
容量制限コマンドで指定される記録容量に基づいて定められた多重度に応じて、前記ディスク装置に対してデータを多重化して書込みを行なわせることを特徴とするコマンド制御方法。
(付記10)ディスク装置に対して所定のコマンドを発行するコマンド制御プログラムであって、
データの書込みを実行させるライトコマンドを前記ディスク装置に発行する制御手順と、
データの書込みに使用する記録容量を指定する情報を含む容量制限コマンドを前記ディスク装置に発行する制御手順とを少なくともコンピュータに実行させ、
容量制限コマンドで指定される記録容量に基づいて定められた多重度に応じて、前記ディスク装置に対してデータを多重化して書込みを行なわせることを特徴とするコマンド制御プログラム。
以上のように、本発明に係るディスク装置、データ書込み制御方法およびコマンド制御方法は、パソコンなどの記憶装置として有用であり、特に、高い信頼性を必要とする記憶装置に適している。
本実施例に係る磁気ディスク装置の構成を示すハードウェア構成図である。 リード/ライト制御部の構成を示す機能ブロック図である。 容量制限コマンドのフォーマットを示す図である。 容量制限コマンド受領時にコマンドレジスタが格納する値を示す図である。 多重化管理テーブルの一例を示す図である。 容量制限処理部の処理手順を示すフローチャートである。 ライト処理部の処理手順を示すフローチャートである。 リード処理部の処理手順を示すフローチャートである。
符号の説明
1 磁気ディスク装置
2 ホスト
10 PCBA
11 HDC
12 RDC
13 バッファ
14 FROM
15 CPU
16 ROM
17 SRAM
20 ディスクドライブ
21 プラッタ
22 DCM
23 ヘッド
24 VCM
100 リード/ライト制御部
101 コマンド解析部
102 容量制限処理部
103 ライト処理部
104 リード処理部
151 コマンドレジスタ
171 多重化管理テーブル

Claims (5)

  1. ホストからの指示に基づいてデータの書込みを少なくとも行うディスク装置であって、
    データの書込みに使用する記録容量を指定する情報を含む容量制限コマンドをホストから受信し、該受信した容量制限コマンドで指定された記録容量に基づいて、ディスクに書き込むデータの多重度を算出する多重度算出手段と、
    ホストから送信されてくるデータを前記多重度算出手段により算出された多重度で書き込む書込手段と、
    を備えたことを特徴とするディスク装置。
  2. 前記多重度算出手段は、使用する最終論理ブロックアドレスをホストから受信し、該受信した最終論理ブロックアドレスと装置の容量とに基づいて多重度を算出することを特徴とする請求項1に記載のディスク装置。
  3. 前記多重度算出手段は、装置の容量を前記最終論理ブロックアドレスで割った商を多重度とし、該最終論理ブロックアドレスと多重度の積を装置の容量から引いた大きさのデータについては多重度を一つ増加させることを特徴とする請求項2に記載のディスク装置。
  4. ホストからの指示に基づいてディスクへのデータの書込み制御を行うデータ書込み制御方法であって、
    データの書込みに使用する記録容量を指定する情報を含む容量制限コマンドをホストから受信し、該受信した容量制限コマンドで指定された記録容量に基づいて、ディスクに書き込むデータの多重度を算出する多重度算出工程と、
    ホストから送信されてくるデータを前記多重度算出工程により算出された多重度で書き込む書込工程と、
    を含んだことを特徴とするデータ書込み制御方法。
  5. ディスク装置に対して所定のコマンドを発行するコマンド制御方法であって、
    データの書込みを実行させるライトコマンドを前記ディスク装置に発行する制御工程と、
    データの書込みに使用する記録容量を指定する情報を含む容量制限コマンドを前記ディスク装置に発行する制御工程とを少なくとも有し、
    容量制限コマンドで指定される記録容量に基づいて定められた多重度に応じて、前記ディスク装置に対してデータを多重化して書込みを行なわせることを特徴とするコマンド制御方法。
JP2006010476A 2006-01-18 2006-01-18 ディスク装置、データ書込み制御方法およびコマンド制御方法 Pending JP2007193886A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006010476A JP2007193886A (ja) 2006-01-18 2006-01-18 ディスク装置、データ書込み制御方法およびコマンド制御方法
US11/411,323 US7478195B2 (en) 2006-01-18 2006-04-26 Disk device with degree of multiplexing based on a received logical block address

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006010476A JP2007193886A (ja) 2006-01-18 2006-01-18 ディスク装置、データ書込み制御方法およびコマンド制御方法

Publications (1)

Publication Number Publication Date
JP2007193886A true JP2007193886A (ja) 2007-08-02

Family

ID=38449461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006010476A Pending JP2007193886A (ja) 2006-01-18 2006-01-18 ディスク装置、データ書込み制御方法およびコマンド制御方法

Country Status (2)

Country Link
US (1) US7478195B2 (ja)
JP (1) JP2007193886A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010066848A (ja) * 2008-09-09 2010-03-25 Toshiba Storage Device Corp 記憶装置の管理方法及び記憶装置、並びに記憶システム
JP2011186544A (ja) * 2010-03-04 2011-09-22 Nec Corp ディスクアレイ装置及びその制御方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106557270B (zh) * 2015-09-30 2019-08-06 四川效率源信息安全技术股份有限公司 嵌入式安防设备的数据提取方法
CN105787392B (zh) * 2016-02-29 2019-01-11 珠海市魅族通讯设备有限公司 一种数据读写控制方法及控制装置
CN106648988B (zh) * 2016-12-28 2019-10-29 四川秘无痕科技有限责任公司 一种提取监控设备中数据的方法
CN106648990B (zh) * 2016-12-28 2019-10-08 四川秘无痕科技有限责任公司 一种快速提取BlueSky文件系统监控设备中数据的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6139286A (ja) * 1984-07-28 1986-02-25 Fujitsu Ltd デ−タ管理方法
JP2001307410A (ja) * 2000-04-26 2001-11-02 Matsushita Electric Ind Co Ltd 磁気ディスク装置、データ記録方法、およびデータ再生方法
JP2004046352A (ja) * 2002-07-09 2004-02-12 Mitsubishi Electric Corp データ格納装置及び方法並びにプログラム
JP2005038590A (ja) * 2003-07-16 2005-02-10 Samsung Electronics Co Ltd 強靭なエラー処理能力を有するデータ記録/再生方法、並びにそれに適した記録/再生装置
JP2005108040A (ja) * 2003-09-30 2005-04-21 Toshiba Corp ディスク装置のデータ保護方法及びディスク装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511177A (en) * 1991-11-21 1996-04-23 Hitachi, Ltd. File data multiplexing method and data processing system
JPH06195899A (ja) 1992-12-24 1994-07-15 Nec Corp 二重化磁気ディスク装置
JP2000099279A (ja) 1998-09-21 2000-04-07 Hitachi Ltd データ二重化方法
JP2002150697A (ja) 2000-11-10 2002-05-24 Hitachi Ltd 磁気ディスク制御方式及びそれを用いた磁気ディスク装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6139286A (ja) * 1984-07-28 1986-02-25 Fujitsu Ltd デ−タ管理方法
JP2001307410A (ja) * 2000-04-26 2001-11-02 Matsushita Electric Ind Co Ltd 磁気ディスク装置、データ記録方法、およびデータ再生方法
JP2004046352A (ja) * 2002-07-09 2004-02-12 Mitsubishi Electric Corp データ格納装置及び方法並びにプログラム
JP2005038590A (ja) * 2003-07-16 2005-02-10 Samsung Electronics Co Ltd 強靭なエラー処理能力を有するデータ記録/再生方法、並びにそれに適した記録/再生装置
JP2005108040A (ja) * 2003-09-30 2005-04-21 Toshiba Corp ディスク装置のデータ保護方法及びディスク装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010066848A (ja) * 2008-09-09 2010-03-25 Toshiba Storage Device Corp 記憶装置の管理方法及び記憶装置、並びに記憶システム
JP2011186544A (ja) * 2010-03-04 2011-09-22 Nec Corp ディスクアレイ装置及びその制御方法

Also Published As

Publication number Publication date
US20070226534A1 (en) 2007-09-27
US7478195B2 (en) 2009-01-13

Similar Documents

Publication Publication Date Title
KR101086857B1 (ko) 데이터 머지를 수행하는 반도체 스토리지 시스템의 제어 방법
US20090157756A1 (en) File System For Storing Files In Multiple Different Data Storage Media
US8285965B2 (en) Aligning data storage device partition to boundary of physical data sector
US8819375B1 (en) Method for selective defragmentation in a data storage device
US7373477B2 (en) Fragmentation executing method and storage device
US9063659B2 (en) Method and apparatus for data sector cluster-based data recording
KR101810932B1 (ko) 주소 사상 정보 관리 방법, 디스크 드라이브에서의 액세스 방법, 저장 장치, 컴퓨터 시스템, 네트워크를 통한 주소 사상 정보 관리 방법 및 컴퓨터로 읽을 수 있는 저장 매체
US20080059694A1 (en) Hybrid hard disk drive and data storage method thereof
JP2008015769A (ja) ストレージシステム及び書き込み分散方法
JP2005063441A (ja) 4kブロックサイズを用いてハードディスクドライブへの書き込みを行うハードディスクドライブコントローラおよびそれを用いたハードディスクドライブ
JP2009266333A (ja) データ記憶装置及び隣接トラック書き直し処理方法。
JP2008065445A (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
JP2007184021A (ja) アドレス割り当て方法およびディスク装置ならびにデータ書き込み方法
JP2010009290A (ja) ストレージシステム,コピー制御方法およびコピー制御部
JP2007193886A (ja) ディスク装置、データ書込み制御方法およびコマンド制御方法
JP2015026112A (ja) ストレージ制御装置、制御プログラム及び制御方法
JP4012791B2 (ja) 情報記録媒体のセクタの再配置方法および情報記憶装置
JP2006318017A (ja) Raid構成変換方法、装置及びプログラム並びにこれを用いたディスクアレイ装置
JP4922442B2 (ja) バッファ管理装置、同装置を備えた記憶装置、及びバッファ管理方法
JP4713951B2 (ja) 仮想テープライブラリシステムおよび仮想テープ書き込み方法
WO2011067806A1 (en) Storage system having power saving function
JP5059493B2 (ja) アクセス制御装置、アクセス制御方法、アクセス制御プログラムおよび記録媒体
JP2007102436A (ja) ストレージ制御装置およびストレージ制御方法
JP2006252165A (ja) ディスクアレイ装置、及びコンピュータシステム
JP2013516667A (ja) ThinProvisioningが適用された、メインフレーム系のストレージ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080911

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20091022

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100928