JP4264087B2 - 記録装置 - Google Patents

記録装置 Download PDF

Info

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
Application number
JP2005516077A
Other languages
English (en)
Other versions
JPWO2005057475A1 (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2005057475A1 publication Critical patent/JPWO2005057475A1/ja
Application granted granted Critical
Publication of JP4264087B2 publication Critical patent/JP4264087B2/ja
Active 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • 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/0625Power saving in storage systems
    • 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/0629Configuration or reconfiguration of storage systems
    • 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]
    • 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
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • H04N5/772Interface 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
    • 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
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation 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/8042Transformation 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation 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/8042Transformation 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/8047Transformation 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

本発明は、アクセス装置の指示により、半導体メモリへアクセスする技術に関し、特に、アクセス装置の供給可能な電流量を加味してアクセスする技術に関する。
SDカードを初めとして、フラッシュメモリを搭載したメモリカードは、小型、軽量、薄型であり、その取り扱いも容易であるため、デジタルスチルカメラなどのデジタル機器に広く利用されている。一般に市販されているメモリカードの記憶容量は、16MB〜512MBであり、記録レートは最大で10MB/s程度である。
しかし、DVフォーマットの動画像及び音声のデータのように、大きな記録容量を必要とするデータを記録する場合には、記憶容量も記録レートも不充分である。例えば、4MB/sの再生レートのデータであれば、2分相当のデータしか記録できないし、書き込みには約1分を要することになる。
これらの問題を解決するために、特許文献1及び2では、複数のメモリカードを装着可能なメモリカードドライブについて開示されている。これらの技術によると、メモリカードドライブに複数のメモリカードを用いることで、大きな記録容量を確保している。また、RAID方式の1つとして知られているストライピング方式を利用して複数のメモリカードに並行して書き込みを行うことで、記録レートの向上を計っている。
このようなメモリカードドライブをパーソナルコンピュータ(以下PC)をはじめとする電気機器に接続して使用する場合、電気機器からメモリカードドライブへ供給可能な電流値は、機器によって異なる。PCを例にすると、メモリカードドライブへ供給可能な電流値は、PCカード規格で1Aとされているが、放熱性の問題などにより、実際には、PCの種類によってばらつきがある。
メモリカードドライブを用いて複数のメモリカードを並行して動作させる場合、メモリカードドライブの消費電流は、動作させるメモリカードの枚数に比例して増加する。例えば、消費電流を200mAのメモリカードを4個動作させる場合、消費電流は800mA必要となる。従って、このメモリカードドライブを使用可能なPCは、メモリカードドライブへ800mA以上の電流を供給できるものに限定されることになる。

特開2002-189992号公報 特開2000-207137号公報
しかしながら、供給できる電流量によって、接続可能な電気機器が限定されることは利用者にとって不便であり、接続される電気機器の供給可能な電流量に関わらず、使用可能なメモリカードドライブの要求があった。
そこで本発明は、かかる問題点に鑑みてなされたものであり、接続される電気機器の供給可能な電流量に応じて、動作条件を変更し、消費電流を前記電気機器の供給可能な電流量以下に抑制することができる記録装置、メモリカードドライブデバイスを提供することを目的とする。
上記目的を達成するために本発明は、1以上の半導体メモリと、アクセス装置から当該記録装置へ供給される電流の上限値を取得する取得手段と、前記アクセス装置から、前記半導体メモリへの書き込みを指示するライトコマンド及び前記半導体メモリからの読み出しを指示するリードコマンドを含むコマンドのうちの少なくとも何れかを取得するコマンド取得手段と、前記アクセス装置から電流の供給を受け、制御信号に従って、前記半導体メモリにアクセスするアクセス手段と、取得した前記上限値から、前記半導体メモリ及びアクセス手段以外の各部により消費される電流値を差し引いたアクセス上限値を算出し、算出したアクセス上限値を用いて、取得された前記コマンドの種類に応じて、前記アクセス手段及び前記半導体メモリの動作条件を設定し、取得された前記コマンドと設定された前記動作条件とに基づいて、前記制御信号を生成し、生成した制御信号を出力する制御手段とを備えることを特徴とする記録装置である。
ここで、後述する実施の形態において、制御手段とは、並列制御部、制御情報記憶部及びクロック制御部に相当する。また、制御信号とは、書き込み指示、読み出し指示及びクロック信号に相当する。
この構成によって、本発明の記録装置は、前記アクセス装置から取得する上限値から算出したアクセス上限値に基づいて動作条件を設定する。従って、適切な動作条件を設定することによって、前記アクセス装置から供給可能な電流の範囲内で、半導体メモリにアクセスを行うことができる。
前記記録装置において、前記制御手段は、予め、前記アクセス手段及び各半導体メモリの消費する消費電流値を前記コマンドの種類ごとに記憶しており、前記アクセス上限値と前記消費電流値とを用いて、前記コマンドの種類と対応する動作条件を設定することを特徴とする。
この構成によると、前記制御手段は、コマンドと対応する動作条件を設定する。つまり、前記制御手段は、前記アクセス装置から出力されるコマンドによって、半導体メモリ及びアクセス手段の消費する電力が異なる場合、コマンド毎に最適な動作条件を設定することができる。従って、前記アクセス手段は、コマンド毎に最適の動作条件で、前記半導体メモリへアクセスすることができる。
前記記録装置において、前記制御手段は、当該記録装置の備えている半導体メモリの総数以下の並列個数の前記半導体メモリを、並行して動作させる前記動作条件を設定し、前記コマンドと前記動作条件とに基づいて、前記並列個数の前記半導体メモリへのアクセスを指示する制御信号を、前記アクセス手段へ出力し、前記アクセス手段は、前記並列個数の前記半導体メモリへアクセスすることを特徴とする。
この構成によると、前記制御手段は、当該記録装置の備えている半導体メモリの総数以下の並列個数の前記半導体メモリが、並行して動作するような前記動作条件を設定する。つまり、並行して動作する前記半導体メモリの個数を制限する。前記記録装置の消費する電流値は、並行して動作する半導体メモリの個数に対応している。従って、並行して動作する半導体メモリの個数を制限することにより、前記記録装置の消費する電流値を、確実に制限することができる。
前記消費電流値は、1個の前記半導体メモリを動作させる際に、前記アクセス手段及び前記半導体メモリの消費する電流値であり、前記記録装置を構成する前記制御手段は、前記アクセス上限値を前記消費電流値で除算して得られた商を前記並列個数として算出することを特徴とする。
この構成によると、前記制御手段は、前記アクセス上限値を前記消費電流値で除算することで、簡単に前記並列個数を算出することができる。
前記記録装置において、前記アクセス手段は、前記半導体メモリと同数のアクセス部を含んで構成され、各アクセス部は、各半導体メモリと対応しており、前記制御手段は、前記並列個数と同数のアクセス信号を含んで構成される前記制御信号を生成し、各アクセス信号は、それぞれ異なるアクセス部に、対応する半導体メモリへのアクセスを指示するものであり、前記制御手段は、生成した各アクセス信号を、対応するアクセス部へ出力し、前記アクセス信号を受け取ったアクセス部は、受け取ったアクセス信号に従って、対応する半導体メモリへアクセスすることを特徴とする。
この構成によると、前記制御手段は、各アクセス信号を、それぞれ異なるアクセス部へ出力し、アクセス信号を受け取ったアクセス部は、対応する半導体メモリへアクセスするため、各アクセス手段へ順番にアクセス指示を出力することにより、当該記録装置の備える半導体メモリに順番にデータを書き込み、各半導体メモリ記憶しているデータの量をある程度均一にすることができる。このようにすることで、並行動作できる半導体メモリの個数が減少することを防ぐことができる。従って、当該記録装置のアクセス速度の低下を防ぐことができる。
また、本発明の記録装置において、前記制御手段は、前記半導体メモリの最大動作周波数以下のメモリ周波数で前記半導体メモリを動作させる前記動作条件を設定し、前記動作条件を設定し、前記コマンドと前記動作条件に基づいて、前記メモリ周波数と同一の周波数のクロック信号を生成し、生成したクロック信号を含む前記制御信号を、前記アクセス手段へ出力し、前記アクセス手段は、前記制御手段から受け取ったクロック信号を、前記半導体メモリへ出力し、前記半導体メモリへアクセスすることを特徴とする。
この構成によると、前記アクセス手段は、前記半導体メモリの最大動作周波数以下のメモリ周波数と同一の周波数のクロック信号を、前記半導体メモリへ出力し、前記半導体メモリへアクセスする。前記半導体メモリは、前記アクセス手段から受け取ったクロック信号に合わせて動作するため、クロック信号の周波数を小さくすると、前記半導体メモリの動作周波数も小さくすることができる。前記半導体メモリの動作周波数と、前記半導体メモリ及び前記アクセス手段の消費電流値は比例する。従って、前記アクセス上限値に基づいて前記メモリ周波数を設定し、前記半導体メモリの動作周波数を前記メモリ周波数に変更することで、前記記録装置の消費電流を前記上限値以下に抑制することができる。
本発明において、前記制御手段は、各半導体メモリが前記最大周波数で動作した場合の、前記アクセス手段及び当該半導体メモリの消費する最大電流値を前記消費電流値として記憶しており、前記最大周波数と前記最大電流値の比率と前記アクセス上限値とを用いて、前記メモリ周波数を算出することを特徴とする。
この構成によると、前記制御手段は、前記最大周波数と前記最大電流値の比率と前記アクセス上限値とを用いて、容易に前記動作周波数を算出することができる。
前記記録装置を構成する前記制御手段は、前記最大電流値に加えて前記最大動作周波数を予め記憶していることを特徴とする。
この構成によると、前記制御手段は、前記最大電流値に加えて前記最大動作周波数を予め記憶しているため、迅速に前記動作周波数を算出することができる。
また、前記制御手段は、読み出しを指示する前記リードコマンドに対応する前記消費電流値を記憶しており、読み出しを指示する前記リードコマンドに対応して、前記メモリ周波数で前記半導体メモリを動作させる前記動作条件を設定する。
この構成では、前記制御手段は、読み出しを指示する前記コマンドに対応して、前記メモリ周波数で前記半導体メモリが動作するような前記動作条件を設定し、前記半導体メモリは、前記メモリ周波数と同一の動作周波数で読み出しの動作を行う。半導体メモリにデータを書き込む際には、一定量の電子注入が必要であり、周波数と消費電流値に相関関係はないため、動作周波数を変更しても、消費電流値の削減にはつながらない。従って、前記アクセス装置から、読み出しを指示するコマンドを受け取った場合に、前記メモリ周波数で、読み出し動作を行うことで、当該記憶装置の消費電流値を減少させることができる。
前記記録装置の前記制御手段は、分周器を備え、分周器を用いて、前記メモリ周波数と同一の周波数のクロック信号を生成し、生成したクロック信号を含む制御信号を出力することを特徴とする。
この構成では、前記制御手段は、分周器を用いて、容易にクロック信号の周波数を変更することができる。
また、前記制御手段は、PLL(Phase Lock Loop)を備えており、前記PLLを用いて、前記メモリ周波数と同一の周波数のクロック信号を生成し、生成したクロック信号を含む制御信号を出力することを特徴とする構成であってもよい。
この構成によると、前記制御手段は、PLLを用いて、クロック信号の周波数を、連続的に変更することができる。従って、前記アクセス上限値と前記コマンド取得手段が取得したコマンドに応じた最適な周波数のクロック信号を生成し、出力することができる。
本発明の記録装置において、前記制御手段は、当該記録装置の備えている半導体メモリの総数以下の並列個数の前記半導体メモリを、並行して動作させる第1の動作条件及び前記半導体メモリの最大動作周波数以下の動作周波数で前記半導体メモリを動作させる第2の動作条件を前記動作条件として設定し、前記コマンド取得手段により取得されるコマンドの種類に基づいて、前記第1及び第2の動作条件のうち少なくとも一方を採用し、採用した前記動作条件に基づく前記制御信号を生成することを特徴とする。
この構成によると、前記第1及び第2の動作条件のうち少なくとも一方を採用し、採用した前記動作条件に基づく制御信号を出力する。これにより、前記制御手段は、前記並行動作数、半導体メモリの動作周波数のうち、何れか一方、又は両方を変更することで、前記アクセス上限値以下の電流の範囲内で最適の動作条件を設定することができる。従って、前記アクセス手段は、前記アクセス上限値以下の電流を最大限に活用し、高速に前記半導体メモリにアクセスすることができる。
本発明の記録装置を構成する前記半導体メモリは、フラッシュメモリであることを特徴とする。
フラッシュメモリは、現在、広く普及しており、既に数多くの生産実績がある。従って、この構成の前記記録装置は、容易に生産可能である。
本発明の記録装置を構成する前記半導体メモリは、不揮発性磁気メモリであってもよい。
不揮発性磁気メモリは、高速にデータを入出力することができる。また、電荷ではなく、電子スピンによってデータを保持するため、半永久的な記録保持時間を実現できる。従って、この構成によると、前記記録装置は、記録保持性能に優れ、より高速にデータにアクセスを行うことができる。
本発明において、前記取得手段は、前記上限値をATA(AT Attachiment)規格に準拠するSet Featuresコマンドにより取得することを特徴とする。
この構成によると、本発明の記録装置は、ATA規格に準拠した各種の電気機器において、使用することができる。
本発明の記録装置を構成する半導体メモリは可搬型であり、当該記録装置に着脱可能であり、前記取得手段と前記読書手段と前記制御手段とは、前記記録媒体に情報の読出及び書き込みを行うメモリカードドライブデバイスを構成することを特徴とする。
この構成によると、前記記録装置は、可搬型半導体メモリとメモリカードドライブデバイスからなる。従って、既に市販のメモリカードを前記可半型半導体メモリとして利用することにより、前記メモリカードドライブデバイスは、既存のメモリカードを利用して高速にデータの入出力を行うことが可能になる。
前記制御手段は、クロック信号を含む前記制御信号を出力し、前記アクセス手段は、アクセスする半導体メモリにのみ前記クロック信号を供給し、アクセスをしていない半導体メモリへの前記クロック信号の供給を停止することを特徴とする記録装置である。
この構成によると、前記アクセス手段は、アクセスをしていない半導体メモリへの前記クロック信号の供給を停止する。前記可搬型の半導体メモリとして、既存のメモリカードを使用する場合、これらのメモリカードは、一般に、制御部、記憶部を含んで構成される。メモリカードの制御部は、データへのアクセス要求を受けない場合であっても、クロック信号を受け取ると、所定の動作を行い電力を消費する。従って、前記アクセス手段が、アクセスしていないメモリカードへクロック信号の供給を停止することにより、これらのメモリカードの制御部により消費される電力を抑制することができる。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
1.実施の形態1
実施の形態1のメモリカード300は、図1に示すようにPC100及びビデオカメラ200に装着されて使用される。
ビデオカメラ200は、音声及び画像データを生成し、生成した音声及び画像データをメモリカード300に記録する。
PC100は、ディスプレイ140及びキーボード150と接続されている。利用者の操作により、メモリカード300に記憶されているデータを再生又は編集する。
メモリカード300は、4個のフラッシュメモリを搭載している。外部機器、具体的には、PC100又はビデオカメラ200が、メモリカード300へ供給することができる最大の電流値(以下、許容電流値)を取得し、取得した許容電流値を基に、並行して動作可能なフラッシュメモリの個数を算出する。PCからのコマンドに対して、算出した個数のフラッシュメモリを並行して動作させる。
1.1 ビデオカメラ200
ビデオカメラ200は、図2に示すように、入出力部201、電源部202、画像変換部203、撮像部204、制御部207、入力部212及び再生部213から構成される。
ビデオカメラ200は、具体的には、マイクロプロセッサ、RAM、ROMを含んで構成され、前記RAM及びROMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、ビデオカメラ200は、その機能を達成する。
(1)電源部202
電源部202は、ビデオカメラ200を構成する各回路へ、電池又は外部電源からの電力を供給する。また、入出力部201を介してメモリカード300へも電力を供給する。
(2)許容電流値記憶部210
許容電流値記憶部210は、ROMから構成され、許容電流値を記憶している。許容電流値は、ビデオカメラ200がメモリカード300へ供給することのできる電流の上限を示す値である。
(3)入出力部201
入出力部201は、メモリカード300と接続され、制御部207とメモリカード300との間で各種の情報の入出力を行う。
また、電源部202から出力される電力を、メモリカード300へ供給する。
(4)撮像部204及び画像変換部203
撮像部204は、光学レンズ、カラーフィルタ、CCD(Charge CoupledDevice)などから構成され、入射光を電荷に変換して画像データを生成する。
画像変換部203は、撮像部204により生成された画像データに直行変換の1つであるDCT処理、量子化処理、動き補償処理及び可変長符号化処理などを施して圧縮する。
(5)制御部207
制御部207は、ビデオカメラ200を構成する各部の動作を制御する。
また、入出力部201を介して、メモリカード300がビデオカメラ200に装着されたことを検出する。メモリカード300を検出すると、ドライブの割当、メモリ空間の割当などを含むコンフィグ処理を行う。
コンフィグ処理が終了すると、許容電流値記憶部210の記憶している許容電流値を用いて、パワーマネジメントに関する情報の授受を行う。このような、メモリカード300とメモリカード300を装着された装置との間の初期設定の処理については、後に詳細に説明する。
(6)入力部212
入力部212は、各種のボタンなどを備え、利用者による操作を検出し、検出した操作を示す捜査指示情報を制御部207へ出力する。
(7)再生部213
再生部213は、デコーダー、液晶ディスプレイを含んで構成され、圧縮された画像データを伸長し、画面を生成し、生成した画面を液晶ディスプレイに表示する。
1.2 PC100
PC100は、図3に示すように、外部IF部101、許容電流値記憶部110、情報記憶部111、入力制御部112及び表示制御部113から構成される。
PC100は、具体的には、マイクロプロセッサ、RAM、ROMを含むコンピュータシステムであって、RAM、ROM及び情報記憶部111にはコンピュータプログラムが記憶されている。前記マイクロプロセッサが前記コンピュータプログラムに従って動作することにより、PC100は、その機能を達成する。
(1)電力供給部105
電力供給部105は、PC100を構成する各回路へ、電力を供給する。また、外部IF部101を介してメモリカード300へも電力を供給する。
(2)許容電流値記憶部110及び情報記憶部111
許容電流値記憶部110は、ROMから構成され、許容電流値Iokを記憶している。許容電流値Iokは、PC100がメモリカード300へ供給することのできる電流の上限を示す値である。
情報記憶部111は、ハードディスクユニットから構成され、各種のデータ、コンピュータプログラムなどを記憶している。
(3)外部IF部101
外部IF部101は、メモリカード300と接続され、制御部107とメモリカード300との間で各種の情報の入出力を行う。
また、電力供給部105から出力される電力を、メモリカード300へ供給する。
(4)制御部107
制御部107は、PC100を構成する各部の動作を制御する。
制御部107は、外部IF部101を介してメモリカード300を検出する。
また、入力制御部112から、利用者のキー操作に対応した操作指示情報を受け取る。
(4−1)初期設定
メモリカード300を検出すると、制御部107は、ドライブの割り当て、メモリ空間の割り当てなどを含むコンフィグ処理を行う。
コンフィグ処理が終了すると、メモリカード300へメモリカード300の消費する電流の最大値である最大消費電流値Imaxを要求する。外部IF部101を介して、メモリカード300から最大消費電流値Imaxを受け取る。最大消費電流値Imaxを受け取ると、許容電流値記憶部110から、許容電流値Iokを読み出し、読み出した許容電流値Iokを外部IF部101を介して、メモリカード300へ出力する。次に、メモリカード300から、Ack(Acknowledgement)信号を受け取り、初期設定を終了する。
(4−2)書き込み処理
制御部107は、入力制御部112から、メモリカード300への書き込みを示す操作指示情報を受け取ると、メモリカード300へデータの書き込みを指示するライトコマンドを生成する。ライトコマンドは、書き込みを開始するセクタの論理アドレスであるセクタ番号(以下先頭セクタ番号)と出力するデータを記録するために必要なセクタ数とを含んでいる。セクタとは、メモリカード300上の読み出し及び書き込みの単位となる512バイトの記憶領域である。
次に、生成したライトコマンドを外部IF部101を介してメモリカード300へ出力する。
次に、メモリカード300から、データの書き込みが可能であることを示すレスポンスを受け取る。レスポンスを受け取ると、メモリカード300へ書きこむデータのうち、先頭から順に、1セクタの容量に相当する512バイト分を出力する。以下の説明において、512バイトのデータをデータブロックと呼ぶ。メモリカード300から、1データブロックの書き込み可能であることを示すレスポンスを受け取り、次の、データブロックを出力する。同様にして、全てのデータブロックの出力を終えるまで、レスポンスの受け取りとデータブロックの出力とを繰り返す。
(4−3)読み出し処理
制御部107は、入力制御部112から、読み出しを示す操作指示情報を受け取ると、メモリカード300へデータの読み出しを指示するリードコマンドを出力する。リードコマンドには、読み出しを開始するセクタの論理アドレスであるセクタ番号(以下先頭セクタ番号)と読み出しをするセクタ数を含んでいる。
次に、メモリカード300から、データブロックの出力が可能であることを示すレスポンスを受け取る。続いて、メモリカード300から、1セクタ分の容量に相当する512バイトのデータブロックを受け取る。同様にして、リードコマンドに含んで出力したセクタ数に相当する数のデータブロックを受け取るまで、レスポンスの受け取りとデータブロックの受け取りとを繰り返す。
なお、PC100とメモリカード300との間において、最大消費電流値、許容電流値といった制御情報及び各種コマンドは、ATA(AT Attachiment)コマンドにより授受される。
図4は、PC100が、最大消費電流値Iokをメモリカード300へ出力する場合、PC100が出力するATAコマンドのフレーム構成を示している。図4は、フレームを構成する各フィールドの名称を縦に配置し、横にビット数を示す番号0〜7を記載している。Features341は、Subcommandなどのコマンドの拡張内容が含まれるフィールドである。SectorCount342は、許容電流値、セクタ数などを格納するフィールドである。ここでは、PC100の許容電流値をAdvanced power management levelを用いて示している。SectorNumber343は、リードコマンド及びライトコマンドを出力する際に、セクタ数を格納するフィールドであるが、最大消費電流値Iokの出力の場合には、使用されない。図中の「na」は、そのフィールドが使用されないことを示している。
Cylinder Low344、cylinder High345、Device/Head346は、ライトコマンド及びリードコマンドの際に読み出し及び書き込み先となるセクタを示す情報が格納されるフィールドであるが、ここでは使用されない。
Command347は、各種のコマンドを格納するフィールドである。ここでは、許容電流値Iokの通知を示す「FEh」が格納されている。
ATAコマンドの構成については、公知であるので、ここでは詳細な説明を省略する。
(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を含んで構成される。
制御部302は、具体的にはマイクロプロセッサ、RAM、ROMから構成され、RAM及びROMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが前記コンピュータプログラムに従って動作することにより、制御部302は、その機能を達成する。
(1)フラッシュメモリ310、311、312及び313
フラッシュメモリ310、311、312及び313は、512バイトの容量のセクタを複数備えており、各セクタには、メモリアドレスが割り当てられている。図5に示す様に、各フラッシュメモリは、それぞれ、バッファメモリ309と接続されている。また、メモリ制御部330、331、332及び333とそれぞれ接続されている。
フラッシュメモリ310、311、312及び313は、メモリ制御部330、331、332及び333を介して、クロック制御部305から、クロック信号を受け取る。メモリ制御部330、331、332及び333の制御により、セクタごとに、各種データの記憶及び記憶しているデータの出力を行う。
(2)外部IF部301
外部IF部301は、外部機器と制御部302との間で各種の情報の送受信を行う。また、外部機器から供給される電力を受け取り、受け取った電力をメモリカード300を構成する各回路へ出力する。ここで、外部機器とは、PC100又はビデオカメラ200である。
なお、外部IF部301と外部機器との間のデータの入出力速度は、バッファメモリ309とフラッシュメモリとの間のデータの入出力速度に比べて十分高速である。
(3)制御情報記憶部308及びバッファメモリ309
制御情報記憶部308は、ROMから構成され、書込消費電流値Iw、読出消費電流値Ir、メモリ数N及び制御電流値aを記憶している。
書込消費電流値Iwは、メモリカード300を構成する1個のフラッシュメモリへ、データを書き込む際に一組のメモリ制御部とフラッシュメモリが消費する電流の値である。読出消費電流値Irは、1個のフラッシュメモリからデータを出力する際に、一組のメモリ制御部とフラッシュメモリが消費する電流の値である。ここで、メモリ制御部330〜333及びフラッシュメモリ310〜313の消費する電流の合計値は、動作するフラッシュメモリの個数に比例する。
メモリ数Nは、メモリカード300に搭載されているフラッシュメモリの個数であり、本実施の形態ではN=4である。制御電流値aは、フラッシュメモリ及びメモリ制御部以外の各回路で消費される電流の合計値である。
バッファメモリ309は、RAMから構成され、512バイトのデータを記憶する領域を4個備えており、4個の記憶領域は、それぞれ、フラッシュメモリ310〜313と対応している。フラッシュメモリ310と外部機器との間で入出力される各種データを一時的に記憶する。
具体的には、外部IF部301を介して、外部機器から、512バイトのデータブロックを受け取り、受け取ったデータブロックを記憶する。1データブロック受け取る度に、並列制御部304へ、正常に受け取ったことを示すOK信号を出力する。メモリ制御部330〜333の制御により、記憶しているデータブロックを、フラッシュメモリ310、311、312又は313へ出力する。
また、フラッシュメモリ310、311、312及び313から、データブロックを受け取り、受け取ったデータブロックを一時的に記憶する。次に、並列制御部304の指示により、記憶しているデータブロックを、外部IF部301を介して、外部機器へ出力し、1データブロックの出力が終了すると、正常に出力が終了したことを示すOK信号を並列制御部304へ出力する。
(4)クロック制御部305
クロック制御部305は、一定の時間間隔でクロック信号を生成し、生成したクロック信号をメモリカード300を構成する各部へ出力する。
(5)コマンド解析部303
コマンド解析部303は、外部IF部301と接続された外部機器から各種コマンドを受け取り、受け取ったコマンドを解析し、解析結果を並列制御部304へ出力する。
(6)メモリ制御部330、331、332及び333
メモリ制御部330は、クロック制御部305からクロック信号を受け取り、受け取ったクロック信号をフラッシュメモリ310へ出力する。
メモリ制御部330は、並列制御部304から、データの書き込みを示すライト指示と、書き込みを行うフラッシュメモリ310上において、データブロックを書き込むセクタを示すメモリアドレスとを受け取る。また、並列制御部304からデータの読み出しを示すリード指示と、読み出しを行うフラッシュメモリ310上の書き込みを行うセクタを示すメモリアドレスとを受け取る。
ライト指示とメモリアドレスとを受け取ると、メモリ制御部330は、フラッシュメモリ310内の、受け取ったメモリアドレスと対応するセクタに、バッファメモリ309に記憶されている1データブロックを書き込む。
フラッシュメモリ310への書き込みが終了すると、並列制御部304へ、1データブロックの書き込みが終了したことを示す終了信号を出力する。
並列制御部304からリード指示とメモリアドレスとを受け取ると、メモリ制御部330は、フラッシュメモリ310上において、受け取ったメモリアドレスと対応するセクタに記憶されているデータブロックを、バッファメモリ309へ出力する。1データブロックの出力が終了すると、並列制御部304へ、1データブロックの読み出しが終了したことを示す終了信号を出力する。
メモリ制御部331、332及び333は、それぞれ、フラッシュメモリ311、312及び313について、メモリ制御部330と同様の制御を行う。
(7)並列制御部304
並列制御部304は、図6に示すように、コマンド実行部321、並列演算部322、メモリ番号演算部323から構成される。
(7−1)並列演算部322
並列演算部322は、コマンド実行部321から、メモリカード300の消費する電流の最大値である最大消費電流値Imaxの算出を指示される。また、コマンド実行部321から許容電流値Iokを受け取り、並行書込数Nwと並行読出数Nrの算出を指示される。並行書込数Nwは、許容電流値の範囲内で、並行して書き込みの動作を行うことができるフラッシュメモリの個数であり、並行読出数Nrは、許容電流値の範囲内で並行して読み出しの動作を行うことができるフラッシュメモリの数である。
最大消費電流値Imaxの算出を指示されると、制御情報記憶部308から書込消費電流値Iw、読出消費電流値Ir、メモリ数N及び制御電流値aを読み出す。読み出した書込消費電流値Iw、読出消費電流値Ir、メモリ数N及び制御電流値aを基に、
Imax=Max(N×Iw,N×Ir)+a −(式1)
を算出する。ここで、Max(A,B)は、A及びBのうち値の大きい一方を示す。算出した最大消費電流値Imaxをコマンド実行部321へ出力する。
並行書込数Nwと並行読出数Nrの算出を指示されると、受け取った許容電流値Iokと算出した最大電流値Imaxとを比較し、Iok<Imaxであれば、
Nw=INT{(Iok−a)/Iw} −(式2)
Nr=INT{(Iok−a)/Ir} −(式3)
を算出する。ここで、INT(A)は、A以下で最大の整数を示す。このとき、Nw>Nであれば、Nw=Nとし、Nr>NであればNr=Nとする。
Iok≧Imaxであれば、Nw=Nr=Nとする。
次に、算出した並行書込数Nwと並行読出数Nrとを記憶し、コマンド実行部321へ正常に演算が終了したことを示す演算終了信号を出力する。
(7−2)メモリ番号演算部323
メモリ番号演算部323は、予めメモリカード300が備えているフラッシュメモリの数N=4を記憶している。また、フラッシュメモリ310〜313上のセクタの実アドレスであるメモリアドレスと外部機器によって、出力されるセクタ番号との対応を管理している。
メモリ番号演算部323は、コマンド実行部321から先頭セクタ番号とセクタ数とを受け取り、書き込み先メモリ番号又は読み出し先メモリ番号の算出を指示される。
書き込み先メモリ番号又は読み出し先メモリ番号の算出を指示されると、メモリ番号演算部323は、図6に示すメモリテーブル324を生成し、生成したメモリテーブル324を一時的に記憶する。
メモリテーブル324は、1以上のメモリ情報326、327・・・から構成される。各メモリ情報は、セクタ番号、メモリ番号及びメモリアドレスから構成される。セクタ番号は、外部機器により指定される、書き込み又は読み出しを行うセクタの論理アドレスである。メモリ番号は、書き込み又は読み出しを行うフラッシュメモリと対応しており、メモリ番号「0」、「1」、「2」、「3」は、それぞれフラッシュメモリ310、311、312、313を示している。メモリアドレスは、各フラッシュメモリ上のセクタの物理アドレスである。
具体的には、以下のような演算によりメモリテーブル324を生成する。
書込み先メモリ番号の算出を指示されると、受け取った先頭セクタ番号とセクタ数とを基にして、以下の(式4)及び(式5)によりセクタ番号とメモリ番号とを算出する。
セクタ番号=先頭セクタ番号+t −(式4)
メモリ番号=(セクタ番号)%N −(式5)
ここで、変数tは0以上の整数であり、初期値は0である。
次に、書き込み又は読み出しを行うセクタのメモリアドレスを指定し、1メモリ情報を生成する。次に、変数tに1加算する。以下同様にして、セクタ番号の算出、メモリ番号の算出、メモリアドレスの指定、変数tのインクリメントを、変数tが受け取ったセクタ数と等しくなるまで繰り返し、受け取ったセクタ数と同数のメモリ情報を生成する。
図6に示すメモリテーブル324は、一例として、先頭セクタ番号「3」、セクタ数「4」を受け取った場合に、メモリ番号演算部323が生成するメモリテーブルを示している。メモリ情報326は、セクタ番号「3」と示されるセクタを、メモリ番号「3」と対応するフラッシュメモリ313のメモリアドレス「AAAA」のセクタに対応させることを示している。
次に、コマンド実行部321へ、メモリ番号の演算が終了したことを示す演算終了信号を出力する。
(7−3)コマンド実行部321
コマンド実行部321は、図6に示すように並列制御部304を構成する各回路及びメモリ制御部330〜333と接続されており、これらの各回路の動作を制御する。
コマンド実行部321は、コマンド解析部303により解析されたコマンドを受け取る。受け取ったコマンドに従って、以下に説明する初期設定、書き込み処理及び読み出し処理を行う。
<初期設定>
コマンド解析部303を介して、最大消費電流値Imaxの要求を受け取ると、コマンド実行部321は、並列演算部322へ最大消費電流値Imaxの算出を指示する。並列演算部322から最大消費電流値Imaxを受け取り、受け取った最大消費電流値Imaxを、外部IF部301を解して外部機器へ出力する。ここで外部機器とは、PC100又はビデオカメラ200である。
次に、外部IF部301及びコマンド解析部303を介して、外部機器から許容電流値Iokを受け取る。許容電流値Iokを受け取ると、受け取った許容電流値Iokを並列演算部322へ出力し、並行書込数Nwと並行読出数Nrの算出を指示する。次に、並列演算部322から、正常に演算が終了したことを示す演算終了信号を受け取り、外部IF部301を介して、外部機器へAck信号を出力する。
<書き込み処理>
コマンド解析部303を介して、ライトコマンドを受け取ると、コマンド実行部321は、バッファメモリ309の4個の記憶領域のうち1個以上が空いているか否かを確認し、データブロックを書き込み可能であるか否かを判断する。1個以上の記憶領域が空であれば、書き込み可能であると判断し、1データブロックの書き込み可能であることを示すレスポンスを、外部IF部301を介して、外部機器に出力する。書き込みが可能でないと判断すると、いずれかの記憶領域が空になるまで待機する。
レスポンスを出力すると、以下に説明する(a)データブロックの受け取りの制御と(b)書き込み制御とを実行する。
(a)データブロックの受け取りの制御
外部機器からバッファメモリ309への、一個のデータブロックの書き込みが終了すると、コマンド実行部321は、バッファメモリ309から1データブロックの書き込みが終了したことを示すOK信号を受け取る。
OK信号を受け取ると、コマンド実行部321は、再度バッファメモリ309の空き容量を確認し、データブロックを書き込み可能であるか否かを判断する。書き込み可能でなければ、書き込み可能な状態になるまで待機し、書き込み可能な状態になれば、1データブロックの書き込みが可能であることを示すレスポンスを外部IF部301を介して、外部機器へ出力する。
(b)書き込み制御
コマンド実行部321は、並列演算部322の記憶している並行書込数Nwを読み出す。次に、ライトコマンドに含まれる先頭セクタ番号とセクタ数とをメモリ番号演算部323へ出力し、書き込みメモリ番号の算出を指示する。
メモリ番号演算部323から、演算終了信号を受け取る。次に、メモリ番号演算部323の記憶しているメモリテーブル324内の先頭からNw個のメモリ情報を選択し、選択したメモリ情報から、メモリ番号とメモリアドレスとを抽出し、抽出したメモリ番号と対応するメモリ制御部へ、抽出したメモリアドレスと書き込みを示すライト指示とを出力する。
具体的に、先頭セクタ番号「3」、セクタ数「4」、並行書込数Nw=2の場合、メモリ情報326及び327から、それぞれのメモリ番号とメモリアドレスとを抽出する。メモリ番号「3」のフラッシュメモリ313を制御するメモリ制御部333へ、ライト指示とメモリアドレス「AAAA」とを出力し、メモリ番号「0」と対応するフラッシュメモリ310を制御するメモリ制御部330へ、それぞれ、メモリアドレス「BBBB」ライト指示とを出力する。
次に、いずれかのメモリ制御部から、1データブロックの書き込みが終了したことを示す終了信号を受け取る。この時点で、コマンド実行部321は、メモリ制御部333及びメモリ制御部330へ、データブロックの書き込みを指示しており、合計2個のデータブロックの書き込みを指示し終えている。ライトコマンドと共に受け取ったセクタ数「4」に相当する4個のデータブロックの書き込みを指示し終えていないので、メモリテーブル324の次のメモリ情報328から、メモリ番号「1」とメモリアドレス「CCCC」とを抽出し、抽出したメモリ番号「1」と対応するメモリ制御部331へライト指示とメモリアドレス「CCCC」とを出力する。
同様にして、メモリ番号「2」と対応するメモリ制御部332へ、ライト指示とメモリアドレス「DDDD」とを出力する。
受け取ったセクタ数「4」に相当する4個のデータブロックの書き込みを指示し終えると、フラッシュメモリへの書き込み制御を終了する。
<読み出し処理>
コマンド解析部303を介して、データの読み出しを指示するリードコマンドを受け取ると、以下に説明する(a)読み出し制御と(b)データブロックの出力制御とを実行する。
(a)読み出し制御
コマンド実行部321は、リードコマンドに含まれる先頭セクタ番号とセクタ数とをメモリ番号演算部323へ出力し、読み出しメモリ番号の算出を指示する。
次に、メモリ番号演算部323から、演算終了信号を受け取り、並列演算部322の記憶している並行読出数Nrを読み出す。
書き込み処理において、説明した(a)書き込み制御 と同様の手順により、読み出しを行うフラッシュメモリを示すメモリ番号をメモリ制御部へ出力する。なお、読み出し制御の場合は、並列書込数Nwに変わって、並列読出数Nrを用い、ライト指示の代わりに、読出を示すリード指示を出力する。
次に、いずれかのメモリ制御部から1データブロックの読み出しが終了したことを示す終了信号を受け取る。このとき、リードコマンドと共に受け取ったセクタ数に相当するデータブロックの、読み出しの指示を出力し終えていれば、読み出し制御を終了する。
セクタ数に相当するデータブロックの読み出しの指示を出力し終えていなければ、次のメモリ情報に含まれるメモリ番号と対応するメモリ制御部へリード指示を出力する。
(b)データブロックの出力制御
リードコマンドを受け取ると、コマンド実行部321は、バッファメモリ309に記憶されているデータを確認し、1データブロックの出力が可能であるか否かを判断する。つまり、フラッシュメモリからバッファメモリ309へ1データブロック以上のデータが転送済みか否かを確認する。
出力が可能でないと判断すると、いずれかのフラッシュメモリからバッファメモリ309へ、1データブロックの転送が終了するまで待機する。
出力可能であると判断すると、データブロックの出力が可能であることを示すレスポンスを、外部IF部301を介して、外部機器へ出力する。
続いて、バッファメモリ309へ1データブロックの出力を指示する。次に、バッファメモリ309から、1データブロックの出力が正常に終了したことを示すOK信号を受け取る。OK信号を受け取ると、再度バッファメモリ309に記憶されているデータを確認し、1データブロックの出力が可能であるかを判断する。
以下、同様にして、リードコマンドと共に受け取ったセクタ数に相当するデータブロックを出力し終えるまで、データブロックの出力の可否の判断、レスポンスの出力、1データブロックの出力を繰り返す。
1.4 メモリカード300及びPC100の動作
メモリカード300は、PC100及びビデオカメラ200に装着されるが、ここではPC100に装着された場合について説明する。
(1)メモリカード300装着時の動作
PC100にメモリカード300が装着された直後の、PC100及びメモリカード300の動作について、図7のフローチャートを用いて説明する。
PC100は、外部IF部101を介して、メモリカード300の装着を検出する(ステップS101)。次に、外部IF部101を介して、メモリカード300へ、最大消費電流値Imaxを要求する(ステップS102)。
メモリカード300は、外部IF部301を介して、PC100から最大消費電流値Imaxの要求を受け取る。最大消費電流値Imaxの要求を受け取ると、制御情報記憶部308から、書込消費電流値Iw、読出消費電流値Ir、メモリ数N、制御電流値aを読み出す(ステップS104)。次に、読み出した書込消費電流値Iw、読出消費電流値Ir、メモリ数N、制御電流値aを基に、最大消費電流値Imaxを算出し(ステップS106)、算出した最大消費電流値ImaxをPC100へ出力する(ステップS107)。
PC100は、メモリカード300から最大消費電流値Imaxを受け取る。最大許容電流値Imaxを受け取ると、許容電流値記憶部110から許容電流値Iokを読み出し(ステップS108)、読み出した許容電流値Iokをメモリカード300へ出力する(ステップS109)。
メモリカード300は、外部IF部301を介して、PC100から許容電流値Iokを受け取り、受け取った許容電流値Iokと算出した最大消費電流値Imaxとを比較する(ステップS111)。Iok≧Imaxであれば(ステップS111のYES)、並行書込数Nw=並行読出数Nr=メモリ数Nとする(ステップS112)。
Iok<Imaxであれば(ステップS111のNO)、Nw=INT{(Iok−a)/Iw}を算出し(ステップS113)、Nr=INT{(Iok−a)/Ir}を算出し(ステップS114)、算出した並行書込数Nwと並行読出数とを記憶する。次に、PC100へ、Ack信号を出力する(ステップS116)。
(2)メモリカード300への書き込み動作
メモリカード300への書き込み動作について、図8に示すフローチャートを用いて説明する。ここでは、具体的に、並行書込数Nw=2、先頭セクタ番号「3」、セクタ数「4」の場合について説明する。
PC100は、利用者によるキー操作を受け付け(ステップS121)、メモリカード300への書き込みを指示するキー操作を受け付けると、先頭セクタ番号「3」、セクタ数「4」を含むライトコマンドを生成し(ステップS123)、生成したライトコマンドをメモリカード300へ出力する(ステップS124)。
メモリカード300は、PC100からライトコマンドを受け取り、バッファメモリ309の空き容量を確認し、データブロックを書き込み可能か否かを判断する(ステップS126)。書き込み可能でないと判断すると(ステップS126のNO)、バッファメモリ309の空き容量が1データブロックを書き込み可能な状態になるまで待機する。
書き込み可能であると判断すると(ステップS126のYES)、データの書き込み可能であることを示すレスポンスをPC100生成し(ステップS128)、生成したレスポンスをPC100へ出力する(ステップS129)。
PC100は、メモリカード300からレスポンスを受け取る(ステップS129)。レスポンスを受け取ると、出力するデータのうち1データブロックを読み出し(ステップS131)、読み出したデータブロックをメモリカード300へ出力する(ステップS132)。
メモリカード300は、PC100からデータブロックを受け取り、受け取ったデータブロックをバッファメモリ309へ書き込む(ステップS133)。バッファメモリ309への書き込みが終了すると、再度、バッファメモリ309の空き容量を確認し、1データブロックを書き込み可能であるか否かを判断する(ステップS134)。書き込み可能でないと判断すると、バッファメモリ309にデータブロックを書き込み可能な状態になるまで、待機する(ステップS134のNO)。
書き込み可能であると判断すると(ステップS134のYES)、メモリカード300は、データブロックを書き込み可能であることを示すレスポンスを、PC100へ出力する。同様にして、PC100からデータブロックを受け取る度に、ステップS133〜ステップS136を繰り返す。
PC100は、メモリカード300から、レスポンスを受け取る(ステップS136)。このとき、メモリカード300に書き込むデータを構成するデータブロック全てを出力し終えていなければ(ステップS134のNO)、ステップS129へ戻り、次のデータブロックを出力する。
また、メモリカード300は、ステップS133〜136の動作と並行して、ステップS141〜ステップS147に示す、バッファメモリ309から各フラッシュメモリへのデータの転送の処理を行う。
まず、ライトコマンドに含んで受け取った先頭セクタ数「3」とセクタ数「4」とを基に、データブロックを書き込むフラッシュメモリを示すメモリ番号「3」、「0」、「1」、「2」を算出し、メモリテーブル324を生成する(ステップS141)。Nw=2であるので、メモリ番号「3」、「0」と対応するメモリ制御部333及び330へライト指示を出力し、バッファメモリ309からフラッシュメモリ313及びフラッシュメモリ310へのデータブロックの転送を開始する(ステップS142)。
いずれかのフラッシュメモリへのデータブロックの転送が終了する(ステップS143)。このとき、受け取ったセクタ数「4」に相当する4個のデータブロックの転送を各メモリ制御部へ、指示し終えていので(ステップS144のNO)、メモリテーブル324から次のメモリ番号とメモリアドレス、具体的にはメモリ番号「1」とメモリアドレス「CCCC」を読み出し、読み出したメモリ番号「1」と対応するメモリ制御部331へメモリアドレス「CCCC」とライト指示を出力し、メモリ制御部331は、フラッシュメモリ311へのデータブロックの転送を開始する(ステップS146)。
ステップS143〜146を繰り返し、メモリ番号「2」の示すフラッシュメモリ312へのデータブロックの転送を開始する。
次に、ステップS144において、4個のデータブロックのフラッシュメモリへの転送をメモリ制御部へ、指示し終えていると判断する(ステップS144のYES)。全てのフラッシュメモリにおいて、データブロックの転送が完了すると(ステップS147)、書き込み動作を終了する。
(3)書き込み時のタイムチャート
メモリカード300へデータを書き込む際のメモリカード300とPC100の間のコマンド及びデータの授受のタイミング及びメモリカード300内のフラッシュメモリ310〜313の動作タイミングについて、図10に示すタイムチャートを用いて説明する。ここで、並行書込数Nw=2であり、ライトコマンドを受け取った時点で、バッファメモリ309の4個記憶領域は、すべて空であると想定する。
図10は、メモリカード300がPC100から受け取るコマンド及びデータブロックとメモリカード300がPC100へ出力するレスポンスとを時間の経過に沿って並べたものであり、横軸は時間の経過を示している。さらに、各時刻における、フラッシュメモリ310〜313の動作の状況を示している。
メモリカード300は、PC100から、ライトコマンドA0を受け取る。ライトコマンドA0には、先頭セクタ番号「3」とセクタ数「4」とが含まれる。
メモリカード300は、バッファメモリ309の空き容量を確認し、512バイトのデータブロックを書き込み可能であることを示すレスポンス131をPC100へ出力する。
レスポンス131を受け取ると、PC100は、メモリカード300へ、データブロックA1を出力する。
これと同時に、メモリカード300は、バッファメモリ309からフラッシュメモリ313へのデータブロックA1の転送を開始する。PC100からメモリカード300へのデータブロックA1の出力が終了すると、メモリカード300は、再度、バッファメモリ309の空き容量を確認し、データブロックの書き込みが可能であることを示すレスポンス132をPC100へ出力する。
レスポンス132を受け取ると、PC100は、メモリカード300へ、データブロックA2を出力する。
これと同時に、メモリカード300は、バッファメモリ309からフラッシュメモリ310へのデータブロックA2の転送を開始する。
PC100からメモリカード300へのデータブロックA2の出力が終了すると、メモリカード300は、再度、バッファメモリ309の空き容量を確認し、データブロックの書き込みが可能であることを示すレスポンス133をPC100へ出力する。
同様にして、PC100は、レスポンス133を受け取ると、データブロックA3をメモリカード300へ出力する。ここで、並行書込数Nw=2であり、フラッシュメモリ313及び310が動作中であるので、フラッシュメモリ313又は310のいずれかで転送が終了するまで、その他のフラッシュメモリは動作しない。
PC100からメモリカード300へのデータブロックA3の出力が終了する。メモリカード300は、再度、バッファメモリ309の空き容量を確認し、データブロックの書き込みが可能であることを示すレスポンス134をPC100へ出力する。
PC100は、レスポンス134を受け取ると、データブロックA4をメモリカード300へ出力する。
ここで、バッファメモリ309には、データブロックA1〜A4が記憶されており、新たなデータブロックを書き込むことはできない。最初に、転送を開始したフラッシュメモリ313において、データブロックA1の書き込みが終了した時点で、バッファメモリ309へ新たなデータブロックの書き込みが可能になり、メモリカード300は、書き込み可能であることを示すレスポンス135をPC100へ出力する。
同時に、バッファメモリ309からフラッシュメモリ311へデータブロックA3の転送を開始する。次に、フラッシュメモリ310へのデータブロックA2の転送が終了すると、バッファメモリ309からフラッシュメモリ312へのデータブロックA4の転送を開始する。
1.5 まとめ及び効果
以上、説明してきたように、メモリカード300は、外部機器に接続されると、外部機器の許容電流値を取得し、メモリカード300の消費電流値が取得した許容電流値以下になるように、並行書込数Nwと並行読出数Nrとを算出する。
外部機器からライトコマンドを受け取ると、Nw個のフラッシュメモリを、並行して動作させ書き込みを行う。リードコマンドを受け取ると、Nr個のフラッシュメモリを並行して動作させて、読み出しを実行する。
本発明の効果について、具体的な数値を用いて説明する。
書込消費電流値Iw=100mA、読出消費電流値Ir=50mA、メモリ数N=4及び制御電流値a=100mAであり、フラッシュメモリ310〜313の書き込み及び読み出し速度は、1個当たり4MB/sであると想定する。
PC100から許容電流値Iok=350mAを受け取ると、メモリカード300は、式2及び式3を用いて
Nw=INT{(350−100)/100}=2
Nr=INT{(350−100)/50}=5
を算出する。ここで、Nr>Nであるので、Nr=N=4とする。
このように想定した場合、メモリカード300の書き込み時の消費電流値は、300mAであり、読み出し時の消費電流値は350mAであり、いずれも許容電流値の350mA以下である。
また、このときのメモリカード300の書き込み速度は、2個のフラッシュメモリを並行して動作させることが可能であるため、8MB/sであり、並行して動作しない場合と比較して2倍の書き込み速度を実現できる。読み出し速度は、4個のフラッシュメモリを並行して動作させることが可能であるため、16MB/sであり、並行して動作しない場合と比較して4倍の読み出し速度を実現できる。
このようにして、PC100の電力供給能力の範囲内で、効率よく、読み出し及び書き込みを高速化することができる。
2.実施の形態2
本発明の実施の形態2のメモリカード600について、以下に説明する。
メモリカード600は、実施の形態1のメモリカード300と同様にPC100及びビデオカメラ200に装着される。PC100及びビデオカメラ200は、の構成及び動作は実施の形態1と同様であるので、ここでは説明を省略する。
メモリカード600は、4個のフラッシュメモリを搭載しており、外部機器、具体的には、PC100又はビデオカメラ200から、許容電流値を受け取り、メモリカード600の消費電流値が受け取った許容電流値以下になるように、フラッシュメモリの動作周波数を算出する。外部機器から、コマンドを受け取ると、算出した動作周波数で、フラッシュメモリを動作させる。
2.1 メモリカード600
メモリカード600は、図11に示すように、外部IF部601、制御部602、フラッシュメモリ610、611、612及び613から構成される。
制御部602は、コマンド解析部603、並列制御部604、クロック制御部605、メモリ制御部630、631、632、633、制御情報記憶部608及びバッファメモリ609を含む。
制御部602は、具体的にはマイクロプロセッサ、RAM、ROMから構成され、RAM及びROMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが前記コンピュータプログラムに従って動作することにより、制御部302は、その機能を達成する。
外部IF部601、コマンド解析部603、メモリ制御部630、631、632、633、バッファメモリ609、フラッシュメモリ610、611、612及び613の構成及び動作は、実施の形態1の外部IF部301、コマンド解析部303、メモリ制御部330、331、332、333、バッファメモリ309、フラッシュメモリ310、311、312及び313と同様であるので説明を省略し、本実施の形態の特徴部分である、並列制御部604、クロック制御部605及び制御情報記憶部608についてのみ説明する。
(1)制御情報記憶部608
制御情報記憶部608は、ROMから構成され、図11に示すように、書込消費電流値Iw、最大読出消費電流値Irmax、メモリ数N、最大周波数fmax及び制御電流値aを記憶している。
書込消費電流値Iw、メモリ数N及び制御電流値aは実施の形態1と同様である。
最大周波数fmaxは、メモリカード600に搭載されているフラッシュメモリが最大の読み出し速度で読み出しの動作をする場合の動作周波数である。
最大読出消費電流値Irmaxは、1個のフラッシュメモリが、最大の読み出し速度で読み出しの動作をする場合、つまり、最大周波数fmaxで読み出しを実行する場合に、そのフラッシュメモリ及び対応するメモリ制御部が消費する電流値である。
(2)クロック制御部605
クロック制御部605は、PLL(Phase Lock Loop)を備えている。所定の時間間隔でクロック信号を生成し、生成したクロック信号をメモリカード600を構成する各部へ出力する。通常、クロック制御部605が、メモリ制御部630〜633を介して、フラッシュメモリ610〜613へ供給するクロック信号のクロック周波数は、最大周波数fmaxである。このとき、メモリ制御部630〜633及びフラッシュメモリ610〜613の動作周波数もfmaxである。
クロック制御部605は、並列制御部604から、周波数変更指示と読出周波数frとを受け取る。読出周波数frは、フラッシュメモリ610〜613が並行して読み出しの動作を行う際に、メモリカード600が消費する電流値が許容電流値Iok以下になるフラッシュメモリ610〜613の動作周波数の上限値である。
周波数変更指示を受け取ると、PLLを用いて、メモリ制御部630〜633へ供給するクロック信号のクロック周波数を受け取った読出周波数frに変更する。
また、並列制御部604から変更終了指示を受け取り、フラッシュメモリ610〜613へ供給するクロック信号のクロック周波数を読出周波数frから通常の最大周波数fmaxへ戻す。
(3)並列制御部604
並列制御部604は、図12に示すように、コマンド実行部621、並列演算部622及びメモリ番号演算部623から構成される。
メモリ番号演算部623は、実施の形態1と同様であるので、ここでは本実施の形態の特徴であるコマンド実行部621及び並列演算部622についてのみ説明する。
(3−1)並列演算部622
並列演算部622は、コマンド実行部621から最大消費電流値Imaxの算出を指示される。また、コマンド実行部621から許容電流値Iokを受け取り、並行書込数Nwと読出周波数frの算出を指示される。
最大消費電流値Imaxの算出を指示されると、制御情報記憶部608から書込消費電流値Iw、最大読出消費電流値Irmax、メモリ数N及び制御電流値aを読み出す。読み出した書込消費電流値Iw、読出消費電流値Ir、メモリ数N及び制御電流値aを基に、
Imax=Max(N×Iw,N×Irmax)+a −(式6)
を算出する。算出した最大消費電流値Imaxをコマンド実行部621へ出力する。
並行書込数Nwと読出周波数frの算出を指示されると、制御情報記憶部608から最大周波数fmaxを読み出す。次に、受け取った許容電流値Iokと算出した最大電流値Imaxとを比較し、Iok<Imaxであれば、
Nw=INT{(Iok−a)/Iw} −(式2)
fr=fmax×(Iok−a)/N/Irmax −(式7)
を算出する。このとき、Nw>Nであれば、Nw=Nとし、fr>fmaxであればfr=fmaxとする。
Iok≧Imaxであれば、Nw=N、fr=fmaxとする。
次に、算出した並行書込数Nwと読出周波数frとを記憶し、コマンド実行部621へ正常に演算が終了したことを示す演算終了信号を出力する。
(3−2)コマンド実行部621
コマンド実行部621は、メモリカード600が備えているフラッシュメモリの個数N=4を予め記憶している。
コマンド実行部621は、コマンド解析部603により解析されたコマンドを受け取る。受け取ったコマンドにより、以下に説明する初期設定、書込動作及び読出動作を実行する。書込動作は実施の形態1と同様であるので、ここでは説明を省略する。
(初期設定)
コマンド解析部603を介して、最大消費電流値Imaxを要求されると、コマンド実行部621は、並列演算部622へ最大消費電流値Imaxの算出を指示する。並列演算部622から最大消費電流値Imaxを受け取り、受け取った最大消費電流値Imaxを外部IF部601を解して外部機器へ出力する。ここで外部機器とは、PC100又はビデオカメラ200である。
次に、外部IF部601及びコマンド解析部603を介して、外部機器から許容電流値Iokを受け取る。許容電流値Iokを受け取ると、受け取った許容電流値Iokを並列演算部622へ出力し、並行書込数Nwと読出周波数frの算出を指示する。
並列演算部622から正常に演算が終了したことを示す演算終了信号を受け取る。次に、外部IF部601を介して、外部機器へAck信号を出力する。
(読み出し動作)
コマンド解析部603を介して、データの読み出しを指示するリードコマンドを受け取る。リードコマンドには、読み出しを開始するセクタの論理アドレスである先頭セクタ番号と読み出しを行うセクタ数とを含んでいる。リードコマンドを受け取ると、以下に説明する(a)読み出し制御と(b)データブロックの出力制御とを実行する。
(a)読み出し制御
コマンド実行部621は、リードコマンドに含まれる先頭セクタ番号「5」とセクタ数「4」とをメモリ番号演算部623へ出力し、メモリ番号の算出を指示する。次に、並列演算部622から読出周波数frを読み出し、クロック制御部605へ、読み出した読出周波数frと周波数変更指示とを出力する。
次に、メモリ番号演算部623の記憶しているメモリテーブルのN個のメモリ情報からメモリ番号とメモリアドレスとを抽出し、抽出したメモリ番号の示すフラッシュメモリを制御するメモリ制御部へ、それぞれ、抽出したメモリアドレスと読み出しを示すリード指示とを出力する。
次に、いずれかのメモリ制御部から、読み出しが終了したことを示す終了信号を受け取る。このとき、リードコマンドに含んで受け取ったセクタ数に相当する個数のデータブロックの読み出しの指示を、メモリ制御部630〜633へ出力し終えていなければ、メモリテーブルから次のメモリ番号と、メモリアドレスを抽出し、抽出したメモリ番号と対応するメモリ制御部へリード指示を出力する。セクタ数に相当する個数のデータブロックのリード指示を、出力し終えるまで、メモリ番号とメモリアドレスの抽出、メモリ制御部へのリード指示の出力を繰り返す。

次に、リード指示を出力した全てのメモリ制御部から終了信号を受け取り、各フラッシュメモリからのデータの読み出しが終了したと判断する。フラッシュメモリからのデータの読み出しが終了したと判断すると、クロック制御部605へ変更終了指示を出力する。
(b)データブロックの出力制御
リードコマンドを受け取ると、コマンド実行部621は、バッファメモリ609に記憶されているデータを確認し、1データブロックの出力が可能であるか否かを判断する。つまり、フラッシュメモリからバッファメモリ609へ1データブロック以上のデータが転送済みか否かを確認する。
出力が可能でないと判断すると、いずれかのフラッシュメモリからバッファメモリ609へ、1データブロックの転送が終了するまで待機する。
出力可能であると判断すると、データブロックの出力が可能であることを示すレスポンスを、外部IF部601を介して、外部機器へ出力する。
続いて、バッファメモリ609へ1データブロックの出力を指示する。
リードコマンドと共に受け取ったセクタ数に相当するデータブロックを外部機器へ出力し終えるまで、同様にして、データブロックの出力の可否の判断、レスポンスの出力、データブロックの出力を繰り返す。
2.2 メモリカード600及びPC100の動作
メモリカード600は、PC100及びビデオカメラ200に装着されるが、ここでは、PC100に装着された場合について説明する。
(1)メモリカード600の装着時の動作
メモリカード600がPC100に装着されたときの初期設定の動作について、図13に示すフローチャートを用いて説明する。
PC100は、外部IF部101を介してメモリカード600の装着を検出し、コンフィグ処理を行う(ステップS201)。次に、メモリカード600へ最大消費電流値Imaxを要求する(ステップS202)。
メモリカード600は、PC100から最大消費電流値Imaxの要求を受け取る。最大消費電流値Imaxの要求を受け取ると、制御情報記憶部608から、書込消費電流値Iw、最大読出消費電流値Irmax、メモリ数N及び制御電流値aを読み出す(ステップS203)。次に、読み出した書込消費電流値Iw、最大読出消費電流値Irmax、メモリ数N及び制御電流値aを用いて、最大消費電流値Imaxを算出し(ステップS204)、算出した最大消費電流値ImaxをPC100へ出力する(ステップS207)。
PC100は、メモリカード600から最大消費電流値Imaxを受け取り、許容電流値Iokを読み出す(ステップS209)。読み出した許容電流値Iokを外部IF部101を介してメモリカード600へ出力する(ステップS211)。
メモリカード600は、PC100から、許容電流値Iokを受け取り、最大読出周波数fmaxを読み出す(ステップS212)。
次に、受け取ったIokと算出した最大消費電流値Imaxとを比較する(ステップS213)。Iok≧Imaxであれば(ステップS213のYES)、並行書込数Nwをメモリ数Nとし、読出周波数frを最大読出周波数fmaxとする(ステップS214)。
Iok<Imaxであれば(ステップS213のNO)、式2により並行書込数Nwを算出する(ステップS217)。このとき、Nw>Nとなる場合は、Nw=Nとする。次に、式7により読出周波数frを算出する(ステップS218)。このとき、fr>fmaxとなる場合、fr=fmaxとする。
次に、初期設定が正常に終了したことを示すAck信号をPC100へ出力する(ステップS219)。
(2)メモリカード600からの読み出し動作
メモリカード600からデータを読み出す際の、メモリカード600及びPC100の動作について、図14に示すフローチャートを用いて説明する。
ここでは、具体的に、先頭セクタ番号「5」とセクタ数「4」の場合について説明する。
PC100は、利用者によるキー操作を受け付け(ステップS241)、メモリカード600からの読み出しを示すキー操作を受け付けると、先頭セクタ番号「5」及びセクタ数「4」を含むリードコマンドを生成し(ステップS243)、外部IF部101を介して生成したリードコマンドをメモリカード600へ出力する(ステップS244)。
受け付けたキー操作が、読み出し以外の処理を示していれば、その他の処理を行う(ステップS242)。
メモリカード600は、PC100からリードコマンドを受け取り、受け取ったリードコマンドに含まれる先頭セクタ番号「5」とセクタ数「3」とを基に、読み出しを行うフラッシュメモリを示すメモリ番号「1」、「2」、「3」、「0」を算出し、メモリテーブルを生成する(ステップS249)。
次に、メモリ制御部630〜633へ出力するクロック周波数を読出周波数frに変更する(ステップS251)。
メモリテーブル上のN(=4)個のメモリ情報からメモリ番号とメモリアドレスを抽出し、抽出したメモリ番号「1」、「2」、「3」及び「0」に対応するフラッシュメモリからバッファメモリ609へのデータブロックの転送を開始する(ステップS252)。
いずれかのフラッシュメモリにおいて、データブロックの転送が終了したとき、(ステップS253)、受け取ったセクタ数「4」に相当する4個のデータブロックの出力をメモリ制御部へ指示し終えていなければ(ステップS254のNO)、メモリテーブルを基に、次のデータブロックの読み出しをメモリ制御部へ指示する(ステップS256)。
合計して4個のデータブロックの出力をメモリ制御部へ指示し終えていれば(ステップS254のYES)、全てのフラッシュメモリにおける読み出しの動作が終了した後(ステップS257)、クロック周波数を元に戻す(ステップS258)。
ステップS252〜ステップS258と並行して、ステップS261〜ステップS264の処理を行い、バッファメモリ609から外部機器へデータブロックを出力する。
まず、バッファメモリ609に1個以上のデータブロックが存在するか否かを判断する(ステップS261)。存在しなければ(ステップS261のNO)、いずれかのフラッシュメモリからバッファメモリ609へ1個のデータブロックの転送が終了するまで待機する。
1個以上のデータブロックが存在する場合(ステップS261のYES)、データブロックを出力可能であることを示すレスポンスをPC100へ出力する(ステップS262)。続いて、1個のデータブロックをバッファメモリ609からPC100へ出力する(ステップS263)。出力し終えると、リードコマンドに含んで受け取ったセクタ数「4」に相当する4個のデータブロックを、PC100へ出力し終えるまで(ステップS264のYES)、ステップS261〜264を繰り返す。
PC100は、メモリカード600からレスポンスを受け取り(ステップS262)、続いて、データブロックを受け取る(ステップS263)。4個のデータブロックを受け取り終えるまで(ステップS266のYES)、レスポンス及びデータブロックの受け取りを繰り返す。
(3)読み出し時のタイムチャート
メモリカード600からデータを読み出す際のメモリカード600とPC100の間のコマンド及びデータの授受のタイミング及びメモリカード600内のフラッシュメモリ610〜613の読み出し動作のタイミングについて、図15に示すタイムチャートを用いて説明する。
図15は、メモリカード600がPC100から受け取るコマンド及びメモリカード600からPC100へ出力されるデータブロックとを時間の経過に沿って並べたものであり、横軸は時間の経過を示している。また、各時刻におけるフラッシュメモリ610〜613の動作状態を示している。
メモリカード600は、PC100から、リードコマンドB0を受け取る。リードコマンドB0には、先頭セクタ番号「5」とセクタ数「4」とが含まれる。
メモリカード600は、先頭セクタ番号「5」とセクタ数「4」を基にして、メモリ番号「1」、「2」、「3」、「0」を算出する。算出したメモリ番号と対応するフラッシュメモリ611からデータブロックB1を、フラッシュメモリ612からデータブロックB2を、フラッシュメモリ613からデータブロックB3を、フラッシュメモリ610からデータブロックB4を読み出し、読み出した各データブロックをバッファメモリ609へ転送する。フラッシュメモリ611においてデータブロックの転送が終了すると、メモリカード600は、データブロックの出力が可能であることを示すレスポンス141をPC100へ出力する。続いて、バッファメモリ609からPC100へデータブロックB1を出力する。
4個のフラッシュメモリの読み出し速度はほぼ同一であるので、各フラッシュメモリからバッファメモリ609へのデータブロックの転送はほぼ同時に終了する。
データブロックB1の出力を終えた時点で、バッファメモリ609には、データブロックB2〜B4が存在する。従って、メモリカード600は、データブロックを出力可能であることを示すレスポンス142を出力し、データブロックB2を出力する。データブロックB2の出力が終了すると、同様にして、レスポンス143及びデータブロックB3の出力、レスポンス144及びデータブロックB4の出力を行う。
2.3 まとめ及び効果
以上、説明してきたように、本実施の形態2のメモリカード600は、外部機器から許容電流値Iokを取得し、メモリカード600の消費電流値が、取得した許容電流値Iok以下になる様に、並行書込数Nwと読出周波数frとを算出する。
外部機器からライトコマンドを受け取ると、算出した並行書込数Nw個のフラッシュメモリを並行に動作させデータの書き込みを実行する。
リードコマンドを受け取ると、フラッシュメモリ610〜613へ供給するクロック信号のクロック周波数を算出した読出周波数frに変更し、4個のフラッシュメモリ310〜313を並行して動作させデータの読み出しを実行する。
本実施の形態の効果について、具体的な数値を用いて説明する。なお、書き込みの処理における効果は、実施の形態1と同様であるので、ここでは、読み出しの処理における効果について、説明する。
書込消費電流値Iw=120mA、最大読出消費電流値Irmax=100mA、最大周波数100MHz、メモリ数N=4及び制御電流値a=100mAであり、フラッシュメモリ610〜613の読み出し速度は、1個当たり最大10MB/sであると想定する。
このとき、最大消費電流値は、式6より
Imax=Max(4×120,4×100)+100=580mA
である。PC100の許容電流値Iok=400mAであるとすると、Iok<Imaxであるので、メモリカード600は、式7により読出周波数
fr=100×(400−100)/4/100=75 MHz
を算出する。
読み出し動作におけるフラッシュメモリの消費電流値は、動作周波数に比例する。従って、動作周波数75MHzで4個のフラッシュメモリにより読み出しの動作をする場合、メモリカード600の消費する電流値は、
Irmax×(fr/fmax)×N+a
=100×(75/100)×4+100
=400mA
と算出することができる。従って、4個のフラッシュメモリ610〜613を動作周波数75MHzで、並行して動作させる場合の消費電流値を、PC100の許容電流値400mA以下に抑制することができた。
また、フラッシュメモリの読み出し速度は、動作周波数に比例するため、動作周波数75MHzの場合、メモリカード600の読み出し速度は
10×(75/100)×4=30MB/s
と算出することができる。従って、フラッシュメモリの動作周波数を75MHzに下げて、4個のフラッシュメモリ610〜613を平行して動作させることにより、並行動作をせずに、最大周波数で動作させる場合と比較して3倍の読み出し速度を実現することができる。
このようにして、PC100の電力供給能力の範囲内で、可能な限り読み出し高速化することができる。
なお、フラッシュメモリは、高電圧を印加し、電荷を蓄積させることによりデータを記録する。そのため、書き込み時の消費電流は、電圧の印加時間に比例し、周波数の変更によって省電効果は期待できない。従って、本実施の形態において、読み出し時のみ周波数を変更する構成にしている。
3.実施の形態3
実施の形態1及び2において、本発明は、複数のフラッシュメモリを搭載したメモリカードであるとして説明してきたが、図16に示すようなメモリカードドライブ700でもある。
メモリカードドライブ700は、4個のメモリカードスロットを備えており、4枚のメモリカード810、811、812及び813を装着して使用される。メモリカードドライブ700は、PC100及びビデオカメラ200と接続される。
メモリカードドライブ700は、実施の形態1のメモリカード300と同様に、PC100又はビデオカメラ200の供給可能な電力の範囲内で、並行して動作させることができるメモリカードの個数を算出し、算出した個数のメモリカードを並行して動作させる。
PC100及びビデオカメラ200は実施の形態1と同様であるので、説明を省略する。
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は、コマンド解析部703、並列制御部704、メモリ制御部730、731、732、733、クロック制御部705、制御情報記憶部708及びバッファメモリ709から構成される。
制御部702は、具体的には、マイクロプロセッサ、RAM、ROMを含んで構成され、前記RAM及びROMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが前記コンピュータプログラムに従って動作することにより制御部702は、その機能を達成する。
以下に、メモリカードドライブ700を構成する各部について、説明する。なお、制御部702に含まれるコマンド解析部703、クロック制御部705及びバッファメモリ709の構成及び動作は実施の形態1のコマンド解析部303及びバッファメモリ309と同様であるので、ここでは、改めて説明はしない。
(1)外部IF部701、カードIF部710、711、712及び713
外部IF部701は、実施の形態1のメモリカード300の外部IF部301と同様に外部機器と制御部702との間で各種の情報の送受信を行う。また、外部機器から供給される電力を受け取り、受け取った電力をメモリカードドライブ700を構成する各回路へ出力する。
カードIF部710、711、712及び713は、メモリカード810、811、812及び813と接続され、メモリカード810、811、812及び813とメモリ制御部730、731、732及び733との間で各種の情報の入出力を行う。また、メモリ制御部730、731、732及び733を介して、クロック制御部705からクロック信号を受け取り、受け取ったクロック信号をメモリカード810、811、812及び813へ供給する。
なお、外部IF部701と外部機器との間のデータの入出力速度は、カードIF部710、711、712及び713とメモリカード810、811、812及び813の間の入出力速度に比べて十分高速である。
(2)制御情報記憶部708
制御情報記憶部708は、図17に示すように、書込消費電流値Iw、読出消費電流値Ir、最大カード数Nmax、制御電流値aを記憶している。
書込消費電流値Iwは、メモリカードドライブ700に装着されるメモリカード1枚当たりの書き込みの動作のために、一組のメモリカード、カードIF部及びメモリ制御部が消費する電流値である。読出消費電流値Irは、メモリカード1枚当たりの読み出しの動作のために、一組のメモリカード、カードIF部、メモリ制御部が消費する電流値である。
最大カード数Nmaxは、メモリカードドライブ700に装着可能なメモリカードの枚数、すなわちメモリカードスロットの数であり、本実施の形態では、Nmax=4である。
制御電流値aは、メモリカード、カードIF部及びメモリ制御部以外の各回路が動作するために消費する電流の合計値である。
(3)メモリ制御部730、731、732及び733
メモリ制御部730は、クロック制御部705から、クロック信号を受け取り、受け取ったクロック信号をカードIF部710を介してメモリカード810へ供給する。
メモリ制御部730は、カードIF部710を介してメモリカード810の着脱を検出する。
メモリ制御部730は、並列制御部704から、ライト指示と書き込みを行うセクタを示すメモリアドレスとを受け取る。また、並列制御部704から、リード指示とメモリアドレスとを受け取る。
ライト指示とメモリアドレスを受け取ると、カードIF部710を介して、メモリカード810内の、受け取ったメモリアドレスと対応するセクタへ、バッファメモリ709から1個のデータブロックを転送する。転送が終了すると、1データブロックの書き込みが終了したことを示す終了信号を並列制御部704へ出力する。
リード指示とメモリアドレスとを受け取ると、カードIF部710を介して、受け取ったメモリアドレスと対応するセクタに記憶されているデータブロックを、メモリカード810からバッファメモリ709へ転送する。転送が終了すると、1データブロックの読み出しが終了したことを示す終了信号を並列制御部704へ出力する。
メモリ制御部730と同様にして、メモリ制御部731〜733は、カードIF部711〜713を介してメモリカード811〜813へのデータの入出力を制御する。
(4)並列制御部704
並列制御部704は、図18に示すように、コマンド実行部721、並列演算部722及びメモリ番号演算部723を含む。
並列制御部704の構成及び動作は、実施の形態1の並列制御部304の構成及び動作と類似している。従って、以下の、並列制御部704に関する説明において、並列制御部304と共通する部分については、説明を割愛し、異なる部分についてのみ、詳細に説明する。
(4−1)並列演算部722
並列演算部の722は、メモリ数Nに代わって最大カード数Nmaxを用いて、実施の形態1の並列演算部322と同様の演算を行う。詳細な動作は並列演算部322と同様であるので説明を省略する。
(4−2)メモリ番号演算部723
メモリ番号演算部723の詳細な動作は、メモリ番号演算部323と同様であるので、ここでは、簡易に説明する。なお、本実施の形態において、メモリ番号「0」〜「4」は、それぞれ、メモリカード810〜813と対応している。
メモリ番号演算部723は、コマンド実行部721から、先頭セクタ番号とセクタ数とを受け取りメモリ番号の算出を指示される。
メモリ番号の算出を指示されると、メモリ番号演算部723は、メモリ数Nに変わって最大メモリ数Nmaxを用いて、式4及び式5の演算を行い、メモリ番号とセクタ番号とを算出する。算出したセクタ番号とメモリ番号と、メモリ番号と対応するメモリカード上のアドレスであるメモリアドレスとを含むメモリテーブルを生成する。
メモリテーブルを生成すると、コマンド実行部721へ、メモリ番号の演算が終了したことを示す演算終了信号を出力する。
(4−3)コマンド実行部721
コマンド実行部721は、外部機器から出力されコマンド解析部703により解析された各種のコマンドを受け取る。
受け取ったコマンドが許容電流値を要求するものであれば、実施の形態1のコマンド実行部321の行う初期設定と同様の処理を行い、並列演算部722から並行書込数Nwと並行読出数Nrとの演算が正常に終了したことを示す演算終了信号を受け取る。
受け取ったコマンドがデータの書き込みを指示するライトコマンドであれば、実施の形態1のコマンド実行部321による<書き込み処理>と同様の手順で、外部機器からデータブロックを受け取り、各メモリ制御部へ書き込みを指示することにより、並行書込数Nw個のメモリカードに並行して書き込みを行う。
受け取ったコマンドがデータの読み出しを指示するリードコマンドであれば、実施の携帯実施の形態1のコマンド実行部321による<読み出し処理>と同様の手順で、各メモリ制御部へデータの読み出しを指示することにより、並行読出数のメモリカードから並行して、データを読み出す。
3.3 まとめ及び効果
以上説明してきたように、本実施の形態のメモリカードドライブ700は、接続される外部機器の許容電流値を取得し、取得した許容電流値の範囲内で並行して動作させることができるメモリカードの数を、読み出し時及び書き込み時についてそれぞれ算出する。
外部機器から、ライトコマンドを受け取ると、算出した並行書込数Nw個以下のメモリカードを並行して動作させる。また、リードコマンドを受け取ると、算出した並行読出数Nr個以下のメモリカードを並行して動作させる。
このようにすることで、実施の形態1のメモリカード300と同様に、接続される外部機器により供給可能な電流の範囲内で、可能な限り高速に読み出し及び書き込みを実行することができる。
3.4 実施の形態3の変形例
(1)実施の形態3のメモリカードドライブ700は、実施の形態1において説明したメモリカード300と同様に、外部機器の許容電流値Iokの範囲内で並行して動作可能なメモリカード数Nw及びNrを算出し、並行して動作させるメモリカードの数をNw又はNr以下に制限することで、メモリカードドライブの消費電流値が、許容電流値Iok以下になる様に制御している。
しかし、実施の形態2において説明した様に、読み出し時の動作周波数を変更することによって、消費電流値を許容電流値以下に抑えるようにしても良い。
(2)実施の形態3において、動作していないメモリカードへのクロック信号の供給を停止するとしても良い。
この場合、メモリ制御部730は、通常、クロック制御部705から受け取ったクロック信号を、メモリカード810へ供給していない。
コマンド実行部721から、ライト指示とメモリ番号とを受け取ると、メモリカード810へクロック信号の供給を開始する。次に、バッファメモリ709から、メモリカード810へ、データブロックの転送を開始する。1データブロックの転送が終了すると、並列制御部704内のコマンド実行部721へ終了信号を出力し、メモリカード810へのクロック信号の供給を停止する。
コマンド実行部721から、リード指示を受け取った場合も、同様に、データブロックの転送中のみ、メモリカード810へクロック信号を供給する。
メモリ制御部731〜733についても、メモリカード811〜812に対して同様の制御を行う。
このようにして、メモリカードドライブ700は、動作中のメモリカードにのみクロック信号を供給し、動作していないメモリカードには、クロック信号の供給を停止する。
メモリカード810〜813の制御部は、読み出し及び書き込みの動作を行っていない場合でも、クロック信号を受け取ると、所定の動作を行い電力を消費する。従って、書き込み及び読み出しを行わないメモリカードへのクロック信号の供給を停止することで、これらのメモリカードによる電力消費を削減することができる。
(3)上記の実施の形態において、メモリカードドライブ700には、4枚のメモリカードが装着されて使用されるとして説明したが、4枚未満でもよい。
この場合、コマンド実行部721は、メモリ制御部及びカードIF部を介して、メモリカードの着脱を検出し、現在装着されているメモリカードの枚数nを記憶する。また、装着されているメモリカードとカード番号とを対応付ける。
例えば、メモリカード811が装着されていない場合には、メモリカード810とカード番号「0」、メモリカード812とカード番号「1」、メモリカード813とカード番号「3」とを対応付ける。
リードコマンド又はライトコマンドを受け取ると、メモリ番号演算部723へ先頭セクタ番号とセクタ数と共に、装着されているメモリカードの枚数nを出力する。
メモリ番号演算部723は、Nmaxに代わって、nを用いてメモリテーブルを生成する。
このようにすることで、装着されるメモリカードの枚数に応じて、データの入出力の高速化を図ることができる。利用者においては、装着するメモリカードの枚数を自由に選択することができ、利便性が向上する。
4.その他の変形例
以上、本発明の実施の形態1〜3について説明してきたが、本発明はこれらに限定されるものではなく、以下に説明する変形例も含む。
(1)上記の実施の形態1及び2において、メモリカード300及び600は4個のフラッシュメモリを搭載しているが、フラッシュメモリに限定するものではなく、他の記録素子でもよい。一例として、MRAM(Magnetoresistive Randam Access Memory)、強誘電体メモリなどである。
(2)実施の形態3及び変形例において、メモリカードドライブ700に装着されるメモリカードは、一例として、SDメモリカード、ATAフラッシュカードなどである。
(3)実施の形態3及び変形例において、メモリカードドライブ700は、予め、装着されるメモリカードの書込消費電流値Iwと読出消費電流値Irとを1個ずつ記憶しているが、種類の異なるメモリカードについて、書込消費電流値Iwと読出消費電流値Irとを記憶しているとしても良い。
例えば、SDメモリカードの書込消費電流値Iwsと読出消費電流値Irs及びATAフラッシュカードの書込消費電流値Iwaと読出消費電流値Iraとを記憶しており、装着されたメモリカードの種類を判別し、書込消費電流値Iwsと読出消費電流値Irs、又は、書込消費電流値Iwaと読出消費電流値Iraのうち何れか一方を選択して用いるとしても良い。
(4)実施の形態3において、メモリカードドライブ700は、外部機器に外付けされているが、外部機器に内蔵されているとしても良い。
(5)上記の実施の形態2において、クロック制御部605はPLLを用いて、周波数を変更しているが、PLLに代わって周波数分周器を用いても良い。
(6)上記の実施の形態1及び2では、それぞれ、並行動作するフラッシュメモリの個数、フラッシュメモリの動作周波数を変更することで、メモリカード300又は600の消費電流を調整しているが、これらを組み合わせて、並行動作するフラッシュメモリの個数及びフラッシュメモリの動作周波数の両方を変更するとしてもよい。
(7)本発明は、上記の実施の形態1〜3及び変形例を実行する方法であってもよい。
(8)また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(9)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明は、各種のデジタルデータを記録媒体に書き込み及び読み出しをする入出力装置及び記録媒体を生産する産業、前記入出力装置を解して記録媒体にアクセスする電気機器を製造する産業、前記電気機器、記録装置、記録媒体を利用して、各種のデジタルデータを生成し、加工し、記録し、販売する産業において、経営的に、また継続的及び反復的に使用することができる。
メモリカード300の使用例を示す。 ビデオカメラ200の構成を示すブロック図である。 PC100の構成を示すブロック図である。 PC100とメモリカード300との間で授受されるATAコマンドの構成の一例を示す。 メモリカード300の構成を示すブロック図である。 並列制御部304の構成を示すブロック図である。 メモリカード300装着時の、メモリカード300及びPC100の動作を示すフローチャートである。 メモリカード300及びPC100のデータの書き込み動作を示すフローチャートである。 メモリカード300及びPC100のデータの書き込み動作を示すフローチャートである。図8から続く。 メモリカード300へデータを書き込む際の各フラッシュメモリの動作を示すタイムチャートである。 実施の形態2のメモリカード600の構成を示すブロック図である。 並列制御部604の構成を示すブロック図である。 メモリカード600装着時の、メモリカード600及びPC100の動作を示すフローチャートである。 メモリカード600及びPC100のデータの読み出し動作を示すフローチャートである。 メモリカード600及びPC100のデータの読み出し動作を示すタイムチャートである。 メモリカードドライブ700の使用例を示す。 メモリカードドライブ700の構成を示すブロック図である。 並列制御部704の構成を示すブロック図である。
符号の説明
100 PC
200 ビデオカメラ
300 メモリカード
301 外部IF部
302 制御部
303 コマンド解析部
304 並列制御部
305 クロック制御部
308 制御情報記憶部
309 バッファメモリ
310〜313 フラッシュメモリ
321 コマンド実行部
600 メモリカード
700 メモリカードドライブ

Claims (20)

  1. 記録装置であって、
    1以上の半導体メモリと、
    アクセス装置から当該記録装置へ供給される電流の上限値を取得する取得手段と、
    前記アクセス装置から、前記半導体メモリへの書き込みを指示するライトコマンド及び前記半導体メモリからの読み出しを指示するリードコマンドを含むコマンドのうちの少なくとも何れかを取得するコマンド取得手段と、
    前記アクセス装置から電流の供給を受け、制御信号に従って、前記半導体メモリにアクセスするアクセス手段と、
    取得した前記上限値から、前記半導体メモリ及びアクセス手段以外の各部により消費される電流値を差し引いたアクセス上限値を算出し、算出したアクセス上限値を用いて、取得された前記コマンドの種類に応じて、前記アクセス手段及び前記半導体メモリの動作条件を設定し、
    取得された前記コマンドと設定された前記動作条件とに基づいて、前記制御信号を生成し、生成した制御信号を出力する制御手段と
    を備えることを特徴とする記録装置。
  2. 前記制御手段は、予め、前記アクセス手段及び各半導体メモリの消費する消費電流値を、前記コマンドの種類ごとに記憶しており、前記アクセス上限値と前記消費電流値とを用いて、前記コマンドの種類と対応する動作条件を設定する
    ことを特徴とする請求項1に記載の記録装置。
  3. 前記制御手段は、当該記録装置の備えている半導体メモリの総数以下の並列個数の前記半導体メモリを、並行して動作させる前記動作条件を設定し、
    前記コマンドと前記動作条件とに基づいて、前記並列個数の前記半導体メモリへのアクセスを指示する制御信号を、前記アクセス手段へ出力し、
    前記アクセス手段は、前記並列個数の前記半導体メモリへアクセスする
    ことを特徴とする請求項2に記載の記録装置。
  4. 前記消費電流値は、1個の前記半導体メモリを動作させる際に、前記アクセス手段及び前記半導体メモリの消費する電流値であり、
    前記制御手段は、前記アクセス上限値を前記消費電流値で除算して得られた商を前記並列個数として算出する
    ことを特徴とする請求項3に記載の記録装置。
  5. 前記アクセス手段は、前記半導体メモリと同数のアクセス部を含んで構成され、各アクセス部は、各半導体メモリと対応しており、
    前記制御手段は、前記並列個数と同数のアクセス信号を含んで構成される前記制御信号を生成し、
    各アクセス信号は、それぞれ異なるアクセス部と、対応する半導体メモリへのアクセスを指示するものであり、
    前記制御手段は、生成した各アクセス信号を、対応するアクセス部へ出力し、
    前記アクセス信号を受け取ったアクセス部は、受け取ったアクセス信号に従って、対応する半導体メモリへアクセスする
    ことを特徴とする請求項4に記載の記録装置。
  6. 前記制御手段は、前記半導体メモリの最大動作周波数以下のメモリ周波数で前記半導体メモリを動作させる前記動作条件を設定し、
    前記コマンドと前記動作条件に基づいて、前記メモリ周波数と同一の周波数のクロック信号を生成し、生成したクロック信号を含む前記制御信号を、前記アクセス手段へ出力し、
    前記アクセス手段は、前記制御手段から受け取ったクロック信号を、前記半導体メモリへ出力し、前記半導体メモリへアクセスする
    ことを特徴とする請求項2に記載の記録装置。
  7. 前記制御手段は、各半導体メモリが前記最大周波数で動作した場合の、前記アクセス手段及び当該半導体メモリの消費する最大電流値を前記消費電流値として記憶しており、前記最大周波数と前記最大電流値の比率と前記アクセス上限値とを用いて、前記メモリ周波数を算出する
    ことを特徴とする請求項6に記載の記録装置。
  8. 前記制御手段は、前記最大電流値に加えて前記最大動作周波数を予め記憶している
    ことを特徴とする請求項7に記載の記録装置。
  9. 前記制御手段は、読み出しを指示する前記リードコマンドに対応する前記消費電流値を記憶しており、読み出しを指示する前記リードコマンドに対応して、前記メモリ周波数で前記半導体メモリを動作させる前記動作条件を設定する
    ことを特徴とする請求項6に記載の記録装置。
  10. 前記制御手段は、分周器を備え、分周器を用いて、前記メモリ周波数と同一の周波数のクロック信号を生成し、生成したクロック信号を含む制御信号を出力する
    ことを特徴とする請求項6に記載の記録装置。
  11. 前記制御手段は、PLL(Phase Lock Loop)を備えており、前記PLLを用いて、前記メモリ周波数と同一の周波数のクロック信号を生成し、生成したクロック信号を含む制御信号を出力する
    ことを特徴とする請求項6に記載の記録装置。
  12. 前記制御手段は、当該記録装置の備えている半導体メモリの総数以下の並列個数の前記半導体メモリを、並行して動作させる第1の動作条件及び前記半導体メモリの最大動作周波数以下の動作周波数で前記半導体メモリを動作させる第2の動作条件を前記動作条件として設定し、
    前記コマンド取得手段により取得されるコマンドの種類に基づいて、前記第1及び第2の動作条件のうち少なくとも一方を採用し、採用した前記動作条件に基づく前記制御信号を生成する
    ことを特徴とする請求項2に記載の記録装置。
  13. 前記半導体メモリは、フラッシュメモリである
    ことを特徴とする請求項2に記載の記録装置。
  14. 前記半導体メモリは、不揮発性磁気メモリである
    ことを特徴とする請求項2に記載の記録装置。
  15. 前記取得手段は、前記上限値をATA(AT Attachiment)規格に準拠するSet Featuresコマンドにより取得する
    ことを特徴とする請求項1に記載の記録装置。
  16. 前記半導体メモリは可搬型であり、当該記録装置に着脱可能であり、
    前記取得手段と前記読書手段と前記制御手段とは、前記記録媒体に情報の読出及び書き込みを行うメモリカードドライブデバイスを構成する
    ことを特徴とする請求項1に記載の記録装置。
  17. 前記制御手段は、クロック信号を含む前記制御信号を出力し、
    前記アクセス手段は、アクセスする半導体メモリにのみ前記クロック信号を供給し、アクセスをしていない半導体メモリへの前記クロック信号の供給を停止する
    ことを特徴とする請求項15に記載の記録装置。
  18. 1以上の半導体メモリを備える記録装置において用いられるアクセス方法であって、
    アクセス装置から当該記録装置へ供給される電流の上限値を取得する取得ステップと、
    前記アクセス装置から、前記半導体メモリへの書き込みを指示するライトコマンド及び前記半導体メモリからの読み出しを指示するリードコマンドを含むコマンドのうちの少なくとも何れかを取得するコマンド取得ステップと、
    前記アクセス装置から電流の供給を受け、制御信号に従って、前記半導体メモリにアクセスするアクセスステップと、
    取得した前記上限値から、前記半導体メモリ及びアクセス手段以外の各部により消費される電流値を差し引いたアクセス上限値を算出し、算出したアクセス上限値を用いて、取得された前記コマンドの種類に応じて、前記アクセス手段及び前記半導体メモリの動作条件を設定し、
    取得された前記コマンドと設定された前記動作条件とに基づいて、前記制御信号を生成し、生成した制御信号を出力する制御ステップと
    を備えることを特徴とするアクセス方法。
  19. 1以上の半導体メモリを備える記録装置において用いられるアクセスプログラムであって、
    アクセス装置から当該記録装置へ供給される電流の上限値を取得する取得ステップと、
    前記アクセス装置から、前記半導体メモリへの書き込みを指示するライトコマンド及び前記半導体メモリからの読み出しを指示するリードコマンドを含むコマンドのうちの少なくとも何れかを取得するコマンド取得ステップと、
    前記アクセス装置から電流の供給を受け、制御信号に従って、前記半導体メモリにアクセスするアクセスステップと、
    取得した前記上限値から、前記半導体メモリ及びアクセス手段以外の各部により消費される電流値を差し引いたアクセス上限値を算出し、算出したアクセス上限値を用いて、取得された前記コマンドの種類に応じて、前記アクセス手段及び前記半導体メモリの動作条件を設定し、
    取得された前記コマンドと設定された前記動作条件とに基づいて、前記制御信号を生成し、生成した制御信号を出力する制御ステップと
    を備えることを特徴とするアクセスプログラム。
  20. 前記アクセスプログラムは、
    コンピュータ読み取り可能な記録媒体に記録されている
    ことを特徴とする請求項19に記載のアクセスプログラム。
JP2005516077A 2003-11-28 2004-11-19 記録装置 Active JP4264087B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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