[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPWO2008038647A1 - Raidシステム及びraidシステムにおけるデータ転送方法 - Google Patents

Raidシステム及びraidシステムにおけるデータ転送方法 Download PDF

Info

Publication number
JPWO2008038647A1
JPWO2008038647A1 JP2008504292A JP2008504292A JPWO2008038647A1 JP WO2008038647 A1 JPWO2008038647 A1 JP WO2008038647A1 JP 2008504292 A JP2008504292 A JP 2008504292A JP 2008504292 A JP2008504292 A JP 2008504292A JP WO2008038647 A1 JPWO2008038647 A1 JP WO2008038647A1
Authority
JP
Japan
Prior art keywords
ide
raid
data
host
bus
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
JP2008504292A
Other languages
English (en)
Inventor
浩人 吉川
浩人 吉川
Original Assignee
株式会社ゼンテック・テクノロジー・ジャパン
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 株式会社ゼンテック・テクノロジー・ジャパン filed Critical 株式会社ゼンテック・テクノロジー・ジャパン
Publication of JPWO2008038647A1 publication Critical patent/JPWO2008038647A1/ja
Pending legal-status Critical Current

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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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/0626Reducing size or complexity 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/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)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

【課題】RAIDシステムにおいて、接続するストレージデバイスの数が増大しても信号線数が増大しない新規なストレージシステムを提供すること、また、IDEデバイス側の転送速度が遅い場合でも、高速にデータ転送ができる新規なデータ転送方法を提供する。【解決手段】ATAホストに接続される1つのRAIDコントローラ(11)と複数のIDEデバイス(12A乃至12D、22A乃至22D)とがIDEバス(13乃至15、23乃至25)によって接続されたストレージシステムであって、IDEバス1チャンネルに少なくとも2個以上のIDEデバイスが接続されると共に、前記RAIDコントローラと前記IDEデバイスのそれぞれが、前記同一チャンネル内において共通のデータバス及び共通のアドレスバスによって接続されることを特徴とするRAIDシステム(10)。【選択図】 図1

Description

本発明は、コンピューターの周辺装置に関するものであり、より詳細には、複数のストレージデバイスを結合して1つのストレージシステムを構築するRAIDシステム及びこのシステムにおけるデータ転送方法に関するものである。
RAID(Redundant Arrays of Inexpensive Disks)システムは、相対的に記憶容量の小さな複数のストレージデバイスを結合することによって仮想的に記憶容量の大きい1つのストレージデバイスとして用いることや(ストライピング)、複数のストレージデバイスに同一のデータを記録することによってデータのバックアップを行うこと(ミラーリング)といった、いくつかの使用態様が知られている。また、パリティの処理方法等により、RAID−0からRAID−6まで、7つの区分がなされている。
RAIDシステムは、専用のハードウェアを使う方法(ハードウェア方式)とソフトウェアで実現する方法(ソフトウェア方式)に大別される。このうち、ハードウェア方式は、RAIDコントローラを使用するものとディスクアレイユニットを用いる2方式が存在する。
このうち、RAIDコントローラを使用するRAIDシステムは、RAIDコントローラと呼ばれる集積回路(チップ)に複数のストレージデバイスが並列に接続される構成をとり、RAIDコントローラがそれぞれのストレージデバイスへのデータの授受をコントロールすることによって、実現される。
従来のRAIDシステム(特に、IDE(Integrated Device Electronics)バスに接続されるストレージデバイスを使用して構築されたもの)は、いずれも1つのIDEバスに1個のIDEデバイスが並列に接続され、必要により複数のIDEバスを備える構成となっている。
ところで、近年はストレージデバイスが多様化し、従来のハードディスク装置だけでなく、フラッシュメモリーなどの半導体記憶素子を用いた「シリコンディスク」と呼ばれる新しい記憶装置が提案されている。ストライピング或いはミラーリング、及び転送速度の高速化といったRAIDシステムの基本的な特徴は、ストレージデバイスがハードディスクからシリコンディスクに変わっても、そのまま引き継ぐことができる。特に、RAID−0(レイド・ゼロ)と呼ばれるストライピング方式のRAIDシステムは、データの冗長性を補完するものではないが、記憶容量の小さな複数のメモリーカードを用いてハードディスクに置き換わる高速かつ大容量の記憶装置を実現するシステムとして、注目されている(例えば、特許文献1参照)。
特開2000−207137号公報
しかし、従来のRAIDシステムは、接続するIDEデバイス数と同数のIDEバス(これを「チャンネル」という。)が必要となるため、多数のIDEデバイスを接続しようとするとチャンネル数を大きくしなければならないという問題がある。近年2チャンネル或いは4チャンネルのRAIDコントローラが販売されているが端子数の割に接続できるデバイス数が少ないことが欠点である。
図6(a)は、4チャンネルのRAIDコントローラを用いた従来のRAIDシステムの構成例を示している。同図に示すようにこのシステムは、4チャンネルのIDEバス103A乃至103Dのそれぞれが1つのIDEデバイス102A乃至102Dと接続され、4つのIDEバスによって合計4個のIDEデバイスが接続されている。
RAIDコントローラが持つIDEバスは、データバスとアドレスバスとコントロールバスに分けられる。このうち、データバスは16ビットであるから信号線は16本、アドレスバスは5ビットであるから信号線は5本、コントロールバスは6ビットであるから信号線は6本、すなわち、合計27本の信号線が1チャンネル分のIDEバスを構成する。
図6(a)に示すシステム構成例はIDEバス4チャンネルであるから、27本×4チャンネル=108本の信号線が必要となる。なお、原理的には何チャンネルでも接続することができるが、多くのIDEデバイスを接続するためにチャンネル数を増やしていくと、1つのIDEデバイスを増設するたびごとに27本ずつ信号線が必要となる。例えば、16個のIDEデバイスを接続するためには、16チャンネルのIDEバスが必要となり、信号線数だけで27本×16チャンネル=432本に達する。なお、RAIDコントローラの端子数としては、最低でもクロック端子、リセット端子及び各バスごとに正負の電源端子などが必要となるので、それらを考慮するとチップの端子数は更に増大する。
1チップの集積回路として設計される従来のRAIDコントローラにおいては、チャンネル数が増えるほど、必要とされるRAIDコントローラチップの端子数(ピン数)が増大し、それによってチップ製造コスト及び回路基板の製造コストが飛躍的に増大する。
また、従来方式のRAIDシステムを利用してSDメモリーカードなどの書き込み時間の長いストレージデバイスを用いたRAIDシステムを構築すると、SDメモリーカードの書き込み時間が大きなオーバーヘッド(待ち時間)となり、スループットを低下させる。従来のRAIDシステムは、各チャンネルを物理的に並列に接続するだけでなく、データの授受についても時間的に並列に処理しているためである。
図6(b)は、図6(a)の構成例において、各チャンネルに接続されているデバイスを102A乃至102Dとして、データの書き込みシーケンスを概念的に示したものである。この図に示されるように、高速のATA(Advanced Technology Attachment)ホスト側から転送された16kBのデータを1セクタ(1kB)ずつ各IDEバスに割り振って(つまり、A1→B1→C1→D1→A2→B2→C2→・・・というように)、すなわち時分割式に書き込むことによって、並列処理による高速化を実現している。
しかしながら、ATAホスト側の転送速度は十分に速い一方で、IDEデバイス側の書き込み速度が極めて遅い場合、このような並列処理を行ってもなお1セクタ分の書き込みに時間がかかり、同じIDEデバイスに書き込まれる次の1セクタの書き込みが開始されるまでの時間がオーバーヘッド(待ち時間)となる。並列処理数を増やすためにIDEデバイスを増大させると上述のとおり必要な信号線数が激増するという問題が発生する。
本発明は、上記に鑑みてなされたものであり、RAIDシステムにおいて、接続するストレージデバイスの数が増大しても信号線数の増大が効果的に抑えられる新規なストレージシステムを提供すること、また、IDEデバイス側の転送速度が極めて遅い場合でも、高速にデータ転送ができる新規なデータ転送方法を提供することを主たる技術的課題とする。
[物理的構成]
本発明に係るRAIDシステムは、ATAホストに接続される1つのRAIDコントローラと複数のIDEデバイスとがIDEバスによって接続されたストレージシステムであって、IDEバス1チャンネルに少なくとも2個以上のIDEデバイスが接続されると共に、前記RAIDコントローラと前記IDEデバイスのそれぞれが、前記IDEバス1チャンネルにおいて共通のデータバス及び共通のアドレスバスによって接続されることを特徴とする。なお、1つのチャンネルにおいては共通のデータバスとアドレスバスが使用されるがコントロールバスについては各IDEデバイスのそれぞれに1つずつ必要である。
このシステムは従来のRAIDシステムと以下の二点において大きく相違する。
第1に、従来のRAIDシステムは、IDEバス1チャンネルに接続されるIDEデバイスは常に1個であることが当然の前提であるのに対し、本発明に係るRAIDシステムは、IDEバス1チャンネルに複数個のIDEデバイスが接続される接続されることを許容するシステムであるという点である。
第2に、従来のRAIDシステムは、1つのIDEデバイスが1チャンネルのIDEバスを占有するため、1デバイスにつき27本の信号線が必要であったが、本発明に係るRAIDシステムは、それぞれのチャンネルにおいてはデータバスとアドレスバスが共通であるという点である。
このように本発明に係るRAIDシステムでは、1つのチャンネルにおいてデータバスとアドレスバスが共通であるため、接続するIDEデバイス数が増大しても、システム全体の信号線数の増大が効果的に抑えられる。
また、本発明に係るRAIDシステムでは、1つのRAIDコントローラに接続することができる最大デバイス数はRAIDコントローラが持つチャンネル数mと、1つのチャンネルに接続するIDEデバイス数nの積(m×n)によって決定されることになるが、チャンネル数mをそれほど増大させなくても接続するデバイス数を増やすことができ、必要とされる端子数と回路基板上に必要とされる信号線数が共に抑えられることと相俟って、RAIDコントローラのチップ製造コストと回路基板の設計コスト及び製造コストが飛躍的に抑えられる。
但し、IDEデバイス1つに対して、マスターデバイスとスレーブデバイスの2つを接続できる場合は、本発明に係る1つのRAIDシステムに接続するストレージデバイス数Nは、N=2×(m×n)となる。
なお、本明細書において、「チャンネルが同一のIDEデバイス」とはデータバス及びアドレスバスが共通することを意味するものとし、特に、同一チャンネル内に接続される複数のIDEデバイスを総称して、「同一のグループに属するIDEデバイス」という。
なお、前記RAIDコントローラは、FPGA(フィールドプログラマブルゲートアレイ)で構成されていてもよい。また、前記ストレージデバイスはフラッシュメモリーを備えた半導体記憶素子を含むことが好ましい。フラッシュメモリーはATAの転送速度と比較して書き込み速度が著しく遅いストレージデバイスの1つであり、本発明を適用することによる効果が大きいからである。
また、前記IDEデバイスはATAとSDのプロトコル変換エンジンを備えたSDホストコントローラであって、前記ストレージデバイスはSDメモリーカードであることが好ましい。SDメモリーカードはそのままではATAホストと通信することができないが、SDメモリーカードのホストコントローラ側でATAとSDのプロトコル変換が行われると、RAIDコントローラにとって、SDホストコントローラは直接IDEデバイスとして認識されるからである。
前記SDホストコントローラは、SDホストエンジンとこのSDホストエンジンを制御するSDホストレジスタ群及びメモリーとを含むSDホストのコアと、セレクタとを、それぞれ2系統備えていることが好ましい。ATAホストはマスターデバイスとスレーブデバイスの2つを認識することができるため、SDホストコントローラがこのような構成を備えると、SDメモリーカードを2枚挿入し、一方をマスターデバイスと、他方をスレーブデバイスとして認識できるからである。なお、SDホストコントローラはその上位互換にあたるSDIOコントローラであることを妨げない。
更に、前記RAIDシステムは、ストライピング方式のRAIDシステム(RAIDレベルゼロ)であることが好ましい。このように構成すると、記憶容量の小さな複数のメモリーカードを用いて1つの高速かつ大容量のストレージデバイスを実現しうるためである。
また、各チャンネルに接続されるストレージデバイスの書き込み遅延時間を利用して、前記データバス及びアドレスバスが共通する同一グループの他のストレージデバイスに順次書き込み動作を行うことが好ましい。
[データ転送方法]
本発明に係るRAIDシステムにおけるデータ転送方法は、本発明に係る上記RAIDシステムの物理的構成を前提として、下記のステップを備えることを特徴とする。
(ステップ1)前記RAIDコントローラによって、ホストから受け取ったデータが、連続する複数のデータに分割された後、それぞれのIDEバス(チャンネル)に順次データが転送されるステップ
(ステップ2)前記分割されたデータを受け取った各グループに属する各IDEデバイスによって、受け取ったデータが同一グループに属する各ストレージデバイスに順次書き込まれるステップ
なお、ステップ2は各IDEデバイスごとに独立して実行される。
本発明に係るRAIDシステムにおいて、このようなデータ転送方法を採用すると、同一チャンネル内に書き込み速度の著しく遅い複数のストレージデバイスが接続されていても、1つの書き込み動作中に同一チャンネル内の他のストレージデバイスに順次書き込みを行うとともに、異なるチャンネル同士はこれらの書き込み動作が独立して行われるため、多数のデバイスを接続しているにもかかわらず極めて高速にデータ転送が行われるためである。しかも、上述したように、同一グループのデバイスは共通のデータバス及びアドレスバスが用いられるため、同一グループ内でデバイス数が増えても増加する信号線はコントロールバス分のみである。
特に、前記ステップ2において、受け取ったデータが同一グループに属する各ストレージデバイスに書き込まれるステップは、受け取ったデータが予め複数のパケットに分割されるステップと、前記パケットを単位として複数回にわたり前記ストレージデバイスに書き込まれるステップを備えることを特徴とすることが好ましい。これは、近年のSDメモリーカードは、書き込み或いは読み出しのためのバッファー(W/R−FIFO)を備えているものがあるが、その場合にパケットに分割してこれを前記バッファーに保持しつつ複数回にわたり書き込み(或いは読み出し)を行うことで、転送速度が一層向上するためである。
本発明に係るRAIDシステムは同一チャンネルにおいてはデータバス及びアドレスバスが共通されているため、同一チャンネル内でIDEデバイスを1つ追加するために増加する信号線数はコントロール信号を接続する6本のみであり、全体として信号線数及びRAIDコントローラの端子数を大幅に少なくすることができる。
また、本発明に係るRAIDシステムの構成について上記のようなデータ転送方法を採用すると、1つのチャンネルに接続される複数のストレージデバイスのそれぞれが持つ書き込み遅延時間(ビジータイム)中に、同一チャンネルに接続される別のストレージデバイスへの書き込みを行うため、ストレージデバイスの書き込み遅延時間に律速されることはない。このことによって、スループットを向上させることができる。
特に、SDメモリーカードに適用した場合には、SDメモリーカード特有の書き込み遅延時間を効果的に利用して、スループットを大幅に増大させることができる。
(第1の実施形態)
−システム構成について−
はじめに、本発明に係るRAIDシステムの基本的な構成態様について説明する。
図1は、本発明に係るRAIDシステムの接続例を示している。同図に示すこのシステム10は、2チャンネルのRAIDコントローラ11からなるRAIDシステムであるが、第1のチャンネルには複数(4個)のIDEデバイス12A乃至12Dが接続され、第2のチャンネルには複数(4個)のIDEデバイス22A乃至22Dが接続され、合計8個のIDEデバイスが接続されている。
IDEデバイス12A乃至12Dはいずれも共通のデータバス13及び共通のアドレスバス14によって接続され(これを便宜上「第1のグループに属するIDEデバイス」という)、同様に、IDEデバイス22A乃至22Dはいずれも共通のデータバス23及び共通のアドレスバス24によって接続されている(「第2のグループに属するIDEデバイス」)。このように「共通のデータバス及び共通のアドレスバスを備えることによって同一チャンネルに複数のデバイスを接続する」という構成は、本発明の物理的特徴の一つである。
なお、各グループに属するIDEデバイスに接続されるコントロールバス15(25)はいずれも個別のバスで構成されている。
−信号線数について−
この図に示すように、現在のATAインターフェースの仕様を前提とするとアドレスバスは16ビット、データバスは5ビット、コントロールバスは1つのIDEデバイスあたり6ビットである。このため、データバスとコントロールバスを共通にした場合、必要とされる信号線数は、1チャンネルあたり、{(16+5)+6×n}となる。従って、チャンネル数がm個の場合、必要とされる信号線数Xは、
X=[{(16+5)+6×n}×m] ・・・・・(1)
と計算される。
図1に示すRAIDコントローラ11のチャンネル数mは2であり、1チャンネルあたりのIDEデバイス数nは4個であるから、合計8個(2×4)のIDEデバイスが接続され、信号線数は、{(16+5)+6×4}×2=90本となる。
−比較例−
従来のRAIDシステムは1チャンネルにつき1つのデバイスしか搭載しないため、図1に示すような8個のIDEデバイスを接続するためには8チャンネルのRAIDシステムが必要であり、信号線数は各チャンネルが並列に接続されるものであるから、27×8=216本必要である。
−接続例−
図1に示すRAIDシステム10において、IDEデバイス12A乃至12D、22A乃至22Dには、図示されないストレージデバイスが接続されることになる。ストレージデバイスとしては、IDE接続のハードディスクなどを接続してもよいが、ここでは、SDメモリーカードを接続した例について説明する。
ATAとSDのプロトコル変換エンジンを備えたSDホストコントローラはすでに本件発明者らによって発明されている。RAIDコントローラにとって、そのようなSDホストコントローラはドライバソフトやファームウエアなどを介することなく直接IDEデバイスとして認識される。従って、ATAとSDのプロトコル変換エンジンを備えたSDホストコントローラを用いると、1枚のSDメモリーカードを1台のハードディスクに置き換わる1つのストレージデバイスとみなしてRAIDシステムを容易に実現することができる。
図2は、ATAインターフェースとATA−SDプロトコル変換エンジンを搭載したSD(IO)ホストコントローラの機能ブロックを示したものである(PCT/JP2005/017682、図1参照)。このSDホストコントローラ(SDIOホストコントローラ)30は、SDホストのSDプロトコルエンジン(SDホストエンジン31)と、このSDホストエンジンを制御する、SDホストレジスタ群32及びメモリー(SRAM等)33とを含むSDホストのコア34を2系統(同一の機能ブロックは同じ符号を用い、添字a,bを用いて区別している)備え、SDのホストを制御するCPUインターフェースを3つ(ATAインターフェース35a、PCIインターフェース35b、汎用マイコンインターフェース35c)と、各CPUインターフェースを選択するセレクタ(MUX36a、36b)とを備えた1チップの半導体デバイスである。なお、この製品はすでにシイガイズ社より商品名:「CG−200」として、市販されているものである(http://www.c-guys.jp/CG200_index_jp.htm)。実際の製品及び前記公報記載の発明はSDメモリーのホストコントローラとしてだけでなく、その上位互換であるSDIOホストコントローラとしても機能するが、本件発明のように接続するデバイスがSDメモリーである場合はホストが認識するコマンド数が少なく、I/O機能を実現する各種のコマンド等も不要であることから、SDホストコントローラでも十分である。
なお、ATAには、通常マスターデバイスとスレーブデバイスの2つをストレージデバイスを接続することができ、ATAホストはマスターとスレーブを区別するプロトコルを備えている。一般に市販されている多くのSDホストコントローラはSDメモリーカードを搭載するスロットが1つしかないものが多いが、図2に示すSDホストコントローラはSDホストのコア34を2系統備え、故にSDメモリーカードの挿入するスロットを2枚備えているため、いずれか一方をマスターデバイス、他方をスレーブデバイスとしてATAのホスト側から制御することができる。なお、マスターデバイスとスレーブデバイスの選択は、デバイス選択を行うためのレジスタDEVHEDにおける1つのビット(これをDEVBITという)が0のときはマスターデバイスに、1のときはスレーブデバイスに書き込み或いは読み出しを行うが、両者の相違は書き込み或いは読み出し先のアドレスが異なるだけの相違であるため、スレーブデバイスを導入することによってRAIDシステムから見れば速度は変わらないが1つのIDEデバイスの容量が増大する。
従って、図1に示すRAIDシステムにおいて、図2に示すSDホストコントローラをIDEデバイスとして接続すると、1つのIDEデバイスに2枚のSDメモリーカードを接続することができるので、8個のSDホストコントローラによって合計で最大16枚のSDメモリーカードを接続することができる。例えば、1GBのSDメモリーカードを16枚挿入してストライピングすることで、合計16GBのストレージシステムが実現されることになる。或いは、RAIDシステムのレベルによって各SDメモリーカードのいくつかをミラーリングしたり、それぞれのSDメモリーカードを独立のストレージデバイスとして使用することもできる。また、後述するデータ転送方法を適用すると書き込み及び読み出し速度が大幅に向上する。
(第2の実施形態)
図3は、第2の実施形態について説明するためのシステム構成図を示している。このRAIDシステム40は、4チャンネルのRAIDコントローラ41の各チャンネルに、IDEデバイスとして認識される2個のSDホストコントローラ42A及び42B、52A及び52B、62A及び62B、72A及び72Bがそれぞれ接続されている。なお、このシステムはSDメモリーとRAIDコントローラによって実現されたストレージシステムであるから、本明細書においてこれを「SDMD: Secure Digital Memory Drive」システムと名付けることとする。
第1の実施形態において説明したとおり、各チャンネルはデータバス及びアドレスバスが共通に構成されているため、必要な信号線数を計算により求めると、上式(1)にm=4、n=2を代入すると、
X=[{(16+5)+6×2}×4]=132 ・・・・(1’)
となる。なお、RAIDコントローラの端子数としては、電源端子やクロック端子、リセット端子などが必要となるのでその分が加算されるが、従来のように8個のIDEデバイスを並列接続する場合、信号線数だけでも27×8=216本必要になることを踏まえると、本実施形態に係るシステムでは、必要とされる端子数が大幅に軽減されていることが理解される。
ところで、各SDホストコントローラ42,52,62,72はそれぞれ2枚(マスターデバイス用とスレーブデバイス用)のSDメモリーカードを挿入することができる。結局、図3に示すようにこのSDMDシステムでは4×2×2=16枚のSDメモリーカードを接続することができる構成となっている。
なお、このような多チャンネルのRAIDシステムにおいては、各チャンネルに接続されるストレージデバイスの容量の総和が等しくなければならないが、IDEデバイスにおけるマスターとスレーブとで容量が異なっていても問題はない。
−SDメモリーカードの特異性について−
次に、本発明に係るシステムに好適なデータ転送方法について説明する。従来のRAIDシステムは、1チャンネルに1つのIDEデバイスしか接続されておらず、複数のIDEデバイスを接続する場合は、チャンネル数mを増大させていたが、本発明に係るシステムでは1つのチャンネルに複数のデバイスがデータバス及びアドレスバスを共通にして接続されている。このため、データの転送方法について、説明しておかなければならないが、まず、SDメモリーカードの特性(ハードディスクドライブと比較した場合の特異性)について説明する。
ストレージデバイスの1つであるSDメモリーカードはハードディスクドライブなど他のストレージデバイスと比較して、書き込み動作に時間がかかるとされている。この理由について説明する。
SDメモリーカードの書き込み動作は、大きく分けて次のステップからなる。
(1)SDホストコントローラが、書き込みコマンド(CMD25)をSDメモリーカードのコントローラに送るステップ
(2)SDメモリーカードのコントローラがコマンドレスポンスを返すステップ
(3)コマンドレスポンスに続けてSDホストコントローラはデータパケットをSDメモリーカードのコントローラに送るステップ
(4)書き込みが開始される(書き込み中はビジータイムとなる)ステップ
SDメモリーカードはこのようなステップで書き込み処理が行われるため、書き込みに際して非常に時間がかかる。一方、RAIDシステムのホスト側であるATAホスト(或いは更に高速なシリアルATA、次世代ATAであるATA2等を含む)側は、RAIDコントローラに接続されるストレージデバイスと比べて十分な速度があるため、従来のようにストレージデバイスが並列に1つずつ接続される構成の下で、各チャンネルごとに順次書き込みを行うやり方では、ホスト側からRAIDシステム側への書き込み速度が各ストレージデバイスの書き込み時間に律速されてしまうのである。
そこで、本発明に係るデータ転送方法は、1つのチャンネルに書き込み速度の遅い複数のストレージデバイスを接続して1つのデバイスに書き込みを行う間に、同一グループに属する他のストレージデバイスに順次書き込みを行うように構成している。換言すると、各チャンネルに接続されるストレージデバイスの書き込み遅延時間を利用して、前記データバス及びアドレスバスが共通する同一グループの他のストレージデバイスに順次書き込み動作を行うということである。
図4は、図3に示すRAIDシステムの物理的構成を更に拡張し、1チャンネルあたりのIDEデバイス数nを4に拡張した構成(物理的構成の図示は省略する)におけるデータ転送方法を説明するための図である。
但し、説明を簡単にするため、IDEデバイスにスレーブデバイスは接続せず、マスターデバイスのみ(SDメモリーカードの合計枚数は16枚)とする。なお、スレーブデバイスを接続すればSDメモリーカードの枚数は2倍の32枚挿入できることになるが、転送速度はマスターデバイスのみの場合と変わらない。これは、マスターデバイスとスレーブデバイスの相違は書き込み或いは読み出し先のアドレスが異なるだけの相違であって、スレーブデバイスを導入してもRAIDシステムから見れば1つのIDEデバイスの容量が増大することになるが転送速度自体が変化するものではないからである。
なお、以下に説明するステップは、ATAホスト側からSDメモリーカードへのデータ転送(書き込み)手順を説明するものであるが、逆に、SDメモリーカードからATAホスト側へのデータ転送(読み出し)については、基本的に逆動作と考えて良いため、後述する図5において結果のみ示すこととして詳細な説明を省略する。
以下、図4を参照して本発明に係るデータ転送方法の具体例について説明する。
−データ転送方法について−
(ステップ1)RAIDコントローラは、ホストから受け取った16kBのデータを、1kBの連続するデータD0乃至Dfに分割して、それぞれのIDEバス(チャンネル)に順次データを送る。各IDEバスにおける処理はそれぞれのIDEデバイスが独立して行うことができるため、各グループごとに、それぞれ独立に以下に説明する処理(2,3,4)が並列して実行される。これは、ステップ2が終了する時刻と、ステップ3及びステップ4が終了する時刻とがほぼ同時刻であるということを意味する。
(ステップ2)第1グループに属する各ストレージデバイスへの書き込み
(2−1)第1のIDEデバイスに接続されているストレージデバイスへの書き込み
1kBのデータD0を受け取った第1のグループに属する第1のIDEデバイスは、受け取ったデータを512Byteのパケット2つに分割すると共に、前記第1のIDEデバイスに接続されているストレージデバイスに、まず最初のパケットを書き込み、次に、この最初のパケットの書き込みが終わった後、残りのパケットを書き込む。
(2−2)第2のIDEデバイスに接続されているストレージデバイスへの書き込み
次に、前記第1のIDEデバイスに接続されているストレージデバイスに最初のパケットの書き込みが行われている間に、IDEバスを一巡して新たにホストから次の1kBのデータD4を受け取った第2のIDEデバイスは、受け取ったデータを512Byteのパケット2つに分割すると共に、前記第2のIDEデバイスに接続されているストレージデバイスに、まず最初のパケットを書き込み、この最初のパケットの書き込みが終わった後、残りのパケットを書き込む。
(2−3)第3のIDEデバイスに接続されているストレージデバイスへの書き込み
次に、前記第2のIDEデバイスに接続されているストレージデバイスに最初のパケットの書き込みが行われている間に、IDEバスを一巡して新たにホストから次の1kBのデータD8を受け取った第3のIDEデバイスは、受け取ったデータを512Byteのパケット2つに分割すると共に、同一グループに属する前記第3のIDEデバイスに接続されているストレージデバイスに、まず最初のパケットを書き込み、この最初のパケットの書き込みが終わった後、残りのパケットを書き込む。
(2−4)第4のIDEデバイスに接続されているストレージデバイスへの書き込み
次に、前記第3のIDEに接続されているストレージデバイスに最初のパケットの書き込みが行われている間に、IDEバスを一巡して新たにホストから次の1kBのデータDcを受け取った第4のIDEデバイスは、受け取ったデータを512Byteのパケット2つに分割すると共に、同一グループに属する前記第4のIDEデバイスに接続されているストレージデバイスに、まず最初のパケットを書き込み、この最初のパケットの書き込みが終わった後、残りのパケットを書き込む。
(ステップ3)第2グループに属する各ストレージデバイスへの書き込み
上述した第1グループの各ストレージデバイスへの書き込みとは独立して、以下の(3−1)乃至(3−4)のステップを通じて第2グループの各ストレージデバイスへの書き込みが行われる。
(3−1)第1のIDEデバイスに接続されているストレージデバイスへの書き込み
1kBのデータD1を受け取った第2グループに属する第1のIDEデバイスは、受け取ったデータを512Byteのパケット2つに分割すると共に、前記第1のIDEデバイスに接続されているストレージデバイスに、まず最初のパケットを書き込み、次に、この最初のパケットの書き込みが終わった後、残りのパケットを書き込む。
(3−2)第2のIDEデバイスに接続されているストレージデバイスへの書き込み
次に、前記第1のIDEデバイスに接続されているストレージデバイスに最初のパケットの書き込みが行われている間に、IDEバスを一巡して新たにホストから次の1kBのデータD5を受け取った第2のIDEデバイスは、受け取ったデータを512Byteのパケット2つに分割すると共に、前記第2のIDEデバイスに接続されているストレージデバイスに、まず最初のパケットを書き込み、この最初のパケットの書き込みが終わった後、残りのパケットを書き込む。
(3−3)第3のIDEデバイスに接続されているストレージデバイスへの書き込み
次に、前記第2のIDEデバイスに接続されているストレージデバイスに最初のパケットの書き込みが行われている間に、IDEバスを一巡して新たにホストから次の1kBのデータD9を受け取った第3のIDEデバイスは、受け取ったデータを512Byteのパケット2つに分割すると共に、前記第3のIDEデバイスに接続されているストレージデバイスに、まず最初のパケットを書き込み、この最初のパケットの書き込みが終わった後、残りのパケットを書き込む。
(3−4)第4のIDEデバイスに接続されているストレージデバイスへの書き込み
次に、前記第3のIDEデバイスに接続されているストレージデバイスに最初のパケットの書き込みが行われている間に、IDEバスを一巡して新たにホストから次の1kBのデータDdを受け取った第4のIDEデバイスは、受け取ったデータを512Byteのパケット2つに分割すると共に、前記第4のIDEデバイスに接続されているストレージデバイスに、まず最初のパケットを書き込み、この最初のパケットの書き込みが終わった後、残りのパケットを書き込む。
(ステップ4)第3グループに属する各ストレージデバイスへの書き込み
上述した第1、第2グループの各ストレージデバイスへの書き込みとは独立して、以下の(4−1)乃至(4−4)のステップを通じて第3グループの各ストレージデバイスへの書き込みが行われる。
(4−1)第1のIDEデバイスに接続されているストレージデバイスへの書き込み
1kBのデータD2を受け取った第3グループに属する第1のIDEデバイスは、受け取ったデータを512Byteのパケット2つに分割すると共に、前記第1のIDEデバイスに接続されているストレージデバイスに、まず最初のパケットを書き込み、次に、この最初のパケットの書き込みが終わった後、残りのパケットを書き込む。
(4−2)第2のIDEデバイスに接続されているストレージデバイスへの書き込み
次に、前記第1のIDEデバイスに接続されているストレージデバイスに最初のパケットの書き込みが行われている間に、IDEバスを一巡して新たにホストから次の1kBのデータD6を受け取った第2のIDEデバイスは、受け取ったデータを512Byteのパケット2つに分割すると共に、前記第2のIDEデバイスに接続されているストレージデバイスに、まず最初のパケットを書き込み、この最初のパケットの書き込みが終わった後、残りのパケットを書き込む。
(4−3)第3のIDEデバイスに接続されているストレージデバイスへの書き込み
次に、前記第2のIDEデバイスに接続されているストレージデバイスに最初のパケットの書き込みが行われている間に、IDEバスを一巡して新たにホストから次の1kBのデータDaを受け取った第3のIDEデバイスは、受け取ったデータを512Byteのパケット2つに分割すると共に、前記第3のIDEデバイスに接続されているストレージデバイスに、まず最初のパケットを書き込み、この最初のパケットの書き込みが終わった後、残りのパケットを書き込む。
(4−4)第4のIDEデバイスに接続されているストレージデバイスへの書き込み
次に、前記第3のIDEデバイスに接続されているストレージデバイスに最初のパケットの書き込みが行われている間に、IDEバスを一巡して新たにホストから次の1kBのデータDeを受け取った第3のIDEデバイスは、受け取ったデータを512Byteのパケット2つに分割すると共に、前記第4のIDEデバイスに接続されているストレージデバイスに、まず最初のパケットを書き込み、この最初のパケットの書き込みが終わった後、残りのパケットを書き込む。
(ステップ5)第4グループに属する各ストレージデバイスへの書き込み
上述した第1乃至第3グループの各ストレージデバイスへの書き込みとは独立して、以下の(5−1)乃至(5−4)のステップを通じて第4グループの各ストレージデバイスへの書き込みが行われる。
(5−1)第1のIDEデバイスに接続されているストレージデバイスへの書き込み
1kBのデータD3を受け取った第4グループに属する第1のIDEデバイスは、受け取ったデータを512Byteのパケット2つに分割すると共に、前記第1のIDEデバイスに接続されているストレージデバイスに、に、まず最初のパケットを書き込み、次に、この最初のパケットの書き込みが終わった後、残りのパケットを書き込む。
(5−2)第2のIDEデバイスに接続されているストレージデバイスへの書き込み
次に、前記第1のIDEデバイスに接続されているストレージデバイスに最初のパケットの書き込みが行われている間に、IDEバスを一巡して新たにホストから次の1kBのデータD7を受け取った第2のIDEデバイスは、受け取ったデータを512Byteのパケット2つに分割すると共に、前記第2のIDEデバイスに接続されているストレージデバイスに、まず最初のパケットを書き込み、この最初のパケットの書き込みが終わった後、残りのパケットを書き込む。
(5−3)第3のIDEデバイスに接続されているストレージデバイスへの書き込み
次に、前記第2のIDEデバイスに接続されているストレージデバイスに最初のパケットの書き込みが行われている間に、IDEバスを一巡して新たにホストから次の1kBのデータDbを受け取った第3のIDEデバイスは、受け取ったデータを512Byteのパケット2つに分割すると共に、前記第3のIDEデバイスに接続されているストレージデバイスに、まず最初のパケットを書き込み、この最初のパケットの書き込みが終わった後、残りのパケットを書き込む。
(5−4)第4のIDEデバイスに接続されているストレージデバイスへの書き込み
次に、前記第3のIDEデバイスに接続されているストレージデバイスに最初のパケットの書き込みが行われている間に、IDEバスを一巡して新たにホストから次の1kBのデータDfを受け取った第4のIDEデバイスは、受け取ったデータを512Byteのパケット2つに分割すると共に、前記第4のIDEデバイスに接続されているストレージデバイスに、まず最初のパケットを書き込み、この最初のパケットの書き込みが終わった後、残りのパケットを書き込む。
このデータ転送方法において最も重要なことは、各ステップ内における動作は複数のストレージデバイスに対して逐次的に書き込み処理が行われるが、ステップ1〜ステップ4はいずれも独立して行われるという点である。これは、第1グループに対する全てのデバイスへの書き込みが終了した時点で、第4グループに属する最後のストレージデバイスへの書き込みが終了していることを意味する。
また、更なる工夫の一つとして、近年のSDメモリーカードは、書き込み或いは読み出しのためのバッファー(W/R−FIFO)を備えているものがある(例えば、特表2004/077306)。この場合、SDメモリーカードに1kBのデータを書き込む場合でも、小さいサイズほど書き込み処理が短時間で済むということに加えて、このバッファーサイズ(又はそれ以下)に分割して書き込むことにより、書き込み速度が一層増大する。上述した例において、1kBのデータを512Byteのパケット2つに分割したのは、SDメモリーカードのバッファーの大きさが512Byteの場合を想定しているためである。従って、より大きなバッファーを備えている場合には、そのバッファーサイズ以下のパケットに分割することで効率的な書き込み処理が行われることになる。
なお、データバス及びアドレスバスを共通に接続して複数のデバイスを接続することは、回路基板の実装の問題であるため、従来のRAIDコントローラでも実現は可能であるが、上述したデータ転送方法を実現することは不可能であるが、FPGA(Field Programmable Gate Array)などを用いれば比較的容易に実現することができる。
本件発明者たちはFPGAを用いて上述のデータ転送方式が実現するRAIDコントローラを設計し、実際に転送速度を調べた。
図5は、本発明に係るRAIDシステムと従来のRAIDシステムを比較するため、図2に示すようなATAとSDのプロトコル変換エンジンを備えたSDホストコントローラを接続し、前記ストレージデバイスとしてSDメモリーカードを用いた構成における下記の[1]乃至[3]のケースにおいて、転送速度、容量、接続したSDメモリーカードの枚数、全信号線数を比較した結果を示す表を示している。なお、図中のmはIDEのチャンネル数を、nは1チャンネルあたりのデバイス数を、それぞれ表している。
[1](m,n)=(4,4)の場合[本発明]
[2](m,n)=(2,4)の場合[本発明]
[3](m,n)=(4,1)の場合[従来]
このうち、[1]及び[2]は、本発明に係る転送方法を適用した場合の結果を示している。[1]は、本発明に係る4chのRAIDシステムにおいて、1つのチャンネルに接続するデバイス数を4とした場合の結果を、[2]は、本発明に係る2chのRAIDシステムにおいて、1つのチャンネルに接続するデバイス数を4とした場合の結果を示している。また、[3]は、従来の4chのRAIDシステム(1チャンネルに接続するデバイス数は1である。)の場合の結果を示している。
なお、スレーブデバイスは転送速度に影響しないため、SDメモリーカードの枚数はマスターデバイスのみの数を示している。また、全てのSDメモリーカードは1枚の容量が1GBのものを用いた。なお、スレーブデバイスを接続すればSDメモリーカードの数は2倍になるが、転送速度に影響しないことは上述したとおりである。
[1]乃至[3]の結果から、本発明に係るRAIDシステムは、記憶容量が従来の4倍或いは2倍になっても、信号線数はそれほど増大せず、本発明に係るRAIDシステムが極めて実装効率の高いシステムであることを示している。このことは、従来のRAIDシステムにおいて16個のIDEデバイスを接続するために必要な信号線数(27×16=432)を計算すれば明白である。
また、従来のIDE4チャンネルのRAIDシステムの場合([3]のケース)、転送速度は読み出しで72MB/sec、書き込みで43MB/secであったのに対し、本発明に係るRAIDシステムのデータ転送方法の場合、読み出しと書き込みの両方において転送速度を高速化することができたことが分かる。特に、書き込み速度の向上が著しい。なお、[1]のケースにおいて、読み出し・書き込みがいずれも100MB/secとなったのは、(第1世代の)シリアルATAの転送速度の上限で飽和したためと考えられる。よって、次世代のシリアルATA2(S−ATA2)に変更すれば、少なくとも140MB/secは達成可能である。
なお、接続するIDEデバイスの総数(n×m)が同一でも、nとmの個数をいずれに設定するかによって、全体としての転送速度を最大にする最適値が存在する。
本発明に係るRAIDシステム及びそのデータ転送方法によると、従来よりも信号線数を増加させることなくデータ転送速度を飛躍的に高めることができる。特に、書き込み速度の遅い複数のストレージデバイスを組み合わせることによって記憶容量を増大させるだけでなく、全体としての書き込み速度が顕著に増大する。
特に、ストレージデバイスとしてSDメモリーカードを適用すると、安価なSDメモリーカードを利用して極めて高速かつ大容量のIDE−RAIDシステムを構築することができる。従って、本発明の産業上の利用可能性は極めて大きい。
図1は、本発明に係るRAIDシステムの接続例を示している。 図2は、ATAインターフェースとATA−SDプロトコル変換エンジンを搭載したSD(IO)ホストコントローラの機能ブロックを示したものである。 図3は、第2の実施形態について説明するためのシステム構成図である。 図4は、本発明に係るRAIDシステムのデータ転送方法を説明するための図である。 図5は、本発明に係るRAIDシステムと従来のRAIDシステムを比較するための表である。 図6(a)は、4チャンネルのRAIDコントローラを用いた従来のRAIDシステムの構成例を示している。 図6(b)は、図6(a)の構成例において、各チャンネルに接続されているデバイスをA乃至Dとして、データの書き込みシーケンスを概念的に示したものである。
符号の説明
10、40 RAIDシステム
11 RAIDコントローラ
12、22 IDEデバイス
13、23 データバス
14、24 アドレスバス
15、25 コントロールバス
30 SDホストコントローラ(SDIOホストコントローラ)
34 SDホストのコア

Claims (9)

  1. ATAホストに接続される1つのRAIDコントローラと複数のIDEデバイスとがIDEバスによって接続されたストレージシステムであって、IDEバス1チャンネルに少なくとも2個以上のIDEデバイスが接続されると共に、前記RAIDコントローラと前記IDEデバイスのそれぞれが、前記同一チャンネル内において共通のデータバス及び共通のアドレスバスによって接続されることを特徴とするRAIDシステム。
  2. 前記RAIDコントローラは、FPGA(フィールドプログラマブルゲートアレイ)で構成されていることを特徴とする請求項1記載のRAIDシステム。
  3. 前記ストレージデバイスはフラッシュメモリーを備えた半導体記憶素子を含むことを特徴とする請求項1又は請求項2記載のRAIDシステム。
  4. 前記IDEデバイスはATAとSDのプロトコル変換エンジンを備えたSDホストコントローラであって、前記ストレージデバイスはSDメモリーカードであることを特徴とする請求項1乃至3のいずれか1項に記載のRAIDシステム。
  5. 前記SDホストコントローラは、SDホストエンジンとこのSDホストエンジンを制御するSDホストレジスタ群及びメモリーとを含むSDIOホストのコアと、セレクタとを、それぞれ2系統備えていることを特徴とする請求項4記載のRAIDシステム。
  6. 前記RAIDシステムは、ストライピング方式のRAIDシステム(RAIDレベルゼロ)であることを特徴とする請求項1乃至5のいずれか1項に記載のRAIDシステム。
  7. 各チャンネルに接続されるストレージデバイスの書き込み遅延時間を利用して、前記データバス及びアドレスバスが共通する同一グループの他のストレージデバイスに順次書き込み動作を行うことを特徴とする請求項1乃至6のいずれか1項に記載のRAIDシステム。
  8. 請求項1乃至7のいずれか1項に記載のRAIDシステムにおけるデータ転送方法であって、下記のステップを備えるもの。
    (ステップ1)前記RAIDコントローラによって、ホストから受け取ったデータが、連続する複数のデータに分割された後、それぞれのIDEバス(チャンネル)に順次データが転送されるステップ
    (ステップ2)前記分割されたデータを受け取った各グループに属する各IDEデバイスによって、受け取ったデータが同一グループに属する各ストレージデバイスに順次書き込まれるステップ
  9. 前記ステップ2において、受け取ったデータが同一グループに属する各ストレージデバイスに書き込まれるステップは、受け取ったデータが予め複数のパケットに分割されるステップと、前記パケットを単位として複数回にわたり前記ストレージデバイスに書き込まれるステップを備えることを特徴とする請求項8記載のデータ転送方法。
JP2008504292A 2006-09-26 2007-09-26 Raidシステム及びraidシステムにおけるデータ転送方法 Pending JPWO2008038647A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006260303 2006-09-26
JP2006260303 2006-09-26
PCT/JP2007/068632 WO2008038647A1 (fr) 2006-09-26 2007-09-26 Système raid et procédé de transfert de données dans ce système

Publications (1)

Publication Number Publication Date
JPWO2008038647A1 true JPWO2008038647A1 (ja) 2010-01-28

Family

ID=39230083

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008504292A Pending JPWO2008038647A1 (ja) 2006-09-26 2007-09-26 Raidシステム及びraidシステムにおけるデータ転送方法

Country Status (3)

Country Link
US (1) US7856527B2 (ja)
JP (1) JPWO2008038647A1 (ja)
WO (1) WO2008038647A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010009306A (ja) * 2008-06-26 2010-01-14 Hitachi Ltd ストレージ装置及びストレージ装置のデータ処理方法
US20100106874A1 (en) * 2008-10-28 2010-04-29 Charles Dominguez Packet Filter Optimization For Network Interfaces
US9495629B2 (en) * 2009-12-21 2016-11-15 Stmicroelectronics International N.V. Memory card and communication method between a memory card and a host unit
JP5641754B2 (ja) * 2010-03-23 2014-12-17 dブロード株式会社 インターフェースカードシステム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH076131A (ja) * 1993-06-15 1995-01-10 Fujitsu Ltd 記憶装置間直接データ転送方法及びその装置
JPH10320129A (ja) * 1997-05-20 1998-12-04 Hitachi Ltd ディスクアレイ装置
JP2000207137A (ja) * 1999-01-12 2000-07-28 Kowa Co 情報記憶装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134630A (en) * 1997-11-14 2000-10-17 3Ware High-performance bus architecture for disk array system
US20060218324A1 (en) * 2005-03-25 2006-09-28 Matsushita Electrical Industrial Co., Ltd Systems and methods for flexible data transfers in SDIO and/or MMC

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH076131A (ja) * 1993-06-15 1995-01-10 Fujitsu Ltd 記憶装置間直接データ転送方法及びその装置
JPH10320129A (ja) * 1997-05-20 1998-12-04 Hitachi Ltd ディスクアレイ装置
JP2000207137A (ja) * 1999-01-12 2000-07-28 Kowa Co 情報記憶装置

Also Published As

Publication number Publication date
US7856527B2 (en) 2010-12-21
US20080301366A1 (en) 2008-12-04
WO2008038647A1 (fr) 2008-04-03

Similar Documents

Publication Publication Date Title
EP1929482B1 (en) Portable data storage using slc and mlc flash memory
TWI484341B (zh) 記憶體系統控制器
TWI421680B (zh) Parallel flash memory controller
CN105867840B (zh) 闪存组件及非易失性半导体存储器组件
JP3995672B2 (ja) 改良型raidメモリ・システム
JP5226722B2 (ja) 記憶装置
KR101477849B1 (ko) 메모리 모듈 및 메모리 모듈 제어 방법
US10095436B2 (en) Cache memory device and data processing method of the device
CN114286989B (zh) 一种固态硬盘混合读写的实现方法以及装置
KR20110059712A (ko) 메모리 모듈 및 메모리 모듈 제어 방법
US7533218B2 (en) Memory system topology
JP2019518286A (ja) メモリバス上のマルチレベルデータキャッシュ及びストレージ
CN104991737B (zh) 一种基于存储卡阵列架构的硬盘实现方法
US20180253391A1 (en) Multiple channel memory controller using virtual channel
CN114207720B (zh) 具有存储体分配的多端口非易失性存储器设备以及相关系统和方法
US20090055572A1 (en) Optimal solution to control data channels
CN207008602U (zh) 一种基于NandFlash存储器多通道的存储阵列控制装置
JPWO2008038647A1 (ja) Raidシステム及びraidシステムにおけるデータ転送方法
CN101930407A (zh) 闪速存储器控制电路及其存储系统与数据传输方法
JP2015088071A (ja) 情報処理装置、記憶装置制御回路及び記憶装置の制御方法
JP5782556B2 (ja) 不揮発半導体記憶システム
US20110085367A1 (en) Switched memory devices
CN108139993A (zh) 内存装置、内存控制器、数据缓存装置及计算机系统
KR102393144B1 (ko) Ssd용 버스 멀티플렉서 그리드를 위한 고급 ce 인코딩
JPH08202497A (ja) データ記憶システム及びデータ記憶システムのパリティ発生方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100622

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101026