JP2012018626A - メモリ制御装置、メモリ装置および停止制御方法 - Google Patents
メモリ制御装置、メモリ装置および停止制御方法 Download PDFInfo
- Publication number
- JP2012018626A JP2012018626A JP2010157018A JP2010157018A JP2012018626A JP 2012018626 A JP2012018626 A JP 2012018626A JP 2010157018 A JP2010157018 A JP 2010157018A JP 2010157018 A JP2010157018 A JP 2010157018A JP 2012018626 A JP2012018626 A JP 2012018626A
- Authority
- JP
- Japan
- Prior art keywords
- stage processing
- command
- transfer request
- skip
- unit
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Abstract
【課題】停止命令があった場合の装置の電源を落とすまでに要する時間を短縮する。
【解決手段】本実施形態のメモリ制御装置は、制御手段と、コマンドキュー手段と、複数のステージ処理手段と、スキップ手段と、を有する。制御手段は、ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する。コマンドキュー手段は、前記コマンドに対応した転送要求コマンドをキューイングする。ステージ処理手段は、前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理を実行する。スキップ手段は、前記制御手段からの停止命令を受けた場合に、前記ステージ処理手段におけるステージ処理を実行せずにスキップさせる。
【選択図】図2
【解決手段】本実施形態のメモリ制御装置は、制御手段と、コマンドキュー手段と、複数のステージ処理手段と、スキップ手段と、を有する。制御手段は、ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する。コマンドキュー手段は、前記コマンドに対応した転送要求コマンドをキューイングする。ステージ処理手段は、前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理を実行する。スキップ手段は、前記制御手段からの停止命令を受けた場合に、前記ステージ処理手段におけるステージ処理を実行せずにスキップさせる。
【選択図】図2
Description
本発明の実施形態は、メモリ制御装置、メモリ装置および停止制御方法に関する。
従来、ホストからのコマンドの投入により、NAND型フラッシュメモリに対するデータアクセスを制御するSSD(Solid State Drive)コントローラを備えたSSD装置が知られている。
しかしながら、この種のSSD装置では、電源断による緊急停止命令などの停止命令があった場合に、当該SSD装置の電源を落とすまでに時間がかかるという課題があった。
そこで、本発明は、前記課題に鑑みてなされたものであり、停止命令があった場合の装置の電源を落とすまでに要する時間を短縮することを目的とする。
本実施形態のメモリ制御装置は、制御手段と、コマンドキュー手段と、複数のステージ処理手段と、スキップ手段と、を有する。制御手段は、ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する。コマンドキュー手段は、前記コマンドに対応した転送要求コマンドをキューイングする。ステージ処理手段は、前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理を実行する。スキップ手段は、前記制御手段からの停止命令を受けた場合に、前記ステージ処理手段におけるステージ処理を実行せずにスキップさせる。
また、実施形態のメモリ装置は、不揮発性メモリと、制御手段と、コマンドキュー手段と、複数のステージ処理手段と、スキップ手段と、を有する。不揮発性メモリは、データを保持する。制御手段は、ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する。コマンドキュー手段は、前記コマンドに対応した転送要求コマンドをキューイングする。ステージ処理手段は、前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理を実行する。スキップ手段は、前記制御手段からの停止命令を受けた場合に、前記ステージ処理手段におけるステージ処理を実行せずにスキップさせる。
また、実施形態の停止制御方法は、メモリ制御装置で実行される。また、停止制御方法は、制御ステップと、コマンドキューステップと、ステージ処理ステップと、スキップステップと、を含む。制御ステップは、制御手段が、ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する。コマンドキューステップは、コマンドキュー手段が、前記コマンドに対応した転送要求コマンドをキューイングする。ステージ処理ステップは、各ステージ処理手段が、前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理をそれぞれ実行する。スキップステップは、スキップ手段が、前記制御手段からの停止命令を受けた場合に、前記ステージ処理手段におけるステージ処理を実行せずにスキップさせる。
以下、本発明の実施形態について添付図面を参照して説明する。
なお、以下では、本実施形態のメモリ制御装置、メモリ装置及び停止制御方法を、ホスト装置としてのパーソナルコンピュータに接続されるSSD装置に適用した場合について説明する。
図1は、本実施形態に係るSSD装置1の構成を説明するためのブロック図である。
図1に示すように、このSSD装置(メモリ装置)1は、パーソナルコンピュータなどのホスト装置Hの外部メモリとして機能するものであり、SSDコントローラ(メモリ制御装置)2と、DRAM3と、NAND型フラッシュメモリ(不揮発性メモリ)4とを備えている。
SSDコントローラ2は、CPU(制御手段)21、ホストインタフェース回路22、DRAMコントローラ23、フラッシュメモリコントローラ24などを備えており、それら各構成要素部21〜24が、バスラインBLを介して相互にデータ通信可能に接続されている。なお、このSSDコントローラ2は、一般的にSoC(System−on−Chip)と呼ばれている。
ここで、CPU21は、ホストインタフェース回路22、DRAMコントローラ23及びフラッシュメモリコントローラ24を制御するとともに、ホスト装置HからのNAND型フラッシュメモリ4に対するライト(WRITE)やリード(READ)などのデータアクセスのコマンド(命令)を処理制御する制御手段である。
ホストインタフェース回路22は、ホスト装置Hと通信接続する機能を有する回路である。
DRAMコントローラ23は、DRAM3に対するライト(WRITE)やリード(READ)などのデータアクセスを制御する機能を有する回路である。
フラッシュメモリコントローラ24は、NAND型フラッシュメモリ4に対するライト(WRITE)やリード(READ)などのデータアクセスを制御する機能を有する回路である。
また、DRAM3は、ホスト装置Hから受信してNAND型フラッシュメモリ4にライトするデータや、NAND型フラッシュメモリ4からリードしてホスト装置Hに送信するデータなどを一時的に記憶する揮発性メモリである。
また、NAND型フラッシュメモリ4は、電源供給が遮断された場合でも前記データなどの記憶内容を保持し続けることが可能な不揮発性メモリである。
なお、このSSD装置1では、ホスト装置HとNAND型フラッシュメモリ4の両者の転送レートが相違することから、ホスト装置HからNAND型フラッシュメモリ4に対するライトコマンドを受け取った場合、そのライトコマンドを、当該ホスト装置Hから受け取ってDRAM3に一時記憶したライトデータを、DRAM3からNAND型フラッシュメモリ4に転送する転送要求コマンドとして処理する。
また、一方、SSD装置1では、前記したような転送レートの相違から、ホスト装置HからNAND型フラッシュメモリ4に対するリードコマンドを受け取った場合、そのリードコマンドを、NAND型フラッシュメモリ4からリードしてDRAM3に一時記憶したリードデータを、DRAM3からホスト装置Hへ転送する転送要求コマンドとして処理する。
また、このSSD装置1では、起動時に、不図示のブートROMに格納されたブート用プログラムをDRAM3などにリードすることにより、CPU21が、ファームウエア(以下、単に「FW」という。)を実行する。
なお、FWとは、ホスト装置Hからのコマンド解析処理や、フラッシュメモリコントローラ24への前記転送要求コマンドの投入処理を実行したり、LBA重複チェック、コンパクション、パトロール、エラー回復処理、統計情報計測処理などの各種処理を実行したりするものである。
図2は、図1に示したフラッシュメモリコントローラ24の詳細な構成を説明するための図である。
図2に示すように、このフラッシュメモリコントローラ24は、コマンドキュー(コマンドキュー手段)241、NANDアドレス決定部(ステージ処理手段)242、NANDコントローラ(ステージ処理手段)243、情報更新部(ステージ処理手段)244、レスポンスキュー(レスポンスキュー手段)245、レジスタ246、バスインタフェース247などを備えており、各構成要素部241〜247が、バスインタフェース247を介してバスラインBLにデータ通信可能に接続されている。
ここで、コマンドキュー241は、ホスト装置Hからのライトコマンドまたはリードコマンドに対応する前記転送要求コマンドをキューイングする内部バッファである。
NANDアドレス決定部242は、コマンドキュー241にキューイングされた転送要求コマンドに係るステージ(段階)処理を実行するステージ処理手段であり、前記転送要求コマンドが有する情報に基づいてデータアクセスするNAND型フラッシュメモリ4のアドレスを決定する回路である。
NANDコントローラ243は、コマンドキュー241にキューイングされた転送要求コマンドに係るステージ処理を実行するステージ処理手段であり、NAND型フラッシュメモリ4に対するデータライトまたはデータリードなどのデータアクセスを実行する回路である。なお、このNANDコントローラ243は、ランダマイズ処理などのデータ加工処理や誤り訂正符号付与などのエラー訂正を行うデータ処理部(ステージ処理手段)243Aと、NAND型フラッシュメモリ4に対するアクセスを実行するインタフェース制御部(ステージ処理手段)243Bとを有している。
情報更新部244は、コマンドキュー241にキューイングされた転送要求コマンドに係るステージ処理を実行するステージ処理手段であり、DRAM3上に展開された情報テーブル(不図示)で管理されるアドレス情報やアクセス履歴情報などの各種情報を更新する回路である。なお、アドレス情報とは、例えば、ホスト装置Hから送信されてきたライトデータを格納したNAND型フラッシュメモリ4のアドレスや、ホスト装置Hへ送信するリードデータを格納したNAND型フラッシュメモリ4のアドレスのことである。
なお、前記したNANDアドレス決定部242と、NANDコントローラ243のデータ処理部243A及びインタフェース制御部243Bと、情報更新部244は、それぞれ、CPU(FW)21からの停止命令を受けた場合に、ステージ処理を実行せずにスキップさせるパージ処理部(スキップ手段)Pを有している。
このパージ処理部Pは、レジスタ246から後述の通知を受けた場合に、フラッシュメモリコントローラ24でコマンドキュー241から引き抜かれて現在実行中の転送要求コマンドに係る各ステージ処理手段におけるステージ処理をスキップすべく、現在実行中の転送要求コマンドにパージフラグを付与して後段のステージ処理手段へ出力するとともに、既にパージフラグが付与されている転送要求コマンドを後段のステージ処理手段へ受け渡すパージ処理を実行する。
レスポンスキュー245は、ホスト装置Hからの転送要求の処理結果を示すレスポンス、特に、本実施形態では、パージ処理部(スキップ手段)Pでスキップされた転送要求コマンドの処理結果を示すレスポンスを、キューイングする内部バッファである。
レジスタ246は、フラッシュメモリコントローラ24がCPU(FW)21から停止命令を受けた場合に、その情報を保持するとともに、前記したパージ処理部Pに停止命令があった旨を通知する回路である。
バスインタフェース247は、バスラインBLと通信接続する機能を有する回路である。
なお、特に図示していないが、本実施形態のフラッシュメモリコントローラ24は、各ステージ処理手段で実行途中の転送要求コマンドが全てスキップされたことを検知し、スキップされた転送要求コマンドの情報を含めて、フラッシュメモリコントローラ24内のパージ処理が終了したことをCPU(FW)21に通知する通知手段を有している。
即ち、本実施形態のSSD装置1では、電源断などにより、フラッシュメモリコントローラ24がCPU(FW)21から停止命令を受取った場合に、フラッシュメモリコントローラ24でコマンドキュー241から引き抜かれて現在実行中の転送要求コマンドに係る各ステージ処理をスキップすべく、各パージ処理部Pが、現在実行中の転送要求コマンドにパージフラグを付与して後段のステージ処理手段へ出力するとともに、既にパージフラグが付与されている転送要求コマンドを後段のステージ処理手段へ受け渡すパージ処理を行う。
その後、本実施形態のSSD装置1では、各パージ処理部Pでスキップされてレスポンスキュー245にスキップした旨を示すレスポンスがキューイングされ、CPU(FW)21に通知された後に、SSD装置1の電源を落とす。
次に、前記した構成のフラッシュメモリコントローラ24の具体的な処理動作について図3〜図6を用いて説明する。
図3は、フラッシュメモリコントローラ24が、ホスト装置Hからのライトコマンドに対応する転送要求コマンドを実行する場合のフローを説明するための図である。
図3に示すように、まず、SSD装置1は、SSDコントローラ2が、ホスト装置Hからのライトコマンドを入力すると、まず、ステップS1において、CPU21、ホストインタフェース回路22およびDRAMコントローラ23が、コマンド解析処理などのフロントエンド処理を実行する。
続いて、ステップS2において、コマンドキュー241が、解析されたライトコマンドに対応する転送要求コマンドをキューイングし、DRAMコントローラ23が、ライトデータをDRAM3に一時記憶する。
そして、CPU21が、コマンドキュー241にキューイングされた転送要求コマンドを順次引き抜いて実行する。
具体的には、まず、ステップS3において、NANDアドレス決定部242が、CPU21により引き抜かれた転送要求コマンドに係る段階(ステージ)処理として、NAND型フラッシュメモリ4の書き込み先のアドレスを決定する。
続いて、ステップS4において、CPU21の制御のもと、DRAMコントローラ23が、DRAM3に一時記憶したライトデータを読み出す。
続いて、ステップS5において、NANDコントローラ243のデータ処理部243Aが、前記読み出されたライトデータに対してランダマイズ処理などのデータ加工処理や誤り訂正符号付与などのエラー訂正処理を実行する。
続いて、ステップS6において、NANDコントローラ243のインタフェース制御部243Bが、NAND型フラッシュメモリ4に対するライトデータのライト処理を実行する。
前記ライトデータのライト処理が終了すると、NAND型フラッシュメモリ4がレスポンスを返してくるので、続いて、ステップS7において、NANDコントローラ243が、レスポンスをチェックし、続いて、ステップS8において、情報更新部244が、DRAM3上の情報、即ち、ホスト装置4から受け取ったライトデータと、そのライトデータをライトしたNAND型フラッシュメモリ4のアドレスとを一意に特定するための情報を更新する。
最後に、ステップS9において、レスポンスキュー245が、NAND型フラッシュメモリ4に対してライトデータが正常にライトされたなどの処理結果を示すレスポンスをキューイングする。これにより、フラッシュメモリコントローラ24における処理フローが完了する。
その後、ステップS1に移行して、CPU21が、レスポンスキュー245からレスポンスを順次引き抜いて、フロントエンド処理を実行し、ホスト装置Hにライトコマンドの完了を通知することにより、SSDコントローラ2における処理が完了する。
図4は、フラッシュメモリコントローラ24が、ホスト装置Hからのリードコマンドに対応する転送要求コマンドを実行する場合のフローを説明するための図である。
図4に示すように、まず、SSD装置1は、SSDコントローラ2が、ホスト装置Hからのリードコマンドを入力すると、まず、ステップS10において、ホストインタフェース回路22、DRAMコントローラ23およびCPU21が、コマンド解析処理などのフロントエンド処理を実行する。
続いて、ステップS11において、コマンドキュー241が、解析されたリードコマンドに対応する転送要求コマンドをキューイングする。
そして、CPU21が、コマンドキュー241にキューイングされた転送要求コマンドを順次引き抜いて実行する。
具体的には、まず、ステップS12において、CPU21の制御のもと、DRAMコントローラ23が、リード対象となるリードデータがNAND型フラッシュメモリ4のどのアドレスにライトされているかの情報をDRAM3からリードする。なお、その情報は、図3のステップS8などでライトした情報である。
続いて、ステップS13において、前記リードした情報に基づいて、NANDコントローラ243のインタフェース制御部243Bが、NAND型フラッシュメモリ4に対するリードデータのリード処理を実行する。
前記リードデータのリード処理が終了すると、続いて、ステップS14において、NANDコントローラ243のデータ処理部243Aが、ライト処理時に追加した誤り訂正符号のチェックやランダマイズしたデータを元に戻すなどのデータチェック処理を実行する。
続いて、ステップS15において、CPU21の制御のもと、DRAMコントローラ23が、リードしたリードデータをDRAM3にライトし、ステップS16において、レスポンスキュー245が、当該リード処理の結果を示すレスポンスをキューイングする。これにより、フラッシュメモリコントローラ24における処理フローが完了する。
その後、ステップS10に移行して、CPU21が、レスポンスキュー245からレスポンスを順次引き抜いて、フロントエンド処理を実行し、ホスト装置Hにリードコマンドの完了を通知することにより、SSDコントローラ2における処理が完了する。
図5及び図6は、本実施形態のSSD装置1において、SSD装置1の電源断などによりCPU(FW)21から停止命令が発行された場合の処理を説明するための図であり、特に、フラッシュメモリコントローラ24が、CPU21(FW)からの停止命令を受けた場合の処理を説明するための図である。
なお、図5が、図3に示したライト時の処理フローにおいて各ステージ間で実行途中の転送要求コマンドに対するステージ(段階)処理をパージする様子を示し、図6が、図4に示したリード時の処理フローにおいて各ステージ間で実行途中の転送要求コマンドに対するステージ(段階)処理をパージする様子を示している。なお、図5及び図6の説明では、図1〜図4を適宜参照するものとする。
図5及び図6に示すように、SSD装置1では、電源断などによりCPU(FW)21において停止命令が発生すると、CPU(FW)21の制御のもと、ホスト装置Hからのコマンドの受付を停止するとともに、フラッシュメモリコントローラ24のコマンドキュー241にキューイングされている転送要求コマンドを破棄する処理動作を実行するとともに、CPU(FW)21から停止命令を受け取ったフラッシュメモリコントローラ24のレジスタ246が、各ステージ処理を実行するステージ処理手段としてのNANDアドレス決定部242、NANDコントローラ243及び情報更新部244に搭載されたパージ処理部Pに対して停止命令が来た旨を通知する。
すると、各パージ処理部Pが、自己が搭載されたステージ処理手段で実行中の転送要求コマンドに対してパージ処理を実行するためのパージフラグの付与を行うとともに、パージフラグが付与されている転送要求コマンドを受取った場合に、その転送要求コマンドに対するステージ処理を実行せずに後段のステージ処理手段へ受け渡す。これにより、各ステージ処理手段における転送要求コマンドに対するステージ処理を省略することが可能である。
図7及び図8は、従来のSSD装置において、SSD装置の電源断などによりCPU(FW)から停止命令が発行された場合の処理を説明するための図である。
なお、図7が、ライト時における停止命令の処理フローを示し、図8が、リード時における停止命令の処理フローを示している。
図7及び図8に示すように、従来のSSD装置では、電源断などによりCPU(FW)において停止命令が発生すると、CPU(FW)の制御のもと、ホスト装置Hからのコマンドの受付を停止するとともに、フラッシュメモリコントローラ(不図示)のコマンドキューにキューイングされている転送要求コマンドを破棄する処理動作を実行する。即ち、このような処理は、停止命令の発生後に、新しい転送要求コマンドが実行されるのを防ぐ方法である。
その後、従来のSSD装置では、フラッシュメモリコントローラ(不図示)内部で既に実行中の転送要求コマンドに対する各ステージ処理(ステップS102〜ステップS109や、ステップS202〜ステップS207)が全て終了するまで待機し、全て終了した後、SSD装置の回路動作を停止する。
以上説明した実施形態によれば、FWの処理を煩雑化することなく、停止命令が発生した場合のSSD装置の電源を落とすまでに要する時間を短縮することができる。また、そのように電源を落とすまでに要する時間を短縮することができることにより、電源断などの緊急停止時にキャパシタに確保する電力量を低減することが可能であるため、SSD装置に搭載するキャパシタを小型化することができ、SSD装置を小型化でき且つ安価に製造することができる。
より具体的には、前記した実施形態によれば、従来のようにフラッシュメモリコントローラで実行中の転送要求コマンドの各ステージ処理が全て終了するのを待機することなく、SSD装置の電源を落とすことができるので、従来に比べて停止命令があった場合のSSD装置の電源を落とすまでに要する時間を短縮することができる。
また、本実施形態によれば、各パージ処理部Pが、自己が搭載されるステージ処理手段におけるステージ処理が完了して後段のステージ処理手段に出力するタイミングでパージフラグの付与を行うように構成したため、DRAM3やNAND型フラッシュメモリ4などの記憶媒体に対するデータアクセスを途中で中段せずに済むので、それら記憶媒体を壊さずに済む。
以上、例示的な実施形態に基づいて説明したが、本実施形態のメモリ制御装置、メモリ装置及び停止制御方法は、前記した実施形態により限定されるものではない。
例えば、前記した実施形態では、フラッシュメモリコントローラ24のNANDアドレス決定部242と、NANDコントローラ243のデータ処理部234A及びインタフェース制御部243Bと、情報更新部244とが、それぞれパージ処理部Pを有している形態について説明したが、これに限定されず、それら各構成要素部242、243及び244の少なくとも一つがパージ処理部Pを有していれば良く、例えば、NANDコントローラ243のみがパージ処理部Pを有しているような形態とすることも可能である。
また、前記した実施形態では、SSD装置1のSSDコントローラ(SoCチップ)2が、1つのCPU21を搭載する形態について説明したが、これ以外にも、例えば、2つ以上のCPUを搭載する形態とすることも可能である。
また、前記した実施形態では、本実施形態のメモリ制御装置として、NAND型フラッシュメモリを制御するSSDコントローラ(SoCチップ)2の場合について説明し、本実施形態のメモリ装置として、前記SSDコントローラ(SoCチップ)2を備えたSSD装置1の場合について説明したが、これ以外にも、例えば、本実施形態のメモリ制御装置として、NAND型フラッシュメモリ以外の不揮発性メモリとしての記憶媒体を制御する他のメモリ制御装置とし、本実施形態のメモリ装置として、前記した他のメモリ制御装置とすることも可能である。
その他、前記した実施形態におけるSSD装置及びSSDコントローラ(SoCチップ)や、NAND型フラッシュメモリのハードウエア構成(回路構成)などは、単なる例として記載したものであり、本実施形態は、これらにより限定されない。
1 SSD装置(メモリ装置)
2 SSDコントローラ(SoCチップ)(メモリ制御装置)
21 CPU(制御手段)
22 ホストインタフェース回路
23 DRAMコントローラ
24 フラッシュメモリコントローラ
241 コマンドキュー(コマンドキュー手段)
242 NANDアドレス決定部(ステージ処理手段)
243 NANDコントローラ(ステージ処理手段)
243A データ処理部(ステージ処理手段)
243B インタフェース制御部(ステージ処理手段)
P パージ処理部(スキップ手段)
244 情報更新部(ステージ処理手段)
245 レスポンスキュー(レスポンスキュー手段)
246 レジスタ
247 バスインタフェース
3 DRAM
4 NAND型フラッシュメモリ(不揮発性メモリ)
H ホスト装置
2 SSDコントローラ(SoCチップ)(メモリ制御装置)
21 CPU(制御手段)
22 ホストインタフェース回路
23 DRAMコントローラ
24 フラッシュメモリコントローラ
241 コマンドキュー(コマンドキュー手段)
242 NANDアドレス決定部(ステージ処理手段)
243 NANDコントローラ(ステージ処理手段)
243A データ処理部(ステージ処理手段)
243B インタフェース制御部(ステージ処理手段)
P パージ処理部(スキップ手段)
244 情報更新部(ステージ処理手段)
245 レスポンスキュー(レスポンスキュー手段)
246 レジスタ
247 バスインタフェース
3 DRAM
4 NAND型フラッシュメモリ(不揮発性メモリ)
H ホスト装置
本実施形態のメモリ制御装置は、制御手段と、コマンドキュー手段と、複数のステージ処理手段と、スキップ手段と、を有する。制御手段は、ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する。コマンドキュー手段は、前記コマンドに対応した転送要求コマンドをキューイングする。ステージ処理手段は、前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理を実行する。スキップ手段は、前記複数のステージ処理手段のうち記憶媒体に対するデータアクセス処理を実行するステージ処理手段に少なくとも設けられ、前記制御手段からの停止命令を受けた場合に、自己が設けられるステージ処理手段におけるステージ処理が終了後であって後段のステージ処理手段に前記転送要求コマンドを渡す前に、前記転送要求コマンドに係るステージ処理を実行せずにスキップさせるためのスキップフラグを前記転送要求コマンドに付与して後段のステージ処理手段に渡すとともに、前記スキップフラグが付与されている転送要求コマンドを前段のステージ処理手段から受取った場合に、該受け取った転送要求コマンドを後段のステージ処理手段へ受け渡す。
また、本実施形態のメモリ装置は、不揮発性メモリと、制御手段と、コマンドキュー手段と、複数のステージ処理手段と、スキップ手段と、を有する。不揮発性メモリは、データを保持する。制御手段は、ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する。コマンドキュー手段は、前記コマンドに対応した転送要求コマンドをキューイングする。ステージ処理手段は、前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理を実行する。スキップ手段は、前記複数のステージ処理手段のうち記憶媒体に対するデータアクセス処理を実行するステージ処理手段に少なくとも設けられ、前記制御手段からの停止命令を受けた場合に、自己が設けられるステージ処理手段におけるステージ処理が終了後であって後段のステージ処理手段に前記転送要求コマンドを渡す前に、前記転送要求コマンドに係るステージ処理を実行せずにスキップさせるためのスキップフラグを前記転送要求コマンドに付与して後段のステージ処理手段に渡すとともに、前記スキップフラグが付与されている転送要求コマンドを前段のステージ処理手段から受取った場合に、該受け取った転送要求コマンドを後段のステージ処理手段へ受け渡す。
また、実施形態の停止制御方法は、メモリ制御装置で実行される。また、停止制御方法は、制御ステップと、コマンドキューステップと、ステージ処理ステップと、スキップステップと、を含む。制御ステップは、制御手段が、ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する。コマンドキューステップは、コマンドキュー手段が、前記コマンドに対応した転送要求コマンドをキューイングする。ステージ処理ステップは、複数のステージ処理手段のそれぞれが、前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理を実行する。スキップステップは、前記複数のステージ処理手段のうち記憶媒体に対するデータアクセス処理を実行するステージ処理手段に少なくとも設けられたスキップ手段が、前記制御手段からの停止命令を受けた場合に、自己が設けられるステージ処理手段におけるステージ処理が終了後であって後段のステージ処理手段に前記転送要求コマンドを渡す前に、前記転送要求コマンドに係るステージ処理を実行せずにスキップさせるためのスキップフラグを前記転送要求コマンドに付与して後段のステージ処理手段に渡すとともに、前記スキップフラグが付与されている転送要求コマンドを前段のステージ処理手段から受取った場合に、該受け取った転送要求コマンドを後段のステージ処理手段へ受け渡す。
Claims (13)
- ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する制御手段と、
前記コマンドに対応した転送要求コマンドをキューイングするコマンドキュー手段と、
前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理を実行する複数のステージ処理手段と、
前記制御手段からの停止命令を受けた場合に、前記ステージ処理手段におけるステージ処理を実行せずにスキップさせるスキップ手段と、
を有することを特徴とするメモリ制御装置。 - 前記スキップ手段でスキップされた転送要求コマンドの処理結果を示すレスポンスを、キューイングするレスポンスキュー手段を更に有することを特徴とする請求項1に記載のメモリ制御装置。
- 前記複数のステージ処理手段の少なくとも一つが、前記スキップ手段を有し、
前記スキップ手段は、前記停止命令を受けた場合に、前記転送要求コマンドに係るステージ処理を実行せずにスキップさせるスキップフラグを付与して後段のステージ処理手段に渡すとともに、前記スキップフラグが付与されている転送要求コマンドを受取った場合に、当該転送要求コマンドのステージ処理を実行せずに後段のステージ処理手段へ受け渡すことを特徴とする請求項1または2に記載のメモリ制御装置。 - 前記不揮発性メモリに対するデータアクセス処理を実行するステージ処理手段のみが、前記スキップ手段を有することを特徴とする請求項3に記載のメモリ制御装置。
- 前記スキップ手段は、前記スキップフラグの付与を、当該ステージ処理手段におけるステージ処理が終了して後段のステージ処理手段に渡すタイミングで行うことを特徴とする請求項3または4に記載のメモリ制御装置。
- 前記スキップ手段でスキップされた転送要求コマンドの情報を、前記制御手段に通知する通知手段を更に有する請求項1〜5のいずれか一項に記載のメモリ制御装置。
- データを保持する不揮発性メモリと、
ホストからの前記不揮発性メモリに対するデータアクセスのコマンドを処理制御する制御手段と、
前記コマンドに対応した転送要求コマンドをキューイングするコマンドキュー手段と、
前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理を実行する複数のステージ処理手段と、
前記制御手段からの停止命令を受けた場合に、前記ステージ処理手段におけるステージ処理を実行せずにスキップさせるスキップ手段と、
を有することを特徴とするメモリ装置。 - 前記スキップ手段でスキップされた転送要求コマンドの処理結果を示すレスポンスを、キューイングするレスポンスキュー手段を更に有することを特徴とする請求項7に記載のメモリ装置。
- 前記複数のステージ処理手段の少なくとも一つが、前記スキップ手段を有し、
前記スキップ手段は、前記停止命令を受けた場合に、前記転送要求コマンドに係るステージ処理を実行せずにスキップさせるスキップフラグを付与して後段のステージ処理手段に渡すとともに、前記スキップフラグが付与されている転送要求コマンドを受取った場合に、当該転送要求コマンドのステージ処理を実行せずに後段のステージ処理手段へ受け渡すことを特徴とする請求項7または8に記載のメモリ装置。 - 前記不揮発性メモリに対するデータアクセス処理を実行するステージ処理手段のみが、前記スキップ手段を有することを特徴とする請求項9に記載のメモリ装置。
- 前記スキップ手段は、前記スキップフラグの付与を、当該ステージ処理手段におけるステージ処理が終了して後段のステージ処理手段に渡すタイミングで行うことを特徴とする請求項9または10に記載のメモリ装置。
- 前記スキップ手段でスキップされた転送要求コマンドの情報を、前記制御手段に通知する通知手段を更に有する請求項7〜11のいずれか一項に記載のメモリ装置。
- メモリ制御装置で実行される停止制御方法であって、
制御手段が、ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する制御ステップと、
コマンドキュー手段が、前記コマンドに対応した転送要求コマンドをキューイングするコマンドキューステップと、
各ステージ処理手段が、前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理をそれぞれ実行するステージ処理ステップと、
スキップ手段が、前記制御手段からの停止命令を受けた場合に、前記ステージ処理手段におけるステージ処理を実行せずにスキップさせるスキップステップと、
を含むことを特徴とする停止制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010157018A JP4829370B1 (ja) | 2010-07-09 | 2010-07-09 | メモリ制御装置、メモリ装置および停止制御方法 |
US13/086,240 US8359425B2 (en) | 2010-07-09 | 2011-04-13 | Memory control device, memory device, and shutdown control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010157018A JP4829370B1 (ja) | 2010-07-09 | 2010-07-09 | メモリ制御装置、メモリ装置および停止制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP4829370B1 JP4829370B1 (ja) | 2011-12-07 |
JP2012018626A true JP2012018626A (ja) | 2012-01-26 |
Family
ID=45418119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010157018A Expired - Fee Related JP4829370B1 (ja) | 2010-07-09 | 2010-07-09 | メモリ制御装置、メモリ装置および停止制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8359425B2 (ja) |
JP (1) | JP4829370B1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9792989B2 (en) | 2013-02-07 | 2017-10-17 | Toshiba Memory Corporation | Memory system including nonvolatile memory |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9009393B1 (en) * | 2008-09-23 | 2015-04-14 | Marvell International Ltd. | Hybrid solid-state disk (SSD)/hard disk drive (HDD) architectures |
US9256384B2 (en) * | 2013-02-04 | 2016-02-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for reducing write latency in a data storage system by using a command-push model |
JP6054203B2 (ja) * | 2013-02-28 | 2016-12-27 | 株式会社東芝 | 情報処理装置、デバイス制御方法及びプログラム |
US20170109101A1 (en) * | 2015-10-16 | 2017-04-20 | Samsung Electronics Co., Ltd. | System and method for initiating storage device tasks based upon information from the memory channel interconnect |
TWI678621B (zh) * | 2018-06-01 | 2019-12-01 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
US11086737B2 (en) * | 2019-01-16 | 2021-08-10 | Western Digital Technologies, Inc. | Non-volatile storage system with rapid recovery from ungraceful shutdown |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01283656A (ja) * | 1988-05-11 | 1989-11-15 | Fujitsu Ltd | チャネルコマンド語チェイン装置 |
JPH05314063A (ja) * | 1992-05-06 | 1993-11-26 | Canon Inc | 多重バス制御方式 |
JPH11219294A (ja) * | 1997-11-21 | 1999-08-10 | Matsushita Electric Ind Co Ltd | プログラム制御方法及び装置 |
JP2000076737A (ja) * | 1998-08-31 | 2000-03-14 | Canon Inc | 音声制御機能を備えた記録再生装置、記録再生方法、及び記憶媒体 |
JP2002099348A (ja) * | 2000-09-21 | 2002-04-05 | Matsushita Electric Ind Co Ltd | クロック制御方法およびクロック制御装置 |
JP2006309454A (ja) * | 2005-04-27 | 2006-11-09 | Denso Corp | プログラム制御方法及びプロセッサ |
JP2007310905A (ja) * | 2007-07-19 | 2007-11-29 | Hitachi Ltd | 半導体集積回路 |
JP2009043044A (ja) * | 2007-08-09 | 2009-02-26 | Renesas Technology Corp | 半導体装置 |
WO2009032936A1 (en) * | 2007-09-06 | 2009-03-12 | Qualcomm Incorporated | System and method of executing instructions in a multi-stage data processing pipeline |
JP2010079693A (ja) * | 2008-09-26 | 2010-04-08 | Casio Computer Co Ltd | 決裁装置及びプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6370638B1 (en) | 1997-11-21 | 2002-04-09 | Matsushita Electric Industrial Co., Ltd. | Apparatus and method of computer program control in computer systems using pipeline processing |
US6490664B1 (en) * | 1999-06-14 | 2002-12-03 | International Business Machines Corporation | Method and system for handling destage requests during shut-down in a log-structured array |
JP4153802B2 (ja) | 2003-02-07 | 2008-09-24 | 株式会社ルネサステクノロジ | 記憶装置 |
US7725694B2 (en) | 2004-12-21 | 2010-05-25 | Denso Corporation | Processor, microcomputer and method for controlling program of microcomputer |
JP4661748B2 (ja) | 2006-09-22 | 2011-03-30 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
-
2010
- 2010-07-09 JP JP2010157018A patent/JP4829370B1/ja not_active Expired - Fee Related
-
2011
- 2011-04-13 US US13/086,240 patent/US8359425B2/en not_active Expired - Fee Related
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01283656A (ja) * | 1988-05-11 | 1989-11-15 | Fujitsu Ltd | チャネルコマンド語チェイン装置 |
JPH05314063A (ja) * | 1992-05-06 | 1993-11-26 | Canon Inc | 多重バス制御方式 |
JPH11219294A (ja) * | 1997-11-21 | 1999-08-10 | Matsushita Electric Ind Co Ltd | プログラム制御方法及び装置 |
JP2000076737A (ja) * | 1998-08-31 | 2000-03-14 | Canon Inc | 音声制御機能を備えた記録再生装置、記録再生方法、及び記憶媒体 |
JP2002099348A (ja) * | 2000-09-21 | 2002-04-05 | Matsushita Electric Ind Co Ltd | クロック制御方法およびクロック制御装置 |
JP2006309454A (ja) * | 2005-04-27 | 2006-11-09 | Denso Corp | プログラム制御方法及びプロセッサ |
JP2007310905A (ja) * | 2007-07-19 | 2007-11-29 | Hitachi Ltd | 半導体集積回路 |
JP2009043044A (ja) * | 2007-08-09 | 2009-02-26 | Renesas Technology Corp | 半導体装置 |
WO2009032936A1 (en) * | 2007-09-06 | 2009-03-12 | Qualcomm Incorporated | System and method of executing instructions in a multi-stage data processing pipeline |
JP2010538398A (ja) * | 2007-09-06 | 2010-12-09 | クゥアルコム・インコーポレイテッド | マルチステージデータ処理パイプラインにおける命令実行システム及び方法 |
JP2010079693A (ja) * | 2008-09-26 | 2010-04-08 | Casio Computer Co Ltd | 決裁装置及びプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9792989B2 (en) | 2013-02-07 | 2017-10-17 | Toshiba Memory Corporation | Memory system including nonvolatile memory |
Also Published As
Publication number | Publication date |
---|---|
JP4829370B1 (ja) | 2011-12-07 |
US20120011303A1 (en) | 2012-01-12 |
US8359425B2 (en) | 2013-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4829370B1 (ja) | メモリ制御装置、メモリ装置および停止制御方法 | |
JP5831271B2 (ja) | 半導体不揮発性メモリ装置のリフレッシュ操作開始方法およびシステム | |
JP4530059B2 (ja) | ディスクアレイ装置、ファームウェア交換方法およびファームウェア交換プログラム | |
US8595427B1 (en) | Non-volatile block storage module using magnetic random access memory (MRAM) | |
CN103282887A (zh) | 用于进行后台操作的控制器和方法 | |
JP2008065434A (ja) | プログラム起動制御装置 | |
TW201308080A (zh) | 記憶體儲存裝置、記憶體控制器與資料寫入方法 | |
US20100169546A1 (en) | Flash memory access circuit | |
US20190155765A1 (en) | Operation method of host system including storage device and operation method of storage device controller | |
US9811473B2 (en) | Storage unit controller and control method thereof, and storage device | |
JP2005071303A (ja) | プログラム起動装置 | |
KR20160074025A (ko) | 데이터 저장 장치의 동작 방법 | |
US10467020B2 (en) | Memory device, and information-processing device | |
JP2010086009A (ja) | 記憶装置およびメモリ制御方法 | |
KR101627322B1 (ko) | 비-휘발성 버퍼를 이용한 데이터 저장 장치 및 방법 | |
JP2007305105A (ja) | メモリコントローラ | |
TW201721653A (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
JP2013200692A (ja) | メモリシステム | |
US20100325373A1 (en) | Duplexing Apparatus and Duplexing Control Method | |
JPH11265283A (ja) | 記憶装置におけるファームウェアの修正方法及び記憶装置 | |
JP2006227923A (ja) | ディスク管理装置およびディスク管理プログラム | |
JP5223612B2 (ja) | ディスク制御装置およびファームウェアの更新方法 | |
JP2010198127A (ja) | 半導体記憶デバイス及びその制御方法 | |
US20150193291A1 (en) | Error handling method, memory storage device and memory controlling circuit unit | |
JP2019159437A (ja) | 情報処理装置、転送制御方法および転送制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110915 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140922 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140922 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |