JP6759166B2 - 磁気ディスク装置及びリード方法 - Google Patents

磁気ディスク装置及びリード方法 Download PDF

Info

Publication number
JP6759166B2
JP6759166B2 JP2017163452A JP2017163452A JP6759166B2 JP 6759166 B2 JP6759166 B2 JP 6759166B2 JP 2017163452 A JP2017163452 A JP 2017163452A JP 2017163452 A JP2017163452 A JP 2017163452A JP 6759166 B2 JP6759166 B2 JP 6759166B2
Authority
JP
Japan
Prior art keywords
data
controller
tag
entry
read data
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
JP2017163452A
Other languages
English (en)
Other versions
JP2019040656A (ja
JP2019040656A5 (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.)
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 JP2017163452A priority Critical patent/JP6759166B2/ja
Priority to CN201810038594.3A priority patent/CN109426617B/zh
Priority to US15/916,541 priority patent/US10102869B1/en
Publication of JP2019040656A publication Critical patent/JP2019040656A/ja
Publication of JP2019040656A5 publication Critical patent/JP2019040656A5/ja
Application granted granted Critical
Publication of JP6759166B2 publication Critical patent/JP6759166B2/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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B25/00Apparatus 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/04Apparatus 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/043Apparatus 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
    • 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/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/54Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head into or out of its operative position or across tracks
    • 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
    • G11B2005/0002Special dispositions or recording techniques
    • G11B2005/0005Arrangements, methods or circuits
    • 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
    • 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

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)
  • Digital Magnetic Recording (AREA)

Description

本発明の実施形態は、磁気ディスク装置及びリード方法に関する。
磁気ディスク装置は、ディスクからリードしたリードデータに誤り訂正(Error Checking and Correcting:ECC)処理を実行する。例えば、磁気ディスク装置は、リードデータに低密度パリティチェック(Low Density Parity Check : LDPC)を用いて復号化処理を実行する。磁気ディスク装置は、復号化処理に失敗したデータ(エラーデータ)について、何度も繰り返し復号化処理を実行し得る。この場合、磁気ディスク装置は、エラーデータよりも先にエラーのないデータをバッファメモリ転送する処理(Out Of Order)を実行する。近年、磁気ディスク装置のOut Of Order処理において、エラーデータがバッファメモリに転送されるまでの時間(レイテンシ)が増大している。
米国特許出願公開第2015/0049771号明細書 米国特許7730238号明細書 米国特許7139873号明細書 米国特許8638520号明細書
本発明の実施形態が解決しようとする課題は、効率的にリード処理が可能な磁気ディスク装置及びリード方法を提供することである。
本実施形態に係る磁気ディスク装置は、ディスクと、前記ディスクからデータをリードするヘッドと、データを記録するメモリと、テーブルを有し、リードゲートが開かれたタイミングで、第1データの第1情報を記録した前記テーブルの第1領域の第1領域番号と、リードゲートが開かれたときに付与した第1データの第1通し番号と、第1データの第1カウント値とを前記第1領域に記録するコントローラとを備えている。
図1は、実施形態に係る磁気ディスク装置の構成を示すブロック図である。 図2は、実施形態に係る磁気ディスク装置のリード系の構成例を示すブロック図である。 図3Aは、実施形態に係る管理テーブルの一例を示す概要図である。 図3Bは、実施形態に係る管理テーブルの一例を示す概要図である。 図3Cは、実施形態に係る管理テーブルの一例を示す概要図である。 図4Aは、実施形態に係る管理テーブルの一例を示す概要図である。 図4Bは、実施形態に係る管理テーブルの一例を示す概要図である。 図5は、実施形態に係るリードゲートがアサートされた時のリード処理のフローチャートである。 図6は、実施形態に係るリードデータがバッファメモリに転送された時のリード処理のフローチャートである。
以下、実施の形態について図面を参照して説明する。なお、図面は、一例であって、発明の範囲を限定するものではない。
(実施形態)
図1は、実施形態に係る磁気ディスク装置1の構成を示すブロック図である。
磁気ディスク装置1は、後述するヘッドディスクアセンブリ(HDA)と、ドライバIC20と、ヘッドアンプ集積回路(以下、ヘッドアンプIC、又はプリアンプ)30と、揮発性メモリ70と、バッファメモリ(バッファ)80と、不揮発性メモリ90と、1チップの集積回路であるシステムコントローラ130とを備える。また、磁気ディスク装置1は、ホストシステム(ホスト)100と接続される。
HDAは、磁気ディスク(以下、ディスク)10と、スピンドルモータ(SPM)12と、ヘッド15を搭載しているアーム13と、ボイスコイルモータ(VCM)14とを有する。ディスク10は、スピンドルモータ12により回転する。アーム13及びVCM14は、アクチュエータを構成している。アクチュエータは、VCM14の駆動により、アーム13に搭載されているヘッド15をディスク10上の目標位置まで移動制御する。ディスク10およびヘッド15は、2つ以上の数が設けられてもよい。
ディスク10は、その記録領域に、ユーザから利用可能な記録領域10aと、システム管理に必要な情報をライトするシステムエリア10bとが割り当てられている。
ヘッド15は、スライダを本体として、当該スライダに実装されているライトヘッド15W、及びリードヘッド15Rを備える。ライトヘッド15Wは、ディスク10上にデータをライトする。リードヘッド15Rは、ディスク10上のデータトラックに記録されているデータをリードする。ヘッド15は、少なくとも1つのセクタを含むブロック単位でデータをディスク10上にライトし、ブロック単位でデータをリードする。ここで、セクタは、ディスク10にライト又はディスク10からリードするデータの最小の単位のデータである。
ドライバIC20は、システムコントローラ130(詳細には、後述するMPU40)の制御に従って、SPM12およびVCM14の駆動を制御する。
ヘッドアンプIC30は、リードアンプ及びライトドライバを備えている。リードアンプは、ディスク10からリードされたリード信号を増幅して、システムコントローラ130(詳細には、後述するリード/ライト(R/W)チャネル50)に出力する。ライトドライバは、R/Wチャネル50から出力されるライトデータに応じたライト電流をヘッド15に出力する。
揮発性メモリ70は、電力供給が断たれると保存しているデータが失われる半導体メモリである。揮発性メモリ70は、磁気ディスク装置1の各部での処理に必要なデータ等を格納する。揮発性メモリ70は、例えば、DRAM(Dynamic Random Access Memory)、又はSDRAM(Synchronous Dynamic Random Access Memory)である。
バッファメモリ80は、磁気ディスク装置1とホスト100との間で送受信されるデータ等を一時的に記録する半導体メモリである。なお、バッファメモリ80は、揮発性メモリ70と一体に構成されていてもよい。バッファメモリ80は、例えば、DRAM、SRAM(Static Random Access Memory)、SDRAM、FeRAM(Ferroelectric Random Access memory)、又はMRAM(Magnetoresistive Random Access Memory)等である。
不揮発性メモリ90は、電力供給が断たれても保存しているデータを記録する半導体メモリである。不揮発性メモリ90は、例えば、NOR型またはNAND型のフラッシュROM(Flash Read Only Memory :FROM)である。
システムコントローラ(コントローラ)130は、例えば、複数の素子が単一チップに集積されたSystem-on-a-Chip(SoC)と称される大規模集積回路(LSI)を用いて実現される。システムコントローラ130は、マイクロプロセッサ(MPU)40と、リード/ライト(R/W)チャネル50と、ハードディスクコントローラ(HDC)60と、を含む。システムコントローラ130は、ドライバIC20、ヘッドアンプIC30、揮発性メモリ70、バッファメモリ80、不揮発性メモリ90、及びホストシステム100に接続されている。
MPU40は、磁気ディスク装置1の各部を制御するメインコントローラである。MPU40は、ドライバIC20を介してVCM14を制御し、ヘッド15の位置決めを行なうサーボ制御を実行する。また、MPU40は、ディスク10へのデータのライト動作を制御すると共に、ホスト100から転送されるライトデータの保存先を選択する。MPU40は、ファームウェアに基づいて処理を実行する。MPU40は、磁気ディスク装置1の各部に接続されている。MPU40は、R/Wチャネル50、及びHDC60に接続されている。
R/Wチャネル50は、MPU40からの指示に応じて、リードデータ及びライトデータの信号処理を実行する。以下、リードデータ及びライトデータを単にデータを称する場合もある。R/Wチャネル50は、リードデータの信号品質を測定する回路、又は機能を有している。例えば、R/Wチャネル50は、ディスク10からリードされたリードデータに対する誤り訂正(又は、エラー訂正)処理(Error Checking and Correcting:ECC)を実行する機能を有している。また、R/Wチャネル50は、信号処理、例えば、復号化処理に失敗したデータ(以下、エラーデータと称する)よりも先にエラーのないデータをバッファメモリ転送する処理(Out Of Order)する機能も有している。R/Wチャネル50は、ヘッドアンプIC30、MPU40、及びHDC60に接続されている。
R/Wチャネル50は、誤り訂正部510を備えている。誤り訂正部510は、データに誤り訂正処理を実行する。例えば、誤り訂正部510は、低密度パリティチェック(Low Density Parity Check : LDPC)復号化処理を実行する。誤り訂正部510は、ディスク10からリードしたリードデータにLDPC復号化処理を実行する。なお、誤り訂正部510は、後述するHDC60に備えられていてもよい。
HDC60は、MPU40からの指示に応じて、ホスト100とR/Wチャネル50との間のデータ転送を制御する。例えば、HDC60は、ホスト100から転送されるユーザデータをバッファメモリ80に一旦格納し、R/Wチャネル50に出力する。また、HDC60は、ディスク10からリードしたリードデータをバッファメモリ80に一旦格納し、ホスト100に出力する。HDC60は、MPU40、R/Wチャネル50、揮発性メモリ70、バッファメモリ80、不揮発性メモリ90、及びホスト100に接続されている。
以下で、ヘッド15、ヘッドアンプIC30、及びコントローラ130において、ディスク10からリードしたリードデータをホスト100に転送する系をリード系と称する。

図2は、実施形態に係る磁気ディスク装置1のリード系の構成例を示すブロック図である。なお、図2には、説明に必要な構成のみを図示している。
システムコントローラ130は、リード系として、誤り訂正部510と、ディスク制御部610と、バッファ制御部620と、ホスト制御部630とを備えている。
誤り訂正部510は、メモリ513を備えている。誤り訂正部510は、メモリ513に、管理テーブルTBを有している。管理テーブルTBは、復号化処理を実行し、バッファメモリ80に転送するリードデータの情報(以下、単に、リードデータ情報と称する)を含む。誤り訂正部510は、リードゲートがアサート(assert)されたタイミングと、復号化処理が完了したリードデータをバッファメモリ80に転送するタイミングとに動的に管理テーブルTBを更新する。なお、「リードゲートがアサートされる」ことを「リードゲートが開く」と表現する場合や、「リードゲートが発行される」と表現する場合もある。
ディスク制御部610は、R/Wチャネル50とHDC60との連携体であり、R/Wチャネル50とHDC60との間のデータ転送を制御する。例えば、ディスク制御部610は、誤り訂正部510で復号化処理が完了したリードデータをブロック単位、又はセクタ単位でバッファ制御部620に出力する。バッファ制御部620は、HDC60とバッファメモリ80との間のデータ転送を制御する。例えば、バッファ制御部620は、ディスク制御部610から入力されたリードデータをバッファメモリ80に一旦格納し、バッファメモリ80に格納したデータをホスト制御部630に出力する。また、バッファ制御部620は、バッファメモリ80内に記録したデータを管理する。一例として、バッファ制御部620は、バッファメモリ80内に記録したデータのブロック単位、又はセクタ単位でカウントし、データに紐付けられた情報からディスク10からリードされた順番と復号化処理が完了した順番との整合性等を管理する。ホスト制御部630は、HDC60とホスト100との間のデータ転送を制御する。例えば、ホスト制御部630は、バッファ制御部620から入力されたリードデータをブロック単位、又はセクタ単位でホスト100に出力する。
図3A、図3B、及び図3Cは、実施形態に係る管理テーブルTBの一例を示す概要図である。図3A乃至図3Cは、リードゲートがアサートされたタイミングにおけるリードデータ情報の一連のリード処理の一例を示している。図3A乃至図3Cにおいて、「ENTRY」は、リードデータ情報を記録する管理テーブルTBの記録領域(以下、エントリと称する)を示す領域番号(以下、エントリ番号と称する)を示し、「VLD」は、エントリが空いていない(以下、有効(Vaild)と表現する)か、空いている(以下、無効(non-valid)と表現する)かを示し、「TAG」は、リードゲートがアサートされたときに付与するリードデータの順番(通し番号)を示す。「VLD」は、有効である場合、有効であることを示すフラグ(第1フラグ)、例えば、1であり、無効である場合、無効であることを示すフラグ(第2フラグ)、例えば、0である。「TAG」は、例えば、磁気ディスク装置1が起動してから初めてリードゲートがアサートされたデータには1が付与され、その後、リードゲートがアサートされる度に1ずつ加算される。また、「F_ENT」は、現在対象としているリードデータのTAG(以下、対象TAGと称する)の直前のTAGに対応するリードデータ情報が記録されたエントリのエントリ番号を示し、「L_ENT」は、対象TAGの直後のTAGに対応するリードデータ情報が記録されたエントリのエントリ番号を示し、「BADR」は、リードデータを記録するバッファメモリ80の記録領域のアドレス(又は、ポインタと称する場合もある)を示し、「C_SIZE」は、バッファメモリ80にリードデータを記録したときに、コントローラ130がカウントするリードデータのカウント値を示す。例えば、カウント値は、磁気ディスク装置1内で転送されるデータの単位、例えば、セクタ数(又は、ブロック数)である。一例として、C_SIZEは、各TAGのリードデータで1である。なお、コントローラ130は、カウントしたカウント値の総数(以下、カウント数と称する場合もある)をメモリ、例えば、不揮発性メモリ90等に保持していてもよい。
管理テーブルTBは、リードデータ情報として、ENTRYと、VLDと、TAGと、F_ENTと、L_ENTと、BADRと、C_SIZEと、を含む。図示した例では、管理テーブルTBにおいて、エントリ番号23、29、及び31のエントリが無効であるとものとする。管理テーブルTBは、所定のブロック単位(又は、セクタ単位)のリードデータのリードデータ情報を各エントリに記録する。なお、図3A乃至図3Cにおいて、エントリは、エントリ番号23、29、及び31の3つのみしか示していないが、3つ以上あってもよいし、3つより少なくともよい。また、管理テーブルTBは、リードデータ情報として、ENTRY、VLD、TAG、F_ENT、L_ENT、BADR、及びC_SIZEの全てを含んでいなくともよいし、これら以外の情報を含んでいてもよい。
リードゲートがアサートされた場合、コントローラ130は、例えば、エントリ番号23のエントリに現在対象としているリードデータ(以下、対象リードデータと称する)、例えば、TAG50のリードデータのリードデータ情報を記録する。図3Aに示すように、コントローラ130は、エントリ番号23のエントリのVLDを0から1に変更する。コントローラ130は、エントリ番号23のエントリのTAGに50を記録する。コントローラ130は、TAG50の直前のTAGのリードデータのリードデータ情報が管理テーブルTB内にない場合、エントリ番号23のエントリのF_ENTにNULLを記録する。コントローラ130は、TAG50の直後のTAGのリードデータのリードデータ情報が管理テーブルTB内にない場合、エントリ番号23のエントリのL_ENTにNULLを記録する。コントローラ130は、例えば、エントリ番号23のエントリのBADRにADR3を記録し、エントリ番号23のエントリのC_SIZEに1を記録する。コントローラ130は、対象リードデータのTAG50を管理テーブルTB内で最も新しいTAGとして保持する。また、管理テーブル内に他のリードデータのリードデータ情報を記録していない場合、コントローラ130は、TAG50を管理テーブルTB内で最も古いTAGとしても保持する。コントローラ130は、最も新しいTAGや、最も古いTAGの情報をメモリ、例えば、揮発性メモリ70、バッファメモリ80や、不揮発性メモリ90に保持してもよい。
次に、リードゲートがアサートされた場合、コントローラ130は、例えば、エントリ番号29のエントリに対象リードデータ、例えば、TAG51のリードデータのリードデータ情報を記録する。図3Bに示すように、コントローラ130は、エントリ番号29のエントリのVLDを0から1に変更する。コントローラ130は、エントリ番号29のエントリのTAGに51を記録する。コントローラ130は、TAG51の直前のTAG50のリードデータのリードデータ情報がエントリ番号23のエントリに記録されているため、エントリ番号29のエントリのF_ENTに23を記録する。また、コントローラ130は、TAG50の直後のTAG51のリードデータのリードデータ情報がエントリ番号29のエントリに記録されているため、エントリ番号23のエントリのL_ENTをNULLから29に変更する。コントローラ130は、例えば、エントリ番号29のエントリのBADRにADR5を記録し、エントリ番号29のエントリのC_SIZEに1を記録する。コントローラ130は、管理テーブルTB内で最も新しいTAGをTAG50からTAG51に変更する。また、コントローラ130は、TAG50を管理テーブルTB内で最も古いTAGとして保持する。
さらに、リードゲートがアサートされた場合、コントローラ130は、例えば、エントリ番号31のエントリに対象リードデータ、例えば、TAG52のリードデータのリードデータ情報を記録する。図3Cに示すように、コントローラ130は、エントリ番号31のエントリのVLDを0から1に変更する。コントローラ130は、エントリ番号31のエントリのTAGに52を記録する。コントローラ130は、TAG52の直前のTAG51のリードデータのリードデータ情報がエントリ番号29のエントリに記録されているため、エントリ番号31のエントリのF_ENTに29を記録する。コントローラ130は、TAG52の直後のTAGのリードデータのリードデータ情報が管理テーブルTB内にない場合、エントリ番号31のエントリのL_ENTにNULLを記録する。また、コントローラ130は、TAG51の直後のTAGのリードデータのリードデータ情報がエントリ番号31のエントリに記録されているため、エントリ番号29のエントリのL_ENTをNULLから31に変更する。コントローラ130は、例えば、エントリ番号31のエントリのBADRにADR18を記録し、エントリ番号31のエントリのC_SIZEに1を記録する。コントローラ130は、管理テーブルTB内で最も新しいTAGをTAG51からTAG52を変更する。また、コントローラ130は、TAG50を管理テーブルTB内で最も古いTAGとして保持する。
図示した例では、管理テーブルTBにおいてエントリ番号23、29、及び31のエントリが無効であるとしたが、管理テーブルTBの全てのエントリが有効である場合、コントローラ130は、リード処理をエラー停止する。
図4A及び図4Bは、管理テーブルTBの一例を示す概要図である。図4A及び図4Bは、復号化処理が完了したリードデータをバッファメモリ80に転送するタイミングにおけるリードデータ情報の一連のリード処理の一例を示している。
例えば、図3Cに示すように管理テーブルTBのエントリ番号23、29、及び31のエントリが有効である場合、コントローラ130は、エントリ番号29のエントリにリードデータ情報を記録したTAG51のリードデータの復号化処理を完了し、バッファメモリ80にTAG51のリードデータを転送する。コントローラ130は、バッファメモリ80のアドレスADR5の記録領域にTAG51のリードデータを記録する。コントローラ130は、図4Aに示すように、エントリ番号29のエントリのVLDを1から0に変更する。管理テーブルTBにおいてTAG50の直後のTAGがTAG52になるため、コントローラ130は、図4Aに示すように、TAG50のリードデータのリードデータ情報を記録したエントリ番号23のエントリのL_ENTを29からTAG52のリードデータのリードデータ情報を記録したエントリ番号の31に変更する。管理テーブルTBにおいてTAG52の直前のTAGがTAG50になるため、コントローラ130は、図4Aに示すように、TAG52のリードデータのリードデータ情報を記録したエントリ番号31のエントリのF_ENTをTAG50のリードデータのリードデータ情報を29から記録したエントリ番号の23に変更する。また、コントローラ130は、TAG50のリードデータのリードデータ情報を記録したエントリ番号23のエントリのC_SIZEにバッファメモリ80に転送したTAG51のリードデータのリードデータ情報を記録したエントリ番号29のエントリのC_SIZEを組み合せる(マージ)する。エントリ番号23のエントリのC_SIZEにエントリ番号29のエントリのC_SIZEをマージすることで、TAG50のリードデータをバッファメモリ80に転送した場合に、コントローラ130は、TAG50のリードデータとTAG51のリードデータとを連続的にバッファメモリ80に転送したものとして処理できる。つまり、エントリ番号23のエントリのC_SIZEにエントリ番号29のエントリのC_SIZEをマージすることで、コントローラ130は、ディスク10からリードした順番と復号化処理が完了した順番との整合性を維持できる。コントローラ130は、TAG52を管理テーブルTB内で最も新しいTAGとして保持する。また、コントローラ130は、TAG50を管理テーブルTB内で最も古いTAGとして保持する。
次に、コントローラ130は、エントリ番号31のエントリにリードデータ情報を記録したTAG52のリードデータの復号化処理を完了し、バッファメモリ80にTAG52のリードデータを転送する。コントローラ130は、バッファメモリ80のアドレスADR18の記録領域にTAG52のリードデータを記録する。コントローラ130は、図4Bに示すように、エントリ番号31のエントリのVLDを1から0に変更する。管理テーブルTBにおいてTAG50の直後のTAGのリードデータのリードデータ情報が管理テーブルTB内にないため、コントローラ130は、図4Bに示すように、TAG50のリードデータのリードデータ情報を記録したエントリ番号23のエントリのL_ENTを31からNULLに変更する。また、コントローラ130は、TAG50のリードデータのリードデータ情報を記録したエントリ番号23のエントリのC_SIZEにバッファメモリ80に転送したTAG52のリードデータのリードデータ情報を記録したエントリ番号31のエントリのC_SIZEをマージする。エントリ番号23のエントリのC_SIZEにエントリ番号31のC_SIZEをマージすることで、TAG50のリードデータをバッファメモリ80に転送した場合に、コントローラ130は、TAG50のリードデータ、TAG51のリードデータ、及びTAG52のリードデータを連続的にバッファメモリ80に転送したものとして処理できる。コントローラ130は、管理テーブルTB内で最も新しいTAGをTAG52からTAG50に変更する。また、コントローラ130は、TAG50を管理テーブルTB内で最も古いTAGとしても保持する。
図5は、実施形態に係るリードゲートがアサートされた時のリード処理のフローチャートである。
リードゲートがアサートされた場合、コントローラ130は、管理テーブルTBの全てのエントリが有効か有効ではないか判定する(B501)。管理テーブルTBの全てのエントリが有効であると判定した場合(B501のYES)、コントローラ130は、オーバーフローと判定する(B502)。例えば、管理テーブルTBの全てのエントリが有効であると判定した場合、コントローラ130は、オーバーフローと判定し、リード処理をエラー停止する。管理テーブルTB内に1つでも有効なエントリがあると判定した場合(B501のNO)、コントローラ130は、管理テーブルTBのエントリの内の無効なエントリの1つに対象リードデータのリードデータ情報を記録する(B503)。コントローラ130は、管理テーブルTB内に対象TAGの直前のTAGのリードデータ(以下、直前リードデータと称する)のリードデータ情報があるかないかを判定する(B504)。管理テーブルTB内に対象TAGの直前リードデータのリードデータ情報があると判定した場合(B504のYES)、コントローラ130は、対象リードデータのリードデータ情報を記録したエントリ(以下、対象エントリと称する)のF_ENTに対象TAGの直前リードデータのリードデータ情報を記録したエントリ(以下、直前エントリと称する)のエントリ番号を記録する(B505)。コントローラ130は、直前エントリのL_ENTに対象エントリのエントリ番号を記録し(B506)、B509の処理に進む。管理テーブルTB内に直前リードデータのリードデータ情報がないと判定した場合(B504のNO)、コントローラ130は、対象エントリのF_ENTにNULLを記録する(B507)。コントローラ130は、対象TAGを管理テーブルTB内で最も古いTAGとして保持する(B508)。コントローラ130は、対象エントリのL_ENTにNULLを記録する(B509。コントローラ130は、対象TAGを管理テーブルTB内で最も新しいTAGとして保持し(B510)、次のリードゲートがアサートされるのを待つ。
図6は、実施形態に係るリードデータがバッファメモリ80に転送された時のリード処理のフローチャートである。
対象リードデータがバッファメモリ80に転送された場合、コントローラ130は、対象TAGが管理テーブル内で最も古いか古くないかを判定する(B601)。対象TAGが最も古くないと判定した場合(B601のNO)、コントローラ130は、対象TAGが管理テーブルTB内で最も新しいか新しくないかを判定する(B602)。対象TAGが管理テーブルTB内で最も新しくないと判定した場合(B602のNO)、コントローラ130は、直前エントリのL_ENTを変更する(B603)。例えば、TAGが最も新しくないと判定した場合、コントローラ130は、直前エントリのL_ENTを対象TAGの直後のTAGのリードデータ(以下、直後リードデータと称する)のリードデータ情報を記録したエントリ(以下、直後エントリと称する)のエントリ番号に変更する。コントローラ130は、直後エントリのF_ENTを変更(B604)し、B607の処理へ進む。例えば、コントローラ130は、直後エントリのF_ENTを直前エントリのエントリ番号に変更し、B607の処理へ進む。
対象TAGが管理テーブルTB内で最も新しいと判定した場合(B602のYES)、コントローラ130は、直前エントリのL_ENTにNULLを記録する(B605)。コントローラ130は、管理テーブルTB内で最も新しいTAGを変更する(B606)。例えば、コントローラ130は、管理テーブルTB内で最も新しいTAGを対象TAGから対象TAGの直前のTAGに変更する。コントローラ130は、直前エントリのC_SIZEを更新し(B607)、B610の処理へ進む。例えば、コントローラ130は、直前エントリのC_SIZEに対象エントリのC_SIZEをマージし、B610の処理へ進む。
対象TAGが管理テーブルTB内で最も古いと判定した場合(B601のYES)、コントローラ130は、直後エントリのF_ENTにNULLを記録する(B608)。コントローラ130は、対象エントリのC_SIZEをカウントする(B609)。コントローラ130は、管理テーブルTB内で最も古いTAGを変更する(B610)。例えば、コントローラ130は、管理テーブルTB内で最も古いTAGを対象TAGから対象TAGの直後のTAGに変更する。コントローラ130は、対象エントリを無効にし(B611)、次のリードデータをバッファメモリ80に転送するタイミングを待つ。例えば、コントローラ130は、対象エントリのVLDを1から0に変更し、次のリードデータをバッファメモリ80に転送するタイミングを待つ。
本実施形態によれば、磁気ディスク装置1は、リードゲートがアサートされたタイミングと、復号化処理が完了したリードデータをバッファメモリ80に転送するタイミングとで動的に管理テーブルTBを更新する。磁気ディスク装置1は、リードゲートがアサートされたタイミングで、例えば、対象リードデータの通し番号(TAG)と、対象TAGの直前のTAGのリードデータの情報を記録したエントリのエントリ番号と、対象TAGの直後のTAGのリードデータの情報を記録したエントリのエントリ番号と、対象リードデータを記録するバッファメモリ80の記録領域のアドレスと、対象リードデータをバッファメモリ80に記録したときにカウントするカウント値と、を管理テーブルTBの空いている記録領域(無効なエントリ)に記録する。磁気ディスク装置1は、対象TAGの直前のTAGのリードデータの情報を記録したエントリのエントリ番号と対象TAGの直後のTAGのリードデータの情報を記録したエントリのエントリ番号とにより、管理テーブルTB内でリードデータ情報同士を紐付けしている。また、磁気ディスク装置1は、対象リードデータをバッファメモリ80に転送するタイミングで、管理テーブルTBにおいて、対象エントリのC_SIZEを直前エントリのC_SIZEにマージする。このように管理テーブルTBにおいて対象エントリのC_SIZEを直前エントリのC_SIZEにマージすることで、磁気ディスク装置1は、古いTAGのリードデータの復号化処理が完了していなかったとしても、復号化処理が完了したこの古いTAGよりも新しいTAGのリードデータをバッファメモリ80に転送することができる。つまり、このように管理テーブルTBにおいて対象エントリのC_SIZEを直前エントリのC_SIZEにマージすることで、磁気ディスク装置1は、管理テーブルTB内のエントリ数を抑制することができる。そのため、磁気ディスク装置1は、復号化処理に失敗したリードデータがバッファメモリ80に転送されるまでの時間(レイテンシ)が増大したとしても、管理テーブルTBの容量を抑制することができる。すなわち、磁気ディスク装置1は、効率的にリード処理が可能である。
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…磁気ディスク装置、10…磁気ディスク、10a…記録領域、10b…システムエリア、12…スピンドルモータ(SPM)、13…アーム、14…ボイスコイルモータ(VCM)、15…ヘッド、15W…ライトヘッド、15R…リードヘッド、20…ドライバIC、30…ヘッドアンプIC、40…マイクロプロセッサ(MPU)、50…リード/ライト(R/W)チャネル、60…ハードディスクコントローラ(HDC)、70…揮発性メモリ、80…バッファメモリ、90…不揮発性メモリ、100…ホストシステム(ホスト)、130…システムコントローラ。

Claims (9)

  1. ディスクと、
    前記ディスクからデータをリードするヘッドと、
    データを記録するメモリと、
    テーブルを有し、リードゲートが開かれたタイミングで、第1データの第1情報を記録した前記テーブルの第1領域の第1領域番号と、リードゲートが開かれたときに付与した前記第1データの第1通し番号と、前記第1データの第1カウント値とを前記第1領域に記録するコントローラとを備える、磁気ディスク装置。
  2. 前記コントローラは、前記第1通し番号の直前の第2通し番号の第2データの第2情報を記録した前記テーブルの第2領域の第2領域番号を前記第1領域に記録する、請求項1に記載の磁気ディスク装置。
  3. 前記コントローラは、前記第1通し番号の直後の第3通し番号の第3データの第3情報を記録した前記テーブルの第3領域の第3領域番号を前記第1領域に記録する、請求項2に記載の磁気ディスク装置。
  4. 前記コントローラは、前記メモリに前記第1データを転送するタイミングで、前記テーブルにおいて、前記第2領域に記録した前記第2データの第2カウント値に前記第1カウント値を組み合せる、請求項2又は3に記載の磁気ディスク装置。
  5. 前記コントローラは、前記メモリに前記第1データを転送するタイミングで、前記テーブルにおいて、前記第1通し番号が最も新しいか新しくないかを判定し、最も新しいと判定した場合、前記第2領域に記録した前記第1通し番号を更新する、請求項4に記載の磁気ディスク装置。
  6. 前記コントローラは、前記メモリに前記第1データを転送するタイミングで、前記テーブルにおいて、前記第1通し番号が最も古くないと判定し、且つ最も新しくないと判定した場合、前記第2領域に記録した前記第1通し番号を前記第3通し番号に変更し、前記第3領域に記録した前記第1通し番号を前記第2通し番号に変更する、請求項3に記載の磁気ディスク装置。
  7. 前記コントローラは、リードゲートが開かれたタイミングで、前記第1データを記録した前記第1領域に空いていないことを示す第1フラグを記録する、請求項1に記載の磁気ディスク装置。
  8. ディスクと、
    前記ディスクからデータをリードするヘッドと、
    データを記録するメモリと、
    リードゲートが開かれたときに付与した第1データの第1通し番号と前記第1データの第1カウント値とを記録した第1領域と、前記第1データの直前にリードゲートが開かれた第2データの第2通し番号と前記第2データの第2カウント値とを記録した第2領域とを有するテーブルを有し、前記メモリに前記第1データを転送するタイミングで、前記テーブルにおいて、前記第2カウント値に前記第1カウント値を組み合せる、コントローラとを備える磁気ディスク装置。
  9. ディスクと、前記ディスクからデータをリードするヘッドと、データを記録するメモリと、テーブルを有するコントローラとを備える磁気ディスク装置に適用されるリード方法であって、
    リードゲートが開かれたタイミングで、第1データの第1情報を記録した前記テーブルの第1領域の第1領域番号と、リードゲートが開かれたときに付与された前記第1データの第1通し番号と、前記第1データの第1カウント値とを第1領域に記録する、リード方法。
JP2017163452A 2017-08-28 2017-08-28 磁気ディスク装置及びリード方法 Active JP6759166B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017163452A JP6759166B2 (ja) 2017-08-28 2017-08-28 磁気ディスク装置及びリード方法
CN201810038594.3A CN109426617B (zh) 2017-08-28 2018-01-16 磁盘装置以及读取方法
US15/916,541 US10102869B1 (en) 2017-08-28 2018-03-09 Magnetic disk device and read method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017163452A JP6759166B2 (ja) 2017-08-28 2017-08-28 磁気ディスク装置及びリード方法

Publications (3)

Publication Number Publication Date
JP2019040656A JP2019040656A (ja) 2019-03-14
JP2019040656A5 JP2019040656A5 (ja) 2019-10-17
JP6759166B2 true JP6759166B2 (ja) 2020-09-23

Family

ID=63761316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017163452A Active JP6759166B2 (ja) 2017-08-28 2017-08-28 磁気ディスク装置及びリード方法

Country Status (3)

Country Link
US (1) US10102869B1 (ja)
JP (1) JP6759166B2 (ja)
CN (1) CN109426617B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021039811A (ja) * 2019-09-04 2021-03-11 株式会社東芝 磁気ディスク装置及びリードリトライ処理方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3642810B2 (ja) * 1994-10-31 2005-04-27 シャープ株式会社 情報記録再生装置
JP3905944B2 (ja) * 1997-02-28 2007-04-18 株式会社東芝 磁気ディスク装置用制御回路素子及び同制御回路素子を備えた磁気ディスク装置
US7139873B1 (en) 2001-06-08 2006-11-21 Maxtor Corporation System and method for caching data streams on a storage media
US7730238B1 (en) 2005-10-07 2010-06-01 Agere System Inc. Buffer management method and system with two thresholds
JP2007317271A (ja) * 2006-05-24 2007-12-06 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びそのリード処理におけるエラー処理方法
JP2007328856A (ja) * 2006-06-07 2007-12-20 Toshiba Corp 磁気ディスク装置及びデータ記録方法
JP5727756B2 (ja) 2010-11-22 2015-06-03 株式会社東芝 磁気記録装置及びそのデータ読み込み方法
JP6123568B2 (ja) 2013-08-13 2017-05-10 富士通株式会社 パケット伝送装置、パケットバッファ及びパケット処理方法
JP6429124B2 (ja) * 2015-03-27 2018-11-28 パナソニックIpマネジメント株式会社 光ディスク装置、方法およびコンピュータプログラム
JP6419687B2 (ja) * 2015-12-28 2018-11-07 株式会社東芝 磁気ディスク装置、及び書き込み方法

Also Published As

Publication number Publication date
JP2019040656A (ja) 2019-03-14
CN109426617A (zh) 2019-03-05
CN109426617B (zh) 2023-10-20
US10102869B1 (en) 2018-10-16

Similar Documents

Publication Publication Date Title
US10210900B2 (en) Rewriting of data stored in defective storage regions into other storage regions
US10163458B2 (en) Magnetic disk device and write method
US10614852B2 (en) Data-center drive with split-actuator that increases read/write performance via data striping
US9727265B2 (en) Disk device and control method that controls amount of data stored in buffer
JP4922433B2 (ja) 磁気ディスク装置及びデータブロックの書き換え方法
JP2017010602A (ja) ディスク記憶装置、及びデータ処理方法
US20220301590A1 (en) Magnetic disk device
JP2013157068A (ja) データ記憶制御装置、データ記憶装置、及びデータ記憶方法
JP5787839B2 (ja) ディスク記憶装置及びデータ保護方法
JP6759166B2 (ja) 磁気ディスク装置及びリード方法
JP2018055749A (ja) データ記録装置およびデータ記録方法
US9299387B2 (en) Magnetic disk apparatus, controller and data processing method
US9105297B2 (en) Information recording device and data recovery method
US10515664B2 (en) Magnetic disk device capable of reallocating address corresponding to defective sector to alternative sector
JP2017068634A (ja) 記憶装置及び方法
US10705739B2 (en) Magnetic disk device and write method
JP2014182847A (ja) エラー訂正方法、エラー訂正装置、および情報記憶装置。
US11532321B1 (en) Magnetic disk device and read/write processing method
US20230274765A1 (en) Data recording device and data recording method
JP2019160376A (ja) 磁気ディスク装置及びリフレッシュ処理方法
US11024336B1 (en) Magnetic disk device and memory management method of magnetic disk device
US11545183B2 (en) Magnetic disk device and read processing method
JP2012113777A (ja) 磁気記録装置及びそのデータ読み込み方法
JP2023142223A (ja) 磁気ディスク装置
JP2022047913A (ja) 磁気ディスク装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190904

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200630

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200902

R150 Certificate of patent or registration of utility model

Ref document number: 6759166

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150