JP2012018626A - メモリ制御装置、メモリ装置および停止制御方法 - Google Patents

メモリ制御装置、メモリ装置および停止制御方法 Download PDF

Info

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
Application number
JP2010157018A
Other languages
English (en)
Other versions
JP4829370B1 (ja
Inventor
Kiyotaka Iwasaki
清隆 岩崎
Hironao Suzuki
浩尚 鈴木
Toru Fukuda
徹 福田
Motohiko Matsuyama
元彦 松山
Yoshimasa Aoyama
能正 青山
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 JP2010157018A priority Critical patent/JP4829370B1/ja
Priority to US13/086,240 priority patent/US8359425B2/en
Application granted granted Critical
Publication of JP4829370B1 publication Critical patent/JP4829370B1/ja
Publication of JP2012018626A publication Critical patent/JP2012018626A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • 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/0611Improving I/O performance in relation to response time
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

【課題】停止命令があった場合の装置の電源を落とすまでに要する時間を短縮する。
【解決手段】本実施形態のメモリ制御装置は、制御手段と、コマンドキュー手段と、複数のステージ処理手段と、スキップ手段と、を有する。制御手段は、ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する。コマンドキュー手段は、前記コマンドに対応した転送要求コマンドをキューイングする。ステージ処理手段は、前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理を実行する。スキップ手段は、前記制御手段からの停止命令を受けた場合に、前記ステージ処理手段におけるステージ処理を実行せずにスキップさせる。
【選択図】図2

Description

本発明の実施形態は、メモリ制御装置、メモリ装置および停止制御方法に関する。
従来、ホストからのコマンドの投入により、NAND型フラッシュメモリに対するデータアクセスを制御するSSD(Solid State Drive)コントローラを備えたSSD装置が知られている。
特開2004−240820号公報
しかしながら、この種のSSD装置では、電源断による緊急停止命令などの停止命令があった場合に、当該SSD装置の電源を落とすまでに時間がかかるという課題があった。
そこで、本発明は、前記課題に鑑みてなされたものであり、停止命令があった場合の装置の電源を落とすまでに要する時間を短縮することを目的とする。
本実施形態のメモリ制御装置は、制御手段と、コマンドキュー手段と、複数のステージ処理手段と、スキップ手段と、を有する。制御手段は、ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する。コマンドキュー手段は、前記コマンドに対応した転送要求コマンドをキューイングする。ステージ処理手段は、前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理を実行する。スキップ手段は、前記制御手段からの停止命令を受けた場合に、前記ステージ処理手段におけるステージ処理を実行せずにスキップさせる。
また、実施形態のメモリ装置は、不揮発性メモリと、制御手段と、コマンドキュー手段と、複数のステージ処理手段と、スキップ手段と、を有する。不揮発性メモリは、データを保持する。制御手段は、ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する。コマンドキュー手段は、前記コマンドに対応した転送要求コマンドをキューイングする。ステージ処理手段は、前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理を実行する。スキップ手段は、前記制御手段からの停止命令を受けた場合に、前記ステージ処理手段におけるステージ処理を実行せずにスキップさせる。
また、実施形態の停止制御方法は、メモリ制御装置で実行される。また、停止制御方法は、制御ステップと、コマンドキューステップと、ステージ処理ステップと、スキップステップと、を含む。制御ステップは、制御手段が、ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する。コマンドキューステップは、コマンドキュー手段が、前記コマンドに対応した転送要求コマンドをキューイングする。ステージ処理ステップは、各ステージ処理手段が、前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理をそれぞれ実行する。スキップステップは、スキップ手段が、前記制御手段からの停止命令を受けた場合に、前記ステージ処理手段におけるステージ処理を実行せずにスキップさせる。
図1は、SSDの構成を説明するためのブロック図である。 図2は、図1に示したフラッシュメモリコントローラの詳細な構成を説明するための図である。 図3は、本実施形態のSSD装置の具体的な処理動作を説明するための図である。 図4は、本実施形態のSSD装置の具体的な処理動作を説明するための図である。 図5は、本実施形態のSSD装置の具体的な処理動作を説明するための図である。 図6は、本実施形態のSSD装置の具体的な処理動作を説明するための図である。 図7は、従来のSSD装置の具体的な処理動作を説明するための図である。 図8は、従来の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 ホスト装置
本実施形態のメモリ制御装置は、制御手段と、コマンドキュー手段と、複数のステージ処理手段と、スキップ手段と、を有する。制御手段は、ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する。コマンドキュー手段は、前記コマンドに対応した転送要求コマンドをキューイングする。ステージ処理手段は、前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理を実行する。スキップ手段は、前記複数のステージ処理手段のうち記憶媒体に対するデータアクセス処理を実行するステージ処理手段に少なくとも設けられ、前記制御手段からの停止命令を受けた場合に、自己が設けられるステージ処理手段におけるステージ処理が終了後であって後段のステージ処理手段に前記転送要求コマンドを渡す前に、前記転送要求コマンドに係るステージ処理を実行せずにスキップさせるためのスキップフラグを前記転送要求コマンドに付与して後段のステージ処理手段に渡すとともに、前記スキップフラグが付与されている転送要求コマンドを前段のステージ処理手段から受取った場合に、該受け取った転送要求コマンドを後段のステージ処理手段へ受け渡す
また、本実施形態のメモリ装置は、不揮発性メモリと、制御手段と、コマンドキュー手段と、複数のステージ処理手段と、スキップ手段と、を有する。不揮発性メモリは、データを保持する。制御手段は、ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する。コマンドキュー手段は、前記コマンドに対応した転送要求コマンドをキューイングする。ステージ処理手段は、前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理を実行する。スキップ手段は、前記複数のステージ処理手段のうち記憶媒体に対するデータアクセス処理を実行するステージ処理手段に少なくとも設けられ、前記制御手段からの停止命令を受けた場合に、自己が設けられるステージ処理手段におけるステージ処理が終了後であって後段のステージ処理手段に前記転送要求コマンドを渡す前に、前記転送要求コマンドに係るステージ処理を実行せずにスキップさせるためのスキップフラグを前記転送要求コマンドに付与して後段のステージ処理手段に渡すとともに、前記スキップフラグが付与されている転送要求コマンドを前段のステージ処理手段から受取った場合に、該受け取った転送要求コマンドを後段のステージ処理手段へ受け渡す
また、実施形態の停止制御方法は、メモリ制御装置で実行される。また、停止制御方法は、制御ステップと、コマンドキューステップと、ステージ処理ステップと、スキップステップと、を含む。制御ステップは、制御手段が、ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する。コマンドキューステップは、コマンドキュー手段が、前記コマンドに対応した転送要求コマンドをキューイングする。ステージ処理ステップは、複数のステージ処理手段のそれぞれが、前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理を実行する。スキップステップは、前記複数のステージ処理手段のうち記憶媒体に対するデータアクセス処理を実行するステージ処理手段に少なくとも設けられたスキップ手段が、前記制御手段からの停止命令を受けた場合に、自己が設けられるステージ処理手段におけるステージ処理が終了後であって後段のステージ処理手段に前記転送要求コマンドを渡す前に、前記転送要求コマンドに係るステージ処理を実行せずにスキップさせるためのスキップフラグを前記転送要求コマンドに付与して後段のステージ処理手段に渡すとともに、前記スキップフラグが付与されている転送要求コマンドを前段のステージ処理手段から受取った場合に、該受け取った転送要求コマンドを後段のステージ処理手段へ受け渡す

Claims (13)

  1. ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する制御手段と、
    前記コマンドに対応した転送要求コマンドをキューイングするコマンドキュー手段と、
    前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理を実行する複数のステージ処理手段と、
    前記制御手段からの停止命令を受けた場合に、前記ステージ処理手段におけるステージ処理を実行せずにスキップさせるスキップ手段と、
    を有することを特徴とするメモリ制御装置。
  2. 前記スキップ手段でスキップされた転送要求コマンドの処理結果を示すレスポンスを、キューイングするレスポンスキュー手段を更に有することを特徴とする請求項1に記載のメモリ制御装置。
  3. 前記複数のステージ処理手段の少なくとも一つが、前記スキップ手段を有し、
    前記スキップ手段は、前記停止命令を受けた場合に、前記転送要求コマンドに係るステージ処理を実行せずにスキップさせるスキップフラグを付与して後段のステージ処理手段に渡すとともに、前記スキップフラグが付与されている転送要求コマンドを受取った場合に、当該転送要求コマンドのステージ処理を実行せずに後段のステージ処理手段へ受け渡すことを特徴とする請求項1または2に記載のメモリ制御装置。
  4. 前記不揮発性メモリに対するデータアクセス処理を実行するステージ処理手段のみが、前記スキップ手段を有することを特徴とする請求項3に記載のメモリ制御装置。
  5. 前記スキップ手段は、前記スキップフラグの付与を、当該ステージ処理手段におけるステージ処理が終了して後段のステージ処理手段に渡すタイミングで行うことを特徴とする請求項3または4に記載のメモリ制御装置。
  6. 前記スキップ手段でスキップされた転送要求コマンドの情報を、前記制御手段に通知する通知手段を更に有する請求項1〜5のいずれか一項に記載のメモリ制御装置。
  7. データを保持する不揮発性メモリと、
    ホストからの前記不揮発性メモリに対するデータアクセスのコマンドを処理制御する制御手段と、
    前記コマンドに対応した転送要求コマンドをキューイングするコマンドキュー手段と、
    前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理を実行する複数のステージ処理手段と、
    前記制御手段からの停止命令を受けた場合に、前記ステージ処理手段におけるステージ処理を実行せずにスキップさせるスキップ手段と、
    を有することを特徴とするメモリ装置。
  8. 前記スキップ手段でスキップされた転送要求コマンドの処理結果を示すレスポンスを、キューイングするレスポンスキュー手段を更に有することを特徴とする請求項7に記載のメモリ装置。
  9. 前記複数のステージ処理手段の少なくとも一つが、前記スキップ手段を有し、
    前記スキップ手段は、前記停止命令を受けた場合に、前記転送要求コマンドに係るステージ処理を実行せずにスキップさせるスキップフラグを付与して後段のステージ処理手段に渡すとともに、前記スキップフラグが付与されている転送要求コマンドを受取った場合に、当該転送要求コマンドのステージ処理を実行せずに後段のステージ処理手段へ受け渡すことを特徴とする請求項7または8に記載のメモリ装置。
  10. 前記不揮発性メモリに対するデータアクセス処理を実行するステージ処理手段のみが、前記スキップ手段を有することを特徴とする請求項9に記載のメモリ装置。
  11. 前記スキップ手段は、前記スキップフラグの付与を、当該ステージ処理手段におけるステージ処理が終了して後段のステージ処理手段に渡すタイミングで行うことを特徴とする請求項9または10に記載のメモリ装置。
  12. 前記スキップ手段でスキップされた転送要求コマンドの情報を、前記制御手段に通知する通知手段を更に有する請求項7〜11のいずれか一項に記載のメモリ装置。
  13. メモリ制御装置で実行される停止制御方法であって、
    制御手段が、ホストからの不揮発性メモリに対するデータアクセスのコマンドを処理制御する制御ステップと、
    コマンドキュー手段が、前記コマンドに対応した転送要求コマンドをキューイングするコマンドキューステップと、
    各ステージ処理手段が、前記コマンドキュー手段にキューイングされた転送要求コマンドに係るステージ処理をそれぞれ実行するステージ処理ステップと、
    スキップ手段が、前記制御手段からの停止命令を受けた場合に、前記ステージ処理手段におけるステージ処理を実行せずにスキップさせるスキップステップと、
    を含むことを特徴とする停止制御方法。
JP2010157018A 2010-07-09 2010-07-09 メモリ制御装置、メモリ装置および停止制御方法 Expired - Fee Related JP4829370B1 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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