JP4311288B2 - 記憶装置 - Google Patents
記憶装置 Download PDFInfo
- Publication number
- JP4311288B2 JP4311288B2 JP2004193680A JP2004193680A JP4311288B2 JP 4311288 B2 JP4311288 B2 JP 4311288B2 JP 2004193680 A JP2004193680 A JP 2004193680A JP 2004193680 A JP2004193680 A JP 2004193680A JP 4311288 B2 JP4311288 B2 JP 4311288B2
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- data
- memory
- card
- sector
- 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へ進む。
して、次のディスクリプタ判定907に進む。そうでない場合、データ転送処理909に進む。最初の処理では、転送数カウンタTS(TC)は0に初期化されているので、次のディスクリプタ判定907に進む。
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 (2)
- ホストインタフェースを介して転送するデータを格納するためのアドレス付けされた記憶領域を保持するホスト機器との間で入出力されるデータを記憶媒体固有の消去単位の整数倍となる所定のストライピング単位で複数の前記記憶媒体にストライピング記録および再生を行う記憶装置であって、
前記複数の記憶媒体のそれぞれに対して入出力されるデータを一時的に記憶する複数の転送バッファメモリと、
対応する前記複数の記憶媒体と前記複数の転送バッファメモリとの間のデータ転送を制御する複数の記憶媒体制御手段と、
前記ホストインタフェースと前記複数の転送バッファメモリとの間のデータ転送経路を切り替える切替手段と、
前記ホストインタフェースと前記複数の転送バッファメモリとの間で、前記ストライピング単位よりも小さいブロック単位で前記複数の転送バッファメモリを切り替えながら、前記ストライピング単位よりも小さいブロック単位に対応する小領域を異なる前記ストライピング単位に属する不連続なアドレス順で前記記憶領域を巡回しながらデータ転送するとともに、ストライピング単位で連続して前記複数の転送バッファメモリと前記複数の記憶媒体との間でデータ転送するように、前記切替手段と前記複数の記憶媒体制御手段とを制御する制御手段とを有する記憶装置。 - 前記制御手段は、前記記憶領域において前記複数の記憶媒体のそれぞれに対応する複数の転送先領域の先頭アドレスを記憶する複数の転送先メモリアドレスカウンタを有し、
前記転送先メモリアドレスカウンタは、前記記憶領域と前記転送バッファメモリとの間の一連のデータ転送の終了時に更新され、
前記転送先メモリアドレスカウンタの更新時に、前記記憶領域のストライピング単位の境界を越える場合は、同一の前記記憶媒体に対応する次のストライピング単位の先頭アドレスまでの差分を前記転送先メモリアドレスカウンタに加算することにより、前記転送先メモリアドレスカウンタを補正する
請求項1記載の記憶装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004193680A JP4311288B2 (ja) | 2004-06-30 | 2004-06-30 | 記憶装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004193680A JP4311288B2 (ja) | 2004-06-30 | 2004-06-30 | 記憶装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008113557A Division JP4609522B2 (ja) | 2008-04-24 | 2008-04-24 | 記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006018419A JP2006018419A (ja) | 2006-01-19 |
JP4311288B2 true JP4311288B2 (ja) | 2009-08-12 |
Family
ID=35792662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004193680A Expired - Fee Related JP4311288B2 (ja) | 2004-06-30 | 2004-06-30 | 記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4311288B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729147A (zh) * | 2013-12-30 | 2014-04-16 | 华澜微电子有限公司 | 一种独立模块的冗余阵列 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4818812B2 (ja) | 2006-05-31 | 2011-11-16 | 株式会社日立製作所 | フラッシュメモリストレージシステム |
JP2007241588A (ja) * | 2006-03-08 | 2007-09-20 | Kyocera Mita Corp | データ転送装置及び画像形成装置 |
JP4842719B2 (ja) * | 2006-06-28 | 2011-12-21 | 株式会社日立製作所 | ストレージシステム及びそのデータ保護方法 |
CN100547566C (zh) * | 2007-06-28 | 2009-10-07 | 忆正存储技术(深圳)有限公司 | 基于多通道闪存设备逻辑条带的控制方法 |
JP2010009548A (ja) * | 2008-06-30 | 2010-01-14 | Toshiba Corp | 記憶装置、制御装置、記憶システム、および記憶方法 |
JP2010026592A (ja) * | 2008-07-15 | 2010-02-04 | Panasonic Corp | メモリデバイスおよびメモリデバイス制御装置 |
JP5244037B2 (ja) | 2008-07-15 | 2013-07-24 | パナソニック株式会社 | メモリデバイス、メモリデバイス制御装置 |
-
2004
- 2004-06-30 JP JP2004193680A patent/JP4311288B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729147A (zh) * | 2013-12-30 | 2014-04-16 | 华澜微电子有限公司 | 一种独立模块的冗余阵列 |
Also Published As
Publication number | Publication date |
---|---|
JP2006018419A (ja) | 2006-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3825465B2 (ja) | メモリカード及びメモリカードシステム | |
US9043541B2 (en) | Storage control device, storage device, and control method for controlling storage control device | |
CN100524273C (zh) | 存储卡控制器、存储卡驱动设备、以及计算机程序 | |
JPH0877066A (ja) | フラッシュメモリコントローラ | |
US20070168605A1 (en) | Information storage device and its control method | |
JP4184381B2 (ja) | ドライブ装置、プログラム | |
JP4311288B2 (ja) | 記憶装置 | |
CN115113799A (zh) | 主机命令的执行方法及装置 | |
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 | |
CN111045961B (zh) | 数据处理方法及使用所述方法的存储控制器 | |
KR19990072581A (ko) | 데이터전송방법및장치 | |
JPS6232494B2 (ja) | ||
JP2852935B2 (ja) | 情報再生装置 | |
JPH02278417A (ja) | セクタアドレス変換回路 | |
US20070050531A1 (en) | Information processing apparatus and method, and program and recording medium used therewith | |
JP2001118335A (ja) | データ記録・再生装置、データ記録方法、データ再生方法、データ記録・再生方法、ハードディスクコントローラおよびavデータの記録・再生方法 | |
JPWO2008102610A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム | |
JPH10340533A (ja) | データ記録装置及び方法 | |
JP2897470B2 (ja) | バッファレシオの最適化方法 | |
JPS6135570B2 (ja) | ||
JPH09106341A (ja) | バッファメモリ管理方法及びその装置 | |
JPS62110690A (ja) | 大容量フアイルアクセス方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070927 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071009 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071121 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080226 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080424 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080502 |
|
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: 20090421 |
|
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: 20090504 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
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 |