JP2008250718A - 不揮発性キャッシュメモリを用いた記憶装置とその制御方法 - Google Patents

不揮発性キャッシュメモリを用いた記憶装置とその制御方法 Download PDF

Info

Publication number
JP2008250718A
JP2008250718A JP2007091656A JP2007091656A JP2008250718A JP 2008250718 A JP2008250718 A JP 2008250718A JP 2007091656 A JP2007091656 A JP 2007091656A JP 2007091656 A JP2007091656 A JP 2007091656A JP 2008250718 A JP2008250718 A JP 2008250718A
Authority
JP
Japan
Prior art keywords
cache memory
hard disk
request
access
determination result
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
JP2007091656A
Other languages
English (en)
Inventor
Yoriharu Takai
頼治 鷹居
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
Original Assignee
Toshiba 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 filed Critical Toshiba Corp
Priority to JP2007091656A priority Critical patent/JP2008250718A/ja
Priority to CNA2007101865437A priority patent/CN101276257A/zh
Priority to US11/953,463 priority patent/US20080244173A1/en
Publication of JP2008250718A publication Critical patent/JP2008250718A/ja
Pending legal-status Critical Current

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • 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/222Non-volatile memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks

Abstract

【課題】不揮発性キャッシュメモリとハードディスクの特徴を巧みに利用し、ハードディスクドライブ側の短所を補い装置の信頼性を向上する。
【解決手段】ホストインターフェースと、コマンドの内容を解析するコマンド解析部と、ハードディスクへのアクセスを許可または強制的に禁止する要求情報を保存するための要求及び判定結果メモリと、前記コマンド解析部で解析されたコマンドに応答するのに先行して、前記要求及び判定結果メモリの要求情報を判定する装置状態判定部と、前記装置状態判定部の判定結果が”禁止”を示すときは、前記ハードディスクへのアクセスを禁止し、前記スイッチング情報判定部の判定結果が”許可”を示すときは、前記コマンド解析部の解析結果及び独自判定結果に基づいてアクセスを許可するメディアアクセス判定部を有する。
【選択図】図4

Description

この発明は、不揮発性キャッシュメモリを用いた記憶装置とその制御方法に関するものであり、メディアアクセス先、或いはアクセス禁止メディアを強制的に記憶装置側で設定できるようにしている。
近年、半導体記憶媒体であるキャッシュメモリと、磁気記憶媒体であるハードディスク(HD)の両方を搭載できる記憶装置が開発されている(特許文献1参照)。
この装置は、高速アクセス可能なキャッシュメモリを有効に活用している。上位装置(ホスト)は、一時的にキャッシュメモリに対してデータを書き込む。その後、記憶装置内部では、キャッシュメモリから低速のハードディスクに対してデータを転送する、いわゆるライトバックが行なわれる。
上記の特許文献1では、記憶装置内部のライトバック動作と、ホストがこの記憶装置をアクセスするタイミングとが重ならないように、ホストは、予め記憶装置に対してアクセスを行なう旨の通知を行なう。つまり、ホストは、記憶装置に対して、ライトバック動作を禁止する通知を行なっている。また、ホストは、記憶装置を次にアクセスするまでに、十分な時間間隔がある場合には、ライトバック動作を許可する通知を行なっている。
特開平8−123725号公報
複数の特性が異なる記憶媒体、即ちキャッシュメモリとハードディスクを用いる記憶装置は、それぞれの記憶媒体の特徴を有効に活用している。各記憶媒体の特徴としては、書き込み・読出し応答速度、電源入力時の立ち上り速度などがある。しかし、従来の装置は、使用環境、使用状態、使用要望に対して、各記憶媒体の特徴を使い分ける機能が不十分な場合がある。
この発明に係る一実施の形態の目的は、記憶媒体としての不揮発性キャッシュメモリと、ハードディスクの特徴を巧みに利用することを前提としている。そして、ハードディスクドライブ側の短所を補い、装置の信頼性を向上する。
上記の目的を達成するために、この発明に係る1つの実施の形態では、ホストインターフェースと、前記ホストインターフェースから入力されたコマンドの内容を解析するコマンド解析部と、ハードディスクに接続されるハードディスクインターフェースと、前記ハードディスクへのアクセスを許可または強制的に禁止する要求情報を保存するための要求及び判定結果メモリと、前記コマンド解析部で解析されたコマンドに応答するのに先行して、前記要求及び判定結果メモリの要求情報を判定する装置状態判定部と、前記装置状態判定部の判定結果が”禁止”を示すときは、前記ハードディスクへのアクセスを禁止し、前記スイッチング情報判定部の判定結果が”許可”を示すときは、前記コマンド解析部の解析結果及び独自判定結果に基づいてアクセスを許可するメディアアクセス判定部を有する。
上記の手段によると、ハードディスクへのアクセスを確実に禁止する状態を設定することができる。このために、ハードディスクへのアクセス時間の削減ができる。そして衝撃に強く、電力の消費時間をできるだけ低減する動作モードを利用者の意思を通じて設定することが可能となる。
<本発明の適用例>
図1には本発明の記憶装置が適用された装置の使用例を示している。1000は、パーソナルコンピュータである。このパーソナルコンピュータ1000には、USB接続ケーブル1100を介して、例えば、携帯端末1200を接続することができる。携帯端末1200は、例えば音楽プレーヤ及び又はゲーム機として動作することが可能である。この携帯端末1200には、液晶表示部1210、操作ボタン1211、1212、スイッチ1213など・・・が設けられており、携帯端末1200を操作することができる。操作ボタン及びスイッチなどを総称して操作部121Aとする。
<全体の構成及び機能>
図2において、実施形態の全体ブロックの例を説明する。100は、ホスト装置であり、先のパーソナルコンピュータに於けるコントロール部である。200は、不揮発性キャッシュメモリを用いた記憶装置である。この記憶装置200は、バッファとして機能するSDRAM201、後述するコントローラなどが搭載された例えば1チップのLSI(大規模集積化回路)202、フラッシュメモリ203、ハードディスク(HD)204を有する。これらのエレメントが、図1に示した携帯端末1200に内蔵されている。
LSI202は、コントローラ311、ホストインターフェース312、SDRAMインターフェース313、ディスクインターフェース314、フラッシュメモリインターフェース(キャッシュメモリインターフェースと称してもよい)315を有する。なお、このLSI202に、上記のSDRAM201が内蔵されていてもよい。
さらに321は、携帯端末の操作部121Aに対する操作部インターフェースである。利用者は操作部121Aを操作してこの携帯端末を操作することができる。
ホスト装置100は、ホストインターフェース312を介して、コントローラ311にコマンドを与えることができる。またホスト装置100は、ホストインターフェース312を介して、コントローラ311からのデータを受け取ることもできるし、コントローラ311側へデータを転送することもできる。
コントローラ311からのコマンドは、データの書き込み命令、データの読出し命令、データのサイズ指定、データの転送、メモリ情報の読み取り命令などがある。また、コントローラ311は、ホスト装置100からのコマンドを解釈し、データの書き込み処理、読出し処理、転送処理などを実行する。
コントローラ311は、SDRAMインターフェース313を介して、SDRAM201との間でデータのやり取りを行うことができる。またコントローラ311は、ディスクインターフェース314を介して、HD204との間でデータのやり取りを行うことができる。さらにコントローラ311は、フラッシュメモリインターフェース315を介して、フラッシュメモリ(キャッシュメモリと称してもよい)203との間でデータのやり取りを行うことができる。上記したフラッシュメモリ203に格納されるデータは、エラー訂正コードが付加されて格納される。またハードディスクに記録されるデータもエラー訂正コードが付加されて格納される。フラッシュメモリへの記録データ、ハードディスクへの記録データに対しては、再生時のエラー訂正が可能なようにECC処理が施される。
上記の装置では、フラッシュメモリインターフェース315、フラッシュメモリ203の部分は、キャッシュとして使用される。フラッシュメモリ203は、不揮発性キャッシュメモリと称してもよい。
データの書き込み順序、データの読出し順序は、コントローラ311に格納されているソフトウエアに応じて決まる。例えば、ホスト装置100からHD204へ書き込みデータが送られるときは、
例えば、ホストインターフェース202→コントローラ311→SDRAMインターフェース313→SDRAM201→SDRAMインターフェース313→コントローラ311→ディスクインターフェース314→ハードディスク204の系路ある。または、ホストインターフェース202→コントローラ311→フラッシュメモリインターフェース315→フラッシュメモリ203→フラッシュメモリインターフェース315→コントローラ311→ディスクインターフェース314→ハードディスク204の系路でもよい。
さらに、ホストインターフェース202→コントローラ311→フラッシュメモリインターフェース315→フラッシュメモリ203→フラッシュメモリインターフェース315→コントローラ311→SDRAMインターフェース313→SDRAM201→SDRAMインターフェース313→コントローラ311→ディスクインターフェース314→ハードディスク204の系路でもよい。
次に、例えば、HD204からホスト装置100側へデータが読み出されるときは、HD204→ディスクインターフェース314→コントローラ311→SDRAMインターフェース313→SDRAM201→SDRAMインターフェース313→コントローラ311→ホストインターフェース312→ホスト装置がある。又は、HD204→ディスクインターフェース314→コントローラ311→フラッシュメモリインターフェース315→フラッシュメモリ203→フラッシュメモリインターフェース315→コントローラ311→ホストインターフェース312→ホスト装置でもよい。さらには、HD204→ディスクインターフェース314→コントローラ311→フラッシュメモリインターフェース315→フラッシュメモリ203→フラッシュメモリインターフェース315→コントローラ311→SDRAMインターフェース313→SDRAM201→SDRAMインターフェース313→コントローラ311→ホストインターフェース312→ホスト装置でも良い。
<フラッシュメモリに関する説明>
図3は、フラッシュメモリ203を取り扱う上で特有の制御が行われることを説明する図である。フラッシュメモリ203は、不揮発性メモリでありながら、データの電気的消去が可能である。したがって、データの書き換えが可能な不揮発性メモリである。
このフラッシュメモリ203は、例えば、消去単位は、128Kバイトで規定されている。一方、読み取り単位及び書き込み単位は、例えば2Kバイトに規定されている。またこのフラッシュメモリ203は、消去回数が多くなると素子が劣化し、エラー発生が多くなる。そこで、素子の性能を補償する情報として、書き換え回数を10万回程度に規定している。なお上記の消去単位のバイト数及び書き込み単位の数値はこれに限定されるものではない。消去単位23Kバイト、読み書き単位512単位であってもよい。
<上記の装置の前提となる基本機能及び動作>
* フラッシュメモリとコントローラとホスト装置からのコマンドとの基本的な関係
図3に示すように、フラッシュメモリ203にデータが書き込まれた場合、その書き込み領域を、Pinned(ピンド)領域203Aと、UnPinned(アンピンド)領域203Bという名称で分類することができる。Pinned領域203Aは、ホスト装置100が送ってきたデータ書き込み先のコマンドが、あえてフラッシュメモリ203を指定した場合に形成された領域である。コマンドは、フラッシュメモリ203とその論理ブロックアドレス(LBA)を含む。UnPinned(アンピンド)領域203Bは、(a)ホスト装置100によるデータ書き込み先がコマンドにより指定されていない場合で、かつ、(b)コントローラ311がベイシック状態にあるとき、コントローラ311が独自にデータ転送先及び格納先を判断してデータ格納する領域である。
なおフラッシュメモリ203に書き込むデータとしては、ホスト装置100から送られてくるデータ、あるいは、ハードディスク204から読み出したデータがある。
コントローラ311がデータ書き込み先を決めるための判断要件は、各種ある。コントローラ311内部の状態判定部が周囲の要件を総合的に判断し、書き込み先を決定している。
*ホスト装置100からのデータを保存する場合、フラッシュメモリ315又はSDRAM201に保存するケース
装置の電源が投入された直後であり、HD204が所定回転数に達していない場合、あるいは、HD204が停止状態にある場合である。このときは、フラッシュメモリ315又はSDRAM201に書き込む方が便利である。また、早くデータ転送を行ないたい場合には、ホスト装置100から一旦フラッシュメモリ315に書き込みを行い、その後、時間的に余裕があるときにHD204に書き写す(ライトバックと称する)と便利である。
*ホスト装置100がHD204のデータを繰り返し使いたいようなケース
この場合は、HD204のデータを読出し、フラッシュメモリ315に保存しておくと便利である。フラッシュメモリ315に利用データを保存しておくほうが、高速でアクセスできるからである。
*フラッシュメモリインターフェース315及びコントローラ311の機能と構成
図4には、コントローラ311、フラッシュメモリインターフェース315の構成を機能別に分類して示している。フラッシュメモリインターフェース315には、カウンタが設けられている。カウンタは、フラッシュメモリ203へのデータ書き込み、読出し回数、エラー回数などを計数するために用いられる。
カウンタとしては、累積ライト回数カウンタ315a,累積消去回数カウンタ315b、累積ライトエラー回数カウンタ315c、リードエラー数カウンタ315dが用意されている。リードエラー数カウンタ315dの代わりに、ECC回路により検出されるエラー数カウンタ、あるいはエラー訂正数カウンタ315eが設けられてもよい。また、リードライト単位をカウントするカウンタが設けられていてもよい。これらのカウンタの内容は、エラーが多くなったときの警告、状態判定部の判定要素として利用される。
コントローラ311は、コマンド解析部411を有し、ホスト装置100から送られてきたコマンドをここでデコードし解析する。コマンドの解析結果により、アーキテクチャメモリ414内のソフトウエアが特定され、シーケンスコントローラ412に動作手順が設定される。また、これらのコマンド解析及び制御は、インターフェース312において行われてもよい。
シーケンスコントローラ412は、インターフェース及びバスコントローラ413などを介して、データの流れ及びコントロールデータの流れを制御する。例えば、データ書き込みあるいは読出しが行われるときは、メディアアクセス判定部415がフラッシュメモリ203あるいはハードディスク(HD)を特定し、アドレス制御部416が書き込みアドレスあるいは読出しアドレスを特定する。そして書き込み処理部417が書き込みデータの転送処理などを行う(データ書き込み時)。また読出し処理部417が読出しデータの転送処理などを行う(データ読出し時)。
消去処理部419が設けられている。消去処理部419は、フラッシュメモリ203のデータの消去処理を行う。またこの消去処理部419は、ハードディスクのデータの消去処理も行うことができる。
アドレス管理部420が設けられている。アドレス管理部420は、ハードディスクのアドレス及びフラッシュメモリ203の記録済み領域、未記録領域などのアドレスを一括して管理している。
フラッシュメモリ203は、キャッシュメモリとして利用されるので、ホスト装置側がアドレスを指定する場合は、ホスト装置はキャッシュメモリのアドレスを意識する必要はなく、ハードディスク側のアドレスを設定すればよい。
データの格納先として特別にキャッシュメモリ203が指定される場合には、ホスト装置は、Pinnedのコマンドを発行すればよい。Pinnedのコマンドがない場合には、データ格納先は、通常は、コントローラ311に構築されているファームウエアの判定結果に依存する。
またフラッシュメモリ203のPinned領域、Unpinned領域などのアドレス管理及び制御は、インターフェース315において行われてもよい。
さらに装置状態判定部421が設けられている。この装置状態判定部421は、例えばハードディスク204の状態を監視している。
なおフラッシュメモリ203の記憶容量がある閾値より大きくなった場合には、コントローラ311が状態を判定し、ハードディスクに転送して書き移す処理を行う。このときの動作は、主として読出し処理部418、書き込み処理部416、アドレス管理部420が組み合わせて制御される。
さらに、コントローラ311には、要求及び判定結果メモリ423が設けられている。この要求及び判定結果メモリ423は、後述するようにこの装置の特徴部となる。この要求及び判定結果メモリ423は、フラッシュメモリインターフェース315内、ホストインターフェース312内、フラッシュメモリインターフェース315内、フラッシュメモリ203内、また操作部インターフェース321内のいずれに確保されていてもよい。
<実施例における特有の構成と機能と動作>
<前提>上記の記憶装置では、ホスト装置100からの書き込みデータは、コントローラ311の判定により、HD204又はフラッシュメモリ203のいずれかに書き込まれる。例えばデータを書き込むための論理ブロックアドレス(LAB)が指定されていない場合、いずれの媒体に書き込むかは、コントローラ311の判断(ソフトウエア)に委ねられている。また、コントローラ311の管理において、フラッシュメモリ203をデータキャッシュとして利用するか否かもコントローラ311の判断(ソフトウエア)に委ねられている。
あえてフラッシュメモリ203にデータを書き込むためには、特別にLBAが指定されてくる。このアドレスは、先に説明したPinnd領域を指定するもので、Pinnd LBAと称される。またホスト装置が指定しなかったアドレス郡は、Unpinned LBAと呼ばれる。
つまり上記の装置は、基本動作モードでは、「Non Volatile Cache Command Proposal for ATA8 -ACS規格」に準拠している。
しかし、各種の条件、環境によっては、データの保存の信頼性、また保存後の読み出しの信頼性から考えると、HD204にはデータ書き込みを行なわない方が好ましい場合がある。
一般的にフラッシュメモリ203は、駆動系要素がないため、アクセス中の衝撃に強く消費電流が少ない。また一般的にHDドライブは、回転させたHD上のデータをヘッドがアームを介してアクセスするため、アクセス中の衝撃に弱く、消費電流が多い。ここで通常動作モードでは、フラッシュメモリをキャッシュメモリとして使用するものの、キャッシュミスをした場合や、何らかの事情でフラッシュメモリ203にライトできなかった場合は、HDにアクセスしなければならない。このため、常にHDにアクセスする可能性があり、衝撃に弱い、消費電力が多くなるという時間が必ず存在する。
ここで、キャッシュメモリ及びHDを有する記憶装置に対して、HDへのアクセス制限を行うことができれば、これらの時間に対する考慮をする必要がなくなる。このアクセス制限の方法として、本発明の一実施の形態では、スイッチ(メディアディセーブルスイッチ)1213を設けている。
スイッチ1213に対するデバイスの制御は以下の通りである。ホスト装置100から、データアクセスコマンドが発行された場合、フラッシュメモリ203をアクセスするか、HD204をアクセスするかを決定する。コマンド解析部411がコマンドを解析し、この解析結果に応答してメディアアクセス判定部415がアクセスメディアを決定する。
フラッシュメモリ203をアクセスすると決定した場合は、通常通りのアクセスが実行される。HD204をアクセスすると決定した場合は、スイッチ1213の状態が確認される。装置状態判定部421が要求及び判定結果メモリ422のテーブルを確認し、スイッチ1213の状態を確認する。
スイッチ1213の状態オフ(HDアクセス可を意味する)であれば、通常通りアクセス動作に移行するが、スイッチ1213がオン(HDアクセス不可を意味する)であれば、HD204へのアクセスを行わない。
後者の場合は、以下のような処理が実行される。
例1:記憶装置200は、ホスト装置100に対してはアクセスエラー通知(リードエラー/ライトエラー)を行う。ホスト装置100は、上記のアクセスエラー通知が送られてきた場合、アクセス先としてフラッシュメモリ203を指定して再度データ書き込みのためのアクセスコマンドを送信する。
例2:記憶装置200は、ホスト装置100に対しては何らアクセスエラー通知(リードエラー/ライトエラー)を行わない場合がある。この場合は、スイッチ1231がオフであることを確認し、独自にフラッシュメモリ203にデータを書き込んだ場合である。
図5には、装置がデータ書き込み処理を行うときの動作例を示すフローチャートであり、コントローラ311により実行される。コマンド解析部411がホスト装置100から送られてきたコマンドを解析し、データ書き込みコマンドがあるかを判定する(ステップSA1)。データ書き込みコマンドがない場合には、他の処理(ステップSA2)を実行してステップSA1に戻る。
データ書き込みコマンドがあった場合、要求及び判定結果メモリ422に保存されている情報が、装置状態判定部421により確認される。この情報は、スイッチ1213がオンされた状態であるのか、オフされた状態であるのかを示している。
スイッチ1213がオンされている状態であれば、この状態はHD204へのアクセス禁止を意味する。このときは、装置状態判定部421の判定結果に基づいて、メディアアクセス判定部415が、フラッシュメモリ311を特定する。そしてコントローラ311は、フラッシュメモリ203へのアクセスを実行する。つまり、ステップSA12に移行して、フラッシュメモリ203へのデータ書き込みを実行する。ステップSA3において、スイッチ1213がオフであることが判明した場合には、ステップSA4に移行し、Pinnedが指定されているかどうかを判定する。
ステップSA4にて、メディアアクセス判定部415により、Pinnedが指定されていることが判定されたときは、ステップSA12に移行して、フラッシュメモリ203へのデータ書き込みを実行する。ステップSA4にて、Pinnedが指定されていないときは、ステップSA5に移行して、HD204が指定されているかどうかを判定する。HD204が指定されているときは、ステップSA6に移行する。ここでは装置状態判定部421が、HDD(ハードディスクドライブ)モータの回転が十分であるかどうかを判定する。HDDモータの回転が十分であれば、HD204に対するデータ書き込みを実行する。
ステップSA6にて、HDDモータの回転が不十分であるとき、つまり起動した後、十分な回転数に達していないことが判明した場合、後でライトバックを行うことを条件付けして(ステップSA8)、ステップSA12に移行し、フラッシュメモリ203へのデータ書き込みを実行する。
ステップSA5においてHDが指定されていないことがわかると、メディアを選択するために、装置自身の独自の判定処理が実行される。この動作は主としてメディアアクセス判定部415が中心となって動作する。この判定処理(ステップSA10)で、HDへの書き込みが好ましいと判定された場合には、先のステップSA6に移行する。キャッシュメモリへの書き込みが好ましいと判定された場合(ステップSA11)は、ステップSA12に移行して、フラッシュメモリへのデータ書き込みが実行される。ステップSA11でキャッシュメモリへのデータ書き込みが好ましくないとの判定結果が得られた場合は、エラー表示(警告)がなされる。ステップSA4,SA5,SA10,SA11は、オリジナル動作モード(或いは基本動作モード)である。
ここでステップSA10の判定条件としては、フラッシュメモリ203のエラー回数或いはエラーバイト数が多くなった場合、HDの選択が行なわれる。また保存データのデータ量が所定量以上あるような場合、或いは保存データが長期保存を必要とするようなデータの場合は、HDの選択が行なわれる。データ量は、データ属性を示す属性データにより判断できるし、また保存データを指定する指定期間(データ長)情報によっても判定できる。さらには、保存データが長期保存を必要とするかどうかは、当該データのタイプにより選別される。例えば、一時的に使用するアプリケーションデータであれば、長期保存は不要であるが、音楽、画像などのコンテンツであれば、長期保存を必要とする。
上記のようにメディアアクセス判定部415によるアクセスメディアの決定が行なわれる。データ書き込みは、書き込み処理部417が中心となって実行する。このときアドレス管理部420のアドレステーブルが参照され、アドレス制御部416がアクセスするアドレスを指定する。
上記したフラッシュメモリ203及びHD204に格納されているデータは、ファイル単位及びファイル内のタイトル単位で階層的に管理される。このために、例えばアドレス管理部420にはファイルのルートディレクトリーが構築されている。またデータの読出しが行なわれる場合には、操作部121Aからの操作に応じて、ファイル単位あるいはタイトル単位での読出し指定が行なわれる。この指定に応じて、コントローラ311の読出し処理部418は、アドレス管理部420及びアドレス制御部416と相俟って、フラッシュメモリ203及び又はHD204からのデータ読出しを実行する。
上記したようにこの発明の装置は、コマンド解析部411、メディアアクセス判定部415、装置状態判定部421、要求及び判定結果メモリ422が中心的な役割を演ずる。これらの動作が相俟って、データ書き込み処理に関しては、(1)コマンド応答処理部44A、(2)独自判定処理部44B、(3)特別処理部44Cに分類することができる。
コマンド応答処理には、図5のステップSA4(Pinned応答),ステップSA5、SA7(HD指定応答)が対応する。独自判定処理には、図5のステップSA10,SA11が対応する。また、特別処理は、図5のステップSA3,SA12が対応する。図5では、機能が分かりやすいように(1)コマンド応答処理部44A、(2)独自判定処理部44B、(3)特別処理部44Cを図示したが、実際には、コマンド解析部411、メディアアクセス判定部415、装置状態判定部421、要求及び判定結果メモリ422などの各ブロックが協働して実現される。
図6にはこの発明の他の実施の形態を示している。図4に示した実施の形態では、HD204へのデータ書き込みを禁止するのに、マニュアル操作を行うスイッチ1213を利用した。しかし、これに限らず、ホスト装置100からデータを転送するときに、書き込み制限を与えてもよい。このときは、ホスト装置100から、装置200側へコマンドのパラメータ(HD書き込み禁止又は許可を示す)として与える方法であってもよいし、直接的なHD書き込み禁止・許可コマンドとして与える方法であってもよい。
図6は、ホスト装置100から、装置200側へHD書き込み禁止又は許可を示すパラメータを与える場合、あるいは直接的なHD書き込み禁止・許可コマンドを与える場合の実施例を示している。
コマンド解析部411は、ホスト装置100から送られてきた書き込みコマンドにおいて、特定の領域のパラメータを抽出し、このパラメータを要求及び判定結果メモリ422に格納する。パラメータとしては、先の実施の形態で説明したように、スイッチ1213の状態を示すデータと同じである。例えばスイッチ1231がオフであることを意味する場合は、パラメータ”0000”、スイッチ1231がオンであることを意味する場合は、パラメータ”1010”と決められている。HD書き込み禁止・許可コマンドも同様であり、例えばスイッチ1231がオフであることを意味する場合はコマンド”0000”、スイッチ1231がオンであることを意味する場合はコマンド”1010”と決められている。
装置200は、メディアを選択して、データ書き込みを実行する前に、上記の要求及び判定結果メモリ422の内容を確認し、図5で説明したフローチャートに従って動作する。
この発明は、上記した実施の形態に限定されるものではなく、図4に示した装置と、図6に示した装置の両方の機能が備わっていてもよいことは勿論である。つまり、要求及び判定結果メモリ422に対して、ハードウエアによるスイッチ1231により情報をインプットしてもよいし、ホスト装置100から情報をインプットしてもよい。
図7は、さらにこの発明の他の実施例である。この発明は上記の実施の形態に限定されるものではない。環境センサーとして、気圧センサー511あるいは振動センサー512あるいは温度センサー513、あるいはこれらの組み合わせを搭載してもよい。気圧センサー511、振動センサー512及び温度センサー513の感応出力は信号変換器514にて増幅され、所定の形式のデータに変換される。このデータは、インターフェース321を介してコントローラ311に入力される。コントローラ311は、センサーの応答する様子を判定する。コントローラ311は、設定されている条件が満足されたとき、要求及び判定結果メモリ422に対してHD書き込み禁止または許可情報を設定する。
図8は、図7に示した実施例の動作例を示すフローチャートである。センサー出力情報は、コントローラ311のセンサー状態判別部423において、例えば周期的にチェックされる(ステップSB1)。センサーから環境異常有りの情報、又は環境異常なしの情報があるかどうかの判定がなされる(ステップSB2)。異常がなければ環境異常が環境正常に回復した直後かどうかの判定がなされる(ステップSB3)。環境正常に復帰した直後でない場合は、ステップSB0を経由してステップSB1に戻る。ステップSB0は、装置200がアンテナからの信号取得を行っている動作モードを意味する。
ステップSB2において、センサーから、環境異常有りの情報があった場合、ステップSB4に移行して、強制的にフラッシュメモリ203へのデータ書き込みモードとなる。データ処理が終了したかどうかの判定が行われ(ステップSB7)、データ処理が終了していれば、終了となる。データ処理が終了していない場合には、ステップSB0を経由してステップSB1に戻る。
ステップSB2でセンサーからの環境異常無しが判定され、ステップSB3で環境異常が環境正常に回復した直後であることが判明したときは、ステップSB5に移行する。ステップSB5では、バッファリングにより入力データの区切りのよいところまで待ち、その後入力データの記録を開始する。このときの記録メディアは、オリジナル動作モードにおける選択動作と同じである(ステップSB6)。オリジナル動作モードとは、装置自身が独自に記録メディアを選択するものであり、図5のステップSA4,SA5,SA10,SA11,SA6,SA7,SA8のルーチンである。
即ち、Pinnedが指定されていれば、フラッシュメモリ203へのデータ書き込みが行なわれる。Pinned指定が無ければ、例えば、図5で説明したフローチャートに沿って、HD204またはフラッシュメモリ203へのデータ書き込みが行なわれる。
上記のようにセンサーの出力情報を利用する動作は、例えば図1に示す携帯端末1200が無線を介してデータを取り込む状況のときに有効である。携帯端末1200は、アンテナを有し、電波を媒体として、音楽情報、映像情報などをダウンロードできることが可能である。このような携帯端末1200の場合、利用者は持ち歩きながら携帯端末1200を使用することが多い。このような使用状況の下で、落下したり、異常に湿度、湿気の多い箇所で使用したりすると、HD204のデータ記録は不安定となる。したがって、このような使用環境のときは、センサーの出力状態を監視し、HD204のアクセスを禁止できるようにした。これにより装置の信頼性が向上する。
センサーが環境異常常態を検出したときは、図8のステップSB5において、書き込みエラー処理を行い、再度最初から所定単位のデータの取り込みをやり直すようにしてもよい。
気圧センサー511の出力が利用されるときは、気圧が所定値A1から所定値B1の範囲内であれば、環境異常とは判定しないように設定される。そしてこの範囲を越えたときに異常判定が行なわれる。また振動センサー512の出力が利用されるときも、加速度が所定値A2から所定値B2の範囲内であれば、環境異常とは判定しないように設定される。そしてこの範囲を越えたときに異常判定が行なわれる。さらに温度センサー513の出力が利用されるときも温度が所定値A3から所定値B3の範囲内であれば、環境異常とは判定しないように設定される。そしてこの範囲を越えたときに異常判定が行なわれる。
この発明は上記の実施例に限定されるものではない。図7に示した実施の形態と図4の実施の形態の組み合わせ、図7に示した実施の形態と図6に示した実施の形態の組み合わせであってもよい。
そして、使用環境により、図7に示したセンサー利用した実施の形態と、図4又は図6に示した実施の形態との切換えが得られるようにしてもよい。本発明の装置は、特に、アンテナからの信号取得を行うときは有効である。
図7に示した実施の形態であると、頻繁に動作モードが切換わる可能性がある。そこで、メディアアクセス判定部415の動作フローを図9に示すように設定してもよい。
図9において、ステップSC1においてアンテナからの信号取得が開始されると、センサー出力情報受付が開始される(ステップSC2)。センサーから異常情報があると(ステップSC3)、要求及び判定結果メモリスイッチオン情報が記録される。以後は、図5に示しがフローチャートに移行する。図5のフローチャート全体を、図9ではステップSC5として示している。ステップSC3において、センサーからの異常情報が無い場合は、そのままステップSC5に移行する。
データ書き込み処理ステップSA12において、終了コマンドが無いときは、ステップSC6に移行する。ここではセンサーから正常情報が出力されているかどうかを判定する。正常情報が出力されてない場合は、ステップSC1、SC2,SC3,SC4の系路が処理され、図5に示したようにフラッシュメモリへのデータ書き込みが実行される。
ステップSC6において、センサーから正常情報が出力されているときは、ステップSC7に移行する。ステップSC7では、直前の異常情報出力した後から所定時間(例えば5分)経過しているかどうかを判定する。所定時間経過している場合には、ステップSC8に移行し、異常状態から正常状態になったものとして判定し、要求及び判定結果メモリ422のスイッチ情報をオフにする。これにより、装置は、基本動作モードに移行する。
図10は、図4、図6、図7の構成を合体した実施の形態であり、かつ、高周波受信部、ディスプレイを明記したものである。即ち、アンテナを含む高周波受信部521で受信された信号は、インターフェース322を介してコントローラ311へ取り込、記録媒体へ格納することができる。この格納ルールは先の実施形態で説明した通りである。また、記録媒体から読み出したデータは、コントローラ311、インターフェース323を介してディスプレイエンジン522にバッファリングされる。そしてディスプレイエンジン522から表示用のデータが、ディスプレイ523に入力される。この装置は、そのほかにも音楽再生ブロックが搭載されている。
上記の装置は、携帯用のオーディオプレーヤー、映像再生装置、ゲーム器などとして利用可能である。さらには、アプリケーションの増設により、パーソナル電子手帳、ノートブックなどとして利用可能である。
上記の説明では、ホスト装置100と、記憶装置200とが別体のごとく説明した。しかし、ホスト装置100と記憶装置200とが一体化されたパーソナル機器として構成されていてもよい。即ち図2の一点鎖線で囲む機器として構成されてもよい。このような場合、気圧センサー、振動センサー、温度センサーからの出力はホスト装置100で処理されて、コントローラ311に処理結果が通知されてもよい。また高周波受信部521及び操作部121Aの出力もホスト装置100で処理されるようにしてもよい。
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
この発明が適用された装置1200の使用例を示す説明図である。 この発明に係る一実施の形態の全体構成を示すブロック図である。 図2におけるフラッシュメモリの特徴を説明するために示した図である。 図2におけるフラッシュメモリインターフェースの機能及びコントローラ311の機能を説明するために示した図である。 図4の装置の一動作例を説明するために示したフローチャートである。 この発明の他の実施形態の全体構成を示すブロック図である。 この発明のさらに他の実施形態の全体構成を示すブロック図である。 図7の装置の動作例を説明するために示したフローチャートである。 この発明の更に他の実施の形態における動作を説明するためにしめしたフローチャートである。 この発明の更にまた他の実施形態の全体構成を示すブロック図である。
符号の説明
100…ホスト装置、200…記憶装置、201…SDRAM、202…LSI、203…フラッシュメモリ、204…ハードディスク、311…コントローラ、312…ホストインターフェース、313…SDRAMインターフェース、314…ディスクインターフェース、315…フラッシュメモリインターフェース。

Claims (12)

  1. ホスト装置に接続されるホストインターフェースと、
    ハードディスクに接続されるハードディスクインターフェースと、
    キャッシュメモリに接続されるキャッシュメモリインターフェースと、
    前記ホストインターフェースから入力されたコマンドの内容を解析するコマンド解析部と、
    前記ハードディスクへのアクセスの”禁止”または”許可”を示す要求情報を保存するための要求及び判定結果メモリと、
    前記コマンド解析部で解析されたコマンドに応答するのに先行して、前記要求及び判定結果メモリの要求情報を判定する装置状態判定部と、
    メディア判定部を有し、
    このメディア判定部は、前記装置状態判定部が前記”禁止”を判定したときは、前記ハードディスクへのアクセスを禁止して前記キャッシュメモリへのアクセスのみを設定する特殊処理部と、
    前記スイッチング情報判定部が前記”許可”を判定したときは、前記コマンド解析部の解析結果及び独自判定結果に基づいて前記ハードディスク又はキャッシュメモリへのアクセス先を決定するコマンド応答及び独自処理部と、
    を有することを特徴とする不揮発性キャッシュメモリを用いた記憶装置。
  2. 前記要求及び判定結果メモリの前記要求情報は、外部の操作スイッチより与えられることを特徴とする請求項1記載の不揮発性キャッシュメモリを用いた記憶装置。
  3. 前記要求及び判定結果メモリは、前記ホスト装置から前記要求情報が送られてきたときに取り込み保存することを特徴とする請求項1記載の不揮発性キャッシュメモリを用いた記憶装置。
  4. さらに、環境センサーと、
    前記環境センサーの出力情報が環境異常を示すか否かを判定するセンサー状態判定部を有し、
    前記要求及び判定結果メモリは、前記センサー状態判定部が、環境異常であること判定したときは前記ハードディスクアクセス”禁止”の要求情報を保存し、前記センサー状態判定部が、環境正常に復帰した後であることを判定したときはアクセス”許可”の要求情報を保存することを特徴とする請求項1記載の不揮発性キャッシュメモリを用いた記憶装置。
  5. さらに、高周波信号受信部と、環境センサーと、
    前記環境センサーの出力情報が環境異常を示すか否かを判定するセンサー状態判定部を有し、
    前記要求及び判定結果メモリは、前記高周波受信部からのデータが前記コントローラに取り込まれているときに、前記センサー状態判定部が環境異常であること判定したときは前記ハードディスクアクセス”禁止”の要求情報を保存し、前記センサー状態判定部が、環境正常に復帰した後であることを判定したときはアクセス”許可”の要求情報を保存することを特徴とする請求項1記載の不揮発性キャッシュメモリを用いた記憶装置。
  6. 前記要求及び判定結果メモリは、前記センサー状態判定部が、環境異常であること判定したときは前記ハードディスクアクセス”禁止”の要求情報を保存し、さらに、前記高周波受信部を介してリトライを行なうことを特徴とする請求項5記載の不揮発性キャッシュメモリを用いた記憶装置。
  7. ホスト装置に接続されるホストインターフェースと、ハードディスクに接続されるハードディスクインターフェースと、キャッシュメモリに接続されるキャッシュメモリインターフェースと、前記ホストインターフェースから入力されたコマンドの内容を解析するコマンド解析部と、要求及び判定結果メモリと、装置状態判定部と、メディア判定部を有し、
    前記要求及び判定結果メモリに、前記ハードディスクへのアクセスの”禁止”または”許可”を示す要求情報を保存し、
    前記メディア判定部が、前記装置状態判定部が前記”禁止”を判定したときは、前記ハードディスクへのアクセスを禁止して前記キャッシュメモリへのアクセスのみを設定し、
    前記メディア判定部が前記”許可”を判定したときは、前記コマンド解析部の解析結果及び独自判定結果に基づいて前記ハードディスク又はキャッシュメモリへのアクセス先を決定することを特徴とする不揮発性キャッシュメモリを用いた記憶装置の制御方法。
  8. 前記要求情報は、外部の操作スイッチより与えられることを特徴とする請求項7記載の不揮発性キャッシュメモリを用いた記憶装置の制御方法。
  9. 前記要求情報は、前記ホスト装置から与えられることを特徴とする請求項7記載の不揮発性キャッシュメモリを用いた記憶装置の制御方法。
  10. さらに、前記要求及び判定結果メモリは、環境異常か否かを示す環境センサーの出力情報を前記要求情報として格納するようにしたことを特徴とする請求項7記載の不揮発性キャッシュメモリを用いた記憶装置の制御方法。
  11. さらに、前記要求及び判定結果メモリは、高周波受信部からのデータが前記コントローラに取り込まれているときに、環境異常か否かを示す環境センサーの出力情報を前記要求情報として格納するようにしたことを特徴とする請求項7記載の不揮発性キャッシュメモリを用いた記憶装置の制御方法。
  12. 前記要求及び判定結果メモリは、前記環境異常であることが判定されときは前記ハードディスクアクセス”禁止”の要求情報を保存し、さらに、前記高周波受信部を介してリトライを行なうことを特徴とする請求項11記載の不揮発性キャッシュメモリを用いた記憶装置の制御方法。
JP2007091656A 2007-03-30 2007-03-30 不揮発性キャッシュメモリを用いた記憶装置とその制御方法 Pending JP2008250718A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007091656A JP2008250718A (ja) 2007-03-30 2007-03-30 不揮発性キャッシュメモリを用いた記憶装置とその制御方法
CNA2007101865437A CN101276257A (zh) 2007-03-30 2007-12-07 采用非易失性高速缓冲存储器的存储设备及其控制方法
US11/953,463 US20080244173A1 (en) 2007-03-30 2007-12-10 Storage device using nonvolatile cache memory and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007091656A JP2008250718A (ja) 2007-03-30 2007-03-30 不揮発性キャッシュメモリを用いた記憶装置とその制御方法

Publications (1)

Publication Number Publication Date
JP2008250718A true JP2008250718A (ja) 2008-10-16

Family

ID=39796289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007091656A Pending JP2008250718A (ja) 2007-03-30 2007-03-30 不揮発性キャッシュメモリを用いた記憶装置とその制御方法

Country Status (3)

Country Link
US (1) US20080244173A1 (ja)
JP (1) JP2008250718A (ja)
CN (1) CN101276257A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8499120B2 (en) * 2008-10-17 2013-07-30 Seagate Technology Llc User selectable caching management
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
KR101691997B1 (ko) * 2010-07-22 2017-01-02 삼성전자 주식회사 영상처리장치 및 그 제어방법
KR20140017622A (ko) * 2011-03-23 2014-02-11 톰슨 라이센싱 메모리 인터페이스 제어 방법 및 관련 인터페이스
WO2013062542A1 (en) 2011-10-26 2013-05-02 Hewlett-Packard Development Company Segmented caches
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644239B2 (en) * 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
KR100759427B1 (ko) * 2005-03-17 2007-09-20 삼성전자주식회사 전력 소모가 적은 하드디스크 드라이버 및 이를 구비한 정보처리 시스템, 그리고 그들의 데이터 입출력 방법

Also Published As

Publication number Publication date
CN101276257A (zh) 2008-10-01
US20080244173A1 (en) 2008-10-02

Similar Documents

Publication Publication Date Title
JP4768504B2 (ja) 不揮発性フラッシュメモリを用いる記憶装置
JP4836647B2 (ja) 不揮発性キャッシュメモリを用いる記憶装置とその制御方法
JP2007193440A (ja) 不揮発性キャッシュメモリを用いる記憶装置とその制御方法
JP4799310B2 (ja) 磁気ディスク装置およびその制御方法
US8151064B2 (en) Hybrid hard disk drive and data storage method thereof
US20070168607A1 (en) Storage device using nonvolatile cache memory and control method thereof
JP2004362530A (ja) 最良の圧縮管理メカニズムを具えたストレージデバイス
JP2008250718A (ja) 不揮発性キャッシュメモリを用いた記憶装置とその制御方法
JP2008027383A (ja) 情報記録装置及びその制御方法
US7913029B2 (en) Information recording apparatus and control method thereof
WO2005096220A1 (ja) メモリカード及びメモリカードシステム
US20070168605A1 (en) Information storage device and its control method
US20070168602A1 (en) Information storage device and its control method
JP2007193865A (ja) 情報記録装置及びその制御方法
JP2008046964A (ja) 情報記録装置及びその制御方法
US20120072755A1 (en) Method of controlling operation mode of storage device, and storage device implementing the storage
US20110167203A1 (en) Method and apparatus for cache control in a data storage device
US8626985B2 (en) Hybrid optical disk drive, method of operating the same, and electronic system adopting the hybrid optical disk drive
US7941601B2 (en) Storage device using nonvolatile cache memory and control method thereof
JP2007034537A (ja) 複合型記憶装置、データ書込方法及びプログラム
US20070168604A1 (en) Information recording apparatus and method for controlling the same
JP2005302152A (ja) 複合型記憶装置、データ書込方法及びプログラム
US20070250661A1 (en) Data recording apparatus and method of controlling the same
JP2006302343A (ja) 情報記録再生装置
JP2006285943A (ja) 複合型記憶装置、データ書込方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090908

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100309