JP2023045988A - 磁気ディスク装置 - Google Patents

磁気ディスク装置 Download PDF

Info

Publication number
JP2023045988A
JP2023045988A JP2021154645A JP2021154645A JP2023045988A JP 2023045988 A JP2023045988 A JP 2023045988A JP 2021154645 A JP2021154645 A JP 2021154645A JP 2021154645 A JP2021154645 A JP 2021154645A JP 2023045988 A JP2023045988 A JP 2023045988A
Authority
JP
Japan
Prior art keywords
data
area
logical address
magnetic disk
buffer memory
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
JP2021154645A
Other languages
English (en)
Inventor
祥一 青木
Shoichi Aoki
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.)
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Original Assignee
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Electronic Devices and Storage Corp filed Critical Toshiba Corp
Priority to JP2021154645A priority Critical patent/JP2023045988A/ja
Priority to CN202210120199.6A priority patent/CN115910117A/zh
Priority to US17/680,065 priority patent/US20230093769A1/en
Publication of JP2023045988A publication Critical patent/JP2023045988A/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/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/224Disk storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/225Hybrid cache memory, e.g. having both volatile and non-volatile portions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/281Single cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/283Plural cache memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/313In storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/462Track or segment
    • 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/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/012Recording on, or reproducing or erasing from, magnetic disks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】メディアキャッシュ領域を介したデータの転送に要する時間を短縮すること。【解決手段】磁気ディスクは、第1アクチュエータ系を用いてアクセスされる第1記録面および第2アクチュエータ系を用いてアクセスされる第2記録面を備える。第1記録面は、論理アドレスがマッピングされた第1領域と、データの退避先として使用される第2領域と、を備える。第2記録面は、論理アドレスがマッピングされた第3領域と、データの退避先として使用される第4領域と、を備える。コントローラは、第1記録面が最終的なライト先の第1データをホストから受信した場合、第1データをバッファメモリにライトする。所定の事象が発生しない場合、コントローラは、バッファメモリ内の第1データを第1領域にライトする。所定の事象が発生した場合、コントローラは、バッファメモリ内の第1データを第4領域にライトする。【選択図】図8

Description

本実施形態は、磁気ディスク装置に関する。
磁気ディスク装置は、ホストから論理アドレス値と対にして受信されたデータを一度バッファメモリにライトする。その後、磁気ディスク装置は、バッファメモリ内の当該データを磁気ディスクの記録面における当該論理アドレス値に対応付けられた位置にライトする。
磁気ディスクの記録面には、データを退避するための領域が設けられる。当該領域は、メディアキャッシュ領域と称される。例えば、磁気ディスク装置への電力供給が遮断されると、磁気ディスク装置は、バッファメモリ内の磁気ディスクにまだライトされていない全てのデータをメディアキャッシュ領域にライトする。そして、磁気ディスク装置への電力供給が再開されると、磁気ディスク装置は、メディアキャッシュ領域内の各データを各データの対の論理アドレス値が対応付けられた位置に移動させる。
ホストに対する応答性能を高くするために、このような磁気ディスクに設けられたメディアキャッシュ領域を介したデータの転送はできるだけ早く完了することが望まれる。
米国特許第7800856号明細書 特開平11-232037号公報 米国特許出願公開第2021/0004327号明細書
一つの実施形態は、メディアキャッシュ領域を介したデータの転送に要する時間を短縮できる磁気ディスク装置を提供することを目的とする。
一つの実施形態によれば、磁気ディスク装置はホストに接続可能である。前記磁気ディスク装置は、磁気ディスクと、第1磁気ヘッドと、第2磁気ヘッドと、第1アクチュエータ系と、第2アクチュエータ系と、バッファメモリと、コントローラと、を備える。前記磁気ディスクは、第1記録面および第2記録面を備える。前記第1記録面は、第1群の論理アドレス値が対応付けられた第1領域と、データの退避先として使用される第2領域と、を備える。前記第2記録面は、前記第1群の論理アドレス値と異なる第2群の論理アドレス値が対応付けられた第3領域と、データの退避先として使用される第4領域と、を備える。前記第1磁気ヘッドは、前記第1記録面に対してデータのライトおよびデータのリードを行う。前記第2磁気ヘッドは、前記第2記録面に対してデータのライトおよびデータのリードを行う。前記第1アクチュエータ系は、前記第1磁気ヘッドを移動させる。前記第2アクチュエータ系は、前記第2磁気ヘッドを移動させる。前記コントローラは、前記第1群に含まれる第1論理アドレス値が指定された第1データを前記ホストから受信した場合、当該第1データを前記バッファメモリにライトする。前記コントローラは、前記第1データが前記バッファメモリにライトされた後に第1事象が発生しない場合、前記バッファメモリ内の前記第1データを前記第1磁気ヘッドおよび前記第1アクチュエータ系を制御することによって前記第1領域内の前記第1論理アドレス値が対応付けられた位置にライトする。前記コントローラは、前記第1データが前記バッファメモリにライトされてから前記第1データが前記第1領域にライトされるまでの間に前記第1事象が発生した場合、前記バッファメモリ内の前記第1データを前記第2磁気ヘッドおよび前記第2アクチュエータ系を制御することによって前記第4領域にライトする。
図1は、実施形態にかかる磁気ディスク装置の構成の一例を示す図である。 図2は、実施形態の1枚の磁気ディスクの構成の一例を示す模式的な図である。 図3は、実施形態の1枚の磁気ディスクの1つの記録面にアロケートされた領域を説明するための模式的な図である。 図4は、実施形態の揮発性メモリにアロケートされた領域を説明するための模式的な図である。 図5は、実施形態の退避の動作を示す模式的な図である。 図6は、メディアキャッシュ領域に退避されたデータを論理アドレス領域に移動させる実施形態の動作を示す模式的な図である。 図7は、実施形態の磁気ディスク装置のデータの受信時の動作の一例を示すフローチャートである。 図8は、バッファメモリ領域内のデータを磁気ディスクにライトする実施形態の磁気ディスク装置の動作の一例を示すフローチャートである。 図9は、電源からの電力供給が再開された際の磁気ディスク装置の動作の一例を示すフローチャートである。
以下に添付図面を参照して、実施形態にかかる磁気ディスク装置を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
(実施形態)
図1は、実施形態にかかる磁気ディスク装置1の構成の一例を示す図である。磁気ディスク装置1は、ホスト2に接続可能である。磁気ディスク装置1とホスト2との間の通信路の規格は、特定の規格に限定されない。一例では、SAS(Serial Attached SCSI)が採用され得る。
ホスト2は、例えばプロセッサ、パーソナルコンピュータ、またはサーバなどが該当する。磁気ディスク装置1は、ホスト2からアクセスコマンド(リードコマンドおよびライトコマンド)を受信可能である。
なお、アクセスコマンドは、論理アドレスの値(以降、論理アドレス値)を含む。磁気ディスク装置1は、ホスト2に論理的なアドレス空間を提供する。論理アドレスは、当該アドレス空間における位置を示す情報である。ホスト2は、論理アドレスを用いることによって、データをライトする位置またはデータのリードを行う位置を指定する。
例えば、ホスト2は、磁気ディスク装置1にデータをライトする際には、当該データのライト位置を指定する論理アドレス値を含むライトコマンドを、当該データとともに磁気ディスク装置1に送信する。よって、磁気ディスク装置1は、ライト対象のデータと、当該データのライト位置を示す論理アドレス値とを対にして受信することができる。
磁気ディスク装置1は、スピンドルモータ(SPM)11と、スピンドルモータ11の回転軸12を中心に回転する複数の磁気ディスク10を備える。ここでは一例として、磁気ディスク装置1は、6枚の磁気ディスク10a-1,10a-2,10a-3,10b-1,10b-2,10b-3は、SPM310によって一体的に回転せしめられる。6枚の磁気ディスク10のうちの磁気ディスク10a-1,10a-2,10a-3を総称して第1磁気ディスク10aと表記する場合がある。6枚の磁気ディスク10のうちの磁気ディスク10b-1,10b-2,10b-3を総称して第2磁気ディスク10bと表記する場合がある。
6枚の磁気ディスク10のおもて面および裏面には、データの記録が可能な記録面が形成されている。つまり、6枚の磁気ディスク10は、12個の記録面を有する。12個の記録面のそれぞれにアクセスするために、磁気ディスク装置1は、12個の記録面に対応する12個の磁気ヘッドHD1a~HD6a,HD1b~HD6bを備える。
なお、ここでは一例として、スピンドルモータ11とは反対の側を、おもて面と表記する。スピンドルモータ11の側を、裏面と表記する。なお、おもて面および裏面の定義はこれらに限定されない。
磁気ヘッドHD1aは、磁気ディスク10a-1のおもて面に対向するように設けられている。磁気ヘッドHD2aは、磁気ディスク10a-1の裏面に対向するように設けられている。磁気ヘッドHD3aは、磁気ディスク10a-2のおもて面に対向するように設けられている。磁気ヘッドHD4aは、磁気ディスク10a-2の裏面に対向するように設けられている。磁気ヘッドHD5aは、磁気ディスク10a-3のおもて面に対向するように設けられている。磁気ヘッドHD6aは、磁気ディスク10a-3の裏面に対向するように設けられている。
磁気ヘッドHD1bは、磁気ディスク10b-1のおもて面に対向するように設けられている。磁気ヘッドHD2bは、磁気ディスク10b-1の裏面に対向するように設けられている。磁気ヘッドHD3bは、磁気ディスク10b-2のおもて面に対向するように設けられている。磁気ヘッドHD4bは、磁気ディスク10b-2の裏面に対向するように設けられている。磁気ヘッドHD5bは、磁気ディスク10b-3のおもて面に対向するように設けられている。磁気ヘッドHD6bは、磁気ディスク10b-3の裏面に対向するように設けられている。
以降、12個の磁気ヘッドHD1a~HD6a,HD1b~HD6bを総称して、磁気ヘッドHDと表記することがある。6個の磁気ヘッドHD1a~HD6aを総称して、第1磁気ヘッドHDaと表記することがある。6個の磁気ヘッドHD1b~HD6bを総称して、第2磁気ヘッドHDbと表記することがある。各磁気ヘッドHDは、6枚の磁気ディスク10の自身に対向する表面に設けられた記録面に対し、アクセス、つまりデータのライトおよびデータのリード、を実行する。つまり、第1磁気ヘッドHDaは、第1磁気ディスク10aの記録面に対するアクセスを実行する。第2磁気ヘッドHDbは、第2磁気ディスク10bの記録面に対するアクセスを実行する。
なお、第1磁気ディスク10aの各記録面を、第1記録面と表記する。第2磁気ディスク10bの各記録面を、第2記録面と表記する。第1記録面は、第1アクチュエータ系20aおよび第1磁気ヘッドHDaを用いてアクセスされる記録面である。第2記録面は、第2アクチュエータ系20bおよび第2磁気ヘッドHDbを用いてアクセスされる記録面である。
磁気ディスク装置1は、個別に駆動され得る2個のアクチュエータ系20a,20bを備える。第1アクチュエータ系20aは、4個のアクチュエータアーム21a、6個のサスペンション22a、およびボイスコイルモータ(VCM)23aを備える。6個のサスペンション22aのそれぞれは、磁気ヘッドHD1a~HD6aのうちの何れか一つを支持する。6個のサスペンション22aのそれぞれは、4個のアクチュエータアーム21aのうちの何れかの先端に取り付けられている。
第2アクチュエータ系20bは、4個のアクチュエータアーム21b、および6個のサスペンション22b、およびボイスコイルモータ(VCM)23bを備える。6個のサスペンション22bのそれぞれは、磁気ヘッドHD1b~HD6bのうちの何れか一つを支持する。6個のサスペンション22bのそれぞれは、4個のアクチュエータアーム21bのうちの何れかの先端に取り付けられている。
2個のアクチュエータ系20a,20bは、回転軸24を中心に回転することができる。回転軸24は、回転軸12に並行かつ回転軸12から離間した位置に設けられている。ボイスコイルモータ23aは、第1アクチュエータ系20aを、回転軸24を中心に所定の範囲内で回転させることができる。ボイスコイルモータ23bは、第2アクチュエータ系20bを、回転軸24を中心に所定の範囲内で回転させる。よって、第1アクチュエータ系20aは、磁気ヘッドHD1a~HD6aを、磁気ディスク10a-1~10a-3の各記録面(つまり第1記録面)に対して径方向に相対移動させる。第2アクチュエータ系20bは、磁気ヘッドHD1b~HD6bを、磁気ディスク10b-1~10b-3の各記録面(つまり第2記録面)に対して径方向に相対移動させる。
磁気ディスク装置1は、さらに、サーボコントローラ31、ヘッドアンプ32、不揮発性メモリ33、揮発性メモリ34、プロセッサ35、リードライトチャネル(RWC)36、およびハードディスクコントローラ(HDC)37を備える。
ヘッドアンプ32は、リードライトチャネル36から入力されるデータに応じた信号をライト先の記録面に対向する磁気ヘッドHDに供給する。また、ヘッドアンプ32は、リード元の記録面に対向する磁気ヘッドHDから出力された信号を増幅して、リードライトチャネル36に供給する。
不揮発性メモリ33は、例えばフラッシュメモリなどの不揮発性メモリによって構成される。不揮発性メモリ33には、プロセッサ35が実行するプログラムが記録される。
揮発性メモリ34は、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)などの揮発性メモリによって構成される。揮発性メモリ34は、バッファメモリ領域、キャッシュメモリ領域、およびプログラムがロードされる領域、などとして機能する。揮発性メモリ34の機能については後述される。
リードライトチャネル36は、バッファメモリ領域(ここでは例えば揮発性メモリ34)に格納されているデータを変調してヘッドアンプ32に出力する。また、リードライトチャネル36は、ヘッドアンプ32から供給された信号を復調してハードディスクコントローラ37に出力する。
ハードディスクコントローラ37は、ホスト2との通信を可能とする通信インタフェースである。具体的には、ハードディスクコントローラ37は、ホスト2からライトコマンドを受信した場合には、ハードディスクコントローラ37は、ライトコマンドによってライトが要求されたデータをバッファメモリ領域にライトする。また、ハードディスクコントローラ37は、ホスト2からリードコマンドを受信した場合には、リードコマンドによってリードが要求されたデータをバッファメモリ領域を介してホスト2に送信する。
サーボコントローラ31は、スピンドルモータ11に電力を供給し、これによって12個の磁気ディスク10を所定の速度で一体的に回転させる。さらに、サーボコントローラ31は、プロセッサ35から命令されたアクセス位置(即ちライト先のトラックまたはリード元のトラック)に磁気ヘッドHDを移動させるためにボイスコイルモータ23aおよびボイスコイルモータ23bを駆動する。
プロセッサ35は、例えばCPU(Central Processing Unit)である。プロセッサ35は、不揮発性メモリ33または磁気ディスク10等の不揮発性の記憶媒体に記憶されたプログラムにより、各種処理を実行する。
例えば、プロセッサ35は、磁気ヘッドHDによるデータのライトおよびデータのリードの制御、磁気ディスク10の記録面上におけるアクセス位置を決定する処理、アクセス位置をサーボコントローラ31に命令する処理、などを実行する。
サーボコントローラ31、ヘッドアンプ32、不揮発性メモリ33、揮発性メモリ34、プロセッサ35、リードライトチャネル36、およびハードディスクコントローラ37は、実施形態にかかるコントローラ30を構成する。なお、コントローラ30の構成要素はこれらに限定されない。
プロセッサ35の機能の一部または全部は、コントローラ30内の他の構成要素(例えばサーボコントローラ31、ヘッドアンプ32、リードライトチャネル36、またはハードディスクコントローラ37)によって実現されてもよい。また、プロセッサ35の機能の一部または全部は、FPGA(Field-Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)などのハードウェア回路によって実現されてもよい。
磁気ディスク装置1は、さらに、電力供給回路41および加速度センサ42を備える。
電力供給回路41は、磁気ディスク装置1の外部に設けられた電源3から供給される電力に基づき、磁気ディスク装置1が備える各構成要素を駆動する電力を生成し、生成した電力を各構成要素に分配する。
さらに、電力供給回路41は、電源3からの電力供給の停止(換言すると電源断)の検出を実行する。一例では、電力供給回路41は、電源3と自身とを接続する電力供給線の電圧を監視する。そして、電力供給回路41は、当該電圧が所定のしきい値を下回った場合、電源3からの電力供給が停止したと判定する。なお、電源3からの電力供給の停止の検出方法はこれに限定されない。電力供給回路41は、電源3からの電力供給の停止を検出すると、割り込み信号をプロセッサ35に送信する。プロセッサ35は、電力供給回路41からの割り込み信号によって、電源3からの電力供給の停止を認識し、電源3からの電力供給の停止に応じた処理を実行する。なお、電力供給回路41は、磁気ディスク装置1に供給される電力を監視する回路の一例である。
加速度センサ42は、加速度値を検出する。加速度センサ42によって検出された加速度値はプロセッサ35に送られる。プロセッサ35は、加速度センサ42によって検出された加速度値に基づいて、磁気ディスク装置1が外部から衝撃または振動を受けたか否かを判定する。
図2は、実施形態の1枚の磁気ディスク10の構成の一例を示す模式的な図である。なお、6枚の磁気ディスク10は、同一の構成を備える。磁気ディスク10の記録面には、例えば出荷前にサーボライタなどによりサーボ情報がライトされる。サーボ情報は、セクタ/シリンダ情報およびバーストパターンを含む。セクタ/シリンダ情報は、磁気ディスク10の円周方向および半径方向のサーボ番地を与えることができ、磁気ヘッドHDを目標トラックまで移動させるシーク制御に用いられる。バーストパターンは、磁気ヘッドHDを目標トラック上に維持するトラッキング制御に用いられる。なお、サーボ情報は、セルフサーボライト(SSW)によって出荷後に磁気ディスク10にライトされてもよい。図2には、サーボ情報がライトされたサーボ領域の配置の一例として放射状に配置されたサーボ領域50を示している。磁気ディスク10の半径方向には同心円の複数のトラック(例えば本図のトラック51)が設定されている。各トラック51上にはデータがライトされる多数のセクタが配置される。
図3は、実施形態の1枚の磁気ディスク10の1つの記録面にアロケートされた領域を説明するための模式的な図である。なお、6枚の磁気ディスク10が備える12個の記録面は、同一の構成を備える。磁気ディスク10の記録面には、論理アドレス領域60と、メディアキャッシュ領域61と、がアロケートされる。なお、図3に示される例では、磁気ディスク10の内周側に論理アドレス領域60がアロケートされ、磁気ディスク10の外周側にメディアキャッシュ領域61がアロケートされる。各領域60,61がアロケートされる位置はこの例に限定されない。
論理アドレス領域60は、ホスト2からライトが要求されたデータの最終的なライト先として使用される領域である。論理アドレス領域60は、論理アドレス値の群がマッピングされる。より詳細には、論理アドレス領域60に含まれる各セクタには、それぞれ異なる論理アドレス値が対応付けられている。コントローラ30は、ホスト2からライトが要求されたデータを、論理アドレス領域60のうちの当該データと対にして受信した論理アドレス値が対応づけられた位置にライトする。つまり、論理アドレス領域60に含まれる各セクタには、予め決められた論理アドレス値でライト位置が指定されたデータがライトされる。
なお、それぞれ異なる記録面に設けられた2つの論理アドレス領域60には、それぞれ異なる論理アドレス値の群がマッピングされる。よって、第1記録面の論理アドレス領域60に対応付けられた論理アドレス値の群は、第2記録面の論理アドレス領域60に対応付けられた論理アドレス値の群と異なる。第1記録面の論理アドレス領域60に対応付けられた論理アドレス値の群は、第1群の論理アドレス値の一例である。第2記録面の論理アドレス領域60に対応付けられた論理アドレス値の群は、第2群の論理アドレス値の一例である。
メディアキャッシュ領域61は、データが一時的にかつ不揮発に格納される領域である。メディアキャッシュ領域61に含まれる各セクタには、任意のデータがライトされ得る。コントローラ30は、メディアキャッシュ領域61を、まだ最終的なライト位置にライトされていないデータを一時的に退避(save)する領域として使用する。なお、メディアキャッシュ領域61にも、論理アドレス値の群がマッピングされ得る。メディアキャッシュ領域61にマッピングされる論理アドレス値の群は、例えば、ホスト2が使用する論理アドレス値の群と異なる。メディアキャッシュ領域61にマッピングされる論理アドレス値の群は、コントローラ30によって使用される。コントローラ30は、メディアキャッシュ領域61のデータの退避先の位置の特定に、メディアキャッシュ領域61にマッピングされる論理アドレス値の群を使用し得る。
なお、第1記録面に設けられた論理アドレス領域60は、第1領域の一例である。第1記録面に設けられたメディアキャッシュ領域61は、第2領域の一例である。第2記録面に設けられた論理アドレス領域60は、第3領域の一例である。第2記録面に設けられたメディアキャッシュ領域61は、第4領域の一例である。
図4は、実施形態の揮発性メモリ34にアロケートされた領域を説明するための模式的な図である。本図に示される例では、揮発性メモリ34には、バッファメモリ領域341がアロケートされている。バッファメモリ領域341は、バッファメモリの一例である。
バッファメモリ領域341は、バッファメモリとしての機能をコントローラ30に提供する。一般に、磁気ディスク10へのデータのライトの最大の速度は、ハードディスクコントローラ37がホスト2からデータを受信できる最大の速度よりも遅い。そのため、コントローラ30は、ホスト2からライトが要求されたデータをバッファメモリ領域341にライトし、当該データの磁気ディスク10(より詳細には何れかの記録面の論理アドレス領域60)へのライトが完了するまで当該データをバッファメモリ領域341に保持させる。バッファメモリ領域341は、それぞれ異なるライトコマンドによってライトが要求された多数のデータを保持できるよう、十分な容量を有する。コントローラ30は、ホスト2から受信したデータを順次バッファメモリ領域341にライトするとともに、バッファメモリ領域341内のデータを順次磁気ディスク10にライトする。
なお、バッファメモリ領域341は揮発性メモリ34にアロケートされている。したがって、揮発性メモリ34への電力の供給が途絶えると、バッファメモリ領域341内のデータは消失する。これに対し、磁気ディスク10は、データを不揮発に保持することができる。よって、バッファメモリ領域341内のデータを磁気ディスク10にライトすることを、不揮発化する、と表記することがある。
揮発性メモリ34には、ホスト2から受信したデータのほかに、任意の情報が格納され得る。例えば、揮発性メモリ34には管理情報が格納される。管理情報には、例えば、バッファメモリ領域341に保持されている1以上のデータのライト位置、つまり各データの対となる論理アドレス値によって特定される何れかの記録面の論理アドレス領域60内の位置、がコントローラ30によって記録される。
なお、揮発性メモリ34は、1つのメモリによって構成されてもよいし、複数のメモリによって構成されてもよい。揮発性メモリ34が複数のメモリによって構成される場合、管理情報が格納される領域とバッファメモリ領域341とはそれぞれ異なるメモリにアロケートされてもよい。
続いて、実施形態の磁気ディスク装置1の動作を説明する。
前述されたように、コントローラ30は、ホスト2から受信したデータをバッファメモリ領域341を介して磁気ディスク10にライトする。よって、バッファメモリ領域341には、まだ磁気ディスク10にライトされていないデータ、つまりまだ不揮発化されていないデータ、が存在し得る。バッファメモリ領域341内のまだ不揮発化されていないデータを迅速に不揮発化すべき所定の事象が発生した場合、コントローラ30は、当該データを論理アドレス領域60ではなくメディアキャッシュ領域61に退避する。以降、特に断りが無い限り、退避とは、バッファメモリ領域341内のまだ不揮発化されていないデータをメディアキャッシュ領域61にライトすることを指すこととする。
論理アドレス領域60へのデータをライトの際には、当該データは論理アドレス領域60内の論理アドレス値によって指定された位置にライトされる。よって、例えば指定された論理アドレス値が互いに離間した複数のデータを論理アドレス領域60にライトする場合、コントローラ30は、データ毎にシーク制御およびトラッキング制御を実行する必要があり、当該複数のデータのライトに多くの時間を要する。
これに対し、メディアキャッシュ領域61には、指定された論理アドレス値に関係なく任意の位置にデータがライトされ得る。よって、コントローラ30は、指定された論理アドレス値が互いに離間した複数のデータをメディアキャッシュ領域61にライトする場合、当該複数のデータをメディアキャッシュ領域61内の連続した領域に順次ライトすることができる。つまり、メディアキャッシュ領域61に複数のデータをライトする場合、論理アドレス領域60に複数のデータをライトする場合に比べ、シーク制御の実行回数を著しく低減することができる。その結果、メディアキャッシュ領域61への複数のデータのライトに要する時間は、論理アドレス領域60への複数のデータのライトに要する時間よりも低減される。
コントローラ30は、所定の事象が起きた時、バッファメモリ領域341内のまだ不揮発化されていないデータをメディアキャッシュ領域61に退避することで、退避の動作に要する時間を抑制する。
なお、設計者は、任意の事象を所定の事象として設定し得る。例えば、所定の事象は、磁気ディスク装置1への電力供給の停止が検出されることである。電力供給回路41は、磁気ディスク装置1への電力供給の停止を検出すると、割り込み信号をプロセッサ35に送信する。プロセッサ35が割り込み信号を受信すると、コントローラ30は、まだ不揮発化されていないデータが磁気ディスク装置1から失われることを防止するために、退避の動作を実行する。
別の例では、所定の事象は、加速度センサ42が検出した加速度値が許容レベルを越える衝撃または振動の印加を示すことである。プロセッサ35が加速度センサ42が検出した加速度値が許容レベルを越える衝撃または振動の印加を示すと判定した場合、コントローラ30は、退避の動作を実行する。
さらに別の例では、所定の事象は、ホスト2からフラッシュコマンドを受信することである。フラッシュコマンドは、バッファメモリ領域341内のまだ不揮発化されていないデータを磁気ディスク10にライトすることを要求するコマンドである。コントローラ30は、フラッシュコマンドに応じて退避の動作を実行する。
以降の説明では、所定の事象は一例として磁気ディスク装置1への電力供給の停止が検出されることであるとして説明する。
図5は、実施形態の退避の動作を示す模式的な図である。本図に示されている例によれば、バッファメモリ領域341にはまだ不揮発化されていないデータD1~D5が格納されている。塗りつぶしハッチングが施されたデータD2,D4のそれぞれは、第1磁気ディスク10aの論理アドレス領域60(より正確には第1記録面の論理アドレス領域60)が最終的なライト先であるデータを示す。斜線ハッチングが施されたデータD1,D3,D5のそれぞれは、第2磁気ディスク10bの論理アドレス領域60(より正確には第2記録面の論理アドレス領域60)が最終的なライト先であるデータを示す。
磁気ディスク装置1への電力供給の停止が検出されると、コントローラ30は、第2アクチュエータ系20bおよび第2磁気ヘッドHDbを制御することによって、データD2,D4を第2磁気ディスク10bのメディアキャッシュ領域61(より正確には第2記録面のメディアキャッシュ領域61)にライトする。なお、コントローラ30は、第2磁気ディスク10bのメディアキャッシュ領域61内の連続した領域にデータD2,D4をライトし得る。コントローラ30は、第1アクチュエータ系20aおよび第1磁気ヘッドHDaを制御することによって、データD1,D3,D5を第1磁気ディスク10aのメディアキャッシュ領域61(より正確には第1記録面のメディアキャッシュ領域61)にライトする。なお、コントローラ30は、第1磁気ディスク10aのメディアキャッシュ領域61内の連続した領域にデータD1,D3,D5をライトし得る。
このように、退避の動作においては、コントローラ30は、第1記録面の論理アドレス領域60が最終的なライト先であるデータを第2記録面のメディアキャッシュ領域61にライトし、第2記録面の論理アドレス領域60が最終的なライト先であるデータを第1記録面のメディアキャッシュ領域61にライトする。
なお、コントローラ30は、第1記録面へのアクセスと、第2記録面へのアクセスとを独立に実行できる。よって、コントローラ30は、データD2,D4の第2記録面のメディアキャッシュ領域61へのライトと、データD1,D3,D5の第1記録面のメディアキャッシュ領域61へのライトと、を並行に実行する。換言すると、コントローラ30は、データD2,D4の第2記録面のメディアキャッシュ領域61へのライトの期間と、データD1,D3,D5の第1記録面のメディアキャッシュ領域61へのライトの期間とは、一部または全部がオーバーラップするように、各ライトを実行する。これによって、退避の動作に要する時間がさらに短縮される。なお、データD2,D4の第2記録面のメディアキャッシュ領域61へのライトの期間と、データD1,D3,D5の第1記録面のメディアキャッシュ領域61へのライトの期間とは、必ずしもオーバーラップしていなくてもよい。
退避の動作を実現するための電力は任意に取得される。一例では、コントローラ30は、スピンドルモータ11に生じる逆起電力を用いてデータD1~D5の磁気ディスク10へのライトを実行し得る。または、磁気ディスク装置1は、磁気ディスク装置1に電力が供給しているときに当該電力の一部を蓄えるキャパシタを備え、当該キャパシタに蓄えられた電力を用いてデータD1~D5の磁気ディスク10へのライトを実行し得る。所定の事象が加速度センサ42が検出した加速度値が許容レベルを越える衝撃または振動の印加を示すことであったり、またはホスト2からフラッシュコマンドを受信することであったりする場合には、コントローラ30は、電源3から供給される電力を用いてデータD1~D5の磁気ディスク10へのライトを実行し得る。
磁気ディスク装置1への電力供給が再開されると、コントローラ30は、メディアキャッシュ領域61に退避された各データを論理アドレス領域60内の最終的なライト先に移動させる。図6は、メディアキャッシュ領域61に退避されたデータを論理アドレス領域60に移動させる実施形態の動作を示す模式的な図である。本図には、一例として、データD1,D3,D5の流れが描画されている。
第1記録面(つまり第1磁気ディスク10aの記録面)の論理アドレス領域60が最終的なライト先であるデータは第2記録面(つまり第2磁気ディスク10bの記録面)のメディアキャッシュ領域61に退避され、第2記録面の論理アドレス領域60が最終的なライト先であるデータは第1記録面のメディアキャッシュ領域61に退避される。そのため、コントローラ30は、メディアキャッシュ領域61からのデータのリードと、論理アドレス領域60へのデータのライトとを、それぞれ異なるアクチュエータ系20を用いて並行に実行する。
例えば、データD1,D3,D5に関しては、図6に示されるように、コントローラ30は、第1アクチュエータ系20aおよび第1磁気ヘッドHDaを用いて第1記録面のメディアキャッシュ領域61からデータD1,D3,D5をリードする。また、コントローラ30は、第1記録面のメディアキャッシュ領域61からのデータD1,D3,D5の全てのリードが完了する前に、データD1,D3,D5のリードされた部分から第2アクチュエータ系20bおよび第2磁気ヘッドHDbを用いて第2記録面の論理アドレス領域60内の最終的なライト先へのライトを開始する。
なお、データD1,D3,D5のそれぞれの最終的なライト先は、論理アドレス値によって指定される。つまり、論理アドレス領域60におけるデータD1,D3,D5のそれぞれの最終的なライト先は、互いに離間し得る。図6に示される例では、データD1の最終的なライト先は位置P1であり、データD3の最終的なライト先はP2であり、データD5の最終的なライト先は位置P3である。そして、位置P1~P3は互いに離間している。よって、コントローラ30は、データD1,D3,D5を最終的なライト先にライトする際には、データD1,D3,D5のそれぞれについてシーク制御およびトラッキング制御を実行する。
データD2,D4(図6には不図示)に関しては、コントローラ30は、第2アクチュエータ系20bおよび第2磁気ヘッドHDbを用いて第2記録面のメディアキャッシュ領域61からデータD2,D4をリードする。また、コントローラ30は、第2記録面のメディアキャッシュ領域61からのデータD2,D4の全てのリードが完了する前に、データD2,D4のうちのリードされた部分から第1アクチュエータ系20aおよび第1磁気ヘッドHDaを用いて第1記録面の論理アドレス領域60内の最終的なライト先へのライトを開始する。
このように、コントローラ30は、メディアキャッシュ領域61から全てのデータのリードが完了する前に、メディアキャッシュ領域61からリードされた部分の論理アドレス領域60へのライトを開始する。即ち、コントローラ30は、メディアキャッシュ領域61からデータをリードしてバッファメモリ領域341にライトする処理と、バッファメモリ領域341からデータをリードして論理アドレス領域60にライトする処理と、を並行して実行する。
実施形態と比較される技術について説明する。実施形態と比較される技術を、比較例と表記する。比較例では、あるアクチュエータ系を用いてアクセスされる論理アドレス領域が最終的なライト先であるデータが当該アクチュエータ系を用いてアクセスされる論理アドレス領域に退避される。そのような場合、メディアキャッシュ領域に退避されたデータを論理アドレス領域に移動させる動作の際には、メディアキャッシュ領域からデータをリードしてバッファメモリ領域にライトする処理を実行する期間と、バッファメモリ領域からデータをリードして論理アドレス領域にライトする処理を実行する期間と、をオーバーラップさせることができない。
これに対し、実施形態によれば、メディアキャッシュ領域61からデータをリードしてバッファメモリ領域341にライトする処理が実行される期間と、バッファメモリ領域341からデータをリードして論理アドレス領域60にライトする処理が実行される期間と、を少なくとも一部でオーバーラップさせることができる。よって、比較例に比べて、メディアキャッシュ領域61に退避されたデータを論理アドレス領域60に移動させる動作に要する時間が短縮される。
図7は、実施形態の磁気ディスク装置1のデータの受信時の動作の一例を示すフローチャートである。
磁気ディスク装置1は、ホスト2からライトコマンドおよびデータを受信する(S101)。なお、データはライトコマンドのコマンドセットに含まれていてもよいし、ライトコマンドのコマンドセットとは別に転送されてもよい。
コントローラ30(例えばハードディスクコントローラ37)は、受信したデータをバッファメモリ領域341にライトする(S102)。また、コントローラ30(例えばハードディスクコントローラ37)は、ライトコマンドから論理アドレス値を取得し、取得した論理アドレス値を受信したデータの最終的なライト先として記憶する(S103)。例えばS103では、コントローラ30は、論理アドレス値を前述された管理情報に記録する。そして、データの受信時の動作が終了する。
図8は、バッファメモリ領域341内のデータを磁気ディスク10にライトする実施形態の磁気ディスク装置1の動作の一例を示すフローチャートである。
電力供給回路41は、電源3からの電力供給が停止したか否かを判定する(S201)。電源3からの電力供給が停止していないと判定された場合(S201:No)、コントローラ30は、アクチュエータ系20および磁気ヘッドHDを制御することによって、バッファメモリ領域341内のデータを論理アドレス領域60内の最終的なライト先にライトする(S202)。そして、制御がS201に移行する。
電源3からの電力供給が停止したと判定された場合(S201:Yes)、電力供給回路41は、割り込み信号をプロセッサ35に送信する。割り込み信号を受信したプロセッサ35は、まだ不揮発化されていないデータがバッファメモリ領域341に存在するか否かを判定する(S203)。まだ不揮発化されていないデータがバッファメモリ領域341に存在しないと判定された場合(S203:No)、動作が終了する。
まだ不揮発化されていないデータがバッファメモリ領域341に存在すると判定された場合(S203:Yes)、プロセッサ35は、バッファメモリ領域341内のまだ不揮発化されていないデータのうちの1つを選択する(S204)。そして、プロセッサ35は、選択されたデータの最終的なライト先は第1記録面の論理アドレス領域、つまり第1アクチュエータ系20aを用いてアクセスできる論理アドレス領域60、であるか否かを判定する(S205)。
選択されたデータの最終的なライト先は、例えば管理情報を参照することによって判定され得る。例えば、コントローラ30は、ライトコマンドの受信の際に、当該ライトコマンドによってライトが要求されたデータをバッファメモリ領域341にライトする(例えば図7のS102参照)。さらにコントローラ30は、当該データの最終的なライト先を示す情報として、論理アドレス値をライトコマンドから取得し、当該データと関連付けて管理情報に記録する(例えば図7のS103参照)。よって、管理情報には、バッファメモリ領域341に格納されているデータ毎の論理アドレス値の一覧が記録される。S205では、プロセッサ35は、選択されたデータに関連付けられた論理アドレス値が何れかの第1記録面の論理アドレス領域60に対応付けられた論理アドレス値の群に含まれるか、または何れかの第2記録面の論理アドレス領域60に対応付けられた論理アドレス値の群に含まれるか、を判定する。選択されたデータに関連付けられた論理アドレス値が何れかの第1記録面の論理アドレス領域60に対応付けられた論理アドレス値の群に含まれる場合、選択されたデータの最終的なライト先は第1記録面の論理アドレス領域60であると判定される。選択されたデータに関連付けられた論理アドレス値が何れかの第2記録面の論理アドレス領域60に対応付けられた論理アドレス値の群に含まれる場合、選択されたデータの最終的なライト先は第1記録面の論理アドレス領域60ではなく、第2記録面の論理アドレス領域60であると判定される。
選択されたデータの最終的なライト先は第1記録面の論理アドレス領域60である場合(S205:Yes)、プロセッサ35は、第2記録面のメディアキャッシュ領域61を選択されたデータの退避先として設定する(S206)。
選択されたデータの最終的なライト先は第1記録面の論理アドレス領域60でない場合(S205:No)、換言すると選択されたデータの最終的なライト先は第2記録面の論理アドレス領域60である場合、プロセッサ35は、第1記録面のメディアキャッシュ領域61を選択されたデータの退避先として設定する(S207)。
S206またはS207の後、プロセッサ35は、バッファメモリ領域341内のまだ不揮発化されていないデータのうちに退避先がまだ設定されていないデータが存在するか否かを判定する(S208)。退避先がまだ設定されていないデータが存在すると判定された場合(S208:Yes)、S204に制御が移行して、プロセッサ35は、退避先がまだ設定されていないデータを1つ選択する。
退避先がまだ設定されていないデータが存在しないと判定された場合(S208:No)、コントローラ30は、第1アクチュエータ系20a,第2アクチュエータ系20b,第1磁気ヘッドHDa,および第2磁気ヘッドHDbを制御することによって、バッファメモリ領域341内のまだ不揮発化されていない各データを設定された退避先にライトする(S209)。
なお、S209では、コントローラ30は、第1アクチュエータ系20aおよび第1磁気ヘッドHDaを制御することによって第1記録面のメディアキャッシュ領域61への各データのライトを実行し、これと並行して、第2アクチュエータ系20bおよび第2磁気ヘッドHDbを制御することによって第2記録面のメディアキャッシュ領域61へのデータのライトを実行することができる。
S209が終了すると、磁気ディスク装置1の動作が終了する。
図9は、電源3からの電力供給が再開された際の磁気ディスク装置1の動作の一例を示すフローチャートである。なお、本フローチャートでは、退避されたデータの移動に関連する動作が主に説明され、スピンドルモータ11の回転の開始などを含む一部の処理の説明が省略される。
ホスト2のパワーオンなどにより電源3からの電力供給が再開されると(S301)、プロセッサ35は、第1記録面のメディアキャッシュ領域61に退避されたデータが存在するか否かを判定する(S302)。
S302の具体的な処理は任意に設計される。一例では、データの退避、即ち図8のS209の処理の際に、第1記録面および第2記録面のメディアキャッシュ領域61に退避されたデータのリストなどを不揮発性の記憶領域、例えば磁気ディスク10の所定位置、にライトする。当該リストには、退避先の位置に加え、各データの最終的なライト先が記録されていてもよい。プロセッサ35は、第1記録面のメディアキャッシュ領域61に退避されたデータが存在するか否かを当該リストに基づいて判定することができる。
退避されたデータが存在しないと判定された場合(S302:No)、電源3からの電力供給が再開された際の動作が終了する。
第1記録面のメディアキャッシュ領域61に退避されたデータが存在すると判定された場合(S302:Yes)、プロセッサ35は、第1記録面のメディアキャッシュ領域61からのデータのリードと、リードされたデータの第2記録面の論理アドレス領域60の最終的なライト先へのライトと、を並行して実行する(S303)。S303の処理は、第1記録面のメディアキャッシュ領域61に退避された全てのデータに対して実行される。
S303の後、または第1記録面のメディアキャッシュ領域61に退避されたデータが存在しないと判定された場合(S302:No)、プロセッサ35は、第2記録面のメディアキャッシュ領域61に退避されたデータが存在するか否かを判定する(S304)。S304の具体的な処理は任意に設計される。一例では、S302と同様の方法でS304の判定が実行される。
第2記録面のメディアキャッシュ領域61に退避されたデータが存在するすると判定された場合(S304:Yes)、コントローラ30は、第2記録面のメディアキャッシュ領域61からのデータのリードと、リードされたデータの第1記録面の論理アドレス領域60へのライトと、を並行して実行する(S305)。S305の処理は、第2記録面のメディアキャッシュ領域61に退避された全てのデータに対して実行される。
S305の後、または第2記録面のメディアキャッシュ領域61に退避されたデータが存在しないと判定された場合(S304:No)、電源3からの電力供給が再開された際の動作が終了する。
実施形態の磁気ディスク装置1は、以上に述べた構成を有することにより、例えば以下のように動作する。即ち、コントローラ30は、第1記録面の論理アドレス領域60に対応付けられた論理アドレス値の群に含まれる論理アドレス値(第1論理アドレス値と表記する)を含むライトコマンドによってライトが要求されたデータ(第1データと表記する)を受信した場合、当該第1データをバッファメモリ領域341にライトする。そして、第1データがバッファメモリ領域341にライトされた後に所定の事象、例えば電源3からの電力供給の停止が検出されること、が発生しない場合、コントローラ30は、バッファメモリ領域341内の第1データを第1アクチュエータ系20aおよび第1磁気ヘッドHDaを制御することによって第1記録面の論理アドレス領域60内の第1論理アドレス値が対応付けられた位置にライトする。第1データがバッファメモリ領域341にライトされてから第1データが論理アドレス領域60にライトされるまでの間に所定の事象が発生した場合、コントローラ30は、バッファメモリ領域341内の第1データを第2アクチュエータ系20bおよび第2磁気ヘッドHDbを制御することによって第2記録面のメディアキャッシュ領域61にライトする。
よって、第1データをメディアキャッシュ領域61から論理アドレス領域60内の最終的なライト先に移動する際、メディアキャッシュ領域61から第1データをリードする処理と、論理アドレス領域60に第1データをライトする処理と、を並行して実行することが可能になる。したがって、メディアキャッシュ領域61を介したデータの転送に要する時間を短縮することが可能になる。
なお、コントローラ30は、第2アクチュエータ系20bおよび第2磁気ヘッドHDbを制御することによってメディアキャッシュ領域61から第1データをリードする。また、コントローラ30は、メディアキャッシュ領域61からリードされた第1データを、第1アクチュエータ系20aおよび第1磁気ヘッドHDaを制御することによって論理アドレス領域60にライトする。第2アクチュエータ系20bおよび第2磁気ヘッドHDbを制御することによってメディアキャッシュ領域61から第1データをリードする処理は、第1処理の一例である。メディアキャッシュ領域61からリードされた第1データを、第1アクチュエータ系20aおよび第1磁気ヘッドHDaを制御することによって論理アドレス領域60にライトする処理は、第2処理の一例である。
コントローラ30は、第1処理と第2処理とを並行に実行するので、メディアキャッシュ領域61を介したデータの転送に要する時間を短縮することが可能になる。
また、実施形態によれば、コントローラ30は、第2記録面の論理アドレス領域60に対応付けられた論理アドレス値の群に含まれる論理アドレス値(第2論理アドレス値と表記する)を含むライトコマンドによってライトが要求されたデータ(第2データと表記する)を受信した場合、当該第2データをバッファメモリ領域341にライトする。そして、第2データがバッファメモリ領域341にライトされた後に所定の事象、例えば電源3からの電力供給の停止が検出されること、が発生しない場合、コントローラ30は、バッファメモリ領域341内の第2データを第2アクチュエータ系20bおよび第2磁気ヘッドHDbを制御することによって第2記録面の論理アドレス領域60内の第2論理アドレス値が対応付けられた位置にライトする。第2データがバッファメモリ領域341にライトされてから第2データが論理アドレス領域60にライトされるまでの間に所定の事象が発生した場合、コントローラ30は、バッファメモリ領域341内の第2データを第1アクチュエータ系20aおよび第1磁気ヘッドHDaを制御することによって第1記録面のメディアキャッシュ領域61にライトする。
よって、第2データをメディアキャッシュ領域61から論理アドレス領域60内の最終的なライト先に移動する際、メディアキャッシュ領域61から第2データをリードする処理と、論理アドレス領域60に第2データをライトする処理と、を並行して実行することが可能になる。これによって、メディアキャッシュ領域61を介したデータの転送に要する時間を短縮することが可能になる。
なお、コントローラ30は、第1アクチュエータ系20aおよび第1磁気ヘッドHDaを制御することによってメディアキャッシュ領域61から第2データをリードする。また、コントローラ30は、メディアキャッシュ領域61からリードされた第2データを、第2アクチュエータ系20bおよび第2磁気ヘッドHDbを制御することによって論理アドレス領域60にライトする。第1アクチュエータ系20aおよび第1磁気ヘッドHDaを制御することによってメディアキャッシュ領域61から第2データをリードする処理は、第3処理の一例である。メディアキャッシュ領域61からリードされた第2データを、第2アクチュエータ系20bおよび第2磁気ヘッドHDbを制御することによって論理アドレス領域60にライトする処理は、第4処理の一例である。
コントローラ30は、第3処理と第4処理とを並行に実行するので、メディアキャッシュ領域61を介したデータの転送に要する時間を短縮することが可能になる。
また、実施形態によれば、コントローラ30は、第1データおよび第2データがバッファメモリ領域341にライトされてから第1データの第1記録面の論理アドレス領域60へのライトまたは第2データの第2記録面の論理アドレス領域60へのライトの少なくとも一方が実行されるまでの間に所定の事象が発生した場合、換言すると、バッファメモリ領域341内の第1データおよび第2データがともにまだ不揮発化されていない状態で所定の事象が発生した場合、コントローラ30は、バッファメモリ領域341内の第1データを第2アクチュエータ系20bおよび第2磁気ヘッドHDbを制御することによって第2記録面のメディアキャッシュ領域61にライトする処理と、バッファメモリ領域341内の第2データを第1アクチュエータ系20aおよび第1磁気ヘッドHDaを制御することによって第1記録面のメディアキャッシュ領域61にライトする処理と、を並行して実行してもよい。
よって、退避の動作に要する時間が短縮される。つまり、メディアキャッシュ領域61を介したデータの転送に要する時間をさらに短縮することが可能になる。
なお、所定の事象は、例えば、磁気ディスク装置1への電力供給の停止が電力供給回路41によって検出されることである。
よって、電源断によってバッファメモリ領域341内のデータが磁気ディスク装置1から失われることを防止することができる。
または、所定の事象は、加速度センサ42によって検出された加速度値が許容レベルを越える衝撃または振動の印加を示すことであってもよい。
よって、磁気ディスク装置1に印加された衝撃または振動によってバッファメモリ領域341内のデータが磁気ディスク装置1から失われることを防止することができる。
なお、所定の事象は、加速度センサ42によって検出された加速度値が許容レベルを越える衝撃または振動の印加を示すことである場合、メディアキャッシュ領域61から論理アドレス領域60へのデータの移動は、任意のタイミングで実行され得る。例えば、コントローラ30は、加速度センサ42によって検出された加速度値が示す印加された衝撃または振動が許容レベルに満たなくなった場合、メディアキャッシュ領域61から論理アドレス領域60へのデータの移動を実行してもよい。
または、所定の事象は、ホスト2からフラッシュコマンドを受信することであってもよい。
磁気ディスク装置1は、フラッシュコマンドに応じてバッファメモリ領域341内のデータをメディアキャッシュ領域61に退避し、その後、例えばホスト2からのコマンドの受信の頻度が低下した際などに、メディアキャッシュ領域61に退避されたデータを論理アドレス領域60に移動させる。メディアキャッシュ領域61を介したデータの転送に要する時間が短縮されるので、フラッシュコマンドに応じた処理に要する時間が短縮される。よって、ホスト2から見た磁気ディスク装置1のコマンドを処理する能力を向上させることができる。
なお、以上述べた説明では、磁気ディスク装置1は、個別に駆動され得る2つのアクチュエータ系20a,20bを備えることとした。個別に駆動され得る3以上のアクチュエータ系を備える磁気ディスク装置にも実施形態は適用可能である。個別に駆動され得る3以上のアクチュエータ系を備える磁気ディスク装置では、コントローラは、3以上のアクチュエータ系のうちの1つのアクチュエータ系の制御下でアクセスされる記録面の論理アドレス領域が最終的なライト先であるデータを退避する場合、当該データを他の1以上のアクチュエータ系の制御下でアクセスされる1以上の記録面のメディアキャッシュ領域にライトする。そして、コントローラは、当該1以上の記録面のメディアキャッシュ領域に退避された当該データを最終的なライト先に移動する際には、当該1以上の記録面のメディアキャッシュ領域からの当該データのリードと、リードされた当該データの最終的なライト先へのライトと、並行して実行する。これによって、メディアキャッシュ領域を介したデータの転送に要する時間が短縮される。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 磁気ディスク装置、2 ホスト、3 電源、10 磁気ディスク、10a 第1磁気ディスク、10b 第2磁気ディスク、11 スピンドルモータ、12,24 回転軸、20 アクチュエータ系、20a 第1アクチュエータ系、20b 第2アクチュエータ系、21a,21b アクチュエータアーム、22a,22b サスペンション、23a,23b ボイスコイルモータ、30 コントローラ、31 サーボコントローラ、32 ヘッドアンプ、33 不揮発性メモリ、34 揮発性メモリ、35 プロセッサ、36 リードライトチャネル、37 ハードディスクコントローラ、41 電力供給回路、42 加速度センサ、50 サーボ領域、51 トラック、60 論理アドレス領域、61 メディアキャッシュ領域、341 バッファメモリ領域、HD 磁気ヘッド、HDa 第1磁気ヘッド、HDb 第2磁気ヘッド。

Claims (8)

  1. ホストに接続可能な磁気ディスク装置であって、
    第1記録面および第2記録面を備え、前記第1記録面は、第1群の論理アドレス値が対応付けられた第1領域と、データの退避先として使用される第2領域と、を備え、前記第2記録面は、前記第1群の論理アドレス値と異なる第2群の論理アドレス値が対応付けられた第3領域と、データの退避先として使用される第4領域と、を備える磁気ディスクと、
    前記第1記録面に対してデータのライトおよびデータのリードを行う第1磁気ヘッドと、
    前記第2記録面に対してデータのライトおよびデータのリードを行う第2磁気ヘッドと、
    前記第1磁気ヘッドを移動させる第1アクチュエータ系と、
    前記第2磁気ヘッドを移動させる第2アクチュエータ系と、
    バッファメモリと、
    前記第1群に含まれる第1論理アドレス値が指定された第1データを前記ホストから受信した場合、当該第1データを前記バッファメモリにライトし、
    前記第1データが前記バッファメモリにライトされた後に第1事象が発生しない場合、前記バッファメモリ内の前記第1データを前記第1磁気ヘッドおよび前記第1アクチュエータ系を制御することによって前記第1領域内の前記第1論理アドレス値が対応付けられた位置にライトし、
    前記第1データが前記バッファメモリにライトされてから前記第1データが前記第1領域にライトされるまでの間に前記第1事象が発生した場合、前記バッファメモリ内の前記第1データを前記第2磁気ヘッドおよび前記第2アクチュエータ系を制御することによって前記第4領域にライトする、
    コントローラと、
    を備える磁気ディスク装置。
  2. 前記コントローラは、前記第1データを前記第4領域にライトした後、第1処理と第2処理とを並行して実行し、
    前記第1処理は、前記第4領域から前記第1データを前記第2磁気ヘッドおよび前記第2アクチュエータ系を制御することによってリードする処理であり、
    前記第2処理は、前記第4領域からリードされた前記第1データを前記第1磁気ヘッドおよび前記第1アクチュエータ系を制御することによって前記第1領域内の前記第1論理アドレス値が対応付けられた位置にライトする処理である、
    請求項1に記載の磁気ディスク装置。
  3. 前記コントローラは、
    前記第2群に含まれる第2論理アドレス値が指定された第2データを前記ホストから受信した場合、当該第2データを前記バッファメモリにライトし、
    前記第2データが前記バッファメモリにライトされた後に前記第1事象が発生しない場合、前記バッファメモリ内の前記第2データを前記第2磁気ヘッドおよび前記第2アクチュエータ系を制御することによって前記第3領域内の前記第2論理アドレス値が対応付けられた位置にライトし、
    前記第2データが前記バッファメモリにライトされてから前記第2データが前記第3領域にライトされるまでの間に前記第1事象が発生した場合、前記バッファメモリ内の前記第2データを前記第1磁気ヘッドおよび前記第1アクチュエータ系を制御することによって前記第2領域にライトする、
    請求項1または請求項2に記載の磁気ディスク装置。
  4. 前記コントローラは、前記第2データを前記第2領域にライトした後、第3処理と第4処理とを並行して実行し、
    前記第3処理は、前記第2領域から前記第2データを前記第1磁気ヘッドおよび前記第1アクチュエータ系を制御することによってリードする処理であり、
    前記第4処理は、前記第2領域からリードされた前記第2データを前記第2磁気ヘッドおよび前記第2アクチュエータ系を制御することによって前記第3領域内の前記第2論理アドレス値が対応付けられた位置にライトする処理である、
    請求項3に記載の磁気ディスク装置。
  5. 前記第1データおよび前記第2データが前記バッファメモリにライトされてから前記第1データの前記第1領域へのライトまたは前記第2データの前記第2領域へのライトの少なくとも一方が実行されるまでの間に前記第1事象が発生した場合、前記コントローラは、前記バッファメモリ内の前記第1データを前記第2磁気ヘッドおよび前記第2アクチュエータ系を制御することによって前記第4領域にライトする処理と、前記バッファメモリ内の前記第2データを前記第1磁気ヘッドおよび前記第1アクチュエータ系を制御することによって前記第2領域にライトする処理と、を並行して実行する、
    請求項3または請求項4に記載の磁気ディスク装置。
  6. 前記磁気ディスク装置に供給される電力を監視する回路をさらに備え、
    前記第1事象は、前記回路が前記電力の停止を検出することである、
    請求項1から請求項5の何れか一項に記載の磁気ディスク装置。
  7. 衝撃を検出するセンサをさらに備え、
    前記第1事象は、前記センサが衝撃を検出することである、
    請求項1から請求項5の何れか一項に記載の磁気ディスク装置。
  8. 前記第1事象は、前記バッファメモリ内のデータを前記磁気ディスクにライトするコマンドを前記ホストから受信することである、
    請求項1から請求項5の何れか一項に記載の磁気ディスク装置。
JP2021154645A 2021-09-22 2021-09-22 磁気ディスク装置 Pending JP2023045988A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021154645A JP2023045988A (ja) 2021-09-22 2021-09-22 磁気ディスク装置
CN202210120199.6A CN115910117A (zh) 2021-09-22 2022-02-07 磁盘装置
US17/680,065 US20230093769A1 (en) 2021-09-22 2022-02-24 Magnetic disk device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021154645A JP2023045988A (ja) 2021-09-22 2021-09-22 磁気ディスク装置

Publications (1)

Publication Number Publication Date
JP2023045988A true JP2023045988A (ja) 2023-04-03

Family

ID=85572827

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021154645A Pending JP2023045988A (ja) 2021-09-22 2021-09-22 磁気ディスク装置

Country Status (3)

Country Link
US (1) US20230093769A1 (ja)
JP (1) JP2023045988A (ja)
CN (1) CN115910117A (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7042663B2 (en) * 2002-10-03 2006-05-09 Hitachi Global Storage Technologies Netherlands B.V. Magnetic disk protection mechanism, computer system comprising protection mechanism, protection method for magnetic disk, and program for protection method
US7800856B1 (en) * 2009-03-24 2010-09-21 Western Digital Technologies, Inc. Disk drive flushing write cache to a nearest set of reserved tracks during a power failure
US9703699B2 (en) * 2014-09-17 2017-07-11 Kabushiki Kaisha Toshiba Hybrid-HDD policy for what host-R/W data goes into NAND
US10720200B2 (en) * 2018-04-25 2020-07-21 Seagate Technology Llc Reduced latency I/O in multi-actuator device

Also Published As

Publication number Publication date
US20230093769A1 (en) 2023-03-23
CN115910117A (zh) 2023-04-04

Similar Documents

Publication Publication Date Title
US8896953B2 (en) Disk storage apparatus and method for shingled magnetic recording
JP2009020986A (ja) ディスク・ドライブ装置及びディスク・ドライブ装置において不揮発性半導体メモリ領域上のデータを管理するテーブルを保存する方法
US8291190B2 (en) Disk drive including a host interface supporting different sizes of data sectors and method for writing data thereto
US7606987B2 (en) Apparatus and method for magnetic head control in storage accesses
JP2008034085A (ja) 複数の動作モードを有する不揮発性メモリを備えたディスクドライブ
JP2010108568A (ja) 磁気ディスク装置
CN111696586B (zh) 磁盘装置及其控制方法
CN111724815B (zh) 磁盘装置
US20180174615A1 (en) Storage device and a method for defect scanning of the same
JP2014022021A (ja) ディスク記憶装置及び書き込み制御方法
JP2000163897A (ja) ディスクドライブ装置及びその製造方法、ディスクドライブ装置のシーク制御方法、ディスクドライブ制御装置
JP2023045988A (ja) 磁気ディスク装置
JP4919983B2 (ja) データ記憶装置及びデータ記憶装置におけるデータ管理方法
JP5331670B2 (ja) 磁気ディスク・ドライブ及びそのリフレッシュ・ライト方法
US20240105216A1 (en) Magnetic disk device and control method
JPH03290873A (ja) ディスク型記憶装置、ディスク型記憶装置の制御装置、及びディスク型記憶装置の制御方法
US11899968B2 (en) Magnetic disk apparatus and method
JP7179794B2 (ja) 磁気ディスク装置、および磁気ディスク装置のメモリ管理方法
US20160170891A1 (en) Disk apparatus and control method
JP2023125196A (ja) データ記録装置、および、データ記録方法
JP2023129930A (ja) 磁気ディスク装置
JP2020038740A (ja) 磁気ディスク装置および制御方法
JP2011129221A (ja) 異なるサイズのデータ・セクタによるインターフェースをサポートするディスク・ドライブ及びそのユーザ・データのバックアップ方法
JP2017174494A (ja) ディスク記憶装置
JP2004297437A (ja) 画像保存システムおよび画像保存方法