JP2006178923A - 記憶デバイスおよびホスト機器 - Google Patents

記憶デバイスおよびホスト機器 Download PDF

Info

Publication number
JP2006178923A
JP2006178923A JP2005198969A JP2005198969A JP2006178923A JP 2006178923 A JP2006178923 A JP 2006178923A JP 2005198969 A JP2005198969 A JP 2005198969A JP 2005198969 A JP2005198969 A JP 2005198969A JP 2006178923 A JP2006178923 A JP 2006178923A
Authority
JP
Japan
Prior art keywords
performance
data
storage device
host device
class
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.)
Granted
Application number
JP2005198969A
Other languages
English (en)
Other versions
JP4874588B2 (ja
JP2006178923A5 (ja
Inventor
Teruhisa Fujimoto
曜久 藤本
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005198969A priority Critical patent/JP4874588B2/ja
Publication of JP2006178923A publication Critical patent/JP2006178923A/ja
Publication of JP2006178923A5 publication Critical patent/JP2006178923A5/ja
Application granted granted Critical
Publication of JP4874588B2 publication Critical patent/JP4874588B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

【課題】記憶デバイスをコントローラを介して制御する場合でも記憶デバイス性能をある程度推測できる簡便な方法を持った記憶デバイスを提供すること。
【解決手段】記憶デバイスは、データを記憶する半導体メモリ21を含む。コントローラ22は、外部からの要求に応じて半導体メモリにデータを書き込む指示を行う。レジスタ24は、性能に応じて規定された複数の性能クラスのうちのサポートしている最大性能を出すために必要な性能クラス情報を保持する。
【選択図】図2

Description

本発明は、記憶デバイスおよび記憶デバイスを用いるホスト機器(電子機器)に関するものであり、特に不揮発性半導体記憶装置、それを用いたメモリカード等の記憶デバイス、さらに、その記憶デバイスを実装して使用するデジタルスチルカメラ、デジタルビデオカメラ等の録画装置などの電子機器に関する。また、たとえばUSB(Universal Serial Bus)フラッシュ等の記憶デバイス、および、PC(Personal Computer)、PDA(Personal Digital Assistant)などの電子機器も本発明の範疇に含まれる。
近年、画像データや音楽データに代表される種々のデジタル情報を保存する記憶装置として、不揮発性半導体メモリを搭載したメモリカードが広まってきている。不揮発性半導体メモリのデータは、電源がオフされても消失する虞がなく、また、書き換えが可能である。不揮発性メモリとしては、NAND型などのフラッシュメモリが多用されている(例えば、特開2003−30993号公報(特許文献1))。
最近は、半導体製造技術の進歩によりフラッシュメモリの記憶容量は増加しており、GB単位のフラッシュメモリも出現している。
ところで、例えばフラッシュメモリを内蔵した、メモリカード等の記憶デバイスをホスト機器で使用する場合、従来は、ホスト機器が記憶デバイス内のフラッシュメモリを直接制御していた(例えば、特開2002−73409号公報(特許文献2))。このため、フラッシュメモリのプログラム時間をホスト機器が把握でき、これから、ある程度は記憶性能や記憶可能時間などを予測可能であった。
しかしながら、近年、記憶デバイスがコントローラを内蔵することが多くなり、制御方法が複雑化してきたため、単純な計算では記憶性能が求められなくなった。また、ホスト機器と記憶デバイスを接続するバスの転送速度パラメータは定義されているが、これはホスト機器が記憶デバイスへ書き込む現実の速度ではないため、性能を識別する手段とはなり得なかった。
また、NANDフラッシュTMメモリ等を格納した記憶デバイスの性能を求めるには、ホスト機器によるブロックの処理方法と合わせた計算が必要である。このため、記憶デバイス側だけで性能を決めることはできなかった。
特開2003-30993号公報 特開2002-73409号公報
そこで、大容量の記憶デバイスをコントローラを介して制御する場合でも記憶デバイス性能をある程度推測できる簡便な方法を持った電子機器、性能予測方法、記憶デバイスが望まれている。
本発明の第1の視点による記憶デバイスは、データを記憶する半導体メモリと、外部からの要求に応じて前記半導体メモリにデータを書き込む指示を行うコントローラと、性能に応じて規定された複数の性能クラスのうちのサポートしている最大性能を出すために必要な性能クラスを示す性能クラス情報を保持するレジスタと、を具備することを特徴とする。
本発明の第2の視点によるホスト機器は、性能に応じて規定された複数の性能クラスのうちのサポートしている最大性能を出すために必要な性能クラスを示す性能クラス情報およびデータを記憶する半導体メモリを含んだ記憶デバイスからのデータの読み出し、前記記憶デバイスへのデータの書き込みを行い、複数の前記性能クラスのうちの自身がサポートしている最大性能を引き出すために必要な性能クラスが設定されている、ことを特徴とする。
本発明によれば大容量の記憶デバイスをコントローラを介して制御する場合でも記憶デバイス性能をある程度推測できる簡便な方法を持った記憶デバイスおよびホスト機器を提供することができる。
以下、図面を参照して、本発明に係る実施形態を説明する。これらの実施形態は、本発明を限定するものではない。
(第1実施形態)
第1実施形態は、不揮発性半導体記憶装置を内蔵する記憶デバイス、および記憶デバイスを用いるホスト機器に関する。
[1]記憶デバイスおよびホスト機器の構成
本発明の第1実施形態に係るホスト機器に用いられる記憶デバイスに内蔵された不揮発性半導体記憶装置として、NANDフラッシュTMメモリが用いられた場合を例にとって説明する。
図1は、本実施形態に係る半導体記憶装置をNANDフラッシュTMメモリで実現した場合の、半導体記憶装置(半導体メモリ)全体の構成を示すブロック図である。
図1において、11はメモリセルアレイである。メモリセルアレイ11内には、複数のワード線、選択ゲート線およびビット線が設けられている(図示せぬ)。また複数のワード線とビット線には複数のメモリセル(図示せぬ)が接続されている。複数のメモリセルは、後述のように、複数のブロックへと分割されている。
メモリセルアレイ11には、データ保持回路12およびロウデコーダ回路13とが接続されている。データ保持回路12は、複数のラッチ回路からなる。ロウデコーダ回路13は、複数のワード線および選択ゲート線を選択的に駆動する。
データ保持回路12は、メモリセルアレイ11からのデータ読み出し時にはビット線を介して読み出されるデータを一時的に保持し、メモリセルアレイ11に対するデータ書き込み時には書き込みデータを一時的に保持しビット線を介してメモリセルアレイ11に供給する。
データ保持回路12には入出力バッファ(I/Oバッファ)14およびカラムデコーダ回路15が接続されている。データ読み出し時に、データ保持回路12で保持されている読み出しデータのうち、カラムデコーダ回路15の出力に応じて選択されたデータのみが入出力バッファ14を介して半導体記憶装置外部に読み出される。また、データ書き込み時には、入出力バッファ14を介して半導体記憶装置外部から供給される書き込みデータが、カラムデコーダ回路15の出力に応じて選択されたデータ保持回路12内のラッチ回路で保持される。
ロウデコーダ回路13は、データの読み出し時および書き込み時に、メモリセルアレイ11内のワード線および選択ゲート線を選択的に駆動し、メモリセルアレイ11内の1ページ分のメモリセルが同時に選択されるようにする。
アドレスラッチ16は、アドレス入力をラッチし、ロウアドレスをロウデコーダ回路13に供給し、カラムアドレスをカラムデコーダ回路15に供給する。
コマンドラッチ17は、コマンド入力を受ける。コマンドラッチ17には、コマンドデコーダ18が接続されている。コマンドデコーダ18は、コマンドをデコードして各種制御信号を出力する。そして、コマンドデコーダ18から出力される制御信号に基づいて、データ保持回路12、ロウデコーダ回路13、入出力バッファ14、カラムデコーダ回路15、アドレスラッチ16などの動作が制御される。
NANDフラッシュTMメモリの場合、アドレスラッチやコマンドラッチが入出力バッファ14に接続されており(図示せず)、NANDフラッシュTMメモリの入出力ピンからアドレスやコマンドが供給される。
なお、この半導体記憶装置には上記した各回路の他に、高電圧・中間電圧発生回路(図示せず)などが設けられる。高電圧・中間電圧発生回路は、データの書き込み時および消去時にロウデコーダ回路13やメモリセルアレイ11に供給される高電圧および中間電圧を発生する。
図2に、図1のメモリが内蔵された記憶デバイスの一例、およびその記憶デバイスを用いるホスト機器の一例を図示する。この記憶デバイス19は、例えばメモリカードである。このメモリカードの一例として、例えば、SDTMメモリカードが考えられる。SDTMメモリカードを用いた場合の詳細については後述する。
メモリカードには、図2に示すようにフラッシュメモリ(図中の記憶領域21)、および、フラッシュメモリをコントロールするデバイスコントローラ22が内蔵されている。フラッシュメモリは図1の構成を有する。
デバイスコントローラ22は、バージョン情報レジスタ23、性能識別コードレジスタ24、性能パラメータレジスタ25を具備している。バージョン情報レジスタ23は、バージョン情報を保持し、バージョン情報は、メモリカードのバージョンを識別するために用いられる。性能識別コードレジスタ24は、性能識別コードは保持し、性能識別コードは、性能区分(性能クラス)を識別するために用いられる。性能パラメータレジスタ25は、記憶デバイスの性能パラメータ(後に詳述)を保持する。
この記憶デバイス19がホスト機器20に接続された場合、ホスト機器20は、内蔵のプロセッサ28により内蔵のホストコントローラ26を制御し、記憶デバイス19との間でデータの授受を行う。
ホスト機器20からデータを送り出す場合には、まず、内蔵のホストバッファ(バッファメモリ)27にデータを一時保存し、ホストコントローラ26を介して記憶デバイス19にデータを送り出す。ホストバッファ27により、記憶デバイスの時間による性能の変動をある程度は吸収することができる。
なお、ホストバッファ27は、システムメモリ29の一部を利用して実現されても良い。こうすることにより、ホストバッファ27としての特別なメモリを持つ必要がなく、また、通常、大きなホストバッファ27が必要なので、システムメモリ29上に確保することは効率的である。
ホスト機器20は、1回のマルチブロック書き込みコマンド(連続した複数のブロックを1つの書き込みコマンドで書き込むためのコマンド)でデータを書き込むことができる。
[2]カード規格の性能定義
ホスト機器20が記憶デバイス19の性能を知得できるように、記憶デバイス19は、自身の性能に応じた性能のクラス、および各種の性能パラメ−タの情報を保持している。以下、性能パラメータの定義について説明する。なお、以下、記憶デバイス19としてメモリカード、特にSDTMメモリカードを例に取り説明する。
ホスト機器20から記憶デバイス(メモリカード)19へのデータ伝送性能は制御バス上の伝送速度であると仮定する。ここで、制御バス30は、図2中のホストコントローラ26とデバイスコントローラ22を双方向に結ぶ太い矢印に対応する。なお、この伝送速度はホスト機器20が最適な状態で書き込みをした場合を仮定している。
[2−1]パフォーマンスカーブの定義
[2−1−1]記憶領域の分割
まず、性能クラスの規定に用いられるパフォーマンスカーブの説明に必要な、ホスト機器20および記憶デバイス19による記憶領域の分割について説明する。
ホスト機器20は、記憶領域21を例えば16kBの記録ユニット(RU)と呼ばれる単位に分け、RUごとに動画データ等の書き込みを行う。すなわち、RU(書き込み単位領域)は、1回のマルチブロック書き込みコマンドで書き込まれる単位に相当する。
RUは例えばSDTMファイルシステムで定義されるクラスタと同じ、またはその整数倍の大きさであると考えればよい。
RUの単位は、32kB、64kB、128kB等、任意である。ホスト機器20は、後述のように、動画データ等を記録可能なRUの数を数えることにより、残存記録時間を計算することができる。
図3は、ホスト機器20から見た場合の記憶領域21の分割の概要、およびメモリカード19が実際に行う記憶領域21の分割の概要を示している。図3の左側は、ホスト機器20が想定している記憶領域21の分割に対応し、図3の右側は、記憶デバイス19での実際の記憶領域21の分割に対応する。
図3に示すように、ホスト機器20から見た場合、RU32が記憶単位であり、アロケーションユニット(AU)31が、複数のRU32の集合として定義される。AU(管理単位領域)は、管理単位であり、記憶デバイス19の全ての記憶領域21をAU寸法SAUに分けるものとして規定される。
RU32とAU31との関係は図3に示した、記憶デバイス19(デバイスコントローラ22)側から記憶領域21を見た場合のページ34とブロック33の関係に類似している。ページ34はデバイスコントローラ22が記憶領域21に対して書き込みまたは読み出しする際のアクセス単位である。ブロック33は、複数のページ34からなり、デバイスコントローラ22が記憶領域21を消去する際の単位である。
例えば記憶領域21として東芝のNANDフラッシュTMメモリTC58512FTを使用した場合、ページ34のサイズは512Bであり、ブロック33のサイズは16kBである(なお、ここでは簡便のため冗長部の容量は無視している)。また、これ以外に、ページサイズが2kB、4kBなどのNANDフラッシュTMメモリを使用することも可能である。
ページ34とRU32とは一致する必要はなく、RU32はページ34の整数倍にすることができる。同様に、AU寸法SAUはRU寸法の整数倍である。AU31はブロック33の整数倍にすることができる。以下の説明では、RU32、AU31を基本単位として説明する。
[2−1−2]パフォーマンスカーブの求め方
ホスト機器20によりRU単位のデータがメモリ領域21内のAの場所からBの場所まで順次記入される場合を例に取って、パフォーマンスカーブについて、図4を用いて説明する。
典型例としては、AからBまでの領域は、AU31に対応する。使用済みのRU31を含んだAU31に新規にデータを記入する場合について検討する。図4に示すように、このAU31の論理アドレスをLAとする。このAU31中の各RU32に新規にデータを書き込む場合、実際には、データが書き込まれていた物理ブロックPAA内の既にデータが書き込まれている(使用済みの)RU(図中Used)32のデータを別の物理ブロックPAB内のRU32に書き写し、さらに新規に書き込むデータを書き込む作業が必要になる。この作業の終了後に新規に物理ブロックPABを論理アドレスLAに対応付ける。
この作業の実施に際して、当初データが記入されていない(図中Free)RU32に新規にデータを書き込む時間は、単純に書き込み時間に対応する。この時間を書き込みパフォーマンスPwとする。
一方、既に書き込まれているデータを別のRU32に書き写す場合、新規の物理ブロックPAB内のRU32(例えばRU32b)にデータを書き込む時間に加え、元のRU32(例えばRU32a)からデータを読み出す時間がかかる。
さらに、旧物理ブロックPAAに使用済みのRU32がある場合、それをスキップして空いているRU(例えば図中Data3の付されたRU)32に書き込む。また、新規のデータを書き込む前に、使用済みのRU32のデータの移動先のRU32(例えばRU32b)に書き込む必要がある。その使用済みのRUのデータの移動処理の間、新規のデータの書き込みは停止される。これらに要する時間をデータの移動パフォーマンスPmとする。新規データ記入の合計の所要時間は、書き込み時間の総計と、移動時間の総計の合計時間になる。
以上の説明から平均パフォーマンスP(Nu)を数式化すると[数式1]のようになる。
[数式1]
平均パフォーマンス:P(Nu)
=[Sc×(Nt−Nu)]/[Sc×(Nt−Nu)/Pw+Sc×Nu/Pm]
=[(Nt−Nu)×Pm×Pw]/[(Nt−Nu)×Pm+Nu×Pw]
ここで、
Sc:RUの寸法
Nt:AからBに順次書き込むRU数の合計(AUを構成するRU数)
Nu:AからBの間の使用済みRU数(AU中の使用済みRU数)
Pw:書き込みパフォーマンス(MB/sec単位)
Pm:移動パフォーマンス(MB/sec単位)
である。
この式は、書き込みパフォーマンスPwと移動パフォーマンスPmによりパフォーマンスが決定されることを前提にしている。
書き込みパフォーマンスPwは、メモリカード19(フラッシュメモリ(記憶領域21))のプログラム時間によって変わる。また、書き込みパフォーマンスPwは、あるAU31内の全てのRU32が未使用の状態で、AU31中の全RU32に連続書き込みした場合の、パフォーマンスの平均の最小値として定義される。
なお、書き込みパフォーマンスは、フロントエンド側の処理時間によっても変動する。そして、フロントエンド処理時間は、SDTMメモリカードを例に取れば、SDクロック周波数(SD clock frequency)に依存する。以下、このことについて説明する。図5は、マルチブロック書き込みコマンドを用いたときの書き込み動作タイミングの一例を示している。書き込み動作の第1段階では、バックエンド側は、フロントエンド側から書き込みデータが到着するまで待つ。第2段階ではバックエンド側、フロントエンド側とも動作する。したがって、マルチブロック書き込み時の書き込み時間は、フロントエンド、バックエンドに分けて考察する必要がある。なお、第2段階では、バックエンド側の書き込み時間がフロントエンド側のそれよりも主要となる。
バックエンド書き込み時間tWBはフラッシュメモリ(記憶領域21)への書き込みが開始されてから、全ての書き込みが完了するまでの時間の合計になる。
他方のフロントエンド処理時間tWFは、マルチブロック書き込みコマンドの開始からフラッシュメモリの書き込み開始までの合計時間になる。また、上記のように、SDTMメモリカードを例に取れば、フロントエンド処理時間tWFはSDクロック周波数に依存する。したがって、フロントエンド処理時間tWFは、係数CSDとSDクロック周期fSDによって表記できる。このため、SDTMメモリカードでは、tWFを[数式2]のように表記できる。
[数式2]
フロントエンド処理時間:tWF=CSD/fSD
また、1つのAU31に記録する場合を考えると、フロントエンド処理時間tWFは書き込みコマンドの数に比例する。書き込みコマンドの数は、上述したRU32の数NRUと等価である。NRUが多くなると、すなわちRU寸法SRUが小さくなると、書き込み効率は低下する。
移動パフォーマンスPmは、最低移動パフォーマンスの平均の最低値として定義される。これは連続したRU32を移動操作して1つの完全なAU31とするときの最低値として計算できる。移動操作の時間はバックエンド側で定義され、SDクロック周波数には左右されない。もしもメモリカード19が必ずしもRU32を移動する必要がないときには、移動パフォーマンスPmは無限大と考えてよい。これは「1/Pm=0」を意味する。
また、移動パフォーマンスPmはフラッシュメモリのプログラム時間に加え、後述の読み出し時間、およびデータ移動方法にも依存して変化する。なお、データ移動は、メモリカード19内部で処理されるものであるため、ホスト機器20が直接制御するものではない。
読み出し性能については、次の2つが定義される。
1) データに対する読み出しパフォーマンス
データに対する読み出しパフォーマンス(読み出しパフォーマンスと称してもよい)Prは、RU32単位の読み出しをランダムに行った場合の読み出しパフォーマンスの平均値の最低値として定義される。平均は、RU32単位の読み出しを256回ランダムに行うことで計算することができる。また、各ブロック33に対するECC(Error Correcting Code)訂正に要する時間は最悪ケースを考慮しておくべきである。読み出しパフォーマンスPrは書き込みパフォーマンスPwよりも大きいか、少なくとも同等である必要がある。
2) ファイルシステム(FAT)読み出し時間
FAT(ファイルアロケーションテーブル)等のファイルシステムの読み出し時間TFR(4kB)は、4kBのFATを読む最大時間として定義される。これは、書き込みの間にFAT読み出しが可能であるという条件を満足していることが必要である。リアルタイム記録の場合を考慮すれば、ホスト機器20は、RU書き込みの相互間にFAT読み出しを行うしかないからである。また、各ブロック33に対するECC訂正時間は最悪ケースを考慮しておくべきである。ファイルシステム寸法(FR寸法)SFRに対するFAT読み出し時間はシール関数(CEIL関数)を用いて、以下のように記載できる。
ファイルシステム寸法SFR[kB]に対するFAT読み出し時間:TFR(SFR
Figure 2006178923
図6は、[数式1]に従って求められた、メモリカード19のパフォーマンスを示す。図6は、AU31を構成するRU32の数Ntを16としたときのパフォーマンスである。
図6に示すように、使用済みRU比r(横軸)ごとのパフォーマンス(縦軸)を求め、各使用済みRU比rのパフォーマンスを結ぶとパフォーマンスカーブが得られる。パフォーマンスカーブはホスト機器メーカーにとって重要な情報になる。
パフォーマンスカーブは書き込みパフォーマンスPwと移動パフォーマンスPmで規定される。書き込みパフォーマンスPwは使用済みRU比r=0の場合、すなわちフルパフォーマンスと等価である。
ここで、使用済みRU比rは、AU31中のRU32の数Ntと、使用済みRU32の数Nuを用いると、
r=Nu/Nt
と記載できる。
これは、
Nu=r×Nt
とも記載できる。
使用済みRU比rは0から1の範囲で可変である。r=0はすべてのRU32が未使用であることを意味し、r=1はすべてのRU32が使用済みであること、すなわちパフォーマンスが0であることを意味する。言い換えれば、P(1)=0である。
このことから、いかなるパフォーマンスカーブも点(1,0)を通ることがわかる。[数式1]をrを使って書き直すと、[数式3]となる。
[数式3]
平均パフォーマンスカーブ:P(r)
=[(1−r)×Pw×Pm]/[r×Pw+(1−r)×Pm]
ただし、0≦r≦1である。この式を利用してプロットされたのが図6である。
[2−1−3]記憶エリアの位置とパフォーマンス精度
データを書き込むRU32の開始アドレスが記憶領域21のブロック33の境界でない場合、書き込み開始位置がブロック33の境界と一致するように書き込み済みのデータを移動する時間が必要である。このため、このような場合、実際のパフォーマンスは期待パフォーマンスよりも劣る。したがって、正確なパフォーマンスを測定するためには、AとBのアドレスが消去単位(ブロック33)の境界と一致していることが要件となる。アロケーションユニットを規定するのはこの理由からである。
[2−2]記録中のファイルシステムの更新に関するパラメータ
ファイルシステムの更新が書き込みシーケンスに挿入されることによって、書き込み時の総合的な(実際に得られる)パフォーマンスは低下する。このため、ホスト機器20が、後述のようにメモリカード19のパフォーマンスを計算する際、ファイルシステムの更新に関するパラメータを必要とする。そして、ホスト機器20は、このパラメータを用いて、ファイルシステムの更新が書き込みシーケンスに挿入されることによる、実際のパフォーマンスの低下を計算することができる。
図7はリアルタイム記録中のファイルシステムの更新の典型的なシーケンスを示している。以下、ファイルシステムの典型例としてFATが用いられた場合を例に取り説明する。
ファイルシステム(FAT)の更新はどのRU32に対する書き込みの間にも起こり得る。FATの更新は定期的に行われ、あるファイルシステム更新と次のファイルシステム更新の間に書き込まれるRU32の数はファイルシステム更新間隔TFUによって規定される。このファイルシステム更新の間に書き込まれるRU32の数は、Ndである。
FAT書き込みサイクルは3つの書き込み動作からなる。FAT1およびFAT2は1のマルチブロック書き込みコマンドを用いたFAT1およびFAT2それぞれへのFAT情報書き込みである。ファイルシステム(FAT)の書き込みは任意のバイトアドレスから開始可能であり、16kBまでの任意の長さまでの書き込みとして定義可能である。
図中DIRはディレクトリエントリ(Directry Entry)であり、これは記録に先立って生成され、ディレクトリエントリの変更した部分の512Bのみ書き込まれる。ファイルシステム書き込み時間TFWは、ファイルシステム書き込みサイクルの合計時間、すなわち、上記のFAT1、FAT2、DIRの合計書き込み時間として規定される。ファイルシステム書き込み時間TFWはデバイスコントローラ22の仕様によって変わる。
[2−2−1]ファイルシステム書き込み時間TFWの平均の測定条件
ファイルシステム書き込み時間TFWは、数個の測定値の平均によって得られた値として定義される。[数式4]は平均ファイルシステム書き込み時間TFW(ave.)を規定する式である。[数式4]から分かるように、平均ファイルシステム書き込み時間TFW(ave.)として、例えば、任意の8回のファイルシステム書き込みサイクルの平均値の最悪値を用いられる。
[数式4]
平均ファイルシステム書き込み時間:(TFW(ave.))
=[max(TFW(1)+TFW(2)+・・・+TFW(7)+TFW(8))]/8
[2−2−2]最大ファイルシステム書き込み時間
後述のように、ホスト機器20は、ファイルシステムの更新の間に、ホストバッファ27によってデータを一時保存する。このため、ホストバッファ27のサイズを決める時には、最大ファイルシステム更新時間を考慮する必要がある。ホストバッファ27のサイズに対する要求に関しては、[4−5]でさらに説明する。
[数式5]はファイルシステム(FAT)書き込み時間の最悪値を規定する式である。
[数式5]
ファイルシステム(FAT)書き込み時間の最悪値:(TFW(max))≦750[ms]
[2−2−3]データ書き込みとファイルシステム書き込みの独立
ファイルシステム書き込みは、リアルタイム記録中の任意のRU間あるいはAU間に挿入可能である。デバイスコントローラ22は、ファイルシステム書き込みが、データの書き込みパフォーマンスPwそのものに影響しないように制御できる必要がある。
書き込みパフォーマンスPwへのファイルシステム書き込みの影響を排除するには、例えば、ファイルシステムの書き込みにより中断されたデータ書き込みの再開時の書き込みを、中断前の最後に書き込まれた物理領域の続きの領域に行うことにより実現できる。
これを実現するために、例えば、ファイルシステム書き込み用のキャッシュブロックを設け、デバイスコントローラ22が、以下に示す制御を行うことができる。図8(a)に示すように、記憶領域21は、通常物理ブロック領域とキャッシュブロックとを含んでいる。図8(a)に示すように、通常物理ブロックに連続的なデータをシーケンシャルに書き込んでいる最中に、ファイルシステムの書き込み要求が来た場合、図8(b)に示すように、ファイル管理情報は、キャッシュブロックの空き領域(ページ34)に順次書き込まれる。この後、図8(c)に示すように、中断前の最後に書き込まれた領域の続きの領域(ページ34)からデータの書き込みを再開する。
従来のようにデータ書き込み再開時の書き込み位置を再開前の最後に書き込まれた物理領域の続きではない物理領域(例えば、新たなブロック(BLOCK2等)内の領域)とすると、引越し書き込みが発生し、書き込みパフォーマンスPwそのものがファイルシステム書き込みにより変動する。
なお、通常のデータとファイル管理情報との選別は、例えば、アドレス、サイズ、シーケンスを調べることによって実現できる。
[3]メモリカードの分類
メモリカード19のパフォーマンスとホスト機器20が要求する性能との整合を取ることを容易にするために、メモリカード19は、カードパフォーマンスに応じて複数のクラス(性能クラス)に分類される。各クラスは、例えば、上記のパフォーマンスカーブおよびファイルシステム書き込み時間TFW等の性能パラメータに応じて分類される。そして、クラスの情報は、メモリカード19の性能識別コード24として、デバイスコントローラにおいて保持される。
メモリカード19は、目視によって認識可能な方法で、自身のクラスを表示する。図9は、クラス表示を示すラベルを例示している。この図は、記憶デバイス19が、SDTMメモリカードである場合を例示している。
例えば、図9に示すように、メモリカード19は、記憶領域21、デバイスコントローラ22の少なくとも一部を覆う外囲部71を有し、外囲部71上にクラスを表示するラベル72を有する。
また、ホスト機器20にも、クラスが設定されている。この場合、同じクラスのメモリカード19を用いると最大性能が出せることを意味する。下位クラスのメモリカード19を用いた場合でも最大性能は出せないが記録は可能である。ホストのクラス表示は必須ではないが、図9では、ホスト機器20の外囲部73に、クラスを表示するラベル74が設けられる例を示す。
[3−1]アプリケーションからの要求
ホスト機器20のアプリケーションは、アプリケーションが用いるメモリカード19に高性能のパフォーマンスを求めている。以下に代表例を記す。
(1)デジタルビデオ録画
MPEG2やMotionJPEGではメモリカード19への直接記録が求められている。標準的なテレビ画像の品質、解像度を得るには、約2MB/secカード性能が求められる。また、高品質の画像記録には、約4MB/secのカード性能が求められる。
(2)連写機能を有するデジタルスチルカメラ
デジタルスチルカメラメーカーは連写機能を実現するために高性能のメモリカード19を必要としている。デジタルスチルカメラメーカーは使用者に可能な連写レートを明示する場合は、カードパフォーマンスとホスト機器20の制御方法から計算することができる。
[3−2]クラス分け
図10は、パフォーマンスカーブとクラスとの関係を示している。図10は、2本のパフォーマンスカーブで区分した場合の3つの領域を示す。図10に示すように、クラス2およびクラス4のパフォーマンスカーブで、縦軸P(r)と横軸rからなる領域は3領域に区分されている。なお。縦軸P(r)はパフォーマンスを、横軸rは使用済みRU比を示している。
従来のカードは、この3領域のうち、もっとも原点に近い領域、クラス0(図中Class 0)に属する。図中では最も性能の劣った区分である。
クラス1のパフォーマンスカーブはクラス2カードの最低性能を意味する。このカーブは2つのパラメータPw1(クラス2パフォーマンスカーブとY軸の交点)とPm1で規定される。
同様に、クラス4のパフォーマンスカーブはクラス4カードの最低性能を意味する。このカーブは2つのパラメータPw2(クラス4パフォーマンスカーブとY軸の交点)とPm2で規定される。
アプリケーションの要求がさらに高まればさらに高レベルのクラス8、クラス10のパフォーマンスカーブを規定する必要が出てくるが、基本的な考え方は変更する必要はない。クラス8のパフォーマンスカーブが定義された場合、このクラス8のパフォーマンスカーブよりも性能が低く、クラス6のパフォーマンスカーブ以上の性能の領域がクラス6の領域となり、クラス8のパフォーマンスカーブ以上の性能の領域がクラス8の領域となる。
図11は、各クラスに要求される特性の例を示している。クラス2(CLASS2)カード、クラス4(CLASS4)、クラス6(CLASS6)、カードで必要とされるパフォーマンスパラメータの例は、下記および図11のようになっている。
CLASS2:Pw=2[MB/sec]、Pm=1[MB/sec]、Pr=2[MB/sec]
CLASS4:Pw=4[MB/sec]、Pm=2[MB/sec]、Pr=4[MB/sec]
CLASS6:Pw=6[MB/sec]、Pm=3[MB/sec]、Pr=6[MB/sec]
また、平均ファイルシステム書き込み時間TFW(ave.)、最大ファイルシステム書き込み時間TFW(max)、ファイルシステム読み出し時間TFR(4kB)は、各クラスとも同じで、それぞれ、例えば100[ms]、750[ms]、4[ms]である。
図11の例によれば、クラス2のカードのパフォーマンスカーブは、Y軸と2[MB/sec]の点で交わり、X軸と1の点で交わり、途中で原点側によった曲線になる。その曲線以上の性能の領域で、後述のクラス4カードのパフォーマンスカーブまでの第1象限領域がクラス2カードの領域になる。
同様にクラス4カードのパフォーマンスカーブはY軸と4[MB/sec]の点で交わり、X軸と1の点で交わり、クラス2カードのパフォーマンスカーブよりもさらに原点から離れた領域に存在する。このクラス4カードのパフォーマンスカーブの原点と逆の側の領域がクラス4カードの領域になる。
同様に、Y軸と6[MB/sec]の点で交わる、クラス6のパフォーマンスカーブが定義できる。
図11に例示した各クラスのカード要求特性の測定条件の例を図12に示す。上記のように、書き込みパフォーマンスPwは、フロントエンド処理時間tWFおよびRU寸法SRUによって影響され、フロントエンド処理時間tWFは、SDクロック周波数fSDによって影響される。そして、SDクロック周波数fSDとRU寸法SRUを図12に示す値に設定して、各クラスの要求特性を測定条件している。なお、パフォーマンスをより高くするためには、ホストは大きなRU寸法でアクセスすることが望ましい。
[3−3]容量とAU最大寸法との関係
ブロックサイズに関係してホスト機器20から別のパラメータが要求される。メモリカード19の物理規格によりAU寸法SAUを送出するレジスタを規定することによって、ホスト機器20に対して、メモリカード19にとって最適なAU寸法SAUを明示することができる。この結果、ホスト機器20は、AU31を効率的に利用できる。なお、後述のように、AU31の最大値によって、ホストバッファ27の必要なサイズが規定される。
メモリカード19の容量に応じた最大AU寸法の例をあげる。
カード容量/最大AU寸法=16乃至128MB/128kB、256MB/256kB、512MB/512kB、1GB/1MB、2GB/2MB、4乃至32GB/4MB
[3−4]読み出しパフォーマンス要求
クラス2、クラス4、クラス6のカードはRU32単位の読み出しを行った場合、それぞれ最低2[MB/sec]、4[MB/sec]、6[MB/sec]の読み出し性能が規定されている。ただし、これはホスト機器からの読み出し能力を保証するものではない。上記にはホスト機器の環境を考慮していないからである。
[3−5]カードの物理規格を規定する要件
以上述べたクラスおよび各種のパラメータにより規定されるパフォーマンスを規格化する際、このパフォーマンス規格が、現行規格と将来規格を包含する必要がある。これらの規格に加えて将来のメモリカードも包含できる必要がある。このため、たとえば現在のSDTMメモリカードでは、書き込みパフォーマンスPw、移動パフォーマンスPm、フィルシステム書き込み時間TFW等のパラメータは物理規格1.01、1.10に合うように規定される必要がある。
あるクラス(例えば、将来定義されるであろう高クラス)のメモリカード19は、このクラスを定義するのに必要な条件(例えば、SDクロック周波数等)の制約から、ある物理規格(例えば、物理規格1.01)に則って製造することができない。このようなクラスのメモリカード19は、より高度の物理規格に則って製造される必要がある。例えば、クラス6カードは、ハイスピードモード(High Speed Mode)を必要とするため、物理規格1.01では製造することができない。物理規格1.10以上である必要がある。
[3−6]クラスおよび各種パラメータ等のデータの保持
新規規格では、例えば、クラス、AU寸法SAU、移動パフォーマンスPm、係数CSDをメモリカードのステータス情報としてレジスタに保持することができる。より具体的には、例えば、クラスは、性能識別コードレジスタ24に格納されている。AU寸法SAU、移動パフォーマンスPm、係数CSDは、性能パラメータレジスタ25に格納されている。
このように、クラスおよび各種パラメータを、メモリカード19が保持することによって、クラスを識別可能なホスト機器20が、パフォーマンスをさらに正確に計算することを可能とし、さらに効率よくメモリカード19を利用できる。
図13に、SDTMメモリカードの場合の、レジスタ情報のビット幅の例を記載する。SDTMメモリカードの場合、AU寸法SAU、移動パフォーマンスPm、係数CSD、を、例えば、レジスタ内のSDカードステータスなどに規定することができる。これらのデータは別に用意されているレジスタに記入しても良い。本性能規格をサポートしないカードでは、これらのフィールドを0に設定しておけばよい。そのようなメモリカードはクラス0カードと認識される。
また、クラスの情報は、従来の記憶デバイスの、例えば固定値が読み出される(例えば0)ところに定義されることができる。これにより、本実施形態に対応できていない従来デバイスを性能分類の対象外であるクラス0カードと識別することもできる。
なお、書き込みパフォーマンスPwは、各クラスに応じて決定されている(クラスが要求する書き込みパフォーマンスが決定されている)。このため、ホスト機器20は、クラスを読み取ることにより、書き込みパフォーマンスPwを知得することができる。
性能識別コードレジスタ24および性能パラメータレジスタ25内の情報は、例えば、ホスト機器20からの所定のコマンドを受けた際に、ホスト機器20に対して出力するようにすることができる。
性能識別コードレジスタ24および性能パラメータレジスタ25に設定される値は、製造時にあらかじめ計算された値を書き込むことも、メモリカード19自体が初期化時に決定することもできる。
また、現在のSDTMメモリカードは、具体的な性能パラメータを示す手段(専用レジスタ)を持たないので、プログラム可能なレジスタのリザーブ領域に性能コードと性能パラメータを追加することにより、ホストは性能コードを見ればカードの性能が分かるようにできる。これにより現在のカードコントローラを変更することなく流用できる。
[4]リアルタイム記録を行う際のホスト機器の動作シーケンスおよび要件
[4−1]リアルタイム記録を行う際のホスト機器の動作シーケンス
リアルタイム記録を行う際のホスト機器20は、上記のパフォーマンスカーブ、クラス、各種パラメータを用いて以下に述べるシーケンスによって計算を行いながら、書き込みを行うことができる。そして、ホスト機器20は、リアルタイム記録の際に、以下に述べるシーケンスを取ることが望ましい。
(1)ホスト機器20に搭載されているアプリケーションから要求されるパフォーマンス(以下、アプリケーションパフォーマンス)Paを決定する。
(2)適当な、ファイルシステム更新間の書き込みRU数Ndを選ぶ。
(3)ファイルシステム更新を考慮して、アプリケーションパフォーマンスPaを実現するために必要なカードパフォーマンスPcを決定する。
(4)最大使用済みRU比r(Pc)を決定する。
(5)各AU31をAUfastとAUslowに区分する。
(6)記録可能時間Trecを推定する。
(7)ファイルシステム更新間の書き込みRU数Ndを調整する。ファイルシステム更新間の書き込みRU数Ndが大きければパフォーマンスは改善される。
(8)計算の結果、充分なパフォーマンス、充分な記録可能時間が得られなければ、カードの消去が必要になる。
以下、動作(1)乃至(8)を行うための具体的な方法およびホスト機器20の要件について説明する。
[4−2]ファイルシステム更新に伴うパフォーマンス計算方法
リアルタイム記録時の典型的なファイルシステム(FAT)更新サイクルのシーケンスは、図7に示した通りである。ホスト機器20は、ファイルシステム更新時に、このシーケンスを取ることが望ましい。
[4−2−1]ファイルシステム更新を考慮したカードパフォーマンス条件
ホスト機器20は、Paを満足するために必要なカードパフォーマンスPcを、アプリケーションパフォーマンスPa、および平均ファイルシステム書き込み時間TFWから決定する。上記のように、ファイルシステム書き込みシーケンスが挿入されることにより、書き込み時の総合的なパフォーマンスは低下する。よって、ホスト機器20は、一般に、アプリケーションパフォーマンスPaよりも高いカードパフォーマンスPcを有するカードを必要とする。
また、ホスト機器20によっては、アプリケーションの種類に応じて数種類の異なったビットレートのモードに対応していることがある。ホスト機器20は、この場合、利用者が選んだモードに応じて、アプリケーションパフォーマンスPaを決める。
なお、ホスト機器20は、アプリケーションパフォーマンスPaに合わないメモリカード19を拒絶するのではなく、メモリカード19のクラスに合わせて、ホスト機器20のパフォーマンスを整合するようにすることが望ましい。
例えば、あるメモリカード19のカードパフォーマンスがアプリケーションパフォーマンスPaに対して不足しているときは、ホスト機器20は、より小さなアプリケーションパフォーマンスPaを要求するモードに切り替えることが望ましい。例えば、データの圧縮率を上げたり、画像の解像度を下げたり、フレームレートを下げたりすることにより、ホスト機器20は、より低いアプリケーションパフォーマンスPaに適合することができる。この手法を実現できるように、ホスト機器20はパフォーマンスの低いメモリカード19を利用可能とするために数種類の書き込みモードを持つことが望ましい。
また、ホスト機器20が、異なる記録性能を持つ複数のモードを持つことにより、異常事態が発生した場合でもより低速なモードにすることで記録を可能にすることができる。これは、例えば、クラス0カードの場合、ホスト機器20は、カード性能がわからないため、実際にあるモードで試してみなければ、そのモードが動作するかわからないためである。
アプリケーションパフォーマンスPa、Paを満足するために必要なカードパフォーマンス(以下、カードパフォーマンス)Pcを[数式6]、[数式7]にそれぞれ示す。
[数式6]
アプリケーションが要求するパフォーマンス:Pa
=(Sc×Nd)/(Sc×Nd/Pc+TFW
[数式7]
Paを満足するために必要なカードパフォーマンス:Pc
=(Sc×Nd×Pa)/(Sc×Nd−Pa×TFW
カードパフォーマンスPcは、ファイルシステム更新間の書き込みRU数Ndによって変化し、図7からも分かるように、ファイルシステム更新間の書き込みRU数Ndは、ファイルシステム更新の頻度によって変化する。よって、カードパフォーマンスPcは、ファイルシステムの更新の頻度によって影響される。ファイルシステムの更新の頻度の決定の仕方は、次の[4−2−2]で述べる。
[4−2−2]ファイルシステム更新期間の条件
ファイルシステム(FAT)更新期間(ファイルシステム更新から次のファイルシステム更新までの期間)は、ファイルシステム書き込みシーケンスを各データ転送の間に挿入することにより決定される。したがって、ファイルシステム更新期間は、書き込み速度に依存するが、期間の精度は重要ではない。ホスト機器20がファイルシステム更新期間を簡単に計算できるように、簡単な方法をとってよい。
ファイルシステム更新期間の算出式を[数式8]に示す。
[数式8]
ファイルシステム更新期間:TPF
=Sc×Nd/Pa
=Sc×Nd/Pc+TFW(ave.)
ホスト機器20は、ファイルシステム書き込みによるカードパフォーマンスの低下の程度を考慮して、ファイルシステム更新の間に書き込まれるRU数Ndを適切な値に調整してよい。ただし、ファイルシステム更新期間TPFは1秒以上が望ましい。
より大きなRU数Ndが選択されたとき、カードパフォーマンスPcはアプリケーションパフォーマンスPaに近づく。こうすることにより、低性能のメモリカード19でもアプリケーションパフォーマンスPaを満足しうるようになり得る。
ファイルシステム更新期間の決め方の別の方法として、ファイルシステム更新間隔TFU(TPFと等価なもの)をホスト機器20のタイマーを用いて決めることができる。この場合、TFUは一定である。ファイルシステム更新はRU書き込みの間に挿入される。このため、ファイルシステム更新間の書き込みRU数Ndは、ファイルシステム更新間隔TFUによって変動する。
この場合、ファイルシステム更新間隔TFUの間のデータ量は、[数式9]のようになる。
[数式9]
FUの間のデータ量:Pa×TFU
=Pc×(TFU−TFW(ave.))
[数式9]を変形することにより、カードパフォーマンスPcが、[数式10]のように表現される。
[数式10]
Paを満足するためのカードパフォーマンス:Pc
=(Pa×TFU)/(TFU−TFW(ave.))
[4−3]アロケーションユニット(AU)の分類
ホスト機器20は、どのAU31がリアルタイム記録に使用可能かを判定する。すなわち、各AU31が、求められたカードパフォーマンスPcを満たすかを判定する。各AU31のパフォーマンスは、図6から分かるように、使用済みRU比rによって変化するので、各AU31が、使用済みRU比rを閾値として用いて判定される。
[4−3−1]最大使用済みRU比
図4に示したように、書き込み開始位置Aおよび終了位置BがそれぞれAU31の境界と一致しているとすれば、[数式3]によりAU31のパフォーマンスの計算を求めることができる。
そして、カードパフォーマンスPcから、最大使用済みRU比r(Pc)が導ける。すなわち、最大使用済みRU比r(Pc)は、[数式3]の逆関数として求められる。
最大使用済みRU比r(Pc)以下の使用済みRU比rを有するAU31は、カードパフォーマンスPcを満たすAUである。そして、使用済みRU比rが小さいほどリアルタイム記録に適したAUであり、最大使用済みRU比r(Pc)を境界として、後述のように、AU31がAUfastとAUslowに分類される。
[数式11]に最大使用済みRU比r(Pc)の計算式を示す。
[数式11]
最大使用済みRU比:r(Pc)
=[(Pw−Pc)×Pm]/[(Pw−Pm)×Pc+Pw×Pm]
[4−3−2]2つのカテゴリへのAUの分類
ホスト機器20は、AU31を2つのカテゴリに分類する。ひとつはAUfast(適合管理単位領域)であり、これはカードパフォーマンスPcでリアルタイム記録を行うのに充分対応できる速さを有する。他方はAUslow(不適管理単位領域)であり、これはメモリ領域が断片化し過ぎているためにリアルタイム記録に適さないものである。
ホスト機器20は、AU31ごとに使用済みRU数Nuを数え、使用済みRU数Nuから使用済みRU比rを計算する。AUfastかAUslowかは[数式12]により判定できる。
[数式12]
Nu/Nt<r(Pc)であればAUはAUfast
Nu/Nt≧r(Pc)であればAUはAUslow
すなわち、(使用済みRU数Nu)/(AU中の全RU数Nt)が最大使用済みRU比r(Pc)未満のときはAUはAUfastに分類され、最大使用済みRU比r(Pc)以上のときはAUslowに分類される。
図14は、記憶領域21におけるAU31の割り当てを示しており、上記で説明したAU31の2種類の記憶領域21内での分布の一例を示している。先頭のAU31は、ファイルシステムを含むため、リアルタイム記録には適さない領域であり、AUslowに割り当てられる。また、ディレクトリエントリはデータを記録するAU31と同じAU31に作成してはならない。
AU1およびAU4は、ファイルシステムを含むものではないが、(使用済みRU数Nu)/(AU中の全RU数Nt)が最大使用済みRU比r(Pc)以上となっているため断片化していると判断され、AUslowと分類されている。
[4−4]記録可能時間
ホスト機器20は、リアルタイム記録が可能な時間を[数式13]により計算できる。[数式13]において、Nrは、AUfastと判定された全てのAU31内の書き込み可能なRU32の数Nrである。充分な記録可能時間が準備できないときは、ホスト機器20は、例えばユーザに記録したデータを別のところに移動するように指示するか、メモリカード19を再フォーマットするように指示する必要がある。
[数式13]
記録可能時間:TREC
=Sc×Nr/Pa
または、ホスト機器20は、ファイルシステム更新間の書き込みRU数Ndを大きくした場合、すなわち、ファイルシステム更新期間TPFを大きくした場合、記録時間を再度計算する。ファイルシステム更新間の書き込みRU数Ndを大きくすることにより、パフォーマンスが改善されるからである。すなわち、最大使用済みRU比r(Pc)の値が大きくなり、AUfastの数が増えるため、記録時間が増加する。
[4−5]ホスト機器のバッファに必要とされる要件
ホストバッファ27は、データを一時的に保存するために十分な大きさを有する必要がある。ホストバッファ27には下記の要件が求められる。
[4−5−1]ホスト機器バッファの寸法要件
ホストバッファ27は、以下に示す要求を満たす大きさを有している必要がある。
(1)ファイルシステム(FAT)更新に応じた要求
ホスト機器20がファイルシステムを更新するとき、ホストバッファ27は、ファイルシステム書き込み中に本来書き込むべきデータを一時的に保存するために用いられる。このため、大きなバッファの大きさが必要とされる。上記のファイルシステム書き込み時間の最悪値TFW(max)として規定される。ファイルシステム書き込み時間の最悪値TFW(max)は、例えば、[数式5]に示すように、750[ms]である。なお、バッファの大きさは、一般的に、一定時間の記録データを保存可能な領域として記録時間に換算して記述される。
(2)誤り(エラー)訂正に応じた要求
ホストバッファ27は、書き込みデータの誤りを訂正しているときの遅延を補完するときにも用いられる。書き込みの誤りが発生したとき、メモリカード19はCRCステータスを返さないか、エラーを表示してマルチブロック書き込みを停止する。ホストバッファ27は、誤りが発生した場合に再書き込みを行うことができるように、書き込みが完了するまでデータを保持する必要がある。
エラーが発生してもホスト機器20がリアルタイム記録を継続できるようにするため、ホストバッファ27は、例えば、250[ms]分の大きさを有することが必要である。これは、メモリカード19の書き込み完了時間の最大値として250[ms]が規定されていることに対応している。したがって、上記のファイルシステム書き込み時間の最悪値TFW(max)に要する時間と合わせた大きさが必要である。ファイルシステム書き込み時間の最悪値TFW(max)が例えば750[ms]の場合、合わせて1[s]分のデータを貯めるバッファが必要である。
(3)AUの書き込み遅延補償に応じた要求
使用済みRU32がAU31の上部に集まったときも含めてAU31内に書き込み済みのRU32がある場合、使用済みRU32に格納されているデータが他のRU32へ移動されない限り、書き込みデータを書き込むことができない。したがって、書き込み済みRU32を移動している間、書き込みデータはホストバッファ27に保管されなければならない。
図15にホストバッファ27の概念を示す。図15に示すように、ホスト機器20からホストバッファ27に一定のレートPaで連続的にデータが入力されていると仮定する。また、ホスト機器20はホストバッファ27に蓄積されたデータを読んでそれをAU31に書き込むものとする。
一方、ホストバッファ27から出力されるデータのレートは、AU31の断片化の状態に依存する。すなわち、上記のように、AU31内に書き込み済みのRU32がある場合、書き込みデータは、ホストバッファ27において保持され、出力されない。そして、AU31内に書き込み済みRU32が無い場合、またはRU32の移動が終了すると、ホストバッファ27は、データをレートPwで出力する。
以上より、ホストバッファ27の必要な寸法はAU31中の全使用済みRU32の移動が行われる時間から求められる。
なお、ホストバッファ27のサイズが十分でなくなったときは、AUfast内でのデータの断片化状態に依存してホストバッファ27のオーバーフロー(バッファの不足)が起こることがある。このため、ホストバッファ27のサイズと、AUfastの断片化状態とに応じてさらに更なる検討が必要になる場合がある。
(4)書き込みデータの準備
ホスト機器20が書き込みデータを準備するにはある程度の時間がかかり、書き込みデータの生成は離散的になってしまう。このデータを一旦ホストバッファ27を介して、ホストコントローラ26からデータを書き込むようにすることができる。こうすることにより、空き時間なく転送ができるため、効率の良い転送が可能になる。
特に、リアルタイム記録の場合、リアルタイムデータをFIFOとしてのホストバッファ27に一旦蓄積してからメモリカード19に書き込みを行うことにより、リアルタイムデータの準備(計算)時間を見えなくすることができる。すなわち、効率良くメモリカード19にデータを記録できる。
なお、システムメモリ上で計算してデータをメモリカード19に直接書き込む場合は、処理がシーケンシャルとなる。このため、データの計算と書き込みを交互に行う必要がある。テータの計算と書き込みを交互に行うと、データ計算中はメモリカード19には何も書き込まれず無駄な時間となるため、メモリカード19が示すクラスよりも低い性能しか引き出すことができなくなってしまう。
必要なバッファサイズはアプリケーションパフォーマンスPa、移動パフォーマンスPm、最大使用済みRU比r(Pc)、AU寸法SAUの関数として記述できる。
[数式14]に必要とされるバッファサイズSBUFを示す。ただし、この式の右辺の第1項(Pa)は、上記の(1)、(2)の記載内容に対応し、右辺の第2項は上記の(3)の記載内容に対応するが、上記の(4)については、[数式14]に含まれていない。また、ホスト機器20の規格によってはさらに付加的なバッファが必要になる。
[数式14]
必要なバッファサイズ:SBUF>Pa+[r(Pc)×SAU×Pa]/Pm
もしもアプリケーションパフォーマンスPaが移動パフォーマンスPmよりも小さく、ホストバッファ27が、Pa+SAUを上回る充分な大きさを有しているとき、[数式14]は常に満足される。
[4−5−2]ホストバッファサイズが小さい場合の取り扱い
以下は、上述の議論とは独立して、ホストバッファ27の大きさが不十分な場合に、断片化度合いが小さいAUfastを見つける方法について述べる。ただし、ここに述べる方法を取るよりも、ホストバッファ27が十分な大きさを持つことが好ましい。
図16は、全ての使用済みRU32がAU31の上部に集積している場合を示している。最大使用済みRU比r(Pc)は使用済みRU32cと未使用RU32dで分けられる場所を示している。ホスト機器20が、最初の未使用RU32dにデータを書き込むとき、メモリカード19は全ての使用済みRU32cの移動が完了するまで長いビジーを出す。この間、書き込みデータはホストバッファ27に蓄えられる。このとき、AU31中の全ての使用済みRU32cの移動に要する時間は、(r(Pc)×SAU)/Pmである。よって、ホストバッファ27に求められる大きさを[数式15]に示す。
[数式15]
ホストバッファサイズ:SBUF>Pa×[(r(Pc)×SAU)/Pm]
[数式15]より、[数式16]が得られる。
[数式16]
ホストバッファサイズによって限定される使用済みRU比
=r(Pc)<[(Pm×SBUF)/(Pa×SAU)]
[数式16]から分かるように、ホストバッファ27のサイズが小さい場合、最大使用済みRU比r(Pc)が、ホストバッファ27の大きさによって制限される。そして、この場合、ホストバッファ27の大きさによって制限された最大使用済みRU比r(Pc)を[数式12]内のr(Pc)として用いてAU31を分類する必要がある。
また、ホストバッファ27のサイズが小さい場合、リアルタイムデータ記録中にホストバッファ27に蓄積されたデータの大きさを観測し、その結果に応じて、データのビットレートを一時的に小さく制御するか、ファイルシステムの更新間隔を制御して事前にバッファオーバーフローを回避することができる。ホストバッファ27がオーバーフローしてデータを喪失してしまうのは問題があるため、データの品質を落としてでもデータ喪失を防ぐことが必要である。
また、記憶デバイス19の性能情報(性能パラメータ)に基づいて予測した書き込み性能で記録をしたとき、ホスト機器20は、バッファオーバーフローの発生や記憶デバイス19のアクセス中にエラーが頻発した際、記憶デバイス19の性能情報に基づいた速度よりも低速のモードに切り替えることができる。
[4−6]その他
ホスト機器20は、メモリカード19の性能情報(クラス、性能パラメータ等の情報)と自身の性能情報(クラス、性能パラメータ等の情報)とを比較する手段を有することができる。
メモリカード19から読み出した性能情報と自身の性能情報とを比較する比較手段をホスト機器20に備える。これは、メモリカード19とホスト機器20との関係において、一方がどんなに高性能であっても、他方の性能がそれに見合っていない場合には、ホスト機器20とメモリカード19とのデータ転送は、結局、遅い方の性能によって律速されてしまうからである。
より低クラスのメモリカード19を使用するとユーザが期待する性能を得ることができない虞がある。そこで、ホスト機器20がメモリカード19から読み出した性能情報と自身の性能情報とを比較し、その結果を画面表示等によりユーザに通知するようにする。
例えば、メモリカード19がホスト機器20に挿入された後に、「本機器はクラスMですが、挿入されたメモリカードのクラスはN(N<M)であるため、クラスNでの動作となります。」と画面に表示する。これによりクラスNのメモリカードを使用しているのに期待した動作速度を何故得られないのかをユーザが把握することができる。この画面表示は、メモリカード19がホスト機器20に挿入された後に、自動的になされるものであっても良いし、ユーザが所定の操作をすることにより画面に表示されるようにしても良い。
なお、ここで説明した性能情報の比較機能は、性能情報を格納したメモリカード19を使用するホスト機器20に必須の機能ではない。
(第2実施形態)
次に上記の第1実施形態を適用することが出来るSDTMメモリカードについて詳細に説明する。
図17は、第2実施形態のSDTMメモリカードの構成を示す概略図である。SDTMメモリカード(以下、単にメモリカードと記載する)41は、ホスト機器20とバスインタフェース45を介して情報の授受を行う。メモリカード41は、NANDフラッシュTMメモリ(以下、単にフラッシュメモリと記載する)チップ42、このフラッシュメモリチップ42を制御するカードコントローラ43、および複数の信号ピン(第1ピン乃至第9ピン)44を備えている。45は、バスインタフェースである。
カードコントローラ43は、第1実施形態(図2)のデバイスコントローラ22に相当する。フラッシュメモリ42は、図2の記憶領域21に相当する。
複数の信号ピン44は、カードコントローラ43と電気的に接続されている。複数の信号ピン44における第1ピン乃至第9ピンに対する信号の割り当ては、例えば図18に示すようになっている。
データ0乃至データ3は、第7ピン、第8ピン、第9ピン、および第1ピンにそれぞれ割り当てられている。第1ピンは、また、カード検出信号に対しても割り当てられている。さらに、第2ピンはコマンドに割り当てられ、第3ピンおよび第6ピンは接地電位Vssに、第4ピンは電源電位Vddに、第5ピンはクロック信号に割り当てられている。
また、メモリカード41は、ホスト機器20に設けられたスロットに対して挿抜可能なように形成されている。ホスト機器20に設けられたホストコントローラ26(図示せず)は、これら第1ピン乃至第9ピンを介してメモリカード41内のカードコントローラ43と各種信号およびデータを通信する。例えば、メモリカード41にデータが書き込まれる際には、ホストコントローラ26は、書き込みコマンドを、第2ピンを介してカードコントローラ43にシリアルな信号として送出する。このとき、カードコントローラ43は、第5ピンに供給されているクロック信号に応答して、第2ピンに与えられる書き込みコマンドを取り込む。
ここで、前述したように、書き込みコマンドは、第2ピンのみを利用してカードコントローラ43にシリアルに入力される。コマンドの入力に割り当てられている第2ピンは、図18に示すように、データ3用の第1ピンと接地電位Vss用の第3ピンとの間に配置されている。複数の信号ピン44とそれに対するバスインタフェース45は、ホスト機器20内のホストコントローラ26とメモリカード41とが通信するのに使用される。
これに対し、フラッシュメモリ42とカードコントローラ43との間の通信は、NANDフラッシュTMメモリ用のインタフェースによって行われる。したがって、ここでは図示しないが、フラッシュメモリ42とカードコントローラ43とは8ビットの入出力(I/O)線により接続されている。
例えば、カードコントローラ43がフラッシュメモリ42にデータを書き込む際には、カードコントローラ43は、これらI/O線を介してデータ入力コマンド80H、カラムアドレス、ページアドレス、データ、およびプログラムコマンド10Hをフラッシュメモリ42に順次入力する。ここで、コマンド80Hの“H”は16進数を示すものであり、実際には“10000000”という8ビットの信号が、8ビットのI/O線にパラレルに与えられる。つまり、このNANDフラッシュTMメモリ用のインタフェースでは、複数ビットのコマンドがパラレルに与えられる。
また、NANDフラッシュTMメモリ用のインタフェースでは、フラッシュメモリ42に対するコマンドとデータが同じI/O線を共用して通信されている。このように、ホスト機器20内のホストコントローラ26とメモリカード41とが通信するインタフェースと、フラッシュメモリ42とカードコントローラ43とが通信するインタフェースとは異なる。
図19は、第2実施形態のメモリカードのハード構成を示すブロック図である。
ホスト機器20は、バスインタフェース45を介して接続されるメモリカード41に対しアクセスを行うためのハードウェアおよびソフトウェアを備えている。メモリカード41は、ホスト機器20に接続された時に電源供給を受けて動作し、ホスト機器20からのアクセスに応じた処理を行う。
メモリカード41は、前述したように、フラッシュメモリ42およびカードコントローラ43を含む。フラッシュメモリ42は、消去時の消去ブロックサイズ(消去単位のブロックサイズ)が所定サイズ(例えば、256kB)に定められている。また、このフラッシュメモリ42に対して、ページと称する単位(例えば、2kB)でデータの書き込みおよび読み出しが行われる。
カードコントローラ43は、フラッシュメモリ42内部の物理状態(例えば、何処の物理ブロックアドレスに、何番目の論理セクタアドレスデータが含まれているか、あるいは、何処のブロックが消去状態であるか)を管理する。カードコントローラ43は、ホストインタフェースモジュール53、MPU(Micro processing unit)54、フラッシュコントローラ55、ROM(Read-only memory)56、RAM(Random access memory)57、およびバッファ58を有する。
ホストインタフェースモジュール53は、カードコントローラ43とホスト機器20との間のインタフェース処理を行い、レジスタ部59を含む。図20に、レジスタ部59の詳細な構成を示す。レジスタ部59は、カードステータスレジスタ、およびCID、RCA、DSR、CSD、SCR、OCRの各種レジスタを有する。
これらレジスタは、以下のように定義されている。カードステータスレジスタは、通常動作において使用され、例えば後述するエラー情報が記憶される。CID、RCA、DSR、CSD、SCR、およびOCRは、主にメモリカードの初期化時に使用される。
CID(Card identification number)には、メモリカード41の個体番号が記憶される。RCA(Relative card address)には、相対カードアドレス(初期化時にホスト機器が動的に決める)が記憶される。DSR(Driver stage register)には、メモリカード41のバス駆動力等が記憶される。
CSD(Card specific data)には、メモリカード41の特性パラメータ値が記憶され、第1実施形態の、バージョン情報、性能識別コード、性能パラメータを保持する。
SCR(SD configuration data register)には、メモリカード41のデータ配置が記憶される。OCR(Operation condition resister)には、動作範囲電圧に制限のあるメモリカードの場合の動作電圧が記憶される。
MPU54は、メモリカード41全体の動作を制御する。MPU54は、例えばメモリカード41が電源供給を受けたときに、ROM56に格納されているファームウェア(制御プログラム)をRAM57上に読み出して所定の処理を実行することにより、各種のテーブルをRAM57上に作成する。
MPU54は、また、ホスト機器20から書き込みコマンド、読み出しコマンド、消去コマンドを受け取り、フラッシュメモリ42に対して所定の処理を実行したり、バッファ58を通じたデータ転送処理を制御したりする。
ROM56は、MPU54により制御される制御プログラムなどを格納する。RAM57は、MPU54の作業エリアとして使用され、制御プログラムや各種のテーブルを記憶する。フラッシュコントローラ55は、カードコントローラ43とフラッシュメモリ42との間のインタフェース処理を行う。
バッファ58は、ホスト機器20から送られてくるデータをフラッシュメモリ42へ書き込む際に、一定量のデータ(例えば、1ページ分)を一時的に記憶したり、フラッシュメモリ42から読み出されるデータをホスト機器20へ送り出す際に、一定量のデータを一時的に記憶したりする。
図21は、メモリカード41内のフラッシュメモリ42におけるデータ配置を示している。フラッシュメモリ42の各ページは、2112B(512B分のデータ記憶部×4+10B分の冗長部×4+24B分の管理データ記憶部)を有しており、128ページ分が1つの消去単位(256kB+8kB(ここで、kは1024))である。なお、以下の説明においては、便宜上、このフラッシュメモリ42の消去単位を256kBとする。
また、フラッシュメモリ42は、フラッシュメモリ42へのデータ入出力を行うためのページバッファ42Aを備えている。ページバッファ42Aの記憶容量は、2112B(2048B+64B)である。データ書き込みなどの際、ページバッファ42Aは、フラッシュメモリ42に対するデータ入出力処理を、自身の記憶容量に相当する1ページ分の単位で実行する。
フラッシュメモリ42の記憶容量が例えば1Gビットである場合、256kBブロック(消去単位)の数は、512個となる。
また、図21においては消去単位が256kBブロックである場合を例示しているが、消去単位が例えば16kBブロックとなるように構築することも実用上有効である。この場合、各ページは528B(512B分のデータ記憶部+16B分の冗長部)を有しており、32ページ分が1つの消去単位(16kB+0.5kB)である。
フラッシュメモリ42のデータが書き込まれる領域(データ記憶領域)は、図19に示すように、保存されるデータに応じて複数の領域に区分けされている。フラッシュメモリ42は、データ記憶領域として、管理データ領域61と、機密データ領域62と、保護データ領域63と、ユーザデータ領域64と、を備えている。
管理データ領域61は、主にメモリカードに関する管理情報を格納し、すなわち、メモリカード41のセキュリティ情報やメディアIDなどのカード情報を格納する。
機密データ領域62は、暗号化に用いる鍵情報や認証時に使用する機密データを格納し、ホスト機器20からはアクセス不可能な領域である。
保護データ領域63は、重要なデータを格納し、メモリカード41に接続されたホスト機器20との相互認証によりホスト機器20の正当性が証明された場合にのみアクセスが可能となる領域である。
ユーザデータ領域64は、ユーザデータを格納し、メモリカード41を使用するユーザが自由にアクセスおよび使用することが可能な領域である。
また、第2実施形態では、メモリカード41の動作モードがSD4bitモードである場合を例に説明するが、SD1bitモード、SPIモードである場合にも適用できる。図22に、SD4bitモード、SD1bitモード、およびSPIモードにおける信号ピンに対する信号割り当てを示す。
メモリカード41の動作モードは、SDモードとSPIモードに大別される。SDモードにおいては、メモリカード41はホスト機器20からのバス幅変更コマンドによって、SD4bitモードまたはSD1bitモードに設定される。
ここで、4つのデータ0ピン(DAT0)乃至データ3ピン(DAT3)に着目すると、4ビット幅単位でデータ転送を行うSD4bitモードでは、4つのデータ0ピン乃至データ3ピンが全てデータ転送に用いられる。
1ビット幅単位でデータ転送を行うSD1bitモードでは、データ0ピン(DAT0)のみがデータ転送に使用され、データ1ピン(DAT1)、データ2ピン(DAT2)は全く使用されない。また、データ3ピン(DAT3)は、例えばメモリカード19からホスト機器20への非同期割り込み等のために使用される。
SPIモードでは、データ0ピン(DAT0)が、メモリカード19からホスト機器20へのデータ信号線(DATA OUT)に用いられる。コマンドピン(CMD)はホスト機器20からメモリカード19へのデータ信号線(DATA IN)に用いられる。データ1ピン(DAT1)、データ2ピン(DAT2)は全く使用されない。また、SPIモードでは、データ3ピン(DAT3)は、ホスト機器20からメモリカード19へのチップセレクト信号CSの送信に用いられる。
フラッシュメモリ42が1チップで構成されている場合、このメモリカード19は、それほど高速の動作が求められない場合に用いられ、例えばクラスM(Mはゼロまたは正の整数)に分類される。
フラッシュメモリ42が1チップのメモリカード19よりも高速なクラスN(NはMよりも大きい正の整数)のメモリカード19においては、例えば、複数のフラッシュメモリチップ42が複数のチップで構成される。このようにすれば、カードコントローラ43は、一方のフラッシュメモリチップにデータを書き込んでいる間に、他のフラッシュメモリチップにデータを転送することができる。よって、カードコントローラ43とフラッシュメモリ42との間の見かけ上のデータ転送レートが向上する。
あるいは、ページコピー(あるいはコピーバック)機能を備えたフラッシュメモリチップを採用することで、フラッシュメモリチップ内のあるページに格納されたデータを同一のフラッシュメモリチップ内の別のページにコピーすることができる。これによって移動パフォーマンスPmを改善することができる。
なお、本発明を第1実施形態、第2実施形態に沿って説明したが、本発明はこの範囲に限定されるものではない。本発明を適用可能なホスト機器としては、デジタルスチルカメラ、デジタルビデオカメラ、PC(パーソナルコンピュータ)、およびPDAが考えられる。
第1実施形態、第2実施形態の記憶デバイス19として使用される半導体メモリとしては、NANDフラッシュTMメモリの他にANDフラッシュメモリ、NORフラッシュTMメモリなど、同様にフローティングゲートを電荷蓄積層として持つメモリでも良い。あるいは,MONOS型など絶縁層を電荷蓄積層として持つものでも良い。さらに、MRAM(Magnetic Random Access Memory)、FeRAM(Ferromagnetic Random Access Memory)などの不揮発性半導体メモリでもよい。
第1実施形態におけるNANDフラッシュTMメモリのブロック図。 第1実施形態におけるメモリが内蔵された記憶デバイスの一例、および、その記憶デバイスを用いるホスト機器の一例を示す図。 第1実施形態におけるホスト機器から見たときの記憶デバイスの領域分割、および、記憶デバイス内部での実際の記憶領域の分割の一例を示す図。 第1実施形態におけるデータの移動を説明する図。 マルチブロック書き込みコマンドを用いたときの書き込み動作タイミングの一例を示す図。 第1実施形態におけるパフォーマンスカーブの一例を示す図。 第1実施形態におけるリアルタイム記録中のファイルシステム更新の例を示す図。 書き込みのシーケンスを例示する図。 第1実施形態に係るホスト機器および記憶デバイスの外観を例示する図。 第1実施形態におけるパフォーマンスカーブ分類を示す図。 各クラスのカードの要求特性の例を示す図。 各クラスのカード要求特性の測定条件の例を示す図。 SDTMメモリカードのレジスタに記憶される内容を例示する図。 第1実施形態におけるメモリカード領域に対するAU分類を例示する図。 第1実施形態におけるホストバッファの概念を示す図。 全ての使用済みRUがAUの上部に集積している場合の例。 この発明の第2実施形態のメモリカードの構成を示す概略図。 第2実施形態のメモリカードにおける信号ピンに対する信号割り当てを示す図。 第2実施形態のメモリカードのハード構成を示すブロック図。 第2実施形態のメモリカードにおけるレジスタ部の詳細な構成を示す図。 第2実施形態のメモリカード内のフラッシュメモリにおけるメモリセルとバッファの構造を示す図。 各動作モードにおけるSDバス信号ピンに対する信号割り当てを示す図。
符号の説明
19…記憶デバイス、20…ホスト機器、21…記憶領域、22…デバイスコントローラ、23…バージョン情報レジスタ、24…性能識別コードレジスタ、25…性能パラメータレジスタ、26…ホストコントローラ、27…ホストバッファ、28…プロセッサ、29…システムメモリ。

Claims (14)

  1. データを記憶する半導体メモリと、
    外部からの要求に応じて前記半導体メモリにデータを書き込む指示を行うコントローラと、
    性能に応じて規定された複数の性能クラスのうちのサポートしている最大性能を出すために必要な性能クラスを示す性能クラス情報を保持するレジスタと、
    を具備することを特徴とする記憶デバイス。
  2. 前記レジスタが、前記半導体メモリおよび前記コントローラの性能に関する性能パラメータ情報をさらに保持することを特徴とする請求項1に記載の記憶デバイス。
  3. 前記性能パラメータ情報は、前記メモリ内でのデータの移動に要する移動速度と、前記記憶デバイスを用いるホスト機器が用いる、記憶領域の管理単位領域の大きさと、の少なくとも1つを含むことを特徴とする請求項2に記載の記憶デバイス。
  4. 前記半導体メモリが、データの書き込み単位である複数の物理領域を含み、
    前記コントローラが、連続したデータを連続する前記物理領域に書き込んでいる最中にファイルシステムの更新要求があった場合、書き込み再開後のデータの書き込みを、書き込み中断前に最後に書き込まれた前記物理領域の次の前記物理領域から再開する、
    ことを特徴とする請求項1に記載の記憶デバイス。
  5. 前記半導体メモリと、前記コントローラと、前記レジスタと、を覆う外囲器と、
    前記外囲器上に設けられ、前記レジスタが保持する前記性能クラス情報が示す前記性能クラスを表示する表示部と、
    をさらに具備することを特徴とする請求項1に記載の記憶デバイス。
  6. 性能に応じて規定された複数の性能クラスのうちのサポートしている最大性能を出すために必要な性能クラスを示す性能クラス情報およびデータを記憶する半導体メモリを含んだ記憶デバイスからのデータの読み出し、前記記憶デバイスへのデータの書き込みを行い、
    複数の前記性能クラスのうちの自身がサポートしている最大性能を引き出すために必要な性能クラスが設定されている、
    ことを特徴とするホスト機器。
  7. 前記記憶デバイスから前記記憶デバイスの性能に関する性能パラメータを読み出し、前記性能パラメータを用いて計算を行うことを特徴とする請求項6に記載のホスト機器。
  8. 前記半導体メモリのメモリ領域を、それぞれが複数の書き込み単位領域からなる複数の管理単位領域によって管理し、
    複数の前記管理単位領域内の使用状態に応じて、複数の前記管理単位領域を、前記性能パラメータを用いて、要求される性能でのデータの書き込みが可能な適合管理単位領域と不可能な不適管理単位領域とに分類する、
    ことを特徴とする請求項7に記載のホスト機器。
  9. 前記適合管理単位領域をリアルタイム書き込みに用いることを特徴とする請求項8に記載のホスト機器。
  10. 前記性能パラメータと前記適合管理単位領域の数とを用いて、前記要求される性能でのデータの書き込みが可能な残存記録時間を計算することを特徴とする請求項9に記載のホスト機器。
  11. 前記記憶デバイスの前記性能クラス情報が“0”の場合、この記憶デバイスに前記性能クラスが定義されていないと判定することを特徴とする請求項6に記載のホスト機器。
  12. 前記記憶デバイスの性能が前記ホスト機器が求める第1性能を満たすことができない場合、前記第1性能より低い第2性能で前記記憶デバイスにデータを書き込むことを特徴とする請求項6に記載のホスト機器。
  13. 前記記憶デバイスにデータを書き込めない間、書き込み要求されている書き込みデータをバッファで保存することを特徴とする請求項6に記載にホスト機器。
  14. 外囲器と、
    前記外囲器上に設けられ、ホスト機器に設定された前記性能クラスを表示する表示部と、
    をさらに具備することを特徴とする請求項6に記載のホスト機器。
JP2005198969A 2004-07-12 2005-07-07 記憶デバイスおよびホスト機器 Active JP4874588B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005198969A JP4874588B2 (ja) 2004-07-12 2005-07-07 記憶デバイスおよびホスト機器

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2004204028 2004-07-12
JP2004204028 2004-07-12
JP2004342275 2004-11-26
JP2004342275 2004-11-26
JP2005198969A JP4874588B2 (ja) 2004-07-12 2005-07-07 記憶デバイスおよびホスト機器

Publications (3)

Publication Number Publication Date
JP2006178923A true JP2006178923A (ja) 2006-07-06
JP2006178923A5 JP2006178923A5 (ja) 2007-06-07
JP4874588B2 JP4874588B2 (ja) 2012-02-15

Family

ID=36732967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005198969A Active JP4874588B2 (ja) 2004-07-12 2005-07-07 記憶デバイスおよびホスト機器

Country Status (1)

Country Link
JP (1) JP4874588B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008013227A1 (fr) * 2006-07-26 2008-01-31 Panasonic Corporation dispositif de stockage non volatil, dispositif d'accès et système de stockage non volatil
KR101038146B1 (ko) 2008-05-21 2011-05-31 가부시끼가이샤 도시바 반도체 기억 장치를 갖는 메모리 시스템
US8266371B2 (en) 2008-07-30 2012-09-11 Panasonic Corporation Non-volatile storage device, host device, non-volatile storage system, data recording method, and program
US8356134B2 (en) 2006-12-15 2013-01-15 Kabushiki Kaisha Toshiba Memory device with non-volatile memory buffer
US8725439B2 (en) 2009-09-23 2014-05-13 Samsung Electronics Co., Ltd. Electronic device controller for improving performance of electronic device
JPWO2014024350A1 (ja) * 2012-08-07 2016-07-25 パナソニックIpマネジメント株式会社 記録装置、アクセス装置、記録システム、及び記録方法
US9983794B2 (en) 2012-10-30 2018-05-29 Toshiba Memory Corporation Memory device and host device
JP2020113105A (ja) * 2019-01-15 2020-07-27 キヤノン株式会社 記録制御装置およびその制御方法
WO2020179851A1 (ja) * 2019-03-05 2020-09-10 パナソニックIpマネジメント株式会社 記録制御システム、制御装置、記録制御方法および記録媒体
JP2020177413A (ja) * 2019-04-17 2020-10-29 キヤノン株式会社 記録装置、記録方法、プログラム、及びメモリカード
USRE48983E1 (en) 2008-12-11 2022-03-22 Toshiba Memory Corporation Memory device and controlling method of the same

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06350907A (ja) * 1993-06-07 1994-12-22 Fuji Photo Film Co Ltd 電子スチルカメラ
JP2002190000A (ja) * 2000-12-22 2002-07-05 Fuji Photo Film Co Ltd 記録メディア及び電子機器
JP2003308241A (ja) * 2002-04-15 2003-10-31 Sony Corp データ記憶装置
JP2004023235A (ja) * 2002-06-13 2004-01-22 Fuji Photo Film Co Ltd 画像記録装置
JP2004158953A (ja) * 2002-11-05 2004-06-03 Matsushita Electric Ind Co Ltd 映像及び音声信号記録装置
WO2005015406A1 (ja) * 2003-08-06 2005-02-17 Matsushita Electric Industrial Co., Ltd. 半導体メモリカード、アクセス装置及びアクセス方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06350907A (ja) * 1993-06-07 1994-12-22 Fuji Photo Film Co Ltd 電子スチルカメラ
JP2002190000A (ja) * 2000-12-22 2002-07-05 Fuji Photo Film Co Ltd 記録メディア及び電子機器
JP2003308241A (ja) * 2002-04-15 2003-10-31 Sony Corp データ記憶装置
JP2004023235A (ja) * 2002-06-13 2004-01-22 Fuji Photo Film Co Ltd 画像記録装置
JP2004158953A (ja) * 2002-11-05 2004-06-03 Matsushita Electric Ind Co Ltd 映像及び音声信号記録装置
WO2005015406A1 (ja) * 2003-08-06 2005-02-17 Matsushita Electric Industrial Co., Ltd. 半導体メモリカード、アクセス装置及びアクセス方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8661186B2 (en) 2006-07-26 2014-02-25 Panasonic Corporation Nonvolatile memory device, access device, and nonvolatile memory system
WO2008013227A1 (fr) * 2006-07-26 2008-01-31 Panasonic Corporation dispositif de stockage non volatil, dispositif d'accès et système de stockage non volatil
US8356134B2 (en) 2006-12-15 2013-01-15 Kabushiki Kaisha Toshiba Memory device with non-volatile memory buffer
KR101038146B1 (ko) 2008-05-21 2011-05-31 가부시끼가이샤 도시바 반도체 기억 장치를 갖는 메모리 시스템
US8266371B2 (en) 2008-07-30 2012-09-11 Panasonic Corporation Non-volatile storage device, host device, non-volatile storage system, data recording method, and program
USRE48983E1 (en) 2008-12-11 2022-03-22 Toshiba Memory Corporation Memory device and controlling method of the same
USRE49921E1 (en) 2008-12-11 2024-04-16 Kioxia Corporation Memory device and controlling method of the same
US8725439B2 (en) 2009-09-23 2014-05-13 Samsung Electronics Co., Ltd. Electronic device controller for improving performance of electronic device
JPWO2014024350A1 (ja) * 2012-08-07 2016-07-25 パナソニックIpマネジメント株式会社 記録装置、アクセス装置、記録システム、及び記録方法
US9778857B2 (en) 2012-08-07 2017-10-03 Panasonic intellectual property Management co., Ltd Recording device, access device, recording system, and recording method
US11573701B2 (en) 2012-10-30 2023-02-07 Kioxia Corporation Memory device and host device
US10353586B2 (en) 2012-10-30 2019-07-16 Toshiba Memory Corporation Memory device and host device
US9983794B2 (en) 2012-10-30 2018-05-29 Toshiba Memory Corporation Memory device and host device
US10976930B2 (en) 2012-10-30 2021-04-13 Toshiba Memory Corporation Memory device and host device
JP2020113105A (ja) * 2019-01-15 2020-07-27 キヤノン株式会社 記録制御装置およびその制御方法
JP7263017B2 (ja) 2019-01-15 2023-04-24 キヤノン株式会社 記録制御装置およびその制御方法
WO2020179851A1 (ja) * 2019-03-05 2020-09-10 パナソニックIpマネジメント株式会社 記録制御システム、制御装置、記録制御方法および記録媒体
JP7042461B2 (ja) 2019-03-05 2022-03-28 パナソニックIpマネジメント株式会社 記録制御システム、制御装置、記録制御方法および記録媒体
JPWO2020179851A1 (ja) * 2019-03-05 2021-09-13 パナソニックIpマネジメント株式会社 記録制御システム、制御装置、記録制御方法および記録媒体
JP7252821B2 (ja) 2019-04-17 2023-04-05 キヤノン株式会社 記録装置、記録方法、プログラム、及びメモリカード
JP2020177413A (ja) * 2019-04-17 2020-10-29 キヤノン株式会社 記録装置、記録方法、プログラム、及びメモリカード

Also Published As

Publication number Publication date
JP4874588B2 (ja) 2012-02-15

Similar Documents

Publication Publication Date Title
KR100858756B1 (ko) 저장 디바이스 및 호스트 장치
JP4874588B2 (ja) 記憶デバイスおよびホスト機器
US6434658B1 (en) Memory device operable with a small-capacity buffer memory and having a flash memory
US7450420B2 (en) Reclaiming data storage capacity in flash memories
US9021187B2 (en) Logical block address remapping
EP1920335B1 (en) Reclaiming data storage capacity in flash memory systems
US8880483B2 (en) System and method for implementing extensions to intelligently manage resources of a mass storage system
KR100648243B1 (ko) 낸드 플래시 메모리를 사용하는 메모리 카드
KR20080032636A (ko) 논리 어드레스 공간 전반에 걸쳐 그리고 직접 데이터 파일기반 위에서 동작하는 인터페이싱 시스템
CN111158579B (zh) 固态硬盘及其数据存取的方法
US20090248981A1 (en) Semiconductor storage device
TW200915072A (en) Managing housekeeping operations in flash memory
JP2010515162A (ja) 連続論理アドレス空間インターフェイスを備えるダイレクトデータファイルシステムの使用
JP2010515163A (ja) ダイレクトデータファイルメモリシステムにおけるlbaインターフェイスの管理
CN100437458C (zh) 存储器件和主机装置
TWI724483B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
TWI770945B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
EP4220374A1 (en) Storage device and operating method of storage device
WO2020082455A1 (zh) 一种混合型记录实体映像表的方法
CN115576497A (zh) 数据读取方法、存储器存储装置及存储器控制电路单元

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070413

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111003

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

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

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

Free format text: PAYMENT UNTIL: 20141202

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4874588

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20141202

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350