专利摘要:
処理システムにおけるコントローラはホストプロセッサから、メモリのような外部デバイスに対して送信された、その外部デバイスからの応答を読込む必要があるかどうかを示すプログラム可能なビットシーケンスを検出することができる。また、そのコントローラは外部デバイスからの応答を読出し、適切な動作、例えば、そのデバイスの実際の応答と1つ以上のプログラム可能に決定された応答とを比較することにより、エラーが発生したかどうかを判断することができる。特定の応答、例えば、エラーを示す応答を読取った際には、コントローラはホストプロセッサに対して更なる動作のために割込み要求を発行することができる。コントローラはまた、どの外部デバイスアクセスが特定の応答を発生させる原因となったのかを追跡することができる。
公开号:JP2011508296A
申请号:JP2010538800
申请日:2008-12-23
公开日:2011-03-10
发明作者:ジェイソン ホブラー,
申请人:テレフオンアクチーボラゲット エル エム エリクソン(パブル);
IPC主号:G06F13-24
专利说明:

[0001] 本発明は電子処理回路に関し、特に、そのような回路とデバイスとの間のデータ転送を制御する方法とデバイスとに関する。]
背景技術

[0002] ハードディスク、読出専用メモリカード、フラッシュメモリカードのような1つ以上の外部メモリデバイスと入出力を行うプロセッサを多くの電子デバイスはもっている。今日、フラッシュメモリアクセスは、システムバスを介してデバイスのホストプロセッサに接続されたフラッシュメモリ・インタフェースコントローラにより制御される。]
[0003] 図1はフラッシュメモリアクセスを制御する典型的な構成を含む処理システム100のブロック図である。その関連部分において、システム100はホストプロセッサ102とインタフェースコントローラ104と、おそらくはシステムバス112を介して通信する他の種々のデバイス106、108、110とを含む。インタフェースコントローラ104は、制御バス信号とデータバス信号を用いてフラッシュメモリデバイス114に対して、そして、フラッシュメモリデバイス114からデータを転送することを担当する。これらの信号は通常、フラッシュメモリ産業で広く受け入れられている標準的技法に準拠している。データをデバイス114と交換する他に、コントローラ104は制御信号をデバイス114に送信して、デバイス114からレディ/ビジー信号を受信する。] 図1
[0004] 各“ページ書込み”の後に、メモリデバイス114はホストプロセッサ102により照会され、その書込み動作がうまくいったかどうかを判断するのが一般的である。その命令の特定のフォーマットとその応答のコンテンツはメモリデバイス114の製造者によって設定されるが、多くの製造者は“読出しステータス”命令が“0x70h”であることを規定し、“0x00h”以外の応答がエラーであることを示す業界のデファクト標準を固守している。なお、その命令と応答とは16進表記で書かれており、xは気に止める必要のない(ドントケア:don't care)ことを示している。]
[0005] そのようなインタフェースコントローラの1つの構成はアサノら(Asano et al.)に特許された特許文献1に記載されており、特許文献1では、周辺機器からのデータ要求に応答してホストに対する割込み要求を生成し、その周辺機器のステータスがホストにより読込まれるなら割込み要求を消去する、周辺機器に対するインタフェース回路を記載していることを述べている。そのインタフェース回路はホストが後読み(post-read)モードで動作していることを検出し、後読みモード検出信号とホストによるステータス読出しに応答して、ホストへの割込み要求の再生成を可能にしている。]
[0006] チョイら(Choi et al.)に特許された特許文献2は、例えば、動作ステータスを示す“ステータス読出し”動作を提供するフラッシュメモリデバイスを記載している。]
[0007] 各“ページ書込み”動作の後に、メモリデバイスは通常、“読出しステータス”が照会されて、その書込み動作がうまくいったかどうかを判断する。このことは、ホストプロセッサが標準的な“ステータス読出し”命令を発行し、それからメモリデバイスにより返される応答を読出すことによりなされる。通常の“ステータス読出し”動作は、フラッシュメモリデバイスがページデータをその内部バッファからその記憶アレイに転送した直後に実行される。この転送は終わりは、フラッシュメモリデバイスのレディ/ビジー信号出力がディアサートされることによりマークされる。ホストプロセッサはそのディアサーションを検出し、それから“ステータス読出し”命令を発行する。]
先行技術

[0008] 米国特許第5,457,787号明細書
米国特許第6,249,461号明細書
米国特許第5,640,349号明細書
米国特許第6,985,778号明細書
米国特許第5,799,168号明細書]
発明が解決しようとする課題

[0009] 各“読出しステータス”をチェックしなければならないホストプロセッサからは問題が生じている。ホストプロセッサは他のシステム動作を停止して、“ステータス読出し”命令を発行し、その応答を読込み、そして、(通常はまれであるが)エラーに遭遇したならば適切に対応して動作しなければならない。これによりシステムの全体的な性能が低下し、ホストプロセッサが連続的にメモリの“ステータス読出し”動作に対するサービスを行うためにそらされねばならないために、その性能低下はおそらく劇的なものであろう。別の観点からすると、その問題は“ページ書込み”動作に続くメモリデバイスステータスの照会のためにホストプロセッサによって必要とされる過度のバンド幅である。]
[0010] カキヌマら(Kakinuma et al.)に特許された特許文献3は、2つのフラッシュメモリと、バッファメモリのペアとデータバスのペアをもつフラッシュメモリコントローラとを記載している。データバスは並列に動作可能なので、ホストとフラッシュメモリカードとの間の転送時間は短縮される。特許文献3は、応答が読取られる必要があるのかどうかを示すフラッシュメモリに送信されるプログラム可能なビットシーケンスを検出すること、或は、エラーの結果となるメモリアクセス(マルチバッファキュー方式におけるアドレスとデータ)を追跡することを記載していない。]
[0011] キムら(Kim et al.)に特許された特許文献4は、ホストプロセッサとNANDフラッシュメモリとの間のインタフェースを記載している。そのインタフェースは、ホストプロセッサからの命令を受信して格納し、NANDフラッシュメモリの動作とその命令を実行するための動作情報とを制御するレジスタを含んでいる。また、そのメモリにおけるフラッシュインタフェース部は、制御信号を制御してNANDフラッシュメモリを動作させ、命令、動作情報、或は、ホストデータを出力し、NANDフラッシュメモリに入力されるデータにより入力/出力接続を制御する。特許文献4は、応答が読取られる必要があるのかどうかを示すフラッシュメモリに送信されるプログラム可能なビットシーケンスを検出すること、或は、エラーの結果となるメモリアクセス(マルチバッファキュー方式におけるアドレスとデータ)を追跡することを記載していない。]
[0012] バン(Ban)に特許された特許文献5は、メモリ回路固有の命令にプロセッサからの汎用命令を変換したり、或は、その逆の変換を行うフラッシュメモリコントローラを記載している。書込み或は消去後に、そのコントローラは自動的に“ステータス読出し”に移行し、そして、そのコントローラは所定のレジスタとソフトウェアポーリングを介して読出しステータス情報を抽出することができる。特許文献5は、応答が読取られる必要があるのかどうかを示すフラッシュメモリに送信されるプログラム可能なビットシーケンスを検出すること、或は、エラー応答に遭遇するとき割込み要求を発行ことを記載していない。]
課題を解決するための手段

[0013] 通常の“ステータス読出し”動作の代わりに、本発明ではホストプロセッサに他のシステム動作を担当させる一方で、別のコントローラがメモリデバイスを監視する。そのようなコントローラは“ステータス読出し”命令を発行し、その応答を読取り、自動的に適切であればホストに割込みを発行する。従って、ホストプロセッサは他の動作のために解放され、その結果、システム性能が改善される。]
[0014] 本発明の1つの側面からすれば、ホストプロセッサを含む処理システムにおけるメモリデバイスのためのコントローラが備えられる。そのホストプロセッサとコントローラとはシステムバスにより接続され、そのコントローラは前記メモリデバイスと通信するものである。そのコントローラは、前記ホストプロセッサにより前記メモリデバイスに送信される少なくとも1つのプログラム可能なビットシーケンスを検出するよう構成されたロジック部と、前記検出されたビットシーケンスに基づいて、前記メモリデバイスに命令を発行するよう構成されたロジック部と、前記発行された命令に対して前記メモリデバイスから少なくとも1つの応答を読出すよう構成されたロジック部と、前記メモリから読出された少なくとも1つの応答に基づいて、前記ホストプロセッサに割込み要求を送信するよう構成されたロジック部とを有する。前記割込み要求は読出しステータスエラーが発生したときに、前記ホストプロセッサに送信される。]
[0015] 本発明の別の側面からすれば、ホストプログラムとメモリコントローラとを含む処理システムにおけるメモリデバイスを制御する方法が備えられる。その方法は、前記メモリデバイスに命令を送信する工程と、前記メモリコントローラにより、前記メモリデバイスによる前記命令に対する応答を読出す工程と、読出した応答が読出しステータスエラーを示すなら、前記メモリコントローラにより、前記ホストプロセッサに割込み要求を送信する工程とを有する。]
[0016] 本発明のさらに別の側面からすれば、コンピュータにより実行されるときに、ホストプログラムとメモリコントローラとを含む処理システムにおけるメモリデバイスを制御する方法を前記コンピュータに実行させるようにする命令を格納したコンピュータ可読媒体が備えられる。その方法は、前記メモリデバイスに命令を送信する工程と、前記メモリコントローラにより、前記メモリデバイスによる前記命令に対する応答を読出す工程と、読出した応答が読出しステータスエラーを示すなら、前記メモリコントローラにより、前記ホストプロセッサに割込み要求を送信する工程とを有する。]
[0017] 出願人の発明の目的、特徴、及び利点については添付図面とあわせてこの説明を読むことにより理解されるであろう。]
図面の簡単な説明

[0018] フラッシュメモリアクセスを制御する代表的な構成を含む処理システムのブロック図である。
代表的なインタフェースコントローラのブロック図である。
代表的なメモリデバイスに対する通常の“ページ書込み”動作を示す図である。
改良型インタフェースコントローラのブロック図である。
ステータスレジスタのビットを識別する代表的なテーブルを示す図である。
外部メモリデバイスに対する改良された“ページ書込み”動作を示す図である。]
実施例

[0019] 図1に描写された通常の構成において、インタフェースコントローラ104は、システムのホストコンピュータ102とメモリデバイス104との間のブリッジとして動作し、“ステータス読出し”動作のためにシステムバンド幅の低下を緩和するものではない。図2は通常のインタフェースコントローラ104のブロック図であり、その内部のインタフェース制御ロジック部204を示している。そのロジック部はシステムバス112を介して、上述のようなメモリデバイス114に対する、また、メモリデバイス114からのデータと制御信号の転送を扱う。] 図1 図2
[0020] 図2に描写されているように、インタフェース制御ロジック204は本質的にはメモリデバイス114からのレディ/ビジー信号をただ、割込み信号として、ホストプロセッサ102に受け渡すだけである。その割込み信号はホストプロセッサ102にとりわけ“ステータス読出し”命令を発行しなければならないことを通知する。従って、ホストプロセッサ102は“ステータス読出し”動作を実行する必要がある度ごとに割込みを受ける。] 図2
[0021] 図3はホストプロセッサ102の通常の割込みを必要とする通常の“ページ書込み”動作を示す図である。その動作は、ホストプロセッサが“ページ書込み”命令をインタフェースコントローラ104に送信することで開始する。インタフェースコントローラ104は適切な命令をメモリデバイス114に送信することによりこれに応じる。ホストプロセッサ102はそれからアドレス情報をインタフェースコントローラ104に送信する。ホストプロセッサ102はそれから、格納されるデータをインタフェースコントローラ104に送信する。インタフェースコントローラ104は、そのデータをメモリデバイス114に送信することによりこれに応じる。メモリデバイス114はそのデータを内部バッファに一時的に格納する。ホストプロセッサ102は“ページ書込み”確認命令をインタフェースコントローラ104に送信する。インタフェースコントローラ104は適切な確認命令をメモリデバイス112に送信することによりこれに応じる。そして、データがメモリデバイス114のバッファから以前に送られたアドレスでデバイス114の記憶アレイに書込まれるという結果になる。] 図3
[0022] データが記憶アレイに書込まれた後に、メモリデバイス114はその“ビジー”制御信号をディアサートする。インタフェースコントローラ104は常にその信号に対して、ホストプロセッサ102へ割込み信号を送信することによって応答する。その割込み信号に応答して、ホストプロセッサ102は“ステータス読出し”命令をインタフェースコントローラ104に送信する。インタフェースコントローラ104は適切な“ステータス読出し”命令をメモリデバイス114に送信する。その“ステータス読出し”命令に応答して、メモリデバイス114は適切な“ステータス読出し”応答(例えば、エラーなし)をインタフェースコントローラ104に送信する。次に、インタフェースコントローラ104は適切な“ステータス読出し”応答をホストプロセッサ102に送信する。ホストプロセッサ102はその“ステータス読出し”応答をチェックし、もし、その応答がエラーを示しているなら、ホストプロセッサ102はメモリデバイス114の修復動作或は他の調査を実行する。]
[0023] 図3に描かれた動作は時間のかかるものであり、ホストプロセッサに負荷のかかるものであり、これにより、システム性能が低下、例えば、システムの動作が遅くなることが理解されるであろう。μ秒のオーダでの遅延は各“ページ書込み”動作に対しては異常なことではない。] 図3
[0024] 発明者はそのような性能低下が、メモリデバイス114を監視し、ホストプロセッサ102に他のシステム動作を担当させるのを可能にする読出しステータスコントローラ(RSC)によって回避できることを認識した。RSCは“ステータス読出し”命令を発行し、その応答を読込み、そして、適切であるなら、割込み命令をホストプロセッサ102に対して自動的に、即ち、ホストプロセッサ102を関与させることなく発行する。これにより、ホストプロセッサを他の動作のために解放し、全体的なシステム性能を向上させるものとなる。図3に描かれた通常の“ステータス読出し”動作の代わりに、ホストプロセッサ102は他のシステム動作を行うことができる一方で、RSCはメモリデバイス114を監視するのである。] 図3
[0025] 図4は改良型インタフェースコントローラ104’のブロック図である。図4に描かれているように、RSC400はその他の点では従来のインタフェースコントローラ104’に含まれ、その他の点では従来の制御ロジック部204’と並列動作する。RSC400は適切に構成されたアプリケーション専用集積回路(ASIC)、フィールドプログラマブルゲートウェイ(FPGA)、プログラマブルプロセッサ、或は、同等のロジック部により実装される。当業者であれば通常のインタフェースコントローラ104はしばしば同じ方法で実装されることを理解するであろう。また、当業者であればこの説明では主にフラッシュメモリデバイスに焦点を合わせているが、本発明は適切な“ステータス読出し”照会命令と応答の構造を備えたどんなメモリデバイスにでも採用することができることを理解するであろう。] 図4
[0026] RSC400はシステムバス112の制御ラインと信号ラインとを監視し、“ページ書込み”動作を表わす特有なセットの信号パターンを探す。これらのパターンはシステムバス112を介してRSC400へとプログラムされ、RSC400のロジック部内部のレジスタ402に格納される。システムバスで情報がRSC400を通過するとき、RSC400はその情報ストリームを格納されたパターンと比較し、もし格納されたパターンがシステムバス上の情報に検出されたなら、RSCの適切な動作がトリガされる。従って、RSC400は、システムバス112の制御ラインと信号ライン上の、また、メモリデバイス114への制御ラインと信号ライン上の何らかの知られた信号シーケンスを検出するのに十分に柔軟性がある。当業者であれば、ASICやFPGAなどをどのように構成し、そのパターンを格納し、システムバスのアクティビティと格納されたパターンを比較し、そして、パターンの存在を検出するのかを理解するであろう。]
[0027] 知られた信号パターンと従って“ページ書込み”動作の実行を検出する際に、RSC400は、インタフェース制御ロジック部204’にも備えられたメモリデバイス114のレディ/ビジー信号出力を監視する。“ビジー”がディアサートされた後、RSC400は自動的に適切な“ステータス読出し”命令をメモリデバイス114に発行する。それから、RSC400はメモリデバイス114からの応答を読込む、もし、RSC400がエラーに遭遇、例えば、RSC400が“0x00h”或は他の適切な格納パターン以外の応答を検出するなら、RSC400はホストプロセッサ102に割込み命令を発行でき、もし所望なら、一時的にインタフェース制御ロジック部204’が割込みを発行することを防止することができる。“ステータス読出し”命令と応答コードは現在のところ、標準化されていないために、従来のインタフェースコントローラ204は通常、このような動作を監視することはない。従って、“ステータス読出し”命令と予想される応答がレジスタ402内にプログラムされることには利点がある。]
[0028] 上述のように、妥当な“ステータス読出し”応答のリストはシステムバス112によりRSC400の内部レジスタ402へとプログラムされる。また、付加的な割込み条件がシステムバスによりRSC400にプログラムされ、RSCが他の応答に対してホストプロセッサ102への割込みを制御できるようにしても良い。]
[0029] 例えば、“ステータス読出し”命令は通常、メモリデバイス114のオンボードのステータスレジスタ116のコンテンツを照会する。それは通常8ビットである。図5は各メモリデバイスのステータスレジスタ(SR)ビット、その名称、及び、そのビットの2つの値(ロジックレベル)についての定義を示す代表的なテーブルである。図5における情報は、スイス、ジュネーブ(Geneva, Switzerland)のSTマイクロエレクトロニクス(ST Microelectronics)製のNAND01G−BとNAND02−BというNANDフラッシュメモリデバイスに対応している。しかしながら、広範な他のデータ、他の名称、定義が用いられることを理解されたい。図5に示すように、SR6とSR0ビットは“キャッシュプログラム”と“キャッシュ読出し”動作の期間中で異なる意味をもち、SR5とSR1ビットは“キャッシュ プログラム”動作に対してのみ有効であり、他の動作に対しては、SR5ビットはSR6ビットと同じで良く、SR1ビットは“ドントケア(don't care)”で良い。] 図5
[0030] 本発明に従えば、RSC400は“ステータス読出し”命令に対する“00x0”応答の他に、メモリデバイスのステータスレジスタ116の種々の状態、或は、値についてのチェックを行うことができる。RSC400は、RSC400がそのステータスレジスタの特定のビットを無視し、これにより特定のステータス情報だけをチェックすることができるようにする“マスク”を用いて、メモリデバイスのステータスレジスタ116を読み出すことができる。そのようなマスクを用いることで、メモリデバイスのステータスレジスタ116のあるビットは無視され、RSC400はレジスタ402にプログラムされた“00x0h”ではない応答で割込み信号を生成することができる。本願での説明のために便宜上、適切なマスクにより識別されるステータスレジスタ116の読出しエラーステータスと特定の状態とは、本願では“読出しステータスエラー”と呼ばれる。]
[0031] 図6はRSCでの“ページ書込み”動作の図である。なお、図3とは対照的に、ホストプロセッサ102は各“ステータス読出し”に対して割込みを受ける必要はない。ホストプロセッサ102は“ステータス読出し”エラーが発生したときにのみ割込みを受ける。従って、本願で説明したようなRSCの利点は“ステータス読出し”エラーに遭遇しないなら、ホストプロセッサは他のシステムレベルでのタスクにサービスを行うことができる点にある。] 図3 図6
[0032] 図6では、その動作は、ホストプロセッサがインタフェースコントローラ104’に対して“ページ書込み”命令を送信することで開始する。インタフェースコントローラ104’はその適切な命令をメモリデバイス114に送信することにより応答する。それから、ホストプロセッサ102はアドレス情報をインタフェースコントローラ104’に送信し、インタフェースコントローラ104’はアドレスをメモリデバイス114に送信することにより応答する。それから、ホストプロセッサ102は格納されるデータをインタフェースコントローラ104’に送信する。インタフェースコントローラ104’はそのデータをメモリデバイス114に送信することで応答する。メモリデバイス114はそのデータを内部バッファに一時的に格納する。ホストプロセッサ102はインタフェースコントローラ104’に“ページ書込み”確認命令を送信する。インタフェースコントローラ104’は適切な確認命令をメモリデバイス114に送信することにより応答する。そして、メモリデバイス114のバッファからメモリデバイス114の記憶アレイに以前に送信されたアドレスでデータを書込むという結果になる。] 図6
[0033] データが記憶アレイに書込まれた後、メモリデバイス114はその“ビジー”制御信号をディアサートする。その信号に対して、インタフェースコントローラ104’はメモリデバイス114に適切な“ステータス読出し”命令を送信することにより応答する。“ステータス読出し”命令に応じて、メモリデバイス114は適切な“ステータス読出し”応答(例えば、エラーなし)をインタフェースコントローラ104’に送信する。インタフェースコントローラ104’は、従来の動作ではホストプロセッサ102がちょうど行ったようにその応答をチェックする。もし、その応答がエラーなしを示しているなら、インタフェースコントローラ104’はRSC400の動作を介してホストプロセッサ102に割込み信号を送信することはしない。その応答がエラーを示しているなら、そのときだけは、インタフェースコントローラ104’はRSC400の動作を介してホストプロセッサ102に割込み信号と“ステータス読出し”応答を送信する。ホストプロセッサ102はその情報を従って動作することができる。]
[0034] 図6に描写した動作は、図3に描写した動作と比較してあまり時間のかからない、ホストプロセッサに負荷の小さいものであり、システム性能が相対的に改善されることが理解できる。] 図3 図6
[0035] 割込みとメモリデバイスアクセスとを同期させるのをアシストするために、RSC400はレジスタ402においてメモリデバイス114に転送される命令とアドレスデータ情報を監視し、これらを格納することができる。このことには利点がある。なぜなら、より大きなシステム100における潜在的な待ち時間のために、発生する割込みと、その割込みを生じさせる特定のアクセスとを関係付ける必要があるからである。レジスタ402或はRSC400によりアクセス可能な他の適切なメモリに格納された命令とアドレス情報とは、割込みが発生した場合に違反するページを識別するためのマーカとして作用する。レジスタ402は、割込みに対処する際に、ホストプロセッサ102によりシステムバス112を介して読出される。]
[0036] 現在のところ、そのような同期方式は第1には直接メモリアクセス(DMA)コントローラ或はインタフェースコントローラ104’に対して複数の命令のチェインを発行する何らかの他のバスマスタのために用いられると信じられている。インタフェースコントローラ104’により発行された“ステータス読出し”割込みは時間どおりにバスマスタに達しないかもしれないので、そのバスマスタは、割込みを受信する前に次のアクセスのための命令の発行を開始したかもしれない。従って、割込みはそれの原因となる特定のアクセスと結び合わされなければならない。それは“ステータス読出し”命令を発行する直前にそのアクセスのアドレスを書込むことによりなされる。都合のよいことにそのアドレスはレジスタ402に書込まれる。そして、割込みを得る際には、バスマスタはレジスタ402に照会し特定のどのアドレスが割込みの原因となったのを判断することができる。]
[0037] 上述の割込み方式は従って、ホストプロセッサ102を関与させることなく、バスマスタ或はDMAコントローラへとプログラムされたアクセスのチェインをRSC400が単に速くさせることで、マルチページの自律的な転送を容易にすることができる。もし、エラーがなければ、命令のチェインはホストプロセッサ102を停止させることなく、そして、ホストプロセッサ102を関与させることなく、コントローラ104’に発行される。RSC400はコマンドチェインのこの部分を自動化する。“ステータス読出し”の応答の自動チェックを扱うことができないDMAコントローラについては、デシジョン−メイキングロジック(即ち、RSC)がこれら複数アクセスがなされる速度をサポートする。]
[0038] 上述したRSC400はメモリ114のような外部デバイスに送信されたプログラム可能なビットシーケンスを検出することができることが認識されるであろう。そのビットシーケンスは外部デバイスからの応答が読出される必要があるのかどうかを示す。RSC400はまた、外部デバイスからの応答を読出し、適切に動作する、例えば、そのデバイスの実際の応答を1つ以上のプログラム可能に決定された応答と比較することにより、“読出しステータス”エラーが発生したかどうか判断することができる。特定の応答、例えば、エラーを示す応答を読出したとき、RSCは更なる動作のためにシステムプロセッサに割込み要求を発行することができる。RSCはまた、どのアクセス(マルチバッファキュー方式でのアドレスとデータ)が特定の応答が発生する原因となったかを追跡することができる。]
[0039] 上述した手順が必要であれば繰り返し実行される。そして、理解を容易にするために、出願人の発明の多くの特徴について、例えば、プログラム可能なコンピュータシステムの構成要素によって実行される動作シーケンスにより説明したことが認識されるであろう。種々の動作は、専用の回路(例えば、専用の機能を実行するために内部接続されたディスクリートなロジックゲートやASIC)により、1つ以上のプロセッサにより実行されるコンピュータ命令により、或は、これらの両方により実行されるものであることが認識されるであろう。]
[0040] 従って、本発明は多くの異なる様式で実施することができ、それらの全てが先に説明された訳ではない。そして、そのような様式の全てが本発明の範囲の内にあるものであると考えられる。本発明の種々の側面各々について、何らかのそのような様式は、説明した動作を実行する“ように構成されたロジック部”、或は、その代わりに説明した動作を実行する“ロジック部”として言及されるかもしれない。]
[0041] 本出願で用いられる“有する”或は“有している”という用語は、陳述した特徴、数値、工程(ステップ)、或は、構成要素の存在を特定するものであり、1つ以上の他の特徴、数値、工程(ステップ)、構成要素、或は、それらのグループの存在や付加を排除するものではないことを強調しておきたい。]
[0042] 上述した特定の実施例は単なる例示的なものであり、本発明をいかようにも限定するものとして考えられるべきものではない。本発明の範囲は次の請求の範囲により定められ、請求の範囲の中にある全ての変形例や均等物は、そこに含められるものであることが意図されている。]
权利要求:

請求項1
ホストプロセッサを含む処理システムにおけるメモリデバイスのためのコントローラであって、前記ホストプロセッサと前記コントローラとはシステムバスにより接続され、前記コントローラは前記メモリデバイスと通信するものであり、前記ホストプロセッサにより前記メモリデバイスに送信される少なくとも1つのプログラム可能なビットシーケンスを検出するよう構成されたロジック部と、前記検出されたビットシーケンスに基づいて、前記メモリデバイスに命令を発行するよう構成されたロジック部と、前記発行された命令に対して前記メモリデバイスから少なくとも1つの応答を読出すよう構成されたロジック部と、前記メモリから読出された少なくとも1つの応答に基づいて、前記ホストプロセッサに割込み要求を送信するよう構成されたロジック部とを有し、前記割込み要求は読出しステータスエラーが発生したときに、前記ホストプロセッサに送信されることを特徴とするコントローラ。
請求項2
前記メモリデバイスに送信される前記プログラム可能なビットシーケンスは、前記メモリデバイスからの応答が読出される必要があるかどうかを示すことを特徴とする請求項1に記載のコントローラ。
請求項3
前記メモリデバイスからの応答と格納された応答とを比較することにより、読出しステータスエラーが発生したことが判断されることを特徴とする請求項1に記載のコントローラ。
請求項4
前記メモリデバイスからの特定の応答に対応する、前記ホストプログラムにより送信されるアドレスとデータとを追跡するように構成されたロジック部をさらに有することを特徴とする請求項1に記載のコントローラ。
請求項5
前記割込み要求を送信するよう構成されたロジック部は、前記メモリデバイスにおけるステータスレジスタの状態についてマスクを用いてチェックを行うように構成されていることを特徴とする請求項1に記載のコントローラ。
請求項6
前記少なくとも1つのプログラム可能なビットシーケンスを格納する少なくとも1つのレジスタをさらに有することを特徴とする請求項1に記載のコントローラ。
請求項7
ホストプログラムとメモリコントローラとを含む処理システムにおけるメモリデバイスを制御する方法であって、前記メモリデバイスに命令を送信する工程と、前記メモリコントローラにより、前記メモリデバイスによる前記命令に対する応答を読出す工程と、読出した応答が読出しステータスエラーを示すなら、前記メモリコントローラにより、前記ホストプロセッサに割込み要求を送信する工程とを有することを特徴とする方法。
請求項8
前記メモリデバイスに送信される前記プログラム可能なビットシーケンスは、前記メモリデバイスからの応答が読出される必要があるかどうかを示すことを特徴とする請求項7に記載の方法。
請求項9
前記割込み要求を送信する工程は、前記メモリデバイスからの応答と格納された応答とを比較することにより、読出した応答が読出しステータスエラーを示すと判断する工程を含むことを特徴とする請求項7に記載の方法。
請求項10
前記メモリデバイスによる特定の応答に対応する、前記ホストプログラムにより送信されるアドレスとデータとを追跡する工程をさらに有することを特徴とする請求項7に記載の方法。
請求項11
前記割込み要求を送信する工程は、前記メモリデバイスにおけるステータスレジスタの状態についてマスクを用いてチェックを行う工程を含むことを特徴とする請求項7に記載の方法。
請求項12
前記メモリコントローラに少なくとも1つの期待される応答を格納する工程をさらに有することを特徴とする請求項7に記載の方法。
請求項13
コンピュータにより実行されるときに、ホストプログラムとメモリコントローラとを含む処理システムにおけるメモリデバイスを制御する方法を前記コンピュータに実行させるようにする命令を格納したコンピュータ可読媒体であって、前記方法は、前記メモリデバイスに命令を送信する工程と、前記メモリコントローラにより、前記メモリデバイスによる前記命令に対する応答を読出す工程と、読出した応答が読出しステータスエラーを示すなら、前記メモリコントローラにより、前記ホストプロセッサに割込み要求を送信する工程とを有することを特徴とするコンピュータ可読媒体。
請求項14
前記メモリデバイスに送信される前記命令は、前記メモリデバイスからの応答が読出される必要があるかどうかを示すことを特徴とする請求項13に記載のコンピュータ可読媒体。
請求項15
前記割込み要求を送信する工程は、前記メモリデバイスからの応答と格納された応答とを比較することにより、読出した応答が読出しステータスエラーを示すと判断する工程を含むことを特徴とする請求項13に記載のコンピュータ可読媒体。
請求項16
前記方法はさらに、前記メモリデバイスによる特定の応答に対応する、前記ホストプログラムにより送信されるアドレスとデータとを追跡する工程を有することを特徴とする請求項13に記載のコンピュータ可読媒体。
請求項17
前記割込み要求を送信する工程は、前記メモリデバイスにおけるステータスレジスタの状態についてマスクを用いてチェックを行う工程を含むことを特徴とする請求項13に記載のコンピュータ可読媒体。
請求項18
前記方法はさらに、前記メモリコントローラに少なくとも1つの期待される応答を格納する工程を有することを特徴とする請求項13に記載のコンピュータ可読媒体。
类似技术:
公开号 | 公开日 | 专利标题
US9652324B2|2017-05-16|Solid state disk controller apparatus
US20190018618A1|2019-01-17|Methods and apparatuses for executing a plurality of queued tasks in a memory
TWI278755B|2007-04-11|An apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine
US6557068B2|2003-04-29|High speed peripheral interconnect apparatus, method and system
US5729683A|1998-03-17|Programming memory devices through the parallel port of a computer system
US7131035B2|2006-10-31|Serial bus host controller diagnosis
US5535341A|1996-07-09|Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
JP5026660B2|2012-09-12|直接メモリアクセス(dma)転送バッファプロセッサ
US7010638B2|2006-03-07|High speed bridge controller adaptable to non-standard device configuration
KR970000842B1|1997-01-20|정보 처리 시스템 및 컴퓨터 시스템
US6381688B1|2002-04-30|Serial port for a hose adapter integrated circuit using a single terminal
US7069373B2|2006-06-27|USB endpoint controller flexible memory management
US7822908B2|2010-10-26|Discovery of a bridge device in a SAS communication system
US5237676A|1993-08-17|High speed data transfer system which adjusts data transfer speed in response to indicated transfer speed capability of connected device
US5524268A|1996-06-04|Flexible processor-driven control of SCSI buses utilizing tags appended to data bytes to determine SCSI-protocol phases
US7287101B2|2007-10-23|Direct memory access using memory descriptor list
US7526592B2|2009-04-28|Interrupt control system and storage control system using the same
US4937734A|1990-06-26|High speed bus with virtual memory data transfer and rerun cycle capability
US6192428B1|2001-02-20|Method/apparatus for dynamically changing FIFO draining priority through asynchronous or isochronous DMA engines in response to packet type and predetermined high watermark being reached
US7225326B2|2007-05-29|Hardware assisted ATA command queuing
US6912670B2|2005-06-28|Processor internal error handling in an SMP server
US6959365B2|2005-10-25|Microcomputer including a flash memory and a flash memory rewrite program stored therein
JP4593575B2|2010-12-08|埋め込み型コンピュータシステムの各構成部材のための共通化インターフェース
US6941398B2|2005-09-06|Processing method, chip set and controller for supporting message signaled interrupt
KR101114011B1|2012-02-21|가상 주변 장치 상호연결 다기능 장치
同族专利:
公开号 | 公开日
EP2225652A1|2010-09-08|
JP5442634B2|2014-03-12|
EP2225652B1|2013-11-13|
US20090164683A1|2009-06-25|
US7966445B2|2011-06-21|
WO2009080826A1|2009-07-02|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
JPH04211827A|1990-02-27|1992-08-03|Matsushita Electric Ind Co Ltd|Digital processor|
US6078520A|1993-04-08|2000-06-20|Hitachi, Ltd.|Flash memory control method and information processing system therewith|
JP2003508861A|1999-09-03|2003-03-04|レクサー・メディア・インコーポレイテッド|セクタ書き込み操作時間を効果的に減少させるための不揮発性メモリユニット内のブロックの構成|
JP2003036202A|2001-07-24|2003-02-07|Matsushita Electric Ind Co Ltd|記憶装置|
EP1367496A2|2002-05-31|2003-12-03|Samsung Electronics Co., Ltd.|Interface device|
JP2004005699A|2002-05-31|2004-01-08|Samsung Electronics Co Ltd|Nandフラッシュメモリインタフェース装置|
JP2004280790A|2003-02-28|2004-10-07|Toshiba Corp|Ecc制御装置|
JP2005243176A|2004-02-27|2005-09-08|Fujitsu Ltd|半導体装置及び電圧制御方法|
WO2006078531A2|2005-01-20|2006-07-27|Sandisk Corporation|Scheduling of housekeeping operations in flash memory systems|
JP2008529130A|2005-01-20|2008-07-31|サンディスクコーポレイション|フラッシュメモリシステムにおけるハウスキーピング操作のスケジューリング|
JP2007310915A|2007-08-31|2007-11-29|Renesas Technology Corp|メモリカード及びメモリコントローラ|JP2013041402A|2011-08-15|2013-02-28|Fujitsu Semiconductor Ltd|半導体集積回路及び回路状態監視回路|
JP2013041534A|2011-08-19|2013-02-28|Fujitsu Semiconductor Ltd|半導体集積回路および割り込み生成方法|JPH06100998B2|1992-10-02|1994-12-12|インターナショナル・ビジネス・マシーンズ・コーポレイション|データ転送制御用インターフェース回路|
JPH0877066A|1994-08-31|1996-03-22|Tdk Corp|フラッシュメモリコントローラ|
US5799168A|1996-01-05|1998-08-25|M-Systems Flash Disk Pioneers Ltd.|Standardized flash controller|
US5956743A|1997-08-25|1999-09-21|Bit Microsystems, Inc.|Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations|
US6249461B1|1999-06-22|2001-06-19|Samsung Electronics Co., Ltd.|Flash memory device with a status read operation|
US6442076B1|2000-06-30|2002-08-27|Micron Technology, Inc.|Flash memory with multiple status reading capability|
US6496900B1|2000-09-12|2002-12-17|3Ware, Inc.|Disk array system, controller, and method for verifying command data written to disk drives|
US6976136B2|2001-05-07|2005-12-13|National Semiconductor Corporation|Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller|JPWO2015059889A1|2013-10-25|2017-03-09|パナソニックIpマネジメント株式会社|イニシエータ端末、ターゲット端末、イニシエータ端末のエラー処理方法、ターゲット端末のエラー処理方法|
US9959078B2|2015-01-30|2018-05-01|Sandisk Technologies Llc|Multi-die rolling status mode for non-volatile storage|
US10114690B2|2015-02-13|2018-10-30|Sandisk Technologies Llc|Multi-die status mode for non-volatile storage|
US10303632B2|2016-07-26|2019-05-28|Micron Technology, Inc.|Accessing status information|
法律状态:
2011-12-08| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111207 |
2011-12-08| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111207 |
2012-12-17| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121217 |
2013-01-09| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130108 |
2013-04-06| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130405 |
2013-06-24| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130621 |
2013-08-30| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130829 |
2013-12-12| TRDD| Decision of grant or rejection written|
2013-12-17| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131216 |
2013-12-26| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131218 |
2013-12-27| R150| Certificate of patent or registration of utility model|Ref document number: 5442634 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
2016-12-13| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2017-12-12| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2018-12-18| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2019-12-17| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2020-12-27| LAPS| Cancellation because of no payment of annual fees|
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]