JP6946485B2 - Magnetic storage device - Google Patents
Magnetic storage device Download PDFInfo
- Publication number
- JP6946485B2 JP6946485B2 JP2020006289A JP2020006289A JP6946485B2 JP 6946485 B2 JP6946485 B2 JP 6946485B2 JP 2020006289 A JP2020006289 A JP 2020006289A JP 2020006289 A JP2020006289 A JP 2020006289A JP 6946485 B2 JP6946485 B2 JP 6946485B2
- Authority
- JP
- Japan
- Prior art keywords
- lba
- address
- patrol
- magnetic disk
- confirmation process
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B25/00—Apparatus characterised by the shape of record carrier employed but not specific to the method of recording or reproducing, e.g. dictating apparatus; Combinations of such apparatus
- G11B25/04—Apparatus characterised by the shape of record carrier employed but not specific to the method of recording or reproducing, e.g. dictating apparatus; Combinations of such apparatus using flat record carriers, e.g. disc, card
- G11B25/043—Apparatus characterised by the shape of record carrier employed but not specific to the method of recording or reproducing, e.g. dictating apparatus; Combinations of such apparatus using flat record carriers, e.g. disc, card using rotating discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/02—Recording, reproducing, or erasing methods; Read, write or erase circuits therefor
- G11B5/09—Digital recording
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B21/00—Head arrangements not specific to the method of recording or reproducing
- G11B21/02—Driving or moving of heads
- G11B21/08—Track changing or selecting during transducing operation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2508—Magnetic discs
- G11B2220/2516—Hard disks
Description
本発明の実施形態は、磁気記憶装置に関する。 Embodiments of the present invention relate to magnetic storage devices.
従来から、データを記憶する手段として、磁気記憶装置(HDD(Hard Disk Drive)等)が多く用いられている。磁気記憶装置は、データを記憶する磁気ディスクと、磁気ディスクに対してデータの読み書きを行い、アクチュエータによって磁気ディスク上を移動する磁気ヘッドを備えている。 Conventionally, a magnetic storage device (HDD (Hard Disk Drive) or the like) is often used as a means for storing data. The magnetic storage device includes a magnetic disk that stores data and a magnetic head that reads and writes data to and from the magnetic disk and moves the data on the magnetic disk by an actuator.
磁気記憶装置に関しては、長時間の定点浮上による故障の発生が報告されている。定点浮上とは、磁気ディスクの特定のデータのみにアクセスする場合に、磁気ヘッドが磁気ディスク上でほとんど動かない(まったく動かない場合も含む。以下同様)現象を指す。定点浮上が長時間続くと、磁気ディスク上の潤滑剤に偏りが生じたり、磁気ディスクに磁気ヘッドが吸着したりすることにより、故障が発生する場合がある。 Regarding magnetic storage devices, it has been reported that failures occur due to fixed-point levitation for a long time. Fixed-point levitation refers to a phenomenon in which the magnetic head hardly moves on the magnetic disk (including the case where it does not move at all, and the same applies hereinafter) when accessing only specific data on the magnetic disk. If the fixed point levitation continues for a long time, the lubricant on the magnetic disk may be biased or the magnetic head may be attracted to the magnetic disk, which may cause a failure.
しかしながら、従来技術においては、磁気記憶装置において、長時間の定点浮上を容易に回避することができなかった。 However, in the prior art, it has not been possible to easily avoid long-term fixed-point levitation in the magnetic storage device.
そこで、本発明の実施形態は、長時間の定点浮上を容易に回避することができる磁気記憶装置を提供することを課題とする。 Therefore, it is an object of the present embodiment of the present invention to provide a magnetic storage device capable of easily avoiding fixed-point floating for a long time.
実施形態の磁気記憶装置は、データを記憶する磁気ディスクと、前記磁気ディスクに対してデータの読み書きを行い、アクチュエータによって前記磁気ディスク上を移動する磁気ヘッドと、所定のタイミングで、前記磁気ディスクに記憶されているデータのうちの所定サイズ分のデータの正常性を確認する確認処理を実行する確認処理部と、前記確認処理が終わったときに、当該確認処理の対象アドレスに対して、前記確認処理ごとに前記磁気ヘッドが前記磁気ディスク上を径方向に所定量以上移動するように予め設定された第1の加算値を加算することで、次回の前記確認処理の対象アドレスを設定する設定部と、を備える。 The magnetic storage device of the embodiment has a magnetic disk that stores data, a magnetic head that reads and writes data to and from the magnetic disk, and moves on the magnetic disk by an actuator, and the magnetic disk at a predetermined timing. The confirmation processing unit that executes a confirmation process for confirming the normality of data of a predetermined size among the stored data, and the confirmation process for the target address of the confirmation process when the confirmation process is completed. A setting unit that sets the target address for the next confirmation process by adding a first additional value preset so that the magnetic head moves on the magnetic disk by a predetermined amount or more in the radial direction for each process. And.
以下、本発明の磁気記憶装置の実施形態について、図面を参照して説明する。なお、以下の実施形態によって本発明が限定されるものではない。 Hereinafter, embodiments of the magnetic storage device of the present invention will be described with reference to the drawings. The present invention is not limited to the following embodiments.
図1は、実施形態のコンピュータ1の全体構成の概略を示す図である。コンピュータ1(磁気記憶装置)は、メインボード10と、RAIDカード3と、複数のHDD(Hard Disk Drive)2と、を備えている。なお、コンピュータ1は、不図示のディスプレイ等の表示装置や、キーボードやマウス等の入力装置等をさらに備えている。
FIG. 1 is a diagram showing an outline of the overall configuration of the
メインボード10は、CPU(Central Processing Unit)11や、不図示のROM(Read Only Memory)やRAM(Random Access Memory)等が搭載された制御基板である。
The
HDD2は、近年のコンピュータ用の補助記憶装置の中でも、動作が低速ではあるが、大容量のデータを保存できるため、多く使用されている。また、HDD2は、多くの部品から構成されているが、例えば、データを記憶する磁気ディスクと、磁気ディスクに対してデータの読み書きを行い、アクチュエータによって磁気ディスク上を移動する磁気ヘッドを備える。
HDD2 is widely used among auxiliary storage devices for computers in recent years because it can store a large amount of data although its operation is low. The
また、例えば、近年のHDD2は、Serial Attached SCSI(SAS)やSerial ATA(SATA)といったハードウェアインタフェースを備えているが、接続するための論理的なインタフェースはSCSIやATAである。これらの論理的なインタフェースでは、データの保存箇所をセクタ、アドレスといった単位で管理している。
Further, for example, the
HDD2は、低コストで大容量のデータを保存できる装置である一方、磁気やアクチュエータ(モータ等)を利用してデータを保存する装置でもあるため、物理的な要因によりデータの保存を充分には保証できない。その対策の技術として、RAID(Redundant Arrays of Inexpensive Disks)が存在する。
The
RAIDでは、複数のHDD2を使用し、冗長性のあるデータ保存を行う。そして、HDD2の故障が発生した場合であっても、故障したHDD2を交換後、冗長データに基づいて、故障したHDD2に保存されていたデータを復元することが可能である。このRAID機能をハードウェアで実現するのが、RAIDカード3(ハードウェアRAIDボード)である。
RAID uses a plurality of
RAIDカード3は、コンピュータ1に取り付けられる拡張カードである。RAIDカード3は、RAID機能を実現するだけでなく、定期的にHDD2にアクセスし、HDD2のデータの正常性を確認するパトロール処理の機能を実現する。
The RAID card 3 is an expansion card attached to the
また、HDD2に関しては、上述のように、長時間の定点浮上による故障の発生の問題がある。そこで、以下では、RAIDカード3のパトロール処理の機能を利用し、定期的に磁気ヘッドを強制的に動かすようパトロール処理の範囲を設定し、パトロール処理を実行することで、長時間の定点浮上を容易に回避することができる技術について説明する。
Further, with respect to the
RAIDカード3は、RAIDコントローラ31を備える。RAIDコントローラ31は、例えば、プロセッサ等の制御装置と、フラッシュメモリ等の記憶装置とを備えるハードウェア構成である。なお、RAIDコントローラ31の機能は、このようにハードウェア構成で実現されてもよいし、ソフトウェアプログラムで実現されてもよいし、ファームウェアで実現されてもよい。
The RAID card 3 includes a
RAIDコントローラ31は、処理部32と、設定部33と、送受信部34と、を備える。
The
処理部32は、RAIDに関する各種処理を実行する。また、処理部32は、所定のタイミングで、HDD2に記憶されているデータのうちの所定サイズ分のデータの正常性を確認するパトロール処理(確認処理)を実行するパトロール処理部と(確認処理部)しての機能を有する。
The
また、処理部32は、複数のHDD2のすべてのデータに対して所定期間(例えば、数週間)でパトロール処理を実行できるように、所定サイズごとのデータに対するパトロール処理のタイミングを決定する。
Further, the
設定部33は、1回のパトロール処理が終わったときに、当該パトロール処理の先頭アドレス(対象アドレスの一例)に対して、パトロール処理ごとに磁気ヘッドが磁気ディスク上を径方向に所定量以上移動するように予め設定された第1の加算値を加算することで、次回のパトロール処理の先頭アドレスを設定する。
When one patrol process is completed, the
なお、例えば、パトロール処理の範囲をHDD2の論理アドレスで設定する場合、上述の第1の加算値は、HDD2の論理アドレスと物理アドレスの対応関係やHDD2の物理構成等を考慮して、パトロール処理ごとに磁気ヘッドが磁気ディスク上を径方向に所定量以上移動して長時間の定点浮上を確実に回避できる値に設定すればよい。 For example, when the range of patrol processing is set by the logical address of HDD2, the above-mentioned first added value is patrol processing in consideration of the correspondence between the logical address of HDD2 and the physical address, the physical configuration of HDD2, and the like. Each time, the magnetic head may move on the magnetic disk in the radial direction by a predetermined amount or more and set to a value that can surely avoid fixed point floating for a long time.
また、設定部33は、パトロール処理が終わったときに、当該パトロール処理の先頭アドレスに対して第1の加算値を加算し、加算後のアドレスが磁気ディスクのアドレス範囲を超えたとき、当該アドレスのうち、第1の所定桁の上位アドレスを0にするとともに、第2の所定桁の下位アドレスに第2の加算値を加算することで、次回のパトロール処理の先頭アドレスを設定する。その場合、例えば、第2の加算値は、所定サイズである。
Further, the
また、例えば、設定部33は、次回のパトロール処理の先頭アドレスを設定したときに、当該先頭アドレスからアドレス範囲の最終アドレスまでのサイズが所定サイズ未満の場合、次回のパトロール処理の範囲を、当該先頭アドレスから最終アドレスまでに設定する。設定部33の処理の詳細については後述する。
Further, for example, when the
送受信部34は、メインボード10やHDD2とのデータの送受信を実行する。
The transmission /
図2は、実施形態においてパトロール処理の先頭アドレスの算出に用いる情報を示す表である。設定部33は、パトロール処理を実行するために、以下の(1)〜(6)の情報を不揮発性の記憶部に記憶して管理する。
FIG. 2 is a table showing information used for calculating the start address of the patrol process in the embodiment. The setting
(1)HDD容量(Capacity)
補助記憶装置としてのHDD2の単体の総記憶容量情報であり、単位は例えばセクタである。また、アドレス範囲の最終アドレスを「Last LBA」という。例えば、Capacityが「0x80000000」で、アドレス範囲が「0x00000000」〜「0x7FFFFFFF」の場合、Last LBAは「0x7FFFFFFF」である。
(1) HDD capacity (Capacity)
It is the total storage capacity information of a single unit of the
(2)次回パトロール処理の先頭アドレス(LBA)
パトロール処理の終了後に決定する、次回パトロール処理の先頭アドレス情報で、単位は例えばセクタである。なお、LBAは、以下の(3)LBA-Lと(4)LBA-Hを加算したものである。また、以下の説明で、主に、LBAは、2進数で32ビット、16進数(以下「0x」ともいう。)で8ビットであるものとする。また、LBA-Lは、LBAにおける2進数で32ビットのうちの下位の12ビット(第2の所定桁)、16進数で8ビットのうち下位の3ビット(第2の所定桁)であるものとする。また、LBA-Hは、LBAにおける2進数で32ビットのうちの上位の20ビット(第1の所定桁)、16進数で8ビットのうち上位の5ビット(第1の所定桁)であるものとする。
(2) Start address (LBA) of the next patrol process
It is the start address information of the next patrol process, which is determined after the patrol process is completed, and the unit is, for example, a sector. The LBA is the sum of the following (3) LBA-L and (4) LBA-H. Further, in the following description, it is assumed that the LBA is mainly 32 bits in binary and 8 bits in hexadecimal (hereinafter, also referred to as “0x”). LBA-L is the lower 12 bits (second predetermined digit) of 32 bits in binary and the lower 3 bits (second predetermined digit) of 8 bits in hexadecimal. And. LBA-H is the upper 20 bits (first predetermined digit) of 32 bits in binary and the upper 5 bits (first predetermined digit) of 8 bits in hexadecimal. And.
(3)下位アドレス(LBA-L)
(2)LBAを算出するための、第2の所定桁の下位アドレス情報で、単位は例えばセクタである(詳細は後述)。
(3) Lower address (LBA-L)
(2) It is the lower address information of the second predetermined digit for calculating the LBA, and the unit is, for example, a sector (details will be described later).
(4)上位アドレス(LBA-H)
(2)LBAを算出するための、第1の所定桁の上位アドレス情報で、単位は例えばセクタである(詳細は後述)。
(4) Higher address (LBA-H)
(2) High-order address information of the first predetermined digit for calculating LBA, and the unit is, for example, a sector (details will be described later).
(5)上位/下位管理分割シフト(Shift)
LBAをLBA-HとLBA-Lに二分するための境界を示す、2進数のビットシフト値情報(上述の例では「12」)である。また、以下では、2進数で「1」をShift分だけ上位にシフトした値が「第1の加算値」である。つまり、Shiftが「12」であれば、第1の加算値は、2進数で「1000000000000」、16進数で「1000(0x1000)」である。
(5) Upper / lower management division shift (Shift)
Binary bit shift value information (“12” in the above example) indicating the boundary for dividing LBA into LBA-H and LBA-L. Further, in the following, the value obtained by shifting "1" upward by the amount of Shift in the binary number is the "first added value". That is, if Shift is "12", the first addition value is "1000000000000" in binary and "1000 (0x1000)" in hexadecimal.
(6)パトロール範囲(Size)
パトロール処理で読み出すデータのサイズ情報で、単位は例えばセクタである。
(6) Patrol range (Size)
It is the size information of the data read by the patrol process, and the unit is, for example, a sector.
例えば、Shiftが「12」である場合、LBAは、2進数で、下位の12ビット分がLBA-Lとなり、残りの上位の20ビット分がLBA-Hとなる。具体的には、例えば、LBAが「0x12345678」であると、LBA-Lは「0x678」、LBA-Hは「0x12345000」となる。 For example, when Shift is "12", the LBA is a binary number, the lower 12 bits are LBA-L, and the remaining upper 20 bits are LBA-H. Specifically, for example, if the LBA is "0x12345678", the LBA-L is "0x678" and the LBA-H is "0x12345000".
また、Shiftが「16」であった場合、LBAは、2進数で、下位の16ビット分がLBA-Lとなり、残りの上位の16ビット分がLBA-Hとなる。具体的には、例えば、LBAが「0x12345678」であると、LBA-Lは「0x5678」、LBA-Hは「0x12340000」となる。 If Shift is "16", the LBA is a binary number, the lower 16 bits are LBA-L, and the remaining upper 16 bits are LBA-H. Specifically, for example, if the LBA is "0x12345678", the LBA-L is "0x5678" and the LBA-H is "0x12340000".
そして、例えば、RAIDコントローラ31の機能がファームウェアで実現される場合、そのファームウェアが正常状態に遷移してから、処理部32は、所定のタイミングで、パトロール処理を実行する。
Then, for example, when the function of the
処理部32は、パトロール処理を実行するときに、HDD2のアドレス範囲のうち、(2)LBAから(6)Size(例えば「0x100」)分のデータに対してパトロール処理を実行する。
When executing the patrol process, the
また、設定部33は、パトロール処理の先頭アドレスを、図2の「LBA」の左から右に順番に変わるように設定する。その場合の処理について、図3、図4を参照して説明する。
Further, the setting
図3は、実施形態のコンピュータ1におけるパトロール処理等を示すフローチャートである。
FIG. 3 is a flowchart showing a patrol process or the like in the
まず、ステップS1において、処理部32は、パトロール処理の開始タイミングが到来したか否かを判定し、Yesの場合はステップS2に進み、Noの場合はステップS1に戻る。
First, in step S1, the
ステップS2において、処理部32は、HDD2に記憶されているデータのうち、先頭アドレスのLBAから所定サイズ(Size)分のデータに対してパトロール処理を実行する。
In step S2, the
次に、ステップS3において、処理部32は、ステップS2のパトロール処理の結果が正常であったか否かを判定し、Yesの場合はステップS4に進み、Noの場合はステップS5に進む。
Next, in step S3, the
ステップS5において、処理部32は、ステップS2のパトロール処理の結果が異常(エラー)であった旨をデータとして記憶する。また、コンピュータ1のユーザにエラーを音声や表示で通知してもよい。
In step S5, the
ステップS4において、設定部33は、次回パトロール処理の先頭アドレス決定処理を実行する。ステップS4について、図4を参照して説明する。図4は、実施形態のコンピュータにおける次回パトロール処理の先頭アドレス決定処理(図3のステップS4の処理)を示すフローチャートである。
In step S4, the setting
ステップS41において、設定部33は、LBA-Hに第1の加算値(例えば、「0x1000」)を加算することで、新たなLBA-Hを算出する。
In step S41, the setting
次に、ステップS42において、設定部33は、LBA-HとLBA-Lを加算することで、新たなLBAを算出する。
Next, in step S42, the setting
次に、ステップS43において、設定部33は、LBAがLast LBAを超えたか否かを判定し、Yesの場合はステップS44に進み、Noの場合はステップS47に進む。
Next, in step S43, the setting
ステップS44において、設定部33は、LBA-Hを0(「0x00000000」)にする。
In step S44, the setting
次に、ステップS45において、設定部33は、LBA-Lに第2の加算値(例えば、「0x100」)を加算することで、新たなLBA-Lを算出する。
Next, in step S45, the setting
次に、ステップS46において、設定部33は、LBA-HとLBA-Lを加算することで、新たなLBAを算出し、ステップS47に進む。
Next, in step S46, the setting
ステップS47において、設定部33は、LBAからSize分先のアドレス(LBA+Size−1)がLast LBAを超えたか否かを判定し、Yesの場合はステップS49に進み、Noの場合はステップS48に進む。
In step S47, the setting
ステップS48において、設定部33は、パトロール処理範囲をLBAから(LBA+Size−1)までに設定する。
In step S48, the setting
ステップS49において、設定部33は、パトロール処理範囲をLBAからLast LBAまでに設定する。
In step S49, the setting
ここで、図2を参照して、計算の具体例について説明する。また、図5を併せて参照する。図5は、実施形態においてHDD2のアドレスとパトロール処理の対象領域の関係を示す図である。なお、以下において、パトロール処理結果はすべて正常であったものとする。
Here, a specific example of the calculation will be described with reference to FIG. In addition, FIG. 5 is also referred to. FIG. 5 is a diagram showing the relationship between the address of the
図2の列C1の各値は初期値である。そして、列C1のLBA「0x00000000」を先頭アドレスとしてSize(例えば「0x100」)分のパトロール処理を実行した後に次回パトロール処理の先頭アドレスを決定する場合、まず、列C1のLBA-H「0x00000000」に第1の加算値「0x1000」を加算することで、新たなLBA-H「0x00001000」を算出する(図4のステップS41)。 Each value in column C1 of FIG. 2 is an initial value. Then, when determining the start address of the next patrol process after executing the patrol process for Size (for example, "0x100") with the LBA "0x00000000" in the column C1 as the start address, first, the LBA-H "0x00000000" in the column C1 is determined. A new LBA-H "0x00001000" is calculated by adding the first addition value "0x1000" to the above (step S41 in FIG. 4).
次に、このLBA-H「0x00001000」と列C1のLBA-L「0x000」を加算することで、新たなLBA「0x00001000」を算出する(ステップS42)。 Next, a new LBA "0x00001000" is calculated by adding the LBA-H "0x00001000" and the LBA-L "0x000" in column C1 (step S42).
このとき、このLBA「0x00001000」はLast LBA「0x7FFFFFFF」を超えていない(ステップS43でNo)。 At this time, this LBA "0x00001000" does not exceed the Last LBA "0x7FFFFFFF" (No in step S43).
また、このLBA「0x00001000」からSize「0x100」分先のアドレス(LBA+Size−1。つまり、「0x000010FF」)はLast LBA「0x7FFFFFFF」を超えていない(ステップS47でNo)。 Further, the address (LBA + Size-1, that is, "0x000010FF") ahead of this LBA "0x00001000" by Size "0x100" does not exceed the Last LBA "0x7FFFFFFF" (No in step S47).
したがって、パトロール処理範囲は、LBA「0x00001000」から(LBA+Size−1。つまり、「0x0000FFF」)までに設定される(ステップS48)。このようにして列C2の各値が設定される。なお、LBA-LとSizeは列C1の値が列C2にコピーされる。 Therefore, the patrol processing range is set from LBA "0x00001000" to (LBA + Size-1, that is, "0x0000FFF") (step S48). In this way, each value in column C2 is set. For LBA-L and Size, the values in column C1 are copied to column C2.
このようにして、パトロール処理が終わるたびにパトロール処理の先頭アドレスが更新され、図2の各値が列C3の状態になったものとする。そして、列C3のLBA「0x7FFFE000」を先頭アドレスとしてSize「0x100」分のパトロール処理を実行した後に次回パトロール処理の先頭アドレスを決定する場合、まず、列C3のLBA-H「0x7FFFE000」に第1の加算値「0x1000」を加算することで、新たなLBA-H「0x7FFFF000」を算出する(ステップS41)。 In this way, it is assumed that the start address of the patrol process is updated every time the patrol process is completed, and each value in FIG. 2 is in the state of column C3. Then, when determining the start address of the next patrol processing after executing the patrol processing for the size "0x100" with the LBA "0x7FFFE000" in the column C3 as the start address, first, the first address is set to the LBA-H "0x7FFFE000" in the column C3. A new LBA-H "0x7FFFF000" is calculated by adding the addition value "0x1000" of (step S41).
次に、このLBA-H「0x7FFFF000」と列C3のLBA-L「0x000」を加算することで、新たなLBA「0x7FFFF000」を算出する(ステップS42)。 Next, a new LBA "0x7FFFF000" is calculated by adding the LBA-H "0x7FFFF000" and the LBA-L "0x000" in column C3 (step S42).
このとき、このLBA「0x7FFFF000」はLast LBA「0x7FFFFFFF」を超えていない(ステップS43でNo)。 At this time, this LBA "0x7FFFF000" does not exceed the Last LBA "0x7FFFFFFF" (No in step S43).
また、このLBA「0x7FFFF000」からSize「0x100」分先のアドレス(LBA+Size−1。つまり、「0x7FFFF0FF」)はLast LBA「0x7FFFFFFF」を超えていない(ステップS47でNo)。 Further, the address (LBA + Size-1, that is, "0x7FFFF0FF") ahead of this LBA "0x7FFFF000" by Size "0x100" does not exceed the Last LBA "0x7FFFFFFF" (No in step S47).
したがって、パトロール処理範囲は、LBA「0x7FFFF000」から(LBA+Size−1。つまり、「0x7FFFF0FF」)までに設定される(ステップS48)。このようにして列C4の各値が設定される。なお、LBA-LとSizeは列C3の値が列C4にコピーされる。 Therefore, the patrol processing range is set from LBA "0x7FFFF000" to (LBA + Size-1, that is, "0x7FFFF0FF") (step S48). In this way, each value in column C4 is set. For LBA-L and Size, the values in column C3 are copied to column C4.
次に、列C4のLBA「0x7FFFF000」を先頭アドレスとしてSize「0x100」分のパトロール処理を実行した後に次回パトロール処理の先頭アドレスを決定する場合、まず、列C4のLBA-H「0x7FFFF000」に第1の加算値「0x1000」を加算することで、新たなLBA-H「0x80000000」を算出する(ステップS41)。 Next, when determining the start address of the next patrol process after executing the patrol process for Size "0x100" with the LBA "0x7FFFF000" in column C4 as the start address, first, the LBA-H "0x7FFFF000" in column C4 is the first address. A new LBA-H "0x80000000" is calculated by adding the addition value "0x1000" of 1 (step S41).
次に、このLBA-H「0x80000000」と列C4のLBA-L「0x000」を加算することで、新たなLBA「0x80000000」を算出する(ステップS42)。 Next, a new LBA "0x80000000" is calculated by adding the LBA-H "0x80000000" and the LBA-L "0x000" in column C4 (step S42).
このとき、このLBA「0x80000000」はLast LBA「0x7FFFFFFF」を超えている(ステップS43でYes)。 At this time, this LBA "0x80000000" exceeds the Last LBA "0x7FFFFFFF" (Yes in step S43).
したがって、LBA-Hを0(「0x00000000」)にする(ステップS44)。 Therefore, LBA-H is set to 0 (“0x00000000”) (step S44).
そして、列C4のLBA-L「0x000」に第2の加算値「0x100」を加算することで、新たなLBA-L「0x100」を算出する(ステップS45)。 Then, a new LBA-L "0x100" is calculated by adding the second addition value "0x100" to the LBA-L "0x000" in the column C4 (step S45).
次に、LBA-H「0x00000000」とLBA-L「0x100」を加算することで、新たなLBA「0x00000100」を算出する。 Next, a new LBA "0x00000100" is calculated by adding LBA-H "0x00000000" and LBA-L "0x100".
また、このLBA「0x00000100」からSize「0x100」分先のアドレス(LBA+Size−1。つまり、「0x000001FF」)はLast LBA「0x7FFFFFFF」を超えていない(ステップS47でNo)。 Further, the address (LBA + Size-1, that is, "0x000001FF") ahead of this LBA "0x00000100" by Size "0x100" does not exceed the Last LBA "0x7FFFFFFF" (No in step S47).
したがって、パトロール処理範囲は、LBA「0x00000100」から(LBA+Size−1。つまり、「0x000001FF」)までに設定される(ステップS48)。このようにして列C5の各値が設定される。なお、Sizeは列C4の値が列C5にコピーされる。 Therefore, the patrol processing range is set from LBA "0x00000100" to (LBA + Size-1, that is, "0x000001FF") (step S48). In this way, each value in column C5 is set. As for Size, the value in column C4 is copied to column C5.
このようにして、HDD2におけるパトロール処理の範囲は、図5の矢印に示す縦方向に移行する。したがって、パトロール処理のたびに、磁気ヘッドが強制的に動き、長時間の定点浮上を回避できる。
In this way, the range of patrol processing in
なお、従来技術では、パトロール処理の範囲は、図5の横方向に移行する。したがって、パトロール処理を行っても磁気ヘッドはほとんど動かず、パトロール処理によって長時間の定点浮上を回避することはできない。 In the prior art, the range of patrol processing shifts to the horizontal direction shown in FIG. Therefore, even if the patrol process is performed, the magnetic head hardly moves, and the fixed point levitation for a long time cannot be avoided by the patrol process.
このように、実施形態のコンピュータ1によれば、パトロール処理が終わったときに、当該パトロール処理の先頭アドレスに対して、パトロール処理ごとに磁気ヘッドが磁気ディスク上を径方向に所定量以上移動するように予め設定された第1の加算値を加算することで、次回のパトロール処理の先頭アドレスを設定するので、長時間の定点浮上を容易に回避することができる。つまり、RAIDカード3が元々有しているパトロール処理の機能を利用し、パトロール処理の先頭アドレスを上述のように設定することで、磁気ヘッドを短い時間間隔で容易に強制的に動かすことができる。
As described above, according to the
また、パトロール処理の先頭アドレスのより具体的な設定手順として、パトロール処理の先頭アドレスに対して第1の加算値を加算した後のアドレスが磁気ディスクのアドレス範囲を超えたとき、当該アドレスのうち、第1の所定桁の上位アドレスを0にするとともに、第2の所定桁の下位アドレスに第2の加算値を加算する。また、第2の加算値を所定サイズとする。これらにより、図5からもわかるように、HDD2のアドレス範囲の全体のデータに対して漏れなくパトロール処理を実行することができる。
Further, as a more specific procedure for setting the start address of the patrol process, when the address after adding the first addition value to the start address of the patrol process exceeds the address range of the magnetic disk, the address is among the addresses. , The upper address of the first predetermined digit is set to 0, and the second addition value is added to the lower address of the second predetermined digit. Further, the second added value is set to a predetermined size. As a result, as can be seen from FIG. 5, the patrol process can be executed without omission on the entire data in the address range of the
また、次回のパトロール処理の先頭アドレスを設定したときに、当該先頭アドレスからアドレス範囲の最終アドレスまでのサイズが所定サイズ未満の場合、次回のパトロール処理の範囲を、当該先頭アドレスから最終アドレスまでに設定する。これにより、最終アドレス付近でも、パトロール処理の範囲を適正に設定することができる。 Also, when the start address of the next patrol processing is set, if the size from the start address to the final address of the address range is less than the predetermined size, the range of the next patrol processing is set from the start address to the final address. Set. As a result, the range of patrol processing can be appropriately set even in the vicinity of the final address.
なお、本実施形態のコンピュータ1で実行されるプログラムは、ROM等に予め組み込まれて提供される。また、当該プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
The program executed by the
さらに、当該プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、当該プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。 Further, the program may be stored on a computer connected to a network such as the Internet and provided by downloading via the network. Further, the program may be configured to be provided or distributed via a network such as the Internet.
また、当該プログラムは、上述した各部(処理部32、設定部33、送受信部34)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMから当該プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされて生成されるようになっている。
Further, the program has a module configuration including each of the above-mentioned parts (processing
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are also included in the scope of the invention described in the claims and the equivalent scope thereof.
例えば、上述の実施形態では、Shiftが「12」である場合を主に説明した。しかし、これに限定されず、例えば、近年のHDDの大容量化の傾向も踏まえ、Shiftを「16」、「20」にする等、Shiftとして、長時間の定点浮上を回避できるという条件を満たす範囲で別の値を採用してもよい。 For example, in the above-described embodiment, the case where Shift is "12" has been mainly described. However, it is not limited to this, and for example, in consideration of the tendency of increasing the capacity of HDDs in recent years, the condition that Shift can be set to "16" or "20" to avoid long-time fixed point ascent is satisfied. Other values may be adopted in the range.
1…コンピュータ、2…HDD、3…RAIDカード、10…メインボード、11…CPU、31…RAIDコントローラ、32…処理部、33…設定部、34…送受信部。 1 ... Computer, 2 ... HDD, 3 ... RAID card, 10 ... Main board, 11 ... CPU, 31 ... RAID controller, 32 ... Processing unit, 33 ... Setting unit, 34 ... Transmission / reception unit.
Claims (4)
前記磁気ディスクに対してデータの読み書きを行い、アクチュエータによって前記磁気ディスク上を移動する磁気ヘッドと、
所定のタイミングで、前記磁気ディスクに記憶されているデータのうちの所定サイズ分のデータの正常性を確認する確認処理を実行する確認処理部と、
前記確認処理が終わったときに、当該確認処理の対象アドレスに対して、前記確認処理ごとに前記磁気ヘッドが前記磁気ディスク上を径方向に所定量以上移動するように予め設定された第1の加算値を加算することで、次回の前記確認処理の対象アドレスを設定する設定部と、を備える磁気記憶装置。 A magnetic disk that stores data and
A magnetic head that reads and writes data to and from the magnetic disk and moves on the magnetic disk by an actuator.
A confirmation processing unit that executes confirmation processing for confirming the normality of data of a predetermined size among the data stored in the magnetic disk at a predetermined timing, and
When the confirmation process is completed, the first setting is set in advance so that the magnetic head moves by a predetermined amount or more in the radial direction on the magnetic disk for each confirmation process with respect to the target address of the confirmation process. A magnetic storage device including a setting unit for setting a target address for the next confirmation process by adding an added value.
前記確認処理が終わったときに、当該確認処理の対象アドレスに対して前記第1の加算値を加算し、加算後のアドレスが前記磁気ディスクのアドレス範囲を超えたとき、当該アドレスのうち、第1の所定桁の上位アドレスを0にするとともに、第2の所定桁の下位アドレスに第2の加算値を加算することで、次回の前記確認処理の対象アドレスを設定する、請求項1に記載の磁気記憶装置。 The setting unit
When the confirmation process is completed, the first added value is added to the target address of the confirmation process, and when the added address exceeds the address range of the magnetic disk, the first of the addresses is found. The first aspect of claim 1, wherein the target address for the next confirmation process is set by setting the upper address of the predetermined digit of 1 to 0 and adding the second addition value to the lower address of the second predetermined digit. Magnetic storage device.
次回の前記確認処理の対象アドレスを設定したときに、当該対象アドレスから前記磁気ディスクのアドレス範囲の最終アドレスまでのサイズが前記所定サイズ未満の場合、次回の前記確認処理の範囲を、当該対象アドレスから前記最終アドレスまでに設定する、請求項1に記載の磁気記憶装置。 The setting unit
When the target address of the next confirmation process is set, if the size from the target address to the final address of the address range of the magnetic disk is less than the predetermined size, the range of the next confirmation process is set to the target address. The magnetic storage device according to claim 1, which is set from 1 to the final address.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020006289A JP6946485B2 (en) | 2020-01-17 | 2020-01-17 | Magnetic storage device |
TW109132242A TWI755064B (en) | 2020-01-17 | 2020-09-18 | Magnetic memory device |
CN202180001800.3A CN113439306B (en) | 2020-01-17 | 2021-01-15 | Magnetic memory device |
KR1020227001925A KR20220024746A (en) | 2020-01-17 | 2021-01-15 | magnetic memory |
SG11202112189XA SG11202112189XA (en) | 2020-01-17 | 2021-01-15 | Magnetic storage device |
PCT/JP2021/001174 WO2021145406A1 (en) | 2020-01-17 | 2021-01-15 | Magnetic storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020006289A JP6946485B2 (en) | 2020-01-17 | 2020-01-17 | Magnetic storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021114349A JP2021114349A (en) | 2021-08-05 |
JP6946485B2 true JP6946485B2 (en) | 2021-10-06 |
Family
ID=76864456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020006289A Active JP6946485B2 (en) | 2020-01-17 | 2020-01-17 | Magnetic storage device |
Country Status (6)
Country | Link |
---|---|
JP (1) | JP6946485B2 (en) |
KR (1) | KR20220024746A (en) |
CN (1) | CN113439306B (en) |
SG (1) | SG11202112189XA (en) |
TW (1) | TWI755064B (en) |
WO (1) | WO2021145406A1 (en) |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62248188A (en) * | 1986-04-21 | 1987-10-29 | Hitachi Ltd | Magnetic disk control system |
JPH0786811B2 (en) * | 1990-06-19 | 1995-09-20 | 富士通株式会社 | Array disk drive drive position confirmation method |
JP2628402B2 (en) * | 1990-09-03 | 1997-07-09 | キヤノン株式会社 | Image data communication device |
JP2691142B2 (en) * | 1990-09-20 | 1997-12-17 | 富士通株式会社 | Array type storage system |
JP2665064B2 (en) * | 1991-03-26 | 1997-10-22 | 茨城日本電気株式会社 | Magnetic disk processing unit |
US5798884A (en) * | 1995-12-13 | 1998-08-25 | International Business Machines Corporation | Multiple zone data storage system and method |
JPH1091363A (en) * | 1996-09-17 | 1998-04-10 | Hitachi Ltd | Parity generation system and disk array controller using the system |
JPH11224475A (en) * | 1997-11-07 | 1999-08-17 | Sony Corp | Disk driving device |
US6459629B1 (en) * | 2001-05-03 | 2002-10-01 | Hrl Laboratories, Llc | Memory with a bit line block and/or a word line block for preventing reverse engineering |
JP3702231B2 (en) * | 2002-01-31 | 2005-10-05 | 株式会社東芝 | Disk array apparatus and dynamic storage capacity expansion method in the same |
US6898668B2 (en) * | 2002-06-24 | 2005-05-24 | Hewlett-Packard Development Company, L.P. | System and method for reorganizing data in a raid storage system |
JP2006127571A (en) * | 2004-10-26 | 2006-05-18 | Matsushita Electric Ind Co Ltd | Disk reproducing apparatus |
JP2006139834A (en) * | 2004-11-11 | 2006-06-01 | Sony Corp | Disk recording apparatus and recording control method |
JP2006244552A (en) * | 2005-03-01 | 2006-09-14 | Sanyo Electric Co Ltd | Magneto-optical recording medium |
JP4240496B2 (en) * | 2005-10-04 | 2009-03-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Apparatus and method for access control |
JP2007172750A (en) * | 2005-12-22 | 2007-07-05 | Hitachi Global Storage Technologies Netherlands Bv | Test method for detecting defect in recording disk and data storage device for executing the same |
JP2009087401A (en) * | 2007-09-27 | 2009-04-23 | Denso Corp | Audio system |
JP2009129482A (en) * | 2007-11-20 | 2009-06-11 | Hitachi Global Storage Technologies Netherlands Bv | Test method and manufacturing method of disk drive device in consideration of manufacturing efficiency |
JP2012247817A (en) * | 2011-05-25 | 2012-12-13 | Fujitsu Ltd | Storage controller, storage apparatus, and patrol diagnosis method |
CN102508724B (en) * | 2011-10-25 | 2013-12-18 | 北京同有飞骥科技股份有限公司 | Disk bad block processing method based on soft RAID (redundant array of independent disks) |
CN104658550A (en) * | 2013-11-19 | 2015-05-27 | 株式会社东芝 | Magnetic Disk Device |
US20170213572A1 (en) * | 2016-05-25 | 2017-07-27 | HGST Netherlands B.V. | Detection of read-write head touchdown using head actuator |
US10725851B2 (en) * | 2018-04-27 | 2020-07-28 | Seagate Technology Llc | Storage device self-recovery exception engine |
US11042490B2 (en) * | 2018-11-15 | 2021-06-22 | Micron Technology, Inc. | Address obfuscation for memory |
-
2020
- 2020-01-17 JP JP2020006289A patent/JP6946485B2/en active Active
- 2020-09-18 TW TW109132242A patent/TWI755064B/en active
-
2021
- 2021-01-15 SG SG11202112189XA patent/SG11202112189XA/en unknown
- 2021-01-15 WO PCT/JP2021/001174 patent/WO2021145406A1/en active Application Filing
- 2021-01-15 CN CN202180001800.3A patent/CN113439306B/en active Active
- 2021-01-15 KR KR1020227001925A patent/KR20220024746A/en not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
JP2021114349A (en) | 2021-08-05 |
CN113439306A (en) | 2021-09-24 |
TWI755064B (en) | 2022-02-11 |
TW202129507A (en) | 2021-08-01 |
SG11202112189XA (en) | 2021-12-30 |
WO2021145406A1 (en) | 2021-07-22 |
CN113439306B (en) | 2023-06-06 |
KR20220024746A (en) | 2022-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8555027B2 (en) | Semiconductor memory controlling device | |
JP5923964B2 (en) | Disk array device, control device, and program | |
US20050229033A1 (en) | Disk array controller and information processing apparatus | |
US10734033B2 (en) | Shingled magnetic recording storage system | |
US10503620B1 (en) | Parity log with delta bitmap | |
US10901646B2 (en) | Update of RAID array parity | |
JP6867591B2 (en) | Storage controller, storage control method and storage control program | |
US20160034330A1 (en) | Information-processing device and method | |
JP6946485B2 (en) | Magnetic storage device | |
US7500136B2 (en) | Replacing member disks of disk arrays with spare disks | |
JP6052288B2 (en) | Disk array control device, disk array control method, and disk array control program | |
US20130212428A1 (en) | Information storage medium library array apparatus, information recording method and information recording program | |
JP2008077782A (en) | Memory data processor, memory, and memory data processing program | |
US10664346B2 (en) | Parity log with by-pass | |
JP2015179419A (en) | Cache control apparatus, control method thereof, storage device, and computer program | |
JP6175771B2 (en) | Disk array device, bad sector repair method, and repair program | |
US10867633B1 (en) | Reduced adjacent track erasure from write retry | |
CN115087962A (en) | Preemptive upgrade for full-span demotion | |
JP2016126656A (en) | Storage control device, control program, and control method | |
US10379972B1 (en) | Minimizing reads for reallocated sectors | |
JP6036736B2 (en) | Cache device, storage device, cache control method, and storage control program | |
JP2012185575A (en) | Storage system and rebuild processing quickening method | |
JP7288191B2 (en) | Storage controller and storage control program | |
JP2010191762A (en) | Disk array device and reassignment method | |
CN117174118A (en) | Mechanical hard disk fault prediction method and related device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210520 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20210520 |
|
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: 20210817 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210915 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6946485 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |