JP4539864B2 - 記憶制御装置 - Google Patents

記憶制御装置 Download PDF

Info

Publication number
JP4539864B2
JP4539864B2 JP2006000885A JP2006000885A JP4539864B2 JP 4539864 B2 JP4539864 B2 JP 4539864B2 JP 2006000885 A JP2006000885 A JP 2006000885A JP 2006000885 A JP2006000885 A JP 2006000885A JP 4539864 B2 JP4539864 B2 JP 4539864B2
Authority
JP
Japan
Prior art keywords
unit
control
scsi
transmission
data
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
JP2006000885A
Other languages
English (en)
Other versions
JP2007183757A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2006000885A priority Critical patent/JP4539864B2/ja
Priority to US11/619,890 priority patent/US7640366B2/en
Publication of JP2007183757A publication Critical patent/JP2007183757A/ja
Application granted granted Critical
Publication of JP4539864B2 publication Critical patent/JP4539864B2/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
    • 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/0661Format or protocol conversion 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Description

本発明は、記憶制御装置に関する。
近年、パーソナルコンピュータ(PC)等のホスト装置によるデータの読み出しや書き込みに係るデータアクセスが可能なフラッシュメモリ等の複数の記憶媒体を内蔵している又は装着可能な記憶制御装置が普及している。例えば、フラッシュメモリ等を搭載したカード型の記憶媒体には、コンパクトフラッシュ(登録商標)、スマートメディア(登録商標)、メモリースティック(登録商標)、SDメモリーカード(登録商標)など様々な種類があるが、これらを装着可能な複数のスロットを備え、それぞれの記憶媒体に対してデータの読み出しや書き込みに係るデータアクセスが可能なマルチスロットタイプの記憶制御装置が実用化されている。
ところで、上記のような記憶制御装置は、マルチメディアの普及によりデータ転送容量が飛躍的に増大した背景から、PCとの間のデータ伝送をシリアル通信にて行うことが一般化している。しかしながら、データアクセスのための制御には、複数記憶媒体の取り扱いが容易、といった観点から、パラレル通信用周辺機器の調停/アクセス制御にて使用されていた方式を引き継いだ機器も数多く存在する。
該方式とは、具体的には以下のようなアクセス制御デバイスを用いるものである。すなわち、該アクセス制御デバイスは、データアクセスの内容を特定する主制御コマンドをPC(ホスト装置)から受信して解析する主制御コマンド解析ステップと、該主制御コマンドの解析内容を反映したデータアクセスを記憶デバイスとの間で行うデータアクセスステップと、データアクセス結果を示すステータスをホスト装置に送信するステータス送信ステップとをこの順序で実行する制御ステップユニットを単位として記憶デバイスにおけるデータアクセスの制御を行う。
つまり、PC側からどのようなアクセスであるかを特定するコマンド(例えば、読出し、書き込み、消去、メディアの有無確認など)が発行され、アクセス制御デバイスではそのコマンドの内容を解析し、対応するアクセス制御を行うとともに、アクセス制御が完了すればその結果に係るステータスをPC側に返す、という一連の動作(制御ステップユニット)を1セットとしてアクセス制御が実行されるのである。そして、時系列的に先行するデータアクセスに係る制御ステップユニットの実行中は、該制御ステップユニットの実行が完了するまで後続のデータアクセスに係る制御ステップユニットの実行を待機させる。この方式は、SCSI(Small Computer System Interface)規格にて既に一般化されているものである。
一方、周辺機器接続用のシリアル通信方式として近年、USB(Universal
Serial Bus)が広く用いられている。これは、PCに接続される複数の周辺機器のうち、通信先(ターゲット)となるものをポーリングにより特定し、データの送受信を行うものである。記憶制御装置をUSB機器として構成しておけば、データの読み書きや消去といったデータアクセスをシリアル通信により実行することができる。USB周辺機器として構成された記憶制御装置に、前述のSCSI方式によるアクセス制御デバイスを組み込む場合、PCは、このアクセス制御デバイスをターゲットとして、ポーリングによるシリアル通信を行うことになる(以下、このようなタイプの記憶制御装置をUSB/SCSI型記憶制御装置とも称する)。
そして、マルチスロットタイプの記憶制御装置を上記USB/SCSI型記憶制御装置として構成する場合、従来は、記憶媒体を個別に装着するための複数のスロットを、1つのアクセス制御デバイスに集約的に接続したハードウェア構成が採用されていた。
特開2005−107875号公報
しかし、上記従来の構成であると、シリアル通信のターゲットとしてポーリングできるアクセス制御デバイスが1つだけであり、前述のごとく、時系列的に先行するデータアクセスに係る制御ステップユニットの実行中は、該制御ステップユニットの実行が完了するまで後続のデータアクセスに係る制御ステップユニットの実行が待機させられる。従って、1つのアクセス制御デバイスに接続された複数のスロット間でPC側からのデータアクセスが競合した場合、個々のデータアクセスの制御ステップユニットは、アクセス先となるスロットが異なるにも拘わらず、順次的にしか処理することができない。例えばあるスロットにおいて、コマンド解析処理などのため、実際にデータの読み書きアクセスが行なわれていない空き時間が生じても、そのスロットでの制御ステップユニットが完全に終わるまでは、他のスロットでの制御ステップユニットの実行に移行できない。その結果、上記の空き時間は完全なデッドタイムとなり、制御効率がすこぶる悪い欠点がある。この問題は、読み書き速度の遅いフラッシュメモリ等が記憶媒体となる場合はより顕著となる。
本発明は、複数の記憶媒体を内蔵しているか、又は装着可能に構成された記憶制御装置において、複数の記憶媒体へのアクセス競合が生じた場合も、各記憶媒体毎に不要なアクセス待ち時間が生じにくく、ひいては迅速なデータアクセスを可能とすることを目的とする。
課題を解決するための手段及び発明の効果
上記課題を解決するため、本発明の記憶制御装置は、
ホスト装置による少なくともデータの読出しに係るデータアクセスが可能とされた記憶媒体が内蔵されるか又は着脱可能に装着され、該記憶媒体に対してSCSI規格にてデータアクセスを行う複数の記憶デバイスと、
前記記憶デバイス毎に機能的に独立して設けられ、前記データアクセスの内容を特定する主制御コマンドであるSCSIコマンドを前記ホスト装置から受信して解析する主制御コマンド解析ステップと、該SCSIコマンドの解析内容を反映したデータであるSCSIデータへのアクセスを前記記憶デバイスとの間で行うデータアクセスステップと、データアクセス結果を示すSCSIステータスを前記ホスト装置に送信するステータス送信ステップとをこの順序で実行する制御ステップユニットを単位として前記記憶デバイスにおけるSCSI規格の基での前記データアクセスの制御を行うとともに、時系列的に先行するSCSI規格の基でのデータアクセスに係る制御ステップユニットの実行中は該制御ステップユニットの実行が完了するまで後続のSCSI規格の基でのデータアクセスに係る制御ステップユニットの実行を待機させるアクセス制御デバイスと、
前記ホスト装置と該ホスト装置が指定するアクセス制御デバイスとの間において前記制御ステップユニットを実行するために、前記SCSIコマンド、前記SCSIデータ及び前記SCSIステータスのうち少なくとも前記SCSIコマンドと前記SCSIステータスとを転送要素として含むアクセス関連情報の相互転送を、前記ホスト装置が複数の前記アクセス制御デバイスをポーリングする形式にてUSB規格に基づくシリアル通信により実行するとともに、対象となるアクセス制御デバイスが互いに異なる制御ステップユニットのアクセス関連情報を構成する前記転送要素の組をそれら組間での該転送要素の時系列的な混在を許容した形でUSB規格に基づいてデータ転送処理するシリアル通信部と、を備え、
前記アクセス制御デバイスは、前記シリアル通信部との間で前記転送要素を送受信する転送要素送受信部と、該転送要素をなす前記SCSIコマンドを解釈してその内容に応じたデータアクセスを前記記憶デバイスに対して行う制御実行主体とからなり、
前記転送要素送受信部が前記記憶デバイスに一対一に対応する形で複数設けられ、
前記制御実行主体は、同一の記憶デバイスに対応した転送要素送受信部に対しては、時系列的に先行する前記制御ステップユニットのアクセス関連情報を構成する一連の転送要素の送受信が完了するまで、後続の制御ステップユニットのアクセス関連情報を構成する転送要素の送受信を待機させる一方、互いに異なる記憶デバイスに対応した転送要素送受信部に対しては、一つの記憶デバイスの制御ステップユニットに係る各転送要素の送受信処理期間のインターバルを利用して、他の記憶デバイスの制御ステップユニットに属する転送要素の送受信処理を行うことにより、各記憶デバイス間でのそれら制御ステップユニットの並列処理を許容するものであることを特徴とする。
上記本発明によると、アクセス制御デバイスは、記憶デバイス毎に機能的に独立して設けられていることから、それぞれの記憶デバイスに対する制御ステップユニットの実行を独立して行うことができ、他の記憶デバイスに対する制御ステップユニットの実行を待機させることがない。これにより、シリアル通信部は、対象となるアクセス制御デバイスが互いに異なる制御ステップユニットのアクセス関連情報を構成する転送要素の組をそれら組間での該転送要素の時系列的な混在を許容した形で転送処理することができる。その結果、ホスト装置によるそれぞれの記憶媒体に対しての迅速なデータアクセスが可能となる。
次に、本発明の記憶制御装置において、
記憶デバイスは、ホスト装置によるデータの書き込み、消去及び読出しが可能とされた記憶媒体が着脱可能に装着されるとともに、該記憶媒体として、記憶内容が電気的に書き換え可能であって、外部からのリセット信号を受けても当該記憶内容を保持するとともに、その記憶領域が複数の書き換え単位ブロックに分割され、該書き換え単位ブロックを単位とする形でのみ記憶内容の消去及び書き替えが可能とされた不揮発性メモリを使用するように構成することができる。
記憶媒体として上記のような不揮発性メモリを使用する場合、書き換え単位ブロック毎でしか消去ないし書き込みができないことから、書き込み、書き換え、あるいは消去といったメモリ記憶状態の変更を伴うデータアクセスには相当の時間が必要である。例えば、1つの書き換え単位ブロック内の一部のデータのみを書き換えたい場合でも、そのブロック全体の記憶内容を一旦RAMに退避させ、該RAM上でデータの書き換えないし消去を行って、再び不揮発性メモリの元のブロックに書き戻す処理が必要である。そのため、従来の構成であると、複数の記憶デバイスに対してアクセス制御デバイスが共通であることから、時系列的に先行するデータアクセスに係る制御ステップユニットの実行中は該制御ステップユニットの実行が完了するまで後続のデータアクセスに係る制御ステップユニットの実行を待機させることになり、複数の上記のような不揮発性メモリへのデータアクセスの競合が生じた場合、全てのデータアクセスが完了するまでの待ち時間が非常に長くなる。
しかしながら、上記本発明の如く、対象となるアクセス制御デバイスが互いに異なる制御ステップユニットのアクセス関連情報を構成する転送要素の組をそれら組間での該転送要素の時系列的な混在を許容した形で転送処理することができる構成であれば、ホスト装置によるそれぞれの上記のような不揮発性メモリに対しての迅速なデータアクセスが可能となる。すなわち、上記のような不揮発性メモリを使用する場合にこそ、本発明を適用する意義が大きい。なお、上記のような不揮発性メモリとしては、例えばフラッシュメモリを挙げることができる。
アクセス制御デバイスは、具体的には、シリアル通信部との間で転送要素を送受信する転送要素送受信部と、該転送要素をなす主制御コマンドを解釈してその内容に応じたデータアクセスを記憶デバイスに対して行う制御実行主体とからなり、
転送要素送受信部が記憶デバイスに一対一に対応する形で複数設けられ、
制御実行主体は、同一の記憶デバイスに対応した転送要素送受信部に対しては、時系列的に先行する制御ステップユニットのアクセス関連情報を構成する一連の転送要素の送受信が完了するまで、後続の制御ステップユニットのアクセス関連情報を構成する転送要素の送受信を待機させる一方、互いに異なる記憶デバイスに対応した転送要素送受信部に対しては、一つの記憶デバイスの制御ステップユニットに係る各転送要素の送受信処理期間のインターバルを利用して、他の制御ステップユニットに属する転送要素の送受信処理を行うことにより、各記憶デバイス間でのそれら制御ステップユニットの並列処理を許容するものであるように構成することができる。
本発明の採用により、制御実行主体は、互いに異なる記憶デバイスに対応した転送要素送受信部に対しては、1の記憶デバイスの制御ステップユニットに係る各転送要素の送受信処理期間のインターバルを利用して、他の制御ステップユニットに属する転送要素の送受信処理を行うことで、各記憶デバイス間でのそれら制御ステップユニットの並列処理が可能となる。従って、ある記憶デバイスの制御ステップユニットの実行途上で空き時間(インターバル)が生じた場合、制御実行主体は、その空き時間を、他の記憶デバイスの制御ステップユニットの実行に充当でき、ホスト装置によるそれぞれの記憶媒体に対しての迅速なデータアクセスが可能となる。制御実行主体はCPUにて構成できる。
ここで、本発明の記憶制御装置は、複数の転送要素送受信部にて単一の制御実行主体が共用化されてなるように構成することができる。これによれば、複数の転送要素受信部にて送受信される転送要素をなす主制御コマンドの解釈やデータアクセス制御処理の実行が単一の制御実行主体により為されるので、装置の構成を簡略化することができる。
また、本発明の記憶制御装置は、複数の転送要素送受信部とシリアル通信部とが専用ICに集積されてなるように構成することができる。これによれば、ホスト装置と対象となる記憶デバイスとの間で送受信を担うものを専用ICに集積するので、装置の構成を簡略化することができる。
次に、本発明の記憶制御装置は、シリアル通信部が、ホスト装置からのシリアル通信バスを接続する通信バス接続端子と、シリアル通信バスと転送要素送受信部との間の転送要素の転送通信処理を実行する通信制御部とを備え、該通信制御部が、通信バス接続端子に接続される通信処理のプロトコルエンジン部と、該プロトコルエンジン部にFIFOメモリからなる制御用の双方向エンドポイントを介して接続され、転送通信処理の制御を司る制御指令部とを備えたものとして構成できる。そして、複数の転送要素送受信部は、それぞれプロトコルエンジン部に対し、FIFOメモリからなる該プロトコルエンジン部への入力用エンドポイントと、FIFOメモリからなる該プロトコルエンジン部からの出力用エンドポイントとを介して入出力経路が分離された形で接続することができる。また、通信制御部は、ホスト装置側から、データアクセスの対象となる転送要素送受信部の特定情報と、該転送要素送受信部に対応するエンドポイントの特定情報とを受信して、各転送要素送受信部をターゲットデバイスとしてポーリングすることにより、データアクセス先となる記憶デバイスとデータ送受信の方向とを特定するものであるように構成することができる。
上記のシリアル通信部の構成はUSB規格に準じたものであり、個々の記憶デバイス毎に転送要素送受信部を設けることで、各記憶デバイスにおける制御ステップユニットの上記の並列処理が可能となる。さらに、送受信のデータバッファとなるエンドポイントが送信側と受信側とで独立して設けられ、ポーリング時にいずれのエンドポイントを指定するかによって、データの転送方向も容易に特定することができる。
この場合、単一の通信制御部を複数の転送要素送受信部にて共用化し、該通信制御部の1つのプロトコルエンジン部に、各々独立した入力用エンドポイント及び出力用エンドポイントの組を介して各転送要素送受信部が並列接続する構成が可能である。このようにすると、1つのプロトコルエンジン部に各転送要素送受信部が並列接続され、また、各転送要素送受信部にて制御実行主体が共用化されることで、装置の構成を簡略化することができる。特に、1つのプロトコルエンジン部に、各々独立した入力用エンドポイント及び出力用エンドポイントの組を介して各転送要素送受信部を並列接続した構造は、モノリシックICとして構成することも容易であり、本発明の記憶制御装置の主要部をなすハードウェアをワンチップ化できるので、装置の小形化及び低廉化に大きく貢献する。
一方、上記とは対照的に、複数の転送要素送受信部に対応する形で独立した複数の通信制御部を設けることも可能である。この場合、各転送要素送受信部を、対応する通信制御部に入力用エンドポイント及び出力用エンドポイントの組を介して接続する一方、各通信制御部のプロトコルエンジン部は、ハブ回路を介して単一の通信バス接続端子に集約接続されてなるように構成することができる。これによれば、記憶デバイスの増設あるいは削減の設計変更を行う際に、転送要素送受信部と通信制御部との対を増設ないし削減することで簡単に対応できる利点がある。
以下、本発明の実施形態を、図面を参照しながら説明する。
<第1実施形態>
図1は、第1実施形態に係る記憶制御装置1Aの電気的構成を表すブロック図である。記憶制御装置1Aは、各構成を制御するためのCPU101と、CPU101が実行するプログラム及びそれに必要なデータを記憶しているROM102と、CPU101がプログラムを実行する際に作業領域として利用されるRAM103と、USB規格に基づくデータ転送を制御する第1ASIC(USB系)2Aと、各スロット61〜64にそれぞれ挿入される各外部メモリ71〜74に対するデータの読出しや書き込みに係るデータアクセスを制御する第2ASIC(外部メモリ系)5と、がバス(アドレスバス104、データバス105)を介して接続されている。
第2ASIC(外部メモリ系)5は、各スロット61〜64に挿入された各外部メモリ(記憶媒体)71〜74に対してデータアクセスを行う外部メモリ入出力制御部(記憶デバイス)51〜54を備える。ここで、各スロット61〜64に着脱可能に装着される各外部メモリ71〜74は、例えば、コンパクトフラッシュ(登録商標)、スマートメディア(登録商標)、メモリースティック(登録商標)、SDメモリーカード(登録商標)など、PCによるデータの書き込み、書き換え、消去、読出し、メディア装着確認等のデータアクセスが可能なフラッシュメモリを搭載したカード型記憶メディアである。なお、記憶デバイスとしては、CD−ROM、DVD−ROM等の読出し専用の記憶媒体からデータの読出しを行うドライブ装置や、内蔵されたハードディスクに対してデータの読出しや書き込み等を行うドライブ装置などを用いることもできる。
フラッシュメモリは、メモリ記憶値が「1」と「0」との間で二値切替え可能とされたメモリセルの集合からなる主メモリブロック(各サイズは、例えば1kバイト以上100kバイト以下)を複数備えている。そして、消去モードにおいては主メモリブロック内の全メモリセルを一括して「1」とする形でのみ消去処理が可能であり、書込モードにあっては、主メモリブロック5f内の任意のメモリセルを「1」から「0」へ変更する処理は可能であって、「0」から「1」へ変更する処理は不能である。
図13は、フラッシュメモリのメモリセルと、その動作原理を模式的に示すものである。該メモリセル200はMOSトランジスタ構造を有し、シリコン基板上に薄いトンネル酸化膜208を介してフローティングゲート203とコントロールゲート202とを積層形成したものである。フローティングゲート203とコントロールゲート202との間には、トンネル酸化膜208よりも厚い絶縁酸化膜209が介挿されており、フローティングゲート203は周囲を絶縁体で取り囲まれた形になっている。
書き込み時にはワード線201を介してコントロールゲート202に書き込み用制御電圧(例えば+約12V)を印加しつつ、接地されたソース205に対し、ドレイン206に書き込みバイアス電圧(例えば+約7V)を印加すると、ソース/ドレイン間で電荷が移動するとともに、その一部がトンネル効果によって、トンネル酸化膜208を隔てたフローティングゲート203側に注入される。読み出し時は、コントロールゲート202に書き込み時よりも低い読出し用制御電圧(例えば約5V)を印加し、ドレイン206に接続されたビット線204に読出しバイアス電圧(例えば+1V)を印加する。もし、フローティングゲート203に電荷が注入されていれば、該電荷による電界によりチャネルが開いてソース/ドレイン間に電流が流れ、ビット線204の入力は低インピーダンス(この場合の記憶値を「0」と定義するのが一般的である)となる。他方、フローティングゲート203に電荷が注入されていなければチャネルが閉じてソース/ドレイン間電流は遮断され、ビット線204の入力は高インピーダンス(この場合の記憶値を「1」と定義するのが一般的である)となる。コントロールゲート202への印加電圧がゼロになっても、絶縁体に囲まれたフローティングゲート203の電荷注入状態は保持されるので、上記記憶状態を保つことができる。
一方、消去処理は、トンネル酸化膜208に対し書込み時とは逆向きの電界勾配を付与することにより、フローティングゲート203中の電荷をソース205側へ引き抜くことにより行う。フローティングゲート203中の残留電荷はデータエラーに直結するので、確実に電荷を引き抜くため、コントロールゲート202に書き込み時と逆極性の消去用制御電圧(−約9V)を印加するのに加え、ソース205に対してもコントロールゲート202側と逆極性の消去用バイアス電圧(+約6V)を印加する。
ソース205は、書き込み時には接地されているから、消去時には接地から消去用電源へと接続を切り替えなければならない。もしもソース205がメモリセル200毎に独立して消去用電源への切替えが可能となっていれば、書き込みと同様、消去もビット単位での処理が可能となる。しかし、この構造の場合、各メモリセル200のソース205をアイソレートさせた基板構造が必要となり、また、消去用電源と接地との切替え用の配線も引き回さなければならず、メモリセル200当たりの基板占有面積が大幅に増加するので、高集積化には明らかに不利となる。そこで、フラッシュメモリの場合は、大容量化を図るために、図14に示すように、メモリセル200を1kバイト以上100kバイト以下の範囲でブロック(本発明でいう主メモリブロック5f)にまとめるとともにソース205を共通結線し、ブロック内の全てのメモリセル200を一括して接地207と消去用電源308との間で切り替える構造としている。その結果、フラッシュメモリでは主メモリブロック5fの単位でしか消去ができないのである。なお、フローティングゲート203への電荷の注入(つまり、記憶値を「1」から「0」へ変更すること)はメモリセル(ビット)単位で行えるが、フローティングゲート203からの電荷の抜き取りは、ブロック単位での消去時にしか行えない。従って、ビット単位処理の組み合わせとなるデータの書き込みに際しては、記憶値を「1」から「0」へビットダウンすることのみが可能であり、その逆、つまり、記憶値を「0」から「1」へビットアップすることは構造上不可能である。また、この原理からも明らかなように、データの書き換えは、一旦ブロック消去を行って、新たにデータを書き込む2段階の処理が必要である(つまり、RAMのような一括上書きによる書き換えは不可能である)。
図1の説明に戻り、第1ASIC(USB系)2Aには、各外部メモリ入出力制御部51〜54に対応して設けられたSCSIコマンド・データ・ステータス送受信部(以下、単に「送受信部」という;転送要素送受信部)41〜44と、USB端子(通信バス接続端子)10に接続されたUSBプロトコルエンジン(プロトコルエンジン部)20と、転送通信処理の制御を司るUSBコントロール部(制御指令部)30と、が集積されてなる。
ここで、USBプロトコルエンジン(プロトコルエンジン部)20と、USBコントロール部(制御指令部)30とで構成される部分が請求項でいう通信制御部に該当し、また、この通信制御部と、USB端子(通信バス接続端子)10とで構成される部分がシリアル通信部に該当する。
USBコントロール部30は、USBプロトコルエンジン20にFIFOメモリからなる制御用の双方向エンドポイントを介して接続されている。また、それぞれの送受信部41〜44は、USBプロトコルエンジン20に対し、FIFOメモリからなるUSBプロトコルエンジン20への入力用エンドポイントと、FIFOメモリからなるUSBプロトコルエンジン20からの出力用エンドポイントとを介して入出力経路が分離された形で接続されている。
USBプロトコルエンジン20とUSBコントロール部30とで構成される通信制御部は、PC側から、対象となる送受信部41〜44の特定情報と、該送受信部41〜44に対応するエンドポイントの特定情報とを受信して、各送受信部41〜44をターゲットデバイスとしてポーリングすることにより、データアクセス先となる外部メモリ入出力制御部51〜54とデータ送受信の方向とを特定する。
このように、記憶制御装置1Aでは、単一のUSBプロトコルエンジン20が複数の送受信部41〜44にて共用化され、USBプロトコルエンジン20に、各々独立した入力用エンドポイント及び出力用エンドポイントの組を介して各送受信部41〜44が並列接続されてなる。
送受信部(転送要素送受信部)41〜44は、USBプロトコルエンジン20との間で転送要素を送受信するものである。ここで、転送要素とは、PCとの間でUSBバスを介してやり取りされる、データアクセスの内容を特定するSCSIコマンド(主制御コマンド)、該SCSIコマンドに特定された内容のデータアクセスに伴うSCSIデータ、データアクセス結果を示すSCSIステータスを指す。
また、送受信部41〜44は、図3に示すように、コントロールレジスタ81(図4参照)、ステータスレジスタ82(図5参照)、SCSIコマンドバッファ83、SCSIステータスバッファ84、SCSIデータDMAアドレスレジスタ85、SCSIデータDMAカウントレジスタ86を有する。これらの詳細については後述する。
CPU101は、対象となる送受信部41〜44が受信したSCSIコマンドを解析する主制御コマンド解析ステップと、該SCSIコマンドに特定された内容のデータアクセスを対象となる外部メモリ入出力制御部51〜54との間で行うデータアクセスステップと、データアクセス結果を示すSCSIステータスを送受信部41〜44に送信させるステータス送信ステップと、をこの順序で実行する。このように、CPU101は、主制御コマンド解析ステップ、データアクセスステップ、ステータス送信ステップをこの順序で実行される制御ステップユニットを処理の単位としてデータアクセスの制御を行う。
また、CPU101は、同一の外部メモリ入出力制御部(51〜54)に対しては、時系列的に先行する制御ステップユニットの処理中は後続の制御ステップユニットの処理を待機させる。他方、異なる外部メモリ入出力制御部(51〜54)に対しては、一方の外部メモリ入出力制御部(51〜54)に係る制御ステップユニットの処理期間のインターバルを利用した割り込み処理により、他方の外部メモリ入出力制御部(51〜54)に係る制御ステップユニットの処理を実行する。その結果、各外部メモリ入出力制御部(51〜54)間で、各々制御ステップユニットの並列処理が可能となっている。
本発明のアクセス制御デバイスとは、各送受信部(転送要素送受信部)41〜44とCPU(制御実行主体)101とで構成される部分を指す。すなわち、CPU101は、複数の送受信部41〜44により共用化されているものの、各外部メモリ入出力制御部51〜54に対応する処理を独立して行うことから、各送受信部(転送要素送受信部)41〜44は、CPU(制御実行主体)101と協働して、各外部メモリ入出力制御部51〜54に対応した、機能的には独立した4つのアクセス制御デバイスを構成している。
記憶制御装置1Aの動作について説明する。記憶制御装置1Aは、PCからUSBケーブルを介して供給される電源(バスパワー)により動作し、各スロット61〜64にそれぞれ挿入された各外部メモリ71〜74に対してPCからのデータアクセスが可能となる。図7に、データアクセスの流れを説明する図を示す。なお、図では、PC側で、第1スロット61に対してデータの読出し(リード)のSCSIコマンドを発行した直後に、第2スロット62に対してデータの読出し(リード)のSCSIコマンドを発行した場合を示している。
まず、第1スロット61に関してのみ説明する。PCからデータの読出し(リード)のSCSIコマンドが発行されると、このSCSIコマンドは、USBバス上をデータとして伝送し、USBプロトコルエンジン20により対象となる第1送受信部(第1SCSIコマンド・データ・ステータス送受信部)41へと届けられる。第1送受信部41がSCSIコマンドを受け取ると、CPU101は、そのSCSIコマンドを解析して、第1スロット61に挿入された第1外部メモリ71からデータを読出すように第1外部メモリ入出力制御部51を制御する。読み出されたデータ(SCSIデータ)は、CPU101により第1送受信部41から送出され、USBバス上をデータとして伝送し、PCに届けられる。SCSIデータの送出が完了すると、CPU101は、データアクセス結果を示すSCSIステータスを第1送受信部41から送出する。送出されたSCSIステータスは、USBバス上をデータとして伝送し、PCに届けられる。
これにより、CPU101において、第1スロット61に関する制御ステップユニットの1単位が完了する。また、この制御ステップユニットの1単位が完了する間に、USBバス上をSCSIコマンド、SCSIデータ、SCSIステータスの転送要素がこの順に伝送する。なお、これらの転送要素の組をアクセス関連情報という(SCSIデータがない場合もあり得る。)。
ここで、SCSIコマンド、SCSIデータ、SCSIステータスは、USBバス上を伝送される(なお、伝送される情報として見るとき、コマンド、データ及びステータスは、いずれもデータビットの組み合わせにより構成される点で実態としては同一であり、広義にはいずれも「データ」とみなすことができる。しかし、本発明では混乱を避けるため、記憶デバイスへの読み書きあるいは消去の対象となる情報のみ「データ」と称する)。SCSIコマンドはPCからデバイスへと伝送し、SCSIステータスはデバイスからPCへと伝送する。SCSIデータは、その有無や伝送方向、大きさがSCSIコマンド毎に定義されており、SCSIコマンドを解釈することによってこれらの情報を得ることができる。
次に、第1スロット61に対する処理と第2スロット62に対する処理との関係について説明する。PC側から、第1スロット61に対してデータの読出し(リード)のSCSIコマンドが発行された直後に、第2スロット62に対してデータの読出し(リード)のSCSIコマンドが発行された場合、CPU101は、上述の通り、異なる外部メモリ入出力制御部51、52に対して制御ステップユニットの並列処理が可能であることから、第1スロット61に係る制御ステップユニットの処理の途中であっても第2スロット62に係る制御ステップユニットの処理を行うことができる。そのため、PC側からは、第1スロット61に対するSCSIコマンドをUSBバス上に伝送した後に、それに係るSCSIステータスの受け取りを待つことなく、第2スロット62に対するSCSIコマンドをUSBバス上に伝送させることができる。
このようにして、USBバス上では、第1スロット61に係る制御ステップユニットに伴う転送要素(SCSIコマンド、SCSIデータ、SCSIステータス)と、第2スロット62に係る制御ステップユニットに伴う転送要素(SCSIコマンド、SCSIデータ、SCSIステータス)とを、時系列的に混在した形で伝送することが可能となる。これにより、USBバス上においていずれの転送要素の転送も行っていない空白期間(インターバル)を有効に利用することができ、第1スロット61に挿入された第1外部メモリ71と第2スロット62に挿入された第2外部メモリ72に対してPCからの迅速なデータアクセスが実現する。特に、外部メモリ71、72が、フラッシュメモリのごとく、書き込みや消去のアクセスに長時間を要する記憶媒体にて構成されている場合、複数の外部メモリ71、72への書込/消去の処理効率を飛躍的に高めることが可能となる。
参考のため、図10に、フラッシュメモリ等の外部メモリを装着可能な複数のスロットを備える記憶制御装置の従来構成例を示す。この記憶制御装置は、複数のスロットを備える外部メモリ入出力制御部(記憶デバイス)と、PCから受け取ったSCSIコマンドを解析し、それに基づいて外部メモリ入出力制御部に対してデータアクセスを行い、データアクセス結果を示すステータスをPCに返すSCSIコマンド・データ・ステータス送受信部と、当該送受信部をターゲットデバイスとしてこれらの動作に伴うデータ等をPCとの間で相互転送するUSBコントローラ(USBプロトコルエンジンとUSBコントロール部)と、を備える。
しかしながら、かかる構成の記憶制御装置では、以下のような問題がある。すなわち、図11に示すように、SCSIコマンド・データ・ステータス送受信部は、PCから受け取ったSCSIコマンドを解析し、それに基づいて外部メモリ入出力制御部に対してデータアクセスを行い、データアクセス結果を示すステータスをPCに返すまでの処理を1つの単位として行うものであるため、例えば、第1スロットに対するコマンドを受け取ってからステータスを返すまでの間、他のスロットに対するコマンドを受け取ることはできない。そのため、PC側で、第1スロットに対するコマンドを発行した直後に第2スロットに対するコマンドを発行したとしても、USBバスに空きが存在するにも関わらず、前回のステータスの伝送が終わるまで第2スロットに対するコマンドを待機させなければならなくなる。
例えば、PC側から、第1スロットに対してデータの読出し(リード)のSCSIコマンドが発行された直後に、第2スロットに対してデータの読出し(リード)のSCSIコマンドが発行された場合、CPUは、先行する第1スロットに係る制御ステップユニットの処理中は後続の第2スロットに係る制御ステップユニットを処理できない。そのため、USBバス上において、第1スロットに係る制御ステップユニットに伴う各転送要素(SCSIコマンド、SCSIデータ、SCSIステータス)の間に間隔が空いたとしても、他の転送要素が入り込むことができず、時間的な無駄が多くなってしまう。これは、上述した図7に示す本発明の場合と差が歴然である。
記憶制御装置1Aのより具体的な動作について、図6のフローチャートを用いて説明する。なお、以下の説明では、1つのスロットに対する処理についてのみ行っている。複数のスロットに対しては、当該処理が割り込み処理により並列して行われる。
CPU101は、PCからUSBケーブルを介して供給される電源(バスパワー)によりONされると(S1)、第1ASIC(USB系)2Aからの割り込みを許可する状態となる(S2)。第1ASIC(USB系)2Aでは、PC側からUSBバス上を伝送してきたSCSIコマンドを、USBプロトコルエンジン20及びUSBコントロール部30の動作によって、対象となる送受信部41〜44へ振り分ける。なお、ここではまだ、SCSIコマンドを受け取ったことを示すレスポンスを返さない。
送受信部41〜44は、SCSIコマンドを受け取ると、ステータスレジスタ82の「コマンド受信完了」bitを1にし、CPU101に割り込みを掛ける。この場合、CPU101は、ステータスレジスタ82を参照することで何のための割り込みなのかを把握することができる。また、受け取ったSCSIコマンドは、SCSIコマンドバッファ83に格納される。
CPU101は、割り込みがあると(S3:YES)、送受信部41〜44が受け取ったSCSIコマンドの解釈を行う(S5)。すなわち、CPU101は、送受信部41〜44のステータスレジスタ82を参照し、送受信部41〜44がSCSIコマンドを受け取ったことを知ると、SCSIコマンドバッファ83からSCSIコマンドを取得して、それを解釈する。これにより、CPU101は、SCSIデータの有無や伝送方向、大きさを把握する。
CPU101は、SCSIコマンドの解釈によって、SCSIデータが無いと把握した場合(例えば、Test Unit Readyコマンドの場合)およびSCSIデータの伝送方向がデバイス→PC(送信)であると把握した場合(例えば、Readコマンドの場合)には(S6:YES)、送受信部41〜44のコントロールレジスタ81の「コマンド受付完了」bitと「ステータスレジスタクリア」bitに1を書き込む(S7)。
送受信部41〜44は、S7で「コマンド受付完了」bitに1が書き込まれた時点で、PCに対してSCSIコマンドを受け取ったことを示すレスポンスを返す。ここで、PC側は、レスポンスを受け取ると、SCSIデータが無い場合には次がSCSIステータスの受信で、SCSIデータの伝送方向がデバイス→PCである場合には次がSCSIデータの受信であるので、デバイス待ちの状態に遷移する。
他方、CPU101は、SCSIコマンドの解釈によって、SCSIデータの伝送方向がPC→デバイス(受信)であると把握した場合(例えば、Writeコマンドの場合)には(S6:NO)、PCからのSCSIデータを受信する準備をする(S8)。具体的には、RAM103上に受信に必要な領域を確保し、その先頭アドレスをSCSIデータDMAアドレスレジスタ85に書き込み、受信するバイト数をSCSIデータDMAカウントレジスタ86に書き込む。その後、送受信部41〜44のコントロールレジスタ81の「コマンド受付完了」bitと「ステータスレジスタクリア」bitに1を書き込む(S9)。
送受信部41〜44は、S9で「コマンド受付完了」bitに1が書き込まれた時点で、PCに対してSCSIコマンドを受け取ったことを示すレスポンスを返す。ここで、PC側は、レスポンスを受け取ると、デバイス側でSCSIコマンドを解釈してSCSIデータを受け取る準備が出来たと認識して、SCSIデータの送信を開始する。
そして、送受信部41〜44は、SCSIデータDMAカウントレジスタ86が0になった時点で、ステータスレジスタ82の「データ受信完了」bitを1にし、CPUに割り込みを掛ける。
CPU101は、割り込みがあると(S10:YES)、送受信部41〜44のコントロールレジスタ81の「データ受取完了」bitと「ステータスレジスタクリア」bitに1を書き込んで、SCSIデータの受信を完了する(S11:YES)。ここで、PC側は、SCSIデータがデバイスに到達されたことが通知され、次がSCSIステータスの受信であるので、デバイス待ちの状態に遷移する。
S7およびS11(YES)の後には、CPU101は、SCSIコマンドを実行する(S12)。例えばTest
Unit Readyコマンドなら、外部メモリ71〜74が挿入されているか否かを判断する。例えばReadコマンドなら、外部メモリ71〜74からデータを読み出す。例えばWriteコマンドなら、この時点で書き込むべきデータをPCから受け取っているので(上述のS8〜S11)、それを外部メモリ71〜74に書き込む。
次に、CPU101は、SCSIデータの伝送方向がデバイス→PC(送信)である場合(例えば、Readコマンドの場合)には(S13:YES)、読み出したデータをPCへ送信する準備をする(S14)。具体的には、RAM103上に送信に必要な領域を確保して読み出したデータを格納するとともに、その先頭アドレスをSCSIデータDMAアドレスレジスタ85に書き込み、受信するバイト数をSCSIデータDMAカウントレジスタ86に書き込む。そして、送受信部41〜44のコントロールレジスタ81の「データ送信開始」bitに1を書き込む。
送受信部41〜44は、S14で「データ送信開始」bitに1が書き込まれた時点で、PCへSCSIデータの転送を開始する。そして、送受信部41〜44は、SCSIデータの転送が終わったら、ステータスレジスタ82の「データ送信完了」bitを1にし、CPUに割り込みを掛ける。
CPU101は、割り込みがあると(S15:YES)、SCSIデータの転送が終わったことを把握するので、送受信部41〜44のコントロールレジスタ81の「ステータスレジスタクリア」bitに1を書き込んで、SCSIデータの送信を完了する(S16:YES)。
S13(NO)およびS16(YES)の後には、CPU101は、SCSIステータスの送信を開始する(S17)。具体的には、CPU101は、上記処理の中で、PCに返すべきステータスを既に決定しているので、そのステータスをSCSIステータスバッファ84に書き込み、送受信部41〜44のコントロールレジスタ81の「ステータス送信開始」bitに1を書き込んで、SCSIステータスの送信を開始する。
送受信部41〜44は、S17で「ステータス送信開始」bitに1が書き込まれた時点で、PCへSCSIステータスの送信を開始する。そして、送受信部41〜44は、PC側からSCSIステータスを受け取ったレスポンスを受けると、ステータスレジスタ82の「ステータス送信完了」bitを1にし、CPUに割り込みを掛ける。
CPU101は、割り込みがあると(S18:YES)、SCSIステータスの送信が終わったことを把握するので、送受信部41〜44のコントロールレジスタ81の「ステータスレジスタクリア」bitに1を書き込んで、SCSIデータの送信を完了する(S19:YES)。これにより、送受信部41〜44のステータスレジスタ82がクリアされて、元の状態に戻る。
以上の処理では、SCSIデータに関して、CPU101のメインメモリであるRAM103に対してDMA(ダイレクト・メモリ・アクセス)転送を行っているが、これに限らず、他のメモリを設けてそこに格納するようにしても良い。また、以上の処理では、SCSIコマンド・SCSIステータスに関して、第1ASIC(USB系)2A内のレジスタに格納しているが、SCSIデータと同様に、DMA転送を適用することも可能である。
以上の記憶制御装置1Aは、図8に示すように、PC側で「USB複合デバイス」として認識され、その下層に各外部メモリ入出力制御部51〜54に対応する複数の「USB大容量記憶装置デバイス」が認識されることになる。これに対して、従来の記憶制御装置(図10参照)は、図12に示すように、PC側で単一の「USB大容量記憶装置デバイス」と認識される。
<第2実施形態>
第2実施形態に係る記憶制御装置1Bについて説明する。以下、主に第1実施形態に係る記憶制御装置1Aと異なる箇所について述べ、重複する箇所については同番号を付して説明を省略する。
図2は、第2実施形態に係る記憶制御装置1Bの電気的構成を表すブロック図である。記憶制御装置1Bは、第1ASIC(USB系)2Bが上述の第1実施形態に係る第1ASIC(USB系)2Aと異なっている。第1ASIC(USB系)2Bでは、複数のSCSIコマンド・データ・ステータス送受信部41〜44に対応する形で、独立した複数の通信制御部(すなわち、USBプロトコルエンジン21〜24とUSBコントロール部31〜34とで構成される各組)が設けられている。各USBプロトコルエンジン21〜24は、対応する送受信部41〜44が入力用エンドポイント及び出力用エンドポイントの組を介して接続される一方、USBハブ回路15を介して単一のUSB端子15に集約接続されている。
ここで、USBプロトコルエンジン21〜24は上述の第1実施形態に係るUSBプロトコルエンジン20と、USBコントロール部31〜34は上述の第1実施形態に係るUSBコントロール部30と同じ機能を有する。これによれば、USBハブ回路15は、SCSIコマンド、SCSIデータ、SCSIステータスの転送要素を、USBプロトコルエンジン21〜24の特定情報に基づいて、対象となる送受信部41〜44が属するUSBプロトコルエンジン21〜24へと振り分ける。USBプロトコルエンジン21〜24へと振り分けられた転送要素は、それに属する送受信部41〜44へと届けられる。
以上の構成によっても、上述の第1実施形態に係る記憶制御装置1Aと同様に、複数の送受信部(転送要素送受信部)41〜44と、各外部メモリ入出力制御部51〜54に対応する処理を独立して行うCPU(制御実行主体)101と、を有することから(本発明のアクセス制御デバイス)、図7に示す如く、USBバス上に、1のスロット(61〜64)に係る制御ステップユニットに伴う転送要素(SCSIコマンド、SCSIデータ、SCSIステータス)と、他のスロット(61〜64)に係る制御ステップユニットに伴う転送要素(SCSIコマンド、SCSIデータ、SCSIステータス)と、を時系列的に混在した形で伝送させることができ、これにより、各スロット(61〜64)に挿入された外部メモリ71〜74に対してPCから迅速なデータアクセスを行うことができる。
以上の記憶制御装置1Bは、図9に示すように、PC側で「汎用USBハブ」として認識され、その下層に各外部メモリ入出力制御部51〜54に対応する複数の「USB大容量記憶装置デバイス」が認識されることになる。
以上、本発明の実施形態について説明したが、本発明はこれらの形式に限定されるものではなく、これらに具現された発明と同一性の範囲内において適宜変更して実施し得る。
第1実施形態に係る記憶制御装置の電気的構成を表すブロック図 第2実施形態に係る記憶制御装置の電気的構成を表すブロック図 SCSIコマンド・データ・ステータス送受信部の説明図 コントロールレジスタの説明図 ステータスレジスタの説明図 SCSIコマンド・データ・ステータス送受信部が行う処理を表すフローチャート 本発明の記憶制御装置によるデータアクセスの説明図 第1実施形態に係る記憶制御装置のホスト装置側の認識例 第2実施形態に係る記憶制御装置のホスト装置側の認識例 従来の記憶制御装置の電気的構成を表すブロック図 従来の記憶制御装置によるデータアクセスの説明図 従来の記憶制御装置のホスト装置側の認識例 フラッシュメモリのメモリセルと動作原理を模式的に示す図 メモリブロックの構成を模式的に示す図
符号の説明
1A、1B 記憶制御装置
2A、2B 第1ASIC(USB系)
10 USB端子(通信バス接続端子)
20 USBプロトコルエンジン(プロトコルエンジン部)
30 USBコントロール部(制御指令部)
41〜44 SCSIコマンド・データ・ステータス送受信部(転送要素送受信部)
5 第2ASIC(外部メモリ系)
51〜54 外部メモリ入出力制御部(記憶デバイス)
61〜64 スロット
71〜74 外部メモリ(記憶媒体)
81 コントロールレジスタ
82 ステータスレジスタ
83 SCSIコマンドバッファ
84 SCSIステータスバッファ
85 SCSIデータDMAアドレスレジスタ
86 SCSIデータDMAカウントレジスタ
101 CPU(制御実行主体)
102 ROM
103 RAM
104 アドレスバス
105 データバス

Claims (7)

  1. ホスト装置による少なくともデータの読出しに係るデータアクセスが可能とされた記憶媒体が内蔵されるか又は着脱可能に装着され、該記憶媒体に対してSCSI規格にてデータアクセスを行う複数の記憶デバイスと、
    前記記憶デバイス毎に機能的に独立して設けられ、前記データアクセスの内容を特定する主制御コマンドであるSCSIコマンドを前記ホスト装置から受信して解析する主制御コマンド解析ステップと、該SCSIコマンドの解析内容を反映したデータであるSCSIデータへのアクセスを前記記憶デバイスとの間で行うデータアクセスステップと、データアクセス結果を示すSCSIステータスを前記ホスト装置に送信するステータス送信ステップとをこの順序で実行する制御ステップユニットを単位として前記記憶デバイスにおけるSCSI規格の基での前記データアクセスの制御を行うとともに、時系列的に先行するSCSI規格の基でのデータアクセスに係る制御ステップユニットの実行中は該制御ステップユニットの実行が完了するまで後続のSCSI規格の基でのデータアクセスに係る制御ステップユニットの実行を待機させるアクセス制御デバイスと、
    前記ホスト装置と該ホスト装置が指定するアクセス制御デバイスとの間において前記制御ステップユニットを実行するために、前記SCSIコマンド、前記SCSIデータ及び前記SCSIステータスのうち少なくとも前記SCSIコマンドと前記SCSIステータスとを転送要素として含むアクセス関連情報の相互転送を、前記ホスト装置が複数の前記アクセス制御デバイスをポーリングする形式にてUSB規格に基づくシリアル通信により実行するとともに、対象となるアクセス制御デバイスが互いに異なる制御ステップユニットのアクセス関連情報を構成する前記転送要素の組をそれら組間での該転送要素の時系列的な混在を許容した形でUSB規格に基づいてデータ転送処理するシリアル通信部と、を備え、
    前記アクセス制御デバイスは、前記シリアル通信部との間で前記転送要素を送受信する転送要素送受信部と、該転送要素をなす前記SCSIコマンドを解釈してその内容に応じたデータアクセスを前記記憶デバイスに対して行う制御実行主体とからなり、
    前記転送要素送受信部が前記記憶デバイスに一対一に対応する形で複数設けられ、
    前記制御実行主体は、同一の記憶デバイスに対応した転送要素送受信部に対しては、時系列的に先行する前記制御ステップユニットのアクセス関連情報を構成する一連の転送要素の送受信が完了するまで、後続の制御ステップユニットのアクセス関連情報を構成する転送要素の送受信を待機させる一方、互いに異なる記憶デバイスに対応した転送要素送受信部に対しては、一つの記憶デバイスの制御ステップユニットに係る各転送要素の送受信処理期間のインターバルを利用して、他の記憶デバイスの制御ステップユニットに属する転送要素の送受信処理を行うことにより、各記憶デバイス間でのそれら制御ステップユニットの並列処理を許容するものであることを特徴とする記憶制御装置。
  2. 前記記憶デバイスは、前記ホスト装置によるデータの書き込み、消去及び読出しが可能とされた記憶媒体が着脱可能に装着されるとともに、該記憶媒体として、記憶内容が電気的に書き換え可能であって、外部からのリセット信号を受けても当該記憶内容を保持するとともに、その記憶領域が複数の書き換え単位ブロックに分割され、該書き換え単位ブロックを単位とする形で記憶内容の消去及び書き込みが可能とされた不揮発性メモリを使用する請求項1に記載の記憶制御装置。
  3. 複数の前記転送要素送受信部にて単一の前記制御実行主体が共用化されてなる請求項に記載の記憶制御装置。
  4. 複数の前記転送要素送受信部と前記シリアル通信部とが専用ICに集積されてなる請求項1ないし請求項3のいずれか1項に記載の記憶制御装置。
  5. 前記シリアル通信部は、前記ホスト装置からのシリアル通信バスを接続する通信バス接続端子と、前記シリアル通信バスと前記転送要素送受信部との間の前記転送要素の転送通信処理を実行する通信制御部とを備え、該通信制御部は、前記通信バス接続端子に接続される前記通信処理のプロトコルエンジン部と、該プロトコルエンジン部にFIFOメモリからなる制御用の双方向エンドポイントを介して接続され、前記転送通信処理の制御を司る制御指令部とを備え、
    複数の前記転送要素送受信部が、それぞれ前記プロトコルエンジン部に対し、FIFOメモリからなる該プロトコルエンジン部への入力用エンドポイントと、FIFOメモリからなる該プロトコルエンジン部からの出力用エンドポイントとを介して入出力経路が分離された形で接続され、
    前記通信制御部は、前記ホスト装置側から、前記データアクセスの対象となる転送要素送受信部の特定情報と、該転送要素送受信部に対応するエンドポイントの特定情報とを受信して、各転送要素送受信部をターゲットデバイスとしてポーリングすることにより、データアクセス先となる前記記憶デバイスとデータ送受信の方向とを特定するものである請求項1ないし請求項4のいずれか1項に記載の記憶制御装置。
  6. 単一の前記通信制御部が複数の前記転送要素送受信部にて共用化され、該通信制御部の1つの前記プロトコルエンジン部に、各々独立した前記入力用エンドポイント及び前記出力用エンドポイントの組を介して各転送要素送受信部が並列接続されてなる請求項に記載の記憶制御装置。
  7. 複数の前記転送要素送受信部に対応する形で独立した複数の前記通信制御部が設けられ、各転送要素送受信部が対応する通信制御部に前記入力用エンドポイント及び出力用エンドポイントの組を介して接続される一方、各通信制御部の前記プロトコルエンジン部は、ハブ回路を介して単一の前記通信バス接続端子に集約接続されてなる請求項に記載の記憶制御装置。
JP2006000885A 2006-01-05 2006-01-05 記憶制御装置 Expired - Fee Related JP4539864B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006000885A JP4539864B2 (ja) 2006-01-05 2006-01-05 記憶制御装置
US11/619,890 US7640366B2 (en) 2006-01-05 2007-01-04 Storage controller to control access to storage device via serial communication unit by executing control step units

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006000885A JP4539864B2 (ja) 2006-01-05 2006-01-05 記憶制御装置

Publications (2)

Publication Number Publication Date
JP2007183757A JP2007183757A (ja) 2007-07-19
JP4539864B2 true JP4539864B2 (ja) 2010-09-08

Family

ID=38226020

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006000885A Expired - Fee Related JP4539864B2 (ja) 2006-01-05 2006-01-05 記憶制御装置

Country Status (2)

Country Link
US (1) US7640366B2 (ja)
JP (1) JP4539864B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102402699A (zh) * 2010-09-13 2012-04-04 同星实业股份有限公司 多卡支持的读卡装置
US20140164678A1 (en) * 2012-12-12 2014-06-12 Key Technology Corporation Intelligent detection device of solid state hard disk combining a plurality of nand flash memory cards and detecting method for the same
US9658979B2 (en) * 2015-01-09 2017-05-23 Qualcomm Incorporated Enhanced storage option in multi-slot communications supporting USB UICC SIM cards
US9385772B1 (en) 2015-01-09 2016-07-05 Qualcomm Incorporated Enhanced storage option in multi-slot communications supporting USB UICC SIM cards

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210320A (ja) * 1994-01-27 1995-08-11 Nec Corp ファイル装置用多重化インタフェース及びその制御方法
JPH086890A (ja) * 1994-06-23 1996-01-12 Fujitsu Ltd 入出力制御システム
JP2004094797A (ja) * 2002-09-03 2004-03-25 Mitsumi Electric Co Ltd 外部記憶装置
JP2004164616A (ja) * 2002-10-08 2004-06-10 Minebea Co Ltd 並列メモリカード読取装置を備えた情報入力装置
JP2005175936A (ja) * 2003-12-11 2005-06-30 Murata Mach Ltd Usb対応型デジタル複合機

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4062227B2 (ja) 2003-09-30 2008-03-19 ブラザー工業株式会社 周辺装置及び画像形成装置
US7526580B2 (en) 2003-06-27 2009-04-28 Brother Kogyo Kabushiki Kaisha Peripheral device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210320A (ja) * 1994-01-27 1995-08-11 Nec Corp ファイル装置用多重化インタフェース及びその制御方法
JPH086890A (ja) * 1994-06-23 1996-01-12 Fujitsu Ltd 入出力制御システム
JP2004094797A (ja) * 2002-09-03 2004-03-25 Mitsumi Electric Co Ltd 外部記憶装置
JP2004164616A (ja) * 2002-10-08 2004-06-10 Minebea Co Ltd 並列メモリカード読取装置を備えた情報入力装置
JP2005175936A (ja) * 2003-12-11 2005-06-30 Murata Mach Ltd Usb対応型デジタル複合機

Also Published As

Publication number Publication date
US7640366B2 (en) 2009-12-29
JP2007183757A (ja) 2007-07-19
US20070156959A1 (en) 2007-07-05

Similar Documents

Publication Publication Date Title
US8108591B2 (en) Semiconductor device with a first interface to connect to a memory card having a lock and unlock state and a second interface to connect to a host device and memory card intialization method
US8539140B2 (en) Storage device including flash memory and capable of predicting storage device performance based on performance parameters
CN112256601B (zh) 数据存取控制方法、嵌入式存储系统及嵌入式设备
US20010016887A1 (en) Voltage negotiation in a single host multiple cards system
US20130067143A1 (en) Memory device and method of controlling the same
US20110258372A1 (en) Memory device, host device, and memory system
JPH04256088A (ja) Icメモリカードシステム
CN111931442B (zh) Fpga内嵌flash控制器及电子装置
US20080228996A1 (en) Portable Data Storage Device Using Multiple Memory Devices
US7725621B2 (en) Semiconductor device and data transfer method
US7831755B2 (en) Method and system for interfacing a plurality of memory devices using an MMC/SD protocol
KR100919159B1 (ko) 멀티미디어 카드 인터페이스 방법, 컴퓨터 프로그램 생성물및 장치
EP0464848B1 (en) Structure for enabling direct memory-to-memory transfer
JP4539864B2 (ja) 記憶制御装置
KR20020036717A (ko) 마이크로컴퓨터 및 그 제어 방법
CN111208757A (zh) 一种基于FPGA的eMMC主控制器
TW201710898A (zh) 內部資料搬移方法以及使用該方法的裝置
CN113010926B (zh) 机械隔离式数据传输装置
CN100517377C (zh) 多功能ic卡及其控制方法
JP4794949B2 (ja) メモリコントローラ、不揮発性記憶装置及び不揮発性記憶システム
US20120124272A1 (en) Flash memory apparatus
US11662947B2 (en) Memory system and data processing system performing operation on commands before fetching of commands
KR102242957B1 (ko) 고속 낸드 메모리 시스템과 고속 낸드 메모리 패키지 디바이스
JP2003108951A (ja) Pcカード
KR100688477B1 (ko) Usb 디바이스 내 엔드포인트들의 메모리 관리 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100329

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: 20100602

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

R150 Certificate of patent or registration of utility model

Ref document number: 4539864

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100615

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130702

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees