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

磁気ディスク装置 Download PDF

Info

Publication number
JP2009187604A
JP2009187604A JP2008024440A JP2008024440A JP2009187604A JP 2009187604 A JP2009187604 A JP 2009187604A JP 2008024440 A JP2008024440 A JP 2008024440A JP 2008024440 A JP2008024440 A JP 2008024440A JP 2009187604 A JP2009187604 A JP 2009187604A
Authority
JP
Japan
Prior art keywords
command
data
host
magnetic disk
read
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
JP2008024440A
Other languages
English (en)
Inventor
Takehiro Ogawa
健博 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008024440A priority Critical patent/JP2009187604A/ja
Priority to US12/267,322 priority patent/US20090195928A1/en
Publication of JP2009187604A publication Critical patent/JP2009187604A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0613Improving I/O performance in relation to throughput
    • 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
    • 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/068Hybrid storage 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems

Abstract

【課題】コマンドをサポートしていないホストシステムでも不揮発性メモリを有効に使用することができる磁気ディスク装置を提供することを目的とする。
【解決手段】磁気ディスク装置10は、不揮発性メモリ30をホスト1から保存を指定されるデータを格納するハイブリッドハードディスク用データ領域31と、磁気ディスク装置10側で独自に判断してデータを保存する独自領域であるリードデータ領域33とライトデータ領域34との2つの領域に区分けして構成される。
【選択図】 図1

Description

本発明は、ホストから送信されるリードデータおよびライトデータを保存する不揮発性メモリを備えた磁気ディスク装置に関し、特に、磁気ディスク装置に搭載された不揮発性メモリを有効に活用することができるハイブリッド型の磁気ディスク装置に関する。
近年では、大容量(256MB、512MB)の不揮発性メモリを搭載した磁気ディスク装置(ハイブリッドハードディスク:Hybrit Hard Disk Drive)が知られている(例えば、特許文献1〜3参照)。このような大容量の不揮発性メモリを備えた磁気ディスク装置の場合、ホストから送信されるコマンドに基づいて、頻繁にアクセスされるデータを予め不揮発性メモリに保存することができるため、ディスク媒体へのアクセス時間を省いてコマンドの応答時間を短縮することができる。
特開2006−302315号公報 特開2001−350669号公報 特開平07−248973号公報
ところで、このようなハイブリッド型の磁気ディスク装置に搭載された不揮発性メモリにはディスク媒体に記憶されている所定領域(例えば、「LBA0〜500」)のデータを記憶しているが、ホストから不揮発性メモリに記憶されていないデータ(例えば、LBA600)のリード要求が発行された場合、不揮発性メモリにはデータがなくディスク媒体からリードする必要があるため、アクセス速度が低下するという問題がある。
また、実際にホストシステムが不揮発性メモリに対するコマンドのアクセスをサポートしていない場合には、この磁気ディスク装置に搭載された大容量の不揮発性メモリを有効に活用することができないという問題がある。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、アクセス速度を短縮するとともに、ホストシステムが不揮発性メモリに対するコマンドのアクセスをサポートしていない場合でもこの磁気ディスク装置に搭載された不揮発性メモリを有効に活用することができる磁気ディスク装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、請求項1に係る発明は、ホストから送信されるリードデータおよびライトデータを保存する不揮発性メモリを備えた磁気ディスク装置であって、前記不揮発性メモリは、前記ホストが指定するホスト指定データを保存するホスト指定データ領域と、前記ホスト指定データ以外のデータを独自に保存する独自データ領域と、を備えることを特徴とする。
また、請求項2に係る発明は、上記発明において、前記独自データ領域は、前記ホストから送信される読み出し要求用のコマンドによるリードデータを保存するリードデータ領域及び書き込み要求用のコマンドによるライトデータを保存するライトデータ領域とを備えることを特徴する。
また、請求項3に係る発明は、ホストから送信されるリードデータおよびライトデータを保存する不揮発性メモリとファームウェア回路部とを備えた磁気ディスク装置であって、前記不揮発性メモリは、前記ホストが指定するホスト指定データを保存するホスト指定データ領域と、前記ホスト指定データ以外のデータを独自に保存する独自データ領域とを備え、前記ファームウェア回路部は、前記ホストが電源をオフすることを予測するとともに、電源をオフする前のリードデータを前記不揮発性メモリに保存する処理を行なうことを特徴とする。
また、請求項4に係る発明は、上記発明において、前記独自データ領域は、前記ホストから送信される読み出し要求用のコマンドによるリードデータを保存するリードデータ領域及び書き込み要求用のコマンドによるライトデータを保存するライトデータ領域とを備えることを特徴とする。
また、請求項5に係る発明は、上記発明において、前記ファームウェア回路部は、前記ホストが発行するコマンドを定期的に採取するとともに、当該採取したコマンドを前記リードデータ領域に保存し、コマンドログを複数個用いてパターンマッチング処理によって集計および比較することで、電源をオフする前の電源オフシーケンスを認識することを特徴とする。
また、請求項6に係る発明は、上記発明において、前記パターンマッチング処理は、電源のオン時に、電源のオフ時に採取した最終のコマンドログから遡った複数のコマンドログを用いることを特徴とする。
また、請求項7に係る発明は、上記発明において、前記ホストから定期的に採取するコマンドログの種類は、電源オフシーケンスに関するコマンドであるStandbyコマンド、Sleepコマンド、Flush Cacheコマンドの何れかであることを特徴とする。
請求項1の発明によれば、磁気ディスク装置は、ホストから送信されるリードデータおよびライトデータを保存する不揮発性メモリを備えるとともに、この不揮発性メモリは、ホストが指定するホスト指定データを保存するホスト指定データ領域と、ホスト指定データ以外のデータを独自に保存する独自データ領域とを備えるので、ホストシステムが不揮発性メモリに対するコマンドのアクセスをサポートしていない場合でもこの磁気ディスク装置に搭載された不揮発性メモリを有効に活用することができる。
また、請求項2の発明によれば、独自データ領域は、ホストから送信される読み出し要求用のコマンドによるリードデータを保存するリードデータ領域及び書き込み要求用のコマンドによるライトデータを保存するライトデータ領域とを備えるので、ホストシステムが不揮発性メモリに対するコマンドのアクセスをサポートしていない場合でもデータをライトデータ領域に保存することができるので、磁気ディスク装置に搭載された不揮発性メモリを有効に活用することができる。
また、請求項3の発明によれば、磁気ディスク装置は、ホストから送信されるリードデータおよびライトデータを保存する不揮発性メモリとファームウェア回路部とを備えており、不揮発性メモリは、ホストが指定するホスト指定データを保存するホスト指定データ領域と、ホスト指定データ以外のデータを独自に保存する独自データ領域とを備え、ファームウェア回路部は、ホストが電源をオフすることを予測するとともに、電源をオフする前のリードデータを不揮発性メモリに保存する処理を行なうので、ホストシステムが不揮発性メモリに対するコマンドのアクセスをサポートしていない場合でもデータを不揮発性メモリに保存することができるので、磁気ディスク装置に搭載された不揮発性メモリを有効に活用することができる。また、リードデータに使用する領域(ブロック)を固定にすることができ、これによって、書き込みおよび消去を最小限にすることができるうえ、不揮発性メモリに保存されたデータの消去作業の効率化を図ることができる。また、ホスト側のOSの種類やユーザー環境に左右されることなく、電源ON時の起動を高速化とすることができる。
また、請求項4の発明によれば、独自データ領域は、ホストから送信される読み出し要求用のコマンドによるリードデータを保存するリードデータ領域及び書き込み要求用のコマンドによるライトデータを保存するライトデータ領域とを備えるので、ホストシステムが不揮発性メモリに対するコマンドのアクセスをサポートしていない場合でもデータをライトデータ領域に保存することができるので、磁気ディスク装置に搭載された不揮発性メモリを有効に活用することができる。
また、請求項5の発明によれば、ファームウェア回路部は、ホストが発行するコマンドを定期的に採取するとともに、採取したコマンドをリードデータ領域に保存し、コマンドログを複数個用いてパターンマッチング処理によって集計および比較することで、電源をオフする前の電源オフシーケンスを認識するので、リードデータに使用する領域(ブロック)を固定にすることができ、これによって、書き込みおよび消去を最小限にすることができるうえ、不揮発性メモリに保存されたデータの消去作業の効率化を図ることができる。また、電源ONシーケンスを独自に解析し、データを保存することで、ホストに依存することなく不揮発性メモリを利用することが可能になる。
また、請求項6の発明によれば、パターンマッチング処理は、電源のオン時に、電源のオフ時に採取した最終のコマンドログから遡った複数のコマンドログを用いるので、最終のコマンドログから遡った複数のコマンドログに基づいて、パターンマッチング処理を効率的に行なうことができる。
また、請求項7の発明によれば、ホストから定期的に採取するコマンドログの種類は、電源オフシーケンスに関するコマンドであるStandbyコマンド、Sleepコマンド、Flush Cacheコマンドの何れかであるので、これら電源オフシーケンスに関するコマンドの受領に基づいて、電源オフシーケンスを実行することができる。
以下に添付図面を参照し、本発明の磁気ディスク装置に係る実施例1について詳細に説明する。なお、以下では、本発明に係る磁気ディスク装置の概要および特徴を説明した後に、本実施例に係る磁気ディスク装置について説明することとする。図1は、磁気ディスク装置の内部を示す全体構成図である。なお、以下に示す実施例1によりこの発明が限定されるものではない。
[磁気ディスク装置の概要および特徴]
まず最初に、本発明に係る磁気ディスク装置の概要および特徴を説明する。図1は、本発明に係る磁気ディスク装置の概要および特徴を説明するための説明図である。同図に示すように、磁気ディスク装置10は、ホスト1から発行されるリードコマンドおよびライトコマンドを解析するディスク制御部20と、データを記憶するディスク媒体40と、ディスク媒体40に記憶される所定領域のデータを記憶する不揮発性メモリ30とを備えている。
また、磁気ディスク装置10に搭載された不揮発性メモリ30は、ホスト1から保存を指定されるデータ(PINN登録指定されていないコマンドに該当するデータ)を格納(記憶)する領域(ハイブリッドハードディスク用データ領域31)と、磁気ディスク装置10が独自に判断してリードデータを保存するリード用の領域(リードデータ領域33)とライトデータを保存する領域(ライトデータ領域34)とを備えることに特徴があり、これによって、ホスト1に依存することなく大容量の不揮発性メモリ30を有効に活用できるようにしている。
この主たる特徴を具体的に説明すると、図1に示すように、ホスト1からリードコマンドが発行された場合、ディスク制御部20により、リードコマンドがPINN登録されたコマンドであるかを判定し(図1の(1)参照)、PINN登録されたコマンドの場合、不揮発性メモリ30のハイブリッドハードディスク用データ領域31からデータをリードし、ホスト1にデータを転送する(図1の(2)参照)。また、PINN登録されたコマンドでなく不揮発性メモリ30のリードデータ領域33に該当するデータがあれば(図1の(3)参照)、このリードデータ領域33からデータをリードし、ホスト1にデータを転送する(図1の(4)参照)。
また、リードデータ領域33に該当するデータがない場合、ディスク媒体40からデータをリードし(図1の(5)参照)、リードしたデータをホスト1に転送する(図1の(6)参照)。なお、この時にリードデータ領域33に空き領域がある場合、ディスク媒体40からリードしたデータは、使用頻度が高いデータとして、このデータは、リードデータ領域33に保存する(図15の(7)参照)。
また、ホスト1からライトコマンドが発行された場合には、ディスク制御部20により、このライトコマンドのデータをディスク媒体40に書き込むとともに(図1の(8)参照)、このライトコマンドがPINN登録されたコマンドであれば、ハイブリッドハードディスク用データ領域31にデータを保存し(図1の(9)参照)、PINN登録されたコマンドでなくライトデータ領域34に空き領域があれば、このライトデータ領域34の空き領域にデータを保存する(図1の(10)参照)。
以上のように、本実施例では、リードデータ領域33とライトデータ領域34には、PINN登録指定されていないデータを保存する領域としており、これにより、ホストに依存することなく大容量不揮発性メモリを利用することが可能になる。また、従来の不揮発性メモリの場合、ブロック単位の消去、書き込みが必要ではあるが、このように、保存するデータをリード/ライトの領域に区分することで、リードデータに使用する領域(ブロック)を固定(リードデータ領域33に固定)にすることで書き込みおよび消去を最小限にすることができる。すなわち、ライトデータはいずれディスク媒体40に書き戻すデータであることから、この領域(ライトデータ領域34に固定)をひとまとめとすることで、ディスク媒体40に書き戻した後でまとめて消去することで、不揮発性メモリ30に保存されたデータの消去作業の効率化を図ることができる。
[磁気ディスク装置10の構成]
次に、本実施例1に係る磁気ディスク装置10の構成の詳細について説明する。図2は、本実施例1に係る磁気ディスク装置10の構成を示すブロック図である。ここで、図1に示すホスト1(ホストシステム)で指定するアドレスはPINNと呼ばれ、開始LBAとセクタ数で設定される。このようなハイブリッド型の磁気ディスク装置を搭載したホストシステムは、3種類(Add LBAs to NV Cache Pinnes Setコマンド:不揮発性メモリを使用するアドレスを指定するコマンド、Remove LBAs from NV Cache Pinned Setコマンド:不揮発性メモリを使用するアドレスの指定を解除するコマンド、Flush NV Cacheコマンド:不揮発性メモリのデータを媒体に書き込むコマンド)のコマンドを発行して大容量不揮発性メモリを使用する構成としている。
同図に示すように、磁気ディスク装置10は、ホスト転送処理部11と、コマンド処理部12と、データバッファ13と、ディスク制御部20と、ディスク媒体40と、ヘッド41と、不揮発性メモリ30(NAND)とから構成される。
ホスト転送処理部11は、磁気ディスク装置10が接続されたホスト1とコマンドやデータの送受信を行なう処理部であり、具体的には、ホスト1から送信されるリードコマンドやライトコマンドを受領したり、ディスク制御部20とのデータの授受をデータバッファ13を介して行なう。
コマンド処理部12は、ホスト1が送信したリードコマンドやライトコマンド、その他のコマンドを受領し、この受領したコマンドを解析し、ディスク制御部20に対して所定の処理を指示する。データバッファ13は、ホスト1側と送受信するデータを一時的に記憶する。
ディスク制御部20は、コマンド処理部12により指示されたリードコマンド(読み出し要求)またはライトコマンド(書き込み要求)をディスク媒体40に対して行なうファームウェアを展開するメモリ(ファームウェア回路部)を有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、リードコマンド処理部21とライトコマンド処理部22と電源OFFデータ処理部23とを備える。
不揮発性メモリ30は、データ領域であるハイブリッドハードディスク用データ領域31と独自領域32との2つに区分された領域を備えている。このうち、独自領域32は、リードデータ領域33とライトデータ領域34とにより構成されている。なお、実際には、不揮発性メモリ30は、データ領域であるハイブリッドハードディスク用データ領域31と独自領域32とは別に、これらハイブリッドハードディスク用データ領域31と独自領域32内に保存されたデータを管理する管理データ領域であるシステム領域(図示せず)を備えており、例えば、リードコマンドからのリード要求が発行された場合、最初に、システム領域に保存されているPINN登録データ領域とリード領域とライト領域に記憶されたLBA番地を参照することとなる。そして、PINN登録データ領域を参照し、該当するLBA番地を探し、該当するLBA番地があれば、データ領域のハイブリッドハードディスク用データ領域31からLBA番地に対応するデータをリードする。
リードコマンド処理部21は、ホスト1からのリードコマンドを受領した場合に、データをディスク媒体40或いは不揮発性メモリ30のハイブリッドハードディスク用データ領域31或いはリードデータ領域33から読み出す処理を行なう。このリードコマンド処理部21による具体的な制御処理については、図3のフローチャートで詳細に説明する。
ライトコマンド処理部22は、ホスト1からのライトコマンドを受領した場合に、データをディスク媒体40或いは不揮発性メモリ30のライトデータ領域34に書き込む処理を行なう。このライトコマンド処理部22による具体的な制御処理については、図4のフローチャートで詳細に説明する。
電源OFFデータ処理部23は、ホスト1からコマンドを受領した場合に、電源OFFシーケンスに該当するライトコマンドを受領した場合に、このライトコマンドをライトデータ領域34に保存する処理を行なう。この電源OFFデータ処理部23による具体的な制御処理については、図5および図6のフローチャートで詳細に説明する。
ディスク媒体40は、アプリケーションや所望のデータを格納する磁気ディスクであり、ヘッド41により読み書き(リード/ライト)が行なわれる。
(リードコマンド制御処理)
次に、図3を参照して、本実施例に係る「リードコマンド制御処理」の手順について説明する。ここで、図3は、リードコマンド制御処理の手順を示すフローチャートを示している。
すなわち、ホスト1から送信されたリードコマンドを受領すると(ステップS101肯定)、この受領したリードコマンドにPINN登録が無いか(ハイブリッドハードディスク用データ領域31にデータがあるか?)を判定する(ステップS102)。具体的には、リードコマンドに該当するLBAがPINN登録されているかを判定する。そして、この受領したリードコマンドにPINN登録があると判定されたならば(ステップS102否定)、不揮発性メモリ30のハイブリッドハードディスク用データ領域31に保存されているデータをホスト1に転送し(ステップS103)、ステップS101に戻る。
そして、受領したリードコマンドにPINN登録が無いと判定されたならば(ステップS102肯定)、次いで、不揮発性メモリ30のリードデータ領域33に該当するデータが存在しないかを判定する(ステップS104)。そして、この不揮発性メモリ30のリードデータ領域33に該当するデータが存在すると判定された場合(ステップS104否定)、このリードデータ領域33に保存されているデータをホスト1に転送し(ステップS105)、ステップS101に戻る。
これとは反対に、ステップS104の判定により、不揮発性メモリ30のリードデータ領域33に該当するデータが存在しないと判定された場合(ステップS104肯定)、ディスク媒体40からデータをリードし(読み出し)、このリードしたデータをホスト1に転送し(ステップS106)、リードコマンドを終了する(ステップS107)。
続いて、ステップS108の判定により実行待ちコマンドが無いかを判定し(ステップS108)、実行待ちコマンドがある場合(ステップS108否定)、待機しているコマンドの実行処理を行なう(ステップS109)。このステップS108〜ステップS109までの処理は、実行待ちコマンドが全て無くなるまでループする。
そして、全ての実行待ちコマンドが無くなったならば(ステップS108肯定)、次に、不揮発性メモリ30のリードデータ領域33に空き領域があるかを判定する(ステップS110)。そして、このリードデータ領域33に空き領域がないと判定されたならば(ステップS110否定)、長時間ヒットしないデータ(古くから保存されている使用されないデータ)をタイムスタンプに基づいて選択し、この選択したリードデータをブロック単位で消去(イレース処理)する(ステップS111)。これにより、新たにデータを保存する空き領域をつくることができ、この空き領域には、頻繁にアクセスされるデータを保存することができる。
一方、不揮発性メモリ30のリードデータ領域33に空きがあると判定されたならば(ステップS110肯定)、このリードデータ領域33の空き領域に、ステップS106によりディスク媒体40からリードしたデータを保存し(ステップS112)、ステップS101に戻る。すなわち、ディスク媒体40からデータをリードするよりも不揮発性メモリ30のリードデータ領域33からデータをリードする方がアクセスを速くすることができるため、ディスク媒体40からリードされたデータは、頻繁にアクセスされるデータとしてリードデータ領域33に保存することとしている。
(ライトコマンド制御処理)
次に、図4を参照して、本実施例に係る「ライトコマンド制御処理」の手順について説明する。ここで、図4は、ライトコマンド制御処理の手順を示すフローチャートを示している。
すなわち、ホスト1から送信されたライトコマンドを受領すると(ステップS201肯定)、この受領したライトコマンドのデータをディスク媒体40に書き込む(ステップS202)。次に、ライトコマンドに該当するLBAがPINN登録されているかを判定する(ステップS201)。そして、この受領したライトコマンドにPINN登録があると判定されたならば(ステップS203否定)、ハイブリッドハードディスク用データ領域31にライトコマンドのデータを保存し(ステップS204)、ステップS201に戻る。
反対に、受領したライトコマンドにPINN登録が無いと判定されたならば(ステップS203肯定)、次いで、実行待ちコマンドが無いかを判定し(ステップS205)、実行待ちコマンドがある場合(ステップS205否定)、コマンドの実行処理を行なう(ステップS206)。このステップS205〜ステップS206までの処理は、実行待ちコマンドがなくなるまでループする。
そして、全ての実行待ちコマンドが無くなったならば(ステップS205肯定)、次に、不揮発性メモリ30のライトデータ領域34に空き領域があるかを判定する(ステップS207)。そして、このライトデータ領域34に空き領域があると判定されたならば(ステップS207肯定)、データをライトデータ領域34に保存し(ステップS209)、ステップS201に戻る。反対に、ライトデータ領域34に空き領域がないと判定されたならば(ステップS207否定)、ブロックイレーズ処理を行ない(ステップS208)、ステップS209に移行し、データをライトデータ領域34に保存し(ステップS209)、ステップS201に戻る。このように実行するコマンドが控えていない場合、ある程度まとまった単位で一括してデータをブロックイレーズすることができる。また、頻繁にリードするデータがライトデータ領域34に保存され、これによりアクセスを速くすることができる。
(電源OFFシーケンス制御処理)
次に、図5および図6を参照して、本実施例に係る「電源OFFシーケンス制御処理」の手順について説明する。ここで、図5は、電源OFFシーケンス制御処理の概要を説明する説明図を、図6は、電源OFFシーケンス制御処理の手順を示すフローチャートをそれぞれ示している。また、図7は、電源OFFシーケンス時のホストからのコマンドデータの一例を示す図である。
すなわち、従来からホスト1では、電源をOFFする際(電源OFFシーケンスの起動時)には、ホスト1側に残存しているライトデータを磁気ディスク装置10のディスク媒体40に書き込む(保存)という処理を行なっている。このため、磁気ディスク装置10のON時(起動時)には、ディスク媒体40に保存したデータをリードすることとなり(電源OFF前に保存するデータは、次回の電源ON時にリードされることが多い)、これによって、アクセス時間が長くなるなどの問題があることから、電源OFFシーケンス制御処理により、次回の電源ON時にリードされることが多いデータ(有効なデータ)は、不揮発性メモリ30に保存することで起動を高速化とすることとしている。
ここで、電源OFFシーケンスの開始判定は、OSの種類、ユーザー環境により異なるため、図5および以下の(1)〜(5)に示す手順により電源OFFシーケンスを解析し、有効なデータを不揮発性メモリ30のライトデータ領域34に保存する制御処理を行なうこととしている。
(1)定期的にホスト1から送信されるコマンドログを採取する。
(2)電源がOFFされる前に送信されるコマンド(最新受領コマンド)がStandbyコマンド、Sleepコマンド、Flush Cacheコマンドの何れかである場合、このコマンドをログし保存する。
(3)ライトデータのログを判定する。
(4)ライトデータの複数パターンを保存/集計する。
(5)電源ON時、最後のログから遡って比較によりパターンマッチングを行い、同一パターンを検出した場合にその同一パターンを電源OFFシーケンスと認識する。
(6)電源OFFシーケンスに該当するライトコマンドが発行された場合、ライトデータを不揮発性メモリ30に保存する。
以下、図5および図6のフローチャートを参照して、電源OFFシーケンス制御処理の手順の詳細を説明する。すなわち、図6のフローチャートに示すように、ホスト1から送信されたコマンドを受領すると(ステップS301肯定)、この受領したコマンドをログする(ステップS302)。ここで、ホスト1から送信されたコマンドは、一時的にデータバッファ13に保存される(図5の(1)参照)。
次に、受領したコマンドが、電源OFFシーケンスに関するコマンド(Standbyコマンド、Sleepコマンド、Flush Cacheコマンド)かを判定する(ステップS303)。具体的に説明すると、データバッファ13にログされたコマンドの最新の受領コマンド(50コマンド)がStandbyコマンド、Sleepコマンド、Flush Cacheコマンドの何れかであるかを判定する(図5の(2)参照)。そして、受領したコマンドがStandbyコマンド、Sleepコマンド、Flush Cacheコマンドの何れでもない場合(ステップS303否定)、次に、この受領したコマンドがライトコマンドであるかを判定する(ステップS304)。
そして、受領したコマンドがライトコマンドである場合(ステップS304肯定)、電源OFFシーケンスに含まれるライトコマンドとLBAが同一かを判定し(ステップS305)、電源OFFシーケンスに含まれるライトコマンドとLBAが同一である場合(ステップS305肯定)、ライトデータを不揮発性メモリ30のライトデータ領域34に保存し(ステップS306)、受領コマンドを実行した後(ステップS312)、ステップS301に戻る。
ここで、ステップS304の判定により受領したコマンドがライトコマンドでない場合(ステップS304否定)、また、ステップS305の判定により電源OFFシーケンスに含まれるライトコマンドとLBAが同一でない場合(ステップS305否定)、受領コマンドを実行した後(ステップS312)、ステップS301に戻る。
一方、ステップS303の判定により受領したコマンドがStandbyコマンド、Sleepコマンド、Flush Cacheコマンドのいずれかのコマンドである場合(ステップS304肯定)、これより前に受領した所定範囲(例えば、50コマンド)以内にライトコマンドが含まれるか(図5の(3)参照)を判定する(ステップS307)。図7の例では、50コマンド目の最新受領コマンドがStandbyコマンドであることを示している。
そして、受領した50コマンド以内にライトコマンドが含まれる場合(ステップS307肯定)、この受領したコマンドから前の50コマンドを電源OFFシーケンス候補としてシステム領域(図5の(4)参照)に保存する(ステップS308)。このように、システム領域には、電源OFFシーケンス候補としての50のコマンド(所定のパターン)が複数個保存されることとなる。
次に、保存している電源OFFシーケンスとコマンドパターンが半分以上一致するかを判定する(ステップS309)。具体的に説明すると、電源OFFシーケンスの候補として予め保存したコマンドと今回のコマンドのパターン(種類)が25コマンド以上一致するかを判定する(図5の(5)参照)。
そして、保存している電源OFFシーケンスとコマンドパターンが半分以上一致すると判定された場合(ステップS309肯定)、次に、データバッファ13内にコマンドパターンと一致すライトコマンドのデータが残っているかを判定し(ステップS310)、データバッファ13内にパターンと一致するライトコマンドのデータが残っていると判定された場合(ステップS310肯定)、このライトデータを不揮発性メモリ30のライトデータ領域34(図5の(6)参照)に保存し(ステップS311)、受領コマンドを実行した後(ステップS312)、ステップS301に戻る。ここで、保存している電源OFFシーケンスとコマンドパターンが半分以上一致しない判定された場合(ステップS309否定)、また、データバッファ13内にパターンと一致するライトコマンドのデータが残っていないと判定された場合(ステップS310否定)、受領コマンドを実行した後(ステップS312)、ステップS301に戻る。
図7の例では、コマンドログされた50コマンド内にライトデータ(WRITE FPDNA QUEUD ×××××)が複数含まれており、このライトデータのパターンと予めシステム領域に保存されている複数のコマンドのライトデータのパターンの半分以上(網掛け部分)が一致していることを示している。以上説明した図6に示す電源OFFシーケンス制御処理により、次回の電源ON時にリードされることが多いデータ(有効なデータ)は、不揮発性メモリ30のライトデータ領域34に保存することができ、これにより、ホスト1側のOSの種類やユーザー環境に左右されることなく、電源ON時の起動を高速化とすることができる。なお、システムがスタンバイ状態であっても、この電源OFFシーケンス制御処理により同様の効果を得ることができる。
以上説明したように、本実施例の磁気ディスク装置10は、不揮発性メモリ30をホスト1から保存を指定されるデータを格納するハイブリッドハードディスク用データ領域31と、磁気ディスク装置10側で独自に判断してデータを保存するリードデータ領域33とライトデータ領域34との2つの領域に区分けして構成されるので、ホスト1(ホストシステム)が不揮発性メモリ30に対するコマンドのアクセスをサポートしていない場合でもこの磁気ディスク装置10に搭載された不揮発性メモリ30を有効に活用することができる。
ここで、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)ホストから送信されるリードデータおよびライトデータを保存する不揮発性メモリを備えた磁気ディスク装置であって、
前記不揮発性メモリは、
前記ホストが指定するホスト指定データを保存するホスト指定データ領域と、
前記ホスト指定データ以外のデータを独自に保存する独自データ領域と、
を備えることを特徴とする磁気ディスク装置。
(付記2)前記独自データ領域は、前記ホストから送信される読み出し要求用のコマンドによるリードデータを保存するリードデータ領域及び書き込み要求用のコマンドによるライトデータを保存するライトデータ領域とを備えることを特徴とした付記1に記載の磁気ディスク装置。
(付記3)ホストから送信されるリードデータおよびライトデータを保存する不揮発性メモリとファームウェア回路部とを備えた磁気ディスク装置であって、
前記不揮発性メモリは、
前記ホストが指定するホスト指定データを保存するホスト指定データ領域と、
前記ホスト指定データ以外のデータを独自に保存する独自データ領域とを備え、
前記ファームウェア回路部は、前記ホストが電源をオフすることを予測するとともに、電源をオフする前のリードデータを前記不揮発性メモリに保存する処理を行なうことを特徴とする磁気ディスク装置。
(付記4)前記独自データ領域は、前記ホストから送信される読み出し要求用のコマンドによるリードデータを保存するリードデータ領域及び書き込み要求用のコマンドによるライトデータを保存するライトデータ領域とを備えることを特徴とした付記3に記載の磁気ディスク装置。
(付記5)前記ファームウェア回路部は、
前記ホストが発行するコマンドを定期的に採取するとともに、当該採取したコマンドを前記リードデータ領域に保存し、コマンドログを複数個用いてパターンマッチング処理によって集計および比較することで、電源をオフする前の電源オフシーケンスを認識することを特徴とする付記3または4に記載の磁気ディスク装置。
(付記6)前記パターンマッチング処理は、電源のオン時に、電源のオフ時に採取した最終のコマンドログから遡った複数のコマンドログを用いることを特徴とする付記5に記載の磁気ディスク装置。
(付記7)前記パターンマッチング処理は、電源のオン時に、電源のオフ時に採取した最終のコマンドログから遡った複数のコマンドログを対象としてコマンド種類の一致を判定することを特徴とする付記5に記載の磁気ディスク装置。
(付記8)前記ホストから定期的に採取するコマンドログの種類は、電源オフシーケンスに関するコマンドであるStandbyコマンド、Sleepコマンド、Flush Cacheコマンドの何れかであることを特徴とする付記5、6または7に記載の磁気ディスク装置。
本発明は、大容量の不揮発性メモリを備えたハイブリッド型の磁気ディスク装置に有用であり、特に、磁気ディスク装置に搭載した不揮発性メモリを有効に使用することができる磁気ディスク装置として効果的である。
実施例に係る磁気ディスク装置の特徴及び概要を説明する説明図である。 図1の磁気ディスク装置の構成を示すブロック図である。 リードコマンド制御処理を説明するフローチャートである。 ライトコマンド制御処理を説明するフローチャートである。 電源OFFシーケンス制御処理を説明する説明図である。 電源OFFシーケンス制御処理を説明するフローチャートである。 電源OFFシーケンス時のホストからのコマンドデータの一例を示す図である。
符号の説明
1 ホスト
10 磁気ディスク装置
11 ホスト転送処理部
12 コマンド処理部
13 データバッファ
20 ディスク制御部
21 リードコマンド処理部
22 ライトコマンド処理部
23 電源OFFデータ処理部
30 不揮発性メモリ(NAND)
31 ハイブリッドハードディスク用データ領域
32 独自領域
33 リードデータ領域
34 ライトデータ領域
40 ディスク媒体
41 ヘッド

Claims (7)

  1. ホストから送信されるリードデータおよびライトデータを保存する不揮発性メモリを備えた磁気ディスク装置であって、
    前記不揮発性メモリは、
    前記ホストが指定するホスト指定データを保存するホスト指定データ領域と、
    前記ホスト指定データ以外のデータを独自に保存する独自データ領域と、
    を備えることを特徴とする磁気ディスク装置。
  2. 前記独自データ領域は、前記ホストから送信される読み出し要求用のコマンドによるリードデータを保存するリードデータ領域及び書き込み要求用のコマンドによるライトデータを保存するライトデータ領域とを備えることを特徴とする請求項1に記載の磁気ディスク装置。
  3. ホストから送信されるリードデータおよびライトデータを保存する不揮発性メモリとファームウェア回路部とを備えた磁気ディスク装置であって、
    前記不揮発性メモリは、
    前記ホストが指定するホスト指定データを保存するホスト指定データ領域と、
    前記ホスト指定データ以外のデータを独自に保存する独自データ領域とを備え、
    前記ファームウェア回路部は、前記ホストが電源をオフすることを予測するとともに、電源をオフする前のリードデータを前記不揮発性メモリに保存する処理を行なうことを特徴とする磁気ディスク装置。
  4. 前記独自データ領域は、前記ホストから送信される読み出し要求用のコマンドによるリードデータを保存するリードデータ領域及び書き込み要求用のコマンドによるライトデータを保存するライトデータ領域とを備えることを特徴とする請求項3に記載の磁気ディスク装置。
  5. 前記ファームウェア回路部は、
    前記ホストが発行するコマンドを定期的に採取するとともに、当該採取したコマンドを前記リードデータ領域に保存し、コマンドログを複数個用いてパターンマッチング処理によって集計および比較することで、電源をオフする前の電源オフシーケンスを認識することを特徴とする請求項3または4に記載の磁気ディスク装置。
  6. 前記パターンマッチング処理は、電源のオン時に、電源のオフ時に採取した最終のコマンドログから遡った複数のコマンドログを用いることを特徴とする請求項5に記載の磁気ディスク装置。
  7. 前記ホストから定期的に採取するコマンドログの種類は、電源オフシーケンスに関するコマンドであるStandbyコマンド、Sleepコマンド、Flush Cacheコマンドの何れかであることを特徴とする請求項5または6に記載の磁気ディスク装置。
JP2008024440A 2008-02-04 2008-02-04 磁気ディスク装置 Pending JP2009187604A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008024440A JP2009187604A (ja) 2008-02-04 2008-02-04 磁気ディスク装置
US12/267,322 US20090195928A1 (en) 2008-02-04 2008-11-07 Magnetic disk apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008024440A JP2009187604A (ja) 2008-02-04 2008-02-04 磁気ディスク装置

Publications (1)

Publication Number Publication Date
JP2009187604A true JP2009187604A (ja) 2009-08-20

Family

ID=40931431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008024440A Pending JP2009187604A (ja) 2008-02-04 2008-02-04 磁気ディスク装置

Country Status (2)

Country Link
US (1) US20090195928A1 (ja)
JP (1) JP2009187604A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8230186B2 (en) 2008-03-27 2012-07-24 Kabushiki Kaisha Toshiba Hybrid recording device
JP2014056543A (ja) * 2012-09-14 2014-03-27 Lenovo Singapore Pte Ltd ハイブリッド・ディスク・ドライブにデータを記憶する方法および携帯式コンピュータ
WO2014129112A1 (ja) * 2013-02-20 2014-08-28 株式会社デンソー 車両用データ処理装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8671258B2 (en) * 2009-03-27 2014-03-11 Lsi Corporation Storage system logical block address de-allocation management
CN102449610B (zh) * 2009-03-27 2014-07-16 Lsi公司 用于提供存储系统逻辑块地址的释放管理的方法及设备
JP5862628B2 (ja) * 2013-09-18 2016-02-16 コニカミノルタ株式会社 情報処理装置及び情報処理装置の電源オフ制御方法
US9684467B2 (en) * 2015-05-18 2017-06-20 Nimble Storage, Inc. Management of pinned storage in flash based on flash-to-disk capacity ratio
US20170068480A1 (en) * 2015-09-09 2017-03-09 Mediatek Inc. Power Saving Methodology for Storage Device Equipped with Task Queues

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154101A (ja) * 1996-11-26 1998-06-09 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
US7017037B2 (en) * 2002-06-27 2006-03-21 Microsoft Corporation Apparatus and method to decrease boot time and hibernate awaken time of a computer system utilizing disk spin-up-time
US20050125651A1 (en) * 2003-12-04 2005-06-09 Ehrlich Richard M. Method for providing critical data in an HDD after critical event
JP4736593B2 (ja) * 2005-07-25 2011-07-27 ソニー株式会社 データ記憶装置、データ記録方法、記録及び/又は再生システム、並びに、電子機器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8230186B2 (en) 2008-03-27 2012-07-24 Kabushiki Kaisha Toshiba Hybrid recording device
JP2014056543A (ja) * 2012-09-14 2014-03-27 Lenovo Singapore Pte Ltd ハイブリッド・ディスク・ドライブにデータを記憶する方法および携帯式コンピュータ
WO2014129112A1 (ja) * 2013-02-20 2014-08-28 株式会社デンソー 車両用データ処理装置
US9691197B2 (en) 2013-02-20 2017-06-27 Denso Corporation Data processing apparatus for vehicle

Also Published As

Publication number Publication date
US20090195928A1 (en) 2009-08-06

Similar Documents

Publication Publication Date Title
JP2009187604A (ja) 磁気ディスク装置
JP5489434B2 (ja) フラッシュメモリ搭載ストレージ装置
JP4182993B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4688584B2 (ja) ストレージ装置
JP5336060B2 (ja) 不揮発性メモリ装置およびそれを動作させる方法
JP4245585B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP5377175B2 (ja) コントローラ、及びデータ記憶装置
CN101901189B (zh) 更新用户数据的方法以及恢复用户数据的方法
JP2013061799A (ja) 記憶装置、記憶装置の制御方法およびコントローラ
WO2009118917A1 (ja) フラッシュメモリを用いた記憶装置
US20070150645A1 (en) Method, system and apparatus for power loss recovery to enable fast erase time
JP2011095916A (ja) 電子機器
JP2013174975A (ja) メモリシステムとそのデータ書き込み方法
JP2010086009A (ja) 記憶装置およびメモリ制御方法
JP2009116465A (ja) 記憶装置及びメモリ制御方法
JP6271939B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
JP6004923B2 (ja) 情報処理装置及びその制御方法とプログラム
JP4794530B2 (ja) 半導体装置および携帯電話
JP2013200692A (ja) メモリシステム
JP2008059007A (ja) 半導体記憶装置
JP2008084288A (ja) メモリ制御装置
JP6040895B2 (ja) マイクロコンピュータ及び不揮発性メモリのブロック管理方法
US20100125704A1 (en) Storage control apparatus and storage system
JP4410271B2 (ja) メモリ制御装置
JP5253471B2 (ja) メモリコントローラ

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20091022