説明

データ記憶装置、メモリ制御装置及びメモリ制御方法

【課題】マルチチャネルプログラム方式において、リード・モディファイ・ライト動作が実行される場合でも、ライトフラッシュ処理を効率的に実行できるデータ記憶装置を提供する。
【解決手段】データ記憶装置は、ライト処理モジュールと、リード処理モジュールと、コントローラとを具備する。リード処理モジュールは、通常リードコマンドを処理し、かつリード・モディファイ・ライト動作を実行する場合にRMW用リードコマンドを処理する。コントローラは、フラッシュコマンドを処理する場合に、通常リードコマンドよりもRMW用リードコマンドの処理を優先的に実行するようにリード処理モジュールを制御し、RMW用リードコマンド処理の完了後に移行するリード・モディファイ・ライト動作のRMW用ライトコマンドの処理を含むライトフラッシュ処理をライト処理モジュールに実行させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、不揮発性メモリを記憶媒体とするデータ記憶装置に関する。
【背景技術】
【0002】
近年、データ記憶装置として、書き換え可能な不揮発性メモリであるNAND型フラッシュメモリ(以下、単にフラッシュメモリと表記する場合がある)を記憶媒体とするSSD(solid state drive)の開発が推進されている。
【0003】
一般的に、SSDでは、複数のチャネル単位に設けられる各フラッシュメモリに対して、データを並列に書き込むマルチチャネルプログラム方式のライト動作が行なわれる。マルチチャネルプログラム方式のライト動作では、全チャネルに書き込むデータ(ユーザデータ)がバッファメモリに準備完了した時点で、全チャネルのフラッシュメモリに対して並列に書き込むことが可能となる。
【0004】
換言すれば、全チャネルに書き込むデータの準備ができない場合には、並列での書き込みができないため、ライト動作が停滞する事態が発生することがある。このような状態で、例えばSSDに対する主電源が遮断される場合に、バッファメモリに準備されているデータの消失を回避するために、停滞しているライト動作を強制的に実行させて、フラッシュメモリに対する書き込みを完了させる機能が要求される。このような機能を、ライトフラッシュ(Write Flush)機能と呼ぶ。また、このライトフラッシュ機能を実現するライト動作(ライトフラッシュ処理)を実行させるコマンドを、フラッシュコマンドと呼ぶ。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−211734号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来のSSDでは、マルチチャネルプログラム方式によりライト動作の処理効率化が図られて、ライトフラッシュ機能によりデータの消失を回避することが実現されている。ライトフラッシュ処理は、キャパシタなどの予備電源により実行されるため、効率的(または短時間)に処理を完了して保護すべきデータの消失を確実に回避することが必要である。
【0007】
一方で、SSDでは、リード処理を含むリード・モディファイ・ライト(read modify write)動作と呼ばれるライト動作も、通常のライト動作と共に実行されることがある。このため、リード・モディファイ・ライト動作を含めたマルチチャネルプログラム方式でのライトフラッシュ処理を効率的に実行することにより、保護すべきデータの消失を確実に回避することが要求される。
【0008】
本発明の目的は、マルチチャネルプログラム方式において、リード・モディファイ・ライト動作が実行される場合でも、ライトフラッシュ処理を効率的に実行できるデータ記憶装置を提供することにある。
【課題を解決するための手段】
【0009】
実施形態によれば、データ記憶装置は、ライト処理手段と、リード処理手段と、制御手段とを具備する。前記ライト処理手段は、複数チャネルの不揮発性メモリにデータを書き込むライトコマンドを処理する。前記リード処理手段は、通常リードコマンドを処理し、かつリード・モディファイ・ライト動作を実行する場合にRMW用リードコマンドを処理する。前記制御手段は、フラッシュコマンドを処理する場合に、前記通常リードコマンドよりも前記RMW用リードコマンドの処理を優先的に実行するように前記リード処理手段を制御し、前記RMW用リードコマンド処理の完了後に移行する前記リード・モディファイ・ライト動作のRMW用ライトコマンドの処理を含むライトフラッシュ処理を前記ライト処理手段に実行させるように制御する。
【図面の簡単な説明】
【0010】
【図1】実施形態に関するデータ記憶装置の構成を説明するためのブロック図。
【図2】実施形態に関するフラッシュメモリコントローラの要部を説明するためのブロック図。
【図3】実施形態に関するコマンド処理モジュールの動作を説明するためのフローチャート。
【発明を実施するための形態】
【0011】
以下図面を参照して、実施形態を説明する。
【0012】
[データ記憶装置の構成]
図1に示すように、実施形態のデータ記憶装置は、NAND型フラッシュメモリ(flash memory、単にフラッシュメモリと表記する)21を記憶媒体として使用するマルチチャネルプログラム方式のSSD(solid state drive)である。SSDは、フラッシュメモリコントローラ(以下、単にメモリコントローラと表記する場合がある)10と、複数のフラッシュメモリ21をチャネル毎にパッケージ化したメモリパッケージ(以下、単にチャネルと表記する)20と、DRAM(dynamic random access memory)からなるバッファメモリ22とを有する。
【0013】
メモリコントローラ10は、コマンド処理モジュール11と、複数のチャネル20に対応するNANDメモリインターフェース12と、システム制御モジュール13と、DRAMインターフェース14と、ホストインターフェース15と、バス16とを有する。メモリコントローラ10は、NANDメモリインターフェース12を介して、全チャネル20分のライト動作の準備が完了した時点で、各チャネル20のフラッシュメモリ21に対してデータ(ユーザデータ)を並列に書き込みを行うマルチチャネルプログラム機能を有する。
【0014】
システム制御モジュール13は、NANDメモリインターフェース12を介して、各フラッシュメモリ21に対するデータの書き込み動作及びデータの読み出し動作を制御する。DRAMインターフェース14は、バッファメモリ22とバス16間のデータ転送を制御する。即ち、システム制御モジュール13は、DRAMインターフェース14を介してバッファメモリ22にデータを書き込み、バッファメモリ22からデータを読み出す。ホストインターフェース15は、ホストデバイス30とバス16間のデータ又はコマンドの転送を制御する。ホストデバイス30は、例えばパーソナルコンピュータである。
【0015】
コマンド処理モジュール11は、ホストデバイス30から発行される各種のコマンドを処理し、コマンド処理に応じてNANDメモリインターフェース12に対してライトコマンド又はリードコマンドを転送する。
【0016】
本実施形態では、ライトコマンドは、通常のライト動作を実行させる通常ライトコマンド(WRITE)以外に、後述するリード・モディファイ・ライト(read modify write)動作(以下、RMW動作と表記する)のライト動作を実行させるRMW用ライトコマンド(RMW用WR)を含む。また、リードコマンドは、通常のリード動作を実行させる通常リードコマンド(READ)以外に、RMW動作に含まれるリード動作を実行させるRMW用リードコマンド(RMW用RD)を含む。
【0017】
図2に示すように、コマンド処理モジュール11は、コマンド解釈モジュール40と、RMW判定モジュール41と、クレジット(credit)カウンタ(以下、C−カウンタ)42と、リードコマンドキュー43と、リードコマンドバッファ44と、RMW用リードコマンドバッファ45とを有する。
【0018】
さらに、コマンド処理モジュール11は、ライトコマンドキュー50と、ライトコマンドカウンタ51と、リプライ(reply)処理モジュール52とを有する。また、コマンド処理モジュール11は、セレクタ46,49、アンドゲート47、及びオアゲート48を含むロジック回路を有する。
【0019】
[ライトフラッシュ処理]
以下、図2及び図3のフローチャートを参照して、コマンド処理モジュール11の動作と共に、本実施形態のライトフラッシュ処理を説明する。
【0020】
コマンド処理モジュール11は、コマンド解釈モジュール40が、ホストインターフェース15を経由して転送されるコマンド100を解釈し、ライトコマンド110、リードコマンド111、フラッシュ(flush)コマンド112のいずれかに応じたコマンド処理を実行する(ブロック300)。ライトコマンド110は、前述したように、RMW動作を実行させるRMW用ライトコマンド(RMW用WR)を含む。
【0021】
ここで、フラッシュコマンド112は、SSDに供給される主電源の遮断時に、SSDのマイクロプロセッサ(MPU)から発行される。コマンド処理モジュール11は、フラッシュコマンド112に応じて、後述するライトフラッシュ処理を実行する。本実施形態では、便宜的にライトコマンド110またはリードコマンド111の実行中に、フラッシュコマンド112が割り込み的に発行される場合とする。
【0022】
RMW判定モジュール41は、コマンド解釈モジュール40からのライトコマンド110が、通常ライトコマンド(WRITE)またはRMW用ライトコマンド(RMW用WR)のいずれであるかを判定する(ブロック301)。RMW判定モジュール41は、例えば、ライトコマンドに伴う書き込みデータのサイズがフラッシュメモリ21の通常書き込み単位(クラスタ:cluster)未満の場合には、RMW用ライトコマンドであると判定する(ブロック301のYES)。RMW動作は、通常書き込み単位のデータの中で一部を書き換えて、残りの部分をそのまま書き戻すライト動作である。
【0023】
RMW判定モジュール41により、通常ライトコマンド(WRITE)であると判定されると、当該ライトコマンド(WRITE)120がライトコマンドキュー50にセット(キューイング)される(ブロック309)。このとき、ライトコマンドカウンタ51は、現時点でライトコマンドキュー50で待機状態のライトコマンド数をカウントアップする。
【0024】
これ以降、ライトコマンド(WRITE)がライトコマンドキュー50にキューイングされて、全チャネル分のライトコマンド(WRITE)が準備されたとする。この場合、ライトコマンドカウンタ51は、WRITEキューFULL信号150を出力する(ブロック310のYES)。
【0025】
図2に示すように、セレクタ49は、WRITEキューFULL信号150の出力に応じて、ライトコマンドキュー50からのライトコマンドの出力140を選択する。これにより、ライトコマンドキュー50から、各チャネルのNANDメモリインターフェース12に対して、全チャネル分のライトコマンド(WRITE)が送信される。従って、全チャネル20分のフラッシュメモリ21に対してデータ(ユーザデータ)を並列に書き込むライト処理が実行される(ブロック312)。即ち、マルチチャネルプログラムが実行される。なお、全チャネル20に書き込まれるデータ(ユーザデータ)は、バッファメモリ22に格納されている。
【0026】
以上のようなマルチチャネルプログラムが実行されると、各NANDメモリインタフェース12は、正常にライト処理が完了したことを通知するリプライ(reply)信号160をリプライ処理モジュール52に出力する。リプライ処理モジュール52は、全チャネル20分のライト処理が正常に完了したと判定すると、ライトコマンドカウンタ51にリセット(reset)信号161を送る。
【0027】
ライトコマンドカウンタ51は、書き込み待機のライトコマンド(WRITE)数を管理している。従って、コマンド処理モジュール11は、ライトコマンドカウンタ51のリセットにより、ライトコマンドキュー50には書き込み待機のライトコマンド(WRITE)が無いことを認識できる。
【0028】
一方、RMW判定モジュール41は、コマンド100がRMW用ライトコマンドであると判定すると、RMW用リードコマンド(RMW用RD)121を生成する(ブロック301のYES)。RMW用リードコマンド(RMW用RD)131は、リードコマンドキュー43にセット(キューイング)される(ブロック302)。このとき、C−カウンタ42は、クレジット(credit)を1カウント分だけ消費(カウントダウン)する。コマンド処理モジュール11は、後述するように、C−カウンタ42の値により、実行中又は準備中の状態(fly)のRMW用リードコマンド数を認識できる。
【0029】
ここで、コマンド解釈モジュール40は、ホストインターフェース15を経由して転送されるコマンド100が通常のリードコマンド(READ)111であると解釈すると、リードコマンドキュー43にキューイングする(ブロック300,302)。従って、リードコマンドキュー43には、リードコマンド(READ)とRMW用リードコマンド(RMW用RD)が到着順に格納される。
【0030】
ここで、全チャネル分のライトコマンド(WRITE)が準備されておらず、マルチチャネルプログラムが実行できず、及び後述するフラッシュコマンド112も発生してない状態であるとする(ブロック303のNO)。このような状態では、リードコマンドキュー43から順番に、リードコマンド(READ)またはRMW用リードコマンド(RMW用RD)が該当チャネルのNANDメモリインターフェース12に送られる。これにより、フラッシュメモリ21からデータ(ユーザデータ)が読み出されるリード処理が実行される(ブロック304)。
【0031】
具体的には、図2に示すように、リードコマンドキュー43から順に、リードコマンド(READ)またはRMW用リードコマンド(RMW用RD)がリードコマンドバッファ44にセットされる。リードコマンドバッファ44にセットされたリードコマンド(READまたはRMW用RD)は、セレクタ46,49を経由して、各チャネルのNANDメモリインターフェース12に送られる。但し、リードコマンドキュー43から送信されるリードコマンド(READまたはRMW用RD)の順番は、リード要求のアドレスに応じて追い越しが発生する場合もある。
【0032】
リプライ処理モジュール52は、RMW用リードコマンド(RMW用RD)のリード処理が完了すると、NANDメモリインターフェース12からその通知であるリプライ(reply)信号160を受信する(ブロック305のYES)。リプライ処理モジュール52は、RMW用ライトコマンド(RMW用WR)162を生成する(ブロック306)。
【0033】
RMW用ライトコマンド(RMW用WR)は、RMW動作の第2のフェーズであるライト処理を実行するためのライトコマンドである。即ち、RMW動作は、第1のフェーズで、書き換え対象のデータを読み出して退避する処理を実行する。この第1のフェーズでのリード処理は、RMW用リードコマンド(RMW用RD)により実行される。第2のフェーズであるライト処理は、読み出された書き換え対象のデータの一部を書き換えた後に、書き戻す処理である。
【0034】
C−カウンタ42は、リプライ処理モジュール52からのRMW用WR162に応じて、クレジット(credit)を1カウント分だけ回復(カウントアップ)する。さらに、RMW用ライトコマンド(RMW用WR)は、ライトコマンドキュー50にセット(キューイング)される(ブロック309)。ライトコマンドカウンタ51は、C−カウンタ42からのRMW用WR132によりライトコマンド数をカウントアップする。
【0035】
ここで、前述したように、コマンド処理モジュール11は、C−カウンタ42の値により、実行中又は準備中の状態(fly)のRMW用リードコマンド数を認識できる。但し、コマンド処理モジュール11は、C−カウンタ42を使用しない別の方法によりRMW用リードコマンドのflyを確認してもよい。
【0036】
C−カウンタ42は、予めRMW用リードコマンドのfly可能な個数(例えば64個)が設定されている。C−カウンタ42は、RMW用リードコマンド(RMW用RD)がリードコマンドキュー43にセットされる度に消費(−1)される。RMW用リードコマンドが完了してRMW用ライトコマンド(RMW用WR)が生成されると、C−カウンタ42は回復(+1)される。従って、C−カウンタ42は全て回復されていれば、コマンド処理モジュール11は、全てのRMW用RDの処理が完了して、RMW動作のライト処理に移行していることを認識できる。
【0037】
次に、コマンド処理モジュール11は、コマンド解釈モジュール40がフラッシュコマンド(Flushコマンド)112を受信すると、ライトフラッシュ処理を実行する(ブロック303のYES)。フラッシュコマンド(Flushコマンド)は、例えばSSDに供給される主電源の遮断時に発行される。フラッシュコマンド(Flushコマンド)は、ライトコマンドキュー50に停滞しているライトコマンド(WRITEまたはRMW用WR)を強制的に実行させるライトフラッシュ(Write Flush)処理を実行させる。これにより、キャパシタなどの予備電源に切り換えて、バッファメモリ22に準備されているデータの消失を回避することができる。
【0038】
コマンド処理モジュール11は、フラッシュコマンド(Flushコマンド)を受け取ると、RMW動作のライト処理に移行する前のRMW用リードコマンド(RMW用RD)を優先的に処理する。具体的には、リードコマンドキュー43からRMW用RDを、RMW用リードコマンドバッファ45にセットする(ブロック307)。
【0039】
RMW用リードコマンド(RMW用RD)は、RMW用リードコマンドバッファ45からセレクタ46,49を経由して、各チャネルのNANDメモリインターフェース12に送られる。これにより、RMW動作でのリード処理が実行される(ブロック308)。即ち、実行中又は準備中の状態(fly)のRMW用リードコマンド(RMW用RD)は、通常のリードコマンド(READ)より優先して処理される。
【0040】
さらに、リプライ処理モジュール52は、RMW用リードコマンド(RMW用RD)のリード処理が完了すると、RMW用ライトコマンド(RMW用WR)162を生成する(ブロック305,306)。RMW用ライトコマンド(RMW用WR)は、ライトコマンドキュー50にキューイングされる(ブロック309)。
【0041】
コマンド処理モジュール11は、WRITEキューFULL信号150が出力されていないとき、C−カウンタ42をチェックする(ブロック310のNO,311)。C−カウンタ42の値が全て回復されていれば、実行中又は準備中の全てのRMW用リードコマンド(RMW用RD)の処理が完了し、全てのRMW用ライトコマンド(RMW用WR)がライトコマンドキュー50にキューイングされていることを認識する(ブロック311のYES)。従って、コマンド処理モジュール11は、ライトコマンドキュー50に格納されているライトコマンド(WRITE)及びRMW用ライトコマンド(RMW用WR)の全てを各チャネルのNANDメモリインターフェース12に送信する。即ち、コマンド処理モジュール11は、ライトコマンドキュー50に停滞しているライトコマンド(WRITE及びRMW用WR)を強制的に実行させるライトフラッシュ(Write Flush)処理を実行する(ブロック313)。
【0042】
具体的には、図2に示すように、セレクタ49は、C−カウンタ42からのクレジットフル信号130及びFlushコマンド112に応じて、ライトコマンドキュー50からのライトコマンドの出力140を選択する。これにより、ライトコマンドキュー50から、各チャネルのNANDメモリインターフェース12に対して、ライトコマンド(WRITE及びRMW用WR)が全て送信される。なお、C−カウンタ42は、全てのRMW用リードコマンド(RMW用RD)の処理が完了したことにより、クレジットの全てが回復したときにクレジットフル信号130を出力する。
【0043】
以上のようにして本実施形態によれば、マルチチャネルプログラム方式のSSDにおいて、フラッシュコマンド(Flushコマンド)が発生したときに、停滞しているライトコマンド(WRITE及びRMW用WR)を強制的に実行させるライトフラッシュ(Write Flush)処理を確実に実行することができる。従って、SSDの主電源が遮断された場合に、バッファメモリ22内のデータが消去される事態を確実に回避することが可能となる。
【0044】
ここで、通常ライトコマンド(WRITE)とRMW用ライトコマンド(RMW用WR)が混在している場合に、RMW用リードコマンド(RMW用RD)の処理が完了しておらず、RMW用WRが生成されていないことがある。本実施形態は、フラッシュコマンド処理時に、RMW用リードコマンド(RMW用RD)をRMW用バッファ45に移動させて優先的に処理する。これにより、RMW用ライトコマンド(RMW用WR)を効率的に準備することが可能となり、結果としてライトフラッシュ処理を高速化又は効率化を実現することができる。
【0045】
このような効率的なライトフラッシュ処理を実現できることにより、バッファメモリ22内のデータが消去される前に、フラッシュメモリに書き込むことにより、確実に保護することができる。また、SSDの主電源からキャパシタなどの予備電源に移行する上で、ライトフラッシュ処理を高速化により、相対的に予備電源の容量を削減することも可能となる。
【0046】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0047】
10…フラッシュメモリコントローラ、11…コマンド処理モジュール、
12…NANDメモリインターフェース、13…システム制御モジュール、
14…DRAMインターフェース、15…ホストインターフェース、16…バス、
20…チャネル(メモリパッケージ)、21…NAND型フラッシュメモリ、
22…バッファメモリ(DRAM)、30…ホストデバイス、
40…コマンド解釈モジュール、41…RMW判定モジュール、
42…クレジットカウンタ(C−カウンタ)、43…リードコマンドキュー、
44…リードコマンドバッファ、45…RMW用リードコマンドバッファ、
50…ライトコマンドキュー、51…ライトコマンドカウンタ、
52…リプライ(reply)処理モジュール。

【特許請求の範囲】
【請求項1】
複数チャネルの不揮発性メモリにデータを書き込むライトコマンドを処理するライト処理手段と、
通常リードコマンドを処理し、かつリード・モディファイ・ライト動作を実行する場合にRMW用リードコマンドを処理するリード処理手段と、
前記リード処理手段及び前記ライト処理手段を制御する制御手段とを具備し、
前記制御手段は、
フラッシュコマンドを処理する場合に、前記通常リードコマンドよりも前記RMW用リードコマンドの処理を優先的に実行するように前記リード処理手段を制御し、
前記RMW用リードコマンド処理の完了後に移行する前記リード・モディファイ・ライト動作のRMW用ライトコマンドの処理を含むライトフラッシュ処理を前記ライト処理手段に実行させるように制御するデータ記憶装置。
【請求項2】
前記リード処理手段は、
前記通常リードコマンド及び前記RMW用リードコマンドを格納するリードコマンドキュー手段を有し、
通常リード処理では、前記リードコマンドキュー手段から実行順に前記RMW用リードコマンドまたは前記通常リードコマンドを取り出して処理し、
前記フラッシュコマンドを処理する場合には、前記リードコマンドキュー手段から前記RMW用リードコマンドを優先的に取り出して処理するように構成されている請求項1に記載のデータ記憶装置。
【請求項3】
前記ライト処理手段は、
通常ライト処理を実行する場合に、マルチチャネルプログラム方式のライトコマンド処理を実行し、
前記フラッシュコマンドを処理する場合に、準備完了した前記RMW用ライトコマンドを含むライトコマンドを強制的に処理する前記ライトフラッシュ処理を実行するように構成されている請求項1または請求項2のいずれか1項に記載のデータ記憶装置。
【請求項4】
前記制御手段は、
前記RMW用リードコマンドの中で処理完了前のコマンドを検知する手段と、
前記フラッシュコマンドを処理する場合に、検知された処理完了前の前記RMW用リードコマンドの全てを処理完了させて、該当する全ての前記RMW用ライトコマンドを生成する手段と
を含む請求項1から請求項3のいずれか1項に記載のデータ記憶装置。
【請求項5】
前記リード処理手段は、
通常リード処理では、前記リードコマンドキュー手段から実行順に前記RMW用リードコマンドまたは前記通常リードコマンドを取り出して格納する第1のバッファ手段と、
前記フラッシュコマンドを処理する場合には、優先的に実行するために、前記リードコマンドキュー手段から前記RMW用リードコマンドを取り出して格納する第2のバッファ手段とを有する請求項2に記載のデータ記憶装置。
【請求項6】
前記ライト処理手段は、
前記RMW用ライトコマンド及び通常ライトコマンドを格納するライトコマンドキュー手段を有し、
通常ライト処理では、前記ライトコマンドキュー手段において全てのチャネル分の前記RMW用ライトコマンドまたは前記通常ライトコマンドが準備された場合に、前記マルチチャネルプログラム方式のライトコマンド処理を実行する請求項3に記載のデータ記憶装置。
【請求項7】
前記ライト処理手段は、
前記フラッシュコマンドを処理する場合に、準備完了して前記ライトコマンドキュー手段に格納された前記RMW用ライトコマンド又は前記通常ライトコマンドを強制的に処理する前記ライトフラッシュ処理を実行する請求項6に記載のデータ記憶装置。
【請求項8】
複数チャネルの不揮発性メモリを有するデータ記憶装置に適用するメモリ制御装置であって、
前記複数チャネルの不揮発性メモリにデータを書き込むライトコマンドを処理するライト処理手段と、
通常リードコマンドを処理し、かつリード・モディファイ・ライト動作を実行する場合にRMW用リードコマンドを処理するリード処理手段と、
前記リード処理手段及び前記ライト処理手段を制御する制御手段とを具備し、
前記制御手段は、
フラッシュコマンドを処理する場合に、前記通常リードコマンドよりも前記RMW用リードコマンドの処理を優先的に実行するように前記リード処理手段を制御し、
前記RMW用リードコマンド処理の完了後に移行する前記リード・モディファイ・ライト動作のRMW用ライトコマンドの処理を含むライトフラッシュ処理を前記ライト処理手段に実行させるように制御するメモリ制御装置。
【請求項9】
前記リード処理手段は、
前記通常リードコマンド及び前記RMW用リードコマンドを格納するリードコマンドキュー手段を有し、
通常リード処理では、前記リードコマンドキュー手段から実行順に前記RMW用リードコマンドまたは前記通常リードコマンドを取り出して処理し、
前記フラッシュコマンドを処理する場合には、前記リードコマンドキュー手段から前記RMW用リードコマンドを優先的に取り出して処理するように構成されている請求項8に記載のメモリ制御装置。
【請求項10】
複数チャネルの不揮発性メモリを有するデータ記憶装置に適用するメモリ制御方法であって、
通常ライト動作では、前記複数チャネルの不揮発性メモリにデータを書き込むライトコマンドを処理し、
リード・モディファイ・ライト動作を実行する場合に、当該リード・モディファイ・ライト動作のRMW用リードコマンドを処理し、
フラッシュコマンドを処理する場合に、通常リードコマンドよりも前記RMW用リードコマンドの処理を優先的に実行し、
前記RMW用リードコマンド処理の完了後に移行する前記リード・モディファイ・ライト動作のRMW用ライトコマンドの処理を含むライトフラッシュ処理を実行するメモリ制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2012−118784(P2012−118784A)
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願番号】特願2010−268303(P2010−268303)
【出願日】平成22年12月1日(2010.12.1)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】