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

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

Info

Publication number
JP6015752B2
JP6015752B2 JP2014516598A JP2014516598A JP6015752B2 JP 6015752 B2 JP6015752 B2 JP 6015752B2 JP 2014516598 A JP2014516598 A JP 2014516598A JP 2014516598 A JP2014516598 A JP 2014516598A JP 6015752 B2 JP6015752 B2 JP 6015752B2
Authority
JP
Japan
Prior art keywords
lbad
physical address
access
lbah
address
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.)
Active
Application number
JP2014516598A
Other languages
English (en)
Other versions
JPWO2013175622A1 (ja
Inventor
昭仁 日高
昭仁 日高
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
Publication of JPWO2013175622A1 publication Critical patent/JPWO2013175622A1/ja
Application granted granted Critical
Publication of JP6015752B2 publication Critical patent/JP6015752B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/063Address space extension for I/O modules, e.g. memory mapped I/O
    • 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/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • G11B20/1889Methods for assignment of alternate areas for defective areas with discs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/206Memory mapped I/O
    • 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/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • 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/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • G11B2020/1896Methods for assignment of alternate areas for defective areas using skip or slip replacement to relocate data from a defective block to the next usable block, e.g. with a primary defect list [PDL]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本発明は、情報処理装置、情報処理プログラム、およびアクセス制御方法に関する。
高速かつ大容量のストレージデバイスとして磁気ディスク装置が広く用いられている。磁気ディスク装置は、論理ブロックアドレス(LBA:Logical Block Address)をシーケンシャルにセクタに割り付け、LBAによりセクタを特定してデータの記録再生をおこなう。
また、磁気ディスク装置では、後発的に欠陥セクタを発生することがある。磁気ディスク装置は、欠陥セクタの発生を検出すると、欠陥セクタからあらかじめ確保してある代替領域にあるセクタにLBAの割り付け先を変更する。このようなLBAの割り付け先の変更は、後発的欠陥セクタの使用を防止してデータ保持の信頼性の向上に寄与する。
特開平10−301721号公報 特開2004−103127号公報
しかしながら、代替領域は欠陥セクタから離れた位置に存在するため、欠陥セクタから代替領域のセクタにLBAの割り付けを変更した場合、LBAに割り付けられるセクタの連続性が失われる。この場合、シーケンシャルアクセスが不可能になり、記録媒体へのアクセス性能が低下するという問題がある。
1つの側面では、本発明は、記録媒体上の欠陥領域の発生によるアクセス性能の低下を抑制することが可能な情報処理装置、情報処理プログラム、およびアクセス制御方法を提供することを目的とする。
上記目的を達成するために、以下に示すような、情報処理装置が提供される。情報処理装置は、管理部と、制御部と、を備える。管理部は、連続する複数の論理アドレスのそれぞれに対して、記録媒体上の位置を示す物理アドレスが記録媒体のトラック内において所定間隔で割り付けられるように、論理アドレスと物理アドレスとの対応関係を管理し、記録媒体で欠陥領域が発生すると、欠陥領域を示す物理アドレスに割り付けられた論理アドレスを特定し、特定された論理アドレスに割り付ける物理アドレスを、欠陥領域を示す物理アドレスに隣接する間隔内の物理アドレスにシフトする。制御部は、複数の論理アドレスの中からアクセス先論理アドレスの指定を受けると、対応関係にもとづいて、アクセス先論理アドレスに割り付けられた物理アドレスが示す領域へのアクセスを制御する。
また、上記目的を達成するために、以下に示すような処理をコンピュータに実行させる情報処理プログラム、および以下に示すような処理をコンピュータがおこなうアクセス制御方法が提供される。コンピュータ連続する複数の論理アドレスのそれぞれに対して、記録媒体上の位置を示す物理アドレスが記録媒体のトラック内において所定間隔で割り付けられるように、論理アドレスと物理アドレスとの対応関係を管理し、記録媒体で欠陥領域が発生すると、欠陥領域を示す物理アドレスに割り付けられた論理アドレスを特定し、特定された論理アドレスに割り付ける物理アドレスを、欠陥領域を示す物理アドレスに隣接する間隔内の物理アドレスにシフトし、複数の論理アドレスの中からアクセス先論理アドレスの指定を受けると、対応関係にもとづいて、アクセス先論理アドレスに割り付けられた物理アドレスが示す領域へのアクセスを制御する。
1態様によれば、情報処理装置、情報処理プログラム、およびアクセス制御方法において、物理アドレスの欠陥による論理アドレスの割り付け先の変更の際に、シーケンシャルアクセスの連続性を保持できる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施形態の情報処理装置の構成例および処理例を示す図である。 第2の実施形態の情報処理装置のハードウェア構成例を示す図である。 第2の実施形態の情報処理装置の構成例を示す図である。 第2の実施形態のLBA変換管理処理のフローチャートである。 第2の実施形態の初期設定処理のフローチャートである。 第2の実施形態のLBA配置の一例を示す図である。 第2の実施形態のLBAhアクセス処理のフローチャートである。 第2の実施形態のLBA管理テーブルの一例を示す図である。 第2の実施形態のLBAdアクセス処理のフローチャートである。 第2の実施形態のLBA再配置の一例を示す図である。 参考実施形態のLBA配置の一例を示す図である。 参考実施形態のLBA再配置の一例を示す図である。 第3の実施形態のLBA配置の一例を示す図である。 第3の実施形態のLBA再配置の一例を示す図である。 第3の実施形態のLBA再配置の一例を示す図である。 第4の実施形態の情報処理装置の構成例を示す図である。
以下、実施の形態を図面を参照して詳細に説明する。
[第1の実施形態]
まず、第1の実施形態の情報処理装置について図1を用いて説明する。図1は、第1の実施形態の情報処理装置の構成例および処理例を示す図である。
情報処理装置1は、記録媒体4の論理アドレス(LBAh)へのアクセス指示を受け、論理アドレス(LBAh)に対応する記録媒体4の物理アドレス(LBAd)へのアクセス制御をおこなう。
以下、情報処理装置1が受け付ける論理アドレスを「LBAh」と表記し、情報処理装置1が記録媒体4に指定する物理アドレスを「LBAd」と表記する。
情報処理装置1は、管理部2と、制御部3と、を備える。管理部2は、記録媒体4上の論理アドレスと、所定数の交代領域をスキップした記録媒体4上の物理アドレスとの対応関係を管理する。
物理アドレスは、記録媒体4が備える記憶領域を一意に特定可能なアドレスである。たとえば、記録媒体4がHDD(Hard Disk Drive:ハードディスクドライブ)である場合、物理アドレスは、セクタ(記憶領域)を一意に識別可能な情報である。物理アドレスは、たとえば、LBAd#0、LBAd#1、LBAd#2、…のように各記憶領域にシーケンシャルに付される。
論理アドレスは、記録媒体4の見かけ上のアドレスである。論理アドレスは、たとえば、LBAh#0、LBAh#1、LBAh#2、…のように各記憶領域にシーケンシャルに付される。論理アドレスと物理アドレスとは、1対1の対応関係を有し、論理アドレスは、論理アドレスに対応付けられた物理アドレスを特定可能にしている。
論理アドレスは、所定数の交代領域をスキップした物理アドレスと対応する。すなわち、2つの連続した論理アドレスのそれぞれと対応する2つの物理アドレスの間隔には、所定数の交代領域がある。
図1の例では、論理アドレスLBAh#0は、物理アドレスLBAd#0に対応し、論理アドレスLBAh#1は、物理アドレスLBAd#2に対応し、論理アドレスLBAh#2は、物理アドレスLBAd#4に対応する。物理アドレスLBAd#0と物理アドレスLBAd#2の間には、論理アドレスに対応付けられていない物理アドレスLBAd#1があり、物理アドレスLBAd#2と物理アドレスLBAd#4の間には、論理アドレスとの対応関係のない物理アドレスLBAd#3がある。物理アドレスLBAd#1は、物理アドレスLBAd#0の交代領域として確保された領域である。物理アドレスLBAd#3は、物理アドレスLBAd#2の交代領域として確保された領域である。
交代領域は、物理アドレスに欠陥が発生した際に、欠陥を生じた物理アドレスに対応付けられていた論理アドレスの割り付けの交代先として用意される領域である。なお、情報処理装置1は、スキップ幅を任意の大きさとすることで、所要の交代領域を確保することができる。
制御部3は、論理アドレスへのアクセス指示を受け付ける。制御部3は、管理部2が管理する対応関係にもとづいて、受け付けた論理アドレスに対応付けられている物理アドレスを特定する。制御部3は、特定した物理アドレスによって記録媒体4へのアクセス制御をおこなう。
これにより、情報処理装置1は、物理アドレスが示す領域に欠陥が発生した際に、欠陥を生じた物理アドレスに対応付けられていた論理アドレスの割り付けの交代先を、欠陥を示す物理アドレスに隣接する交代領域とすることができる。このような情報処理装置1は、論理アドレスの割り付けの交代があっても、論理アドレスの配列順と、論理アドレスに対応付けられている物理アドレスの配列順が一致するため、記録媒体4に対するアクセスの連続性を保持できる。したがって、情報処理装置1は、記録媒体4に欠陥領域が発生した場合でもシーケンシャルアクセスをおこなうことができ、アクセス性能の低下を抑制できる。
[第2の実施形態]
次に、第2の実施形態の情報処理装置について図2を用いて説明する。図2は、第2の実施形態の情報処理装置のハードウェア構成例を示す図である。
情報処理装置10は、たとえば、ストレージデバイスとアクセス可能なコンピュータである。情報処理装置10は、複数の周辺機器を接続する。情報処理装置10は、CPU(Central Processing Unit)11によって装置全体が制御されている。CPU11には、バス19を介してRAM(Random Access Memory)13と複数の周辺機器が接続されている。
RAM13は、情報処理装置10の主記憶装置として使用される。RAM13には、CPU11に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM13には、CPU11による処理に必要な各種データが格納される。
バス19に接続されている周辺機器としては、グラフィック処理装置12、入力インタフェース14、HBA(Host Bus Adapter)15、光学ドライブ装置16、および通信インタフェース18がある。
グラフィック処理装置12には、モニタ21が接続されている。グラフィック処理装置12は、CPU11からの命令にしたがって、画像をモニタ21の画面に表示させる。
入力インタフェース14には、キーボード22とマウス23が接続されている。入力インタフェース14は、キーボード22やマウス23から送られてくる信号をCPU11に送信する。
HBA15は、ハードウェアインタフェースおよびソフトウェアインタフェースを提供し、CPU11(ホスト)によるHDD17(ストレージデバイス)へのアクセスを仲介する。たとえば、HBA15は、SCSI(Small Computer System Interface)にしたがうストレージデバイスの制御機能を含んで構成される。なお、HBA15は、SCSIによるバス接続に限らず、PCI(Peripheral Component Interconnect)等その他のバスインタフェースを介してバス接続するものであってもよい。また、HBA15は、拡張スロット等のインタフェースを介してCPU11を搭載するマザーボードとバス接続するものであってもよいし、CPU11を搭載するマザーボード上に搭載されてバス接続するものであってもよい。
HDD17は、内蔵したディスクに対して、磁気的にデータの書込みおよび読出しをおこなう。HDD17は、情報処理装置10の二次記憶装置として使用される。HDD17には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。また、HDD17は、情報処理装置10に対して外部接続するものであってもよい。
光学ドライブ装置16は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りをおこなう。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
通信インタフェース18は、図示しないネットワークに接続されている。通信インタフェース18は、ネットワークを介して、他のコンピュータまたは通信機器との間でデータの送受信をおこなう。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、第2の実施形態のHBAについて図3を用いて説明する。図3は、第2の実施形態の情報処理装置の構成例を示す図である。
HBA15は、ホスト30によるHDD17へのアクセスを仲介する。HBA15は、ホスト30から論理アドレスによりHDD17へのアクセス要求を受け付け、論理アドレスに対応付けられている物理アドレスによってHDD17へのアクセスをおこなう。以下、ホスト30がHBA15に指定する論理アドレスを「LBAh」と表記し、HBA15がHDD17に指定する物理アドレスを「LBAd」と表記する。
なお、ホスト30は、HBA15にHDD17へのアクセスを要求する要求元であり、情報処理装置10におけるCPU11に相当する。ホスト30の処理は、たとえば、CPU11がOSを実行することで実現される。
HBA15は、ホストインタフェース31と、HDDインタフェース32と、制御部33と、LBA変換管理部34と、不揮発メモリ35と、を備える。ホストインタフェース31は、HBA15とホスト30とを接続するための、ハードウェアインタフェースおよびソフトウェアインタフェースを提供する。HDDインタフェース32は、HBA15とHDD17とを接続するための、ハードウェアインタフェースおよびソフトウェアインタフェースを提供する。
制御部33は、LBA変換管理部34を有する。不揮発メモリ35は、ファームウェア36、スキップ数37、LBA管理テーブル50を記憶する。LBA管理テーブル50は、不良LBA38と、交代回数39を保持する。
制御部33は、図示しないCPUを備え、HBA15を統括的に制御する。制御部33の処理は、制御部33のCPUがファームウェア36を実行することで実現される。
制御部33は、LBA管理テーブル50を参照して、LBAhとLBAdの相互変換をおこなう。LBA変換管理部34は、LBA管理テーブル50の生成と更新をおこなう。LBA変換管理部34は、初期設定処理においてLBA管理テーブル50を生成し、HDD17へのアクセス異常の検出を契機にLBA管理テーブル50を更新する。
制御部33は、初期設定処理において、連続する複数のLBAhのそれぞれに対して、LBAdを一定の間隔を空けて割り付ける。制御部33は、1つのLBAhに割り付けられたLBAdと、次のLBAhに割り付けられたLBAdとの間に、スキップ数37だけのLBAdを含む交代領域を確保する。したがって、HDD17においてユーザが利用可能な記憶領域は、およそ1/(1+スキップ数37)となる。たとえば、スキップ数「1」の場合、HDD17においてユーザが利用可能な記憶領域は、約1/2となる。
制御部33は、HDD17へのアクセス異常を検出すると、アクセス異常のあった領域(欠陥領域)を示すLBAdと、このLBAdに対応付けられているLBAhとの対応関係を解消する。制御部33は、アクセス異常のあるLBAdに割り付けられていたLBAhを不良LBA38に登録し、アクセス異常としてLBAdとの対応関係を解消した数を交代回数39に登録する。制御部33は、アクセス異常のあるLBAdに代えてこのLBAdに連続する交代領域と、新たな対応関係を生成して、LBA管理テーブル50を更新する。
制御部33は、不良LBA38と交代回数39にもとづいて、LBAhとLBAdの相互変換に必要な新たな対応関係を取得することができる。
このように、LBAhとLBAdの対応関係の更新があっても、LBAhを増加または減少させたときの、割り付け先のLBAdの配列方向が変化しないため、HBA15は、HDD17に対するアクセスの連続性を保持できる。
HDD17に対するシーケンシャルなアクセス特性の保持は、シーク動作の発生確率を低減する。たとえば、2.5インチ、10krpmの一般的なハードディスクでは、データの書込み時に、フルストロークで約8ms、平均で約4msのシーク時間を要し、最大で約6ms、平均で約3msの回転待ち時間を要する。このようなハードディスクは、シーク動作の発生により、最大で約14msのシーク時間が発生する。HBA15は、長期の稼働により不良セクタの発生が蓄積しても、HDD17に対するシーケンシャルなアクセス特性を保持することが可能である。そして、HBA15は、HDD17に対するシーケンシャルなアクセス特性の保持によりシーク時間を低減する。HBA15は、シーク時間の低減により、HDD17の高速アクセスパフォーマンスを長期にわたり保持可能にする。
次に、第2の実施形態のHBA15の制御部33が実行するLBA変換管理処理について図4を用いて説明する。図4は、第2の実施形態のLBA変換管理処理のフローチャートである。
LBA変換管理処理は、LBAhとLBAdの相互変換を管理する処理である。制御部33は、HBA15の起動によりLBA変換管理処理を実行する。
[ステップS11]制御部33は、初期設定処理を実行する。初期設定処理の詳細は、図5を用いて後で説明する。
[ステップS12]制御部33は、ホスト30からHDD17へのアクセス指示の受付の有無を判定する。制御部33は、ホスト30からHDD17へのアクセス指示を受け付けた場合にステップS13にすすみ、アクセス指示を受け付けていない場合にアクセス指示を待ち受ける。
[ステップS13]制御部33は、LBAhアクセス処理を実行する。LBAhアクセス処理の詳細は、図7、図8を用いて後で説明する。
次に、第2の実施形態のHBA15の制御部33が実行する初期設定処理について図5を用いて説明する。図5は、第2の実施形態の初期設定処理のフローチャートである。
初期設定処理は、LBAとLBAdの対応関係を生成する処理である。制御部33は、LBA変換管理処理のステップS12において初期設定処理を実行する。
[ステップS21]制御部33は、HDD17のデータ容量を確認する。
[ステップS22]制御部33は、スキップ数37を取得する。スキップ数37は、0以上の整数であり、所要のタイミングで設定される設定値である。スキップ数37は、キーボード22やマウス23などの入力装置や、通信インタフェースを介した外部装置から入力をおこなうことができる。
[ステップS23]制御部33は、所要の管理領域や代替領域を磁気ディスクに確保し、さらに、1つの記憶領域毎にスキップ数37で指定される交代領域(記憶領域)を確保した場合に、ユーザが使用可能な容量を算出する。なお、管理領域は、磁気ディスクの先頭に設けられ、磁気ディスクに関する所要の情報を記録する領域である。代替領域は、1つの記憶領域について、その交代領域を含めて異常が発生した場合に、代替される記憶領域である。
[ステップS24]制御部33は、LBAh(第1のアドレス)の配列順と、LBAhに対応するLBAd(第2のアドレス)の配列順を一致させて、LBAhとLBAdとの対応関係を生成する。これにより、制御部33は、LBAhの配列順と、LBAhに対応付けられたLBAdの配列順を一致させて、LBAhとLBAdとの対応関係を生成することができる。
なお、LBAhとLBAdとの対応関係の生成の詳細については後で説明する。
[ステップS25]制御部33は、ホスト30にHDD17の使用可能容量を通知して、初期設定処理を終了する。
なお、制御部33は、スキップ数37を複数設定するようにしてもよい。たとえば、制御部33は、HDD17が複数の磁気ディスクを備える場合に磁気ディスク毎に異なるスキップ数37を設定してもよい。また、制御部33は、磁気ディスク上の領域毎に異なるスキップ数37を設定してもよい。このようにすれば、制御部33は、HDD17(記録媒体)の異常発生特性に応じてスキップ数37を設定することができる。
次に、スキップ数「1」の場合に、第2の実施形態のHBA15の制御部33が初期設定処理において生成するLBAhとLBAdとの対応関係について図6を用いて説明する。図6は、第2の実施形態のLBA配置の一例を示す図である。
なお、以下の説明では、HBA15からHDD17に指定されるLBAdは、磁気ディスク上のセクタに順番に付与されたセクタ番号を示す。ただし、LBAdは、HDD17が任意に設定した論理アドレスであってもよい。この場合、HDD17は、LBAdのそれぞれに対して、セクタ番号を示す物理アドレスを任意に割り付ける。ただし、HDD17は、LBAdが増加したときに、割り付け先の物理アドレスが増加または減少のどちらかになるように、アドレスの割り付けをおこなう。
HDD17は、図示しない管理領域と、LBAd#0からLBAd#2n+1までの記憶領域と、所要の代替領域とを有する。HDD17におけるLBAhとLBAdとの対応関係は、スキップ数「1」の場合を示したものである。
LBAd#0からLBAd#2n+1までの記憶領域は、スキップ数「1」であることから、Data#0、交代領域、Data#1、交代領域、…のように、Data領域と、交代領域とが交互に設定される。
LBAh#0からLBAh#nは、LBAh#0に対してLBAd#0、LBAh#1に対してLBAd#2のように、1つ飛びにLBAd#0からLBAd#2nと対応する。LBAh#0からLBAh#nの配列順は、LBAd#0からLBAd#2nの配列順と一致する。
すなわち、iが0からnの整数のとき、LBAh#iは、LBAd#2iに対応し、LBAh#iと対応関係のないLBAd#2i+1は、交代領域となる。
これにより、HBA15は、ホスト30から連続する論理アドレス(LBAh)のアクセス要求を受け付けた場合に、HDD17に対して一方向に配列された物理領域に対してアクセスをおこなうことができる。また、HDD17は、Data領域と交代領域とを交互に設定することによりデータの記録密度が低下するので、欠陥セクタの発生などによるデータ損失のリスクを低減することができる。
次に、第2の実施形態のHBA15の制御部33が実行するLBAhアクセス処理について図7、図8を用いて説明する。図7は、第2の実施形態のLBAhアクセス処理のフローチャートである。図8は、第2の実施形態のLBA管理テーブルの一例を示す図である。
LBAhアクセス処理は、ホスト30からHDD17へのLBAhによるアクセス要求に応答する処理である。制御部33は、LBA変換管理処理のステップS13においてLBAhアクセス処理を実行する。
[ステップS31]制御部33は、LBA管理テーブル50を確認する。図8に示すように、LBA管理テーブル50は、不良LBAと交代回数を保持する。不良LBAは、不良が検出された領域に対応するLBAhである。たとえば、LBAh#iに対応するLBAd#2iの不良を検出し、LBAh#iとLBAd#2iの対応関係を、LBAh#iと、LBAd#2iに代えて交代領域であるLBAd#2i+1との対応関係に更新した場合に、LBAh#iは、不良LBAである。交代回数は、LBAhとLBAdの対応関係の更新回数を示す。
[ステップS32]制御部33は、アクセス要求のあった論理アドレス(LBAh)がLBA管理テーブル50に不良LBAとして登録されているか否かを判定する。制御部33は、アクセス要求のあった論理アドレス(LBAh)がLBA管理テーブル50に不良LBAとして登録されている場合にステップS33にすすみ、不良LBAとして登録されていない場合にステップS34にすすむ。たとえば、制御部33は、LBAh#1000からLBAh#1010のアクセス要求を受け付けた場合に、LBA管理テーブル50に登録されている不良LBAがないと判定する。また、制御部33は、LBAh#12340からLBAh#12350のアクセス要求を受け付けた場合に、LBA管理テーブル50に登録されている不良LBA(LBAh#12345)があると判定する。
[ステップS33]制御部33は、LBA管理テーブル50を使用して、論理アドレス(LBAh)に対応する物理アドレス(LBAd)を算出する。制御部33は、物理アドレス(LBAd)の算出において、LBA管理テーブル50に不良LBAとして登録されている論理アドレス(LBAh)に初期設定処理において対応付けられた物理アドレス(LBAd)を取得(算出式による算出でもよい)する。制御部33は、取得した物理アドレス(LBAd)について交代回数だけアドレスシフトをおこなうことで、新しく対応付けをおこなう物理アドレス(LBAd)を算出できる。
たとえば、LBAh#12345が不良LBAとして登録されている場合、制御部33は、LBAd=LBAh×2より、LBAh#12345と対応するLBAd#24690(=12345×2)を取得する。制御部33は、交代回数「1」を参照し、LBAd#24690を1だけアドレスシフトしてLBAd#24691(=12345×2+1)を算出する。
なお、制御部33は、交代1回あたりのシフト量と、交代回数(シフト回数)とにより、アドレスシフトをおこなう際のシフト量を求めることができる。
[ステップS34]制御部33は、LBA管理テーブル50を使用しないで、論理アドレス(LBAh)に対応する物理アドレス(LBAd)を算出する。制御部33は、物理アドレス(LBAd)の算出において、論理アドレス(LBAh)に初期設定処理において対応付けられた物理アドレス(LBAd)を算出する。たとえば、制御部33は、LBAd=LBAh×2より、LBAh#100と対応するLBAd#200(=100×2)を算出する。
[ステップS35]制御部33は、LBAdアクセス処理を実行する。LBAdアクセス処理は、HDD17へのLBAdによるアクセスをおこなう処理である。LBAdアクセス処理の詳細は、図9を用いて後で説明する。
[ステップS36]制御部33は、LBAdアクセス処理の処理結果が正常か否かを判定する。制御部33は、LBAdアクセス処理の処理結果が正常である場合にステップS37にすすみ、LBAdアクセス処理の処理結果が正常でない場合にステップS38にすすむ。
[ステップS37]制御部33は、HDD17へのLBAdによるアクセス結果を、ホストインタフェース31を介してホスト30に通知する。アクセス結果は、たとえば、HDD17への書込みであれば書込みの完了報告であり、HDD17からの読出しであれば読出したデータである。制御部33は、アクセス結果をホスト30に通知して、LBAhアクセス処理を終了する。
[ステップS38]制御部33は、HDD17へのLBAdによるアクセスエラーを、ホストインタフェース31を介してホスト30に通知してLBAhアクセス処理を終了する。
次に、第2の実施形態のHBA15の制御部33が実行するLBAdアクセス処理について図9を用いて説明する。図9は、第2の実施形態のLBAdアクセス処理のフローチャートである。
LBAdアクセス処理は、HDD17へのLBAdによるアクセスをおこなう処理である。制御部33は、LBAhアクセス処理のステップS34においてLBAdアクセス処理を実行する。
[ステップS41]制御部33は、HDD17へLBAdを送信し、送信したLBAdに対応する記憶領域へのアクセス(データの読出し、データの書込みなど)を要求する。
[ステップS42]制御部33は、HDD17へのLBAdによるアクセス結果が正常であるか否かを判定する。制御部33は、HDD17へのLBAdによるアクセス結果が正常である場合にステップS50にすすみ、アクセス結果が正常でない場合にステップS43にすすむ。制御部33は、HDDインタフェース32を介したHDD17からの応答(たとえば、正常応答やアクセスエラー応答など)にもとづいて、HDD17へのLBAdによるアクセス結果が正常か否かの判定をおこなうことができる。
[ステップS43]制御部33は、HDD17へのLBAdによるアクセスのリトライを実行するか否かを判定する。制御部33は、HDD17へのLBAdによるアクセスのリトライを実行する場合にステップS41にすすみ、リトライを実行しない場合にステップS44にすすむ。たとえば、リトライを実行するか否かの判定は、リトライ回数が規定回数(たとえば、5回)に達しているか否かを判定することによりおこなう。
[ステップS44]制御部33は、HDD17へのLBAdによるアクセスがリトライを経てなお正常におこなうことができないことから、HDD17へのアクセスに失敗したLBAdに対応するLBAを不良LBAとする。制御部33は、LBA管理テーブル50に不良LBAを登録可能か否かを判定する。制御部33は、LBA管理テーブル50に不良LBAを登録できる場合にステップS45にすすみ、不良LBAを登録できない場合にステップS47にすすむ。
LBA管理テーブル50に不良LBAを登録可能か否かの判定は、HDD17へのアクセスに失敗したLBAdがLBA管理テーブル50に不良LBAとして登録されていない場合に登録可能とすることができる。また、LBA管理テーブル50に不良LBAを登録可能か否かの判定は、HDD17へのアクセスに失敗したLBAdが不良LBAとして登録されていても交代回数がスキップ数に達していない場合に登録可能とすることができる。
[ステップS45]制御部33は、LBA管理テーブル50を更新する。具体的には、制御部33は、HDD17へのアクセスに失敗したLBAdに対応するLBAhが不良LBAとして登録されていない場合は、LBA管理テーブル50に不良LBAとして登録するとともに、交代回数「1」をセットする。また、制御部33は、HDD17へのアクセスに失敗したLBAdに対応するLBAhが不良LBAとしてすでに登録されている場合は、LBA管理テーブル50に登録されている不良LBAの交代回数をインクリメントする。
[ステップS46]制御部33は、ステップS45で更新した情報にもとづき、LBA管理テーブル50の更新対象となった不良LBAと対応関係を有するLBAdを再算出する。これにより、不良LBAに対応するLBAdは、交代領域に更新される。LBAdとの対応関係を更新した不良LBAは、ステップS41にすすみ、あらためてLBAdでアクセスをおこなう。
[ステップS47]制御部33は、HDD17へのアクセスに失敗したLBAdがLBA管理テーブル50に不良LBAとして登録できない場合に、あるいは更新できない場合に、HDD17へのアクセスに失敗したLBAdを代替領域で更新可能か否かを判定する。制御部33は、HDD17へのアクセスに失敗したLBAdを代替領域で更新可能な場合にステップS48にすすみ、更新可能でない場合にステップS50にすすむ。たとえば、HDD17へのアクセスに失敗したLBAdを代替領域で更新可能でない場合とは、代替領域がない場合、あるいはその他の異常によりLBAdを代替領域で更新できない場合を含む。
[ステップS48]制御部33は、HDD17へのアクセスに失敗したLBAdがLBA管理テーブル50に不良LBAとして登録できない場合に、あるいは更新できない場合に、HDD17へのアクセスに失敗したLBAdを代替領域で更新する。代替領域でのLBAdの更新により、LBAの配列順と、LBAに対応するLBAdの配列順が一致しなくなるが、制御部33は、スキップ数を大きくして交代領域を確保することで、発生確率を低減可能である。
なお、制御部33は、LBAdを代替領域で更新したことに関する代替更新情報を不揮発メモリ35に記録し、LBAhアクセス処理のステップS33において代替更新情報を参照してLBAdを算出することができる。
[ステップS49]制御部33は、代替領域に更新となったLBAdを取得する。制御部33は、ステップS41にすすみ、あらためて、代替領域に更新されたLBAdにアクセスをおこなう。
[ステップS50]制御部33は、HDD17へのLBAdによるアクセス結果が正常か否かを判定する。制御部33は、HDD17へのLBAdによるアクセス結果が正常である場合にステップS51にすすみ、アクセス結果が正常でない場合にステップS52にすすむ。
[ステップS51]制御部33は、HDD17へのLBAdによるアクセス結果を応答してLBAdアクセス処理を終了する。アクセス結果は、たとえば、HDD17への書込みであれば書込みの完了報告であり、HDD17からの読出しであれば読出したデータである。
[ステップS52]制御部33は、HDD17へのLBAdによるアクセスエラーを応答してLBAdアクセス処理を終了する。ホストインタフェース31を介してホスト30に通知してLBAdアクセス処理を終了する。
次に、スキップ数「1」の場合に、第2の実施形態のHBA15の制御部33がLBAdアクセス処理において更新するLBAhとLBAdとの対応関係ついて図10を用いて説明する。図10は、第2の実施形態のLBA再配置の一例を示す図である。
図10に示すHDD17は、図に示したHDD17のLBAd#2aが不良セクタとなるなどしてアクセス異常を生じた場合を示す。LBAh#aは、対応関係を有するLBAd#2aにアクセス異常が生じたことで、不良LBAとなる。制御部33は、LBAd#2aの交代領域(図参照)であるLBAd#2a+1をDATA#aの記憶領域とする。制御部33は、LBAh#aとLBAd#2aとの対応関係を、LBAh#aとLBAd#2a+1との対応関係に更新する。
これにより、LBAh#aがLBAd#2a+1と対応関係を有するように更新されても、LBAh#a−1と対応するLBAd#2a−2と、LBAh#a+1と対応するLBAd#2a+2との間に、LBAh#aと対応するLBAd#2a+1が位置する。したがって、このようなLBAh#aの対応関係の更新があっても、LBAhの配列順と、LBAhに対応するLBAdの配列順とは、一致する。したがって、HBA15は、HDD17に対するシーケンシャルなアクセス特性を保持できる。
ここで、HDD17に交代領域を設けない場合(スキップ数「0」の場合)について、参考実施形態として図11、図12を用いて説明する。図11は、参考実施形態のLBA配置の一例を示す図である。図12は、参考実施形態のLBA再配置の一例を示す図である。
HDD17に交代領域を設けない場合、LBAd#0からLBAd#nまでの記憶領域は、Data#0、Data#1、…Data#nのように、Data領域が設定される。
LBAh#0からLBAh#nは、LBAh#0に対してLBAd#0、LBAh#1に対してLBAd#1のように連続して、LBAd#0からLBAd#nと対応する。LBAh#0からLBA#nの配列順は、LBAd#0からLBAd#nの配列順と一致する。すなわち、iが0からnの整数のとき、LBA#iは、LBAd#iに対応する。
これにより、HBA15は、ホスト30から連続するLBAhのアクセス要求を受け付けた場合に、HDD17に対して一方向に配列された物理領域に対してLBAdによりアクセスをおこなうことができる。
図12に示すHDD17は、図11に示したHDD17のLBAd#aが不良セクタとなるなどしてアクセス異常を生じた場合を示す。LBAh#aは、LBAd#aと対応関係を有していたが、LBAd#aにアクセス異常を生じたことで、不良LBAとなる。
制御部33は、LBAd#aの交代領域がないため、代替領域(たとえば、LBAd#b)にDATA#aの記憶領域を設定する。これにより、LBAh#aがLBAd#bと対応関係を有するように更新される。このようなLBAh#aの対応関係の更新は、LBAの配列順と、LBAhに対応するLBAdの配列順とを不一致とする。そのため、HDD17に交代領域を設けない場合、HBA15は、HDD17に対するシーケンシャルなアクセス特性を保持できない。
したがって、HBA15は、1以上のスキップ数を設定してHDD17に交代領域を設けることで、欠陥領域が発生した場合でも、HDD17に対するシーケンシャルなアクセス特性を保持できる。
[第3の実施形態]
次に、HBA15の制御部33が、スキップ数「2」として初期設定処理において生成するLBAhとLBAdとの対応関係、LBAdアクセス処理において更新するLBAdとLBAとの対応関係について図13から図15を用いて説明する。図13は、第3の実施形態のLBA配置の一例を示す図である。図14、図15は、第3の実施形態のLBA再配置の一例を示す図である。
図13に示すHDD17は、図示しない管理領域と、LBAd#0からLBAd#3n+2までの記憶領域と、所要の代替領域とを有する。HDD17におけるLBAdとLBAとの対応関係は、スキップ数「2」の場合を示したものである。
LBAd#0からLBAd#3n+2までの記憶領域は、スキップ数「2」であることから、Data#0、交代領域、交代領域、Data#1、交代領域、交代領域、…のように、1つのData領域と、2つの交代領域とが交互に設定される。
LBAh#0からLBAh#nは、LBAh#0に対してLBAd#0、LBAh#1に対してLBAd#3のように、2つ飛びにLBAd#0からLBAd#3nと対応する。LBAh#0からLBAh#nの配列順は、LBAd#0からLBAd#3nの配列順と一致する。
すなわち、iが0からnの整数のとき、LBAh#iは、LBAd#3iに対応し、LBAh#iと対応関係のないLBAd#3i+1、LBAd#3i+2は、交代領域となる。
これにより、HBA15は、ホスト30から連続するLBAhのアクセス要求を受け付けた場合に、HDD17に対して連続するLBAdによりアクセスをおこなうことができる。また、HDD17は、Data領域と交代領域とを交互に設定することによりデータの記録密度が低下するので、欠陥セクタの発生などによるデータ損失のリスクを低減することができる。
図14に示すHDD17は、図13に示したHDD17のLBAd#3aが不良セクタとなるなどしてアクセス異常を生じた場合を示す。LBAh#aは、LBAd#3aと対応関係を有していたが、LBAd#3aにアクセス異常が生じたことで、不良LBAとなる。制御部33は、LBAd#3aの交代領域(図13参照)であるLBAd#3a+1をDATA#aの記憶領域とする。制御部33は、LBAh#aとLBAd#3aとの対応関係を、LBAh#aとLBAd#3a+1との対応関係に更新する。
これにより、LBAh#aがLBAd#3a+1と対応関係を有するように更新されても、LBAh#a−1と対応するLBAd#3a−3と、LBAh#a+1と対応するLBAd#3a+3との間に、LBAh#aと対応するLBAd#3a+1が位置する。したがって、このようなLBAh#aの対応関係の更新があっても、LBAhの配列順と、LBAhに対応するLBAdの配列順とは、一致する。したがって、HBA15は、HDD17に対するシーケンシャルなアクセス特性を保持できる。
図15に示すHDD17は、図14に示したHDD17のLBAd#3a+1が不良セクタとなるなどして、さらにアクセス異常を生じた場合を示す。LBAh#aは、LBAd#3a+1と対応関係を有していたが、LBAd#3a+1にアクセス異常が生じたことで、交代回数「2」の不良LBAとなる。制御部33は、LBAd#3a+1の交代領域(図13参照)であるLBAd#3a+2をDATA#aの記憶領域とする。制御部33は、LBAh#aとLBAd#3a+1との対応関係を、LBAh#aとLBAd#3a+2との対応関係に更新する。
これにより、LBAh#aがLBAd#3a+2と対応関係を有するように更新されても、LBAh#a−1と対応するLBAd#3a−3と、LBAh#a+1と対応するLBAd#3a+3との間に、LBAh#aと対応するLBAd#3a+2が位置する。したがって、このようなLBAh#aの対応関係の更新があっても、LBAhの配列順と、LBAhに対応するLBAdの配列順とは、一致する。したがって、HBA15は、HDD17に対するシーケンシャルなアクセス特性を保持できる。
また、HBA15は、スキップ数を大きくすることで、不良LBAに対応するLBAdにアクセス異常を繰り返し生じても、スキップ数に応じて交代領域を更新可能であり、HDD17に対するシーケンシャルなアクセス特性を保持できる。
なお、HBA15は、スキップ数「2」の場合の初期設定処理において、LBAh#iに対応するLBAd#3iにData#iを格納する記憶領域を設定した。そして、HBA15は、LBAh#iに対応するLBAd#3iの一側に交代領域を設定する。たとえば、HBA15は、LBAd#3i+1、LBAd#3i+2を交代領域として設定することができるし、LBAd#3i−2、LBAd#3i−1を交代領域として設定することもできる。
また、HBA15は、LBAh#iに対応するLBAd#3iの両側に交代領域を設定するようにしてもよい。たとえば、HBA15は、LBAh#iに対応するLBAd#3iにData#iを格納する記憶領域を設定し、LBAd#3i−1、LBAd#3i+1を交代領域として設定することができる。
なお、HBA15は、LBAh#iに対応する交代領域と、LBAh#j(≠i)に対応する交代領域を排他的に設定したが、LBAh#iの記憶領域とLBAh#i+1の記憶領域との間に位置する交代領域を、LBAh#iまたはLBAh#i+1に対応可能な交代領域として設定してもよい。この場合、HBA15は、LBAhの配列順と、LBAhに対応するLBAdの配列順とが一致する範囲で、LBAh#iとLBAh#i+1とで交代領域を共用可能にする。なお、HBA15は、LBA管理テーブル50が保持する交代回数により交代対象の交代領域を一意に決定し、不良LBAの前後に配列されているLBAh(不良LBA)の交代回数を参照することで衝突防止をおこなうことができる。
HBA15は、このような交代領域の共用により、交代領域の確保によるシーケンシャルなアクセス特性の保持しながら、ユーザが使用可能な記憶領域の増大を図ることができる。
[第4の実施形態]
次に、第4の実施形態のHDDについて図16を用いて説明する。図16は、第4の実施形態の情報処理装置の構成例を示す図である。
第4の実施形態は、HDD17aによりLBA変換をおこなう点で、HBA15によりLBA変換をおこなう第2の実施形態と異なる。
HDD17aは、情報記憶装置であり、また、情報処理装置の一例である。HDD17aは、HBA15aを介してホスト30によるHDD17aへのアクセスを受け付ける。
HBA15aは、ホスト30によるHDD17へのアクセスを仲介する。HBA15aは、ホストインタフェース31と、HDDインタフェース32と、制御部33aと、を備える。ホストインタフェース31は、HBA15aとホスト30とを接続するための、ハードウェアインタフェースおよびソフトウェアインタフェースを提供する。HDDインタフェース32は、HBA15aとHDD17aとを接続するための、ハードウェアインタフェースおよびソフトウェアインタフェースを提供する。制御部33aは、ホストインタフェース31とHDDインタフェース32との間の情報処理を制御する。
制御部33aは、第2の実施形態の制御部33とは異なり、ホスト30から指定されたLBAhを、変換せずにHDD17aに送信する。このため、以下の説明では、HBA15aからHDD17aにLBAhが送信されるものとする。
HDD17aは、磁気ディスク17bと、ディスク制御部17cと、不揮発メモリ17dと、を備える。磁気ディスク17bは、情報を記録する情報記録媒体であり、ディスク制御部17cにより制御される。
ディスク制御部17cは、LBA変換管理部34aを有する。不揮発メモリ17dは、ファームウェア36a、スキップ数37、LBA管理テーブル50を記憶する。LBA管理テーブル50は、不良LBA38と、交代回数39を保持する。
ディスク制御部17cは、図示しないCPUを備え、HDD17aを統括的に制御する。ディスク制御部17cは、HBA15aからLBAによるアクセス要求を受け付けて、LBAdによるディスク制御部17cは、ファームウェア36aを実行することにより、第2の実施形態の制御部33と同様の手順で、LBAhとLBAdの相互変換を実現する。
ディスク制御部17cは、LBA管理テーブル50を参照して、LBAhとLBAdの相互変換をおこなう。LBA変換管理部34aは、LBA管理テーブル50の生成と更新をおこなう。LBA変換管理部34aは、初期設定処理においてLBA管理テーブル50を生成し、HDD17bのアクセス異常の検出を契機にLBA管理テーブル50を更新する。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、情報処理装置1,10、HBA15、HDD17aが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
1,10 情報処理装置
2 管理部
3 制御部
4 記録媒体
11 CPU
12 グラフィック処理装置
13 RAM
14 入力インタフェース
15,15a HBA
16 光学ドライブ装置
17,17a HDD
17b 磁気ディスク
17c ディスク制御部
17d,35 不揮発メモリ
18 通信インタフェース
19 バス
21 モニタ
22 キーボード
23 マウス
24 光ディスク
30 ホスト
31 ホストインタフェース
32 HDDインタフェース
33,33a 制御部
34,34a LBA変換管理部
36,36a ファームウェア
37 スキップ数
38 不良LBA
39 交代回数
50 LBA管理テーブル

Claims (8)

  1. 連続する複数の論理アドレスのそれぞれに対して、記録媒体上の位置を示す物理アドレスが前記記録媒体のトラック内において所定間隔で割り付けられるように、論理アドレスと物理アドレスとの対応関係を管理し、前記記録媒体で欠陥領域が発生すると、前記欠陥領域を示す物理アドレスに割り付けられた論理アドレスを特定し、特定された論理アドレスに割り付ける物理アドレスを、前記欠陥領域を示す物理アドレスに隣接する前記間隔内の物理アドレスにシフトする管理部と、
    前記複数の論理アドレスの中からアクセス先論理アドレスの指定を受けると、前記対応関係にもとづいて、前記アクセス先論理アドレスに割り付けられた物理アドレスが示す領域へのアクセスを制御する制御部と、
    を有することを特徴とする情報処理装置。
  2. 前記管理部は、前記欠陥領域を示す物理アドレスに割り付けられた論理アドレスを不良論理アドレスとして保持し、
    前記制御部は、前記アクセス先論理アドレスが前記不良論理アドレスである場合に、前記物理アドレスのシフト量にもとづいて、前記アクセス先論理アドレスに割り付けられた物理アドレスを算出することを特徴とする請求項1記載の情報処理装置。
  3. 前記制御部は、前記所定間隔を設定する設定値にもとづいて、前記アクセス先論理アドレスに割り付けられた物理アドレスを算出することを特徴とする請求項1記載の情報処理装置。
  4. 前記管理部は、前記間隔内の物理アドレスの数に応じて前記物理アドレスのシフトを繰り返し実行可能であることを特徴とする請求項1記載の情報処理装置。
  5. 前記管理部は、前記物理アドレスのシフト回数を保持し、
    前記制御部は、前記アクセス先論理アドレスが不良論理アドレスである場合に、前記物理アドレスのシフト回数にもとづいて、前記アクセス先論理アドレスに割り付けられた物理アドレスを算出することを特徴とする請求項4記載の情報処理装置。
  6. 前記管理部は、1つの前記間隔内にある物理アドレスを、前記欠陥領域と交代する交代領域となる物理アドレスとして、前記間隔の一方の側にある物理アドレスと対応関係を有する1つの前記論理アドレスに予約することを特徴とする請求項1記載の情報処理装置。
  7. コンピュータに、
    連続する複数の論理アドレスのそれぞれに対して、記録媒体上の位置を示す物理アドレスが前記記録媒体のトラック内において所定間隔で割り付けられるように、論理アドレスと物理アドレスとの対応関係を管理し、前記記録媒体で欠陥領域が発生すると、前記欠陥領域を示す物理アドレスに割り付けられた論理アドレスを特定し、特定された論理アドレスに割り付ける物理アドレスを、前記欠陥領域を示す物理アドレスに隣接する前記間隔内の物理アドレスにシフトし、
    前記複数の論理アドレスの中からアクセス先論理アドレスの指定を受けると、前記対応関係にもとづいて、前記アクセス先論理アドレスに割り付けられた物理アドレスが示す領域へのアクセスを制御する、
    処理を実行させることを特徴とする情報処理プログラム。
  8. コンピュータが、
    連続する複数の論理アドレスのそれぞれに対して、記録媒体上の位置を示す物理アドレスが前記記録媒体のトラック内において所定間隔で割り付けられるように、論理アドレスと物理アドレスとの対応関係を管理し、前記記録媒体で欠陥領域が発生すると、前記欠陥領域を示す物理アドレスに割り付けられた論理アドレスを特定し、特定された論理アドレスに割り付ける物理アドレスを、前記欠陥領域を示す物理アドレスに隣接する前記間隔内の物理アドレスにシフトし、
    前記複数の論理アドレスの中からアクセス先論理アドレスの指定を受けると、前記対応関係にもとづいて、前記アクセス先論理アドレスに割り付けられた物理アドレスが示す領域へのアクセスを制御する、
    ことを特徴とするアクセス制御方法。
JP2014516598A 2012-05-25 2012-05-25 情報処理装置、情報処理プログラム、およびアクセス制御方法 Active JP6015752B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/063460 WO2013175622A1 (ja) 2012-05-25 2012-05-25 情報処理装置、情報処理プログラム、およびアクセス制御方法

Publications (2)

Publication Number Publication Date
JPWO2013175622A1 JPWO2013175622A1 (ja) 2016-01-12
JP6015752B2 true JP6015752B2 (ja) 2016-10-26

Family

ID=49623351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014516598A Active JP6015752B2 (ja) 2012-05-25 2012-05-25 情報処理装置、情報処理プログラム、およびアクセス制御方法

Country Status (3)

Country Link
US (1) US9734055B2 (ja)
JP (1) JP6015752B2 (ja)
WO (1) WO2013175622A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542122B2 (en) 2014-10-23 2017-01-10 Seagate Technology Llc Logical block addresses used for executing host commands
CN105630705B (zh) * 2015-06-10 2019-09-17 上海磁宇信息科技有限公司 数据存储装置及使用块替换表的读写方法
JP6406219B2 (ja) * 2015-11-12 2018-10-17 京セラドキュメントソリューションズ株式会社 通信装置及び画像形成装置

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02239472A (ja) * 1989-03-13 1990-09-21 Nec Ibaraki Ltd 光ディスク装置
US5075804A (en) * 1989-03-31 1991-12-24 Alps Electric Co., Ltd. Management of defect areas in recording media
US5367652A (en) * 1990-02-02 1994-11-22 Golden Jeffrey A Disc drive translation and defect management apparatus and method
US5235585A (en) * 1991-09-11 1993-08-10 International Business Machines Reassigning defective sectors on a disk
US5319627A (en) * 1991-11-04 1994-06-07 Matsushita Graphic Communication System, Inc. Method for managing a defect in an optical disk by assigning logical addresses based upon cumulative number of defects in the disk
JP3373218B2 (ja) * 1991-12-26 2003-02-04 パイオニア株式会社 書込み可能型ディスク用ドライブ装置の記録再生方法
JPH0676480A (ja) * 1992-08-27 1994-03-18 Fujitsu Ltd 交代セクタ処理を行うディスク装置
JPH06110619A (ja) * 1992-09-25 1994-04-22 Fujitsu Ltd 外部記憶装置
US5541903A (en) * 1993-10-21 1996-07-30 Sony Corporation System for accessing a disc drive with defect information
US6025966A (en) * 1994-03-03 2000-02-15 Cirrus Logic, Inc. Defect management for automatic track processing without ID field
WO1995024038A1 (en) * 1994-03-03 1995-09-08 Cirrus Logic, Inc. Defect management for automatic track processing without id field
US5802584A (en) * 1995-09-01 1998-09-01 Adaptec, Inc. Hardware alignment in a headerless disk drive architecture
US5835930A (en) * 1996-04-09 1998-11-10 International Business Machines Corporation One or more logical tracks per physical track in a headerless disk drive
US5844911A (en) * 1996-12-12 1998-12-01 Cirrus Logic, Inc. Disc storage system with spare sectors dispersed at a regular interval around a data track to reduced access latency
WO1998036414A1 (fr) * 1997-02-14 1998-08-20 Sony Corporation Procede d'enregistrement/reproduction de donnees et dispositif associe
JPH10301721A (ja) * 1997-04-28 1998-11-13 Internatl Business Mach Corp <Ibm> 情報記憶媒体の欠陥セクタ処理方法及び情報記憶再生装置
KR100269325B1 (ko) * 1997-11-11 2000-10-16 윤종용 정보기록장치의 불량 어드레스 검색방법 및 이를 제어하는 프로세서
US6408408B1 (en) * 1998-11-10 2002-06-18 Samsung Electronics Co., Ltd. Recording medium having spare area for defect management and information on defect management, and method of allocating spare area and method of managing defects
US6738924B1 (en) * 1999-01-15 2004-05-18 Seagate Tech. Llc Full slip defect management system using track identification
US7509342B2 (en) * 2002-02-08 2009-03-24 Sanyo Electric Co., Ltd. File data storage management method, file data storage device, program executing processing for storing file data, and storage medium
JP4012791B2 (ja) 2002-09-10 2007-11-21 富士通株式会社 情報記録媒体のセクタの再配置方法および情報記憶装置
JP3821290B2 (ja) * 2002-11-05 2006-09-13 ソニー株式会社 情報処理装置および情報処理方法、並びにプログラム
JP2004185709A (ja) * 2002-12-03 2004-07-02 Hitachi Ltd ディスク制御装置および交替処理方法
JP4117608B2 (ja) * 2002-12-03 2008-07-16 ソニー株式会社 記録制御装置および記録制御方法、並びにプログラム
WO2004114298A2 (en) * 2003-06-23 2004-12-29 Koninklijke Philips Electronics N.V. Device and method for recording information
US20070168689A1 (en) * 2003-06-23 2007-07-19 Koninklijke Philips Electronics N.V. Device and method for recording information with remapping of logical addresses to physical addresses when defects occur
US20060153026A1 (en) * 2003-06-23 2006-07-13 Koninklijke Philips Electronics, N.V. Device and method for recording information
KR101083096B1 (ko) * 2003-07-17 2011-11-16 코닌클리케 필립스 일렉트로닉스 엔.브이. 정보 기록 장치 및 방법
CA2532297A1 (en) * 2003-07-17 2005-01-27 Koninklijke Philips Electronics N.V. Device and method for recording information with reorganization of defect management information
WO2006000933A1 (en) * 2004-06-21 2006-01-05 Koninklijke Philips Electronics N.V. System for covertly storing control information
KR100622349B1 (ko) * 2004-08-04 2006-09-14 삼성전자주식회사 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
US7752491B1 (en) * 2005-05-05 2010-07-06 Seagate Technology Llc Methods and structure for on-the-fly head depopulation in a dynamically mapped mass storage device
US20080005449A1 (en) * 2006-07-03 2008-01-03 Phison Electronics Corp. Generalized flash memory and method thereof
US7472223B1 (en) * 2006-09-28 2008-12-30 Emc Corporation Surface level sparing in disk drives
KR100845137B1 (ko) * 2006-10-02 2008-07-09 삼성전자주식회사 메모리 장치의 배드 블록 주소를 번역하는 방법, 메모리장치의 배드 블록 주소를 번역하는 장치 및 이를 포함하는메모리 장치 컨트롤러
US20080239548A1 (en) * 2007-03-30 2008-10-02 Toshiba America Information Systems, Inc. Multiple sector reassign on write error for disk drive
TWI472916B (zh) * 2008-06-02 2015-02-11 A Data Technology Co Ltd 記憶體儲存空間管理方法
TWI443512B (zh) * 2011-07-13 2014-07-01 Phison Electronics Corp 區塊管理方法、記憶體控制器與記憶體儲存裝置
JP5642095B2 (ja) * 2012-01-20 2014-12-17 株式会社東芝 ディスク装置及び同ディスク装置においてキャリブレーション領域を配置し管理する方法
US8959281B1 (en) * 2012-11-09 2015-02-17 Western Digital Technologies, Inc. Data management for a storage device
US8953265B1 (en) * 2014-07-24 2015-02-10 Emc Corporation Method and system for monitoring disk reliability with global disk scrubbing

Also Published As

Publication number Publication date
US20150081991A1 (en) 2015-03-19
WO2013175622A1 (ja) 2013-11-28
JPWO2013175622A1 (ja) 2016-01-12
US9734055B2 (en) 2017-08-15

Similar Documents

Publication Publication Date Title
JP6056453B2 (ja) プログラム、データ管理方法および情報処理装置
US8234467B2 (en) Storage management device, storage system control device, storage medium storing storage management program, and storage system
JP5218284B2 (ja) 仮想ディスク管理プログラム、ストレージ装置管理プログラム、マルチノードストレージシステム、および仮想ディスク管理方法
JP4935331B2 (ja) ストレージシステムと記憶領域の選択方法並びにプログラム
JP6476969B2 (ja) ストレージ制御装置、制御プログラムおよび制御方法
JP5942512B2 (ja) ストレージ制御装置およびストレージシステム
JP5104855B2 (ja) 負荷分散プログラム、負荷分散方法、及びストレージ管理装置
JP6011153B2 (ja) ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
JP2016118821A (ja) ストレージ管理装置、ストレージ管理方法およびストレージ管理プログラム
JP6402557B2 (ja) ストレージ装置、ストレージ制御方法およびストレージ制御プログラム
US20130080725A1 (en) Control apparatus, control method, and storage apparatus
JP6867591B2 (ja) ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム
JP6015752B2 (ja) 情報処理装置、情報処理プログラム、およびアクセス制御方法
US10133517B2 (en) Storage control device
JP6005446B2 (ja) ストレージシステム、仮想化制御装置、情報処理装置、および、ストレージシステムの制御方法
JP6287613B2 (ja) 制御装置、および診断制御プログラム
JP5148664B2 (ja) 設定プログラム、および設定装置
JP5729043B2 (ja) ストレージ装置および制御装置
JP2014032515A (ja) ストレージ装置及びストレージシステム
JP6003364B2 (ja) 制御装置,ストレージ装置,制御方法,及び制御プログラム
JP5924117B2 (ja) コンピュータ、データ格納方法、データ格納プログラム及び情報処理システム
JP6957845B2 (ja) ストレージ制御装置及びストレージ装置
JP2020038475A (ja) ストレージ制御装置およびストレージ制御プログラム
JP2015158800A (ja) データ転送制御装置、データ転送制御プログラムおよびデータ転送制御方法
JP7288191B2 (ja) ストレージ制御装置およびストレージ制御プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160307

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160912

R150 Certificate of patent or registration of utility model

Ref document number: 6015752

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150