説明

データ記憶装置およびデータ記憶装置の低消費電力制御方法

【課題】可及的に消費電力を低減すること。
【解決手段】パワーマネジメント部(SATAC111およびMPU114)は、ホスト装置200から読み出し要求を受信したとき、読み出し要求されたデータをNANDメモリ130からRAM120へ転送させるNANDC転送指令をNANDC113に送信するとともに低消費電力モードへ移行し、NANDC113が前記転送を完了したとき、低消費電力モードから復帰して、RAM120に転送されたデータをホスト装置200へ転送する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ記憶装置およびデータ記憶装置の低消費電力制御方法に関する。
【背景技術】
【0002】
HDD(Hard Disk Drive)などのデータ記憶装置の接続規格の一つにシリアルATA(Serial Advanced Technology Attachment:SATA)規格がある。SATA規格によれば、パーシャル(PARTIAL)やスランバー(SLUMBER)という低消費電力モードが規格化されている(例えば、特許文献1参照。)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−216046号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、可及的に消費電力を低減したデータ記憶装置およびデータ記憶装置の低消費電力制御方法を提供する。
【課題を解決するための手段】
【0005】
本願発明の一態様によれば、不揮発性の第1メモリと、ホスト装置と前記第1メモリとの間の転送データを一時記憶する第2メモリと、前記ホスト装置と前記第2メモリとの間のデータ転送を制御する第1制御部と、前記第1メモリと前記第2メモリとの間のデータ転送を制御する第2制御部と、を備え、前記第1制御部は、前記ホスト装置から読み出し要求を受信したとき、前記読み出し要求されたデータを前記第1メモリから前記第2メモリへ転送させる転送指令を前記第2制御部に送信するとともに低消費電力モードへ移行し、前記第2制御部が前記読み出し要求されたデータの転送を完了したとき、前記低消費電力モードから復帰して、前記第2メモリに転送されたデータを前記ホスト装置へ転送する、ことを特徴とするデータ記憶装置が提供される。
【0006】
また、本願発明の一態様によれば、不揮発性の第1メモリと、ホスト装置と前記第1メモリとの間の転送データを一時記憶する第2メモリと、前記ホスト装置と前記第2メモリとの間のデータ転送を制御する第1制御部と、前記第1メモリと前記第2メモリとの間のデータ転送を制御する第2制御部と、を備えるデータ記憶装置の低消費電力制御方法であって、前記ホスト装置から読み出し要求を受信したとき、前記第1制御部を低消費電力モードへ移行させるとともに前記第2制御部に前記読み出し要求されたデータを前記第1メモリから前記第2メモリへ転送させ、前記第2制御部が前記読み出し要求されたデータの転送を完了したとき、前記第1制御部を前記低消費電力モードから復帰させ、前記第1制御部に前記第2メモリに転送されたデータを前記ホスト装置へ転送させる、ことを特徴とするデータ記憶装置の低消費電力制御方法が提供される。
【発明の効果】
【0007】
本発明によれば、可及的に消費電力を低減したデータ記憶装置を提供することができるという効果を奏する。
【0008】
また、本発明によれば、可及的に消費電力を低減したデータ記憶装置の低消費電力制御方法を提供することができるという効果を奏する。
【図面の簡単な説明】
【0009】
【図1】図1は、本発明の実施の形態にかかるSSDの構成を示すブロック図。
【図2】図2は、本発明の実施の形態のSSDの動作を説明するフローチャート。
【図3】図3は、SATACが低消費電力モードに移行/復帰する動作を説明するシーケンス図。
【発明を実施するための形態】
【0010】
データ記憶装置のSATAインターフェース回路は、ホスト装置から受信するリクエストに対応して前述したSATA規格を満たす低消費電力モードに移行する機能を有する。例えば、特許文献1に開示されているインターフェース回路によれば、ホスト装置からのリクエストを受信すると、SATAインターフェースのアナログ回路部分と送受信データをデジタル処理するデジタル回路部分のクロックを停止することによって低消費電力モードに移行する。
【0011】
ところで、SATAインターフェース回路がホスト装置から読み出し要求を受信してから読み出し要求されたデータを送信するまでの期間、ホスト装置はSATAインターフェース回路に別の読み出し/書き込みデータを送信することはない。したがって、この期間は、低消費電力モードに遷移可能である。
【0012】
しかしながら、従来、この期間に低消費電力モードに移行する技術がなかった。例えば特許文献1に開示されている技術は、ホスト装置が主導となって低消費電力モードに遷移させる。したがって、ホスト装置は、読み出し要求したデータの受信のタイミング、言い換えると低消費電力モードから復帰させるタイミングがわからないので、前記期間にSATAインターフェース回路を低消費電力モードに遷移させることができない。
【0013】
以下に添付図面を参照して、本発明の実施の形態にかかるデータ記憶装置およびデータ記憶装置の低消費電力制御方法を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。
【0014】
(実施の形態)
図1は、本発明の実施の形態にかかるデータ記憶装置の構成を示すブロック図である。ここでは、データ記憶装置の一例としてSSDを例に挙げて説明するが、本実施の形態の適用対象はSSDに限定しない。例えば、本実施の形態は、ホスト装置に対して着脱可能なメモリカード、または携帯電話へ実装される組み込みシステムなどにも適用できる。
【0015】
SSD100は、パーソナルコンピュータなどのホスト装置(Host)200とシリアルインターフェースであるSATA I/F300で接続され、ホスト装置200の外部記憶装置として機能する。
【0016】
SSD100は、ホスト装置200からリード/ライトされるデータを記憶する不揮発性メモリであるNANDメモリ130と、SSD100のデータ転送制御を実行するドライブ制御LSI110と、該ドライブ制御LSI110がデータ転送のための転送データを一時格納するためのメモリであるRAM120と、を備えている。RAM120は、NANDメモリ130のデータキャッシュメモリとして機能し、例えば、DRAM(Dynamic Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)などを採用することができる。
【0017】
ドライブ制御LSI110は、さらに、SATAインターフェースコントローラ(SATAC)111と、RAMコントローラ(RAMC)112と、NANDコントローラ(NANDC)113と、を備えている。SATAC111とRAMC112との間、RAMC112とNANDC113との間、RAMC112とRAM120との間、およびNANDC113とNANDメモリ130との間は、夫々データを転送するためのデータバスで接続されている。SATAC111は、SATA I/F300の制御およびホスト装置200とRAM120との間のデータ転送の制御を実行する。また、RAMC112は、RAM120に対するデータのリード/ライトを制御する。また、NANDC113は、NANDメモリのリード/ライト制御およびNANDメモリ130とRAM120との間のデータ転送の制御を実行する。
【0018】
さらに、ドライブ制御LSI110は、ファームウェアを実行することによってドライブ制御LSI110全体の制御を実行するMPU114およびキャッシュメモリであるキャッシュ115を備えている。MPU114、SATAC111、RAMC112およびNANDC113の間は夫々制御信号を送受信するための制御バスで接続されている。
【0019】
ここで、SATAC111によるSATA I/F300の制御について説明する。SATA I/F300は、データ通信を行うための差動信号線(図示せず)を備えており、SATAC111とホスト装置200との間のデータ(SSD100に対するコマンド(読み出し要求や書き込み要求)を含む)の送受信はこの差動信号線を用いて行われる。
【0020】
SATA規格においては、データの送信・受信の同期や、データの先頭・終了位置は、プリミティブとよばれる特殊な文字列によって制御される。例えば、SATAC111は、ホスト装置200への転送データにデータの先頭を示すプリミティブおよびデータの終了位置を示すプリミティブを付加し、該プリミティブを付加した転送データを差動トランスミッタを用いてSATA I/F300に送り出す。また、SATAC111は、プリミティブが付加された受信データを差動レシーバで受け付け、受け付けたデータに付加されていたプリミティブをデコードすることによって、受信データの先頭位置および終了位置を認識する。
【0021】
さらに、SATA規格においては、前述のように、パーシャルモードおよびスランバーモードの二つの低消費電力モードが定義されている。パーシャルモード、スランバーモードからの復帰時間は、夫々、10μs以内、10ms以内に制限されている。低消費電力モードへ移行するリクエストはプリミティブを用いて実行される。例えば、プリミティブ「PMREQ_S」は、SLAMBERモードに移行するためのリクエスト、プリミティブ「PMREQ_P」は、PARTIALモードに移行するためのリクエストである。SATAC111あるいはホスト装置200は、これらのリクエストを受信すると、肯定応答のプリミティブ「PMACK」または否定応答のプリミティブ「PMNAK」を返す。そして、PMACKが返された場合、SATAC111およびホスト装置200は該当する低消費電力モードに移行し、SATA I/F300の差動信号による通信(リンク)はオフされる。
【0022】
低消費電力モード(すなわちリンクが切れた状態)になると、SATAC111およびホスト装置200は、プリミティブを用いたプロトコルを使用できなくなる。そこで、低消費電力モードから復帰する場合、OOB(Out of Band)信号と呼ばれる、バーストとアイドルとのデューティー比を用いた信号を用いてリンク確立の手順が行われる。具体的には、低消費電力モードからの復帰のリクエストとしてOOB信号の1つである「COMWAKE」が送受信されて、リンクを確立する手順が実行され、SATAC111およびホスト装置200は夫々低消費電力モードから復帰する。
【0023】
前述のように、SATAC111がホスト装置200から読み出し要求を受信してから読み出し要求されたデータを送信するまでの期間(データ準備期間)には、原則的に、ホスト装置200はSATAC111に別の読み出し/書き込み要求を送信することはない。データ準備期間のように読み出し/書き込み要求の送受信やデータの送受信がなされていない状態(アイドル状態)でも同期を取るためのプリミティブがSATA I/F300が備える差動信号線を介して送受信されるため、データ準備期間の間、差動信号線を動作させるための電力が消費される。本実施の形態は、データ準備期間に低消費電力モードに遷移することによって、従来この期間にアイドル状態で消費されていた電力を削減するようにしたことが主たる特徴となっている。
【0024】
より具体的には、SATAC111とMPU114とは、協働して、以下の動作を実行するパワーマネジメント部(第1制御部)として機能する。すなわち、パワーマネジメント部(SATAC111)は、ホスト装置200から読み出し要求を受信した後、ホスト装置200に対して低消費電力モードに移行するためのリクエストを発行してSATAC111は低消費電力モードに移行する。SATAC111が低消費電力モード状態となっている間、パワーマネジメント部(MPU114)は、NANDC113に指令して、読み出し要求されたデータをNANDメモリ130から読み出させ、読み出させたデータをRAM120に転送させる。パワーマネジメント部(SATAC111)は、RAM120へのデータ転送が完了したとき、COMWAKEを発行して低消費電力モードから復帰し、RAM120に転送されたデータをホスト装置200へ転送する。
【0025】
なお、本発明の実施の形態における低消費電力モードとは、スランバーモードであってもよいし、パーシャルモードであってもよい。すなわち、低消費電力モードから10μs以内に復帰できるのであれば、SATAC111は低消費電力モードに移行するためのリクエストとしてPMREQ_Pを発行するようにし、10ms以内に復帰できるのであればPMREQ_Sを発行するようにしてもよい。なお、以降、PMREQ_PおよびPMREQ_Sを総称してLPM(Low Power Mode)遷移要求と表現する。また、COMWAKEをLPM復帰要求と表現する。
【0026】
次に、本発明の実施の形態のSSD100の動作を説明する。図2は、SSD100の動作を説明するフローチャートである。
【0027】
図2に示すように、SATAC111は、ホスト装置200からコマンドを受信すると(ステップS1)、受信したコマンドが読み出し要求(Readコマンド)であるか否かを判定する(ステップS2)。同時に、SATAC111は、受信したコマンドをMPU114に送信する。
【0028】
ステップS2において、受信したコマンドが読み出し要求ではなかった場合(ステップS2、No)、SSD100は、MPU114による制御の下、該受信したコマンドに対応する動作(コマンド処理)を実行する(ステップS3)。
【0029】
受信したコマンドが読み出し要求であった場合(ステップS2、Yes)、SATAC111は、読み出し要求されたデータがRAM120にキャッシュされているか否かをさらに判定する(ステップS4)。具体的には、このステップにおいては、MPU114は、RAM120における読み出し要求されたデータがキャッシュされている位置を検索する。MPU114は、キャッシュされている位置を発見できなかった場合、キャッシュミスした旨の通知をSATAC111に送信する。SATAC111は、キャッシュミスした旨の通知を受信したか否かに基づいて、読み出し要求されたデータがRAM120にキャッシュされているか否かを判定する。
【0030】
ステップS4において、キャッシュミスしていた場合(ステップS4、Yes)、SATAC111は、ホスト装置200へLPM遷移要求を送信する(ステップS5)。この後、SATAC111は、ホスト装置200から肯定応答PMACKを受信すると、低消費電力モードに遷移し、SATA I/F300のリンクを切断する。
【0031】
一方、RAMC112およびNANDC113は、ステップS5の後、MPU114による制御の下、読み出し要求されたデータをNANDメモリ130から読み出して、読み出したデータをRAM120に書き込む動作(NANDCデータ転送)を実行する(ステップS6)。具体的には、MPU114は、読み出し要求されたデータをNANDメモリ130からRAM120へ転送する指令(NANDC転送指令)をNANDC113へ送信し、NANDC113は、受信したNANDC転送指令に基づいてNANDCデータ転送を実行する。
【0032】
SATAC111は、NANDCデータ転送、すなわちNANDメモリ130からRAM120へのデータ転送が完了したか否かを判定する(ステップS7)。なお、NANDC113は、データ転送が完了すると、データ転送が完了した旨の通知(データ準備完了通知)をMPU114へ送信する。MPU114は、該データ準備完了通知を受信すると、RAM120に転送されたデータ(すなわち読み出し要求されたデータ)を読み出して該読み出したデータをホスト装置200へ送信する指令(SATAC転送指令)をSATAC111へ送信する。ステップS7においては、SATAC111は、該SATAC転送指令を受信したか否かに基づいて前記データ転送が完了したか否かを判定する。
【0033】
なお、NANDC113が専用の信号線や制御バスなどを介してSATAC111へデータ準備完了通知を直接通知するように構成し、SATAC111は、このデータ準備完了通知を受信したとき、データ転送が完了したと判定するようにしてもよい。また、SATAC111は、読み出し要求されたデータを該データのサイズより小さい単位サイズ毎にホスト装置200へ転送するように構成しておき、NANDC113は、単位サイズのデータを転送完了したとき、データ準備完了通知を送信するようにしてもよい。
【0034】
データ転送が完了した場合(ステップS7、Yes)、SATAC111は、低消費電力モードから復帰し、ホスト装置200へLPM復帰要求を送信する(ステップS8)。SATA I/F300のリンクが確立されると、SATAC111は、読み出し要求されたデータをホスト装置200へ転送する(ステップS9)。すなわち、SATAC111は、RAM120に準備された読み出し要求されたデータを読み出して、読み出したデータをホスト装置200へ送信する。ホスト装置200へのデータ転送が完了すると、SATAC111は、SATAC111のステータスをホスト装置200へ送信し(ステップS10)、動作が終了となる。
【0035】
ステップS4において、SATAC111がキャッシュヒットしたと判定した場合(ステップS4、No)、SSD100はステップS5〜ステップS8の処理をスキップし、ステップS9において、SATAC111は、RAM120にキャッシュされている読み出し要求されたデータをホスト装置200へ転送する。より詳しくは、MPU114は、読み出し要求されたデータがキャッシュされている位置を発見した場合、RAM120にキャッシュされていた読み出し要求されたデータをホスト装置200へ転送するSATAC転送指令をSATAC111に送信し、SATAC111は、受信したSATAC転送指令に基づいてホスト装置200へのデータ転送を実行する。
【0036】
次に、SATAC111が低消費電力モードに移行/復帰する動作を、動作シーケンスを用いてより具体的に説明する。図3は、SATAC111が低消費電力モードに移行/復帰する動作を説明するシーケンス図である。なお、ここでは、ステップS4の判定処理においてキャッシュミスしたと判定される場合のシーケンス図を示している。
【0037】
図3に示すように、まず、ホスト装置200がSATAC111へ読み出し要求(Read Cmd)を送信する(ステップS21)。Read Cmdを受信したSATAC111は、Read CmdをMPU114に転送し、MPU114は、読み出し要求されたデータがキャッシュされている位置を検索し、キャッシュミスした後、キャッシュミスした読み出し要求されたデータをNANDメモリ130からRAM120へ転送するNANDC転送指令をNANDC113へ送信する(ステップS22)。
【0038】
NANDC転送指令を受信したNANDC113は、指令されたデータをリードするコマンドをNANDメモリ130に送信する(ステップS23)。
【0039】
一方、SATAC111は、ステップS22の後、要求されたデータがキャッシュミスしたと判定し、ホスト装置200へLPM遷移要求を送信する(ステップS24)。そして、SATAC111は、ホスト装置200から肯定応答を受信すると(ステップS25)、低消費電力モードへ遷移し、SATA I/F300のリンクを切断する。
【0040】
NANDメモリ130は、NANDC113から受信したコマンドに対応してデータを出力する(ステップS26)。NANDC113は、NANDメモリ130が出力したデータをRAMC112を介してRAM120へ書き込む(ステップS27)。NANDメモリ130は、ホスト装置200から読み出し要求されたデータ、すなわちNANDC転送指令により指令されたデータをRAM120へ書き込み完了すると、データ準備完了通知をMPU114へ送信し、MPU114は、データ準備完了通知を受信すると、SATAC111へSATAC転送指令を送信する(ステップS28)。
【0041】
SATAC111は、SATAC転送指令を受信すると、低消費電力モードから復帰し、LPM復帰要求をホスト装置200へ送信する(ステップS29)。そして、SATAC111は、ホスト装置200との間のリンクが確立されると、受信したSATAC転送指令に基づいてRAM120からデータを読み出し(ステップS30)、読み出したデータをホスト装置200へ送信する(ステップS31)。ホスト装置200へのデータ転送が終了すると、SATAC111は、ステータスをホスト装置200へ送信する(ステップS32)。
【0042】
以上説明したシーケンス図において、SATAC111は、ステップS25の処理によりホスト装置200から肯定応答を受信してからステップS29の処理によりホスト装置200へLPM復帰要求を送信するまで低消費電力モード状態となるため、その間、従来はアイドル状態で消費されていた電力が削減される。
【0043】
なお、以上の説明においては、SATAC111は、MPU114からのキャッシュミスした旨の通知に基づいてキャッシュミスしたか否かを判定する、として説明したが、MPU114はキャッシュミスした旨の通知をSATAC111へ送信しないようにし、SATAC111は、ホスト装置200からの読み出し要求をMPU114へ転送した後、所定の時間だけ待機し、待機している間にMPU114からSATAC転送指令を受信しなかったとき、キャッシュミスした、と判定するようにしてもよい。
【0044】
また、以上の説明においては、RAM120がデータキャッシュ領域として使用されるとして説明したが、データキャッシュ領域を備えない構成を採用する場合、SATAC111は、ホスト装置200から受信したコマンドが読み出し要求であった場合(ステップS2、Yes)、キャッシュミスしたか否かを判定する処理(ステップS4)をスキップし、ただちにLPM遷移要求を送信する(ステップS5)ようにしてもよい。また、データキャッシュ領域を備える構成を採用する場合であっても、ステップS4をスキップするようにしてもよい。
【0045】
また、データキャッシュ領域を備えない構成を採用する場合、NANDC113にデータ転送用のレジスタあるいは小規模なメモリなどのバッファ領域を備えさせ、NANDC113は、読み出し要求されたデータをNANDメモリ130から読み出し、読み出したデータを該バッファ領域に格納完了したとき、データ準備完了通知を送信するようにするとよい。
【0046】
また、以上の説明においては、NANDC113がデータ準備完了通知を送信する、として説明したが、RAMC112がデータ準備完了通知を送信するようにしてもよい。
【0047】
また、SATAC111およびMPU114が協働してパワーマネジメント部として機能するとして説明したが、パワーマネジメント部をASICにより実現するようにしてもよい。
【0048】
以上述べたように、本発明の実施の形態によれば、パワーマネジメント部(SATAC111およびMPU114)は、ホスト装置200から読み出し要求を受信したとき、読み出し要求されたデータをNANDメモリ130からRAM120へ転送させるNANDC転送指令をNANDC113に送信するとともに低消費電力モードへ移行し、NANDC113が前記転送を完了したとき、低消費電力モードから復帰して、RAM120に転送されたデータをホスト装置200へ転送する、ように構成したので、読み出し要求を受信してから読み出し要求されたデータを送信できるようになるまでの間に低消費電力モードへ移行することができるので、可及的に消費電力を低減することができる。
【符号の説明】
【0049】
100 SSD、110 ドライブ制御LSI、111 SATAC、112 RAMC、113 NANDC、114 MPU、115 キャッシュ、120 RAM、130 NANDメモリ、200 ホスト装置、300 SATA I/F。

【特許請求の範囲】
【請求項1】
不揮発性の第1メモリと、
ホスト装置と前記第1メモリとの間の転送データを一時記憶する第2メモリと、
前記ホスト装置と前記第2メモリとの間のデータ転送を制御する第1制御部と、
前記第1メモリと前記第2メモリとの間のデータ転送を制御する第2制御部と、
を備え、
前記第1制御部は、前記ホスト装置から読み出し要求を受信したとき、前記読み出し要求されたデータを前記第1メモリから前記第2メモリへ転送させる転送指令を前記第2制御部に送信するとともに低消費電力モードへ移行し、前記第2制御部が前記読み出し要求されたデータの転送を完了したとき、前記低消費電力モードから復帰して、前記第2メモリに転送されたデータを前記ホスト装置へ転送する、
ことを特徴とするデータ記憶装置。
【請求項2】
前記第2メモリは、キャッシュメモリであって、
前記第1制御部は、前記ホスト装置から読み出し要求を受信したとき、前記読み出し要求されたデータが前記第2メモリにキャッシュされているか否かを判定し、前記読み出し要求されたデータがキャッシュされていなかったとき、前記転送指令を前記第2制御部へ送信するとともに前記低消費電力モードへ移行する、
ことを特徴とする請求項1に記載のデータ記憶装置。
【請求項3】
前記第1制御部は、前記ホスト装置から読み出し要求を受信したとき、前記低消費電力モードへ移行するための第1リクエストを前記ホスト装置へ送信し、前記ホスト装置から前記第1リクエストを肯定する応答を受信したとき、前記低消費電力モードへ移行する、
ことを特徴とする請求項1または請求項2に記載のデータ記憶装置。
【請求項4】
前記第1制御部は、前記低消費電力モードから復帰するとき、前記低消費電力モードから復帰するための第2リクエストを前記ホスト装置へ送信する、
ことを特徴とする請求項3に記載のデータ記憶装置。
【請求項5】
不揮発性の第1メモリと、ホスト装置と前記第1メモリとの間の転送データを一時記憶する第2メモリと、前記ホスト装置と前記第2メモリとの間のデータ転送を制御する第1制御部と、前記第1メモリと前記第2メモリとの間のデータ転送を制御する第2制御部と、を備えるデータ記憶装置の低消費電力制御方法であって、
前記ホスト装置から読み出し要求を受信したとき、前記第1制御部を低消費電力モードへ移行させるとともに前記第2制御部に前記読み出し要求されたデータを前記第1メモリから前記第2メモリへ転送させ、
前記第2制御部が前記読み出し要求されたデータの転送を完了したとき、前記第1制御部を前記低消費電力モードから復帰させ、
前記第1制御部に前記第2メモリに転送されたデータを前記ホスト装置へ転送させる、
ことを特徴とするデータ記憶装置の低消費電力制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2011−181011(P2011−181011A)
【公開日】平成23年9月15日(2011.9.15)
【国際特許分類】
【出願番号】特願2010−47038(P2010−47038)
【出願日】平成22年3月3日(2010.3.3)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】