JP4264087B2 - 記録装置 - Google Patents
記録装置 Download PDFInfo
- Publication number
- JP4264087B2 JP4264087B2 JP2005516077A JP2005516077A JP4264087B2 JP 4264087 B2 JP4264087 B2 JP 4264087B2 JP 2005516077 A JP2005516077 A JP 2005516077A JP 2005516077 A JP2005516077 A JP 2005516077A JP 4264087 B2 JP4264087 B2 JP 4264087B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- access
- unit
- command
- semiconductor memory
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
- H04N5/77—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
- H04N5/772—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera the recording apparatus and the television camera being placed in the same enclosure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
- H04N5/77—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/907—Television signal recording using static stores, e.g. storage tubes or semiconductor memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/8042—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/8042—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
- H04N9/8047—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction using transform coding
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
しかし、DVフォーマットの動画像及び音声のデータのように、大きな記録容量を必要とするデータを記録する場合には、記憶容量も記録レートも不充分である。例えば、4MB/sの再生レートのデータであれば、2分相当のデータしか記録できないし、書き込みには約1分を要することになる。
そこで本発明は、かかる問題点に鑑みてなされたものであり、接続される電気機器の供給可能な電流量に応じて、動作条件を変更し、消費電流を前記電気機器の供給可能な電流量以下に抑制することができる記録装置、メモリカードドライブデバイスを提供することを目的とする。
前記記録装置において、前記制御手段は、予め、前記アクセス手段及び各半導体メモリの消費する消費電流値を前記コマンドの種類ごとに記憶しており、前記アクセス上限値と前記消費電流値とを用いて、前記コマンドの種類と対応する動作条件を設定することを特徴とする。
この構成によると、前記制御手段は、前記アクセス上限値を前記消費電流値で除算することで、簡単に前記並列個数を算出することができる。
この構成によると、前記制御手段は、前記最大周波数と前記最大電流値の比率と前記アクセス上限値とを用いて、容易に前記動作周波数を算出することができる。
この構成によると、前記制御手段は、前記最大電流値に加えて前記最大動作周波数を予め記憶しているため、迅速に前記動作周波数を算出することができる。
また、前記制御手段は、読み出しを指示する前記リードコマンドに対応する前記消費電流値を記憶しており、読み出しを指示する前記リードコマンドに対応して、前記メモリ周波数で前記半導体メモリを動作させる前記動作条件を設定する。
この構成では、前記制御手段は、分周器を用いて、容易にクロック信号の周波数を変更することができる。
この構成によると、前記制御手段は、PLLを用いて、クロック信号の周波数を、連続的に変更することができる。従って、前記アクセス上限値と前記コマンド取得手段が取得したコマンドに応じた最適な周波数のクロック信号を生成し、出力することができる。
フラッシュメモリは、現在、広く普及しており、既に数多くの生産実績がある。従って、この構成の前記記録装置は、容易に生産可能である。
本発明の記録装置を構成する前記半導体メモリは、不揮発性磁気メモリであってもよい。
本発明において、前記取得手段は、前記上限値をATA(AT Attachiment)規格に準拠するSet Featuresコマンドにより取得することを特徴とする。
本発明の記録装置を構成する半導体メモリは可搬型であり、当該記録装置に着脱可能であり、前記取得手段と前記読書手段と前記制御手段とは、前記記録媒体に情報の読出及び書き込みを行うメモリカードドライブデバイスを構成することを特徴とする。
前記制御手段は、クロック信号を含む前記制御信号を出力し、前記アクセス手段は、アクセスする半導体メモリにのみ前記クロック信号を供給し、アクセスをしていない半導体メモリへの前記クロック信号の供給を停止することを特徴とする記録装置である。
1.実施の形態1
実施の形態1のメモリカード300は、図1に示すようにPC100及びビデオカメラ200に装着されて使用される。
ビデオカメラ200は、音声及び画像データを生成し、生成した音声及び画像データをメモリカード300に記録する。
メモリカード300は、4個のフラッシュメモリを搭載している。外部機器、具体的には、PC100又はビデオカメラ200が、メモリカード300へ供給することができる最大の電流値(以下、許容電流値)を取得し、取得した許容電流値を基に、並行して動作可能なフラッシュメモリの個数を算出する。PCからのコマンドに対して、算出した個数のフラッシュメモリを並行して動作させる。
1.1 ビデオカメラ200
ビデオカメラ200は、図2に示すように、入出力部201、電源部202、画像変換部203、撮像部204、制御部207、入力部212及び再生部213から構成される。
(1)電源部202
電源部202は、ビデオカメラ200を構成する各回路へ、電池又は外部電源からの電力を供給する。また、入出力部201を介してメモリカード300へも電力を供給する。
(2)許容電流値記憶部210
許容電流値記憶部210は、ROMから構成され、許容電流値を記憶している。許容電流値は、ビデオカメラ200がメモリカード300へ供給することのできる電流の上限を示す値である。
(3)入出力部201
入出力部201は、メモリカード300と接続され、制御部207とメモリカード300との間で各種の情報の入出力を行う。
(4)撮像部204及び画像変換部203
撮像部204は、光学レンズ、カラーフィルタ、CCD(Charge CoupledDevice)などから構成され、入射光を電荷に変換して画像データを生成する。
画像変換部203は、撮像部204により生成された画像データに直行変換の1つであるDCT処理、量子化処理、動き補償処理及び可変長符号化処理などを施して圧縮する。
(5)制御部207
制御部207は、ビデオカメラ200を構成する各部の動作を制御する。
コンフィグ処理が終了すると、許容電流値記憶部210の記憶している許容電流値を用いて、パワーマネジメントに関する情報の授受を行う。このような、メモリカード300とメモリカード300を装着された装置との間の初期設定の処理については、後に詳細に説明する。
(6)入力部212
入力部212は、各種のボタンなどを備え、利用者による操作を検出し、検出した操作を示す捜査指示情報を制御部207へ出力する。
(7)再生部213
再生部213は、デコーダー、液晶ディスプレイを含んで構成され、圧縮された画像データを伸長し、画面を生成し、生成した画面を液晶ディスプレイに表示する。
1.2 PC100
PC100は、図3に示すように、外部IF部101、許容電流値記憶部110、情報記憶部111、入力制御部112及び表示制御部113から構成される。
(1)電力供給部105
電力供給部105は、PC100を構成する各回路へ、電力を供給する。また、外部IF部101を介してメモリカード300へも電力を供給する。
(2)許容電流値記憶部110及び情報記憶部111
許容電流値記憶部110は、ROMから構成され、許容電流値Iokを記憶している。許容電流値Iokは、PC100がメモリカード300へ供給することのできる電流の上限を示す値である。
(3)外部IF部101
外部IF部101は、メモリカード300と接続され、制御部107とメモリカード300との間で各種の情報の入出力を行う。
(4)制御部107
制御部107は、PC100を構成する各部の動作を制御する。
制御部107は、外部IF部101を介してメモリカード300を検出する。
また、入力制御部112から、利用者のキー操作に対応した操作指示情報を受け取る。
メモリカード300を検出すると、制御部107は、ドライブの割り当て、メモリ空間の割り当てなどを含むコンフィグ処理を行う。
コンフィグ処理が終了すると、メモリカード300へメモリカード300の消費する電流の最大値である最大消費電流値Imaxを要求する。外部IF部101を介して、メモリカード300から最大消費電流値Imaxを受け取る。最大消費電流値Imaxを受け取ると、許容電流値記憶部110から、許容電流値Iokを読み出し、読み出した許容電流値Iokを外部IF部101を介して、メモリカード300へ出力する。次に、メモリカード300から、Ack(Acknowledgement)信号を受け取り、初期設定を終了する。
制御部107は、入力制御部112から、メモリカード300への書き込みを示す操作指示情報を受け取ると、メモリカード300へデータの書き込みを指示するライトコマンドを生成する。ライトコマンドは、書き込みを開始するセクタの論理アドレスであるセクタ番号(以下先頭セクタ番号)と出力するデータを記録するために必要なセクタ数とを含んでいる。セクタとは、メモリカード300上の読み出し及び書き込みの単位となる512バイトの記憶領域である。
次に、メモリカード300から、データの書き込みが可能であることを示すレスポンスを受け取る。レスポンスを受け取ると、メモリカード300へ書きこむデータのうち、先頭から順に、1セクタの容量に相当する512バイト分を出力する。以下の説明において、512バイトのデータをデータブロックと呼ぶ。メモリカード300から、1データブロックの書き込み可能であることを示すレスポンスを受け取り、次の、データブロックを出力する。同様にして、全てのデータブロックの出力を終えるまで、レスポンスの受け取りとデータブロックの出力とを繰り返す。
制御部107は、入力制御部112から、読み出しを示す操作指示情報を受け取ると、メモリカード300へデータの読み出しを指示するリードコマンドを出力する。リードコマンドには、読み出しを開始するセクタの論理アドレスであるセクタ番号(以下先頭セクタ番号)と読み出しをするセクタ数を含んでいる。
図4は、PC100が、最大消費電流値Iokをメモリカード300へ出力する場合、PC100が出力するATAコマンドのフレーム構成を示している。図4は、フレームを構成する各フィールドの名称を縦に配置し、横にビット数を示す番号0〜7を記載している。Features341は、Subcommandなどのコマンドの拡張内容が含まれるフィールドである。SectorCount342は、許容電流値、セクタ数などを格納するフィールドである。ここでは、PC100の許容電流値をAdvanced power management levelを用いて示している。SectorNumber343は、リードコマンド及びライトコマンドを出力する際に、セクタ数を格納するフィールドであるが、最大消費電流値Iokの出力の場合には、使用されない。図中の「na」は、そのフィールドが使用されないことを示している。
Command347は、各種のコマンドを格納するフィールドである。ここでは、許容電流値Iokの通知を示す「FEh」が格納されている。
(5)入力制御部112及び表示制御部113
入力制御部112は、キーボード150と接続されており、利用者による、キー操作を検出し、検出したキー操作を示す操作指示情報を制御部107へ出力する。
表示制御部113は、制御部107の指示によりディスプレイ140に表示する画面を生成する。生成した画面を垂直同期信号及び水平同期信号に合わせてディスプレイ140へ出力する。
1.3 メモリカード300
メモリカード300は、図5に示すように、外部IF部301、制御部302、フラッシュメモリ310、311、312及び313から構成される。制御部302は、コマンド解析部303、並列制御部304、クロック制御部305、メモリ制御部330、331、332、333、制御情報記憶部308及びバッファメモリ309を含んで構成される。
(1)フラッシュメモリ310、311、312及び313
フラッシュメモリ310、311、312及び313は、512バイトの容量のセクタを複数備えており、各セクタには、メモリアドレスが割り当てられている。図5に示す様に、各フラッシュメモリは、それぞれ、バッファメモリ309と接続されている。また、メモリ制御部330、331、332及び333とそれぞれ接続されている。
(2)外部IF部301
外部IF部301は、外部機器と制御部302との間で各種の情報の送受信を行う。また、外部機器から供給される電力を受け取り、受け取った電力をメモリカード300を構成する各回路へ出力する。ここで、外部機器とは、PC100又はビデオカメラ200である。
(3)制御情報記憶部308及びバッファメモリ309
制御情報記憶部308は、ROMから構成され、書込消費電流値Iw、読出消費電流値Ir、メモリ数N及び制御電流値aを記憶している。
バッファメモリ309は、RAMから構成され、512バイトのデータを記憶する領域を4個備えており、4個の記憶領域は、それぞれ、フラッシュメモリ310〜313と対応している。フラッシュメモリ310と外部機器との間で入出力される各種データを一時的に記憶する。
(4)クロック制御部305
クロック制御部305は、一定の時間間隔でクロック信号を生成し、生成したクロック信号をメモリカード300を構成する各部へ出力する。
(5)コマンド解析部303
コマンド解析部303は、外部IF部301と接続された外部機器から各種コマンドを受け取り、受け取ったコマンドを解析し、解析結果を並列制御部304へ出力する。
(6)メモリ制御部330、331、332及び333
メモリ制御部330は、クロック制御部305からクロック信号を受け取り、受け取ったクロック信号をフラッシュメモリ310へ出力する。
フラッシュメモリ310への書き込みが終了すると、並列制御部304へ、1データブロックの書き込みが終了したことを示す終了信号を出力する。
(7)並列制御部304
並列制御部304は、図6に示すように、コマンド実行部321、並列演算部322、メモリ番号演算部323から構成される。
並列演算部322は、コマンド実行部321から、メモリカード300の消費する電流の最大値である最大消費電流値Imaxの算出を指示される。また、コマンド実行部321から許容電流値Iokを受け取り、並行書込数Nwと並行読出数Nrの算出を指示される。並行書込数Nwは、許容電流値の範囲内で、並行して書き込みの動作を行うことができるフラッシュメモリの個数であり、並行読出数Nrは、許容電流値の範囲内で並行して読み出しの動作を行うことができるフラッシュメモリの数である。
Imax=Max(N×Iw,N×Ir)+a −(式1)
を算出する。ここで、Max(A,B)は、A及びBのうち値の大きい一方を示す。算出した最大消費電流値Imaxをコマンド実行部321へ出力する。
Nw=INT{(Iok−a)/Iw} −(式2)
Nr=INT{(Iok−a)/Ir} −(式3)
を算出する。ここで、INT(A)は、A以下で最大の整数を示す。このとき、Nw>Nであれば、Nw=Nとし、Nr>NであればNr=Nとする。
次に、算出した並行書込数Nwと並行読出数Nrとを記憶し、コマンド実行部321へ正常に演算が終了したことを示す演算終了信号を出力する。
(7−2)メモリ番号演算部323
メモリ番号演算部323は、予めメモリカード300が備えているフラッシュメモリの数N=4を記憶している。また、フラッシュメモリ310〜313上のセクタの実アドレスであるメモリアドレスと外部機器によって、出力されるセクタ番号との対応を管理している。
書き込み先メモリ番号又は読み出し先メモリ番号の算出を指示されると、メモリ番号演算部323は、図6に示すメモリテーブル324を生成し、生成したメモリテーブル324を一時的に記憶する。
書込み先メモリ番号の算出を指示されると、受け取った先頭セクタ番号とセクタ数とを基にして、以下の(式4)及び(式5)によりセクタ番号とメモリ番号とを算出する。
セクタ番号=先頭セクタ番号+t −(式4)
メモリ番号=(セクタ番号)%N −(式5)
ここで、変数tは0以上の整数であり、初期値は0である。
図6に示すメモリテーブル324は、一例として、先頭セクタ番号「3」、セクタ数「4」を受け取った場合に、メモリ番号演算部323が生成するメモリテーブルを示している。メモリ情報326は、セクタ番号「3」と示されるセクタを、メモリ番号「3」と対応するフラッシュメモリ313のメモリアドレス「AAAA」のセクタに対応させることを示している。
(7−3)コマンド実行部321
コマンド実行部321は、図6に示すように並列制御部304を構成する各回路及びメモリ制御部330〜333と接続されており、これらの各回路の動作を制御する。
<初期設定>
コマンド解析部303を介して、最大消費電流値Imaxの要求を受け取ると、コマンド実行部321は、並列演算部322へ最大消費電流値Imaxの算出を指示する。並列演算部322から最大消費電流値Imaxを受け取り、受け取った最大消費電流値Imaxを、外部IF部301を解して外部機器へ出力する。ここで外部機器とは、PC100又はビデオカメラ200である。
コマンド解析部303を介して、ライトコマンドを受け取ると、コマンド実行部321は、バッファメモリ309の4個の記憶領域のうち1個以上が空いているか否かを確認し、データブロックを書き込み可能であるか否かを判断する。1個以上の記憶領域が空であれば、書き込み可能であると判断し、1データブロックの書き込み可能であることを示すレスポンスを、外部IF部301を介して、外部機器に出力する。書き込みが可能でないと判断すると、いずれかの記憶領域が空になるまで待機する。
(a)データブロックの受け取りの制御
外部機器からバッファメモリ309への、一個のデータブロックの書き込みが終了すると、コマンド実行部321は、バッファメモリ309から1データブロックの書き込みが終了したことを示すOK信号を受け取る。
コマンド実行部321は、並列演算部322の記憶している並行書込数Nwを読み出す。次に、ライトコマンドに含まれる先頭セクタ番号とセクタ数とをメモリ番号演算部323へ出力し、書き込みメモリ番号の算出を指示する。
メモリ番号演算部323から、演算終了信号を受け取る。次に、メモリ番号演算部323の記憶しているメモリテーブル324内の先頭からNw個のメモリ情報を選択し、選択したメモリ情報から、メモリ番号とメモリアドレスとを抽出し、抽出したメモリ番号と対応するメモリ制御部へ、抽出したメモリアドレスと書き込みを示すライト指示とを出力する。
受け取ったセクタ数「4」に相当する4個のデータブロックの書き込みを指示し終えると、フラッシュメモリへの書き込み制御を終了する。
<読み出し処理>
コマンド解析部303を介して、データの読み出しを指示するリードコマンドを受け取ると、以下に説明する(a)読み出し制御と(b)データブロックの出力制御とを実行する。
コマンド実行部321は、リードコマンドに含まれる先頭セクタ番号とセクタ数とをメモリ番号演算部323へ出力し、読み出しメモリ番号の算出を指示する。
次に、メモリ番号演算部323から、演算終了信号を受け取り、並列演算部322の記憶している並行読出数Nrを読み出す。
次に、いずれかのメモリ制御部から1データブロックの読み出しが終了したことを示す終了信号を受け取る。このとき、リードコマンドと共に受け取ったセクタ数に相当するデータブロックの、読み出しの指示を出力し終えていれば、読み出し制御を終了する。
(b)データブロックの出力制御
リードコマンドを受け取ると、コマンド実行部321は、バッファメモリ309に記憶されているデータを確認し、1データブロックの出力が可能であるか否かを判断する。つまり、フラッシュメモリからバッファメモリ309へ1データブロック以上のデータが転送済みか否かを確認する。
出力可能であると判断すると、データブロックの出力が可能であることを示すレスポンスを、外部IF部301を介して、外部機器へ出力する。
続いて、バッファメモリ309へ1データブロックの出力を指示する。次に、バッファメモリ309から、1データブロックの出力が正常に終了したことを示すOK信号を受け取る。OK信号を受け取ると、再度バッファメモリ309に記憶されているデータを確認し、1データブロックの出力が可能であるかを判断する。
1.4 メモリカード300及びPC100の動作
メモリカード300は、PC100及びビデオカメラ200に装着されるが、ここではPC100に装着された場合について説明する。
PC100にメモリカード300が装着された直後の、PC100及びメモリカード300の動作について、図7のフローチャートを用いて説明する。
PC100は、外部IF部101を介して、メモリカード300の装着を検出する(ステップS101)。次に、外部IF部101を介して、メモリカード300へ、最大消費電流値Imaxを要求する(ステップS102)。
メモリカード300は、外部IF部301を介して、PC100から許容電流値Iokを受け取り、受け取った許容電流値Iokと算出した最大消費電流値Imaxとを比較する(ステップS111)。Iok≧Imaxであれば(ステップS111のYES)、並行書込数Nw=並行読出数Nr=メモリ数Nとする(ステップS112)。
(2)メモリカード300への書き込み動作
メモリカード300への書き込み動作について、図8に示すフローチャートを用いて説明する。ここでは、具体的に、並行書込数Nw=2、先頭セクタ番号「3」、セクタ数「4」の場合について説明する。
メモリカード300は、PC100からライトコマンドを受け取り、バッファメモリ309の空き容量を確認し、データブロックを書き込み可能か否かを判断する(ステップS126)。書き込み可能でないと判断すると(ステップS126のNO)、バッファメモリ309の空き容量が1データブロックを書き込み可能な状態になるまで待機する。
PC100は、メモリカード300からレスポンスを受け取る(ステップS129)。レスポンスを受け取ると、出力するデータのうち1データブロックを読み出し(ステップS131)、読み出したデータブロックをメモリカード300へ出力する(ステップS132)。
PC100は、メモリカード300から、レスポンスを受け取る(ステップS136)。このとき、メモリカード300に書き込むデータを構成するデータブロック全てを出力し終えていなければ(ステップS134のNO)、ステップS129へ戻り、次のデータブロックを出力する。
まず、ライトコマンドに含んで受け取った先頭セクタ数「3」とセクタ数「4」とを基に、データブロックを書き込むフラッシュメモリを示すメモリ番号「3」、「0」、「1」、「2」を算出し、メモリテーブル324を生成する(ステップS141)。Nw=2であるので、メモリ番号「3」、「0」と対応するメモリ制御部333及び330へライト指示を出力し、バッファメモリ309からフラッシュメモリ313及びフラッシュメモリ310へのデータブロックの転送を開始する(ステップS142)。
次に、ステップS144において、4個のデータブロックのフラッシュメモリへの転送をメモリ制御部へ、指示し終えていると判断する(ステップS144のYES)。全てのフラッシュメモリにおいて、データブロックの転送が完了すると(ステップS147)、書き込み動作を終了する。
メモリカード300へデータを書き込む際のメモリカード300とPC100の間のコマンド及びデータの授受のタイミング及びメモリカード300内のフラッシュメモリ310〜313の動作タイミングについて、図10に示すタイムチャートを用いて説明する。ここで、並行書込数Nw=2であり、ライトコマンドを受け取った時点で、バッファメモリ309の4個記憶領域は、すべて空であると想定する。
メモリカード300は、PC100から、ライトコマンドA0を受け取る。ライトコマンドA0には、先頭セクタ番号「3」とセクタ数「4」とが含まれる。
レスポンス131を受け取ると、PC100は、メモリカード300へ、データブロックA1を出力する。
これと同時に、メモリカード300は、バッファメモリ309からフラッシュメモリ310へのデータブロックA2の転送を開始する。
PC100からメモリカード300へのデータブロックA2の出力が終了すると、メモリカード300は、再度、バッファメモリ309の空き容量を確認し、データブロックの書き込みが可能であることを示すレスポンス133をPC100へ出力する。
PC100からメモリカード300へのデータブロックA3の出力が終了する。メモリカード300は、再度、バッファメモリ309の空き容量を確認し、データブロックの書き込みが可能であることを示すレスポンス134をPC100へ出力する。
ここで、バッファメモリ309には、データブロックA1〜A4が記憶されており、新たなデータブロックを書き込むことはできない。最初に、転送を開始したフラッシュメモリ313において、データブロックA1の書き込みが終了した時点で、バッファメモリ309へ新たなデータブロックの書き込みが可能になり、メモリカード300は、書き込み可能であることを示すレスポンス135をPC100へ出力する。
1.5 まとめ及び効果
以上、説明してきたように、メモリカード300は、外部機器に接続されると、外部機器の許容電流値を取得し、メモリカード300の消費電流値が取得した許容電流値以下になるように、並行書込数Nwと並行読出数Nrとを算出する。
本発明の効果について、具体的な数値を用いて説明する。
書込消費電流値Iw=100mA、読出消費電流値Ir=50mA、メモリ数N=4及び制御電流値a=100mAであり、フラッシュメモリ310〜313の書き込み及び読み出し速度は、1個当たり4MB/sであると想定する。
Nw=INT{(350−100)/100}=2
Nr=INT{(350−100)/50}=5
を算出する。ここで、Nr>Nであるので、Nr=N=4とする。
また、このときのメモリカード300の書き込み速度は、2個のフラッシュメモリを並行して動作させることが可能であるため、8MB/sであり、並行して動作しない場合と比較して2倍の書き込み速度を実現できる。読み出し速度は、4個のフラッシュメモリを並行して動作させることが可能であるため、16MB/sであり、並行して動作しない場合と比較して4倍の読み出し速度を実現できる。
2.実施の形態2
本発明の実施の形態2のメモリカード600について、以下に説明する。
メモリカード600は、実施の形態1のメモリカード300と同様にPC100及びビデオカメラ200に装着される。PC100及びビデオカメラ200は、の構成及び動作は実施の形態1と同様であるので、ここでは説明を省略する。
2.1 メモリカード600
メモリカード600は、図11に示すように、外部IF部601、制御部602、フラッシュメモリ610、611、612及び613から構成される。
制御部602は、具体的にはマイクロプロセッサ、RAM、ROMから構成され、RAM及びROMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが前記コンピュータプログラムに従って動作することにより、制御部302は、その機能を達成する。
制御情報記憶部608は、ROMから構成され、図11に示すように、書込消費電流値Iw、最大読出消費電流値Irmax、メモリ数N、最大周波数fmax及び制御電流値aを記憶している。
書込消費電流値Iw、メモリ数N及び制御電流値aは実施の形態1と同様である。
最大読出消費電流値Irmaxは、1個のフラッシュメモリが、最大の読み出し速度で読み出しの動作をする場合、つまり、最大周波数fmaxで読み出しを実行する場合に、そのフラッシュメモリ及び対応するメモリ制御部が消費する電流値である。
クロック制御部605は、PLL(Phase Lock Loop)を備えている。所定の時間間隔でクロック信号を生成し、生成したクロック信号をメモリカード600を構成する各部へ出力する。通常、クロック制御部605が、メモリ制御部630〜633を介して、フラッシュメモリ610〜613へ供給するクロック信号のクロック周波数は、最大周波数fmaxである。このとき、メモリ制御部630〜633及びフラッシュメモリ610〜613の動作周波数もfmaxである。
周波数変更指示を受け取ると、PLLを用いて、メモリ制御部630〜633へ供給するクロック信号のクロック周波数を受け取った読出周波数frに変更する。
(3)並列制御部604
並列制御部604は、図12に示すように、コマンド実行部621、並列演算部622及びメモリ番号演算部623から構成される。
(3−1)並列演算部622
並列演算部622は、コマンド実行部621から最大消費電流値Imaxの算出を指示される。また、コマンド実行部621から許容電流値Iokを受け取り、並行書込数Nwと読出周波数frの算出を指示される。
Imax=Max(N×Iw,N×Irmax)+a −(式6)
を算出する。算出した最大消費電流値Imaxをコマンド実行部621へ出力する。
Nw=INT{(Iok−a)/Iw} −(式2)
fr=fmax×(Iok−a)/N/Irmax −(式7)
を算出する。このとき、Nw>Nであれば、Nw=Nとし、fr>fmaxであればfr=fmaxとする。
次に、算出した並行書込数Nwと読出周波数frとを記憶し、コマンド実行部621へ正常に演算が終了したことを示す演算終了信号を出力する。
(3−2)コマンド実行部621
コマンド実行部621は、メモリカード600が備えているフラッシュメモリの個数N=4を予め記憶している。
(初期設定)
コマンド解析部603を介して、最大消費電流値Imaxを要求されると、コマンド実行部621は、並列演算部622へ最大消費電流値Imaxの算出を指示する。並列演算部622から最大消費電流値Imaxを受け取り、受け取った最大消費電流値Imaxを外部IF部601を解して外部機器へ出力する。ここで外部機器とは、PC100又はビデオカメラ200である。
並列演算部622から正常に演算が終了したことを示す演算終了信号を受け取る。次に、外部IF部601を介して、外部機器へAck信号を出力する。
コマンド解析部603を介して、データの読み出しを指示するリードコマンドを受け取る。リードコマンドには、読み出しを開始するセクタの論理アドレスである先頭セクタ番号と読み出しを行うセクタ数とを含んでいる。リードコマンドを受け取ると、以下に説明する(a)読み出し制御と(b)データブロックの出力制御とを実行する。
コマンド実行部621は、リードコマンドに含まれる先頭セクタ番号「5」とセクタ数「4」とをメモリ番号演算部623へ出力し、メモリ番号の算出を指示する。次に、並列演算部622から読出周波数frを読み出し、クロック制御部605へ、読み出した読出周波数frと周波数変更指示とを出力する。
次に、いずれかのメモリ制御部から、読み出しが終了したことを示す終了信号を受け取る。このとき、リードコマンドに含んで受け取ったセクタ数に相当する個数のデータブロックの読み出しの指示を、メモリ制御部630〜633へ出力し終えていなければ、メモリテーブルから次のメモリ番号と、メモリアドレスを抽出し、抽出したメモリ番号と対応するメモリ制御部へリード指示を出力する。セクタ数に相当する個数のデータブロックのリード指示を、出力し終えるまで、メモリ番号とメモリアドレスの抽出、メモリ制御部へのリード指示の出力を繰り返す。
次に、リード指示を出力した全てのメモリ制御部から終了信号を受け取り、各フラッシュメモリからのデータの読み出しが終了したと判断する。フラッシュメモリからのデータの読み出しが終了したと判断すると、クロック制御部605へ変更終了指示を出力する。
リードコマンドを受け取ると、コマンド実行部621は、バッファメモリ609に記憶されているデータを確認し、1データブロックの出力が可能であるか否かを判断する。つまり、フラッシュメモリからバッファメモリ609へ1データブロック以上のデータが転送済みか否かを確認する。
出力可能であると判断すると、データブロックの出力が可能であることを示すレスポンスを、外部IF部601を介して、外部機器へ出力する。
続いて、バッファメモリ609へ1データブロックの出力を指示する。
2.2 メモリカード600及びPC100の動作
メモリカード600は、PC100及びビデオカメラ200に装着されるが、ここでは、PC100に装着された場合について説明する。
メモリカード600がPC100に装着されたときの初期設定の動作について、図13に示すフローチャートを用いて説明する。
PC100は、外部IF部101を介してメモリカード600の装着を検出し、コンフィグ処理を行う(ステップS201)。次に、メモリカード600へ最大消費電流値Imaxを要求する(ステップS202)。
メモリカード600は、PC100から、許容電流値Iokを受け取り、最大読出周波数fmaxを読み出す(ステップS212)。
Iok<Imaxであれば(ステップS213のNO)、式2により並行書込数Nwを算出する(ステップS217)。このとき、Nw>Nとなる場合は、Nw=Nとする。次に、式7により読出周波数frを算出する(ステップS218)。このとき、fr>fmaxとなる場合、fr=fmaxとする。
(2)メモリカード600からの読み出し動作
メモリカード600からデータを読み出す際の、メモリカード600及びPC100の動作について、図14に示すフローチャートを用いて説明する。
PC100は、利用者によるキー操作を受け付け(ステップS241)、メモリカード600からの読み出しを示すキー操作を受け付けると、先頭セクタ番号「5」及びセクタ数「4」を含むリードコマンドを生成し(ステップS243)、外部IF部101を介して生成したリードコマンドをメモリカード600へ出力する(ステップS244)。
メモリカード600は、PC100からリードコマンドを受け取り、受け取ったリードコマンドに含まれる先頭セクタ番号「5」とセクタ数「3」とを基に、読み出しを行うフラッシュメモリを示すメモリ番号「1」、「2」、「3」、「0」を算出し、メモリテーブルを生成する(ステップS249)。
メモリテーブル上のN(=4)個のメモリ情報からメモリ番号とメモリアドレスを抽出し、抽出したメモリ番号「1」、「2」、「3」及び「0」に対応するフラッシュメモリからバッファメモリ609へのデータブロックの転送を開始する(ステップS252)。
合計して4個のデータブロックの出力をメモリ制御部へ指示し終えていれば(ステップS254のYES)、全てのフラッシュメモリにおける読み出しの動作が終了した後(ステップS257)、クロック周波数を元に戻す(ステップS258)。
まず、バッファメモリ609に1個以上のデータブロックが存在するか否かを判断する(ステップS261)。存在しなければ(ステップS261のNO)、いずれかのフラッシュメモリからバッファメモリ609へ1個のデータブロックの転送が終了するまで待機する。
(3)読み出し時のタイムチャート
メモリカード600からデータを読み出す際のメモリカード600とPC100の間のコマンド及びデータの授受のタイミング及びメモリカード600内のフラッシュメモリ610〜613の読み出し動作のタイミングについて、図15に示すタイムチャートを用いて説明する。
メモリカード600は、PC100から、リードコマンドB0を受け取る。リードコマンドB0には、先頭セクタ番号「5」とセクタ数「4」とが含まれる。
データブロックB1の出力を終えた時点で、バッファメモリ609には、データブロックB2〜B4が存在する。従って、メモリカード600は、データブロックを出力可能であることを示すレスポンス142を出力し、データブロックB2を出力する。データブロックB2の出力が終了すると、同様にして、レスポンス143及びデータブロックB3の出力、レスポンス144及びデータブロックB4の出力を行う。
2.3 まとめ及び効果
以上、説明してきたように、本実施の形態2のメモリカード600は、外部機器から許容電流値Iokを取得し、メモリカード600の消費電流値が、取得した許容電流値Iok以下になる様に、並行書込数Nwと読出周波数frとを算出する。
リードコマンドを受け取ると、フラッシュメモリ610〜613へ供給するクロック信号のクロック周波数を算出した読出周波数frに変更し、4個のフラッシュメモリ310〜313を並行して動作させデータの読み出しを実行する。
書込消費電流値Iw=120mA、最大読出消費電流値Irmax=100mA、最大周波数100MHz、メモリ数N=4及び制御電流値a=100mAであり、フラッシュメモリ610〜613の読み出し速度は、1個当たり最大10MB/sであると想定する。
Imax=Max(4×120,4×100)+100=580mA
である。PC100の許容電流値Iok=400mAであるとすると、Iok<Imaxであるので、メモリカード600は、式7により読出周波数
fr=100×(400−100)/4/100=75 MHz
を算出する。
Irmax×(fr/fmax)×N+a
=100×(75/100)×4+100
=400mA
と算出することができる。従って、4個のフラッシュメモリ610〜613を動作周波数75MHzで、並行して動作させる場合の消費電流値を、PC100の許容電流値400mA以下に抑制することができた。
10×(75/100)×4=30MB/s
と算出することができる。従って、フラッシュメモリの動作周波数を75MHzに下げて、4個のフラッシュメモリ610〜613を平行して動作させることにより、並行動作をせずに、最大周波数で動作させる場合と比較して3倍の読み出し速度を実現することができる。
なお、フラッシュメモリは、高電圧を印加し、電荷を蓄積させることによりデータを記録する。そのため、書き込み時の消費電流は、電圧の印加時間に比例し、周波数の変更によって省電効果は期待できない。従って、本実施の形態において、読み出し時のみ周波数を変更する構成にしている。
3.実施の形態3
実施の形態1及び2において、本発明は、複数のフラッシュメモリを搭載したメモリカードであるとして説明してきたが、図16に示すようなメモリカードドライブ700でもある。
メモリカードドライブ700は、実施の形態1のメモリカード300と同様に、PC100又はビデオカメラ200の供給可能な電力の範囲内で、並行して動作させることができるメモリカードの個数を算出し、算出した個数のメモリカードを並行して動作させる。
3.1 メモリカード810、811、812及び813
メモリカード810、811、812及び813は、制御部、RAM、不揮発メモリを含んで構成される。メモリカードドライブ700による制御に従い、各種の情報を記憶し、また、記憶している情報を出力する。
3.2 メモリカードドライブ700
メモリカードドライブ700は、図17に示すように、外部IF部701、制御部702及びカードIF部710、711、712及び713から構成される。
制御部702は、具体的には、マイクロプロセッサ、RAM、ROMを含んで構成され、前記RAM及びROMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが前記コンピュータプログラムに従って動作することにより制御部702は、その機能を達成する。
(1)外部IF部701、カードIF部710、711、712及び713
外部IF部701は、実施の形態1のメモリカード300の外部IF部301と同様に外部機器と制御部702との間で各種の情報の送受信を行う。また、外部機器から供給される電力を受け取り、受け取った電力をメモリカードドライブ700を構成する各回路へ出力する。
(2)制御情報記憶部708
制御情報記憶部708は、図17に示すように、書込消費電流値Iw、読出消費電流値Ir、最大カード数Nmax、制御電流値aを記憶している。
制御電流値aは、メモリカード、カードIF部及びメモリ制御部以外の各回路が動作するために消費する電流の合計値である。
メモリ制御部730は、クロック制御部705から、クロック信号を受け取り、受け取ったクロック信号をカードIF部710を介してメモリカード810へ供給する。
メモリ制御部730は、カードIF部710を介してメモリカード810の着脱を検出する。
ライト指示とメモリアドレスを受け取ると、カードIF部710を介して、メモリカード810内の、受け取ったメモリアドレスと対応するセクタへ、バッファメモリ709から1個のデータブロックを転送する。転送が終了すると、1データブロックの書き込みが終了したことを示す終了信号を並列制御部704へ出力する。
メモリ制御部730と同様にして、メモリ制御部731〜733は、カードIF部711〜713を介してメモリカード811〜813へのデータの入出力を制御する。
並列制御部704は、図18に示すように、コマンド実行部721、並列演算部722及びメモリ番号演算部723を含む。
並列制御部704の構成及び動作は、実施の形態1の並列制御部304の構成及び動作と類似している。従って、以下の、並列制御部704に関する説明において、並列制御部304と共通する部分については、説明を割愛し、異なる部分についてのみ、詳細に説明する。
並列演算部の722は、メモリ数Nに代わって最大カード数Nmaxを用いて、実施の形態1の並列演算部322と同様の演算を行う。詳細な動作は並列演算部322と同様であるので説明を省略する。
(4−2)メモリ番号演算部723
メモリ番号演算部723の詳細な動作は、メモリ番号演算部323と同様であるので、ここでは、簡易に説明する。なお、本実施の形態において、メモリ番号「0」〜「4」は、それぞれ、メモリカード810〜813と対応している。
メモリ番号の算出を指示されると、メモリ番号演算部723は、メモリ数Nに変わって最大メモリ数Nmaxを用いて、式4及び式5の演算を行い、メモリ番号とセクタ番号とを算出する。算出したセクタ番号とメモリ番号と、メモリ番号と対応するメモリカード上のアドレスであるメモリアドレスとを含むメモリテーブルを生成する。
(4−3)コマンド実行部721
コマンド実行部721は、外部機器から出力されコマンド解析部703により解析された各種のコマンドを受け取る。
受け取ったコマンドがデータの書き込みを指示するライトコマンドであれば、実施の形態1のコマンド実行部321による<書き込み処理>と同様の手順で、外部機器からデータブロックを受け取り、各メモリ制御部へ書き込みを指示することにより、並行書込数Nw個のメモリカードに並行して書き込みを行う。
3.3 まとめ及び効果
以上説明してきたように、本実施の形態のメモリカードドライブ700は、接続される外部機器の許容電流値を取得し、取得した許容電流値の範囲内で並行して動作させることができるメモリカードの数を、読み出し時及び書き込み時についてそれぞれ算出する。
このようにすることで、実施の形態1のメモリカード300と同様に、接続される外部機器により供給可能な電流の範囲内で、可能な限り高速に読み出し及び書き込みを実行することができる。
3.4 実施の形態3の変形例
(1)実施の形態3のメモリカードドライブ700は、実施の形態1において説明したメモリカード300と同様に、外部機器の許容電流値Iokの範囲内で並行して動作可能なメモリカード数Nw及びNrを算出し、並行して動作させるメモリカードの数をNw又はNr以下に制限することで、メモリカードドライブの消費電流値が、許容電流値Iok以下になる様に制御している。
(2)実施の形態3において、動作していないメモリカードへのクロック信号の供給を停止するとしても良い。
この場合、メモリ制御部730は、通常、クロック制御部705から受け取ったクロック信号を、メモリカード810へ供給していない。
メモリ制御部731〜733についても、メモリカード811〜812に対して同様の制御を行う。
このようにして、メモリカードドライブ700は、動作中のメモリカードにのみクロック信号を供給し、動作していないメモリカードには、クロック信号の供給を停止する。
(3)上記の実施の形態において、メモリカードドライブ700には、4枚のメモリカードが装着されて使用されるとして説明したが、4枚未満でもよい。
例えば、メモリカード811が装着されていない場合には、メモリカード810とカード番号「0」、メモリカード812とカード番号「1」、メモリカード813とカード番号「3」とを対応付ける。
メモリ番号演算部723は、Nmaxに代わって、nを用いてメモリテーブルを生成する。
このようにすることで、装着されるメモリカードの枚数に応じて、データの入出力の高速化を図ることができる。利用者においては、装着するメモリカードの枚数を自由に選択することができ、利便性が向上する。
4.その他の変形例
以上、本発明の実施の形態1〜3について説明してきたが、本発明はこれらに限定されるものではなく、以下に説明する変形例も含む。
(2)実施の形態3及び変形例において、メモリカードドライブ700に装着されるメモリカードは、一例として、SDメモリカード、ATAフラッシュカードなどである。
例えば、SDメモリカードの書込消費電流値Iwsと読出消費電流値Irs及びATAフラッシュカードの書込消費電流値Iwaと読出消費電流値Iraとを記憶しており、装着されたメモリカードの種類を判別し、書込消費電流値Iwsと読出消費電流値Irs、又は、書込消費電流値Iwaと読出消費電流値Iraのうち何れか一方を選択して用いるとしても良い。
(5)上記の実施の形態2において、クロック制御部605はPLLを用いて、周波数を変更しているが、PLLに代わって周波数分周器を用いても良い。
(6)上記の実施の形態1及び2では、それぞれ、並行動作するフラッシュメモリの個数、フラッシュメモリの動作周波数を変更することで、メモリカード300又は600の消費電流を調整しているが、これらを組み合わせて、並行動作するフラッシュメモリの個数及びフラッシュメモリの動作周波数の両方を変更するとしてもよい。
(8)また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
(9)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
200 ビデオカメラ
300 メモリカード
301 外部IF部
302 制御部
303 コマンド解析部
304 並列制御部
305 クロック制御部
308 制御情報記憶部
309 バッファメモリ
310〜313 フラッシュメモリ
321 コマンド実行部
600 メモリカード
700 メモリカードドライブ
Claims (20)
- 記録装置であって、
1以上の半導体メモリと、
アクセス装置から当該記録装置へ供給される電流の上限値を取得する取得手段と、
前記アクセス装置から、前記半導体メモリへの書き込みを指示するライトコマンド及び前記半導体メモリからの読み出しを指示するリードコマンドを含むコマンドのうちの少なくとも何れかを取得するコマンド取得手段と、
前記アクセス装置から電流の供給を受け、制御信号に従って、前記半導体メモリにアクセスするアクセス手段と、
取得した前記上限値から、前記半導体メモリ及びアクセス手段以外の各部により消費される電流値を差し引いたアクセス上限値を算出し、算出したアクセス上限値を用いて、取得された前記コマンドの種類に応じて、前記アクセス手段及び前記半導体メモリの動作条件を設定し、
取得された前記コマンドと設定された前記動作条件とに基づいて、前記制御信号を生成し、生成した制御信号を出力する制御手段と
を備えることを特徴とする記録装置。 - 前記制御手段は、予め、前記アクセス手段及び各半導体メモリの消費する消費電流値を、前記コマンドの種類ごとに記憶しており、前記アクセス上限値と前記消費電流値とを用いて、前記コマンドの種類と対応する動作条件を設定する
ことを特徴とする請求項1に記載の記録装置。 - 前記制御手段は、当該記録装置の備えている半導体メモリの総数以下の並列個数の前記半導体メモリを、並行して動作させる前記動作条件を設定し、
前記コマンドと前記動作条件とに基づいて、前記並列個数の前記半導体メモリへのアクセスを指示する制御信号を、前記アクセス手段へ出力し、
前記アクセス手段は、前記並列個数の前記半導体メモリへアクセスする
ことを特徴とする請求項2に記載の記録装置。 - 前記消費電流値は、1個の前記半導体メモリを動作させる際に、前記アクセス手段及び前記半導体メモリの消費する電流値であり、
前記制御手段は、前記アクセス上限値を前記消費電流値で除算して得られた商を前記並列個数として算出する
ことを特徴とする請求項3に記載の記録装置。 - 前記アクセス手段は、前記半導体メモリと同数のアクセス部を含んで構成され、各アクセス部は、各半導体メモリと対応しており、
前記制御手段は、前記並列個数と同数のアクセス信号を含んで構成される前記制御信号を生成し、
各アクセス信号は、それぞれ異なるアクセス部と、対応する半導体メモリへのアクセスを指示するものであり、
前記制御手段は、生成した各アクセス信号を、対応するアクセス部へ出力し、
前記アクセス信号を受け取ったアクセス部は、受け取ったアクセス信号に従って、対応する半導体メモリへアクセスする
ことを特徴とする請求項4に記載の記録装置。 - 前記制御手段は、前記半導体メモリの最大動作周波数以下のメモリ周波数で前記半導体メモリを動作させる前記動作条件を設定し、
前記コマンドと前記動作条件に基づいて、前記メモリ周波数と同一の周波数のクロック信号を生成し、生成したクロック信号を含む前記制御信号を、前記アクセス手段へ出力し、
前記アクセス手段は、前記制御手段から受け取ったクロック信号を、前記半導体メモリへ出力し、前記半導体メモリへアクセスする
ことを特徴とする請求項2に記載の記録装置。 - 前記制御手段は、各半導体メモリが前記最大周波数で動作した場合の、前記アクセス手段及び当該半導体メモリの消費する最大電流値を前記消費電流値として記憶しており、前記最大周波数と前記最大電流値の比率と前記アクセス上限値とを用いて、前記メモリ周波数を算出する
ことを特徴とする請求項6に記載の記録装置。 - 前記制御手段は、前記最大電流値に加えて前記最大動作周波数を予め記憶している
ことを特徴とする請求項7に記載の記録装置。 - 前記制御手段は、読み出しを指示する前記リードコマンドに対応する前記消費電流値を記憶しており、読み出しを指示する前記リードコマンドに対応して、前記メモリ周波数で前記半導体メモリを動作させる前記動作条件を設定する
ことを特徴とする請求項6に記載の記録装置。 - 前記制御手段は、分周器を備え、分周器を用いて、前記メモリ周波数と同一の周波数のクロック信号を生成し、生成したクロック信号を含む制御信号を出力する
ことを特徴とする請求項6に記載の記録装置。 - 前記制御手段は、PLL(Phase Lock Loop)を備えており、前記PLLを用いて、前記メモリ周波数と同一の周波数のクロック信号を生成し、生成したクロック信号を含む制御信号を出力する
ことを特徴とする請求項6に記載の記録装置。 - 前記制御手段は、当該記録装置の備えている半導体メモリの総数以下の並列個数の前記半導体メモリを、並行して動作させる第1の動作条件及び前記半導体メモリの最大動作周波数以下の動作周波数で前記半導体メモリを動作させる第2の動作条件を前記動作条件として設定し、
前記コマンド取得手段により取得されるコマンドの種類に基づいて、前記第1及び第2の動作条件のうち少なくとも一方を採用し、採用した前記動作条件に基づく前記制御信号を生成する
ことを特徴とする請求項2に記載の記録装置。 - 前記半導体メモリは、フラッシュメモリである
ことを特徴とする請求項2に記載の記録装置。 - 前記半導体メモリは、不揮発性磁気メモリである
ことを特徴とする請求項2に記載の記録装置。 - 前記取得手段は、前記上限値をATA(AT Attachiment)規格に準拠するSet Featuresコマンドにより取得する
ことを特徴とする請求項1に記載の記録装置。 - 前記半導体メモリは可搬型であり、当該記録装置に着脱可能であり、
前記取得手段と前記読書手段と前記制御手段とは、前記記録媒体に情報の読出及び書き込みを行うメモリカードドライブデバイスを構成する
ことを特徴とする請求項1に記載の記録装置。 - 前記制御手段は、クロック信号を含む前記制御信号を出力し、
前記アクセス手段は、アクセスする半導体メモリにのみ前記クロック信号を供給し、アクセスをしていない半導体メモリへの前記クロック信号の供給を停止する
ことを特徴とする請求項15に記載の記録装置。 - 1以上の半導体メモリを備える記録装置において用いられるアクセス方法であって、
アクセス装置から当該記録装置へ供給される電流の上限値を取得する取得ステップと、
前記アクセス装置から、前記半導体メモリへの書き込みを指示するライトコマンド及び前記半導体メモリからの読み出しを指示するリードコマンドを含むコマンドのうちの少なくとも何れかを取得するコマンド取得ステップと、
前記アクセス装置から電流の供給を受け、制御信号に従って、前記半導体メモリにアクセスするアクセスステップと、
取得した前記上限値から、前記半導体メモリ及びアクセス手段以外の各部により消費される電流値を差し引いたアクセス上限値を算出し、算出したアクセス上限値を用いて、取得された前記コマンドの種類に応じて、前記アクセス手段及び前記半導体メモリの動作条件を設定し、
取得された前記コマンドと設定された前記動作条件とに基づいて、前記制御信号を生成し、生成した制御信号を出力する制御ステップと
を備えることを特徴とするアクセス方法。 - 1以上の半導体メモリを備える記録装置において用いられるアクセスプログラムであって、
アクセス装置から当該記録装置へ供給される電流の上限値を取得する取得ステップと、
前記アクセス装置から、前記半導体メモリへの書き込みを指示するライトコマンド及び前記半導体メモリからの読み出しを指示するリードコマンドを含むコマンドのうちの少なくとも何れかを取得するコマンド取得ステップと、
前記アクセス装置から電流の供給を受け、制御信号に従って、前記半導体メモリにアクセスするアクセスステップと、
取得した前記上限値から、前記半導体メモリ及びアクセス手段以外の各部により消費される電流値を差し引いたアクセス上限値を算出し、算出したアクセス上限値を用いて、取得された前記コマンドの種類に応じて、前記アクセス手段及び前記半導体メモリの動作条件を設定し、
取得された前記コマンドと設定された前記動作条件とに基づいて、前記制御信号を生成し、生成した制御信号を出力する制御ステップと
を備えることを特徴とするアクセスプログラム。 - 前記アクセスプログラムは、
コンピュータ読み取り可能な記録媒体に記録されている
ことを特徴とする請求項19に記載のアクセスプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003399056 | 2003-11-28 | ||
JP2003399056 | 2003-11-28 | ||
PCT/JP2004/017268 WO2005057475A1 (ja) | 2003-11-28 | 2004-11-19 | 記録装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2005057475A1 JPWO2005057475A1 (ja) | 2009-05-07 |
JP4264087B2 true JP4264087B2 (ja) | 2009-05-13 |
Family
ID=34674828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005516077A Active JP4264087B2 (ja) | 2003-11-28 | 2004-11-19 | 記録装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7512816B2 (ja) |
EP (1) | EP1688866A4 (ja) |
JP (1) | JP4264087B2 (ja) |
CN (1) | CN1886749B (ja) |
WO (1) | WO2005057475A1 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006038663A1 (en) * | 2004-10-01 | 2006-04-13 | Matsushita Electric Industrial Co., Ltd. | Memory card controller, memory card drive device, and computer program |
US7793059B2 (en) * | 2006-01-18 | 2010-09-07 | Apple Inc. | Interleaving policies for flash memory |
JP4783646B2 (ja) * | 2006-02-08 | 2011-09-28 | 富士通東芝モバイルコミュニケーションズ株式会社 | 携帯型電子機器 |
US7512029B2 (en) | 2006-06-09 | 2009-03-31 | Micron Technology, Inc. | Method and apparatus for managing behavior of memory devices |
GB0614515D0 (en) * | 2006-07-21 | 2006-08-30 | Ibm | An apparatus for managing power-consumption |
JP2008060653A (ja) * | 2006-08-29 | 2008-03-13 | Matsushita Electric Ind Co Ltd | 制御装置 |
JP5031304B2 (ja) * | 2006-09-11 | 2012-09-19 | キヤノン株式会社 | 情報処理装置 |
JP2008112285A (ja) * | 2006-10-30 | 2008-05-15 | Toshiba Corp | 不揮発性メモリシステム |
US8200992B2 (en) * | 2007-09-24 | 2012-06-12 | Cognitive Electronics, Inc. | Parallel processing computer systems with reduced power consumption and methods for providing the same |
US7830719B2 (en) * | 2008-02-21 | 2010-11-09 | Infineon Technologies Ag | Power dependent memory access |
US7961544B2 (en) | 2008-08-05 | 2011-06-14 | Sandisk Il Ltd. | Storage system and method for managing a plurality of storage devices |
JP5489434B2 (ja) * | 2008-08-25 | 2014-05-14 | 株式会社日立製作所 | フラッシュメモリ搭載ストレージ装置 |
US8281062B2 (en) * | 2008-08-27 | 2012-10-02 | Sandisk Il Ltd. | Portable storage device supporting file segmentation and multiple transfer rates |
US8904085B2 (en) * | 2010-01-14 | 2014-12-02 | Lenovo (Singapore) Pte. Ltd. | Solid-state memory management |
US8826051B2 (en) | 2010-07-26 | 2014-09-02 | Apple Inc. | Dynamic allocation of power budget to a system having non-volatile memory and a processor |
US8522055B2 (en) | 2010-07-26 | 2013-08-27 | Apple Inc. | Peak power validation methods and systems for non-volatile memory |
US8555095B2 (en) | 2010-07-26 | 2013-10-08 | Apple Inc. | Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption |
US20120221767A1 (en) | 2011-02-28 | 2012-08-30 | Apple Inc. | Efficient buffering for a system having non-volatile memory |
US8645723B2 (en) | 2011-05-11 | 2014-02-04 | Apple Inc. | Asynchronous management of access requests to control power consumption |
US9141131B2 (en) | 2011-08-26 | 2015-09-22 | Cognitive Electronics, Inc. | Methods and systems for performing exponentiation in a parallel processing environment |
TWI488186B (zh) * | 2011-11-18 | 2015-06-11 | Silicon Motion Inc | 快閃記憶體控制器以及產生快閃記憶體之驅動電流之方法 |
US9063754B2 (en) | 2013-03-15 | 2015-06-23 | Cognitive Electronics, Inc. | Profiling and optimization of program code/application |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5455919A (en) * | 1992-11-03 | 1995-10-03 | International Business Machines Corporation | Installation and use of plural expanded memory managers |
US5423046A (en) * | 1992-12-17 | 1995-06-06 | International Business Machines Corporation | High capacity data storage system using disk array |
JPH06266596A (ja) * | 1993-03-11 | 1994-09-22 | Hitachi Ltd | フラッシュメモリファイル記憶装置および情報処理装置 |
DE19624079C1 (de) * | 1996-06-17 | 1998-01-29 | Bosch Gmbh Robert | Kartenleser für Chipkarten |
JP3643488B2 (ja) * | 1998-10-30 | 2005-04-27 | 株式会社日立製作所 | Icカード |
JP2000207137A (ja) | 1999-01-12 | 2000-07-28 | Kowa Co | 情報記憶装置 |
JP2001297316A (ja) | 2000-04-14 | 2001-10-26 | Mitsubishi Electric Corp | メモリカード及びその制御方法 |
US6824045B2 (en) * | 2000-04-20 | 2004-11-30 | Canon Kabushiki Kaisha | Method and system for using multiple smartcards in a reader |
JP4676600B2 (ja) * | 2000-10-02 | 2011-04-27 | 大日本印刷株式会社 | Icカード、リーダライタ、icカードシステム及びicカードの動作条件設定方法 |
JP2002189992A (ja) | 2000-12-20 | 2002-07-05 | Sony Corp | メモリカードドライブと携帯型メモリカードドライブ |
JP4841069B2 (ja) * | 2001-07-24 | 2011-12-21 | パナソニック株式会社 | 記憶装置 |
JP4841070B2 (ja) | 2001-07-24 | 2011-12-21 | パナソニック株式会社 | 記憶装置 |
US20040230789A1 (en) * | 2003-05-16 | 2004-11-18 | Pu-Yun Lee | Multi memory card accessing system and implementation method thereof |
US7014121B2 (en) * | 2004-07-12 | 2006-03-21 | Alcor Micro, Corp. | Method of self-detecting and dynamically displaying detected results for a card reader used to read flash memory cards |
-
2004
- 2004-11-19 US US10/580,199 patent/US7512816B2/en active Active
- 2004-11-19 WO PCT/JP2004/017268 patent/WO2005057475A1/ja not_active Application Discontinuation
- 2004-11-19 CN CN2004800352467A patent/CN1886749B/zh active Active
- 2004-11-19 JP JP2005516077A patent/JP4264087B2/ja active Active
- 2004-11-19 EP EP04820111A patent/EP1688866A4/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US7512816B2 (en) | 2009-03-31 |
JPWO2005057475A1 (ja) | 2009-05-07 |
EP1688866A1 (en) | 2006-08-09 |
WO2005057475A1 (ja) | 2005-06-23 |
EP1688866A4 (en) | 2009-03-25 |
CN1886749A (zh) | 2006-12-27 |
CN1886749B (zh) | 2012-06-13 |
US20070055821A1 (en) | 2007-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4264087B2 (ja) | 記録装置 | |
CN100557577C (zh) | 数据存储设备、数据存储方法以及记录/再现系统 | |
EP0971358A2 (en) | Data processing apparatus and file management method therefor | |
EP1517229B1 (en) | Information processing device, information processing method, and information processing program | |
JP2010273327A (ja) | 記録装置 | |
EP1727143A1 (en) | Information processing device and method, program recording medium, and program | |
US8279726B2 (en) | Recording device for recording a content into a plurality of recording media and control method thereof | |
JP2011159240A (ja) | 記録装置及びその制御方法 | |
US20050259542A1 (en) | Reproduction device and method, recording medium, and program | |
JP4709103B2 (ja) | 画像再生装置、その制御方法及びプログラム | |
CN1536500A (zh) | 使用外部存储装置的媒体处理设备 | |
JP2004227676A (ja) | 記録装置および記録制御方法、ならびに、記録再生装置 | |
JP2007059004A (ja) | 情報処理装置および方法、プログラム並びに記録媒体 | |
JP2010015251A (ja) | 記録装置 | |
JP2009140233A (ja) | 映像記録装置および監視システム | |
JP2000149427A (ja) | 記録装置および方法、再生装置および方法、記録再生装置および方法、並びに提供媒体 | |
JP2004171670A (ja) | 記録再生装置及び記録再生方法 | |
JP2007094741A (ja) | データ記録装置、接続装置、情報処理装置及び情報処理方法、並びに情報処理システム | |
JP2007226909A (ja) | 光ディスク記録装置及び光ディスク記録方法 | |
JP3968469B2 (ja) | 記録再生装置およびデータ記録方法 | |
JP2009259060A (ja) | ストリームデータ記録再生装置 | |
JP2006128822A (ja) | 情報保存装置 | |
JP2007096789A (ja) | 情報記録装置および充電器兼情報保存装置およびメディア一体型電池 | |
JP2002222062A (ja) | ディスク装置並びに情報処理システム | |
JP2005044285A (ja) | 電子機器端末 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20090120 |
|
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: 20090213 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4264087 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140220 Year of fee payment: 5 |