WO2005057475A1 - 記録装置 - Google Patents

記録装置 Download PDF

Info

Publication number
WO2005057475A1
WO2005057475A1 PCT/JP2004/017268 JP2004017268W WO2005057475A1 WO 2005057475 A1 WO2005057475 A1 WO 2005057475A1 JP 2004017268 W JP2004017268 W JP 2004017268W WO 2005057475 A1 WO2005057475 A1 WO 2005057475A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
access
unit
command
semiconductor memory
Prior art date
Application number
PCT/JP2004/017268
Other languages
English (en)
French (fr)
Inventor
Takeshi Ootsuka
Hideaki Yamashita
Haruo Ohta
Original Assignee
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 Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to CN2004800352467A priority Critical patent/CN1886749B/zh
Priority to EP04820111A priority patent/EP1688866A4/en
Priority to US10/580,199 priority patent/US7512816B2/en
Priority to JP2005516077A priority patent/JP4264087B2/ja
Publication of WO2005057475A1 publication Critical patent/WO2005057475A1/ja

Links

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)

Abstract

【課題】 複数のメモリカードを並行して動作させ高速に読み出し及び書き込みを実行するメモリカードドライブにおいて、メモリカードドライブへ電力を供給する機器がメモリカードドライブへ供給できる電流値には、各機器の性能によってばらつきがあり、当該メモリカードドライブを使用できる機器が限定されている。 【解決手段】1以上の半導体メモリを搭載した記録装置において、当該記録装置を装着されるアクセス装置の供給可能な電流に応じて、並行して動作させる半導体メモリの数を制限する。                                                                                 

Description

明 細 書
記録装置
技術分野
[0001] 本発明は、アクセス装置の指示により、半導体メモリへアクセスする技術に関し、特 に、アクセス装置の供給可能な電流量を加味してアクセスする技術に関する。
背景技術
[0002] SDカードを初めとして、フラッシュメモリを搭載したメモリカードは、小型、軽量、薄 型であり、その取り扱いも容易であるため、デジタルスチルカメラなどのデジタル機器 に広く利用されている。一般に市販されているメモリカードの記憶容量は、 16MB— 5 12MBであり、記録レートは最大で lOMB/s程度である。
しかし、 DVフォーマットの動画像及び音声のデータのように、大きな記録容量を必 要とするデータを記録する場合には、記憶容量も記録レートも不充分である。例えば 、 4MB/sの再生レートのデータであれば、 2分相当のデータしか記録できないし、 書き込みには約 1分を要することになる。
[0003] これらの問題を解決するために、特許文献 1及び 2では、複数のメモリカードを装着 可能なメモリカードドライブについて開示されている。これらの技術によると、メモリ力 ードドライブに複数のメモリカードを用いることで、大きな記録容量を確保している。ま た、 RAID方式の 1つとして知られているストライビング方式を利用して複数のメモリ力 ードに並行して書き込みを行うことで、記録レートの向上を計っている。
[0004] このようなメモリカードドライブをパーソナルコンピュータ(以下 PC)をはじめとする電 気機器に接続して使用する場合、電気機器力 メモリカードドライブへ供給可能な電 流値は、機器によって異なる。 PCを例にすると、メモリカードドライブへ供給可能な電 流値は、 PCカード規格で 1Aとされている力 放熱性の問題などにより、実際には、 P Cの種類によってばらつきがある。
[0005] メモリカードドライブを用いて複数のメモリカードを並行して動作させる場合、メモリ カードドライブの消費電流は、動作させるメモリカードの枚数に比例して増加する。例 えば、消費電流を 200mAのメモリカードを 4個動作させる場合、消費電流は 800mA 必要となる。従って、このメモリカードドライブを使用可能な PCは、メモリカードドライ ブへ 800mA以上の電流を供給できるものに限定されることになる。
特許文献 1:特開 2002-189992号公報
特許文献 2:特開 2000-207137号公報
発明の開示
発明が解決しょうとする課題
[0006] し力しながら、供給できる電流量によって、接続可能な電気機器が限定されることは 利用者にとって不便であり、接続される電気機器の供給可能な電流量に関わらず、 使用可能なメモリカードドライブの要求がある。
そこで本発明は、かかる問題点に鑑みてなされたものであり、接続される電気機器 の供給可能な電流量に応じて、動作条件を変更し、消費電流を前記電気機器の供 給可能な電流量以下に抑制することができる記録装置、メモリカードドライブデバイス を提供することを目的とする。
課題を解決するための手段
[0007] 上記目的を達成するために本発明は、 1以上の半導体メモリと、アクセス装置から 当該記録装置へ供給される電流の上限値を取得する取得手段と、前記アクセス装置 から、半導体メモリへのアクセスを指示するコマンドを取得するコマンド取得手段と、 前記アクセス装置から電流の供給を受け、制御信号に従って、前記半導体メモリにァ クセスするアクセス手段と、取得した前記上限値から、前記半導体メモリ及びアクセス 手段以外の各部により消費される電流値を差し引いたアクセス上限値を算出し、算 出したアクセス上限値を用いて前記アクセス手段及び前記半導体メモリの動作条件 を設定し、前記コマンド取得手段の取得したコマンドと設定した動作条件とに基づい て、前記制御信号を生成し、生成した制御信号を出力する制御手段とを備えることを 特徴とする記録装置である。
[0008] ここで、後述する実施の形態にぉレ、て、制御手段とは、並列制御部、制御情報記 憶部及びクロック制御部に相当する。また、制御信号とは、書き込み指示、読み出し 指示及びクロック信号に相当する。 発明の効果
[0009] この構成によって、本発明の記録装置は、前記アクセス装置から取得する上限値か ら算出したアクセス上限値に基づいて動作条件を設定する。従って、適切な動作条 件を設定することによって、前記アクセス装置から供給可能な電流の範囲内で、半導 体メモリにアクセスを行うことができる。
前記記録装置において、前記制御手段は、予め、前記アクセス手段及び前記半導 体メモリの消費する消費電流値を前記コマンドと対応付けて記憶しており、前記ァク セス上限値と前記消費電流値とを用いて、前記コマンドと対応する動作条件を設定 することを特徴とする。
[0010] この構成によると、前記制御手段は、コマンドと対応する動作条件を設定する。つま り、前記制御手段は、前記アクセス装置から出力されるコマンドによって、半導体メモ リ及びアクセス手段の消費する電力が異なる場合、コマンド毎に最適な動作条件を 設定することができる。従って、前記アクセス手段は、コマンド毎に最適の動作条件で 、前記半導体メモリへアクセスすることができる。
[0011] 前記記録装置において、前記制御手段は、当該記録装置の備えている半導体メモ リの総数以下の並列個数の前記半導体メモリが、並行して動作するような前記動作 条件を設定し、前記コマンドと前記動作条件とに基づいて、前記並列個数の前記半 導体メモリへのアクセスを指示する制御信号を、前記アクセス手段へ出力し、前記ァ クセス手段は、前記並列個数の前記半導体メモリへアクセスすることを特徴とする。
[0012] この構成によると、前記制御手段は、当該記録装置の備えている半導体メモリの総 数以下の並列個数の前記半導体メモリが、並行して動作するような前記動作条件を 設定する。つまり、並行して動作する前記半導体メモリの個数を制限する。前記記録 装置の消費する電流値は、並行して動作する半導体メモリの個数に対応している。 従って、並行して動作する半導体メモリの個数を制限することにより、前記記録装置 の消費する電流値を、確実に制限することができる。
[0013] 前記消費電流値は、 1個の前記半導体メモリを動作させる際に、前記アクセス手段 及び前記半導体メモリの消費する電流値であり、前記記録装置を構成する前記制御 手段は、前記アクセス上限値を前記消費電流値で除算した商を前記並列個数として 算出することを特徴とする。
この構成によると、前記制御手段は、前記アクセス上限値を前記消費電流値で除 算した商を算出することで、簡単に前記並列個数を算出することができる。
[0014] 前記記録装置において、前記制御信号は、前記半導体メモリのうち何れ力、 1つを指 定するメモリ情報を含んでおり、前記制御手段は、それぞれの半導体メモリを指定す るメモリ情報を含む前記制御信号を順番に出力し、前記アクセス手段は、前記制御 信号を受け取り、受け取った制御信号に含まれるメモリ情報の示す前記半導体メモリ へアクセスすることを特徴とする。
[0015] この構成によると、前記制御手段は、それぞれの半導体メモリを指定するメモリ情報 を含む前記制御信号を順番に出力し、前記アクセス手段は、前記制御信号を受け取 り、受け取った制御信号に含まれるメモリ情報の示す前記半導体メモリへアクセスす る。上記のように、当該記録装置の備える半導体メモリに順番にデータを書き込んで レ、くことで、並行動作できる半導体メモリの個数が減少することを防ぐことができる。従 つて、当該記録装置のアクセス速度の低下を防ぐことができる。
[0016] また、本発明の記録装置において、前記制御手段は、前記半導体メモリの最大動 作周波数以下のメモリ周波数で前記半導体メモリが動作するような前記動作条件を 設定し、前記コマンドと前記動作条件に基づいて、前記メモリ周波数と同一の周波数 のクロック信号を生成し、生成したクロック信号を含む前記制御信号を、前記アクセス 手段へ出力し、前記アクセス手段は、前記制御手段から受け取ったクロック信号を、 前記半導体メモリへ出力し、前記半導体メモリへアクセスすることを特徴とする。
[0017] この構成によると、前記アクセス手段は、前記半導体メモリの最大動作周波数以下 のメモリ周波数と同一の周波数のクロック信号を、前記半導体メモリへ出力し、前記 半導体メモリへアクセスする。前記半導体メモリは、前記アクセス手段から受け取った クロック信号に合わせて動作するため、クロック信号の周波数を小さくすると、前記半 導体メモリの動作周波数も小さくすることができる。前記半導体メモリの動作周波数と 、前記半導体メモリ及び前記アクセス手段の消費電流値は比例する。従って、前記ァ クセス上限値に基づいて前記メモリ周波数を設定し、前記半導体メモリの動作周波 数を前記メモリ周波数に変更することで、前記記録装置の消費電流を前記上限値以 下に抑制することができる。
[0018] 本発明において、前記制御手段は、前記半導体メモリが前記最大周波数で動作し た場合の、前記アクセス手段及び前記半導体メモリの消費する最大電流値を前記消 費電流値として記憶しており、前記最大周波数と前記最大電流値の比率と前記ァク セス上限値とを用いて、前記メモリ周波数を算出することを特徴とする。
この構成によると、前記制御手段は、前記最大周波数と前記最大電流値の比率と 前記アクセス上限値とを用いて、容易に前記動作周波数を算出することができる。
[0019] 前記記録装置を構成する前記制御手段は、前記最大電流値に加えて前記最大動 作周波数を予め記憶していることを特徴とする。
この構成によると、前記制御手段は、前記最大電流値に加えて前記最大動作周波 数を予め記憶しているため、迅速に前記動作周波数を算出することができる。
また、前記制御手段は、読み出しを指示する前記コマンドに対応する前記消費電 流値を記憶しており、読み出しを指示する前記コマンドに対応して、前記メモリ周波 数で前記半導体メモリが動作するような前記動作条件を設定する。
[0020] この構成では、前記制御手段は、読み出しを指示する前記コマンドに対応して、前 記メモリ周波数で前記半導体メモリが動作するような前記動作条件を設定し、前記半 導体メモリは、前記メモリ周波数と同一の動作周波数で読み出しの動作を行う。半導 体メモリにデータを書き込む際には、一定量の電子注入が必要であり、周波数と消費 電流値に相関関係はないため、動作周波数を変更しても、消費電流値の削減には つながらない。従って、前記アクセス装置から、読み出しを指示するコマンドを受け取 つた場合に、前記メモリ周波数で、読み出し動作を行うことで、当該記憶装置の消費 電流値を減少させることができる。
[0021] 前記記録装置の前記制御手段は、分周器を備え、分周器を用いて、前記動作周 波数と同一のクロック周波数のクロック信号を生成し、生成したクロック信号を含む制 御信号を出力することを特徴とする。
この構成では、前記制御手段は、分周器を用いて、容易にクロック信号の周波数を 変更することができる。
[0022] また、前記制御手段は、 PLL (Phase Lock Loop)を備えており、前記 PLLを用 いて、前記動作周波数と同一のクロック周波数のクロック信号を生成し、生成したクロ ック信号を含む制御信号を出力することを特徴とする構成であってもよい。
この構成によると、前記制御手段は、 PLLを用いて、クロック信号の周波数を、連続 的に変更することができる。従って、前記アクセス上限値と前記コマンド取得手段が 取得したコマンドに応じた最適な周波数のクロック信号を生成し、出力することができ る。
[0023] 本発明の記録装置において、前記制御手段は、当該記録装置の備えている半導 体メモリの総数以下の並列個数の前記半導体メモリが、並行して動作するような第 1 の動作条件及び前記半導体メモリの最大動作周波数以下の動作周波数で前記半 導体メモリが動作するような第 2の動作条件を前記動作条件として設定し、前記コマ ンド取得手段により取得されるコマンドに基づいて、前記第 1及び第 2の動作条件の うち少なくとも一方を採用し、採用した前記動作条件に基づく前記制御信号を生成す ることを特 ί数とする。
[0024] この構成によると、前記第 1及び第 2の動作条件のうち少なくとも一方を採用し、採 用した前記動作条件に基づく制御信号を出力する。これにより、前記制御手段は、 前記並行動作数、半導体メモリの動作周波数のうち、何れか一方、又は両方を変更 することで、前記アクセス上限値以下の電流の範囲内で最適の動作条件を設定する こと力 Sできる。従って、前記アクセス手段は、前記アクセス上限値以下の電流を最大 限に活用し、高速に前記半導体メモリにアクセスすることができる。
[0025] 本発明の記録装置を構成する前記半導体メモリは、フラッシュメモリであることを特 徴とする。
フラッシュメモリは、現在、広く普及しており、既に数多くの生産実績がある。従って 、この構成の前記記録装置は、容易に生産可能である。
本発明の記録装置を構成する前記半導体メモリは、不揮発性磁気メモリであっても よい。
[0026] 不揮発性磁気メモリは、高速にデータを入出力することができる。また、電荷ではな ぐ電子スピンによってデータを保持するため、半永久的な記録保持時間を実現でき る。従って、この構成によると、前記記録装置は、記録保持性能に優れ、より高速に データにアクセスを行うことができる。
本発明において、前記取得手段は、前記上限値を ATA (AT Attachiment)規 格に準拠する Set Featuresコマンドにより取得することを特徴とする。
[0027] この構成によると、本発明の記録装置は、 ATA規格に準拠した各種の電気機器に おいて、使用することができる。
本発明の記録装置を構成する半導体メモリは可搬型であり、当該記録装置に着脱 可能であり、前記取得手段と前記読書手段と前記制御手段とは、前記記録媒体に情 報の読出及び書き込みを行うメモリカードドライブデバイスを構成することを特徴とす る。
[0028] この構成によると、前記記録装置は、可搬型半導体メモリとメモリカードドライブデバ イスからなる。従って、既に市販のメモリカードを前記可半型半導体メモリとして利用 することにより、前記メモリカードドライブデバイスは、既存のメモリカードを利用して高 速にデータの入出力を行うことが可能になる。
前記制御手段は、クロック信号を含む制御信号を出力し、前記アクセス手段は、ァ クセスする半導体メモリにのみ前記クロック信号を供給し、アクセスをしていない半導 体メモリへの前記クロック信号の供給を停止することを特徴とする記録装置である。
[0029] この構成によると、前記アクセス手段は、アクセスをしてレ、ない半導体メモリへの前 記クロック信号の供給を停止する。前記可搬型の半導体メモリとして、既存のメモリ力 ードを使用する場合、これらのメモリカードは、一般に、制御部、記憶部を含んで構成 される。メモリカードの制御部は、データへのアクセス要求を受けない場合であっても 、クロック信号を受け取ると、所定の動作を行い電力を消費する。従って、前記ァクセ ス手段が、アクセスしていなレ、メモリカードへクロック信号の供給を停止することにより 、これらのメモリカードの制御部により消費される電力を抑制することができる。
図面の簡単な説明
[0030] [図 1]メモリカード 300の使用例を示す。
[図 2]ビデオカメラ 200の構成を示すブロック図である。
[図 3]PC100の構成を示すブロック図である。
[図 4]PC100とメモリカード 300との間で授受される ATAコマンドの構成の一例を示 す。
[図 5]メモリカード 300の構成を示すブロック図である。
[図 6]並列制御部 304の構成を示すブロック図である。
[図 7]メモリカード 300装着時の、メモリカード 300及び PC100の動作を示すフローチ ヤートである。
[図 8]メモリカード 300及び PC100のデータの書き込み動作を示すフローチャートで ある。
[図 9]メモリカード 300及び PC100のデータの書き込み動作を示すフローチャートで ある。図 8から続く。
[図 10]メモリカード 300へデータを書き込む際の各フラッシュメモリの動作を示すタイ ムチャートである。
[図 11]実施の形態 2のメモリカード 600の構成を示すブロック図である。
[図 12]並列制御部 604の構成を示すブロック図である。
[図 13]メモリカード 600装着時の、メモリカード 600及び PC100の動作を示すフロー チャートである。
[図 14]メモリカード 600及び PC100のデータの読み出し動作を示すフローチャートで ある。
[図 15]メモリカード 600及び PC100のデータの読み出し動作を示すタイムチャートで ある。
[図 16]メモリカードドライブ 700の使用例を示す。
[図 17]メモリカードドライブ 700の構成を示すブロック図である。
[図 18]並列制御部 704の構成を示すブロック図である。
符号の説明
100 PC
200 ビデオカメラ
300 メモリカード
301 外部 IF部
302 制御部 303 コマンド解析部
304 並列制御部
305 クロック制 ί卸部
308 制御情報記憶部
309 ノ ノファメモリ
310 313 フラッシュメモリ
321 コマンド実行部
600 メモリカード
700 メモリカードドライブ
発明を実施するための最良の形態
[0032] 以下、本発明の実施の形態について図面を用いて詳細に説明する。
1.実施の形態 1
実施の形態 1のメモリカード 300は、図 1に示すように PC100及びビデオカメラ 200 に装着されて使用される。
ビデオカメラ 200は、音声及び画像データを生成し、生成した音声及び画像データ をメモリカード 300に記録する。
[0033] PC100は、ディスプレイ 140及びキーボード 150と接続されている。利用者の操作 により、メモリカード 300に記憶されているデータを再生又は編集する。
メモリカード 300は、 4個のフラッシュメモリを搭載している。外部機器、具体的には 、 PC100又はビデオカメラ 200が、メモリカード 300へ供給することができる最大の電 流値 (以下、許容電流値)を取得し、取得した許容電流値を基に、並行して動作可能 なフラッシュメモリの個数を算出する。 PCからのコマンドに対して、算出した個数のフ ラッシュメモリを並行して動作させる。
1. 1 ビデ才力メラ 200
ビデオカメラ 200は、図 2に示すように、入出力部 201、電源部 202、画像変換部 2 03、撮像部 204、制御部 207、入力部 212及び再生部 213から構成される。
[0034] ビデオカメラ 200は、具体的には、マイクロプロセッサ、 RAM、 ROMを含んで構成 され、前記 RAM及び ROMには、コンピュータプログラムが記憶されている。前記マ イク口プロセッサ力 前記コンピュータプログラムに従って動作することにより、ビデオ カメラ 200は、その機能を達成する。
(1)電源部 202
電源部 202は、ビデオカメラ 200を構成する各回路へ、電池又は外部電源からの 電力を供給する。また、入出力部 201を介してメモリカード 300へも電力を供給する。
(2)許容電流値記憶部 210
許容電流値記憶部 210は、 ROMから構成され、許容電流値を記憶している。許容 電流値は、ビデオカメラ 200がメモリカード 300へ供給することのできる電流の上限を 示す値である。
(3)入出力部 201
入出力部 201は、メモリカード 300と接続され、制御部 207とメモリカード 300との間 で各種の情報の入出力を行う。
[0035] また、電源部 202から出力される電力を、メモリカード 300へ供給する。
(4)撮像部 204及び画像変換部 203
撮像部 204は、光学レンズ、カラーフィルタ、 CCD (Charge Coupled Device)などか ら構成され、入射光を電荷に変換して画像データを生成する。
画像変換部 203は、撮像部 204により生成された画像データに直行変換の 1つで ある DCT処理、量子化処理、動き補償処理及び可変長符号化処理などを施して圧 縮する。
(5)制御部 207
制御部 207は、ビデオカメラ 200を構成する各部の動作を制御する。
[0036] また、入出力部 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から構成される。
[0037] PC100は、具体的には、マイクロプロセッサ、 RAM、 ROMを含むコンピュータシス テムであって、 RAM, ROM及び情報記憶部 111にはコンピュータプログラムが記憶 されている。前記マイクロプロセッサが前記コンピュータプログラムに従って動作する ことにより、 PC100は、その機能を達成する。
(1)電力供給部 105
電力供給部 105は、 PC100を構成する各回路へ、電力を供給する。また、外部 IF 部 101を介してメモリカード 300へも電力を供給する。
(2)許容電流値記憶部 110及び情報記憶部 111
許容電流値記憶部 110は、 ROMから構成され、許容電流値 Iokを記憶している。 許容電流値 Iokは、 PC100がメモリカード 300へ供給することのできる電流の上限を 示す値である。
[0038] 情報記憶部 111は、ハードディスクユニットから構成され、各種のデータ、コンビュ ータプログラムなどを記憶している。
(3)外部 IF部 101
外部 IF部 101は、メモリカード 300と接続され、制御部 107とメモリカード 300との間 で各種の情報の入出力を行う。
[0039] また、電力供給部 105から出力される電力を、メモリカード 300へ供給する。
(4)制御部 107
制御部 107は、 PC100を構成する各部の動作を制御する。 制御部 107は、外部 IF部 101を介してメモリカード 300を検出する。
また、入力制御部 112から、利用者のキー操作に対応した操作指示情報を受け取 る。
[0040] (4一 1)初期設定
メモリカード 300を検出すると、制御部 107は、ドライブの割り当て、メモリ空間の割 り当てなどを含むコンフイダ処理を行う。
コンフイダ処理が終了すると、メモリカード 300へメモリカード 300の消費する電流の 最大値である最大消費電流値 Imaxを要求する。外部 IF部 101を介して、メモリカー ド 300から最大消費電流値 Imaxを受け取る。最大消費電流値 Imaxを受け取ると、 許容電流値記憶部 110から、許容電流値 Iokを読み出し、読み出した許容電流値 Io kを外部 IF部 101を介して、メモリカード 300へ出力する。次に、メモリカード 300から 、 Ack (Acknowledgement)信号を受け取り、初期設定を終了する。
[0041] (4-2)書き込み処理
制御部 107は、入力制御部 112から、メモリカード 300への書き込みを示す操作指 示情報を受け取ると、メモリカード 300へデータの書き込みを指示するライトコマンド を生成する。ライトコマンドは、書き込みを開始するセクタの論理アドレスであるセクタ 番号 (以下先頭セクタ番号)と出力するデータを記録するために必要なセクタ数とを 含んでいる。セクタとは、メモリカード 300上の読み出し及び書き込みの単位となる 51 2バイトの記憶領域である。
[0042] 次に、生成したライトコマンドを外部 IF部 101を介してメモリカード 300へ出力する。
次に、メモリカード 300力ら、データの書き込みが可能であることを示すレスポンスを 受け取る。レスポンスを受け取ると、メモリカード 300へ書きこむデータのうち、先頭か ら順に、 1セクタの容量に相当する 512バイト分を出力する。以下の説明において、 5 12バイトのデータをデータブロックと呼ぶ。メモリカード 300力、ら、 1データブロックの 書き込み可能であることを示すレスポンスを受け取り、次の、データブロックを出力す る。同様にして、全てのデータブロックの出力を終えるまで、レスポンスの受け取りと データブロックの出力とを繰り返す。
[0043] (4一 3)読み出し処理 制御部 107は、入力制御部 112から、読み出しを示す操作指示情報を受け取ると、 メモリカード 300へデータの読み出しを指示するリードコマンドを出力する。リードコマ ンドには、読み出しを開始するセクタの論理アドレスであるセクタ番号 (以下先頭セク タ番号)と読み出しをするセクタ数を含んでレ、る。
[0044] 次に、メモリカード 300力ら、データブロックの出力が可能であることを示すレスポン スを受け取る。続レ、て、メモリカード 300力 、 1セクタ分の容量に相当する 512バイト のデータブロックを受け取る。同様にして、リードコマンドに含んで出力したセクタ数 に相当する数のデータブロックを受け取るまで、レスポンスの受け取りとデータブロッ クの受け取りとを繰り返す。
[0045] なお、 PC100とメモリカード 300との間におレ、て、最大消費電流値、許容電流値と いった制御情報及び各種コマンドは、 ATA (AT Attachiment)コマンドにより授受 される。
図 4は、 PC100が、最大消費電流値 Iokをメモリカード 300へ出力する場合、 PC1 00が出力する ATAコマンドのフレーム構成を示している。図 4は、フレームを構成す る各フィールドの名称を縦に配置し、横にビット数を示す番号 0— 7を記載している。 Features341は、 Subcommandなどのコマンドの拡張内容が含まれるフィールドで ある。 SectorCount342は、許容電流値、セクタ数などを格納するフィールドである 。ここで ίま、 PC100の 3午容電流 ^ [直を Advanced power management level 用 いて示している。 SectorNumber343は、リードコマンド及びライトコマンドを出力す る際に、セクタ数を格納するフィールドであるが、最大消費電流値 Iokの出力の場合 には、使用されない。図中の「na」は、そのフィールドが使用されないことを示している
[0046] Cylinder Low344、 cylinder High345、 DeviceZHead346は、ライトコマンド 及びリードコマンドの際に読み出し及び書き込み先となるセクタを示す情報が格納さ れるフィールドである力 ここでは使用されない。
Command347は、各種のコマンドを格納するフィールドである。ここでは、許容電 流値 Iokの通知を示す「FEh」が格納されてレ、る。
[0047] ATAコマンドの構成については、公知であるので、ここでは詳細な説明を省略する (5)入力制御部 112及び表示制御部 113
入力制御部 112は、キーボード 150と接続されており、利用者による、キー操作を 検出し、検出したキー操作を示す操作指示情報を制御部 107へ出力する。
表示制御部 113は、制御部 107の指示によりディスプレイ 140に表示する画面を生 成する。生成した画面を垂直同期信号及び水平同期信号に合わせてディスプレイ 1 40へ出力する。
1. 3 メモリカード、 300
メモリカード 300は、図 5に示すように、外部 IF部 301、制御部 302、フラッシュメモリ 310、 311、 312及び 313力、ら構成される。制卸部 302は、コマンド角军析部 303、並 歹 IJ制卸部 304、クロック制卸部 305、メモリ制 ί卸部 330、 331、 332、 333、制 ί卸情幸艮 記憶部 308及びバッファメモリ 309を含んで構成される。
[0048] 制御部 302は、具体的にはマイクロプロセッサ、 RAM、 ROMから構成され、 RAM 及び ROMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサ が前記コンピュータプログラムに従って動作することにより、制御部 302は、その機能 を達成する。
(1)フラッシュメモリ 310、 311、 312及び 313
フラッシュメモリ 310、 311、 312及び 313は、 512バイトの容量のセクタを複数備え ており、各セクタには、メモリアドレスが割り当てられている。図 5に示す様に、各フラッ シュメモリは、それぞれ、バッファメモリ 309と接続されている。また、メモリ制御部 330 、 331、 332及び 333とそれぞれ接続されてレ、る。
[0049] フラッシュメモリ 310、 311、 312及び 313は、メモリ制卸部 330、 331、 332及び 33 3を介して、クロック制御部 305から、クロック信号を受け取る。メモリ制御部 330、 331 、 332及び 333の制御により、セクタごとに、各種データの記憶及び記憶しているデ ータの出力を行う。
(2)外部 IF部 301
外部 IF部 301は、外部機器と制御部 302との間で各種の情報の送受信を行う。ま た、外部機器力も供給される電力を受け取り、受け取った電力をメモリカード 300を構 成する各回路へ出力する。ここで、外部機器とは、 PC100又はビデオカメラ 200であ る。
[0050] なお、外部 IF部 301と外部機器との間のデータの入出力速度は、バッファメモリ 30 9とフラッシュメモリとの間のデータの入出力速度に比べて十分高速である。
(3)制御情報記憶部 308及びバッファメモリ 309
制御情報記憶部 308は、 ROMから構成され、書込消費電流値 Iw、読出消費電流 値 Ir、メモリ数 N及び制御電流値 aを記憶してレ、る。
[0051] 書込消費電流値 Iwは、メモリカード 300を構成する 1個のフラッシュメモリへ、デー タを書き込む際に一組のメモリ制御部とフラッシュメモリが消費する電流の値である。 読出消費電流値 Irは、 1個のフラッシュメモリからデータを出力する際に、一組のメモ リ制御部とフラッシュメモリが消費する電流の値である。ここで、メモリ制御部 330— 3 33及びフラッシュメモリ 310— 313の消費する電流の合計値は、動作するフラッシュ メモリの個数に比例する。
[0052] メモリ数 Nは、メモリカード 300に搭載されているフラッシュメモリの個数であり、本実 施の形態では N = 4である。制御電流値 aは、フラッシュメモリ及びメモリ制御部以外 の各回路で消費される電流の合計値である。
バッファメモリ 309は、 RAMから構成され、 512バイトのデータを記憶する領域を 4 個備えており、 4個の記憶領域は、それぞれ、フラッシュメモリ 310— 313と対応して いる。フラッシュメモリ 310と外部機器との間で入出力される各種データを一時的に記 憶する。
[0053] 具体的には、外部 IF部 301を介して、外部機器から、 512バイトのデータブロックを 受け取り、受け取ったデータブロックを記憶する。 1データブロック受け取る度に、並 列制御部 304へ、正常に受け取つたことを示す OK信号を出力する。メモリ制御部 33 0— 333の制御により、記憶しているデータブロックを、フラッシュメモリ 310、 311、 3 12又は 313へ出力する。
[0054] また、フラッシュメモリ 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へ出力する。
[0055] メモリ制御部 330は、並列制御部 304から、データの書き込みを示すライト指示と、 書き込みを行うフラッシュメモリ 310上において、データブロックを書き込むセクタを示 すメモリアドレスとを受け取る。また、並列制御部 304からデータの読み出しを示すリ ード指示と、読み出しを行うフラッシュメモリ 310上の書き込みを行うセクタを示すメモ リアドレスとを受け取る。
[0056] ライト指示とメモリアドレスとを受け取ると、メモリ制御部 330は、フラッシュメモリ 310 内の、受け取ったメモリアドレスと対応するセクタに、バッファメモリ 309に記憶されて レ、る 1データブロックを書き込む。
フラッシュメモリ 310への書き込みが終了すると、並列制御部 304へ、 1データブロ ックの書き込みが終了したことを示す終了信号を出力する。
[0057] 並列制御部 304からリード指示とメモリアドレスとを受け取ると、メモリ制御部 330は 、フラッシュメモリ 310上において、受け取ったメモリアドレスと対応するセクタに記憶 されているデータブロックを、バッファメモリ 309へ出力する。 1データブロックの出力 が終了すると、並列制御部 304へ、 1データブロックの読み出しが終了したことを示す 終了信号を出力する。
[0058] メモリ制 ί卸部 331、 332及び 333は、それぞれ、フラッシュメモリ 311、 312及び 313 について、メモリ制御部 330と同様の制御を行う。 (7)並列制御部 304
並列制御部 304は、図 6に示すように、コマンド実行部 321、並列演算部 322、メモ リ番号演算部 323から構成される。
[0059] (7— 1)並列演算部 322
並列演算部 322は、コマンド実行部 321から、メモリカード 300の消費する電流の 最大値である最大消費電流値 Imaxの算出を指示される。また、コマンド実行部 321 から許容電流値 Iokを受け取り、並行書込数 Nwと並行読出数 Nrの算出を指示され る。並行書込数 Nwは、許容電流値の範囲内で、並行して書き込みの動作を行うこと ができるフラッシュメモリの個数であり、並行読出数 Nrは、許容電流値の範囲内で並 行して読み出しの動作を行うことができるフラッシュメモリの数である。
[0060] 最大消費電流値 Imaxの算出を指示されると、制御情報記憶部 308から書込消費 電流値 Iw、読出消費電流値 Ir、メモリ数 N及び制御電流値 aを読み出す。読み出し た書込消費電流値 Iw、読出消費電流値 Ir、メモリ数 N及び制御電流値 aを基に、
Imax = Max (N X Iw, N X Ir) + a —(式 1)
を算出する。ここで、 Max (A, B)は、 A及び Bのうち値の大きい一方を示す。算出し た最大消費電流値 Imaxをコマンド実行部 321へ出力する。
[0061] 並行書込数 Nwと並行読出数 Nrの算出を指示されると、受け取った許容電流値 Io kと算出した最大電流値 Imaxとを比較し、 Iokく Imaxであれば、
Nw=INT{ (Iok-a) /Iw} 一(式 2)
Nr=INT{ (Iok— a) /lr} - (式 3)
を算出する。ここで、 INT (A)は、 A以下で最大の整数を示す。このとき、 Nw>Nで あれば、 Nw=Nとし、 Nr>Nであれば Nr=Nとする。
[0062] Iok≥Imaxであれば、 Nw = Nr=Nとする。
次に、算出した並行書込数 Nwと並行読出数 Nrとを記憶し、コマンド実行部 321へ 正常に演算が終了したことを示す演算終了信号を出力する。
(7-2)メモリ番号演算部 323
メモリ番号演算部 323は、予めメモリカード 300が備えているフラッシュメモリの数 N =4を記憶している。また、フラッシュメモリ 310— 313上のセクタの実アドレスであるメ モリアドレスと外部機器によって、出力されるセクタ番号との対応を管理している。
[0063] メモリ番号演算部 323は、コマンド実行部 321から先頭セクタ番号とセクタ数とを受 け取り、書き込み先メモリ番号又は読み出し先メモリ番号の算出を指示される。
書き込み先メモリ番号又は読み出し先メモリ番号の算出を指示されると、メモリ番号 演算部 323は、図 6に示すメモリテーブル 324を生成し、生成したメモリテーブル 324 を一時的に記憶する。
[0064] メモリテーブル 324は、 1以上のメモリ情報 326、 327 · · 'から構成される。各メモリ 情報は、セクタ番号、メモリ番号及びメモリアドレスから構成される。セクタ番号は、外 部機器により指定される、書き込み又は読み出しを行うセクタの論理アドレスである。 メモリ番号は、書き込み又は読み出しを行うフラッシュメモリと対応しており、メモリ番 号「0」、「1」、「2」、「3」fま、それぞれフラッシュメモリ 310、 311、 312、 313を示して いる。メモリアドレスは、各フラッシュメモリ上のセクタの物理アドレスである。
[0065] 具体的には、以下のような演算によりメモリテーブル 324を生成する。
書込み先メモリ番号の算出を指示されると、受け取った先頭セクタ番号とセクタ数と を基にして、以下の(式 4)及び(式 5)によりセクタ番号とメモリ番号とを算出する。 セクタ番号 =先頭セクタ番号 + t — (式 4)
メモリ番号 = (セクタ番号)%N — (式 5)
ここで、変数 tは 0以上の整数であり、初期値は 0である。
[0066] 次に、書き込み又は読み出しを行うセクタのメモリアドレスを指定し、 1メモリ情報を 生成する。次に、変数 tに 1加算する。以下同様にして、セクタ番号の算出、メモリ番 号の算出、メモリアドレスの指定、変数 tのインクリメントを、変数 tが受け取ったセクタ 数と等しくなるまで繰り返し、受け取ったセクタ数と同数のメモリ情報を生成する。 図 6に示すメモリテーブル 324は、一例として、先頭セクタ番号「3」、セクタ数「4」を 受け取った場合に、メモリ番号演算部 323が生成するメモリテーブルを示している。メ モリ情報 326は、セクタ番号「3」と示されるセクタを、メモリ番号「3」と対応するフラッシ
[0067] 次に、コマンド実行部 321へ、メモリ番号の演算が終了したことを示す演算終了信 号を出力する。 (7— 3)コマンド実行部 321
コマンド実行部 321は、図 6に示すように並列制御部 304を構成する各回路及びメ モリ制御部 330— 333と接続されており、これらの各回路の動作を制御する。
[0068] コマンド実行部 321は、コマンド解析部 303により解析されたコマンドを受け取る。
受け取ったコマンドに従って、以下に説明する初期設定、書き込み処理及び読み出 し処理を行う。
ぐ初期設定 >
コマンド解析部 303を介して、最大消費電流値 Imaxの要求を受け取ると、コマンド 実行部 321は、並列演算部 322へ最大消費電流値 Imaxの算出を指示する。並列演 算部 322から最大消費電流値 Imaxを受け取り、受け取った最大消費電流値 Imaxを 、外部 IF部 301を解して外部機器へ出力する。ここで外部機器とは、 PC100又はビ デォカメラ 200である。
[0069] 次に、外部 IF部 301及びコマンド解析部 303を介して、外部機器から許容電流値 I okを受け取る。許容電流値 Iokを受け取ると、受け取った許容電流値 Iokを並列演算 部 322へ出力し、並行書込数 Nwと並行読出数 Nrの算出を指示する。次に、並列演 算部 322から、正常に演算が終了したことを示す演算終了信号を受け取り、外部 IF 部 301を介して、外部機器へ Ack信号を出力する。
[0070] <書き込み処理 >
コマンド解析部 303を介して、ライトコマンドを受け取ると、コマンド実行部 321は、 バッファメモリ 309の 4個の記憶領域のうち 1個以上が空いているか否かを確認し、デ 一タブロックを書き込み可能であるか否力を判断する。 1個以上の記憶領域が空であ れば、書き込み可能であると判断し、 1データブロックの書き込み可能であることを示 すレスポンスを、外部 IF部 301を介して、外部機器に出力する。書き込みが可能でな レ、と判断すると、いずれかの記憶領域が空になるまで待機する。
[0071] レスポンスを出力すると、以下に説明する(a)データブロックの受け取りの制御と (b) 書き込み制御とを実行する。
(a)データブロックの受け取りの制御
外部機器からバッファメモリ 309への、一個のデータブロックの書き込みが終了する と、コマンド実行部 321は、バッファメモリ 309から 1データブロックの書き込みが終了 したことを示す OK信号を受け取る。
[0072] OK信号を受け取ると、コマンド実行部 321は、再度バッファメモリ 309の空き容量 を確認し、データブロックを書き込み可能であるか否かを判断する。書き込み可能で なければ、書き込み可能な状態になるまで待機し、書き込み可能な状態になれば、 1 データブロックの書き込みが可能であることを示すレスポンスを外部 IF部 301を介し て、外部機器へ出力する。
[0073] (b)書き込み制御
コマンド実行部 321は、並列演算部 322の記憶している並行書込数 Nwを読み出 す。次に、ライトコマンドに含まれる先頭セクタ番号とセクタ数とをメモリ番号演算部 32 3へ出力し、書き込みメモリ番号の算出を指示する。
メモリ番号演算部 323から、演算終了信号を受け取る。次に、メモリ番号演算部 32 3の記憶しているメモリテーブル 324内の先頭から Nw個のメモリ情報を選択し、選択 したメモリ情報から、メモリ番号とメモリアドレスとを抽出し、抽出したメモリ番号と対応 するメモリ制御部へ、抽出したメモリアドレスと書き込みを示すライト指示とを出力する
[0074] 具体的に、先頭セクタ番号「3」、セクタ数「4」、並行書込数 Nw= 2の場合、メモリ情 報 326及び 327から、それぞれのメモリ番号とメモリアドレスとを抽出する。メモリ番号 「3」のフラッシュメモリ 313を制御するメモリ制御部 333へ、ライト指示とメモリアドレス「 AAAA」とを出力し、メモリ番号「0」と対応するフラッシュメモリ 310を制御するメモリ 制御部 330へ、それぞれ、メモリアドレス「BBBB」ライト指示とを出力する。
[0075] 次に、いずれかのメモリ制御部から、 1データブロックの書き込みが終了したことを 示す終了信号を受け取る。この時点で、コマンド実行部 321は、メモリ制御部 333及 びメモリ制御部 330へ、データブロックの書き込みを指示しており、合計 2個のデータ ブロックの書き込みを指示し終えている。ライトコマンドと共に受け取ったセクタ数「4」 に相当する 4個のデータブロックの書き込みを指示し終えていないので、メモリテープ ル 324の次のメモリ情報 328から、メモリ番号「1」とメモリアドレス「CCCC」とを抽出し 、抽出したメモリ番号「1」と対応するメモリ制御部 331ヘライト指示とメモリアドレス「C ccc」とを出力する。
[0076] 同様にして、メモリ番号「2」と対応するメモリ制御部 332へ、ライト指示とメモリアドレ ス「0000」とを出力する。
受け取ったセクタ数「4」に相当する 4個のデータブロックの書き込みを指示し終える と、フラッシュメモリへの書き込み制御を終了する。
<読み出し処理 >
コマンド解析部 303を介して、データの読み出しを指示するリードコマンドを受け取 ると、以下に説明する(a)読み出し制御と(b)データブロックの出力制御とを実行する
[0077] (a)読み出し制御
コマンド実行部 321は、リードコマンドに含まれる先頭セクタ番号とセクタ数とをメモ リ番号演算部 323へ出力し、読み出しメモリ番号の算出を指示する。
次に、メモリ番号演算部 323から、演算終了信号を受け取り、並列演算部 322の記 憶している並行読出数 Nrを読み出す。
[0078] 書き込み処理において、説明した(a)書き込み制御 と同様の手順により、読み出 しを行うフラッシュメモリを示すメモリ番号をメモリ制御部へ出力する。なお、読み出し 制御の場合は、並列書込数 Nwに変わって、並列読出数 Nrを用レ、、ライト指示の代 わりに、読出を示すリード指示を出力する。
次に、いずれかのメモリ制御部から 1データブロックの読み出しが終了したことを示 す終了信号を受け取る。このとき、リードコマンドと共に受け取ったセクタ数に相当す るデータブロックの、読み出しの指示を出力し終えていれば、読み出し制御を終了す る。
[0079] セクタ数に相当するデータブロックの読み出しの指示を出力し終えていなければ、 次のメモリ情報に含まれるメモリ番号と対応するメモリ制御部へリード指示を出力する
(b)データブロックの出力制御
リードコマンドを受け取ると、コマンド実行部 321は、バッファメモリ 309に記憶され ているデータを確認し、 1データブロックの出力が可能であるか否かを判断する。つま り、フラッシュメモリからバッファメモリ 309へ 1データブロック以上のデータが転送済 みか否かを確認する。
[0080] 出力が可能でないと判断すると、いずれかのフラッシュメモリからバッファメモリ 309 へ、 1データブロックの転送が終了するまで待機する。
出力可能であると判断すると、データブロックの出力が可能であることを示すレスポ ンスを、外部 IF部 301を介して、外部機器へ出力する。
続いて、バッファメモリ 309へ 1データブロックの出力を指示する。次に、バッファメモ リ 309から、 1データブロックの出力が正常に終了したことを示す OK信号を受け取る 。 OK信号を受け取ると、再度バッファメモリ 309に記憶されているデータを確認し、 1 データブロックの出力が可能であるかを判断する。
[0081] 以下、同様にして、リードコマンドと共に受け取ったセクタ数に相当するデータプロ ックを出力し終えるまで、データブロックの出力の可否の判断、レスポンスの出力、 1 データブロックの出力を繰り返す。
1. 4 メモリカード 300及び PC100の動作
メモリカード 300は、 PC100及びビデオカメラ 200に装着される力 ここでは PC10 0に装着された場合について説明する。
[0082] (1)メモリカード 300装着時の動作
PC100にメモリカード 300が装着された直後の、 PC100及びメモリカード 300の動 作について、図 7のフローチャートを用いて説明する。
PC100は、外部 IF部 101を介して、メモリカード 300の装着を検出する(ステップ S 101)。次に、外部 IF部 101を介して、メモリカード 300へ、最大消費電流値 Imaxを 要求する(ステップ S102)。
[0083] メモリカード 300は、外部 IF部 301を介して、 PC100力 最大消費電流値 Imaxの 要求を受け取る。最大消費電流値 Imaxの要求を受け取ると、制御情報記憶部 308 から、書込消費電流値 Iw、読出消費電流値 Ir、メモリ数 N、制御電流値 aを読み出す (ステップ S104)。次に、読み出した書込消費電流値 Iw、読出消費電流値 Ir、メモリ 数 N、制御電流値 aを基に、最大消費電流値 Imaxを算出し (ステップ S106)、算出し た最大消費電流値 Imaxを PC100へ出力する(ステップ S107)。 [0084] PC100は、メモリカード 300から最大消費電流値 Imaxを受け取る。最大許容電流 値 Imaxを受け取ると、許容電流値記憶部 110から許容電流値 lokを読み出し (ステツ プ S108)、読み出した許容電流値 lokをメモリカード 300へ出力する(ステップ S109 メモリカード 300は、外部 IF部 301を介して、 PC100から許容電流値 lokを受け取 り、受け取った許容電流値 lokと算出した最大消費電流値 Imaxとを比較する(ステツ プ Sl l l)。 Iok≥Imaxであれば(ステップ 3111の丫£3)、並行書込数 Nw =並行読 出数 Nr =メモリ数 Nとする(ステップ S 112)。
[0085] lokく Imaxであれば(ステップ S111の NO)、 Nw=INT{ (Iok_a) Zlw}を算出し
(ステップ S 113)、 Nr = INT{ (Iok_a) Zlr }を算出し(ステップ S 114)、算出した並 行書込数 Nwと並行読出数とを記憶する。次に、 PC100へ、 Ack信号を出力する (ス テツプ S 116)。
(2)メモリカード 300への書き込み動作
メモリカード 300への書き込み動作について、図 8に示すフローチャートを用いて説 明する。ここでは、具体的に、並行書込数 Nw= 2、先頭セクタ番号「3」、セクタ数「4」 の場合について説明する。
[0086] PC100は、利用者によるキー操作を受け付け(ステップ S121)、メモリカード 300 への書き込みを指示するキー操作を受け付けると、先頭セクタ番号「3」、セクタ数「4」 を含むライトコマンドを生成し (ステップ S123)、生成したライトコマンドをメモリカード 3 00へ出力する(ステップ S 124)。
メモリカード 300は、 PC100力 ライトコマンドを受け取り、バッファメモリ 309の空き 容量を確認し、データブロックを書き込み可能か否力、を判断する(ステップ S 126)。 書き込み可能でないと判断すると(ステップ S 126の NO)、バッファメモリ 309の空き 容量が 1データブロックを書き込み可能な状態になるまで待機する。
[0087] 書き込み可能であると判断すると(ステップ S 126の YES)、データの書き込み可能 であることを示すレスポンスを PC 100生成し(ステップ S 128)、生成したレスポンスを PC100へ出力する(ステップ S129)。
PC100は、メモリカード 300からレスポンスを受け取る(ステップ S129)。レスポンス を受け取ると、出力するデータのうち 1データブロックを読み出し (ステップ S131)、読 み出したデータブロックをメモリカード 300へ出力する(ステップ S132)。
[0088] メモリカード 300は、 PC100からデータブロックを受け取り、受け取ったデータブロ ックをバッファメモリ 309へ書き込む(ステップ S133)。バッファメモリ 309への書き込 みが終了すると、再度、バッファメモリ 309の空き容量を確認し、 1データブロックを書 き込み可能であるか否かを判断する (ステップ S 134)。書き込み可能でないと判断す ると、バッファメモリ 309にデータブロックを書き込み可能な状態になるまで、待機する (ステップ S134の N〇)。
[0089] 書き込み可能であると判断すると(ステップ S 134の YES)、メモリカード 300は、デ 一タブロックを書き込み可能であることを示すレスポンスを、 PC100へ出力する。同 様にして、 PC100からデータブロックを受け取る度に、ステップ S133—ステップ S13 6を繰り返す。
PC100は、メモリカード 300力ら、レスポンスを受け取る(ステップ S136)。このとき、 メモリカード 300に書き込むデータを構成するデータブロック全てを出力し終えてい なければ(ステップ S 134の NO)、ステップ S 129へ戻り、次のデータブロックを出力 する。
[0090] また、メモリカード 300は、ステップ S133— 136の動作と並行して、ステップ S141 一ステップ S147に示す、バッファメモリ 309から各フラッシュメモリへのデータの転送 の処理を行う。
まず、ライトコマンドに含んで受け取った先頭セクタ数「3」とセクタ数「4」とを基に、 データブロックを書き込むフラッシュメモリを示すメモリ番号「3」、「0」、「1」、「2」を算 出し、メモリテーブル 324を生成する(ステップ S141)。 Nw = 2であるので、メモリ番 号「3」、「0」と対応するメモリ制御部 333及び 330ヘライト指示を出力し、バッファメモ リ 309からフラッシュメモリ 313及びフラッシュメモリ 310へのデータブロックの転送を 開始する(ステップ S 142)。
[0091] いずれかのフラッシュメモリへのデータブロックの転送が終了する(ステップ S 143) 。このとき、受け取ったセクタ数「4」に相当する 4個のデータブロックの転送を各メモリ 制御部へ、指示し終えていので(ステップ S144の NO)、メモリテーブル 324から次の メモリ番号とメモリアドレス、具体的にはメモリ番号「1」とメモリアドレス「cccc」を読み 出し、読み出したメモリ番号「1」と対応するメモリ制御部 331ヘメモリアドレス「CCCC 」とライト指示を出力し、メモリ制御部 331は、フラッシュメモリ 311へのデータブロック の転送を開始する(ステップ S 146)。
[0092] ステップ S143 146を,操り返し、メモリ番号「2」の示すフラッシュメモリ 312へのデ 一タブロックの転送を開始する。
次に、ステップ S144において、 4個のデータブロックのフラッシュメモリへの転送をメ モリ制御部へ、指示し終えていると判断する(ステップ S 144の YES)。全てのフラッシ ュメモリにおいて、データブロックの転送が完了すると(ステップ S 147)、書き込み動 作を終了する。
[0093] (3)書き込み時のタイムチャート
メモリカード 300へデータを書き込む際のメモリカード 300と PC100の間のコマンド 及びデータの授受のタイミング及びメモリカード 300内のフラッシュメモリ 310— 313 の動作タイミングについて、図 10に示すタイムチャートを用いて説明する。ここで、並 行書込数 Nw= 2であり、ライトコマンドを受け取った時点で、バッファメモリ 309の 4個 記憶領域は、すべて空であると想定する。
[0094] 図 10は、メモリカード 300が PC100力ら受け取るコマンド及びデータブロックとメモ リカード 300が PC100へ出力するレスポンスとを時間の経過に沿って並べたもので あり、横軸は時間の経過を示している。さらに、各時刻における、フラッシュメモリ 310 一 313の動作の状況を示している。
メモリカード 300は、 PC100力ら、ライトコマンド AOを受け取る。ライトコマンド AOに は、先頭セクタ番号「3」とセクタ数「4」とが含まれる。
[0095] メモリカード 300は、バッファメモリ 309の空き容量を確認し、 512バイトのデータブ ロックを書き込み可能であることを示すレスポンス 131を PC100へ出力する。
レスポンス 131を受け取ると、 PC100は、メモリカード 300へ、データブロック A1を 出力する。
[0096] これと同時に、メモリカード 300は、バッファメモリ 309からフラッシュメモリ 313への データブロック A1の転送を開始する。 PC100力、らメモリカード 300へのデータブロッ ク Alの出力が終了すると、メモリカード 300は、再度、バッファメモリ 309の空き容量 を確認し、データブロックの書き込みが可能であることを示すレスポンス 132を PC10 0へ出力する。
[0097] レスポンス 132を受け取ると、 PC100は、メモリカード 300へ、データブロック A2を 出力する。
これと同時に、メモリカード 300は、バッファメモリ 309からフラッシュメモリ 310への データブロック A2の転送を開始する。
PC100力、らメモリカード 300へのデータブロック A2の出力が終了すると、メモリカー ド 300は、再度、バッファメモリ 309の空き容量を確認し、データブロックの書き込み が可能であることを示すレスポンス 133を PC100へ出力する。
[0098] 同様にして、 PC100は、レスポンス 133を受け取ると、データブロック A3をメモリ力 ード 300へ出力する。ここで、並行書込数 Nw = 2であり、フラッシュメモリ 313及び 31 0が動作中であるので、フラッシュメモリ 313又は 310のいずれかで転送が終了する まで、その他のフラッシュメモリは動作しない。
PC100力 メモリカード 300へのデータブロック A3の出力が終了する。メモリカード 300は、再度、バッファメモリ 309の空き容量を確認し、データブロックの書き込みが 可能であることを示すレスポンス 134を PC100へ出力する。
[0099] PC100は、レスポンス 134を受け取ると、データブロック A4をメモリカード 300へ出 力する。
ここで、バッファメモリ 309には、データブロック A1— A4が記憶されており、新たな データブロックを書き込むことはできなレ、。最初に、転送を開始したフラッシュメモリ 3 13において、データブロック A1の書き込みが終了した時点で、バッファメモリ 309へ 新たなデータブロックの書き込みが可能になり、メモリカード 300は、書き込み可能で あることを示すレスポンス 135を PC100へ出力する。
[0100] 同時に、バッファメモリ 309からフラッシュメモリ 311へデータブロック A3の転送を開 始する。次に、フラッシュメモリ 310へのデータブロック A2の転送が終了すると、バッ ファメモリ 309からフラッシュメモリ 312へのデータブロック A4の転送を開始する。
1. 5 まとめ及び効果 以上、説明してきたように、メモリカード 300は、外部機器に接続されると、外部機器 の許容電流値を取得し、メモリカード 300の消費電流値が取得した許容電流値以下 になるように、並行書込数 Nwと並行読出数 Nrとを算出する。
[0101] 外部機器からライトコマンドを受け取ると、 Nw個のフラッシュメモリを、並行して動作 させ書き込みを行う。リードコマンドを受け取ると、 Nr個のフラッシュメモリを並行して 動作させて、読み出しを実行する。
本発明の効果について、具体的な数値を用いて説明する。
書込消費電流値 Iw= 100mA、読出消費電流値 Ir= 50mA、メモリ数 N = 4及び 制御電流値 a = 100mAであり、フラッシュメモリ 310— 313の書き込み及び読み出し 速度は、 1個当たり 4MBZsであると想定する。
[0102] PC100力 許容電流値 Iok= 350mAを受け取ると、メモリカード 300は、式 2及び 式 3を用いて
Nw=INT{ (350-100) /100} = 2
Nr=INT{ (350— 100) /50} = 5
を算出する。ここで、 Nr>Nであるので、 Nr=N = 4とする。
[0103] このように想定した場合、メモリカード 300の書き込み時の消費電流値は、 300mA であり、読み出し時の消費電流値は 350mAであり、いずれも許容電流値の 350mA 以下である。
また、このときのメモリカード 300の書き込み速度は、 2個のフラッシュメモリを並行し て動作させることが可能であるため、 8MB/sであり、並行して動作しない場合と比較 して 2倍の書き込み速度を実現できる。読み出し速度は、 4個のフラッシュメモリを並 行して動作させることが可能であるため、 16MB/sであり、並行して動作しない場合 と比較して 4倍の読み出し速度を実現できる。
[0104] このようにして、 PC100の電力供給能力の範囲内で、効率よぐ読み出し及び書き 込みを高速化することができる。
2.実施の形態 2
本発明の実施の形態 2のメモリカード 600について、以下に説明する。 メモリカード 600は、実施の形態 1のメモリカード 300と同様に PC100及びビデオ力 メラ 200に装着される。 PC100及びビデオカメラ 200は、の構成及び動作は実施の 形態 1と同様であるので、ここでは説明を省略する。
[0105] メモリカード 600は、 4個のフラッシュメモリを搭載しており、外部機器、具体的には、 PC100又はビデオカメラ 200から、許容電流値を受け取り、メモリカード 600の消費 電流値が受け取った許容電流値以下になるように、フラッシュメモリの動作周波数を 算出する。外部機器から、コマンドを受け取ると、算出した動作周波数で、フラッシュ メモリを動作させる。
2. 1 メモリカード、 600
メモリカード 600は、図 11に示すように、外部 IF部 601、制卸部 602、フラッシュメモリ 610、 611、 612及び 613力、ら構成される。
[0106] 制御部 602は、コマンド解析部 603、並列制御部 604、クロック制御部 605、メモリ 制卸部 630、 631、 632、 633、制 ί卸情幸艮記憶部 608及びノ ッファメモリ 609を含む。 制御部 602は、具体的にはマイクロプロセッサ、 RAM、 ROMから構成され、 RAM 及び ROMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサ が前記コンピュータプログラムに従って動作することにより、制御部 302は、その機能 を達成する。
[0107] 外部 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についてのみ説明する。
[0108] (1)制御情報記憶部 608
制御情報記憶部 608は、 ROMから構成され、図 11に示すように、書込消費電流 値 Iw、最大読出消費電流値 Irmax、メモリ数 N、最大周波数 f max及び制御電流値 a を記憶している。
書込消費電流値 Iw、メモリ数 N及び制御電流値 aは実施の形態 1と同様である。
[0109] 最大周波数 fmaxは、メモリカード 600に搭載されているフラッシュメモリが最大の読 み出し速度で読み出しの動作をする場合の動作周波数である。
最大読出消費電流値 Irmaxは、 1個のフラッシュメモリが、最大の読み出し速度で 読み出しの動作をする場合、つまり、最大周波数 fmaxで読み出しを実行する場合に 、そのフラッシュメモリ及び対応するメモリ制御部が消費する電流値である。
[0110] (2)クロック制御部 605
クロック制御部 605は、 PLL (Phase Lock Loop)を備えている。所定の時間間 隔でクロック信号を生成し、生成したクロック信号をメモリカード 600を構成する各部 へ出力する。通常、クロック制御部 605が、メモリ制御部 630 633を介して、フラッ シュメモリ 610— 613へ供給するクロック信号のクロック周波数は、最大周波数 fmax である。このとき、メモリ制御部 630 633及びフラッシュメモリ 610 613の動作周 波数も fmaxである。
[0111] クロック制御部 605は、並列制御部 604から、周波数変更指示と読出周波数 frとを 受け取る。読出周波数 frは、フラッシュメモリ 610— 613が並行して読み出しの動作 を行う際に、メモリカード 600が消費する電流値が許容電流値 Iok以下になるフラッシ ュメモリ 610— 613の動作周波数の上限値である。
周波数変更指示を受け取ると、 PLLを用いて、メモリ制御部 630— 633へ供給する クロック信号のクロック周波数を受け取った読出周波数 frに変更する。
[0112] また、並列制御部 604から変更終了指示を受け取り、フラッシュメモリ 610— 613へ 供給するクロック信号のクロック周波数を読出周波数 frから通常の最大周波数 fmax へ戻す。
(3)並列制御部 604
並列制御部 604は、図 12に示すように、コマンド実行部 621、並列演算部 622及 びメモリ番号演算部 623から構成される。
[0113] メモリ番号演算部 623は、実施の形態 1と同様であるので、ここでは本実施の形態 の特徴であるコマンド実行部 621及び並列演算部 622についてのみ説明する。
(3— 1)並列演算部 622
並列演算部 622は、コマンド実行部 621から最大消費電流値 Imaxの算出を指示さ れる。また、コマンド実行部 621から許容電流値 Iokを受け取り、並行書込数 Nwと読 出周波数 frの算出を指示される。
[0114] 最大消費電流値 Imaxの算出を指示されると、制御情報記憶部 608から書込消費 電流値 Iw、最大読出消費電流値 Irmax、メモリ数 N及び制御電流値 aを読み出す。 読み出した書込消費電流値 Iw、読出消費電流値 Ir、メモリ数 N及び制御電流値 aを 基に、
Imax = Max (N X Iw, N X Irmax) + a —(式 6)
を算出する。算出した最大消費電流値 Imaxをコマンド実行部 621へ出力する。
[0115] 並行書込数 Nwと読出周波数 frの算出を指示されると、制御情報記憶部 608から 最大周波数 fmaxを読み出す。次に、受け取った許容電流値 Iokと算出した最大電 流値 Imaxとを比較し、 Iokく Imaxであれば、
Nw=INT{ (Iok-a) /Iw} —(式 2)
fr=fmax X (Iok-a) /N/lrmax —(式 7)
を算出する。このとき、 Nw > Nであれば、 Nw = Nとし、 fr > fmaxであれば fr = fmax とする。
[0116] Iok≥Imaxであれば、 Nw=N、 fr=fmaxとする。
次に、算出した並行書込数 Nwと読出周波数 frとを記憶し、コマンド実行部 621へ 正常に演算が終了したことを示す演算終了信号を出力する。
(3— 2)コマンド実行部 621
コマンド実行部 621は、メモリカード 600が備えているフラッシュメモリの個数 N = 4 を予め記憶している。
[0117] コマンド実行部 621は、コマンド解析部 603により解析されたコマンドを受け取る。
受け取ったコマンドにより、以下に説明する初期設定、書込動作及び読出動作を実 行する。書込動作は実施の形態 1と同様であるので、ここでは説明を省略する。
(初期設定)
コマンド解析部 603を介して、最大消費電流値 Imaxを要求されると、コマンド実行 部 621は、並列演算部 622へ最大消費電流値 Imaxの算出を指示する。並列演算部 622から最大消費電流値 Imaxを受け取り、受け取った最大消費電流値 Imaxを外部 IF部 601を解して外部機器へ出力する。ここで外部機器とは、 PC100又はビデオ力 メラ 200である。
[0118] 次に、外部 IF部 601及びコマンド解析部 603を介して、外部機器から許容電流値 I okを受け取る。許容電流値 lokを受け取ると、受け取った許容電流値 lokを並列演算 部 622へ出力し、並行書込数 Nwと読出周波数 frの算出を指示する。
並列演算部 622から正常に演算が終了したことを示す演算終了信号を受け取る。 次に、外部 IF部 601を介して、外部機器へ Ack信号を出力する。
[0119] (読み出し動作)
コマンド解析部 603を介して、データの読み出しを指示するリードコマンドを受け取 る。リードコマンドには、読み出しを開始するセクタの論理アドレスである先頭セクタ番 号と読み出しを行うセクタ数とを含んでいる。リードコマンドを受け取ると、以下に説明 する(a)読み出し制御と(b)データブロックの出力制御とを実行する。
[0120] (a)読み出し制御
コマンド実行部 621は、リードコマンドに含まれる先頭セクタ番号「5」とセクタ数「4」 とをメモリ番号演算部 623へ出力し、メモリ番号の算出を指示する。次に、並列演算 部 622から読出周波数 frを読み出し、クロック制御部 605へ、読み出した読出周波数 frと周波数変更指示とを出力する。
[0121] 次に、メモリ番号演算部 623の記憶しているメモリテーブルの N個のメモリ情報から メモリ番号とメモリアドレスとを抽出し、抽出したメモリ番号の示すフラッシュメモリを制 御するメモリ制御部へ、それぞれ、抽出したメモリアドレスと読み出しを示すリード指 示とを出力する。
次に、いずれかのメモリ制御部から、読み出しが終了したことを示す終了信号を受 け取る。このとき、リードコマンドに含んで受け取ったセクタ数に相当する個数のデー タブロックの読み出しの指示を、メモリ制御部 630 633へ出力し終えていなければ 、メモリテーブルから次のメモリ番号と、メモリアドレスを抽出し、抽出したメモリ番号と 対応するメモリ制御部へリード指示を出力する。セクタ数に相当する個数のデータブ ロックのリード指示を、出力し終えるまで、メモリ番号とメモリアドレスの抽出、メモリ制 御部へのリード指示の出力を繰り返す。
[0122] 次に、リード指示を出力した全てのメモリ制御部から終了信号を受け取り、各フラッ シュメモリからのデータの読み出しが終了したと判断する。フラッシュメモリからのデー タの読み出しが終了したと判断すると、クロック制御部 605へ変更終了指示を出力す る。
(b)データブロックの出力制御
リードコマンドを受け取ると、コマンド実行部 621は、バッファメモリ 609に記憶され ているデータを確認し、 1データブロックの出力が可能であるか否かを判断する。つま り、フラッシュメモリ力、らバッファメモリ 609へ 1データブロック以上のデータが転送済 みか否かを確認する。
[0123] 出力が可能でないと判断すると、いずれかのフラッシュメモリからバッファメモリ 609 へ、 1データブロックの転送が終了するまで待機する。
出力可能であると判断すると、データブロックの出力が可能であることを示すレスポ ンスを、外部 IF部 601を介して、外部機器へ出力する。
続いて、バッファメモリ 609へ 1データブロックの出力を指示する。
[0124] リードコマンドと共に受け取ったセクタ数に相当するデータブロックを外部機器へ出 力し終えるまで、同様にして、データブロックの出力の可否の判断、レスポンスの出力 、データブロックの出力を繰り返す。
2. 2 メモリカード 600及び PC100の動作
メモリカード 600は、 PC100及びビデオカメラ 200に装着される力 ここでは、 PC1 00に装着された場合について説明する。
[0125] (1)メモリカード 600の装着時の動作
メモリカード 600が PC100に装着されたときの初期設定の動作について、図 13に 示すフローチャートを用いて説明する。
PC100は、外部 IF部 101を介してメモリカード 600の装着を検出し、コンフィグ処 理を行う(ステップ S201)。次に、メモリカード 600へ最大消費電流値 Imaxを要求す る(ステップ S 202)。
[0126] メモリカード 600は、 PC100から最大消費電流値 Imaxの要求を受け取る。最大消 費電流値 Imaxの要求を受け取ると、制御情報記憶部 608から、書込消費電流値 Iw 、最大読出消費電流値 Irmax、メモリ数 N及び制御電流値 aを読み出す (ステップ S2 03)。次に、読み出した書込消費電流値 Iw、最大読出消費電流値 Irmax、メモリ数 N及び制御電流値 aを用いて、最大消費電流値 Imaxを算出し (ステップ S204)、算 出した最大消費電流値 Imaxを PC100へ出力する(ステップ S207)。
[0127] PC100は、メモリカード 600から最大消費電流値 Imaxを受け取り、許容電流値 lok を読み出す (ステップ S 209)。読み出した許容電流値 lokを外部 IF部 101を介してメ モリカード 600へ出力する(ステップ S211)。
メモリカード 600は、 PC100から、許容電流値 lokを受け取り、最大読出周波数 fm axを読み出す(ステップ S 212)。
[0128] 次に、受け取った lokと算出した最大消費電流値 Imaxとを比較する(ステップ S21 3)。 Iok≥Imaxであれば(ステップ S213の YES)、並行書込数 Nwをメモリ数 Nとし、 読出周波数 frを最大読出周波数 fmaxとする(ステップ S214)。
lokく Imaxであれば(ステップ S213の NO)、式 2により並行書込数 Nwを算出する (ステップ S217)。このとき、 Nw>Nとなる場合は、 Nw = Nとする。次に、式 7により 読出周波数 frを算出する(ステップ S218)。このとき、 fr>fmaxとなる場合、 fr=fma Xとする。
[0129] 次に、初期設定が正常に終了したことを示す Ack信号を PC100へ出力する (ステ ップ S219)。
(2)メモリカード 600からの読み出し動作
メモリカード 600からデータを読み出す際の、メモリカード 600及び PC100の動作 について、図 14に示すフローチャートを用いて説明する。
[0130] ここでは、具体的に、先頭セクタ番号「5」とセクタ数「4」の場合について説明する。
PC100は、利用者によるキー操作を受け付け(ステップ S241)、メモリカード 600か らの読み出しを示すキー操作を受け付けると、先頭セクタ番号「5」及びセクタ数「4」 を含むリードコマンドを生成し (ステップ S 243)、外部 IF部 101を介して生成したリー ドコマンドをメモリカード 600へ出力する(ステップ S244)。
[0131] 受け付けたキー操作力 読み出し以外の処理を示していれば、その他の処理を行 う(ステップ S242)。
メモリカード 600は、 PC100からリードコマンドを受け取り、受け取ったリードコマンド に含まれる先頭セクタ番号「5」とセクタ数「3」とを基に、読み出しを行うフラッシュメモ リを示すメモリ番号「1」、「2」、「3」、「0」を算出し、メモリテーブルを生成する(ステツ プ S249)。
[0132] 次に、メモリ制御部 630— 633へ出力するクロック周波数を読出周波数 frに変更す る(ステップ S251)。
メモリテーブル上の N ( = 4)個のメモリ情報からメモリ番号とメモリアドレスを抽出し、 抽出したメモリ番号「1」、 「2」、 「3」及び「0」に対応するフラッシュメモリからバッファメ モリ 609へのデータブロックの転送を開始する(ステップ S252)。
[0133] いずれかのフラッシュメモリにおいて、データブロックの転送が終了したとき、(ステツ プ S253)、受け取ったセクタ数「4」に相当する 4個のデータブロックの出力をメモリ制 御部へ指示し終えていなければ (ステップ S254の NO)、メモリテーブルを基に、次 のデータブロックの読み出しをメモリ制御部へ指示する(ステップ S256)。
合計して 4個のデータブロックの出力をメモリ制御部へ指示し終えていれば (ステツ プ S254の YES)、全てのフラッシュメモリにおける読み出しの動作が終了した後(ス テツプ S257)、クロック周波数を元に戻す(ステップ S258)。
[0134] ステップ S252—ステップ S258と並行して、ステップ S261—ステップ S264の処理 を行い、バッファメモリ 609から外部機器へデータブロックを出力する。
まず、バッファメモリ 609に 1個以上のデータブロックが存在するか否かを判断する( ステップ S261)。存在しなければ(ステップ S261の NO)、いずれかのフラッシュメモ リからバッファメモリ 609へ 1個のデータブロックの転送が終了するまで待機する。
[0135] 1個以上のデータブロックが存在する場合(ステップ S261の YES)、データブロック を出力可能であることを示すレスポンスを PC100へ出力する(ステップ S262)。続い て、 1個のデータブロックをバッファメモリ 609から PC100へ出力する(ステップ S263 )。出力し終えると、リードコマンドに含んで受け取ったセクタ数「4」に相当する 4個の データブロックを、 PC100へ出力し終えるまで(ステップ S264の YES)、ステップ S2 61— 264を繰り返す。
[0136] PC100は、メモリカード 600からレスポンスを受け取り(ステップ S262)、続いて、デ 一タブロックを受け取る(ステップ S263)。 4個のデータブロックを受け取り終えるまで (ステップ S266の YES)、レスポンス及びデータブロックの受け取りを繰り返す。
(3)読み出し時のタイムチャート
メモリカード 600からデータを読み出す際のメモリカード 600と PC100の間のコマン ド及びデータの授受のタイミング及びメモリカード 600内のフラッシュメモリ 610 613 の読み出し動作のタイミングについて、図 15に示すタイムチャートを用いて説明する
[0137] 図 15は、メモリカード 600が PC100力、ら受け取るコマンド及びメモリカード 600から PC100へ出力されるデータブロックとを時間の経過に沿って並べたものであり、横軸 は時間の経過を示している。また、各時刻におけるフラッシュメモリ 610 613の動作 状態を示している。
メモリカード 600は、 PC100力も、リードコマンド B0を受け取る。リードコマンド B0に は、先頭セクタ番号「5」とセクタ数「4」とが含まれる。
[0138] メモリカード 600は、先頭セクタ番号「5」とセクタ数「4」を基にして、メモリ番号「1」、 「2」、「3」、「0」を算出する。算出したメモリ番号と対応するフラッシュメモリ 611からデ 一タブロック B1を、フラッシュメモリ 612からデータブロック B2を、フラッシュメモリ 613 力らデータブロック B3を、フラッシュメモリ 610からデータブロック B4を読み出し、読 み出した各データブロックをバッファメモリ 609へ転送する。フラッシュメモリ 611にお いてデータブロックの転送が終了すると、メモリカード 600は、データブロックの出力 が可能であることを示すレスポンス 141を PC100へ出力する。続いて、バッファメモリ 609から PC100へデータブロック B1を出力する。
[0139] 4個のフラッシュメモリの読み出し速度はほぼ同一であるので、各フラッシュメモリか らバッファメモリ 609へのデータブロックの転送はほぼ同時に終了する。
データブロック B1の出力を終えた時点で、バッファメモリ 609には、データブロック B 2— B4が存在する。従って、メモリカード 600は、データブロックを出力可能であるこ とを示すレスポンス 142を出力し、データブロック B2を出力する。データブロック B2の 出力が終了すると、同様にして、レスポンス 143及びデータブロック B3の出力、レス ポンス 144及びデータブロック B4の出力を行う。
2. 3 まとめ及び効果 以上、説明してきたように、本実施の形態 2のメモリカード 600は、外部機器力 許 容電流値 Iokを取得し、メモリカード 600の消費電流値が、取得した許容電流値 Iok 以下になる様に、並行書込数 Nwと読出周波数 frとを算出する。
[0140] 外部機器からライトコマンドを受け取ると、算出した並行書込数 Nw個のフラッシュメ モリを並行に動作させデータの書き込みを実行する。
リードコマンドを受け取ると、フラッシュメモリ 610— 613へ供給するクロック信号のク ロック周波数を算出した読出周波数 frに変更し、 4個のフラッシュメモリ 310— 313を 並行して動作させデータの読み出しを実行する。
[0141] 本実施の形態の効果について、具体的な数値を用いて説明する。なお、書き込み の処理における効果は、実施の形態 1と同様であるので、ここでは、読み出しの処理 における効果について、説明する。
書込消費電流値 Iw= 120mA、最大読出消費電流値 Irmax= 100mA、最大周 波数 100MHz、メモリ数 N = 4及び制御電流値 a = 100mAであり、フラッシュメモリ 6 10— 613の読み出し速度は、 1個当たり最大 lOMB/sであると想定する。
[0142] このとき、最大消費電流値は、式 6より
Imax=Max (4 X 120, 4 X 100) + 100 = 580mA
である。 PC100の許容電流値 Iok=400mAであるとすると、 Iokく Imaxであるので 、メモリカード 600は、式 7により読出周波数
fr= 100 X (400-100) /4/100 = 75 MHz
を算出する。
[0143] 読み出し動作におけるフラッシュメモリの消費電流値は、動作周波数に比例する。
従って、動作周波数 75MHzで 4個のフラッシュメモリにより読み出しの動作をする場 合、メモリカード 600の消費する電流値は、
Irmax X (fr/fmax) X N + a
= 100 X (75/100) X 4+ 100
= 400mA
と算出することができる。従って、 4個のフラッシュメモリ 610— 613を動作周波数 75 MHzで、並行して動作させる場合の消費電流値を、 PC 100の許容電流値 400mA 以下に抑制することができた。
[0144] また、フラッシュメモリの読み出し速度は、動作周波数に比例するため、動作周波数 75MHzの場合、メモリカード 600の読み出し速度は
10 X (75/100) X 4 = 30MB/s
と算出することができる。従って、フラッシュメモリの動作周波数を 75MHzに下げて、 4個のフラッシュメモリ 610 613を平行して動作させることにより、並行動作をせずに 、最大周波数で動作させる場合と比較して 3倍の読み出し速度を実現することができ る。
[0145] このようにして、 PC100の電力供給能力の範囲内で、可能な限り読み出し高速化 すること力 Sできる。
なお、フラッシュメモリは、高電圧を印加し、電荷を蓄積させることによりデータを記 録する。そのため、書き込み時の消費電流は、電圧の印加時間に比例し、周波数の 変更によって省電効果は期待できない。従って、本実施の形態において、読み出し 時のみ周波数を変更する構成にしている。
3.実施の形態 3
実施の形態 1及び 2において、本発明は、複数のフラッシュメモリを搭載したメモリ力 ードであるとして説明してきたが、図 16に示すようなメモリカードドライブ 700でもある
[0146] メモリカードドライブ 700は、 4個のメモリカードスロットを備えており、 4枚のメモリ力 ード 810、 811、 812及び 813を装着して使用される。メモリカード、ドライブ 700は、 P C100及びビデオカメラ 200と接続される。
メモリカードドライブ 700は、実施の形態 1のメモリカード 300と同様に、 PC100又は ビデオカメラ 200の供給可能な電力の範囲内で、並行して動作させることができるメ モリカードの個数を算出し、算出した個数のメモリカードを並行して動作させる。
[0147] 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力ら構成される。
[0148] 制御部 702は、コマンド解析部 703、並列制御部 704、メモリ制御部 730、 731、 7 32、 733、クロック制御部 705、制御情報記憶部 708及びバッファメモリ 709から構成 される。
制御部 702は、具体的には、マイクロプロセッサ、 RAM、 ROMを含んで構成され、 前記 RAM及び ROMには、コンピュータプログラムが記憶されている。前記マイクロ プロセッサが前記コンピュータプログラムに従って動作することにより制御部 702は、 その機能を達成する。
[0149] 以下に、メモリカードドライブ 700を構成する各部について、説明する。なお、制御 部 702に含まれるコマンド解析部 703、クロック制御部 705及びバッファメモリ 709の 構成及び動作は実施の形態 1のコマンド解析部 303及びバッファメモリ 309と同様で あるので、ここでは、改めて説明はしない。
(1)外部 IF部 701、カード IF部 710、 711、 712及び 713
外部 IF部 701は、実施の形態 1のメモリカード 300の外部 IF部 301と同様に外部機 器と制御部 702との間で各種の情報の送受信を行う。また、外部機器力 供給される 電力を受け取り、受け取った電力をメモリカードドライブ 700を構成する各回路へ出 力する。
[0150] カード IF咅 β710、 711、 712及び 713は、メモリカード 810、 811、 812及び 813と 接続され、メモリカード 810、 811、 812及び 813とメモリ制卸部 730、 731、 732及び 733との間で各種の情報の入出力を行う。また、メモリ制御部 730、 731、 732及び 7 33を介して、クロック制御部 705からクロック信号を受け取り、受け取ったクロック信号 をメモリカード 810、 811、 812及び 813へ供給する。
[0151] なお、外部 IF部 701と外部機器との間のデータの入出力速度は、カード IF部 710 、 711、 712及び 713とメモリカード 810、 811、 812及び 813の間の入出力速度に 比べて十分高速である。 (2)制御情報記憶部 708
制御情報記憶部 708は、図 17に示すように、書込消費電流値 Iw、読出消費電流 値 Ir、最大カード数 Nmax、制御電流値 aを記憶している。
[0152] 書込消費電流値 Iwは、メモリカードドライブ 700に装着されるメモリカード:!枚当たり の書き込みの動作のために、一組のメモリカード、カード IF部及びメモリ制御部が消 費する電流値である。読出消費電流値 Irは、メモリカード:!枚当たりの読み出しの動 作のために、一組のメモリカード、カード IF部、メモリ制御部が消費する電流値である
[0153] 最大カード数 Nmaxは、メモリカードドライブ 700に装着可能なメモリカードの枚数、 すなわちメモリカードスロットの数であり、本実施の形態では、 Nmax = 4である。 制御電流値 aは、メモリカード、カード IF部及びメモリ制御部以外の各回路が動作 するために消費する電流の合計値である。
[0154] (3)メモリ制御部 730、 731、 732及び 733
メモリ制御部 730は、クロック制御部 705から、クロック信号を受け取り、受け取った クロック信号をカード IF部 Ί 10を介してメモリカード 810へ供給する。
メモリ制御部 730は、カード IF部 710を介してメモリカード 810の着脱を検出する。
[0155] メモリ制御部 730は、並列制御部 704から、ライト指示と書き込みを行うセクタを示 すメモリアドレスとを受け取る。また、並列制御部 704から、リード指示とメモリアドレス とを受け取る。
ライト指示とメモリアドレスを受け取ると、カード IF部 710を介して、メモリカード 810 内の、受け取ったメモリアドレスと対応するセクタへ、バッファメモリ 709から 1個のデ 一タブロックを転送する。転送が終了すると、 1データブロックの書き込みが終了した ことを示す終了信号を並列制御部 704へ出力する。
[0156] リード指示とメモリアドレスとを受け取ると、カード IF部 710を介して、受け取ったメモ リアドレスと対応するセクタに記憶されているデータブロックを、メモリカード 810から バッファメモリ 709へ転送する。転送が終了すると、 1データブロックの読み出しが終 了したことを示す終了信号を並列制御部 704へ出力する。
メモリ制 ί卸部 730と同様にして、メモリ制 ί卸部 731 733は、カード IF部 711— 713 を介してメモリカード 811— 813へのデータの入出力を制御する。
[0157] (4)並列制御部 704
並列制御部 704は、図 18に示すように、コマンド実行部 721、並列演算部 722及 びメモリ番号演算部 723を含む。
並列制御部 704の構成及び動作は、実施の形態 1の並列制御部 304の構成及び 動作と類似している。従って、以下の、並列制御部 704に関する説明において、並列 制御部 304と共通する部分については、説明を割愛し、異なる部分についてのみ、 詳細に説明する。
[0158] (4一 1)並列演算部 722
並列演算部の 722は、メモリ数 Nに代わって最大カード数 Nmaxを用いて、実施の 形態 1の並列演算部 322と同様の演算を行う。詳細な動作は並列演算部 322と同様 であるので説明を省略する。
(4-2)メモリ番号演算部 723
メモリ番号演算部 723の詳細な動作は、メモリ番号演算部 323と同様であるので、こ こでは、簡易に説明する。なお、本実施の形態において、メモリ番号「0」一「4」は、そ れぞれ、メモリカード 810— 813と対応している。
[0159] メモリ番号演算部 723は、コマンド実行部 721から、先頭セクタ番号とセクタ数とを 受け取りメモリ番号の算出を指示される。
メモリ番号の算出を指示されると、メモリ番号演算部 723は、メモリ数 Nに変わって 最大メモリ数 Nmaxを用いて、式 4及び式 5の演算を行い、メモリ番号とセクタ番号と を算出する。算出したセクタ番号とメモリ番号と、メモリ番号と対応するメモリカード上 のアドレスであるメモリアドレスとを含むメモリテーブルを生成する。
[0160] メモリテーブルを生成すると、コマンド実行部 721へ、メモリ番号の演算が終了した ことを示す演算終了信号を出力する。
(4_3)コマンド実行部 721
コマンド実行部 721は、外部機器から出力されコマンド解析部 703により解析され た各種のコマンドを受け取る。
[0161] 受け取ったコマンドが許容電流値を要求するものであれば、実施の形態 1のコマン ド実行部 321の行う初期設定と同様の処理を行い、並列演算部 722から並行書込数 Nwと並行読出数 Nrとの演算が正常に終了したことを示す演算終了信号を受け取る 受け取ったコマンドがデータの書き込みを指示するライトコマンドであれば、実施の 形態 1のコマンド実行部 321によるく書き込み処理〉と同様の手順で、外部機器か らデータブロックを受け取り、各メモリ制御部へ書き込みを指示することにより、並行 書込数 Nw個のメモリカードに並行して書き込みを行う。
[0162] 受け取ったコマンドがデータの読み出しを指示するリードコマンドであれば、実施の 携帯実施の形態 1のコマンド実行部 321によるく読み出し処理 >と同様の手順で、 各メモリ制御部へデータの読み出しを指示することにより、並行読出数のメモリカード 力 並行して、データを読み出す。
3. 3 まとめ及び効果
以上説明してきたように、本実施の形態のメモリカードドライブ 700は、接続される 外部機器の許容電流値を取得し、取得した許容電流値の範囲内で並行して動作さ せることができるメモリカードの数を、読み出し時及び書き込み時についてそれぞれ 算出する。
[0163] 外部機器から、ライトコマンドを受け取ると、算出した並行書込数 Nw個以下のメモリ カードを並行して動作させる。また、リードコマンドを受け取ると、算出した並行読出数 Nr個以下のメモリカードを並行して動作させる。
このようにすることで、実施の形態 1のメモリカード 300と同様に、接続される外部機 器により供給可能な電流の範囲内で、可能な限り高速に読み出し及び書き込みを実 行すること力 Sできる。
3. 4 実施の形態 3の変形例
(1)実施の形態 3のメモリカードドライブ 700は、実施の形態 1において説明したメ モリカード 300と同様に、外部機器の許容電流値 Iokの範囲内で並行して動作可能 なメモリカード数 Nw及び Nrを算出し、並行して動作させるメモリカードの数を Nw又 は Nr以下に制限することで、メモリカードドライブの消費電流値が、許容電流値 Iok 以下になる様に制御している。 [0164] しかし、実施の形態 2において説明した様に、読み出し時の動作周波数を変更する ことによって、消費電流値を許容電流値以下に抑えるようにしても良い。
(2)実施の形態 3において、動作していないメモリカードへのクロック信号の供給を 停止するとしても良い。
この場合、メモリ制御部 730は、通常、クロック制御部 705から受け取ったクロック信 号を、メモリカード 810へ供給していない。
[0165] コマンド実行部 721から、ライト指示とメモリ番号とを受け取ると、メモリカード 810へ クロック信号の供給を開始する。次に、バッファメモリ 709力 、メモリカード 810へ、 データブロックの転送を開始する。 1データブロックの転送が終了すると、並列制御部 704内のコマンド実行部 721へ終了信号を出力し、メモリカード 810へのクロック信号 の供給を停止する。
[0166] コマンド実行部 721から、リード指示を受け取った場合も、同様に、データブロック の転送中のみ、メモリカード 810へクロック信号を供給する。
メモリ制御部 731— 733につレヽても、メモリカード 811— 812に対して同様の制御を 行う。
このようにして、メモリカードドライブ 700は、動作中のメモリカードにのみクロック信 号を供給し、動作していないメモリカードには、クロック信号の供給を停止する。
[0167] メモリカード 810— 813の制御部は、読み出し及び書き込みの動作を行っていない 場合でも、クロック信号を受け取ると、所定の動作を行い電力を消費する。従って、書 き込み及び読み出しを行わないメモリカードへのクロック信号の供給を停止すること で、これらのメモリカードによる電力消費を削減することができる。
(3)上記の実施の形態において、メモリカードドライブ 700には、 4枚のメモリカード が装着されて使用されるとして説明したが、 4枚未満でもよい。
[0168] この場合、コマンド実行部 721は、メモリ制御部及びカード IF部を介して、メモリ力 ードの着脱を検出し、現在装着されているメモリカードの枚数 nを記憶する。また、装 着されているメモリカードとカード番号とを対応付ける。
例えば、メモリカード 811が装着されていない場合には、メモリカード 810とカード番 号「0」、メモリカード 812とカード番号「1」、メモリカード 813とカード番号「3」とを対応 付ける。
[0169] リードコマンド又はライトコマンドを受け取ると、メモリ番号演算部 723へ先頭セクタ 番号とセクタ数と共に、装着されているメモリカードの枚数 nを出力する。
メモリ番号演算部 723は、 Nmaxに代わって、 nを用いてメモリテーブルを生成する このようにすることで、装着されるメモリカードの枚数に応じて、データの入出力の高 速化を図ることができる。利用者においては、装着するメモリカードの枚数を自由に 選択することができ、利便性が向上する。
4.その他の変形例
以上、本発明の実施の形態 1一 3について説明してきたが、本発明はこれらに限定 されるものではなぐ以下に説明する変形例も含む。
[0170] (1)上記の実施の形態 1及び 2において、メモリカード 300及び 600は 4個のフラッ シュメモリを搭載している力 フラッシュメモリに限定するものではなぐ他の記録素子 でもよレヽ。一 1列として、 MRAM (Magnetoresistive Randam Access Memory )、強誘電体メモリなどである。
(2)実施の形態 3及び変形例において、メモリカードドライブ 700に装着されるメモリ カードは、一例として、 SDメモリカード、 ATAフラッシュカードなどである。
[0171] (3)実施の形態 3及び変形例において、メモリカードドライブ 700は、予め、装着さ れるメモリカードの書込消費電流値 Iwと読出消費電流値 Irとを 1個ずつ記憶している 力 種類の異なるメモリカードについて、書込消費電流値 Iwと読出消費電流値 Irとを 記憶しているとしても良い。
例えば、 SDメモリカードの書込消費電流値 Iwsと読出消費電流値 Irs及び ATAフ ラッシュカードの書込消費電流値 Iwaと読出消費電流値 Iraとを記憶しており、装着さ れたメモリカードの種類を判別し、書込消費電流値 Iwsと読出消費電流値 Irs、又は、 書込消費電流値 Iwaと読出消費電流値 Iraのうち何れか一方を選択して用いるとして も良い。
[0172] (4)実施の形態 3において、メモリカードドライブ 700は、外部機器に外付けされて いる力 外部機器に内蔵されているとしても良い。 (5)上記の実施の形態 2において、クロック制御部 605は PLLを用いて、周波数を 変更しているが、 PLLに代わって周波数分周器を用いても良い。
(6)上記の実施の形態 1及び 2では、それぞれ、並行動作するフラッシュメモリの個 数、フラッシュメモリの動作周波数を変更することで、メモリカード 300又は 600の消 費電流を調整しているが、これらを組み合わせて、並行動作するフラッシュメモリの個 数及びフラッシュメモリの動作周波数の両方を変更するとしてもよい。
[0173] (7)本発明は、上記の実施の形態 1一 3及び変形例を実行する方法であってもよい
(8)また、これらの方法をコンピュータにより実現するコンピュータプログラムであると してもょレ、し、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。 また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ 読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、 CD-RO M、 MO、 DVD, DVD-ROM, DVD-RAM, BD (Blu— ray Disc)、半導体メモリ などに記録したものとしてもよレ、。また、これらの記録媒体に記録されている前記コン ピュータプログラム又は前記デジタル信号であるとしてもよい。
[0174] また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信 回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送 等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって 、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサ は、前記コンピュータプログラムに従って動作するとしてもよい。
[0175] また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送する ことにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由し て移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい
(9)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
産業上の利用可能性
[0176] 本発明は、各種のデジタルデータを記録媒体に書き込み及び読み出しをする入出 力装置及び記録媒体を生産する産業、前記入出力装置を解して記録媒体にァクセ スする電気機器を製造する産業、前記電気機器、記録装置、記録媒体を利用して、 各種のデジタルデータを生成し、加工し、記録し、販売する産業において、経営的に 、また継続的及び反復的に使用することができる。

Claims

請求の範囲
記録装置であって、
1以上の半導体メモリと、
アクセス装置から当該記録装置へ供給される電流の上限値を取得する取得手段と 前記アクセス装置から、半導体メモリへのアクセスを指示するコマンドを取得するコ マンド取得手段と、
前記アクセス装置から電流の供給を受け、制御信号に従って、前記半導体メモリに アクセスするアクセス手段と、
取得した前記上限値から、前記半導体メモリ及びアクセス手段以外の各部により消 費される電流値を差し引いたアクセス上限値を算出し、算出したアクセス上限値を用 いて前記アクセス手段及び前記半導体メモリの動作条件を設定し、前記コマンド取 得手段の取得したコマンドと設定した動作条件とに基づいて、前記制御信号を生成 し、生成した制御信号を出力する制御手段と
を備えることを特徴とする記録装置。
前記制御手段は、予め、前記アクセス手段及び前記半導体メモリの消費する消費 電流値を前記コマンドと対応付けて記憶しており、前記アクセス上限値と前記消費電 流値とを用いて、前記コマンドと対応する動作条件を設定する
ことを特徴とする請求項 1に記載の記録装置。
前記制御手段は、当該記録装置の備えている半導体メモリの総数以下の並列個数 の前記半導体メモリが、並行して動作するような前記動作条件を設定し、
前記コマンドと前記動作条件とに基づいて、前記並列個数の前記半導体メモリへの アクセスを指示する制御信号を、前記アクセス手段へ出力し、
前記アクセス手段は、前記並列個数の前記半導体メモリへアクセスする ことを特徴とする請求項 2に記載の記録装置。
前記消費電流値は、 1個の前記半導体メモリを動作させる際に、前記アクセス手段 及び前記半導体メモリの消費する電流値であり、
前記制御手段は、前記アクセス上限値を前記消費電流値で除算した商を前記並 列個数として算出する
ことを特徴とする請求項 3に記載の記録装置。
[5] 前記制御信号は、前記半導体メモリのうち何れか 1つを指定するメモリ情報を含ん でおり、
前記制御手段は、それぞれの半導体メモリを指定するメモリ情報を含む前記制御 信号を順番に出力し、
前記アクセス手段は、前記制御信号を受け取り、受け取った制御信号に含まれるメ モリ情報の示す前記半導体メモリへアクセスする
ことを特徴とする請求項 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に記載の記録装置。
1以上の半導体メモリを備える記録装置において用いられるアクセス方法であって、 アクセス装置から当該記録装置へ供給される電流の上限値を取得する取得ステツ プと、
前記アクセス装置から、半導体メモリへのアクセスを指示するコマンドを取得するコ マンド取得ステップと
前記アクセス装置から電流の供給を受け、制御信号に従って、前記半導体メモリに
Figure imgf000051_0001
取得した前記上限値から、前記半導体メモリ及びアクセス手段以外の各部により消 費される電流値を差し引いたアクセス上限値を算出し、算出したアクセス上限値を用 いて前記アクセス手段及び前記半導体メモリの動作条件を設定し、前記コマンド取 得手段の取得したコマンドと設定した動作条件とに基づいて、前記制御信号を生成 し、生成した制御信号を出力する制御ステップと
を備えることを特徴とするアクセス方法。
1以上の半導体メモリを備える記録装置において用いられるアクセスプログラムであ つて、
アクセス装置から当該記録装置へ供給される電流の上限値を取得する取得ステツ プと、
前記アクセス装置から、半導体メモリへのアクセスを指示するコマンドを取得するコ マンド取得ステップと
前記アクセス装置から電流の供給を受け、制御信号に従って、前記半導体メモリに
Figure imgf000051_0002
取得した前記上限値から、前記半導体メモリ及びアクセス手段以外の各部により消 費される電流値を差し引いたアクセス上限値を算出し、算出したアクセス上限値を用 いて前記アクセス手段及び前記半導体メモリの動作条件を設定し、前記コマンド取 得手段の取得したコマンドと設定した動作条件とに基づいて、前記制御信号を生成 し、生成した制御信号を出力する制御ステップと を備えることを特徴とするアクセスプログラム。
前記アクセスプログラムは、
コンピュータ読み取り可能な記録媒体に記録されている ことを特徴とする請求項 19に記載のアクセスプログラム。
PCT/JP2004/017268 2003-11-28 2004-11-19 記録装置 WO2005057475A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN2004800352467A CN1886749B (zh) 2003-11-28 2004-11-19 记录装置
EP04820111A EP1688866A4 (en) 2003-11-28 2004-11-19 RECORDING APPARATUS
US10/580,199 US7512816B2 (en) 2003-11-28 2004-11-19 Recording apparatus receiving current supply from an accessing apparatus
JP2005516077A JP4264087B2 (ja) 2003-11-28 2004-11-19 記録装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003399056 2003-11-28
JP2003-399056 2003-11-28

Publications (1)

Publication Number Publication Date
WO2005057475A1 true WO2005057475A1 (ja) 2005-06-23

Family

ID=34674828

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/017268 WO2005057475A1 (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)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193810A (ja) * 2006-01-18 2007-08-02 Apple Inc フラッシュメモリ用インターリーブポリシー
JP2008060653A (ja) * 2006-08-29 2008-03-13 Matsushita Electric Ind Co Ltd 制御装置
JP2008067331A (ja) * 2006-09-11 2008-03-21 Canon Inc 情報処理装置
JP2009540432A (ja) * 2006-06-09 2009-11-19 マイクロン テクノロジー, インク. メモリデバイスの動作管理をするための方法及び装置
JP2010049586A (ja) * 2008-08-25 2010-03-04 Hitachi Ltd フラッシュメモリ搭載ストレージ装置
KR20110051209A (ko) * 2008-08-05 2011-05-17 샌디스크 아이엘 엘티디 복수의 저장 장치를 관리하기 위한 저장 시스템과 방법

Families Citing this family (16)

* 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
JP4783646B2 (ja) * 2006-02-08 2011-09-28 富士通東芝モバイルコミュニケーションズ株式会社 携帯型電子機器
GB0614515D0 (en) * 2006-07-21 2006-08-30 Ibm An apparatus for managing power-consumption
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
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
US8522055B2 (en) 2010-07-26 2013-08-27 Apple Inc. Peak power validation methods and systems for non-volatile memory
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
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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5423046A (en) 1992-12-17 1995-06-06 International Business Machines Corporation High capacity data storage system using disk array
JP2001297316A (ja) * 2000-04-14 2001-10-26 Mitsubishi Electric Corp メモリカード及びその制御方法
JP2002109494A (ja) * 2000-10-02 2002-04-12 Dainippon Printing Co Ltd Icカード、リーダライタ、icカードシステム及びicカードの動作条件設定方法

Family Cites Families (11)

* 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
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 情報記憶装置
US6824045B2 (en) * 2000-04-20 2004-11-30 Canon Kabushiki Kaisha Method and system for using multiple smartcards in a reader
JP2002189992A (ja) * 2000-12-20 2002-07-05 Sony Corp メモリカードドライブと携帯型メモリカードドライブ
JP4841070B2 (ja) 2001-07-24 2011-12-21 パナソニック株式会社 記憶装置
JP4841069B2 (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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5423046A (en) 1992-12-17 1995-06-06 International Business Machines Corporation High capacity data storage system using disk array
JP2001297316A (ja) * 2000-04-14 2001-10-26 Mitsubishi Electric Corp メモリカード及びその制御方法
JP2002109494A (ja) * 2000-10-02 2002-04-12 Dainippon Printing Co Ltd Icカード、リーダライタ、icカードシステム及びicカードの動作条件設定方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1688866A4

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2267602A3 (en) * 2006-01-18 2012-01-04 Apple Inc. Interleaving policies for flash memory
EP1818830A2 (en) 2006-01-18 2007-08-15 Apple Computer, Inc. Interleaving policies for flash memory
EP1818830B1 (en) * 2006-01-18 2018-07-18 Apple Inc. Interleaving policies for flash memory
JP2012043451A (ja) * 2006-01-18 2012-03-01 Apple Inc フラッシュメモリ用インターリーブポリシー
JP2007193810A (ja) * 2006-01-18 2007-08-02 Apple Inc フラッシュメモリ用インターリーブポリシー
EP2267602A2 (en) 2006-01-18 2010-12-29 Apple Inc. Interleaving policies for flash memory
JP2009540432A (ja) * 2006-06-09 2009-11-19 マイクロン テクノロジー, インク. メモリデバイスの動作管理をするための方法及び装置
US8248881B2 (en) 2006-06-09 2012-08-21 Micron Technology, Inc. Method and apparatus for managing behavior of memory devices
US8432765B2 (en) 2006-06-09 2013-04-30 Micron Technology, Inc. Method and apparatus for managing behavior of memory devices
JP2008060653A (ja) * 2006-08-29 2008-03-13 Matsushita Electric Ind Co Ltd 制御装置
JP2008067331A (ja) * 2006-09-11 2008-03-21 Canon Inc 情報処理装置
JP2011530731A (ja) * 2008-08-05 2011-12-22 サンディスク アイエル リミテッド 複数のストレージデバイスを管理するためのストレージシステムおよび方法
KR20110051209A (ko) * 2008-08-05 2011-05-17 샌디스크 아이엘 엘티디 복수의 저장 장치를 관리하기 위한 저장 시스템과 방법
KR101653011B1 (ko) * 2008-08-05 2016-08-31 샌디스크 아이엘 엘티디 복수의 저장 장치를 관리하기 위한 저장 시스템과 방법
JP2010049586A (ja) * 2008-08-25 2010-03-04 Hitachi Ltd フラッシュメモリ搭載ストレージ装置

Also Published As

Publication number Publication date
JPWO2005057475A1 (ja) 2009-05-07
US7512816B2 (en) 2009-03-31
JP4264087B2 (ja) 2009-05-13
EP1688866A1 (en) 2006-08-09
CN1886749A (zh) 2006-12-27
US20070055821A1 (en) 2007-03-08
EP1688866A4 (en) 2009-03-25
CN1886749B (zh) 2012-06-13

Similar Documents

Publication Publication Date Title
WO2005057475A1 (ja) 記録装置
US7412615B2 (en) Information processing equipment and power consumption control method
EP0971358A2 (en) Data processing apparatus and file management method therefor
US20060271590A1 (en) Volume information analysis module and method thereof
CN1841267A (zh) 多媒体的计算机系统及相关装置与方法
JP2010198407A (ja) 情報処理装置、およびデータ記録制御方法、並びにプログラム
WO2005088632A1 (ja) 情報処理装置および方法、プログラム記録媒体、並びにプログラム
JP6137980B2 (ja) 記録装置およびその制御方法
US8625968B2 (en) Recording apparatus and control method thereof
CA2672783C (en) Video data processing system, video server, gateway server, and video data management method
US5745783A (en) System for recording and/or reproducing data by disconnecting the recording and/or reproducing device from the data processing device upon reproduction of the data
US20080024903A1 (en) Disk-Type Storage Medium Driving Apparatus and Disk-Type Storage Medium Rotation Speed Control Method
JP4577050B2 (ja) 記録装置および方法、並びにプログラム
US7802035B2 (en) Information processing apparatus, imaging apparatus, information processing method and computer program
JP4692197B2 (ja) 記録装置、ファイル管理方法及びファイル管理プログラム
JP2007059004A (ja) 情報処理装置および方法、プログラム並びに記録媒体
JP5455689B2 (ja) 記録装置及び方法
JP2008066818A (ja) 画像再生システム、画像再生装置の制御方法及び画像再生装置
JP5103198B2 (ja) 情報記録再生装置
JP2006127401A (ja) 媒体記憶装置、媒体記憶装置のキャッシュセグメント切り替え方法、及び媒体記憶システム
JP3798438B2 (ja) メモリカードインタフェース装置
JP5890674B2 (ja) 情報処理装置、情報処理方法
US20070065117A1 (en) Digital video camera capable of recognizing incorporated recording medium by external unit
JP5963445B2 (ja) 電子機器及びプログラム
US8509597B2 (en) Recording apparatus, imaging and recording apparatus, recording method, and program

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200480035246.7

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005516077

Country of ref document: JP

DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2004820111

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2007055821

Country of ref document: US

Ref document number: 10580199

Country of ref document: US

WWW Wipo information: withdrawn in national office

Ref document number: DE

WWP Wipo information: published in national office

Ref document number: 2004820111

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 10580199

Country of ref document: US