JP4609522B2 - 記憶装置 - Google Patents
記憶装置 Download PDFInfo
- Publication number
- JP4609522B2 JP4609522B2 JP2008113557A JP2008113557A JP4609522B2 JP 4609522 B2 JP4609522 B2 JP 4609522B2 JP 2008113557 A JP2008113557 A JP 2008113557A JP 2008113557 A JP2008113557 A JP 2008113557A JP 4609522 B2 JP4609522 B2 JP 4609522B2
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- data
- buffer memories
- memory
- transfer buffer
- 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.)
- Expired - Fee Related
Links
Images
Description
まず、本発明の基本構成を実施の形態1として、説明を簡略化するために次のような仮定の下で説明する。すなわち、ホスト機器がメインメモリ上に転送用バッファとして確保するメモリ領域は、物理的または論理的に連続した一つの領域であるということである。しかしながら、実施の形態2で後述するように、メモリ領域が複数の領域に分かれた場合であっても基本的な構成は共通である。
本発明のRAIDドライブ101は、ホストインタフェース133を介してホスト機器102との間で入出力されるデータを所定のストライピング単位で複数の記憶媒体にストライピング記録および再生を行う記憶装置である。RAIDドライブ101は、RAIDドライブ101にデータを読み書きするホスト機器102と、ホストインタフェース133を介して接続されている。ホスト機器102の例としては、ビデオカメラやビデオレコーダ等の映像機器のほかに、PC等が挙げられる。ホスト機器102とRAIDドライブ101とは、一体に構成されていてもよいし、ケーブル等で接続される構成でもよい。RAIDドライブ101は、複数の記憶媒体として4つのSDメモリーカード110、111、112、113を内蔵し、これらをホスト機器102に対して論理的に単一のディスクドライブとしてアクセスできるようにしている(RAID 0)。複数の転送バッファメモリとしての4つのデータFIFO117、118、119、120は、4つのSDメモリーカード110、111、112、113それぞれに対して入出力されるデータを一時的に記憶するバッファメモリである。複数の記憶媒体制御手段としての4つのメモリカード制御回路121、122、123、124は、それぞれSDメモリーカードとデータFIFOとの間でのデータ転送を制御する。制御手段134は、ホストインタフェース133経由でホスト機器102から入力されたコマンドと転送データのアドレスとに基づいて、切替回路125および複数のメモリカード制御回路を制御する。切替手段としての切替回路125は、制御手段134からの制御信号に基づいて4つのデータFIFO117、118、119、120とホストインタフェース133との間の転送経路を切り替える。
次に第2の実施の形態として、本発明における記憶装置のより一般化された状況での動作について詳細に説明する。
S=6、Z=37
とし、ストライピング単位セクタ数を
U=4
メモリカード数を
N=4
とする。余りを切り捨てる整数の除算を「/」、剰余演算を「%」で表すと、先頭セクタ702を含むメモリカード番号CSは、
CS=(S/U)%N
を計算することにより求められ、
CS=(6/4)%4=1
である。
先頭セクタを含むメモリカード番号CSより小さい番号のメモリカードについては
(S/(U×N)+1)×U
として、先頭セクタを含むメモリカードについては
(S/(U×N))×U+(S%U)
として、先頭セクタを含むメモリカード番号CSより大きい番号のメモリカードについては
(S/(U×N))×U
として求められる。
S0=(6/(4×4)+1)×4=4
メモリカード1の先頭セクタ702のメモリカード内セクタ番号は、
S1=(6/(4×4))×4+(6%4)=2
メモリカード2および3の先頭セクタ703、704のメモリカード内セクタ番号は、
S2=(6/(4×4))×4=0
S3=(6/(4×4))×4=0
と求められる。
E=S+Z
として求められ、上式と同様に、末尾直後セクタを含むメモリカード番号CEは、
CE=(E/U)%N
各メモリカード内の末尾直後セクタのメモリカード内セクタ番号は、メモリカード番号CEより小さい番号のメモリカードについては
(E/(U×N)+1)×U
として、メモリカード番号CEのメモリカードについては
(E/(U×N))×U+(E%U)
として、メモリカード番号CEより大きい番号のメモリカードについては
(E/(U×N))×U
として求められる。
E=S+Z=43
末尾直後セクタ707を含むメモリカード番号CEは、
CE=(E/U)%N=(43/4)%4=2
となるので、メモリカード0および1の末尾直後セクタ705、706のメモリカード内セクタ番号は
E0=(43/(4×4)+1)×4=12
E1=(43/(4×4)+1)×4=12
メモリカード2の末尾直後セクタ707のメモリカード内セクタ番号は
E2=(43/(4×4))×4+(43%4)=11
メモリカード3の末尾直後セクタ709のメモリカード内セクタ番号は
E3=(43/(4×4))×4=8
と求められる。
Z0=E0−S0=12−4=8
Z1=E1−S1=12−2=10
Z2=E2−S2=11−0=11
Z3=E3−S3=8−0=8
と求められる。
OS = S % U
として求められ、図10の例では
OS = 6 % 4 = 2
である。
TO(CS)=OS×512=先頭セクタのオフセット(バイト単位)
TO(CS以外)=0
TS0=TS1=TS2=TS3=0
TZ0=Z0×512=カード0の総転送バイト数
TZ1=Z1×512=カード1の総転送バイト数
TZ2=Z2×512=カード2の総転送バイト数
TZ3=Z3×512=カード3の総転送バイト数
DTA=メモリ領域ディスクリプタテーブルの先頭アドレス
EOT=0
BCS=CS=先頭セクタのカード番号
BOS=OS×512=先頭セクタのオフセット(バイト単位)
BS0=BS1=BS2=BS3=0
次に、転送開始判断902において、メモリ領域ディスクリプタの処理903を行うか否かを判定する。すなわち、レジスタEOTが0(未処理のメモリ領域ディスクリプタが残っていることを意味する)で、かつ、レジスタBS0、BS1、BS2、BS3が全て0(レジスタBS0、BS1、BS2、BS3が空きであることを意味する)であるとき、メモリ領域ディスクリプタの処理903に進む。そうでないとき、全データ転送終了判定905へ進む。
BA(Csml)=U×(N+Csml−BCS)×512−BOS+BMA
先頭バイトを含むメモリカードについては、
BA(BCS)=BMA
先頭バイトを含むメモリカードの番号BCSよりも大きい番号Cbigのメモリカードについては
BA(Cbig)=U×(Cbig−BCS)×512−BOS+BMA
とする。
BA1=0
BA2=4×(2−1)×512−1024+0=1024
BA3=4×(3−1)×512−1024+0=3072
これらは、図11のセクタ701、702、703、704の先頭アドレス1400(16進)、0000、0400(16進)、0C00(16進)を表わしている。
すると、メモリ領域内の最終バイトの次のバイトが含まれるSDメモリーカード番号BCEと、そのバイトのオフセットBOEが次の式で求められる。
BOE = α % (U × 512)
各メモリカードのメモリ領域内のバイト数は、
β=(α/(U×N×512))×(U×512)
に対して、
CSより小さい番号のメモリカードについてはU×512を引き、
CSと等しい番号のメモリカードについてはBOSを引き、
かつ、
BCEよりも小さい番号のメモリカードについてはU×512を加え、
BCEと等しい番号のメモリカードについてはBOEを加える
ことにより求められる。
α=4×1×512+1024+8192=11264
BCE=(11264/(4×512))%4=1
BOE=11264%(4×512)=1024
β=(11264/(4×4×512))×(4×512)=2048
BS0=2048−4×512+4×512=2048
BS1=2048−1024+1024=2048
BS2=2048
BS3=2048
と求められる。
BCS=BCE
BOS=BOE
上記のように転送開始判断902に戻って来ると、BS0、BS1、BS2、BS3が全て0ではないので、全データ転送終了判定905へ進む。
TS(TC)=BS(TC)
さらに、BS(TC)を0に設定して、このレジスタ値を無効とし、データ転送処理909へ進む。
ここで、min()は最小値を表している。すなわち、TZ(TC)はカード番号TCの残りの全データ数、TS(TC)は同じバッファ用メモリ領域内のカード番号TCの残りデータ数、(U×512−TO(TC))は同じバッファ用メモリ領域内のアドレス不連続点までの残りデータ数、128は1つのSDメモリーカードの最大連続転送数を表しており、これらのうちの最小値を転送データ数とする。
TA(TC)=TA(TC)+TSbst
TS(TC)=TS(TC)−TSbst
さらに、
TO(TC)+TSbst≧U×512
のとき
TA(TC)=TA(TC)+(N−1)×U×512
TO(TC)=0
とし、
TO(TC)+TSbst<U×512
のとき
TO(TC)=TO(TC)+TSbst
とし、
TC=TC+1
として、転送開始判断902に戻る。
102 ホスト機器
108 メインメモリ
110、111、112、113 SDメモリーカード
117、118、119、120 データFIFO
121、122、123、124 メモリカード制御回路
125 切替回路
128 転送制御回路
129 テーブルカウンタ
130 メモリ領域ディスクリプタバッファ
131 転送カウンタ
133 ホストインタフェース
134 制御手段
Claims (5)
- ホストインタフェースを介して転送するデータを格納するためのアドレス付けされた記憶領域を保持するホスト機器との間で入出力されるデータを所定のストライピング単位で複数の前記記憶媒体にストライピング記録および再生を行う記憶装置であって、
前記複数の記憶媒体のそれぞれに対して入出力されるデータを一時的に記憶する複数の転送バッファメモリと、
対応する前記複数の記憶媒体と前記複数の転送バッファメモリとの間のデータ転送を制御する複数の記憶媒体制御手段と、
前記ホストインタフェースと前記複数の転送バッファメモリとの間のデータ転送経路を切り替える切替手段と、
前記ストライピング単位よりも小さいブロック単位で前記複数の転送バッファメモリを切り替えながら前記ホストインタフェースと前記複数の転送バッファメモリとの間で前記アドレス付けされた記憶領域のアドレスが不連続な領域を巡回するようにデータ転送するとともに、前記複数の転送バッファメモリと前記複数の記憶媒体との間で連続してデータ転送するように、前記切替手段と前記複数の記憶媒体制御手段とを制御する制御手段とを有する記憶装置。 - ホストインタフェースを介して転送するデータを格納するためのアドレス付けされた記憶領域を保持するホスト機器との間で入出力されるデータを所定のストライピング単位で複数の前記記憶媒体にストライピング記録および再生を行う記憶装置であって、
前記複数の記憶媒体のそれぞれに対して入出力されるデータを一時的に記憶する複数の転送バッファメモリと、
対応する前記複数の記憶媒体と前記複数の転送バッファメモリとの間のデータ転送を制御する複数の記憶媒体制御手段と、
前記ホストインタフェースと前記複数の転送バッファメモリとの間のデータ転送経路を切り替える切替手段と、
前記ストライピング単位よりも小さいブロック単位で前記複数の転送バッファメモリを切り替えながら前記ホストインタフェースと前記複数の転送バッファメモリとの間で、前記ストライピング単位よりも小さいブロック単位に対応する小領域を不連続なアドレス順で巡回しながらデータ転送するとともに、前記複数の転送バッファメモリと前記複数の記憶媒体との間で連続してデータ転送するように、前記切替手段と前記複数の記憶媒体制御手段とを制御する制御手段とを有する記憶装置。 - ホストインタフェースを介して転送するデータを格納するためのアドレス付けされた記憶領域を保持するホスト機器との間で入出力されるデータを所定のストライピング単位で複数の前記記憶媒体にストライピング記録および再生を行う記憶装置であって、
前記複数の記憶媒体のそれぞれに対して入出力されるデータを一時的に記憶する複数の転送バッファメモリと、
対応する前記複数の記憶媒体と前記複数の転送バッファメモリとの間のデータ転送を制御する複数の記憶媒体制御手段と、
前記ホストインタフェースと前記複数の転送バッファメモリとの間のデータ転送経路を切り替える切替手段と、
前記ストライピング単位よりも小さいブロック単位で前記複数の転送バッファメモリを切り替えながら前記ホストインタフェースと前記複数の転送バッファメモリとの間で、前記ストライピング単位間隔で前記ストライピング単位よりも小さいブロックに対応する小領域を不連続なアドレス順で巡回しながらデータ転送するとともに、前記複数の転送バッファメモリと前記複数の記憶媒体との間で連続してデータ転送するように、前記切替手段と前記複数の記憶媒体制御手段とを制御する制御手段とを有する記憶装置。 - ホストインタフェースを介して転送するデータを格納するためのアドレス付けされた記憶領域を保持するホスト機器との間で入出力されるデータを所定のストライピング単位で複数の前記記憶媒体にストライピング記録および再生を行う記憶装置であって、
前記複数の記憶媒体のそれぞれに対して入出力されるデータを一時的に記憶する複数の転送バッファメモリと、
対応する前記複数の記憶媒体と前記複数の転送バッファメモリとの間のデータ転送を制御する複数の記憶媒体制御手段と、
前記ホストインタフェースと前記複数の転送バッファメモリとの間のデータ転送経路を切り替える切替手段と、
前記ストライピング単位よりも小さいブロック単位で前記複数の転送バッファメモリを切り替えながら前記ホストインタフェースと前記複数の転送バッファメモリとの間で、前記ストライピング単位よりも小さいブロック単位に対応する小領域を異なる前記ストライピング単位に属する不連続なアドレス順で巡回しながらデータ転送するとともに、前記複数の転送バッファメモリと前記複数の記憶媒体との間で連続してデータ転送するように、前記切替手段と前記複数の記憶媒体制御手段とを制御する制御手段とを有する記憶装置。 - 前記制御手段は、前記記憶領域において前記複数の記憶媒体のそれぞれに対応する複数の転送先領域の先頭アドレスを記憶する複数の転送先メモリアドレスカウンタを有し、
前記転送先メモリアドレスカウンタは、前記記憶領域と前記転送バッファメモリとの間の一連のデータ転送の終了時に更新され、
前記転送先メモリアドレスカウンタの更新時に、前記記憶領域のストライピング単位の境界を越える場合は、同一の前記記憶媒体に対応する次のストライピング単位の先頭アドレスまでの差分を前記転送先メモリアドレスカウンタに加算することにより、前記転送先メモリアドレスカウンタを補正する、
請求項1乃至4のいずれかに記載の記憶装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008113557A JP4609522B2 (ja) | 2008-04-24 | 2008-04-24 | 記憶装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008113557A JP4609522B2 (ja) | 2008-04-24 | 2008-04-24 | 記憶装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004193680A Division JP4311288B2 (ja) | 2004-06-30 | 2004-06-30 | 記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008204482A JP2008204482A (ja) | 2008-09-04 |
JP4609522B2 true JP4609522B2 (ja) | 2011-01-12 |
Family
ID=39781849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008113557A Expired - Fee Related JP4609522B2 (ja) | 2008-04-24 | 2008-04-24 | 記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4609522B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103748561A (zh) * | 2011-09-02 | 2014-04-23 | 苹果公司 | 用以减少延迟并提高对主机的吞吐量的同步数据传输和错误控制 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101359004B1 (ko) | 2012-04-05 | 2014-02-07 | (주) 인텍플러스 | Pc 성능에 적응적인 실시간 영상 획득 장치 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001100944A (ja) * | 1999-07-26 | 2001-04-13 | Matsushita Electric Ind Co Ltd | Raid装置 |
JP2001166888A (ja) * | 1999-12-13 | 2001-06-22 | Nippon Telegr & Teleph Corp <Ntt> | データ蓄積システムおよびデータ蓄積方法、ならびにデータ蓄積方法のプログラムを記録した記録媒体 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10207639A (ja) * | 1997-01-28 | 1998-08-07 | Sony Corp | 高速データ記録/再生装置および方法 |
-
2008
- 2008-04-24 JP JP2008113557A patent/JP4609522B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001100944A (ja) * | 1999-07-26 | 2001-04-13 | Matsushita Electric Ind Co Ltd | Raid装置 |
JP2001166888A (ja) * | 1999-12-13 | 2001-06-22 | Nippon Telegr & Teleph Corp <Ntt> | データ蓄積システムおよびデータ蓄積方法、ならびにデータ蓄積方法のプログラムを記録した記録媒体 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103748561A (zh) * | 2011-09-02 | 2014-04-23 | 苹果公司 | 用以减少延迟并提高对主机的吞吐量的同步数据传输和错误控制 |
CN103748561B (zh) * | 2011-09-02 | 2019-01-08 | 苹果公司 | 用以减少延迟并提高对主机的吞吐量的同步数据传输和错误控制 |
Also Published As
Publication number | Publication date |
---|---|
JP2008204482A (ja) | 2008-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3825465B2 (ja) | メモリカード及びメモリカードシステム | |
US9043541B2 (en) | Storage control device, storage device, and control method for controlling storage control device | |
US8209467B2 (en) | Recording apparatus, recording method, program for recording method, and storage medium that stores program for recording method | |
CN100524273C (zh) | 存储卡控制器、存储卡驱动设备、以及计算机程序 | |
KR100708128B1 (ko) | 낸드 플래시 메모리 제어 장치 및 방법 | |
JPH0877066A (ja) | フラッシュメモリコントローラ | |
US20070168605A1 (en) | Information storage device and its control method | |
US20110258372A1 (en) | Memory device, host device, and memory system | |
US7624227B2 (en) | Drive device and related computer program | |
CN111813703B (zh) | 数据储存装置及逻辑至物理地址映射表的更新方法 | |
US20220300203A1 (en) | Method and apparatus for executing host commands | |
JP4311288B2 (ja) | 記憶装置 | |
JP4609522B2 (ja) | 記憶装置 | |
KR20060017816A (ko) | 주 메모리와 기억 장치 사이에서 데이터를 전송하는 방법및 장치 | |
US8285932B2 (en) | Mass storage system with improved usage of buffer capacity | |
US8769167B2 (en) | Channel device, information processing system and data transfer method | |
JP2010026592A (ja) | メモリデバイスおよびメモリデバイス制御装置 | |
CN111045961B (zh) | 数据处理方法及使用所述方法的存储控制器 | |
JPS6232494B2 (ja) | ||
JPH0143332B2 (ja) | ||
JPH02278417A (ja) | セクタアドレス変換回路 | |
EP2798456A1 (en) | Intelligent msi-x interrupts for video analytics and encoding | |
JP2001118335A (ja) | データ記録・再生装置、データ記録方法、データ再生方法、データ記録・再生方法、ハードディスクコントローラおよびavデータの記録・再生方法 | |
JPWO2008102610A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム | |
JP2005057460A (ja) | 映像及び音声信号記録装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080521 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20091130 |
|
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: 20100914 |
|
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: 20100927 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131022 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131022 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |