JP6265706B2 - 記憶装置及びそれを含むコンピューティングシステムと、それのデータ転送方法 - Google Patents

記憶装置及びそれを含むコンピューティングシステムと、それのデータ転送方法 Download PDF

Info

Publication number
JP6265706B2
JP6265706B2 JP2013243556A JP2013243556A JP6265706B2 JP 6265706 B2 JP6265706 B2 JP 6265706B2 JP 2013243556 A JP2013243556 A JP 2013243556A JP 2013243556 A JP2013243556 A JP 2013243556A JP 6265706 B2 JP6265706 B2 JP 6265706B2
Authority
JP
Japan
Prior art keywords
interface
host
storage device
data
fis
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.)
Active
Application number
JP2013243556A
Other languages
English (en)
Other versions
JP2014106977A (ja
Inventor
昊 俊 沈
昊 俊 沈
恩 賛 金
恩 賛 金
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2014106977A publication Critical patent/JP2014106977A/ja
Application granted granted Critical
Publication of JP6265706B2 publication Critical patent/JP6265706B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • 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/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Bus Control (AREA)

Description

本発明は記憶装置及びそれを含むコンピューティングシステムと、該データ転送方法に関する。
近年のコンピューティングシステム(computing system)の記憶装置(storage device)としてソリッドステートドライブ(SSD、solid state drive)が広く使用されている。SSDはデータを保存するためにフラッシュメモリのような不揮発性メモリを使用し、従来のHDD(hard disk drive)と比較して耐久性、サイズ、消費電力などの面で良好な特性を有している。SSDはホストとの通信方法によって、PCI(peripheral component interconnect)SSDとSATA(serial advanced technology attachment)SSDとに区分される。
米国特許第8055816号公報
本発明は双方向のデータ転送を行うことができる記憶装置を提供する。
本発明はホストバッファアダプタを備える記憶装置を提供する。
本発明の実施形態に於いて、外部のホストと第1インターフェースを介して通信し、内部に第2インターフェースを介して通信するホストバスアダプタを備える記憶装置のデータ転送方法は、前記ホストバスアダプタへの書き込みコマンド及び読み取りコマンドを発行する段階と、前記書き込みコマンドに応答して前記第1インターフェースを使用して読み取りダイレクトメモリアクセス動作を実行するとともに、前記読み取りコマンドに応答して前記第1インターフェースを使用して書き込みダイレクトメモリアクセス動作を実行する段階と、前記書き込みコマンド及び前記読み取りコマンドに応答して前記第2インターフェースによるフレーム情報構造のシーケンスを生成する段階を含み、前記第1インターフェースは双方向のデータ転送を実行し、前記第2インターフェースは単方向のデータ転送を実行する。
本発明の実施形態による中央処理装置、メインメモリ、前記中央処理装置と第1インターフェースを介して通信し、内部に第2インターフェースを介して通信するホストバッファアダプタを備える記憶装置を含むコンピューティングシステムのデータ転送方法は、前記メインメモリに入出力要求に対応するコマンドキューを送信する段階と、前記メインメモリに前記入出力要求された情報を前記ホストバッファアダプタに送信する段階と、前記情報に応答して前記メインメモリに前記入出力要求に対応するフレーム情報構造を転送することにより前記入出力要求をフェッチする段階と、前記入出力要求に応答して前記第1インターフェースによって前記メインメモリと前記記憶装置との間でデータを転送する段階と、前記データ転送後前記第2インターフェースによってフレーム情報構造のシーケンスを生成する段階と、前記記憶装置から割り込みを発生する段階と、前記中央処理装置から前記発生された割り込みをもとにして前記入出力要求を完了する段階を含む。
本発明の実施形態による記憶装置は、第1インターフェースに応じて外部と通信する第1インターフェース回路と、前記第1インターフェース回路と前記第1インターフェースによって通信するホストバスアダプタと、前記ホストバスアダプタと第2インターフェースによって通信する第2インターフェースエミュレータと、外部のホストメモリとのデータ転送を実行するためのダイレクトメモリアクセス回路と、データを保存する少なくとも1つの不揮発性メモリ装置と、前記第2インターフェースエミュレータから出力された入出力要求により、前記少なくとも1つの不揮発性メモリ装置を制御するメモリコントローラを含み、前記ダイレクトメモリアクセス回路は前記データ転送のとき前記第1インターフェース回路から双方向のデータ転送を実行するように構成され、前記データ転送後に前記第2インターフェースによるフレーム情報構造のシーケンスが発生する。
本発明の実施形態によるコンピューティングシステムは、ホストバスと、前記ホストバスに第1インターフェースを介して接続されたホストプロセッサと、前記ホストプロセッサに接続されたホストメモリと、前記ホストバスに前記第1インターフェースを介して接続され、RAID(redundant array of independent disks)機能を実行するためのRAIDコントローラと、前記RAIDコントローラに前記第1インターフェースを介して接続された複数の記憶装置を含み、前記複数の記憶装置の中で少なくとも1つは前記第1インターフェースによってデータを送受信する第1インターフェース回路と、前記第1インターフェース回路と前記第1インターフェースによって通信するホストバスアダプタと、前記ホストバスアダプタと前記第2インターフェースによって通信する第2インターフェースエミュレータと、前記ホストメモリとのデータ転送を実行するためのダイレクトメモリアクセス回路と、データを保存する少なくとも1つの不揮発性メモリ装置と、前記第2インターフェースエミュレータから出力された入出力要求に応じて前記少なくとも1つの不揮発性メモリ装置を制御するメモリコントローラを含み、前記ダイレクトメモリアクセス回路は前記データ転送のとき前記第1インターフェース回路から双方向のデータ転送を実行するように具現され、前記データ転送後に前記第2インターフェースによるフレーム情報構造のシーケンスが発生される。
本発明の実施形態による記憶装置はホストバスアダプタのドライバを備えることにより、従来のものと比較して互換性を維持することができる。
また、本発明の実施形態による記憶装置は双方向のデータ転送を行うことにより、データ転送の効率を極大化することができる。
本発明によるコンピューティングシステムの第1実施形態を示すブロック図。 本発明の実施形態によるホストと記憶装置間のデータの流れを概略的に示す図。 図2に示された双方向のデータ転送を例示的に示すフローチャート。 本発明によるデータ転送方法を例示的に示すフローチャート。 本発明によるコンピューティングシステムの第2実施形態を示すブロック図。 本発明によるコンピューティングシステムの第3実施形態を示すブロック図。 本発明によるコンピューティングシステムの第4実施形態を示すブロック図。 本発明によるコンピューティングシステムの第5実施形態を示すブロック図。 本発明によるコンピューティングシステムの第6実施形態を示すブロック図。 本発明の実施形態による入出力要求の観点から見たコンピューティングシステムを示す図。 図10に図示されたAHCIコントローラを含むSSDコントローラのPCIヘッダを例示的に示す図。 図10に図示されたAHCIエンジンに格納されているホストの制御情報を例示的に示す図。 図10に図示されたAHCIエンジンに格納されているポートの情報を例示的に示す図。 図10に図示されたAHCIエンジンとSATAエミュレータとの間で送受信されるFISの規定を例示的に示す図。 図10に図示されたAHCIエンジンとSATAエミュレータとの間で送受信されるFISの規定を例示的に示す図。 図10に図示されたAHCIエンジンとSATAエミュレータとの間で送受信されるFISの規定を例示的に示す図。 図10に図示されたAHCIエンジンとSATAエミュレータとの間で送受信されるFISの規定を例示的に示す図。 図10に図示されたAHCIエンジンとSATAエミュレータとの間で送受信されるFISの規定を例示的に示す図。 図10に図示されたAHCIエンジンとSATAエミュレータとの間で送受信されるFISの規定を例示的に示す図。 図10に図示されたAHCIエンジンとSATAエミュレータとの間で送受信されるFISの規定を例示的に示す図。 図10に図示されたAHCIエンジンとSATAエミュレータとの間で送受信されるFISの規定を例示的に示す図。 図10に図示されたメインメモリのホストバッファの構造を例示的に示す図。 図15に図示されたコマンドリストの構造を例示的に示す図。 図16に図示されたコマンドテーブルを例示的に示す図。 図15に図示されたReceivedFIS構造を例示的に示す図。 図10に図示されたコンピューティングシステムで読み取りコマンドを実行する過程を例示的に示す図。
以下、本発明が属する技術分野において通常の知識を有する者が本発明の技術的思想を容易に実施できるように、本発明の実施形態を添付図面を参照して説明する。
図1は本発明によるコンピューティングシステム1000の第1実施形態を示すブロック図である。図1を参照すると、コンピューティングシステム1000は、ホストバス1001、少なくとも1つのホストプロセッサ1100、少なくとも1つのホストメモリ1200及び記憶装置1300を備える。以下では、ホストバス1001、ホストプロセッサ1100及びホストメモリ1200をホスト(Host)と称する。
ホストバス1001は、コンピューティングシステム1000の構成要素(例えば、プロセッサ1100と記憶装置1300)間の第1インターフェース(1st interface)によってデータを転送することができる。ここで第1インターフェースは双方向のデータ転送(full duplex、他の用語で、“全二重通信”)が可能である。すなわち、第1インターフェースは個別に利用可能な送信チャネル(Tx)及び受信チャネル(Rx)を提供する。例えば、第1インターフェースはFC(fiber channel)、USB(universal serial bus)3.0、SAS(serial attached SCSI)、PCIe(peripheral component interconnect express)、SPI(serial peripheral interface)、サンダーボルトインターフェース(thunder bolt interface)、ライトニングボルトインターフェース(lightning bolt interface)などからなる。
ホストプロセッサ1100はコンピューティングシステム1000の全ての動作を制御する。ホストプロセッサ1100は第1インターフェース回路1110を備える。第1インターフェース回路1110は第1インターフェースによってホストバス1001に接続される。ホストプロセッサ1100は図示されていないが、ホストメモリ1200を制御するためのメモリコントローラを備える。
ホストメモリ1200はホストプロセッサ1100に接続され、ホストプロセッサ1100の制御によって動作中に必要なデータを保存することができる。ホストメモリ1200はDRAMのような不揮発性メモリ装置またはPRAMのような不揮発性メモリ装置から構成できる。
記憶装置1300は第1インターフェースによってホストバス1001に接続され、データを保存する。記憶装置1300は第1インターフェースによって外部のホストプロセッサ1100と通信を行い、第2インターフェースによって内部の通信を行う。ここで第2インターフェースは第1インターフェースとは違って、双方向のデータ転送(fullduplex)を実行せずに、単方向のデータ転送(half duplex)を実行する。例えば、第2インターフェースにはATAインターフェース、SATAインターフェースなどがある。
記憶装置1300は第1インターフェース回路1310(他の用語で、“外部インターフェース回路”)、ホストバスアダプタ1320、第2インターフェースエミュレータ1330(他の用語で、“内部インターフェース回路”)、ダイレクトメモリアクセス(direct memory access; DMA)回路1340、少なくとも1つの不揮発性メモリ装置1350及びメモリコントローラ1360を備える。
第1インターフェース回路1310はホストバス1001に接続され、外部と第1インターフェースによって通信する。
ホストバスアダプタ1320は第1インターフェースによって第1インターフェース回路1310と通信する。ホストバスアダプタ1320はホストプロセッサ1100から出力された少なくとも1つのコマンドを記憶装置1300が検知できるように構成されるハードウェア及び/またはソフトウェアからなる。実施形態では、ホストバスアダプタ1320はAHCI(advanced host controller interface)から構成される。
第2インターフェースエミュレータ1330は第2インターフェースによってホストバスアダプタ1320と通信する。第2インターフェースエミュレータ1330は記憶装置1300のための第2インターフェースのエミュレーションを提供する。例えば、第2インターフェースエミュレータ1330は第2インターフェースのフレーム情報構造(frame information structure; FIS)を利用してホストバスアダプタ1320と通信できるように構成される。従って、FISは第2インターフェースの規定によるデータパケットである。第2インターフェースエミュレータ1330はメモリコントローラ1360に/からFISトランザクション(transaction)を処理したり、ホストバスアダプタ1320を介してホストのFISを処理したりすることができる。
DMA回路1340はホストプロセッサ1100から入力されたNCQ(native command queuing)コマンド(write command、read command)に基づいて第1インターフェース回路1310を制御することによって、記憶装置1300がホストメモリ1200にデータを読み取りまたは書き込みできるように構成される。
DMA回路1340はホストバス1001の送信チャネル(TX)と受信チャネル(RX)を利用して双方向のデータ転送(full duplex data transfer)を実行するための送信DMA回路(図示せず)と受信DMA回路(図示せず)を備える。
少なくとも1つの不揮発性メモリ装置1350はデータを保存する装置として、フラッシュメモリ(例えば、NAND型フラッシュメモリ)、PRAM(phase−change RAM)、MRAM(magnetic RAM)、RRAM(登録商標)(Resistive RAM)、FRAM(登録商標)(ferroelectric RAM)、VNAND(vertical NAND)などからなる。
メモリコントローラ1360は第2インターフェースエミュレータ1330から出力されたFISトランザクションによって、不揮発性メモリ装置1350を制御する。
一般的に、第2インターフェース(例えば、単方向データを転送するインターフェース)を支援している記憶装置は双方向のデータ転送は不可能である。しかし、本発明の実施形態によるコンピューティングシステム1000は記憶装置1300が第1インターフェース(例えば、双方向データを転送するインターフェース)を支援するホストバスアダプタ1320と第2インターフェースのFISを利用してホストバスアダプタと通信する第2インターフェースエミュレータ1330を備えることによって、内部では第2インターフェースによってデータを転送するとともに外部とは第1インターフェースによって双方向のデータ転送を可能にする。すなわち、本発明によるコンピューティングシステム1000は第2インターフェースの条件を満足するとともに、データの転送速度を2倍に極大化することができる。
また、本発明の実施形態によるコンピューティングシステム1000は第1インターフェースを支援するホストバスアダプタ1320を有する記憶装置1300を備えることによって、従来のものと比較して記憶装置1300のためのホストドライバ(host driver)を別に開発する必要はない。すなわち、本発明の実施形態によるホストプロセッサ1100は従来のホストドライバを使用して本発明の記憶装置1300を駆動することができる。
図2は本発明の実施形態によるホストと記憶装置間のデータの流れを概略的に示す図である。図1及び図2を参照すると、データの流れは次のとおりである。
ホストプロセッサ1100は記憶装置1300にデータ転送に関するNCQコマンド(書き込みコマンドまたは読み取りコマンド、CMD)を実行できるかどうかをまず判断する。このために、ホストプロセッサ1100は前のコマンド(prior CMD)が完了したことを確認するためのホストバスアダプタ1320のレジスタを読み取る(S11)。もし、ホストバスアダプタ1320のレジスタを読み取った結果として前のコマンド(prior CMD)が完了したら、ホストプロセッサ1100はコマンド(CMD)をホストメモリ1200に発行する(S12)。この後、ホストプロセッサ1100はホストメモリ1200のコマンド(CMD)が発行されたことを通知するコマンドFIS(CMDFIS)をホストバスアダプタ1320に送信する(S13)。その後、第2インターフェースエミュレータ1330はホストメモリ1200にコマンドFIS関連情報(例えば、コマンドの種類、アドレス、データなど)を保存することによりコマンドをフェッチ(CMD Fetching)する(S14)。これによって、ホストメモリ1200は記憶装置1300へデータを転送することができる領域を設定する。
この後、読み取りコマンドまたは書き込みコマンド(CMD)によってホストメモリ1200と記憶装置1300との間に第2インターフェースの規定を満足するとともにデータ転送が行われる。ここで、データ転送は双方向のデータ転送である。即ち、同時に入力された読み取りコマンドと書き込みコマンドによって双方向のデータ転送が実行されたり、読み取りコマンドと書き込みコマンドが混在した状態で双方向のデータ転送が実行されたりする(S15)。データ転送が完了すると、ホストバスアダプタ1320は割り込みをホストメモリ1200に送信する(S16)。この後、ホストプロセッサ1100はコマンド(CMD)に応じた動作の完了即ち、コマンド完了の情報をホストメモリ1200に送信する(S17)。
本発明によるコンピューティングシステム1000はNCQコマンド(CMD)によって双方向のデータ転送を行うことができる。
図3は図2に図示された双方向のデータ転送を例示的に示すフローチャートである。図3を参照すると、双方向のデータ転送は次のとおりである。
DMA回路1340の送信DMA回路は書き込みコマンド(Write CMD)によって、ホストバス1001の送信チャネル(TX)を使用して書き込みデータ(Write Data)をホストメモリ1200から受信し、DMA回路1340の受信DMA回路は読み取りコマンド(Read CMD)によって、ホストバス1001の受信チャネル(RX)を使用して読み取りデータ(Read Data)をホストメモリ1200に転送する(S21)。即ち、書き込みデータ(Write Data)と読み取りデータ(Read Data)の転送は並列に処理される。
ホストバス1001の送信チャネル(TX)を介して書き込みデータ(Write Data)の送信が完了すると、第2インターフェースの規定による書き込みデータFIS(Write Data FIS: DMA Setup FIS、Non−Data FIS、SDB(set device bits)FIS)がホストメモリ1200に送信される(S22、S23、S24)。ここで、DMA Setup FISはデータを送信するためにDMA回路1340(図1参照)を設定する情報を含み、Non−Data FISはデータが存在しない情報を含み、SDBFISはデータの送信完了または送信状態の情報を含む。ここで、Non−Data FISはホストメモリ1200から発生して記憶装置1300に送信される。図示されていないが、第2インターフェースの転送の規定を満足するためにData FISは第2インターフェースエミュレータ1330(図1参照)から発生したヘッダだけを含み、発生されたData FISはホストバスアダプタ1320(図1を参照)で第2インターフェースのエミュレーションのために使用される。
また、ホストバス1001の受信チャネル(RX)を介して読み取りデータ(Read Data)の転送が完了すると、第2インターフェースの規定による読み取りデータFIS(Read Data FIS: DMA Setup FIS、Non−Data FIS、SDBFIS)がホストメモリ1200に転送される(S25、S26、S27)。ここで、DMA Setup FISはデータを受信するためにDMA回路1340(図1を参照)を使用するかどうかの情報を含み、Non−Data FISはデータが存在しない情報を含み、SDBFISはデータの受信完了または受信状態の情報を含む。
実施形態において、書き込みデータFIS(Write Data FIS)と読み取りデータ(Read Data FIS)は書き込みデータ(Write Data)と読み取りデータ(Read Data)の転送が終わった後順次に発生する。
実施形態において、書き込みデータFIS(Write Data FIS)と読み取りデータ(Read Data FIS)のそれぞれは、DMA Setup FIS、Non−Data FIS、SDB FISを順次に発生する。
本発明の実施形態による双方向のデータ転送方法は、第1インターフェースの規定による書き込みデータ(Write Data)と読み取りデータ(Read Data)の転送を実行した後、第2インターフェースの規定によるDATA FIS(Write FIS、Read FIS)を仮想的に生成及び転送する。
図4は本発明によるデータ転送方法を例示的に示すフローチャートである。図1〜図4を参照すると、データ転送方法は次のとおりである。
ホストプロセッサ1100は記憶装置1300にNCQコマンド(読み取り/書き込み)を発行する(S110)。ここで、NCQコマンドは書き込みコマンドと読み取りコマンドを同時に発行したり、順次に発行したりする。NCQコマンドに応じてホストメモリ1200と記憶装置1300との間で第1インターフェースを使用して並列的に書き込みDMA動作と読み取りDMA動作が実行される(S120)。書き込みDMA動作と読み取るDMA動作が完了した後、第2インターフェースを満足するためのデータFISシーケンス(例えば、DMA Setup FIS ⇒ Non−Data FIS ⇒ SDB FIS)が記憶装置1300からホストメモリ1200に転送される(S130)。
本発明の実施形態によるデータ転送方法は、第1インターフェースの規定によりDMA動作を実行した後、第2インターフェースの規定によりData FISを転送する。
図1〜図4で説明されたコンピューティングシステム1000は外部から第1インターフェースの規定によりホストバス1001に接続され、内部に第2インターフェースの規定によって動作する記憶装置1300を備えている。本発明の実施形態によるコンピューティングシステムは第1インターフェースの規定によってホストバスに接続されて動作する記憶装置をさらに備える。
図5は本発明によるコンピューティングシステムの第2実施形態を示すブロック図である。図5を参照すると、コンピューティングシステム2000はホストバス2001、少なくとも1つのホストプロセッサ2100、少なくとも1つのホストメモリ2200、第1記憶装置2300と第2記憶装置2400を備える。ここで、ホストバス2001、ホストプロセッサ2100及びホストメモリ2200は図1に示されたホストバス1001、ホストプロセッサ1100、ホストメモリ1200と同じ動作及び構造で構成される。
第2記憶装置2400は第1インターフェースによってホストバス2001に接続される。第2記憶装置2400は第1インターフェース回路2410、少なくとも1つの不揮発性メモリ装置2450とメモリコントローラ2460を備える。第1インターフェース回路2410は第1インターフェースの規定によって、ホストとの通信を実行するように構成される。メモリコントローラ2460は第1インターフェースの規定によってコマンド及びデータ転送を実行し、ホストからの要求に応じて不揮発性メモリ装置2450を制御する。
一方、第2記憶装置2400は第1インターフェース記憶装置と呼ばれる。このとき、第1記憶装置2300はホストが第1インターフェース記憶装置とみなすので、疑似(pseudo)第1インターフェース記憶装置と呼ばれる。
本発明の実施形態によるコンピューティングシステムは、RAID(redundant array of independent disks)の機能をさらに備える。ここで、RAID機能は複数の記憶装置を単一の論理デバイスとして動作するようにすることで、個々の記憶装置の限られた容量をユーザーが希望するだけ拡張したり、記憶装置に保存されたデータの信頼性を確保したりするために使用される。
図6は本発明によるコンピューティングシステムの第3実施形態を示すブロック図である。図6を参照すると、コンピューティングシステム3000はホストバス3001、少なくとも1つのホストプロセッサ3100、少なくとも1つのホストメモリ3200、RAIDコントローラ3300、第1記憶装置3400と第2記憶装置3500を備える。ここで、ホストバス3001、ホストプロセッサ3100及びホストメモリ3200は、図1に示されたホストバス1001、ホストプロセッサ1100、ホストメモリ1200と同じ動作及び構造で構成される。
RAIDコントローラ3300は第1インターフェースによって、ホストバス3001に接続され、RAID機能を提供するために第1及び第2記憶装置3400、3500を制御する。ここで、RAID機能はデータのミラーリング技術を含む。例えば、データのミラーリング技術は第1記憶装置3400にデータを保存しながら同時に同じデータを第2記憶装置3500に保存する。RAIDコントローラ3300は第1インターフェースによって、第1及び第2記憶装置3400、3500に接続される。第1及び第2記憶装置3400、3500はそれぞれ図1に図示された記憶装置1300と同様に構成される。すなわち、第1及び第2記憶装置3400、3500は疑似第1インターフェース記憶装置になる。
本発明の実施形態によるコンピューティングシステム3000は疑似第1インターフェース記憶装置3400、3500を使用してRAID機能を実行する。
図6に図示されたコンピューティングシステム3000には2つの記憶装置3400、3500が示されている。しかし、本発明のRAID機能を実行するための記憶装置の数はこれに限定されない。本発明のコンピューティングシステム3000は3つ以上の疑似第1インターフェース記憶装置を使用してRAID機能を実行することができる。
図6に図示されたコンピューティングシステム3000の記憶装置はすべて疑似第1インターフェース記憶装置3400、3500である。しかし、本発明のコンピューティングシステムはこれに限定されない。本発明のコンピューティングシステムは少なくとも1つのHDD(hard disk drive)を備える。
図7は本発明によるコンピューティングシステムの第4実施形態を示すブロック図である。図7を参照すると、コンピューティングシステム4000は、ホストバス4001、少なくとも1つのホストプロセッサ4100、少なくとも1つのホストメモリ4200、RAIDコントローラ4300、記憶装置4400とHDD4500を備える。ホストバス4001、ホストプロセッサ4100及びホストメモリ4200は、図1に示されたホストバス1001、ホストプロセッサ1100、ホストメモリ1200と同じ動作及び構造で構成される。
RAIDコントローラ4300は第1インターフェースによって、ホストバス4001に接続され、RAID機能を提供するために記憶装置4400とHDD4500を制御する。RAIDコントローラ4300はホストの書き込み要求に応答して書き込みデータを記憶装置4400に保存するとともにHDD4500にも保存する。
本発明の実施形態によるコンピューティングシステム4000は疑似第1インターフェース記憶装置4400とHDD4500を使用してハイブリッド方式でRAID機能を実行する。
本発明の実施形態によるコンピューティングシステムにおいて、第1インターフェースはPCIeインターフェースからなり、第2インターフェースはSATAインターフェースからなる。
図8は本発明によるコンピューティングシステムの第5実施形態を示すブロック図である。図8を参照すると、コンピューティングシステム5000はホストチップセット5100とSSDe記憶装置5300を備える。ホストチップセット5100とSSDe記憶装置5300は、PCIeインターフェースを介して接続される。
ホストチップセット5100はAHCIコントローラ5110、PCIeルートポート5120及びPCIeレーン5130を備える。SSDe記憶装置5300はSSDコントローラ5301を備える。SSDコントローラ5301は、PCIe物理層5310、PCIeリンク層5320、PCIe転送層5330及びAHCIコントローラ5340を備える。
PCIe物理層5310はPCIeレーン5130を介してホストチップセット5100のPCIeルートポート5120に接続される。PCIe物理層5310は、ホストチップセット5100から受信したアナログ信号をデジタルデータに変換したり、ホストチップセット5100に送信するデジタルデータをアナログ信号に変換したりする。
PCIeリンク層5320は、PCIe物理層5310のデジタルデータをPCIe標準符号化/復号化する。
PCIe転送層5330は、ホストチップセット5100とアプリケーション層との間で符号化/復号化されたデータ(あるいは、データパケット)を送信するためのFISを管理する。AHCIコントローラ5340は、PCIe規定のデータパケットをSATAe規定のデータパケットに変更する。
AHCIコントローラ5340はSSDe記憶装置5300をPCIeリンクを介してホストに接続されているPCIe記憶装置とみなすようにする。
本発明の実施形態によるコンピューティングシステム5000は、ホストチップセット5100とSSDe記憶装置5300との間でPCIeレーンを介してPCIeリンク層のフォーマットを有するデータパケットを送受信する。
本発明の実施形態によるコンピューティングシステムは、疑似第1インターフェース記憶装置と第2インターフェース記憶装置の両方を備えることもできる。
図9は本発明によるコンピューティングシステムの第6実施形態を示すブロック図である。図9を参照すると、コンピューティングシステム6000は、中央処理装置6100(CPU)、DRAM6200、内部チャネルコントローラ6300、AHCI記憶装置6400、及びSATA記憶装置6500を備える。中央処理装置6100及びDRAM6200は、図1に示されたホストプロセッサ1100及びホストメモリ1200にそれぞれ対応する。
内部チャネルコントローラ6300は、PCIeインターフェースによって接続され、PCIeルートコンプレックス6310、AHCIコントローラ6320、SATAコントローラ6330を備える。
AHCI記憶装置6400は、PCIeインターフェースを介して内部チャネルコントローラ6300に接続され、PCIe規定のデータパケットをSATA規定のデータパケットに変換するAHCIコントローラ6410を含む。AHCI記憶装置6400は、外部からはPCIe記憶装置とみなされるが、内部的にはSATA記憶装置である。AHCI記憶装置6400は、図1に図示された記憶装置1300と同様に動作するように構成される。
SATA記憶装置6500は、SATAインターフェースを介して内部チャネルコントローラ6300に接続され、SATA規定のデータパケットを処理するSATAコントローラ6510を備える。SATA記憶装置6500は、内部チャネルコントローラ6300のSATAコントローラ6330の制御によってSATAデータパケットを送受信する。送受信されたSATAデータパケットは内部チャネルコントローラ6300のAHCIコントローラ6320によってPCIeデータパケットに変換され、変換されたPCIeデータパケットはPCIeインターフェースを介して中央処理装置6100に送受信される。
本発明の実施形態によるコンピューティングシステム6000は、PCIeインターフェースを介して内部チャネルコントローラ6300に接続された疑似PCIe記憶装置6400及びSATA記憶装置6500を備える。
図10は本発明の実施形態による入出力要求(IO RQ)の観点から見たコンピューティングシステム7000を示す図である。図10を参照すると、コンピューティングシステム7000は、中央処理装置7100、メインメモリ7200及びSATAe記憶装置7300を備える。
SATAe記憶装置7300は、不揮発性メモリ装置7350とそれを制御するSATAコントローラ7360を備える。SATAコントローラ7360は、PCIeインターフェース回路7361、SATAeエンジン7362、オン−チップSRAM7363及びDRAMバッファ7364を備える。SATAeエンジン7362は、AHCIエンジン7320、SATAエミュレータ7330、DMA回路7340を備える。特に、DMA回路7340は、データ転送のための送信DMA回路7341(DMA1)、データ受信のための受信DMA回路7342(DMA2)を含む。
入出力要求(IO RQ)のプロセスは次のとおりである。入出力要求(IO RQ)が可能であれば、中央処理装置7100はメインメモリ7200に入出力要求(IO RQ)を送信する((1))。入出力要求(IO RQ)に対応するコマンドキュー(command queue)は、コマンドヘッド(command header; CH)/コマンドFIS(command frame information structure; CFIS)、PRDT(physical region descriptor table)、ホストバッファ(host buffer)を含む。PRDTは、ホストに送信されるデータやホストから送信されるデータを格納するメモリ領域の構造体を格納するテーブルである。PRD(physical region descriptor)は、対応するメモリ領域のアドレスとサイズを含む。
中央処理装置7100は、入出力要求(IO RQ)のブザー(doorbell)情報をSATAe記憶装置7300に転送する((2))。SATAe記憶装置7300のAHCIエンジン7320にはブザー情報を保存するためのホストレジスタ(例えば、PxCI)を備える。SATAe記憶装置7300は、入出力要求(IO RQ)に応答してFIS関連情報をメインメモリ7200に転送することにより、入出力要求(IO RQ)に対してフェッチする((3))。また、入出力要求(IO RQ)に対応するFISが自主的に更新される((4))。メインメモリ7200とSATAe記憶装置7300との間で送信DMA回路7341及び受信DMA回路7342を介して入出力要求(IO RQ)によるデータ転送がそれぞれ行われる。データ転送が完了すると、SATAe記憶装置7300は中央処理装置7100に割り込みを送信する((5))。中央処理装置7100に割り込みが入力された後、中央処理装置7100は入出力要求が完了した情報をSATAe記憶装置7300に転送する((6))。
本発明の実施形態によるコンピューティングシステム7000は、メインメモリ7200とSATAe記憶装置7300との間で入出力要求に基づいて双方向のデータ転送を行うことができる。
図11は図10に図示されたAHCIエンジン7320に入出力されるデータパケットのPCIヘッダを例示的に示す図である。図11を参照すると、ABARはAHCIベースアドレスとして、ホスト制御レジスタの開始アドレスはABARに0x0000を加えた値になり、ポートレジスタの開始アドレスはABARに0x0100を加えた値になる。
図12は図10に図示されたAHCIエンジン7320に格納されているホストの制御情報を例示的に示す図である。図12を参照すると、00h〜03hに対応するホスト制御レジスタはホストの能力情報を保存し、0Ch〜0Fhに対応するホスト制御レジスタは結合されたポート情報を保存する。
図13は図10に図示されたAHCIエンジン7320に保存されているポート情報を例示的に示す図である。図13を参照すると、00h〜03hに対応するポートレジスタはコマンドリストベースアドレスに対するポート情報を格納し、08h〜0Bhに対応するポートレジスタはFISベースアドレスに対するポート情報を格納し、28h〜2Bhに対応するポートレジスタはSATA状態に対するポートの情報を格納し、38h〜3Bhに対応するポートレジスタはコマンドに対するポート情報を格納する。
図14A〜図14Hは図10に図示されたAHCIエンジン7320とSATAエミュレータ7330との間に送受信されるFISの規定を例示的に示す図である。図14A〜図14Bを参照すると、FISの規定はSATA3.0仕様を満足する。図14AはFISの種類であり、図14BはH2DFISレイアウト、図14CはD2HFISレイアウト、図14DはPIO Setup FISレイアウト、図14EはDMA Setup FISレイアウト、図14Fは、DMA Activate FISレイアウト、図14GはData FISレイアウト、図14HはSDB FISレイアウトを示す図である。
図15は図10に示されているメインメモリ7200のホストバッファの構造を例示的に示す図である。図15を参照すると、ポートレジスタPxCLBはコマンドテーブル(CT)を識別するための複数のコマンドを有するコマンドリスト構造(コマンドキュー)を保存し、ポートレジスタPxFBは入力されたFIS構造を保存する。コマンドリスト構造に対するメインメモリ7200からホストバッファベースアドレスはポートレジスタPxCLBによって識別することができる。FIS構造に対するメインメモリ7200からホストバッファベースアドレスはポートレジスタPxFBによって識別することができる。
図16は図15に図示されたコマンドリストの構造を例示的に示す図である。図16を参照すると、コマンドヘッダ(command header)のそれぞれはコマンドテーブルのベースアドレス(DW2)とコマンドテーブルのベースアドレスの上位32ビット(DW3)を保存する。
図17は図16に図示されたコマンドテーブルを例示的に示す図である。図17を参照すると、コマンドテーブルは複数のアイテム(Item0〜ItemCHz[PRDTL]−1)を有するPRDT(physical region descriptor table)を含む。アイテム(Item0〜ItemCHz[PRDTL]−1)のそれぞれはデータベースアドレス(DBA)を含む。データベースアドレス(DBA)はメインメモリ7200のホストバッファに保存される。PRDTはプリフェッチ(prefetching)のために使用される。
図18は図15に図示されたReceived FIS構造を例示的に示す図である。図18を参照すると、FISはDMAセットアップFIS、PIOセットアップFIS、D2HレジスタFIS、未確認FIS、予備領域を備える。
図19は図10に図示されたコンピューティングシステム7000から実行される読み取りコマンドの過程を例示的に示す図である。図19を参照すると、AHCIエンジン7320のレジスタPxCIはNCQコマンドを受信し、AHCIエンジン7320はNQQコマンドによるFIS情報をSATAeエミュレータ7330とやりとりし、関連するFIS情報(CH、H2DFIS、PRDテーブルなど)をメインDRAM7200に転送することによってコマンドをフェッチする。その後、SATAeエンジン7362はメインメモリ7200にアクセスすることによってコマンドによる入出力データが転送される。その後、SATAの規定によるDMAセットアップFIS及びSDBFISがSATAeエミュレータ7330からAHCIエンジン7320に転送され、AHCIエンジン7320はこれらをメインメモリ7200に転送する。その後、読み取りの完了情報がAHCIエンジン7320に転送される。
1000、2000、3000、4000、5000、6000、7000・・・コンピューティングシステム
1100・・・ホストプロセッサ
1200・・・ホストメモリ
1001・・・ホストバス
1300・・・記憶装置
1310・・・第1インターフェース回路
1320・・・ホストバスアダプタ
1330・・・第2インターフェースエミュレータ
1340・・・ダイレクトメモリアクセス回路
1350・・・不揮発性メモリ装置
1360・・・メモリコントローラ
FIS・・・フレーム情報構造
CH・・・コマンドヘッダ
CFIS・・・コマンドFIS
PRDT・・・物理領域ディスクリプタテーブル

Claims (10)

  1. 少なくともホストプロセッサ及びホストメモリを含む外部のホストと第1インターフェースを介して通信し、内部に第2インターフェースを介して通信するホストバスアダプタを備える記憶装置のデータ転送方法に於いて、
    前記ホストプロセッサから前記ホストメモリに入出力要求に対応するコマンドキューを送信する段階と、
    前記ホストプロセッサが、前記ホストバスアダプタに書き込みコマンドと読み取りコマンドを発行する段階と、
    前記記憶装置から、前記発行された書き込みコマンドと読み取りコマンド情報に応答して前記ホストメモリに前記入出力要求に対応するフレーム情報構造を転送することによって前記入出力要求をフェッチする段階と、
    前記記憶装置が前記ホストメモリとの間で、前記書き込みコマンドに応答して前記第1インターフェースを使用して読み取りダイレクトメモリアクセスの動作を実行するとともに、前記読み取りコマンドに応答して前記第1インターフェースを使用して書き込みダイレクトメモリアクセスの動作を実行する段階と、
    前記記憶装置が、前記書き込みコマンド及び前記読み取りコマンドに応答して前記第2インターフェースの規定による書き込み及び読み取りデータフレーム情報構造のシーケンス(DMAセットアップFIS,ノンデータFIS、及びSDB−FISをこの順に含む)を生成し、前記ホストメモリに送信する段階と
    但し、書き込みの際のノンデータFISのみは、前記ホストメモリにより生成されて前記記憶装置に送信され、
    前記記憶装置のホストバスアダプタから割り込みを発生して前記ホストメモリに送信する段階と、
    前記ホストプロセッサから前記発生された割り込みをもとにして前記入出力要求を完了する段階と、を含み、
    前記第1インターフェースは双方向のデータ転送を実行し、前記第2インターフェースは単方向のデータ転送を実行することを特徴とするデータ転送方法。
  2. 前記書き込みコマンド及び前記読み取りコマンドは、ネイティブコマンドキューイング(native command queuing;NCQ)によって前記ホストバスアダプタに入力されることを特徴とする請求項1に記載のデータ転送方法。
  3. 前記書き込み及び読み取りコマンドを発行する前に、前記記憶装置の前のコマンドが完了したことを判別するために前記ホストバスアダプタの第1レジスタを読み取る段階をさらに含むことを特徴とする請求項1に記載のデータ転送方法。
  4. 前記ホストに前記発行された書き込みコマンドと読み取りコマンドに対応するフレーム情報構造を転送することによってコマンドをフェッチする段階をさらに含むことを特徴とする請求項1に記載のデータ転送方法。
  5. 前記フレーム情報構造のシーケンスはそれぞれダイレクトメモリアクセスセットアップのフレーム情報構造(DMA Setup FIS)、プログラムアイオーフレーム情報構造(PIO Setup FIS)、データフレーム情報構造(Data FIS)、セット装置ビットフレーム情報構造(SDB FIS)を含むことを特徴とする請求項1に記載のデータ転送方法。
  6. 前記データフレーム情報構造は、ノン−データ(non−data)フレーム情報構造であることを特徴とする請求項5に記載のデータ転送方法。
  7. 前記読み取り及び書き込みのダイレクトメモリアクセス動作が完了した後に、前記フレーム情報構造のシーケンスが発生されることを特徴とする請求項1に記載のデータ転送方法。
  8. 中央処理装置、メインメモリ、前記中央処理装置と第1インターフェースを介して通信し、内部に第2インターフェースを介して通信するホストバッファアダプタを備える記憶装置を含むコンピューティングシステムのデータ転送方法に於いて、
    前記中央処理装置から前記メインメモリに入出力要求に対応するコマンドキューを送信する段階と、
    前記中央処理装置から前記メインメモリに前記入出力要求された情報を前記ホストバッファアダプタに送信する段階と、
    前記記憶装置から前記情報に応答して前記メインメモリに前記入出力要求に対応するフレーム情報構造を転送することによって前記入出力要求をフェッチする段階と、
    前記記憶装置から前記第1インターフェースによって前記メインメモリと前記記憶装置との間でデータを転送する段階と、
    前記記憶装置が、前記データ転送後に前記第2インターフェースの規定によって書き込み及び読み取りフレーム情報構造のシーケンス(DMAセットアップFIS,ノンデータFIS、及びSDB−FISをこの順に含む)を発生し、前記メインメモリに送信する段階と、
    但し、書き込みの際のノンデータFISのみは前記メインメモリから前記記憶装置に送信され、
    前記記憶装置のホストバスアダプタから割り込みを発生してホストメモリに送信する段階と、
    前記中央処理装置から前記発生された割り込みをもとにして前記入出力要求を完了する段階と、を含むことを特徴とするデータ転送方法。
  9. 前記第1インターフェースは双方向のデータ転送を実行し、
    前記第2インターフェースは単方向のデータ転送を実行することを特徴とする請求項8に記載のデータ転送方法。
  10. 前記第1インターフェースはPCIe(peripheral component interconnect express)インターフェースであり、前記第2インターフェースはSATA(serial advanced technology attachment)インターフェースであることを特徴とする請求項9に記載のデータ転送方法。
JP2013243556A 2012-11-26 2013-11-26 記憶装置及びそれを含むコンピューティングシステムと、それのデータ転送方法 Active JP6265706B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2012-0134589 2012-11-26
KR1020120134589A KR101988287B1 (ko) 2012-11-26 2012-11-26 저장 장치 및 그것을 포함하는 컴퓨팅 시스템, 및 그것의 데이터 전송 방법

Publications (2)

Publication Number Publication Date
JP2014106977A JP2014106977A (ja) 2014-06-09
JP6265706B2 true JP6265706B2 (ja) 2018-01-24

Family

ID=50514009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013243556A Active JP6265706B2 (ja) 2012-11-26 2013-11-26 記憶装置及びそれを含むコンピューティングシステムと、それのデータ転送方法

Country Status (6)

Country Link
US (1) US8990462B2 (ja)
JP (1) JP6265706B2 (ja)
KR (1) KR101988287B1 (ja)
CN (1) CN103838687B (ja)
DE (1) DE102013112894A1 (ja)
NL (1) NL2011838B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11176074B2 (en) 2019-10-22 2021-11-16 Via Labs, Inc. Chip and interface conversion device
TWI753541B (zh) * 2019-10-22 2022-01-21 威鋒電子股份有限公司 晶片及介面轉換裝置

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9513869B2 (en) 2013-09-18 2016-12-06 HGST Netherlands B.V. Doorbell-less endpoint-initiated protocol for storage devices
US9778859B2 (en) 2013-09-18 2017-10-03 Western Digital Technologies, Inc. Doorless protocol having multiple queue read requests in flight
US9535870B2 (en) 2013-09-18 2017-01-03 HGST Netherlands B.V. Acknowledgement-less protocol for solid state drive interface
US10025736B1 (en) 2014-04-17 2018-07-17 Bitmicro Networks, Inc. Exchange message protocol message transmission between two devices
US10042792B1 (en) * 2014-04-17 2018-08-07 Bitmicro Networks, Inc. Method for transferring and receiving frames across PCI express bus for SSD device
TWI579762B (zh) * 2014-05-06 2017-04-21 瑞昱半導體股份有限公司 固態硬碟控制電路及相關的固態硬碟裝置與固態硬碟存取系統
WO2016020979A1 (ja) * 2014-08-05 2016-02-11 株式会社日立製作所 計算機システム及び仲介デバイス
US9880783B2 (en) 2015-10-28 2018-01-30 Sandisk Technologies Llc System and method for utilization of a shadow data buffer in a host where the shadow data buffer is controlled by external storage controller
EP3374874A4 (en) * 2015-11-12 2019-07-17 Total Phase, Inc. SERIAL DEVICE EMULATOR USING TWO MEMORY SITES WITH DYNAMIC AND CONFIGURABLE RESPONSE
TWI615770B (zh) * 2015-11-17 2018-02-21 群聯電子股份有限公司 資料存取方法、記憶體控制電路單元與記憶體儲存裝置
CN107145459B (zh) 2016-03-01 2021-05-18 华为技术有限公司 一种级联板、ssd远程共享访问的系统和方法
KR20180043451A (ko) * 2016-10-19 2018-04-30 삼성전자주식회사 컴퓨팅 시스템 및 그것의 동작 방법
CN106909523B (zh) * 2017-02-24 2019-11-22 深圳市恒扬数据股份有限公司 大规模数据传输方法及系统
US10904477B2 (en) * 2018-01-19 2021-01-26 Caavo Inc Device identification using media device keys
CN110321063A (zh) * 2018-03-31 2019-10-11 深圳忆联信息系统有限公司 数据处理方法及存储设备
CN109446015B (zh) * 2018-10-26 2022-05-27 北京计算机技术及应用研究所 一种NVMe原型仿真验证结构
KR20200054004A (ko) * 2018-11-09 2020-05-19 삼성전자주식회사 호스트와 통신을 수행하는 전자 장치 및 그 동작 방법
KR102555800B1 (ko) * 2021-04-06 2023-07-17 에스케이하이닉스 주식회사 스토리지 시스템 및 그 동작 방법
US11782616B2 (en) 2021-04-06 2023-10-10 SK Hynix Inc. Storage system and method of operating the same
CN113703683B (zh) * 2021-08-28 2022-05-13 江苏华存电子科技有限公司 一种单一的优化冗余存储系统的装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001022221A1 (en) * 1999-09-22 2001-03-29 Netcell Corp. Raid controller system and method with ata emulation host interface
US7284082B2 (en) * 2004-08-19 2007-10-16 Lsi Corporation Controller apparatus and method for improved data transfer
JP2006139548A (ja) 2004-11-12 2006-06-01 Hitachi Global Storage Technologies Netherlands Bv メディア・ドライブ及びそのコマンド実行方法
JP2006164012A (ja) * 2004-12-09 2006-06-22 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びそのパワー・セーブ・モードの制御方法
US8402201B2 (en) 2006-12-06 2013-03-19 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery in solid-state storage
US8225019B2 (en) * 2008-09-22 2012-07-17 Micron Technology, Inc. SATA mass storage device emulation on a PCIe interface
US8244937B2 (en) 2008-09-30 2012-08-14 Micron Technology, Inc. Solid state storage device controller with parallel operation mode
US9128699B2 (en) * 2008-12-22 2015-09-08 Intel Corporation Method and system for queuing transfers of multiple non-contiguous address ranges with a single command
US8055816B2 (en) 2009-04-09 2011-11-08 Micron Technology, Inc. Memory controllers, memory systems, solid state drives and methods for processing a number of commands
US8341338B2 (en) 2009-05-06 2012-12-25 Samsung Electronics Co., Ltd. Data storage device and related method of operation
KR20100120518A (ko) 2009-05-06 2010-11-16 삼성전자주식회사 데이터 저장 장치 및 그것의 읽기 커멘드 처리 방법
US8868809B2 (en) * 2009-11-30 2014-10-21 Lsi Corporation Interrupt queuing in a media controller architecture
US8131889B2 (en) 2009-11-10 2012-03-06 Apple Inc. Command queue for peripheral component
US20110296131A1 (en) 2010-05-31 2011-12-01 Samsung Electronics Co., Ltd Nonvolatile memory system and the operation method thereof
US9189166B2 (en) * 2011-04-11 2015-11-17 Ineda Systems Pvt. Ltd. Multi-host SATA controller
KR20120134589A (ko) 2011-06-03 2012-12-12 이훈규 멀티미디어 콘텐츠 제작 시스템 및 방법
US8713204B2 (en) * 2011-12-27 2014-04-29 Apple Inc. High-performance AHCI interface

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11176074B2 (en) 2019-10-22 2021-11-16 Via Labs, Inc. Chip and interface conversion device
TWI753541B (zh) * 2019-10-22 2022-01-21 威鋒電子股份有限公司 晶片及介面轉換裝置

Also Published As

Publication number Publication date
CN103838687A (zh) 2014-06-04
NL2011838A (en) 2014-05-27
NL2011838B1 (en) 2016-07-15
JP2014106977A (ja) 2014-06-09
CN103838687B (zh) 2018-10-19
KR20140067404A (ko) 2014-06-05
DE102013112894A1 (de) 2014-05-28
KR101988287B1 (ko) 2019-06-12
US20140149607A1 (en) 2014-05-29
US8990462B2 (en) 2015-03-24

Similar Documents

Publication Publication Date Title
JP6265706B2 (ja) 記憶装置及びそれを含むコンピューティングシステムと、それのデータ転送方法
KR101934519B1 (ko) 저장 장치 및 그것의 데이터 전송 방법
TWI699696B (zh) 具有介面控制機構之電子系統及其操作方法
US8601198B2 (en) Controllable transaction synchronization for merging peripheral devices
CN101965559B (zh) 包括将处理器与内部存储器连接的交叉切换器的用于闪存的存储控制器
JP5128079B2 (ja) ユニバーサルストレージバスアダプタ
US7356637B2 (en) Virtual IDE storage device with PCI express interface
US9009395B2 (en) Storage subsystem and its data processing method for reducing the amount of data to be stored in nonvolatile memory
WO2017092002A1 (zh) 应用于计算机系统的数据迁移方法和装置、计算机系统
US20150081967A1 (en) Management of storage read requests
KR102395541B1 (ko) 메모리 컨트롤 유닛 및 그것을 포함하는 데이터 저장 장치
CN103403667A (zh) 数据处理方法和设备
JP2014532237A (ja) ストレージにアクセスするためのコマンドキュー長を効率的に増やす方法及び装置
TW201145037A (en) USB-attached-SCSI flash-memory system with additional command, status, and control pipes to a smart-storage switch
KR20170110810A (ko) 데이터 처리 시스템 및 그것의 동작 방법
US11074010B2 (en) Storage system and control method thereof
KR102140297B1 (ko) 불휘발성 메모리 장치 및 그것을 포함하는 데이터 저장 장치
KR20170094674A (ko) 데이터 저장 장치
WO2015154541A1 (zh) Usb固态盘固件存储装置
US8775687B1 (en) Method to ensure data coherency in a scalable aggregate neighbor-device interface
US20120303859A1 (en) Implementing storage adapter performance optimization with parity update footprint mirroring
JP6013609B2 (ja) ストレージ装置及びデータ入出力方法
US8656059B2 (en) Methods for exchanging administrative information through a communication interface with limited administrative information exchange features
WO2023173999A1 (zh) 一种数据读取方法及装置
US10846020B2 (en) Drive assisted storage controller system and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160909

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20161222

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20161228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171204

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

Effective date: 20171212

R150 Certificate of patent or registration of utility model

Ref document number: 6265706

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250