JP4609356B2 - 記憶装置及びそのアクセス制御方法 - Google Patents

記憶装置及びそのアクセス制御方法 Download PDF

Info

Publication number
JP4609356B2
JP4609356B2 JP2006081620A JP2006081620A JP4609356B2 JP 4609356 B2 JP4609356 B2 JP 4609356B2 JP 2006081620 A JP2006081620 A JP 2006081620A JP 2006081620 A JP2006081620 A JP 2006081620A JP 4609356 B2 JP4609356 B2 JP 4609356B2
Authority
JP
Japan
Prior art keywords
access
type
slot
port
bandwidth
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
Application number
JP2006081620A
Other languages
English (en)
Other versions
JP2007257362A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2006081620A priority Critical patent/JP4609356B2/ja
Priority to US11/726,102 priority patent/US7746889B2/en
Priority to TW096109781A priority patent/TWI346285B/zh
Priority to KR1020070028090A priority patent/KR20070096858A/ko
Priority to CN2007101292469A priority patent/CN101094360B/zh
Publication of JP2007257362A publication Critical patent/JP2007257362A/ja
Application granted granted Critical
Publication of JP4609356B2 publication Critical patent/JP4609356B2/ja
Expired - Fee Related 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System (AREA)

Description

本発明は、複数のポートにそれぞれタイムスロットを割り当ててアクセスを制御する記憶装置に関し、特に、帯域保障を行うために必要なアクセスの周期がアクセスの種類によって異なる場合のアクセス制御方法に特徴を有するものに関する。
単一の記憶装置に対して外部の複数の機器がデータの記憶や再生を行うための方式として、記憶装置に複数のポートを設け、各ポートにそれぞれタイムスロット(当該ポートからのアクセスを受け付ける時間枠)を割り当てて、各機器がそれぞれ別々のポートからこの記憶装置にアクセスするという方式が行われている。
図1は、複数のポートを設けた記憶装置へのアクセスの様子を概念的に示す図である。記憶装置に設けられたn個のポートであるPort1〜Portnに、それぞれタイムスロットが割り当てられる。記憶装置内には、n個のバッファーメモリ21(21(1)〜21(n))が、Port1〜Portnに対応して設けられている。
Port1〜Portnのうちの或るPortiからデータを記憶する場合には、Portiから入力したデータが、バッファーメモリ21(i)に一時的に蓄積された後、Portiに割り当てたタイムスロットにバッファーメモリ21(i)から読み出されて記憶装置内の記憶媒体20(例えば、半導体記憶装置の一種であるフラッシュメモリ装置の場合にはフラッシュメモリ)に書き込まれる。
また、或るPortjからデータを再生する場合には、そのデータが、Portjに割り当てたタイムスロットに記憶媒体20から読み出されてバッファーメモリ21(j)に一時的に蓄積された後、バッファーメモリ21(j)から読み出されてPortjから出力される。
ところで、このように記憶装置の複数のポートにタイムスロットを割り当てる場合に、記憶装置へのアクセスを帯域保障する(一定の通信量を保障する)ためには、帯域保障しようとするアクセスが行われるポートから、単位時間毎に一定の長さの時間アクセスを行えるようにすることが必要となる。
ここで、この帯域保障のために必要な単位時間当たりのアクセス時間長が、アクセスの種類にかかわらず一定である場合には、帯域保障しようとするアクセスが行われる各ポートには、互いに均等な長さのタイムスロットを同じ数だけ割り当てれば足りる(特許文献1,2参照)。
しかし、帯域保障のために必要な単位時間当たりのアクセス時間長は、アクセスの種類によって異なる場合がある。例えば、フラッシュメモリ装置では、或る量のデータを記憶するための所要時間よりも、同じ量のデータを再生するための所要時間が長くなる。したがって、再生のためにアクセスされるポートは、記憶のためにアクセスされるポートよりも、帯域保障のために必要な単位時間当たりのアクセス時間が長くなる。
また、同じくデータを再生する場合でも、例えば転送速度50Mbpsで再生する場合と転送速度30Mbpsで再生する場合とでは、前者のほうが単位時間当たりに再生すべきデータ量が多くなる。したがって、転送速度50Mbpsで再生を行うためにアクセスされるポートは、転送速度30Mbpsで再生を行うためにアクセスされるポートよりも、帯域保障のために必要な単位時間当たりのアクセス時間が長くなる。
図2は、そのような場合における、従来のアクセス制御方法を示す。ここでは、アクセスモード(アクセスの種類)を、Mode1,Mode2,BestEffortの3種類としている。Mode1,Mode2は、それぞれ帯域保障すべき種類のアクセスであるが、Mode1のほうが、帯域保障のために必要な単位時間当たりのアクセス時間が長くなっている。BestEffortは、ベストエフォート型の(帯域保障はしないが可能な限り高速化する、いわゆる出来高型の)アクセスである。
そして、ポート数をPort1〜Port10の10本とし、Port1,2,5,10からMode1のアクセスが行われ、Port3,4,7,8からMode2のアクセスが行われ、Port6,9からBestEffortのアクセスが行われるものとしている。
Mode1の各ポート(Port1,2,5,10)と、Mode2の各ポート(Port3,4,7,8)には、1個ずつのタイムスロットを割り当てている。Mode1の各ポートのタイムスロットの長さTaccess1と、Mode2の各ポートのタイムスロットの長さTaccess2とは、次のような条件を満たすように設定している。
条件:Mode1のアクセスを帯域保障するために必要なアクセス周期(これは、Mode1のポートに対応するバッファーメモリ(図1のバッファーメモリ21)が、アクセス1回当たりに蓄積しなければならないデータ量を、時間の長さに換算したものであるといえるので、Tbuf1と表す)と、Mode2のアクセスを帯域保障するために必要なアクセス周期(同じくTbuf2と表す)とが、
Figure 0004609356
となる。
そして、BestEffortのポート(Port6,9)のタイムスロットを末尾に配置し、このBestEffortのポートのタイムスロットの長さTaccess_bestを、全タイムスロットの合計の長さTtotal_accessが下記式の条件を満たすように制御することにより、Mode1のアクセスとMode2のアクセスとを帯域保障している。
Figure 0004609356
但し、Tbufは、Tbuf1,Tbuf2のうちの短いほうの時間であり、Nmode1,Nmode2はそれぞれMode1,Mode2でアクセスされるポートの数(ここではNmode1=4,Nmode2=4)である。
特開平11−234625号公報(段落番号0013〜19、図1,5) 特開平11−308558号公報(段落番号0022〜25、図1〜2)
しかし、この図2のアクセス制御方法では、仮にMode1はアクセス1回当たりの時間を短くすることによってアクセス周期Tbuf1を短くすることが可能な種類のアクセスであっても、Mode2がアクセス1回当たりの時間を短くできないためにアクセス周期Tbuf2を短くできない種類のアクセスである場合には、上記式(1)の条件から、アクセス周期Tbuf1をアクセス周期Tbuf2とほぼ一致させなければならないので、アクセス周期Tbuf1を短くすることができない。
例えば、フラッシュメモリ装置では、再生のためのアクセスはフラッシュメモリのブロックよりも小さいページ単位で行っても速度がほとんど低下しないのでアクセス1回当たりの時間を短くすることが可能であるが、記憶のためのアクセスを高速に行うためにはブロック単位でアクセスを行う必要があるためアクセス1回当たりの時間を短くできないので、Mode1が再生のためのアクセスでありMode2が記憶のためのアクセスであるときが、こうした場合に該当する。
図3は、図2のアクセス制御方法による、Mode1,Mode2のポートに対応するバッファーメモリ(図1のバッファーメモリ21)のデータ蓄積量であるバッファー量の推移を示す図である。仮にMode1がアクセス1回当たりの時間を短くすることが可能な種類のアクセスであっても、Mode2がアクセス1回当たりの時間を短くできない種類のアクセスである場合には、アクセス周期Tbuf1を短くすることができないので、Mode1のアクセスが繰り返される間隔が長くなる。そのため、Mode1のアクセスを要求してからそのアクセスが実行されるまでの遅延時間が大きく(最大でTbuf1に)なるので、外部の機器から見て、Mode1のアクセスを行う際の記憶装置の反応が遅くなってしまう。
また、Mode1のアクセスが繰り返される間隔が長くなることから、図3にも表れているように、Mode1のポートに対応するバッファーメモリのバッファー量の最大値Dbuf1が大きくなる。そのため、Mode1のポートに対応するバッファーメモリをオーバーフローさせたりアンダーフローさせないためのバッファー容量を、この最大値Dbuf1に合せて大きくしなければならない。
これに対し、図4は、Mode1がアクセス1回当たりの時間を短くすることが可能な種類のアクセスである場合の、アクセス制御方法の改善例を示す。この例では、Mode1のポート(Port1,2,5,10)には、Ndiv個(Ndivは2以上の整数であり、図ではNdiv=3)ずつのタイムスロットを割り当てている。Mode1の各ポートのタイムスロットの長さTaccess1と、Mode2の各ポートのタイムスロットの長さTaccess2とは、前述のMode1のアクセスを帯域保障するためのアクセス周期Tbuf1と、Mode2のアクセスを帯域保障するためのアクセス周期Tbuf2とが、下記式の条件を満たすように設定している。
Figure 0004609356
これにより、Mode1の各ポートのタイムスロットの長さTaccess1は、図2の場合よりも短くなっている。
そして、BestEffortのポート(Port6,9)のタイムスロットを末尾に配置し、このBestEffortのポートのタイムスロットの長さTaccess_bestを、全タイムスロットの合計の長さTtotal_accessが下記式の条件を満たすように制御することにより、Mode1のアクセスとMode2のアクセスとを帯域保障している。
Figure 0004609356
図5は、この改善例による、Mode1,Mode2のポートに対応するバッファーメモリのバッファー量の推移を示す図である。この改善例では、Mode1のアクセスが繰り返される間隔は、Mode2のアクセスが繰り返される間隔よりは短くなるものの、不均一になってしまう。そして、アクセスの遅延時間はワーストケース(アクセスの間隔が最も長い部分)で見積もらなければならないので、図2のアクセス制御方法の場合(図3)よりは改善されるものの、やはり遅延時間が大きくなってしまう。
また、Mode1のポートに対応するバッファーメモリのバッファー量も、図2のアクセス制御方法の場合よりは小さくなるものの、図5に表れているように、やはりこのワーストケースの部分で他の部分よりも大きな最大値Dbuf1をとるようになる。そのため、Mode1のポートに対応するバッファーメモリをオーバーフローさせたりアンダーフローさせないためのバッファー容量を、やはりこの最大値Dbuf1に合せて大きくしなければならない。
本発明は、上述の点に鑑み、このMode1とMode2とのように、帯域保障を行うために必要なアクセス周期が異なる2種類のアクセスを複数のポートから記憶装置に対して行う場合に、このアクセス周期が短いほうの種類のアクセスについての遅延時間やバッファー容量を小さくすることを課題とする。
上記課題を解決するために、本発明に係る記憶装置は、
複数のポートからアクセスされる記憶装置において、
第1の種類のアクセスと、帯域保障を行うために必要なアクセス周期がこの第1の種類のアクセスよりも長い第2の種類のアクセスとのうち、第1の種類のアクセスが行われる各ポートに割り当てる1個のタイムスロットの長さTaccess1と、第2の種類のアクセスが行われる各ポートに割り当てる1個のタイムスロットの長さTaccess2とを、
第1の種類のアクセスを帯域保障するために必要なアクセス周期×M≒第2の種類のアクセスを帯域保障するために必要なアクセス周期(但しMは2以上の整数)
の条件を満たすように設定し、
第1の種類のアクセスを帯域保障するために必要なアクセス周期以内に収めた長さのスロットユニットを、第2の種類のアクセスを帯域保障するために必要なアクセス周期以内に収めるように時間軸上でこのM本繋げることによってトータルスケジュールを構成し、
各スロットユニットに、時間軸で早い方から順に第1の種類のアクセススロットエリア,第2の種類のアクセススロットエリアを設け、
複数のポートのうち、この第1の種類のアクセスが行われるポートには、1つのこのスロットユニット毎に、この第1の種類のアクセススロットエリアにこの長さTaccess1の1個のタイムスロットを割り当て、
この第2の種類のアクセスが行われるポートには、このトータルスケジュール1周期で1つだけのスロットユニットのこの第2の種類のアクセススロットエリアに、この長さTaccess2の1個のタイムスロットを割り当てるアクセス制御手段を備えたことを特徴とする。
この記憶装置では、帯域保障のために必要なアクセス周期が短い第1の種類のアクセスと、帯域保障のために必要なアクセス周期が長い第2の種類のアクセスとのうち、第1の種類のアクセスが行われる各ポートに割り当てる1個のタイムスロットの長さTaccess1と、第2の種類のアクセスが行われる各ポートに割り当てる1個のタイムスロットの長さTaccess2とが、
第1の種類のアクセスを帯域保障するために必要なアクセス周期×M≒第2の種類のアクセスを帯域保障するために必要なアクセス周期(但しMは2以上の整数)
の条件を満たすように設定される。
そして、第1の種類のアクセスを帯域保障するために必要な短いアクセス周期以内に収まる長さのスロットユニットを、第2の種類のアクセスを帯域保障するために必要な長いアクセス周期以内に収まるように時間軸上でこのM本繋げることによって、トータルスケジュールが構成される。
そして、各スロットユニットに、時間軸で早い方から順に第1の種類のアクセススロットエリア,第2の種類のアクセススロットエリアが設けられる。
そして、複数のポートのうち、第1の種類のアクセスが行われるポートには、1つのスロットユニット毎に、この第1の種類のアクセススロットエリアにこの長さTaccess1の1個のタイムスロットを割り当てることにより、トータルスケジュール1周期当たり、ほぼ均一な間隔で複数のタイムスロットが割り当てられる。また、第2の種類のアクセスが行われるポートには、トータルスケジュール1周期で1つだけのスロットユニットのこの第2の種類のアクセススロットエリアに、この長さTaccess2の1個のタイムスロットを割り当てることにより、トータルスケジュール1周期当たり1個だけのタイムスロットが割り当てられる。
したがって、第1の種類のアクセスが繰り返される間隔は、第2の種類のアクセスが繰り返される間隔よりも短く、且つ、ほぼ均一な間隔になる(すなわち、ワーストケースでも間隔が短くなる)。これにより、第1の種類のアクセス(帯域保障のために必要なアクセス周期が短いほうの種類のアクセス)を要求してからそのアクセスが実行されるまでの遅延時間が短くなる。その結果、外部の機器から見て、帯域保障のために必要なアクセス周期が短いほうの種類のアクセスを行う際の記憶装置の反応が速くなる。
また、このように第1の種類のアクセスが繰り返される間隔が短く且つほぼ均一であることから、第1の種類のアクセス(帯域保障のために必要なアクセス周期が短いほうの種類のアクセス)を行うポートに対応して設けられるバッファーメモリのバッファー量の最大値が小さくなる。これにより、このバッファーメモリをオーバーフローさせたりアンダーフローさせないためのバッファー容量を小さくすることができる。
次に、本発明に係るアクセス制御方法は、
複数のポートからアクセスされる記憶装置内でアクセス制御手段が実行するアクセス制御方法において、
第1の種類のアクセスと、帯域保障を行うために必要なアクセス周期がこの第1の種類のアクセスよりも長い第2の種類のアクセスとのうち、第1の種類のアクセスが行われる各ポートに割り当てる1個のタイムスロットの長さTaccess1と、第2の種類のアクセスが行われる各ポートに割り当てる1個のタイムスロットの長さTaccess2とを、
第1の種類のアクセスを帯域保障するために必要なアクセス周期×M≒第2の種類のアクセスを帯域保障するために必要なアクセス周期(但しMは2以上の整数)
の条件を満たすように設定し、
第1の種類のアクセスを帯域保障するために必要なアクセス周期以内に収めた長さのスロットユニットを、第2の種類のアクセスを帯域保障するために必要なアクセス周期以内に収めるように時間軸上でM本繋げることによってトータルスケジュールを構成し、
各スロットユニットに、時間軸で早い方から順に第1の種類のアクセススロットエリア,第2の種類のアクセススロットエリアを設け、
複数のポートのうち、この第1の種類のアクセスが行われるポートには、1つのこのスロットユニット毎に、この第1の種類のアクセススロットエリアにこの長さTaccess1の1個のタイムスロットを割り当て、
この第2の種類のアクセスが行われるポートには、このトータルスケジュール1周期で1つだけのスロットユニットのこの第2の種類のアクセススロットエリアに、この長さTaccess2の1個のタイムスロットを割り当てることを特徴とする。
このアクセス制御方法は、前述の本発明に係る記憶装置によるアクセス制御方法に該当するものであり、帯域保障のために必要なアクセス周期が短いほうの種類のアクセスを要求してからそのアクセスが実行されるまでの遅延時間を短くすることができるとともに、帯域保障のために必要なアクセス周期が短いほうの種類のアクセスを行うポートに対応して設けられるバッファーメモリの容量を小さくすることができる。
本発明によれば、帯域保障を行うために必要なアクセス周期が異なる2種類のアクセスを複数のポートから記憶装置に対して行う場合に、帯域保障のために必要なアクセス周期が短いほうの種類のアクセスを要求してからそのアクセスが実行されるまでの遅延時間が短くなるので、外部の機器から見て、帯域保障のために必要なアクセス周期が短いほうの種類のアクセスを行う際の記憶装置の反応が速くなるという効果が得られる。
また、帯域保障のために必要なアクセス周期が短いほうの種類のアクセスを行うポートに対応して設けられるバッファーメモリの容量を小さくすることができるという効果が得られる。
以下、本発明の実施の形態を図面を用いて説明する。図6は、本発明を適用したフラッシュメモリ装置の全体構成を示すブロック図である。このフラッシュメモリ装置には、フラッシュメモリ1と、スロットアクセスコントローラ2と、n個のバッファーメモリ3(3(1)〜3(n))と、n個のポート入出力プロセッサ4(4(1)〜4(n))とが設けられている。
スロットアクセスコントローラ2は、このフラッシュメモリ装置に設けられた複数のポートであるPort1〜Portnからのフラッシュメモリ1に対するアクセスを、タイムスロットを割り当てることによって制御するコントローラである。
バッファーメモリ3(1)〜3(n)と、ポート入出力プロセッサ4(1)〜4(n)とは、Port1〜Portnにそれぞれ1対1に対応している。各ポート入出力プロセッサ4(1)〜4(n)は、Port1〜Portnから入力したデータをフラッシュメモリ1への記憶に適した形式のデータに変換するための信号処理(例えば圧縮)を行う役割と、バッファーメモリ3(1)〜3(n)から送られたデータをPort1〜Portnからの出力用に信号処理する(例えば圧縮データを伸張する)役割とを果たす。
Port1〜Portnのうちの或るPortiからデータを記憶する場合には、Portiから入力したデータが、ポート入出力プロセッサ4(i)の処理を経て、バッファーメモリ3(i)に一時的に蓄積される。そして、バッファーメモリ3(i)に蓄積されたデータが、スロットアクセスコントローラ2によってPortiに割り当てられたタイムスロットに、バッファーメモリ3(i)から読み出され、スロットアクセスコントローラ2からフラッシュメモリ1に転送されてフラッシュメモリ1に書き込まれる。
また、或るPortjからデータを再生する場合には、そのデータが、スロットアクセスコントローラ2によってPortjに割り当てられたタイムスロットに、フラッシュメモリ1から読み出され、スロットアクセスコントローラ2からバッファーメモリ3(j)に転送されてバッファーメモリ3(j)に一時的に蓄積される。そして、バッファーメモリ3(i)に蓄積されたデータが、バッファーメモリ3(j)から読み出され、ポート入出力プロセッサ4(j)の処理を経てPortiから出力される。
図7は、このスロットアクセスコントローラ2が実行するアクセス制御方法を示す図である。ここでは、アクセスモード(アクセスの種類)を、Mode1,Mode2,BestEffortの3種類としている。Mode1,Mode2は、それぞれ帯域保障すべき種類のアクセスであるが、Mode1のほうが、帯域保障のために必要な単位時間当たりのアクセス時間が長くなっている。BestEffortは、ベストエフォート型の(帯域保障はしないが可能な限り高速化する、いわゆる出来高型の)アクセスである。Mode1の例としては、リアルタイム性を要求されるデータの再生のためのアクセスが挙げられる。Mode2の例としては、リアルタイム性を要求されるデータの記憶のためのアクセスが挙げられる。BestEffortの例としては、リアルタイム性を要求されない、ネットワーク経由でのファイル転送によるデータの記憶または再生のためのアクセスが挙げられる。
また、ここでは、ポート数をPort1〜Port10の10本とし、Port1,2,5,10からMode1のアクセスが行われ、Port3,4,7,8からMode2のアクセスが行われ、Port6,9からBestEffortのアクセスが行われるものとしている。なお、どのポートからどのアクセスモードのアクセスが行われるかは、予め固定しておいてもよいし、動的に変化させてもよい。
Mode1の各ポート(Port1,2,5,10)に割り当てる1個のタイムスロットの長さTaccess1と、Mode2の各ポート(Port3,4,7,8)に割り当てる1個のタイムスロットの長さTaccess2とは、次のような条件を満たすように設定している。
条件:Mode1のアクセスを帯域保障するために必要なアクセス周期(これは、Mode1のポートに対応するバッファーメモリ(図6のバッファーメモリ3)が、アクセス1回当たりに蓄積しなければならないデータ量を、時間の長さに換算したものであるといえるので、Tbuf1と表す)と、Mode2のアクセスを帯域保障するために必要なアクセス周期(同じくTbuf2と表す)とが、
Figure 0004609356
となる。
但し、Mは2以上の整数であり、図ではM=3である。
例えばMode1,Mode2が前述のようにそれぞれリアルタイム性を要求されるデータの再生,記憶のためのアクセスである場合には、具体的には、Taccess1は、フラッシュメモリ1に対してブロックよりも小さいページ単位でアクセスしてデータを再生するための時間長に設定し、Taccess2は、フラッシュメモリ1に対してブロック単位でアクセスしてデータを記憶するための時間長に設定することができる。
そして、M本(図では3本)のスロットユニットであるSlotUnit1〜SlotUnit3を時間軸上で繋げることによって、トータルスケジュールを構成する(図では、図示の都合上、時間軸を、SlotUnit1の末尾から図の斜め上方向に跳んでSlotUnit2の先頭に移り、SlotUnit2の末尾から図の斜め上方向に跳んでSlotUnit3の先頭に移るように、3つに分けて描いている)。
各SlotUnit1〜SlotUnit3には、先頭(時間軸で早い方)から順に、Mode1アクセススロットエリア,Mode2アクセススロットエリア,BestEffortアクセススロットエリアを設ける。
そして、Mode1の各ポート(Port1,2,5,10)については、ポートがオープンされた時点で、各SlotUnit1〜SlotUnit3のMode1アクセススロットエリアに、前述の長さTaccess1のタイムスロットを1個ずつ(トータルスケジュール1周期でM=3個)割り当てる。
また、Mode2の各ポート(Port3,4,7,8)については、ポートがオープンされた時点で、SlotUnit1から順に、Mode2アクセススロットエリアに前述の長さTaccess2のタイムスロットを1個(トータルスケジュール1周期で1個だけ)割り当てる。図では、最初にPort3がオープンされてSlotUnit1のMode2アクセススロットエリアにタイムスロットが割り当てられ、2番目にPort4がオープンされてSlotUnit2のMode2アクセススロットエリアにタイムスロットが割り当てられ、3番目にPort7がオープンされてSlotUnit3のMode2アクセススロットエリアにタイムスロットが割り当てられ、4番目にPort8がオープンされて再びSlotUnit1のMode2アクセススロットエリアに(Port3のタイムスロットに続く時間位置に)タイムスロットが割り当てられている。
また、各SlotUnit1〜SlotUnit3のBestEffortアクセススロットエリアに割り当てるタイムスロットの長さTaccess_bestは、下記式の条件を満たすように制御する。
Figure 0004609356
但し、Nmode1,Nmode2は、それぞれMode1,Mode2でアクセスされるポートの数(ここではNmode1=4,Nmode2=4)であり、RoundUp(Nmode2/M,0)は、Nmode2/Mの値を切り上げた整数(ここでは、4/3を切り上げた整数2)である。
図では、この式(6)の条件を満たすように、BestEffortのポート(Port6,9)のうちのPort6のタイムスロットが、SlotUnit1のBestEffortアクセススロットエリアに割り当てられるとともに、Port9のタイムスロットが、SlotUnit1のBestEffortアクセススロットエリア(Port6のタイムスロットに続く時間位置)とSlotUnit2のBestEffortアクセススロットエリアとにまたがって割り当てられている。
上記式(6)の条件を満たすことにより、Mode1の各ポート(Port1,2,5,10)に、帯域保障のために必要なアクセス周期Tbuf1以内の間隔でタイムスロットが割り当てられるので、Mode1のアクセスが帯域保障される。
また、上記式(5)と式(6)との関係から、トータルスケジュール1周期の長さTotal_Scheduleは、下記式の条件を満たすようになる。
Figure 0004609356
したがって、Mode2の各ポート(Port3,4,7,8)にも、帯域保障のために必要なアクセス周期Tbuf2以内の間隔でタイムスロットが割り当てられるので、Mode2のアクセスも帯域保障される。
図8は、図7のアクセス制御方法による、Mode1,Mode2の各ポートに対応するバッファーメモリ(図6のバッファーメモリ3)のデータ蓄積量であるバッファー量の推移を示す図である。Mode1のアクセスが繰り返される間隔は、Mode2のアクセスが繰り返される間隔よりも短く、且つ、ほぼ均一な間隔になっている(すなわち、ワーストケースでも間隔が短くなっている)。
このように、Mode1のアクセスが繰り返される間隔がほぼ均一な短い間隔になることにより、次のような2つの点でメリットが生まれる。
1つ目のメリットは、図6のバッファーメモリ3がMode1のアクセスを要求してからそのアクセスが実行されるまでの遅延時間が短くなることである。
例えば、ビデオデータのシャトル再生では、外部の機器でのシャトル操作(2倍速,4倍速,8倍速といった再生速度の選択操作)に応じて、バッファーメモリ3が、フラッシュメモリ1からのデータの読出しアドレスを決定し、そのアドレスのデータを読み出すためのアクセス要求をスロットアクセスコントローラ2に対して行う。そして、スロットアクセスコントローラ2がその要求を処理することにより、シャトル再生のためのデータの読み出しが実現される。
したがって、バッファーメモリ3がMode1のアクセスとしてシャトル再生のためのアクセスを要求してから、そのアクセスが実行されるまでの遅延時間が短くなるので、シャトル操作を行う外部の機器から見て、シャトル操作に対するフラッシュメモリ装置のポートからのビデオデータ出力の反応が早くなる(シャトルレスポンスが向上する)というメリットが生まれる。
2つ目のメリットは、図8にも表れているように、Mode1のポートに対応するバッファーメモリ3のバッファー量の最大値Dbuf1が小さくなり、その結果、Mode1のポートに対応するバッファーメモリ3をオーバーフローさせたりアンダーフローさせないためのバッファー容量を小さくできることである。
最後に、図7のアクセス制御方法を実現するためのスロットアクセスコントローラ2の構成例を、図9を用いて説明する。スロットアクセスコントローラ2には、スロットコントローラ11と、フラッシュメモリ1(図6)にアクセスするためのDMA(ダイレクトメモリアクセス)コントローラ12と、バッファーメモリ3(1)〜3(n)(図6)とのインタフェースであるn個のバッファーインタフェース13(13(1)〜13(n))とが設けられている。
スロットコントローラ11には、Mode1スロット割り当て部14と、Mode2スロット割り当て部15と、BestEffortスロット割り当て部16と、M個(図7の場合にはM=3)のSlotUnit1スケジューラ17(1)〜SlotUnitMスケジューラ17(M)と、スロットユニットスイッチ18とが設けられている。
Port1〜Portnのうちのいずれかのポートがオープンして、そのポートに対応するバッファーメモリ3からの要求がバッファーインタフェース13を介してスロットコントローラ11に送られる毎に、スロットコントローラ11では、その要求の内容から、そのポートがMode1,Mode2,BestEffortのうちのいずれのアクセスモードのポートであるかを判別する。
そして、Mode1のポートである場合には、Mode1スロット割り当て部14が、図7に例示したようにM本のスロットユニットSlotUnit1〜SlotUnitMのMode1アクセススロットエリアにそれぞれそのポートのタイムスロットを割り当てる処理を行う。
他方、Mode1のポートである場合には、Mode2スロット割り当て部15が、図7に例示したように1本ずつのスロットユニットのMode2アクセススロットエリアに順番にそのポートのタイムスロットを割り当てる処理を行う。
他方、BestEffortのポートである場合には、BestEffortスロット割り当て部16が、図7に示したようにスロットユニットのBestEffortアクセススロットエリアにそのポートのタイムスロットを割り当てる処理を行う。
SlotUnit1スケジューラ17(1)〜SlotUnitMスケジューラ17(M)は、これらのスロット割り当て部14〜16の割り当て結果に基づいて、図7に例示したようにそれぞれ1本ずつのスロットユニットSlotUnit1〜SlotUnitMをスケジューリングする処理を行う。
スロットユニットスイッチ18は、SlotUnit1スケジューラ17(1)〜SlotUnitMスケジューラ17(M)のスケジューリング結果(すなわちトータルスケジュール1周期分のスケジューリング結果)に基づき、各バッファーメモリ3からバッファーインタフェース13を介してDMAコントローラ12に送られるデータを1つずつ切り換えてDMAコントローラ12からフラッシュメモリ1に転送させる制御と、フラッシュメモリ1からDMAコントローラ12に送られるデータをどのバッファーインタフェース13に送るかを切り換える制御とを行う。
なお、以上の説明では、Mode1,Mode2の例として、それぞれデータの再生のためのアクセス,データの記憶のためのアクセスを挙げた。しかし、本発明は、これに限らず、帯域保障を行うために必要なアクセス周期が異なる2種類のアクセスを複数のポートから行うあらゆるケースに適用することができる。
また、以上の説明ではフラッシュメモリ装置に本発明を適用している。しかし、本発明は、これに限らず、フラッシュメモリ装置以外の記憶装置に対して、帯域保障を行うために必要なアクセス周期が異なる2種類のアクセスを複数のポートから行う場合にも適用することができる。
複数のポートを設けた記憶装置へのアクセスの様子を概念的に示す図である。 複数のポートを設けた記憶装置における従来のアクセス制御方法を示す図である。 図2のアクセス制御方法によるバッファー量の推移を示す図である。 図2のアクセス制御方法に対する改善例を示す図である。 図4の改善例によるバッファー量の推移を示す図である。 本発明を適用したフラッシュメモリ装置の全体構成を示すブロック図である。 図6のスロットアクセスコントローラによるアクセス制御方法を示す図である。 図7のアクセス制御方法によるバッファー量の推移を示す図である。 図6のスロットアクセスコントローラの構成例を示す図である。
符号の説明
1 フラッシュメモリ、 2 スロットアクセスコントローラ、 3(1)〜3(n) バッファーメモリ、 4(1)〜4(n) ポート入出力プロセッサ、 11 スロットコントローラ、 12 DMAコントローラ、 13(1)〜13(n) バッファーインタフェース、 14 Mode1スロット割り当て部、 15 Mode2スロット割り当て部、 16 BestEffortスロット割り当て部、 17(1)〜17(M) SlotUnit1スケジューラ〜SlotUnitMスケジューラ、 18 スロットユニットスイッチ

Claims (4)

  1. 複数のポートからアクセスされる記憶装置において、
    第1の種類のアクセスと、帯域保障を行うために必要なアクセス周期が前記第1の種類のアクセスよりも長い第2の種類のアクセスとのうち、前記第1の種類のアクセスが行われる各ポートに割り当てる1個のタイムスロットの長さTaccess1と、前記第2の種類のアクセスが行われる各ポートに割り当てる1個のタイムスロットの長さTaccess2とを、
    前記第1の種類のアクセスを帯域保障するために必要なアクセス周期×M≒前記第2の種類のアクセスを帯域保障するために必要なアクセス周期(但しMは2以上の整数)
    の条件を満たすように設定し、
    前記第1の種類のアクセスを帯域保障するために必要なアクセス周期以内に収めた長さのスロットユニットを、前記第2の種類のアクセスを帯域保障するために必要なアクセス周期以内に収めるように時間軸上で前記M本繋げることによってトータルスケジュールを構成し、
    各々の前記スロットユニットに、時間軸で早い方から順に第1の種類のアクセススロットエリア,第2の種類のアクセススロットエリアを設け、
    前記複数のポートのうち、前記第1の種類のアクセスが行われるポートには、1つの前記スロットユニット毎に、前記第1の種類のアクセススロットエリアに前記長さTaccess1の1個のタイムスロットを割り当て、
    前記第2の種類のアクセスが行われるポートには、前記トータルスケジュール1周期で1つだけの前記スロットユニットの前記第2の種類のアクセススロットエリアに、前記長さTaccess2の1個のタイムスロットを割り当てるアクセス制御手段を備え
    記憶装置。
  2. 請求項1に記載の記憶装置において、
    前記アクセス制御手段は、前記複数のポートのうち、帯域保障を行わない種類のアクセスが行われるポートのタイムスロットを、前記スロットユニットの末尾に配置し、該タイムスロットの長さを、前記スロットユニットの長さが前記第1の種類のアクセスを帯域保障するために必要なアクセス周期以内に収まるように制御す
    記憶装置。
  3. 請求項1に記載の記憶装置において、
    前記記憶装置は、フラッシュメモリを記憶媒体として用いており、
    前記第1の種類のアクセスは再生のためのアクセスであり、
    前記第2の種類のアクセスは記憶のためのアクセスであ
    記憶装置。
  4. 複数のポートからアクセスされる記憶装置内でアクセス制御手段が実行するアクセス制御方法において、
    第1の種類のアクセスと、帯域保障を行うために必要なアクセス周期が前記第1の種類のアクセスよりも長い第2の種類のアクセスとのうち、前記第1の種類のアクセスが行われる各ポートに割り当てる1個のタイムスロットの長さTaccess1と、前記第2の種類のアクセスが行われる各ポートに割り当てる1個のタイムスロットの長さTaccess2とを、
    前記第1の種類のアクセスを帯域保障するために必要なアクセス周期×M≒前記第2の種類のアクセスを帯域保障するために必要なアクセス周期(但しMは2以上の整数)
    の条件を満たすように設定し、
    前記第1の種類のアクセスを帯域保障するために必要なアクセス周期以内に収めた長さのスロットユニットを、前記第2の種類のアクセスを帯域保障するために必要なアクセス周期以内に収めるように時間軸上で前記M本繋げることによってトータルスケジュールを構成し、
    各々の前記スロットユニットに、時間軸で早い方から順に第1の種類のアクセススロットエリア,第2の種類のアクセススロットエリアを設け、
    前記複数のポートのうち、前記第1の種類のアクセスが行われるポートには、1つの前記スロットユニット毎に、前記第1の種類のアクセススロットエリアに前記長さTaccess1の1個のタイムスロットを割り当て、
    前記第2の種類のアクセスが行われるポートには、前記トータルスケジュール1周期で1つだけの前記スロットユニットの前記第2の種類のアクセススロットエリアに、前記長さTaccess2の1個のタイムスロットを割り当て
    アクセス制御方法。
JP2006081620A 2006-03-23 2006-03-23 記憶装置及びそのアクセス制御方法 Expired - Fee Related JP4609356B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006081620A JP4609356B2 (ja) 2006-03-23 2006-03-23 記憶装置及びそのアクセス制御方法
US11/726,102 US7746889B2 (en) 2006-03-23 2007-03-21 Storage device and method of controlling access
TW096109781A TWI346285B (en) 2006-03-23 2007-03-21 Storage device and method of controlling access
KR1020070028090A KR20070096858A (ko) 2006-03-23 2007-03-22 기억 장치 및 액세스 제어 방법
CN2007101292469A CN101094360B (zh) 2006-03-23 2007-03-23 存储装置和控制访问的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006081620A JP4609356B2 (ja) 2006-03-23 2006-03-23 記憶装置及びそのアクセス制御方法

Publications (2)

Publication Number Publication Date
JP2007257362A JP2007257362A (ja) 2007-10-04
JP4609356B2 true JP4609356B2 (ja) 2011-01-12

Family

ID=38533334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006081620A Expired - Fee Related JP4609356B2 (ja) 2006-03-23 2006-03-23 記憶装置及びそのアクセス制御方法

Country Status (5)

Country Link
US (1) US7746889B2 (ja)
JP (1) JP4609356B2 (ja)
KR (1) KR20070096858A (ja)
CN (1) CN101094360B (ja)
TW (1) TWI346285B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4622871B2 (ja) * 2006-01-26 2011-02-02 ソニー株式会社 データ処理システム、アクセス制御方法、その装置およびそのプログラム
US8745346B2 (en) 2008-03-18 2014-06-03 Microsoft Corporation Time managed read and write access to a data storage device
JP5248576B2 (ja) * 2010-11-16 2013-07-31 株式会社東芝 ビデオサーバ及び映像データ伝送方法
CN106959929B (zh) * 2017-03-17 2020-08-04 数据通信科学技术研究所 一种多端口访问的存储器及其工作方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09297705A (ja) * 1996-05-08 1997-11-18 Sony Corp メモリ制御方法
JP2000057318A (ja) * 1998-08-07 2000-02-25 Fujitsu Ltd 動画像復号方法及び装置
JP2004246862A (ja) * 2002-09-30 2004-09-02 Matsushita Electric Ind Co Ltd リソース管理装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9208493D0 (en) * 1992-04-16 1992-06-03 Thomson Consumer Electronics Dual port video memory
US5940865A (en) * 1996-10-14 1999-08-17 Fujitsu Limited Apparatus and method for accessing plural storage devices in predetermined order by slot allocation
JPH11232205A (ja) * 1998-02-17 1999-08-27 Sony Corp データ入出力装置及びデータ入出力方法
JPH11234625A (ja) 1998-02-17 1999-08-27 Sony Corp 画像再生方法及び装置
JP4131032B2 (ja) 1998-04-23 2008-08-13 ソニー株式会社 データ再生装置及び方法
KR100803114B1 (ko) * 2000-11-30 2008-02-14 엘지전자 주식회사 메모리 중재 방법 및 시스템
US7230922B1 (en) * 2002-04-05 2007-06-12 Cingular Wireless Ii, Llc Real-time rate control mechanism for multi-rate data transmissions in wireless networks
JP4305378B2 (ja) * 2004-12-13 2009-07-29 ソニー株式会社 データ処理システム、アクセス制御方法、その装置およびそのプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09297705A (ja) * 1996-05-08 1997-11-18 Sony Corp メモリ制御方法
JP2000057318A (ja) * 1998-08-07 2000-02-25 Fujitsu Ltd 動画像復号方法及び装置
JP2004246862A (ja) * 2002-09-30 2004-09-02 Matsushita Electric Ind Co Ltd リソース管理装置

Also Published As

Publication number Publication date
TWI346285B (en) 2011-08-01
US7746889B2 (en) 2010-06-29
JP2007257362A (ja) 2007-10-04
US20070223515A1 (en) 2007-09-27
TW200805058A (en) 2008-01-16
CN101094360A (zh) 2007-12-26
KR20070096858A (ko) 2007-10-02
CN101094360B (zh) 2010-11-03

Similar Documents

Publication Publication Date Title
CN107204198B (zh) 高速访问双倍速率同步动态随机存储器的控制方法及装置
JP4356765B2 (ja) 情報処理装置および方法、並びにプログラム
US9026722B2 (en) Storing/reading several data streams into/from an array of memories
US20090132736A1 (en) Memory buffering system that improves read/write performance and provides low latency for mobile systems
KR101812300B1 (ko) 다수의 메모리 채널들을 가진 컴퓨팅 시스템에서의 메모리 버퍼들의 할당
US11385831B2 (en) Memory controller and storage device including the same
JP4609356B2 (ja) 記憶装置及びそのアクセス制御方法
JP2005500620A (ja) 移動するメモリブロックを備えるメモリプール
US7865632B2 (en) Memory allocation and access method and device using the same
KR101086417B1 (ko) 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치 및 방법
JP5068300B2 (ja) データフロー及びプロセッサのメモリ共有化ための装置、方法及びプログラム
US7657711B2 (en) Dynamic memory bandwidth allocation
EP2264606B1 (en) Device for real-time streaming of two or more streams in parallel to a solid state memory device array
US20210096985A1 (en) Memory controller and storage device including the same
WO2007099659A1 (ja) データ転送装置及びデータ転送方法
US20050138251A1 (en) Arbitration of asynchronous and isochronous requests
KR102088945B1 (ko) 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스
CN117908772B (zh) 多mb的数据处理方法、装置、设备及介质
JP4862593B2 (ja) データ転送装置及び画像形成装置
KR102242957B1 (ko) 고속 낸드 메모리 시스템과 고속 낸드 메모리 패키지 디바이스
US6651114B1 (en) DMA controller which optimizes transfer rate of data and method therefor
JP4292150B2 (ja) デジタルビデオデータの遅延読出し方法及び装置
CN117714387A (zh) 一种实时流量调度系统、方法和处理芯片
KR20060132147A (ko) 분산 저장 구조의 프로세서
JP2005235046A (ja) データ転送装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100621

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

LAPS Cancellation because of no payment of annual fees