JP4682263B2 - ダミーブロックによってタイムアウトを阻止する可搬型モジュールインターフェイス - Google Patents

ダミーブロックによってタイムアウトを阻止する可搬型モジュールインターフェイス Download PDF

Info

Publication number
JP4682263B2
JP4682263B2 JP2009539368A JP2009539368A JP4682263B2 JP 4682263 B2 JP4682263 B2 JP 4682263B2 JP 2009539368 A JP2009539368 A JP 2009539368A JP 2009539368 A JP2009539368 A JP 2009539368A JP 4682263 B2 JP4682263 B2 JP 4682263B2
Authority
JP
Japan
Prior art keywords
memory system
bus
dummy data
period
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009539368A
Other languages
English (en)
Other versions
JP2010511934A (ja
JP2010511934A5 (ja
Inventor
エルハミアス,リューベン
ゼハビ,デイビッド
バージライ,ロニ
マニ,ビベック
ストールロ,サイモン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Corp
Original Assignee
SanDisk 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
Priority claimed from US11/566,685 external-priority patent/US7917719B2/en
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of JP2010511934A publication Critical patent/JP2010511934A/ja
Publication of JP2010511934A5 publication Critical patent/JP2010511934A5/ja
Application granted granted Critical
Publication of JP4682263B2 publication Critical patent/JP4682263B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Description

本願は、可搬型電子モジュールへのインターフェイスに関し、より具体的には、堅固に既定されたインターフェイスへ機能を追加するアーキテクチャに関する。
相互参照
本願は2006年12月4日に出願された米国特許出願第11/566,685号(特許文献1)からの優先権を主張する。
分離可能なメモリモジュールは1990年代以降極めて重要となり、それまでリムーバブルディスクや特殊なバックアップメディアで占められてきたロバストポータビリティ隙間市場の多くを占有するに至っている。そのようなモジュールは通常、一塊のメモリ(通常はフラッシュ)と、I/O機能と制御機能を操作するコントローラとを含んでいる。これらのメモリモジュールの普及にともない、当然ながらその容量は増加し、ビット当たりのコストは低下している。しかし、このほかにも重要な開発動向が少なくとも2つある。第一に、コンピュータ以外の多数の可搬型電子システムにもそのようなモジュールのためのインターフェイスが組み込まれている。(そのようなシステムの例として、カメラ、ビデオレコーダ、携帯電話機、個人用携帯情報端末(PDA)、音楽・ビデオプレイヤ、これらの混成体等を挙げることができる。)第二に、単純な読み書きを超えた機能(例えば、データセキュリティや保護に関するもの)を提供するため、一部のメモリモジュールには高度な機能性が組み込まれている。
MMC、SD(ならびにそのバリエーションと後継)、CF、メモリスティック、USB等、そのようなモジュールには数通りの物理層プロトコルが採用されている。分離可能なモジュールの着脱は予期せず行われることがあるため、そのようなプロトコルの多くは非常に堅牢な動作に対応している。厳密なタイムアウトルールは堅牢動作を保証する特色のひとつである。例えばSDカードの物理層仕様では、標準容量SDカードの読み出しタイムアウトとして100ms以内、書き込みタイムアウトとして250ms以内を明確に定めている。(これらの規定はカードのアクセス中にシステムの行き詰まり、すなわち「ハング」を防ぐのに役立っている。)ホストは所定のタイムアウトで応答を得ない場合にカードが応答していないと仮定し、リカバリを試みることになっている(例えば、カードのリセット、パワーサイクル(ハードリセット)、拒否等)。(「SD Specifications Part 1, Physical Layer Simplified Specification Version 2.00, at sections 4.6, 4.6.1, and 4.6.2 」を参照されたい。この仕様書は、その全体が本願明細書において参照により援用されている。)
しかし、モジュールに組み込まれる機能が豊富になるにつれ、堅牢動作に貢献するタイムアウトルールそのものが支障をきたすことがある。具体的には、読み出し・書き込みタイムアウト規定のため、所望の読み出し操作や書き込み操作が時間切れになるまでに、セキュリティ検証等の込み入ったデータ処理操作が完了しないおそれがある。
最大タイムアウト値は容易く変更できるとは限らない。例えば、インターフェイスプロトコルルールが結線によりホスト側のFPGAやASICに組み込まれている場合がある。これは、結線によりレガシーハードウェアに組み込まれた制約事項は回避できないため、先進モジュールの導入にあたって問題となる。
バスタイムアウトが生じると、ホストはパワーサイクルか、リカバリプロセスか、書き込み中止か、電源遮断に取りかかり、その結果、カードにおける操作は打ち切られる。しかし、問題は、有効な読み出し/書き込み操作が時間切れになるときに生じる。これはカードが、タイムアウト時限より時間がかかる操作を実行しているときに起こる。アーキテクチャのこの既存部分のため、より複雑な操作への前進が妨げられている。
デジタルコンテンツの保護はリムーバブルメモリの開発を圧迫する一因となっている。利用者による著作物の自由な配布を禁じつつ、著作権で保護されたコンテンツを簡便に販売、移動、使用できるようにするため、多大な努力が払われてきた。デジタル音楽のセキュリティ保護にかかわる情報技術、家電製品、セキュリティ技術、コンテンツ所有者、インターネットサービスプロバイダを代表する180余りの企業・団体からなる産業フォーラムによって立ち上げられたセキュアデジタルミュージックイニシアチブ(SDMI)は、この方向における1つの画期的出来事だった。コンテンツ保護セキュアマルチメディアカードやその他のメディアにコンテンツを送り、コンテンツのコピーを作成、再生、交換する簡便で合法的な手段を利用者に提供するUDAC−MB(アクセス規制による普遍的配布−メディアベース)は、もうひとつの画期的出来事だった。これは、ライセンスキーと暗号化コンテンツの単独配布法に基づく技術である。UDAC−MBはKeitaide−Music(KdM)規格によって概ね引き継がれた。
コンテンツにおけるもうひとつの重要ステップは、サンディスク コーポレイションによって2005年に発表されたTrustedFlash(登録商標)アーキテクチャである。TrustedFlashにより消費者は上質の音楽、映画、ゲームをフラッシュメモリカードで購入し、携帯電話機、ラップトップ形コンピュータ、PDA等の可搬型装置で区別なく利用できる。コンテンツ提供者が求める優れたセキュリティ/デジタル著作権管理ソリューションを提供するTrustedFlash製品により、音楽制作者や映画スタジオは上質なコンテンツを発売できる。消費者は、自身の携帯電話機やPCを使ってオンラインデジタル音楽サービスから上質のコンテンツをダウンロードできる。
TrustedFlash技術ではカードそのものがデジタル著作権の管理機能を果たすため、消費者はカード(ならびにその内容)を他の対応装置に自由に移すことができ、そのコンテンツ保護システムが損なわれることはない。また、TrustedFlashカードは安全が確保されないホスト装置の場合に通常のカードとして機能する。
従来のメモリカードや大部分の家庭用電子機器に見られるセキュリティを遥かに凌ぐ高度なセキュリティを提供するオンボードプロセッサと、高性能暗号エンジンと、不正操作防止技術とにより、TrustedFlashカードは非常に安全である。TrustedFlashプラットフォームに基づくカードは万全のデジタル著作権管理能力を提供し、対称・非対称アルゴリズム等の業界セキュリティ規格をサポートする。
TrustedFlashは、クレジットカード支払、大量輸送アクセス、ワンタイムパスワード認証等、モバイルコマースへの応用や安全オンライン金融取引への拡張も見込まれている。
コンテンツ検証、ノード検証、および/またはファイルアクセス規制(例えば、秘密鍵ファイル)、および/または可搬型メディアに「チェックアウト」されたファイルを追跡するファイル管理オーバーヘッド手順のため、コンテンツ保護アーキテクチャには暗号アルゴリズムが必要になる場合が多い。これらはいずれも処理オーバーヘッドを増大させる。そのようなシステムにおける可搬型データモジュールとのデータ交換は、単純な読み出し/書き込み操作より遥かに込み入ったものになる。
先進コンテンツ保護機能を実現するには、洗練された高整合性データベースをデータモジュールで保持、保全できなければならない。そのようなデータベースアーキテクチャでは、場合によってはアクセスのたびに全面的な整合性チェックが必要になる。通常、整合性チェックにあたっては暗号計算が要求されるため、そのようなデータベースを動かすには甚大なオーバーヘッドがかかる。したがって、そのような先進メモリモジュールに対する読み書きは表面的に単純なだけであって、インターフェイスのカード側にはアクセスのたびに大量の計算が強いられる。タイムアウトが固定されていると、この増大したオーバーヘッドによって問題が生じることがある。
コンテンツ保護とモバイルデータインターフェイスについては、本願明細書において参照により援用されているウェブサイト(本願出願日におけるバージョンのもの)http://www.keitaide-music.org/, http://www.mmca.org/technology/, http://www.sdcard.org/, http://sdmi.org/ で詳しい情報を確認できる。
セキュリティアプリケーションに関する詳細は、本願明細書において参照により援用されている2006年11月6日に出願された米国特許出願第11/557,028号(特許文献2)とこの出願で引用されている資料で確認できる。
米国特許出願第11/566,685号 米国特許出願第11/557,028号
ダミーブロックによってタイムアウトを阻止する可搬型モジュールインターフェイス
本願は、バスタイムアウト規定に準拠しながら、セキュリティ機能等、高度な機能性をデータ転送操作に加える新しいアプローチを開示するものである。それには、例えば読み出しおよび/または書き込み操作にダミー操作を盛り込み、バスタイムアウトが複雑な機能に求められる数値処理の妨げとならないようにする。ホストはカードインターフェイスに関係する保安操作を起動するときに、タイムアウトを回避するにあたって十分な数のダミー操作をプログラムできる。
開示される新規軸は種々の実施形態において少なくとも以下に記す利点の1つ以上を提供する。
・過剰なタイムアウトが回避される。
・既存のインターフェイスへより複雑な機能を加えることができる。
・インターフェイスソフトウェアが更新されるときには新しいダミーブロックシリーズパラメータも更新できるため、過剰なタイムアウトは回避される。
・最大タイムアウト値より時間のかかる手順では、いくつかのダミーブロックをプログラムしインターフェイス上で送信できるため、固定された最大タイムアウト値は回避される。
・可搬型モジュールインターフェイス定義に改良セキュリティ機能を加えることができる。
・レガシー機器から先進保安データベース機能を含む可搬型モジュールへアクセスできる。
本発明の重要サンプル実施形態を示し、参照により本願明細書に組み込まれる、添付の図面を参照しながら、開示された発明を説明する。
コンピュータシステムのサンプル実施形態のブロック図である。 メモリシステムのサンプル実施形態のブロック図である。 サンプル実施形態に従い書き込み操作を例示する概括的フローチャートである。 サンプル実施形態に従い読み出し操作を例示する概括的フローチャートである。
現時点で好適な実施形態を具体的に参照しながら、(限定するためではなく例示のため)本願の数ある革新的教示を説明する。
本発明の種々の実施形態に従い、メモリシステム(例えば、メモリカード)で書き込みまたは読み出しバスタイムアウト仕様を超過するためのシステムおよび方法を説明する。 図1Aは、本発明の実施形態を実践できるハードウェアおよび動作環境の図である。この環境はコンピュータシステム10の形をとる汎用計算装置を含み、このコンピュータシステムは、プロセッサ15と、メモリ25と、メモリ25を含む各種システムコンポーネントをプロセッサ15へ実効的に結合するバス30とを含む。ただ1つのプロセッサ15が存在することもあれば、複数のプロセッサ15が存在することもある。コンピュータシステム10は通常のコンピュータであってもよく、分散コンピュータであってもよく、あるいは他の何らかのタイプのコンピュータであってもよく、本発明はこれらに限定されない。
バス30はインターフェイス90へ接続され、このインターフェイスは、メモリバスまたはメモリコントローラ、周辺バス、ローカルバス等、様々なバスアーキテクチャによる数種のバス構造のいずれであってもよい。インターフェイス90はダイレクトメモリアクセス(DMA)コントローラを含み、このコントローラは、メモリ25と、I/O装置との間で、例えば図1Bに見られるメモリシステム100との間で、データとコマンドを転送する。メモリ25は、基本入出力システム(BIOS)40を有する読み出し専用メモリ(ROM)40と、ランダムアクセスメモリ(RAM)45とを含む。RAM45はオペレーティングシステム50と、アプリケーションプログラム70と、プログラムデータ85と、後ほど詳述するドライバを含むプログラムモジュール80とを随時収容できる。
図1Bには、前述したメモリシステム100が機能的に表示されている。不揮発性メモリシステム100は通常、フラッシュメモリアレイ140とコントローラ105とを含む。メモリセルアレイ140はフラッシュであってもよく、さもなくば他の何らかのタイプの不揮発性メモリであってもよい。コントローラ105とメモリセルアレイ140との間ではユーザデータが転送される。
コントローラ105は、本発明の実施形態しだいでは、例えばプロセッサ110と、タイマー115と、読み出し専用メモリ(ROM)135と、ランダムアクセスメモリ(RAM)120とを含む。図1Bではタイマー115がハードウェアブロックとして示されているが、これをコードで実装してコントローラ105の中に蓄積することもできれば、ハードウェアとコードとの組み合わせとして実装することもできる。RAM120には、メモリシステム100の動作を制御するためのプロセッサ110によってアクセスされるファームウェアとソフトウェアとを蓄積できる。
コントローラ105はまた、ダイレクトメモリアクセス(DMA)エンジンを含むフラッシュインターフェイス125と、同じくダイレクトメモリアクセス(DMA)エンジンを含むホストインターフェイス130とを含む。フラッシュインターフェイス125とホストインターフェイス130の役割は、コントローラ105とメモリセルアレイ140との間で、およびコントローラ105とコンピュータシステム10との間で、それぞれ通信および転送を管理することと制御することとを含む。
具体的に、フラッシュインターフェイス125のDMAエンジンは、RAM120とのデータ転送とメモリセルアレイ140とのデータ転送とを管理し、かつ制御するように構成される。ホストインターフェイス130のDMAエンジンは、コンピュータシステム10とのデータ転送とRAM120とのデータ転送とを管理し、かつ制御するように構成される。コントローラ105は、メモリシステム100内での操作とそのバス上での操作とが非同期的に行われるように構成される。ホストインターフェイス130のDMAエンジンは本発明の一実施形態において、例えばレディ信号等の状態信号をアサートまたはデアサートすることによってバスを制御するように構成される。メモリシステム100がアクセス可能な状態になるとレディ信号がアサートされる。逆に、メモリシステム100がコマンドの処理や操作の実行でビジー状態にあるときには、レディ信号がデアサートされる。本発明の原理はコンピュータシステム10とメモリシステム100で具現する。本発明の原理によると、メモリシステム100は、例えばその仕様またはプロトコルのバスタイムアウト時限を超過する読み出し操作と書き込み操作を実行できる。本発明のこの実施形態で、メモリシステム100はSDカード仕様に基づく。コンピュータシステム10とメモリシステム100はいずれもSDカード仕様に適合するように構成され、いずれもバスタイムアウト時限を認識する。しかし、これとは別の仕様を、例えばパーソナルコンピュータメモリカード国際協会(PCMCIA)、コンパクトフラッシュ(CF)、マルチメディアカード(MMC)、セキュアデジタル(SD)カード等の仕様を本発明に従い実施できることを理解すべきである。
一般的に、本発明の一実施形態によると、ある特定の仕様のバスタイムアウトより長い期間にわたってメモリシステムでアプリケーションを実行したりデータを処理できるようにしたりするには、メモリシステムのコントローラがレディ信号をデアサートし、メモリシステムが時間切れになる寸前までコンピュータシステムへ至るバスを「ビジー」状態に保つ。書き込み操作のときには、書き込みバスタイムアウト時限が満了する前にコントローラがコンピュータシステムからダミーデータブロックを受信することで、バスタイムアウト時限はリセットされる。読み出し操作のときには、読み出しバスタイムアウト時限が満了する前にコントローラがコンピュータシステムへダミーデータブロックを送信することで、バスタイムアウト時限はリセットされる。
前述したように、コンピュータシステム10のメモリ45にはアプリケーションプログラム70が蓄積される。この例のアプリケーションプログラム70のうちの少なくとも1つのアプリケーションプログラムは、メモリシステム100のRAM120に蓄積されたセキュリティアプリケーションをサポートするセキュリティアプリケーションである。
さらに、プログラムモジュール80はドライバ(または結線ロジック)を含み、このドライバは、カードサービスの存在を検出し、カードファイルシステム(例えば、フラッシュファイルシステム)と連係し、メモリサービスに対するコールを処理し、バスタイムアウト時限を監視するように構成される。このドライバ(またはロジック)は、アプリケーションプログラム70とメモリシステム100との連係を図る。メモリシステム100にアクセスするための方法は、メモリシステムに実装されるメモリシステム(すなわちメモリ技術)のタイプしだいで異なるが、この例のメモリシステムはフラッシュ仕様を実装する。ドライバ(またはロジック)は、メモリシステム100へコマンドを提供し、メモリシステム100との間でデータを送受し、物理プロトコルレベルでバスタイムアウト時限(例えば、書き込み/読み出し)を管理するように構成される。ドライバ(またはロジック)の一機能として、ドライバはメモリシステム100からのレディ信号を監視し、特定の操作またはコマンドによるバスタイムアウト時限の超過を確認にする。前述したように、レディ信号はメモリシステム100が次のトランザクションに向けて準備がととのっていることを意味する。デアサートされたレディ信号は、メモリシステム100がコマンドや操作の実行でビジー状態にあり、次のトランザクションにかかれないことを意味する。
前述したように、システムの柔軟性を損なう真の問題は、これらの機能をドライバが引き受けるのではなく、少なくとも部分的にはハードウェアに組み込まれる場合に起こる。(ドライバは更新できるが、ハードウェアの変更はさほど容易くない。)これまで様々な製造業者がSDカードやその他インターフェイスのルールをFPGAまたはASICで実装し、これらのハードウェア実装を保持するレガシー機器には柔軟性がない。
先行技術のシステムの場合、メモリシステムで実行するアプリケーションや操作が長いプロセス、例えば書き込みまたは読み出しバスタイムアウト時限仕様を超過するプロセスなら、メモリシステムでバスタイムアウトが発生する。この場合はドライバのタイプにもよるが、通常ならばドライバがリセット信号やパワーサイクル等、メモリシステムのリカバリプロセスに着手する。いずれにせよドライバがバスタイムアウトを認識すると、コンピュータシステムはメモリシステムを正常に機能していないものとして扱い、メモリシステムで実行しているアプリケーションや操作は打ち切られる。
一般的に、典型的な書き込み操作ではコンピュータがメモリへ書き込みコマンドを送信し、メモリでデータ受信の準備がととのったことを伝える指示がメモリから届くのを待つ。この準備完了の指示は、例えば信号であったり、ステータスであったり、他の何らかのプロトコル機構であったりする。準備がととのったメモリはコンピュータへ指示を送信し、これを受けてコンピュータは一連のデータブロックをメモリへ送信する。メモリは準備がととのっているため、少なくとも1つのデータブロックは受信でき、データブロックの合間にはビジー信号をトリガーし、発行し、駆動できる。コンピュータはメモリからの信号を監視し、メモリの準備がととのうとメモリへデータブロックを送信する。
図2は、本発明の一実施形態に従い書き込み操作を例示する概括的フローチャートである。本発明のこの例示的実施形態では、コンピュータシステム10に蓄積されたセキュリティアプリケーションとメモリシステム100に蓄積されたセキュリティアプリケーションの脈絡の中で書き込み操作が実行される。開示するダミーブロックの使用は、時間がかかるアプリケーションでバスタイムアウトを阻止するのに適している。このコンセプトは、メモリシステムのバスタイムアウト仕様より長い処理時間を要するアプリケーションであればどのようなタイプのものにでも役立てることができる。前述したように、本発明はメモリシステム100で実行されるアプリケーションのタイプに限定されず、例えばメモリシステム内でのファイル削除やデータ圧縮にも応用できる。
図2を参照し、本発明のこの実施形態においてコンピュータシステム10のアプリケーション(例えば、セキュリティプロセス)は、ブロック205でクエリコマンドをメモリシステム100へ送信する。具体的に、コンピュータシステム10のアプリケーションは、書き込みバスタイムアウトを回避するためにメモリシステム100へ送信するべきダミーデータブロックの数をメモリシステム100に照会することをプロセッサ15に命じる。
ダミーデータブロックはセクタとブロックを持つ通常のデータブロックであり、そのサイズはメモリシステム100の仕様によって異なる。ダミーデータブロックの定義しだいでは、ダミーデータブロック内のデータに意味がなく、何でも含まれる。本発明のこの実施形態では、ダミーデータブロック内のデータに意味はない。有効データブロックからダミーデータブロックを区別するための識別子、例えば署名やパターンを、ダミーデータブロックに入れることもできる。
コントローラ105はRAM120に蓄積された命令を実行し、書き込みバスタイムアウトを阻止するにあたってコンピュータシステム10のアプリケーションからメモリシステム100へ送信する必要のあるダミーデータブロック数を判断する(ブロック210)。メモリシステム100でアプリケーションの実行にかかる最大時間と書き込みバスタイムアウト時限仕様を知っているコントローラ105は、書き込みバスタイムアウトを回避するためにコンピュータシステム10のアプリケーションが送信しなければならないダミーデータブロック数を判断する。コントローラ105は本発明のこの実施形態で、メモリシステム仕様の書き込みバスタイムアウト時限を、メモリシステムでアプリケーションの実行にかかる最大時間に分けることによってダミーデータブロック数を判断する。
例えばメモリシステム100でアプリケーション(例えば、セキュリティプロセス)の完了に10秒かかるなら、コントローラ105は、メモリシステム100で書き込みバスタイムアウト時限を超過せずにアプリケーションを実行するにあたって受信しなければならないダミーデータブロック数を判断する。メモリシステム100がSDカードなら、必然的に書き込みバスタイムアウトは250msである。これを知っているコントローラ105は、バスを1秒間ビジー状態に保つのに4個のダミーデータブロックがメモリシステム100に必要と判断する。メモリシステム100でアプリケーションが完了するのに10秒かかるなら、書き込みバスタイムアウトを回避するため、メモリシステム100は250ms毎に1ダミーデータブロック、全部で40個のダミーデータブロックを、受信しなければならない。読み出し操作の場合でも、読み出しタイムアウト時限が書き込みタイムアウト時限と異なることが見込まれるだけであって、計算の仕方は同じであることに注意すべきである。
図2を参照し、ダミーデータブロック数が判明したコントローラ105は、ブロック215でそのダミーデータブロック数をコンピュータシステム10のアプリケーションへ送信する。本発明のこの実施形態によると、これらの通信はアプリケーションレベルで始まる。アプリケーションレベルでの通信により、ドライバは出来合いのまま変える必要はない。
コンピュータシステム10のアプリケーションはクエリの結果を読み出し、適切なダミーデータブロック数でダミー書き込みコマンドを開始する。コンピュータシステム10のアプリケーションはダミー書き込みコマンドとダミーデータブロックをメモリシステム100へ送信する。ブロック220ではメモリシステム100がダミーデータブロックを受信し、ダミー書き込みコマンドの指示によりコントローラ105は処理中にダミー書き込み状態に入る。この状態のコントローラ105は、コンピュータシステム10のアプリケーションから受信するダミーデータブロックを無視する。前述したように、ダミーデータブロックはコンピュータシステム10のドライバによって監視され、ドライバには有効なデータブロックと何ら変わりなく映るため、ドライバはバスタイムアウトを発動しない。その後、メモリシステム100によってダミー書き込みコマンドが受信される。これを受けてコントローラ105はホストインターフェイス130を通じてレディ信号をデアサートし(つまり、バスをビジーに設定し)、メモリシステム100でアプリケーションを実行する。
コントローラ105はブロック225で、アプリケーションの実行に割り振られた期間を監視する。例えば、ダミー書き込みコマンドが受信されるとコントローラ105がタイマー115を起動し、書き込み操作のバスタイムアウト時限を監視できるようにする。この例のメモリシステム100はSD仕様に基づくもののため、書き込みバスタイムアウト時限は250msである。ブロック230では、書き込みバスタイムアウト時限を超過する前に、タイマー115によってタイムアウト満了割り込みが発生し、これによりプロセッサ110は中断し、ホストインターフェイス130はレディ信号をアサートする。レディ信号を認識するコンピュータシステム10のドライバは、メモリシステム100に向けて次のダミーデータブロックの転送を開始し、その結果、書き込みバスタイムアウトは阻止される。ブロック235ではメモリシステム100がダミーデータブロックを受信し、無視する。
前述したように、ドライバはダミーデータブロックと有効データブロックとの違いに気づかない。ドライバはダミーデータブロックの転送を監視し、書き込みバスタイムアウト時限内に転送が行われたものと認識するため、書き込みバスタイムアウトを発動しない。このため、メモリシステム100のアプリケーションはバスタイムアウトで中断されることなく実行し続けることができる。新たなダミーデータブロックが到着すると新規ダミーデータブロック割り込みによってタイマー115が起動し、これによりプロセッサ110は書き込みバスタイムアウト時限の満了に先立ち中断される。引き続きコントローラ105は、メモリシステム100のリセットやリカバリプロセスをともなわずにアプリケーションを実行できる。
タイムアウト満了割り込みと新規ダミーデータブロック到着割り込みは、メモリシステム100のプロセッサ110によるアプリケーションの実行と並行して起動される。2つの割り込みはアプリケーションの実行中に周期的に継続する。メモリシステム100がその内部プロセスを完了すると、コンピュータシステム10によって送信される残りのダミーデータブロックは、ダミーデータブロックの合間に遅延をはさまず、メモリシステム100によって回収される。2ダミーデータブロック間の遅延時間はパラメータで制御でき、アプリケーションやメモリシステム仕様によって異なる。
一般的に、典型的な読み出し操作ではコンピュータシステムがメモリシステムへ読み出しコマンドを送信し、メモリシステムでデータ送信の準備がととのったことを伝える指示がメモリシステムから届くのを待つ。前述したように、この準備完了の指示は、例えば信号であったり、ステータスであったり、他の何らかのプロトコル機構であったりする。準備がととのったメモリシステムは一連のデータブロックをコンピュータシステムへ送信する。メモリシステムは準備がととのっているため、少なくとも1つのデータブロックを送信でき、データブロックの合間にはビジー信号をトリガーし、発行し、駆動できる。
図3は、本発明の一実施形態に従い読み出し操作を例示するフローチャートである。本発明のこの例示的実施形態では、メモリシステム100に蓄積されたセキュリティアプリケーションとコンピュータシステム10に蓄積されたセキュリティアプリケーションの脈絡の中で読み出し操作が実行される。書き込みの例と同様に、本発明は時間がかかるアプリケーションでバスタイムアウトを阻止するのに適している。したがって、読み出し操作中に処理時間がメモリシステム仕様を上回るメモリシステム100のアプリケーションであればどのようなタイプのものでも当てはめることができる。前述したように、本発明はメモリシステム100で実行されるアプリケーションのタイプに限定されず、例えばメモリシステム内でのファイル削除やデータ圧縮にも応用できる。
本発明のこの実施形態で、RAM120に蓄積された命令を実行するコントローラ105は、読み出しバスタイムアウトを阻止するにあたってメモリシステム100からコンピュータシステム10へ送信する必要のあるダミーデータブロック数をブロック305で判断する。メモリシステム100でアプリケーションの実行にかかる最大時間と読み出しバスタイムアウト時限仕様を知っているコントローラ105は、読み出しバスタイムアウトを回避するためにアプリケーションが送信しなければならないダミーデータブロック数を判断する。コントローラ105は本発明のこの実施形態で、メモリシステム仕様の読み出しバスタイムアウト時限を、メモリシステムでアプリケーションの実行にかかる最大時間に分けることによってダミーデータブロック数を判断する。
例えばメモリシステム100でアプリケーション(例えば、セキュリティプロセス)の完了に10秒かかるなら、コントローラ105は、読み出しバスタイムアウトを阻止するためにコンピュータシステム10のアプリケーションへ送信する必要のあるダミーデータブロック数を判断する。メモリシステム100がSDカードなら、必然的に読み出しバスタイムアウトは100msである。これを知っているコントローラ105は、バスを1秒間ビジー状態に保つのに10個のダミーデータブロックがメモリシステム100に必要と判断する。メモリシステム100でアプリケーションが完了するのに10秒かかるなら、読み出しバスタイムアウトを回避するため、メモリシステム100は100ms毎に1ダミーデータブロック、全部で100個のダミーデータブロックを送信しなければならない。
書き込みの例と同様に、このダミーデータブロック数は、コンピュータシステム10のドライバがメモリシステム100におけるアプリケーションの実行中に読み出しバスタイムアウトを発動しないようにするために監視するダミーデータブロックの数量に相当する。
ダミーデータブロック数が判明したメモリシステム100のアプリケーション(例えば、セキュリティプロセス)は、ブロック310でコンピュータシステム10へクエリコマンドを送信する。具体的に、メモリシステム100のアプリケーションは、コンピュータシステム10へクエリコマンドを送信することをコントローラ105に命じる。このクエリコマンドは、読み出しコマンドの実行中に読み出しバスタイムアウトを回避するためにメモリシステム100から送信されるダミーデータブロック数をコンピュータシステム10に報告する。前述したように、これらの通信はアプリケーションレベルで始まるから、ドライバは出来合いのまま変える必要はない。
コンピュータシステム10のアプリケーションはメモリシステム100からのクエリ結果を読み出し、ダミー読み出しコマンドを開始する。コンピュータシステム10のアプリケーションはメモリシステム100へダミー読み出しコマンドを送信する。ブロック315ではメモリシステム100がダミー読み出しコマンドを受信し、処理中はダミー読み出し状態に入ることをコントローラ105に指示する。この状態のコントローラ105は、読み出しバスタイムアウト時限が満了する前にダミーデータブロックをコンピュータシステム10へ送信する。前述したように、これらのダミーデータブロックはコンピュータシステム10のドライバによって監視され、ドライバには有効なデータブロックと何ら変わりなく映る。メモリシステム100でダミー読み出しコマンドが受信されると、コントローラ105はレディ信号をデアサートする(つまり、バスをビジーに設定する)。
コントローラ105はブロック320で、アプリケーションの実行に割り振られた期間を監視する。例えば、ダミー読み出しコマンドが受信されるとコントローラ105がタイマー115を起動し、メモリシステム100で読み出し操作のバスタイムアウト時限を監視できるようにする。この例のメモリシステム100はSD仕様に基づくもののため、読み出しバスタイムアウト時限は100msである。ブロック325では、読み出しバスタイムアウト時限を超過する前にタイマー115によってタイムアウト満了割り込みが発生し、これによりプロセッサ110は中断し、ホストインターフェイス130はレディ信号をアサートする。
その後ブロック330では、コントローラ105がコンピュータシステム10のアプリケーションへダミーデータブロックと署名を送信する。コンピュータシステム10のアプリケーションはこの署名をもとに、有効データブロックからダミーデータブロックを区別できる。署名を認識するコンピュータシステム10のアプリケーションは、ダミーデータブロックを無視できる。
コンピュータシステム10のドライバはダミーデータブロックの転送を監視し、読み出しバスタイムアウト時限内に転送が行われたものと認識するため、読み出しバスタイムアウトを発動しない。前述したように、ドライバはダミーデータブロックと有効データブロックとの違いに気づかない。コンピュータシステム10のアプリケーションはダミーデータブロックを受信し、ダミーデータブロックの署名を認識し、ダミーデータブロックを無視する。
新たなダミーデータブロックが送信されると、新規データブロック送信割り込みによってタイマー115が起動し、これによりプロセッサ110は読み出しバスタイムアウト時限の満了に先立ち中断され、コントローラ105は、メモリシステム100のリセットやリカバリプロセスをともなわずにアプリケーションを実行できる。
タイムアウト満了割り込みと新規ダミーデータブロック送信割り込みは、メモリシステム100のプロセッサ110によるアプリケーションの実行と並行して起動される。2つの割り込みはアプリケーションの実行中に周期的に継続する。2ダミーデータブロック間の遅延時間はパラメータで制御でき、アプリケーションやメモリシステムのアーキテクチャによって異なる。
開示された種々の実施形態によると、ホストシステムと保安アクセスメモリを収容する分離可能な電子モジュールとを連係する方法が提供され、この方法は、a)コマンドによる書き込みで分離可能なモジュールにおける保安蓄積操作が要求される場合に、バスタイムアウトをともなうことなく分離可能なモジュールで保安蓄積操作を完了するにあたって十分に長い一連のダミー書き込みを実行するアクションと、b)コマンドによる読み出しで所望データの組み立てにあたって暗号操作が要求される場合に、タイムアウトを回避するためのダミー読み出しサイクルを実行するアクションと、を含み、これにより、レガシーバスアーキテクチャに複雑な手順を上乗せすることができる。
開示された種々の実施形態によると、ホストシステムとデータモジュールとを連係する方法が提供され、この方法は、a)コマンドによる書き込みサイクルで複雑な計算の完了が要求される場合に、複雑な計算が終了するまで、タイムアウトを回避するためのダミーブロックを、このダミーブロック間に遅延をはさみながら書き込むアクションと、b)コマンドによる読み出しサイクルで複雑な計算の完了が要求される場合に、複雑な計算が終了するまで、タイムアウトを回避するためのダミー読み出しを、このダミー読み出し間に遅延をはさみながら実行するアクションと、を含む。
開示された種々の実施形態によると、システムとメモリを収容する分離可能な電子モジュールとを連係する方法が提供され、この方法は、a)書き込みサイクル中に複雑な処理操作が要求される場合に、タイムアウトを回避するためのダミーブロックを書き込むアクションと、b)読み出しサイクル中に複雑な処理操作が要求される場合に、タイムアウトを回避するためのダミー読み出しを実行するアクションと、を含み、これにより、レガシーバスアーキテクチャに複雑な手順を上乗せすることができる。
開示された種々の実施形態によると、コンピュータシステムとメモリシステムとの間でバスタイムアウトを回避する方法が提供され、この方法は、書き込みバスタイムアウト時限を出来させずにメモリシステムでアプリケーションを実行するにあたって必要なダミーデータブロック数を判断するステップと、ダミーデータブロック数をコンピュータシステムに報知するステップと、メモリシステムがダミーデータブロックを無視する状態にするダミー書き込みコマンドをコンピュータシステムから受信するステップと、メモリシステムがビジー状態にあることをコンピュータシステムに指示するステップと、メモリシステムでアプリケーションを実行するステップと、メモリシステムでアプリケーションの実行に割り振られた期間を監視するステップと、その期間が書き込みバスタイムアウト時限を超過する前にメモリシステムがレディ状態にあることを指示するステップと、コンピュータシステムからダミーデータブロックを受信するステップと、を含む。
開示された種々の実施形態によると、保安アクセスメモリを収容する分離可能な電子モジュールで実装される、ホストシステムと連係する方法が提供され、この方法は、コマンドによる読み出しで所望データの組み立てにあたって暗号操作が要求される場合に、有効データが組み立てられかつ読み出されるまで、タイムアウトを回避するためのダミー読み出しサイクルを実行するアクションを含み、これにより、レガシーバスアーキテクチャに複雑な手順を上乗せすることができる。
開示された種々の実施形態によると、保安データモジュールと連係する方法が提供され、コマンドによる書き込みサイクルで複雑な計算の完了が要求される場合に、複雑な計算が終了するまで、タイムアウトを回避するためのダミーブロックを、このダミーブロック間に遅延をはさみながら書き込むアクションと、少なくとも計算が終了しかつコマンドによる書き込みサイクルが完了するときまでに、ダミーブロックを破棄するアクションと、を備える。
開示された種々の実施形態によると、コンピュータシステムとメモリシステムとの間でバスタイムアウトを回避する方法が提供され、この方法は、読み出しバスタイムアウト時限を出来させずにメモリシステムでアプリケーションを実行するにあたって必要なダミーデータブロック数を判断するステップと、ダミーデータブロック数をコンピュータシステムに報知するステップと、メモリシステムがビジー状態にあることをコンピュータシステムに指示するステップと、メモリシステムでアプリケーションを実行するステップと、メモリシステムでアプリケーションの実行に割り振られた期間を監視するステップと、その期間が読み出しバスタイムアウト時限を超過する前にメモリシステムがレディ状態にあることを指示するステップと、コンピュータシステムへダミーデータブロックと識別子とを送信するステップと、を含む。
開示された種々の実施形態によると、コンピュータシステムとメモリシステムとの間でバスタイムアウトを回避するシステムが提供され、このメモリシステムは、メモリセルアレイと、メモリセルアレイへ接続されたコントローラと、を備え、このコントローラは、書き込みバスタイムアウト時限を出来させずにコントローラでアプリケーションを実行するにあたって必要なダミーデータブロック数を判断することと、ダミーデータブロック数をコンピュータシステムに報知することと、コントローラがダミーデータブロックを無視する状態にするダミー書き込みコマンドをコンピュータシステムから受信することと、メモリシステムがビジー状態にあることをコンピュータシステムに指示することと、コントローラでアプリケーションを実行することと、コントローラでアプリケーションの実行に割り振られた期間を監視することと、その期間が書き込みバスタイムアウト時限を超過する前にメモリシステムがレディ状態にあることを指示することと、コンピュータシステムからダミーデータブロックを受信することと、を実行するように構成される。
開示された種々の実施形態によると、コンピュータシステムとメモリシステムとの間でバスタイムアウトを回避するシステムが提供され、このメモリシステムは、メモリセルアレイと、メモリセルアレイへ接続されたコントローラと、を備え、このコントローラは、読み出しバスタイムアウト時限を出来させずにコントローラでアプリケーションを実行するにあたって必要なダミーデータブロック数を判断することと、ダミーデータブロック数をコンピュータシステムに報知することと、メモリシステムがビジー状態にあることをコンピュータシステムに指示することと、コントローラでアプリケーションを実行することと、コントローラでアプリケーションの実行に割り振られた期間を監視することと、その期間が読み出しバスタイムアウト時限を超過する前にメモリシステムがレディ状態にあることを指示することと、コンピュータシステムへダミーデータブロックと識別子とを送信することと、を実行するように構成される。
修正と変更
本願で説明した革新的コンセプトは幅広い用途にわたって修正、変更でき、提示された例示的な教示に特許されるべき主題の範囲が限定されないことは当業者によって理解されるべきである。これは、添付の特許請求の範囲の精神および広範囲内にあるそのような全ての代案、修正、変更を包含する。
前述した実施形態は革新的原理の2、3の実装例を例示するものにすぎない。本発明の原理を具現しその精神および範囲内にある数多くの別構成を当業者が考案できることは理解されるべきである。
例えば、コントローラを内蔵するフラッシュメモリに使われている既存のリムーバブルカード規格または仕様に本発明の原理を容易く適応できることは、この開示から明らかである。そのような規格のひとつにあたるPCカード規格には3種類のPCカードの仕様がある。PCカード規格はパーソナルコンピュータメモリカード国際協会(PCMCIA)の産物である。コンパクトフラッシュカード(CFカード)は機能的にはPCカードと互換性があるが、PCカードよりはるかに小さい。マルチメディアカード(MMC)はさらに小さい不揮発性メモリカードである。その後のセキュアデジタル(SD)カードはMMCカードの改良版で、サイズはほぼ同じである。メモリカードとしての使用に適するこれらや他の電子カードには規格や仕様が存在する。これらの規格には一般に公開されているものと、カードの利用団体に公開されているものとがある。
フラッシュEEPROMシステム、特にコンピュータシステムやホストシステムに取り外し可能な方式で接続される密閉カードにパッケージされたものは、数々の用途に応用されている。現在の商用メモリカード形式にはパーソナルコンピュータメモリカード国際協会(PCMCIA)、コンパクトフラッシュ(CF)、マルチメディアカード(MMC)、セキュアデジタル(SD)等のカード形式がある。本願の出願人にあたるサンディスク コーポレイションは、これらのカードの一供給業者である。そのようなカードとともに使用するコンピュータシステムまたはホストシステムには、パーソナルコンピュータ、ノートブック形コンピュータ、手持ち型計算装置、カメラ、音声再生装置等がある。フラッシュEEPROMシステムは、ホストシステムに内蔵された大容量ストレージとして利用されることもある。
図1Bに見られるメモリシステムは、コンピュータシステムの一部として埋め込むことができるほか、前述のカード規格のいずれか1つに準拠するカード等、カードの中にパッケージすることもできる。カードの場合は、カード上の外部端子で終結するバスがコンピュータシステムまたはホストシステム内の相補ソケットと嵌合する。1枚のコントローラチップと多数のメモリチップの使用が一般的だが、トレンドは言うまでもなく、回路の組み合わせによってそのようなシステムに使用する単独チップ数を減らす方向にある。
もうひとつの例として、コンピュータシステム10は、パーソナルコンピュータ、デジタルカメラ、個人用携帯情報端末(PDA)、携帯電話機、デジタルオーディオプレイヤ等、そのような不揮発性メモリシステムに対するニーズを持つ他の電子システムであってもよい。メモリシステム100は、コンピュータシステム10に埋め込まれてコンピュータシステムの一部を形成することもあれば、電気的かつ機械的に取り外し可能な方式でコンピュータシステムに接続されるカードの形をとることもある。
さらに、システムは、様々な機能が個別の機能ブロックによって実行される形で開示されている。しかし、種々のメディアに蓄積されたソフトウェアプログラムを実行する適切にプログラムされた1つ以上の処理装置によっていずれか1つ以上のブロックの機能が実現される構成に、あるいは機能がファームウェアにプログラムされる構成に、いずれか1つ以上の機能を等しく具現することもできる。
メモリモジュールが接続するバスは本発明の別の実装例で、例えばSPIバス、1ビットまたは4ビットのSDカードバス、MMCバス、その他のバスであってもよい。同様に、ホストと連係するモジュールはSDでなくてもよく、CF等、SD以外の各種形式のものであってもよい。
さらに、手持ち型装置、マルチプロセッサシステム、マイクロプロセッサ方式またはプログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ等、他のコンピュータシステム構成で本発明を実践できることが当業者によって理解される。
本願の説明は、特定の要素、ステップ、機能が特許請求の範囲に必ず含まれる必須の要素であると示唆するものと解釈してはならない。特許されるべき主題の範囲はもっぱら許容される特許請求の範囲によって定められる。さらに、用語「means for(の手段)」の後ろに分詞が続く場合を除き、これらの請求項は35 USC、第112節、第6項を引き合いに出すものではない。
添付の特許請求の範囲は可能な限り包括的であることを意図するものであり、題材が意図的に放棄、献呈、または破棄されることはない。

Claims (26)

  1. メモリシステムがバスタイムアウトを回避する方法であって、
    メモリシステムがアプリケーションを実行するのに要求される期間がメモリシステムに対するバスタイムアウト時限を超過するかどうかを判断するステップと、
    その期間がメモリシステムに対するバスタイムアウト時限を超過したと判断された場合には、
    バスタイムアウトを出来させずにアプリケーションを実行するにあたって必要なダミーデータブロック数を判断するステップと、
    判断された数についてメモリシステムバスを介してコンピュータシステムとやり取りするステップと、
    メモリシステムでアプリケーションの実行期間を監視するステップと、
    監視された期間がバスタイムアウト時限を超過する前に、メモリシステムがメモリシステムとコンピュータシステムとの間でダミーデータブロックをやり取りするためのレディ状態にあることをコンピュータシステムに指示するステップと、
    を含む方法。
  2. 請求項1記載の方法において、
    判断されたダミーデータブロック数についてのクエリをコンピュータシステムから受信するステップをさらに含む方法。
  3. 請求項1記載の方法において、
    アプリケーションを実行するにあたって必要なダミーデータブロック数を判断するステップは、メモリシステムの書き込みバスタイムアウト時限を、メモリシステムでアプリケーションを実行するのにかかる最大時間に分けることを含む方法。
  4. 請求項1記載の方法において、
    アプリケーションを実行するにあたって必要なダミーデータブロック数を判断するステップは、メモリシステムの読み出しバスタイムアウト時限を、メモリシステムでアプリケーションを実行するのにかかる最大時間に分けることを含む方法。
  5. 請求項1記載の方法において、
    アプリケーションを実行するための期間を監視するステップと、
    バスタイムアウト時限より前の時間にメモリシステムのコントローラに合図するステップをさらに含む方法。
  6. 請求項1記載の方法において、
    アプリケーションは、著作権で保護されたコンテンツの自由な配布を防ぐデジタルコンテンツ保護セキュリティプロセスを含む方法。
  7. 請求項1記載の方法において、
    バスタイムアウト時限は、パーソナルコンピュータメモリカード国際協会(PCMCIA)、コンパクトフラッシュ(CF)、マルチメディアカード(MMC)、およびセキュアデジタル(SD)仕様のいずれか1つのバスタイムアウト時限を含む方法。
  8. 請求項1記載の方法において、
    ダミーデータブロックは、無視すべきブロックとしてダミーデータブロックを識別する署名を含む方法。
  9. コンピュータシステムとメモリシステムとの間でバスタイムアウトを回避する方法であって、
    処理操作を完了するための期間がメモリシステムのバスタイムアウト時限を超過するかどうかを判断するステップと、
    処理操作のタイミングをはかるステップと、
    バスタイムアウト時限が満了する前で、かつ処理操作が完了する前に、メモリシステムバスがメモリシステムとコンピュータシステムとの間でダミーデータブロックをやり取りするためのレディ状態にあることをコンピュータシステムに指示するステップと、
    を含む方法。
  10. 請求項9記載の方法において、
    メモリシステムバスがメモリシステムとコンピュータシステムとの間でダミーデータブロックをやり取りするためのレディ状態にあることをコンピュータシステムに指示するステップは、バスタイムアウト時限を回避するためにコンピュータシステムとメモリシステムとの間でやり取りすべきものであるデータブロック数を指示するクエリをコンピュータシステムへ送信することを含む方法。
  11. 請求項10記載の方法において、
    ダミーデータブロック数は、期間に割り振られる方法。
  12. 請求項10記載の方法において、
    処理操作の実行を完了するための期間にバスタイムアウト時限を分けることによってダミーデータブロック数を判断する方法。
  13. 請求項9記載の方法において、
    バスタイムアウト時限は、パーソナルコンピュータメモリカード国際協会(PCMCIA)、コンパクトフラッシュ(CF)、マルチメディアカード(MMC)、およびセキュアデジタル(SD)仕様のいずれか1つのバス読み出しタイムアウト時限である方法。
  14. メモリシステムであって、
    メモリシステムバスと、
    メモリメモリシステムバスとやり取りするコントローラであって、
    メモリシステムがアプリケーションを実行するのに要求される期間がメモリシステムに対するバスタイムアウト時限を超過するかどうかを判断し、その期間がメモリシステムに対するバスタイムアウト時限を超過したとコントローラが判断した場合には、
    バスタイムアウトを出来させずにアプリケーションを実行するにあたって必要なダミーデータブロック数を判断し、
    判断された数についてメモリシステムバスを介してコンピュータシステムとやり取りし、
    コントーラでアプリケーションの実行期間を監視し、かつ
    監視された期間がバスタイムアウト時限を超過する前に、メモリシステムバスがメモリシステムとコンピュータシステムとの間でダミーデータブロックをやり取りするためのレディ状態にあることをコンピュータシステムに指示するコントローラと、
    を備えるメモリシステム。
  15. 請求項14記載のメモリシステムにおいて、
    コントローラは、判断されたダミーデータブロック数についてのクエリをコンピュータシステムから受信するメモリシステム。
  16. 請求項14記載のメモリシステムにおいて、
    コントローラは、メモリシステムの書き込みバスタイムアウト時限を、コントローラでアプリケーションを実行するのにかかる最大時間に分けることによって必要なダミーデータブロック数を判断するメモリシステム。
  17. 請求項14記載のメモリシステムにおいて、
    アプリケーションの実行期間を監視し、バスタイムアウト時限より前の時間にコントローラに合図するタイマーをさらに備えるメモリシステム。
  18. 請求項14記載のメモリシステムにおいて、
    アプリケーションは、著作権で保護されたコンテンツの自由な配布を防ぐデジタルコンテンツ保護セキュリティプロセスを含むメモリシステム。
  19. 請求項14記載のメモリシステムにおいて、
    コントローラは、メモリシステム仕様の読み出しバスタイムアウト時限を、メモリシステムでアプリケーションを実行するのにかかる最大時間に分けることによって必要なダミーデータブロック数を判断するメモリシステム。
  20. 請求項14記載のメモリシステムにおいて、
    バスタイムアウト時限は、パーソナルコンピュータメモリカード国際協会(PCMCIA)、コンパクトフラッシュ(CF)、マルチメディアカード(MMC)、およびセキュアデジタル(SD)仕様のいずれか1つのバスタイムアウト時限を含むメモリシステム。
  21. 請求項14記載のメモリシステムにおいて、
    ダミーデータブロックは、無視すべきブロックとしてダミーデータブロックを識別する署名を含むメモリシステム。
  22. コンピュータシステムとメモリシステムとの間でバスタイムアウトを回避するシステムであって、
    メモリシステムバスと、
    メモリシステムバスとやり取りするコントローラであって、処理操作を完了するための期間がメモリシステムのバスタイムアウト時限を超過するかどうかを判断するコントローラと、
    処理操作のタイミングをはかり、バスタイムアウト時限が満了する前で、かつ処理操作が完了するより前の時間にコントローラと信号のやり取りをするタイマーと、を備え、
    コントローラは、信号を受信すると、処理操作が完了する前にメモリシステムバスがメモリシステムとコンピュータシステムとの間でダミーデータブロックをやり取りするためのレディ状態にあることをコンピュータシステムに指示するメモリシステム。
  23. 請求項22記載のメモリシステムにおいて、
    コントローラは、バスタイムアウト時限を回避するためにコンピュータシステムとメモリシステムとの間でやり取りすべきものであるデータブロック数を指示するクエリをコンピュータシステムへ送信するメモリシステム。
  24. 請求項23記載のメモリシステムにおいて、
    ダミーデータブロック数は、期間に割り振られるメモリシステム。
  25. 請求項23記載のメモリシステムにおいて、
    処理操作の実行を完了するための期間にバスタイムアウト時限を分けることによってダミーデータブロック数を判断するメモリシステム。
  26. 請求項23記載のメモリシステムにおいて、
    バスタイムアウト時限は、パーソナルコンピュータメモリカード国際協会(PCMCIA)、コンパクトフラッシュ(CF)、マルチメディアカード(MMC)、およびセキュアデジタル(SD)仕様のいずれか1つのバス読み出しタイムアウト時限である方法。
JP2009539368A 2006-12-04 2007-12-04 ダミーブロックによってタイムアウトを阻止する可搬型モジュールインターフェイス Expired - Fee Related JP4682263B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/566,685 US7917719B2 (en) 2006-12-04 2006-12-04 Portable module interface with timeout prevention by dummy blocks
US61883906A 2006-12-31 2006-12-31
PCT/US2007/024797 WO2008070053A2 (en) 2006-12-04 2007-12-04 Portable module interface with timeout prevention by dummy blocks

Publications (3)

Publication Number Publication Date
JP2010511934A JP2010511934A (ja) 2010-04-15
JP2010511934A5 JP2010511934A5 (ja) 2011-01-27
JP4682263B2 true JP4682263B2 (ja) 2011-05-11

Family

ID=39492837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009539368A Expired - Fee Related JP4682263B2 (ja) 2006-12-04 2007-12-04 ダミーブロックによってタイムアウトを阻止する可搬型モジュールインターフェイス

Country Status (6)

Country Link
EP (1) EP2104895B1 (ja)
JP (1) JP4682263B2 (ja)
KR (1) KR101276559B1 (ja)
CN (1) CN101589378B (ja)
TW (1) TWI343006B (ja)
WO (1) WO2008070053A2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8516232B2 (en) 2009-06-30 2013-08-20 Sandisk Technologies Inc. Method and memory device for performing an operation on data
CN107885622B (zh) * 2016-09-30 2021-03-09 伊姆西Ip控股有限责任公司 处理虚拟数据移动器(vdm)故障备援情况
CN106341488A (zh) * 2016-10-08 2017-01-18 深圳市云舒网络技术有限公司 一种基于tcmu虚拟块设备的网络存储后端超时处理方法
TWI659310B (zh) * 2018-01-04 2019-05-11 旺宏電子股份有限公司 儲存裝置操作方法及其應用其的儲存系統
JP7522547B2 (ja) 2019-09-20 2024-07-25 キヤノン株式会社 情報処理装置及びリセット制御方法
US11409468B2 (en) 2020-06-03 2022-08-09 Western Digital Technologies, Inc. Storage system and method for using proactive device timeout information

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57212535A (en) * 1981-06-25 1982-12-27 Nec Corp Terminal equipment having cut avoiding mechanism of logical communication channel
JPS59123361A (ja) * 1982-12-29 1984-07-17 Fujitsu Ltd インタフエ−ス制御方式
JPH0748758B2 (ja) * 1986-05-10 1995-05-24 カシオ計算機株式会社 デ−タ処理装置
JPH02196355A (ja) * 1989-01-26 1990-08-02 Nec Corp 記憶処理システム
US5258952A (en) * 1990-12-14 1993-11-02 Sgs-Thomson Microelectronics, Inc. Semiconductor memory with separate time-out control for read and write operations
JP2972491B2 (ja) * 1993-07-09 1999-11-08 株式会社日立製作所 バス制御機構及び計算機システム
JP3648820B2 (ja) * 1995-12-07 2005-05-18 ソニー株式会社 通信制御方法及び電子機器
JP2001148717A (ja) * 1999-11-19 2001-05-29 Sharp Corp データサーバ装置
US7051145B2 (en) * 2001-12-10 2006-05-23 Emulex Design & Manufacturing Corporation Tracking deferred data transfers on a system-interconnect bus
WO2004105021A1 (en) * 2003-05-20 2004-12-02 Koninklijke Philips Electronics N.V. Handling real-time write errors
JP4026069B2 (ja) * 2003-08-29 2007-12-26 サクサ株式会社 遠隔監視システム

Also Published As

Publication number Publication date
KR101276559B1 (ko) 2013-06-24
JP2010511934A (ja) 2010-04-15
TW200842584A (en) 2008-11-01
EP2104895A4 (en) 2010-12-08
EP2104895A2 (en) 2009-09-30
WO2008070053A3 (en) 2008-08-21
KR20090095578A (ko) 2009-09-09
TWI343006B (en) 2011-06-01
WO2008070053A2 (en) 2008-06-12
CN101589378B (zh) 2014-02-12
EP2104895B1 (en) 2014-02-12
CN101589378A (zh) 2009-11-25

Similar Documents

Publication Publication Date Title
US7917719B2 (en) Portable module interface with timeout prevention by dummy blocks
JP4682263B2 (ja) ダミーブロックによってタイムアウトを阻止する可搬型モジュールインターフェイス
US8761402B2 (en) System and methods for digital content distribution
US7266640B2 (en) Memory card authentication system, capacity switching-type memory card host device, capacity switching-type memory card, storage capacity setting method, and storage capacity setting program
US9876797B2 (en) Controlling access to digital content
US20080065911A1 (en) Apparatus for Transferring Licensed Digital Content Between Users
TWI526841B (zh) 用於通用串列匯流排至sd之橋接器之電腦可存取的儲存媒體、方法、系統及設備
US20080163350A1 (en) Portable information security device
KR101548437B1 (ko) 휴대용 디바이스의 드라이버(들)를 휴대용 디바이스에 통합하는 방법 및 장치
TW201312383A (zh) 資料儲存器件鑑認裝置及包含鑑認裝置連接器之資料儲存器件
EP2434426A1 (en) Method and system for controlling access to digital content
CN101627391B (zh) 用于控制对数字内容的存取的方法及***
JP2010503925A (ja) ライセンスされたデジタルコンテンツのユーザ間での転送
US20120072690A1 (en) Memory device and method of transferring data

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101203

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101203

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20101203

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20110104

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4682263

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees