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

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

Info

Publication number
JP2013137624A
JP2013137624A JP2011287866A JP2011287866A JP2013137624A JP 2013137624 A JP2013137624 A JP 2013137624A JP 2011287866 A JP2011287866 A JP 2011287866A JP 2011287866 A JP2011287866 A JP 2011287866A JP 2013137624 A JP2013137624 A JP 2013137624A
Authority
JP
Japan
Prior art keywords
command
module
modules
control means
memory
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
JP2011287866A
Other languages
English (en)
Inventor
Tatsuhiro Suzumura
竜広 鈴村
Takaki Saito
貴樹 齊藤
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 JP2011287866A priority Critical patent/JP2013137624A/ja
Publication of JP2013137624A publication Critical patent/JP2013137624A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

【課題】各モジュール間のコマンドフロー制御の高速化かつ処理の効率化を実現することにある。
【解決手段】実施形態によれば、データ記憶装置は、データを記憶する不揮発性メモリと、前記不揮発性メモリを制御する複数のモジュールを含み、前記各モジュール間のコマンドフロー制御を実行するメモリコントローラとを有する。前記メモリコントローラは、前記各モジュールの中で第1のモジュールが実行するコマンドをキューイングするコマンドキューレジスタと、前記第1のモジュールからのコマンドの送信先である第2のモジュールに対するコマンドキューイング可能なコマンド空き情報を管理するクレジットコントローラと、前記第1のモジュールが前記コマンドキュー手段からリードされたコマンドを実行した実行結果を、前記コマンド空き情報に基づいて前記第2のモジュールに新たなコマンドとして転送するバスコネクタとを具備する。
【選択図】図1

Description

本発明の実施形態は、不揮発性メモリを使用するデータ記憶装置、メモリ制御装置及び方法に関する。
近年、ストレージデバイス(データ記憶装置)として、書き換え可能な不揮発性メモリであるNAND型フラッシュメモリ(以下、単にフラッシュメモリと表記する場合がある)を記憶媒体とするSSD(solid state drive)が注目されている。
SSDは大別して、フラッシュメモリとそれを制御するコントローラとから構成されている。コントローラは、複数のモジュールを連携して制御するマイクロプロセッサ(以下単にCPUと表記する場合がある)を有する。CPUは、各モジュール間のコマンドフロー制御を実行することで、各モジュールが他のモジュールと同期をとりながら動作する連携動作を実現している。
米国特許第6801972号明細書
各モジュール間のコマンドフロー制御の高速化かつ処理の効率化を実現する。
実施形態によれば、データ記憶装置は、データを記憶する不揮発性メモリと、前記不揮発性メモリを制御する複数のモジュールを含み、前記各モジュール間のコマンドフロー制御を実行するメモリ制御手段とを有する。前記メモリ制御手段は、前記各モジュールの中で第1のモジュールが実行するコマンドをキューイングするコマンドキュー手段と、前記第1のモジュールからのコマンドの送信先である第2のモジュールに対するコマンドキューイング可能なコマンド空き情報を管理するクレジット制御手段と、前記第1のモジュールが前記コマンドキュー手段からリードされたコマンドを実行した実行結果を、前記コマンド空き情報に基づいて前記第2のモジュールに新たなコマンドとして転送する転送手段とを具備する。
実施形態に関するSSDの構成を説明するためのブロック図。 実施形態に関するコマンドフロー制御を説明するための図。 実施形態に関するSSDコントローラのパイプライン動作を説明するための図。 実施形態に関するコマンドフロー制御モジュールの構成を説明するためのブロック図。 実施形態に関するコマンドフロー制御モジュールの動作を説明するためのフローチャート。
従来のSSDコントローラは、CPUが各モジュール間のコマンドフロー制御を実行することで、各モジュールの連携動作を実現している。ここで、CPUによるコマンドフロー制御では、CPUの制御に移行するまでの待ち時間などが影響して高速化に伴う要求速度に適応できない。そこで、CPUの介在なしに、各モジュールが処理状況に応じてコマンドフロー制御を実行することで高速化を図ることが考えられる。しかし、各モジュールが他のモジュールと同期をとりながら動作をするには、今までCPUが実行していたステータスチェックを各モジュールが行う必要があるなど、各モジュール間のコマンドフロー制御に伴う処理の効率化を図ることが課題である。
以下図面を参照して、実施形態を説明する。
[データ記憶装置の構成]
図1に示すように、実施形態のデータ記憶装置はSSD(solid state drive)であり、SSDコントローラ10と、DRAM(dynamic random access memory)からなるバッファメモリ15と、NAND型フラッシュメモリ(フラッシュメモリ)16とを有する。なお、バッファメモリは必ずしもDRAMでなくても良く、SRAMなど他の種類の揮発性ランダムアクセスメモリを採用しても良いし、MRAM(magnetoresistive random access memory)、FeRAM(ferroelectric random access memory)などの不揮発性ランダムアクセスメモリを採用しても良い。
SSDコントローラ10は、フラッシュメモリコントローラ11と、バッファマネージャモジュール12と、ホストインターフェースコントローラ13と、コマンドフロー制御モジュール14と、図示しないメインプロセッサ(メインCPU)とを有する。
フラッシュメモリコントローラ11は、フラッシュメモリ16のリード/ライト動作の制御及びデータ転送制御を実行する。バッファマネージャモジュール12は、バッファメモリ15を制御し、バッファメモリとのデータ転送を制御する。バッファメモリ15は、フラッシュメモリ16に対してライトするデータまたはリードされたデータを一時的に格納する。ホストインターフェースコントローラ13は、ホストデバイス17とSSDとのインターフェースであり、データやコマンドの転送を制御する。ホストデバイス17は、例えばパーソナルコンピュータに含まれるSATA(Serial ATA)規格などのインターフェースコントローラである。メインCPUは、SSDコントローラ10の全体的制御を実行する。
[コマンドフロー制御モジュールの構成]
図2に示すように、コマンドフロー制御モジュール14は大別して、モジュールA〜C毎のコマンド入出力回路20及び各コマンド入出力回路20を接続するバスコネクタ21から構成される。ここで、モジュールA〜Cはそれぞれ、例えばフラッシュメモリコントローラ11、バッファマネージャモジュール12、ホストインターフェースコントローラ13に対応する。
バスコネクタ21は、SSDコントローラ10のシステムバス22に接続している。システムバス22は、バッファメモリ15やメインCPUなどが接続している。またバスコネクタ21は、後述するグローバルバス(図面中の実線及び破線矢印)を介してモジュールA〜C毎のコマンド入出力回路20間を接続し、モジュールA〜C間のコマンドフロー処理を実行する。
図4に示すように、コマンド入出力回路20は、リードコントローラ40と、コマンドキューレジスタ41と、コマンド数レジスタ42と、クレジットレジスタ43と、リードポインタ(Rp)及びライトポインタ(Wp)コントローラ(以下、Rp/Wpコントローラ)44と、クレジットコントローラ45と、ライトコントローラ46と、アドレスデコーダ47,48と、グローバル・バス・インターフェース49とを有する。
[コマンドフロー制御処理]
以下、図2から図4、及び図5のフローチャートを参照して、本実施形態のコマンドフロー制御処理を説明する。
先ず、図3に示すように、SSDコントローラ10は、例えばフラッシュメモリコントローラ11、バッファマネージャモジュール12、ホストインターフェースコントローラ13に対応するモジュールA〜Cは、例えばプロセスP1〜P6からなるパイプライン処理を実行することにより連携動作を実現する。
具体例では、モジュールA(M−A)は、プロセスP1〜P3でリードコマンドの受付処理(RCA:Read Command Accept)を実行する。モジュールB(M−B)は、プロセスP2〜P4でアドレス解決処理(AR:Address Resolution)を実行する。ここで、アドレス解決処理とは、ホストデバイスから指定されたアドレス(論理アドレス)をフラッシュメモリ上のアドレス(物理アドレス)に変換する処理を意味する。モジュールC(M−C)は、プロセスP3〜P5でリードコマンドを実行する(RCE:Read-Command Executing)。モジュールA(M−A)は、プロセスP4〜P6でホストへの応答送信処理(SRTH:Send Reply To Host)を実行する。即ち、モジュールA(M−A)は、ホストデバイスにリードコマンドにより指定されたリードデータを転送する。
コマンドフロー制御モジュール14は、図3に示すようなモジュールA〜C間の連携動作を実現するためのコマンドフロー制御処理を実行する。即ち、図2に示すように、コマンドフロー制御モジュール14は、概略的には、モジュールA〜C毎のコマンド入出力回路20及びバスコネクタ21により、モジュールA〜C間のコマンド(command)の送受信を制御する。
コマンド入出力回路20は主として、コマンドキューレジスタ41とクレジットレジスタ43とを含み、他のモジュールから送信されたコマンドをコマンドキューレジスタ41にキューイング(ライト)し、コマンドキューレジスタ41からリードしたコマンドの実行結果を新たなコマンドとして他のモジュールに転送する。コマンド入出力回路20は、クレジットレジスタ43により、送信先のモジュールのコマンドバッファ(コマンドキューレジスタ)の空き情報に基づいて、送信したいコマンド数が予約されたコマンド数以下であることを確認してから送信する。即ち、クレジットレジスタ43は、送信先のモジュールのコマンド空き情報(credit)を管理するためのレジスタである。これにより、送信先のモジュールが具備するコマンドバッファのオーバーフローが発生しないことを確認してから、コマンドを送信することが可能となる。
以下さらに、図4のブロック図及び図5のフローチャートを参照して、主としてコマンド入出力回路20の処理を説明する。
図4に示すように、例えばモジュールCに対応するコマンド入出力回路20は、例えばモジュールB(12)から送信されるコマンドを受信すると、コマンドキューレジスタ41にライト(キューイング)するライト処理を実行する(ブロック500のライト)。具体的には、アドレスデコーダ47は、モジュールB(12)からのライトデータ(コマンド)100とライトイネーブル信号(WE)101を受信すると、所定のアドレスデコード処理後にライトコントローラ46に出力する。
ライトコントローラ46は、ライトデータ(コマンド)100をコマンドキューレジスタ41にライト(キューイング)する(ブロック501)。この場合、Rp/Wpコントローラ44は、コマンドキューレジスタ41のライトポインタを制御し、コマンド数レジスタ42に保持されているコマンド数を更新する(ブロック502)。
一方、コマンド入出力回路20は、モジュールC(11)からコマンドの実行要求を受けると、コマンドキューレジスタ41からコマンドをリードするリード処理を実行する(ブロック500のリード)。具体的には、アドレスデコーダ48は、モジュールC(11)からのリードイネーブル信号(RE)103を受信すると、所定のアドレスデコード処理後にリードコントローラ40に出力する。
リードコントローラ40は、コマンドキューレジスタ41からコマンドをリードするリード処理を実行する(ブロック503)。即ち、リードコントローラ40は、コマンド数レジスタ42を参照して、コマンドキューレジスタ41に格納されているコマンド数107を確認する(ブロック504)。コマンドキューレジスタ41にコマンドが無い場合には、リードコントローラ40は、コマンドのリード処理を終了する(ブロック504のNO)。
一方、例えばモジュールC(11)へのコマンド送信元が複数のモジュールである場合には、モジュールC(11)は、リードコントローラ40を通じて、複数モジュールによる複数要求の中から、適切な優先順位に応じて最も優先度の高いものを選択し、判定する(ブロック505,506)。なお、この判定処理は、先の例のようにコマンド送信元モジュールが単一である場合は、省略してもよい。リードコントローラ40は、コマンドキューレジスタ41から選定されたコマンドをリードするリード処理を開始する(ブロック507)。
モジュールC(11)は、リードコントローラ40によりリードされたコマンド(リードデータ)102を実行する。例えば、モジュールC(11)が図1に示すフラッシュメモリコントローラである場合、フラッシュメモリ16からのリード動作を実行する。なお、リード処理終了と同時に、Rp/Wpコントローラ44はリードポインタを制御する。リードポインタはインクリメントされ、次のコマンドの位置を指す。
ここで、モジュールC(11)は、リードコントローラ40を通じてクレジットレジスタ43をリードし、コマンド実行結果の送信先である例えばモジュールA(13)のクレジットを確認する。(ブロック508,509)。このクレジット106は、例えばモジュールAにおいて予約されたコマンドバッファ(コマンドキューレジスタ)の空き情報である。即ち、送信先モジュールにおいて受信可能なコマンドバッファ(コマンドキューレジスタ)のコマンド空き数(residual)である。
クレジットの数が、モジュールC(11)が送信したいコマンド数以上である場合(ブロック509のYES)、モジュールC(11)は、モジュールAのコマンドバッファを上書きすることはないと判断し、モジュールA(13)へ新たなコマンドを送信する(ブロック510)。一方、クレジットの数が、モジュールC(11)が送信したいコマンド数未満である場合、モジュールA(13)からのクレジット回復動作により、クレジットが送信したいコマンド数以上になるまで待機する(ブロック509のNO)。
クレジット回復動作は、モジュールA(13)においてコマンドバッファに積まれたコマンドの実行終了後、コマンド送信元(ここではモジュールC(11))に対して、自身のコマンドバッファに空きが生じたことを、グローバルバスを通じて通知することで実現される。モジュールC(11)は、グローバル・バス・インタフェース49を介してグローバルバスに接続されることで、他のモジュールと通信可能に構成されている。またモジュールCは、自身のコマンドバッファに空きが生じたことを、グローバルバスを通じてモジュールB(12)に通知する。モジュールB(12)は、送信先であるモジュールC(11)のコマンドバッファに空きが生じたと解釈し、クレジット回復動作を行う(ブロック511)。
以上のように本実施形態によれば、コマンドフロー制御モジュール14により、モジュール間の連携動作を実現するためのコマンドフロー制御処理を実行することができる。この場合、コマンドキューレジスタ41とクレジットレジスタ(コマンド空き情報レジスタ)43とを有するコマンド入出力回路20及びバスコネクタ21からなる構成により、メインCPUの介在なしに、各モジュール間のコマンドフロー制御を実現できる。従って、コマンドフロー制御の高速化を図ることが可能であるため、SSDコントローラに対する高速化に伴う要求速度にも適応することが可能となる。さらに、各モジュール間のステータスチェックや専用のプロトコルを定義する必要もないため、各モジュール間で同期動作を伴う処理の効率化を実現することが可能となる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10…SSDコントローラ、11…フラッシュメモリコントローラ、
12…バッファマネージャモジュール、13…ホストインターフェースコントローラ、
14…コマンドフロー制御モジュール、15…バッファメモリ、
16…NAND型フラッシュメモリ(フラッシュメモリ)、17…ホストデバイス、
20…コマンド入出力回路、21…バスコネクタ、22…システムバス、
40…リードコントローラ、41…コマンドキューレジスタ、
42…コマンド数レジスタ、43…クレジットレジスタ、
44…Rp/Wpコントローラ、45…クレジットコントローラ、
46…ライトコントローラ、47,48…アドレスデコーダ、
49…グローバル・バス・インターフェース。

Claims (13)

  1. データを記憶する不揮発性メモリと、
    前記不揮発性メモリを制御する複数のモジュールを含み、前記各モジュール間のコマンドフロー制御を実行するメモリ制御手段とを有し、
    前記メモリ制御手段は、
    前記各モジュールの中で第1のモジュールが実行するコマンドをキューイングするコマンドキュー手段と、
    前記第1のモジュールからのコマンドの送信先である第2のモジュールに対するコマンドキューイング可能なコマンド空き情報を管理するクレジット制御手段と、
    前記第1のモジュールが前記コマンドキュー手段からリードされたコマンドを実行した実行結果を、前記コマンド空き情報に基づいて前記第2のモジュールに新たなコマンドとして転送する転送手段と
    を具備するデータ記憶装置。
  2. 前記メモリ制御手段は、
    前記各モジュールの中で前記第1のモジュールへのコマンドの送信元である第3のモジュールから、前記第1のモジュールに対するコマンド空き情報に基づいたコマンド数のコマンドを受信し、前記コマンドキュー手段にライトするライト制御手段を、さらに含む請求項1に記載のデータ記憶装置。
  3. 前記メモリ制御手段は、
    前記ライト制御手段により前記コマンドキュー手段にライトされたコマンドのコマンド数を格納するコマンド数記憶手段を、さらに含む請求項2に記載のデータ記憶装置。
  4. 前記メモリ制御手段は、前記コマンド空き情報を格納するクレジット記憶手段を含み、
    前記クレジット制御手段は、
    前記第2のモジュールから送信されるコマンドの空き数の増減を指示する指示信号に応じて前記クレジット記憶手段のコマンド空き情報を更新する請求項1から請求項3のいずれか1項に記載のデータ記憶装置。
  5. 前記第1のモジュールからの実行要求に応じて、前記コマンドキュー手段からコマンドをリードし、前記第1のモジュールに転送するリード制御手段を、さらに含む請求項1から請求項4のいずれか1項に記載のデータ記憶装置。
  6. 前記メモリ制御手段は、
    前記各モジュールのパイプライン処理に必要な前記コマンドフロー制御を実行する請求項1から請求項5のいずれか1項に記載のデータ記憶装置。
  7. 不揮発性メモリを制御する複数のモジュールと、
    前記各モジュール間のコマンドフロー制御を実行するコマンドフロー制御手段とを有し、
    前記コマンドフロー制御手段は、
    前記各モジュールの中で第1のモジュールが実行するコマンドをキューイングするコマンドキュー手段と、
    前記第1のモジュールからのコマンドの送信先である第2のモジュールに対するコマンドキューイング可能なコマンド空き情報を管理するクレジット制御手段と、
    前記第1のモジュールが前記コマンドキュー手段からリードされたコマンドを実行した実行結果を、前記コマンド空き情報に基づいて前記第2のモジュールに新たなコマンドとして転送する転送手段と
    を具備するメモリ制御装置。
  8. 前記コマンドフロー制御手段は、
    前記各モジュールの中で前記第1のモジュールへのコマンドの送信元である第3のモジュールから、前記第1のモジュールに対するコマンド空き情報に基づいたコマンド数のコマンドを受信し、前記コマンドキュー手段にライトするライト制御手段を、さらに含む請求項7に記載のメモリ制御装置。
  9. 前記コマンドフロー制御手段は、
    前記ライト制御手段により前記コマンドキュー手段にライトされたコマンドのコマンド数を格納するコマンド数記憶手段を、さらに含む請求項8に記載のメモリ制御装置。
  10. 前記コマンドフロー制御手段は、前記コマンド空き情報を格納するクレジット記憶手段を含み、
    前記クレジット制御手段は、
    前記第2のモジュールから送信されるコマンドの空き数の増減を指示する指示信号に応じて前記クレジット記憶手段のコマンド空き情報を更新する請求項7から請求項9のいずれか1項に記載のメモリ制御装置。
  11. 前記第1のモジュールからの実行要求に応じて、前記コマンドキュー手段からコマンドをリードし、前記第1のモジュールに転送するリード制御手段を、さらに含む請求項7から請求項10のいずれか1項に記載のメモリ制御装置。
  12. 前記コマンドフロー制御手段は、
    前記各モジュールに対応するコマンド入出力手段と前記各コマンド入出力手段間を接続するバスコネクタとを有し、
    前記各コマンド入出力手段は、
    前記コマンドキュー手段と、
    前記クレジット制御手段と、
    前記バスコネクタを介して前記コマンドキュー手段からリードされたコマンドを前記第2のモジュールに転送する転送手段と
    を含む請求項7から請求項11のいずれか1項に記載のメモリ制御装置。
  13. 不揮発性メモリを制御する複数のモジュールを含み、前記各モジュール間のコマンドフロー制御を実行するメモリ制御装置に適用するメモリ制御方法であって、
    前記各モジュールの中で第1のモジュールが実行するコマンドをコマンドキュー手段にキューイングし、
    前記第1のモジュールからのコマンドの送信先である第2のモジュールに対するコマンドキューイング可能なコマンド空き情報を管理し、
    前記第1のモジュールが前記コマンドキュー手段からリードされたコマンドを実行した実行結果を、前記コマンド空き情報に基づいて前記第2のモジュールに新たなコマンドとして転送するメモリ制御方法。
JP2011287866A 2011-12-28 2011-12-28 データ記憶装置、メモリ制御装置及び方法 Pending JP2013137624A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011287866A JP2013137624A (ja) 2011-12-28 2011-12-28 データ記憶装置、メモリ制御装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011287866A JP2013137624A (ja) 2011-12-28 2011-12-28 データ記憶装置、メモリ制御装置及び方法

Publications (1)

Publication Number Publication Date
JP2013137624A true JP2013137624A (ja) 2013-07-11

Family

ID=48913304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011287866A Pending JP2013137624A (ja) 2011-12-28 2011-12-28 データ記憶装置、メモリ制御装置及び方法

Country Status (1)

Country Link
JP (1) JP2013137624A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106569748A (zh) * 2016-10-27 2017-04-19 南方电网科学研究院有限责任公司 Flash文件***的数据处理方法和装置
CN109767003A (zh) * 2019-01-31 2019-05-17 深兰科技(上海)有限公司 神经网络加速器的存储控制方法、装置、电子设备及介质
CN110321060A (zh) * 2018-03-31 2019-10-11 深圳忆联信息***有限公司 数据存储的方法及装置
CN114902197A (zh) * 2019-12-30 2022-08-12 超威半导体公司 非易失性双列直插式存储器模块的命令重放

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106569748A (zh) * 2016-10-27 2017-04-19 南方电网科学研究院有限责任公司 Flash文件***的数据处理方法和装置
CN106569748B (zh) * 2016-10-27 2019-04-09 南方电网科学研究院有限责任公司 Flash文件***的数据处理方法和装置
CN110321060A (zh) * 2018-03-31 2019-10-11 深圳忆联信息***有限公司 数据存储的方法及装置
CN109767003A (zh) * 2019-01-31 2019-05-17 深兰科技(上海)有限公司 神经网络加速器的存储控制方法、装置、电子设备及介质
CN114902197A (zh) * 2019-12-30 2022-08-12 超威半导体公司 非易失性双列直插式存储器模块的命令重放
CN114902197B (zh) * 2019-12-30 2023-06-13 超威半导体公司 非易失性双列直插式存储器模块的命令重放

Similar Documents

Publication Publication Date Title
US9557922B2 (en) System and method for peer-to-peer PCIe storage transfers
US11960725B2 (en) NVMe controller memory manager providing CMB capability
US9229655B2 (en) Controller and method for performing background operations
JP6163532B2 (ja) メモリシステムコントローラを含む装置
JP2007087388A (ja) メモリコントローラ及びそれを含んだデータ処理システム
US9753655B2 (en) Computing system with write buffer including speculative storage write and method of operation thereof
US10585822B2 (en) Operation method of host system including storage device and operation method of storage device controller
KR20160031099A (ko) 저장 장치 및 그것을 포함하는 데이터 저장 시스템의 가비지 컬렉션 방법
US10146475B2 (en) Memory device performing control of discarding packet
US9575887B2 (en) Memory device, information-processing device and information-processing method
US20170160952A1 (en) Memory controller, memory system, and information processing system
JP4829370B1 (ja) メモリ制御装置、メモリ装置および停止制御方法
JP2013137624A (ja) データ記憶装置、メモリ制御装置及び方法
US9412455B2 (en) Data write control device and data storage device
US20160266974A1 (en) Memory controller, data storage device and data write method
US9965193B2 (en) Apparatus, system, and method of sequencing, shadowing, and queuing operations in a non-volatile storage memory
US9141563B2 (en) Memory system
JP2011192053A (ja) ディスクアレイ装置、ディスクアレイシステム、及びキャッシュ制御方法
JP6992750B2 (ja) メモリコントローラ、メモリシステムおよび情報処理システム
US10228883B2 (en) Storage device that postpones completion of read command to begin execution of a non-read command
US20160004655A1 (en) Computing system and operating method of the same
US20120131236A1 (en) Communication between a computer and a data storage device
US9069486B2 (en) Data transfer control device and data storage device
JP6625735B2 (ja) 計算機システム及び不揮発性メモリの冗長化方法
JP2022071543A (ja) 制御装置および制御装置の制御方法