JP5442634B2 - 読出ステータスのコントローラ - Google Patents

読出ステータスのコントローラ Download PDF

Info

Publication number
JP5442634B2
JP5442634B2 JP2010538800A JP2010538800A JP5442634B2 JP 5442634 B2 JP5442634 B2 JP 5442634B2 JP 2010538800 A JP2010538800 A JP 2010538800A JP 2010538800 A JP2010538800 A JP 2010538800A JP 5442634 B2 JP5442634 B2 JP 5442634B2
Authority
JP
Japan
Prior art keywords
memory device
response
read
host processor
status
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
JP2010538800A
Other languages
English (en)
Other versions
JP2011508296A5 (ja
JP2011508296A (ja
Inventor
ジェイソン ホブラー,
Original Assignee
テレフオンアクチーボラゲット エル エム エリクソン(パブル)
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 テレフオンアクチーボラゲット エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲット エル エム エリクソン(パブル)
Publication of JP2011508296A publication Critical patent/JP2011508296A/ja
Publication of JP2011508296A5 publication Critical patent/JP2011508296A5/ja
Application granted granted Critical
Publication of JP5442634B2 publication Critical patent/JP5442634B2/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
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Description

本発明は電子処理回路に関し、特に、そのような回路とデバイスとの間のデータ転送を制御する方法とデバイスとに関する。
ハードディスク、読出専用メモリカード、フラッシュメモリカードのような1つ以上の外部メモリデバイスと入出力を行うプロセッサを多くの電子デバイスはもっている。今日、フラッシュメモリアクセスは、システムバスを介してデバイスのホストプロセッサに接続されたフラッシュメモリ・インタフェースコントローラにより制御される。
図1はフラッシュメモリアクセスを制御する典型的な構成を含む処理システム100のブロック図である。その関連部分において、システム100はホストプロセッサ102とインタフェースコントローラ104と、おそらくはシステムバス112を介して通信する他の種々のデバイス106、108、110とを含む。インタフェースコントローラ104は、制御バス信号とデータバス信号を用いてフラッシュメモリデバイス114に対して、そして、フラッシュメモリデバイス114からデータを転送することを担当する。これらの信号は通常、フラッシュメモリ産業で広く受け入れられている標準的技法に準拠している。データをデバイス114と交換する他に、コントローラ104は制御信号をデバイス114に送信して、デバイス114からレディ/ビジー信号を受信する。
各“ページ書込み”の後に、メモリデバイス114はホストプロセッサ102により照会され、その書込み動作がうまくいったかどうかを判断するのが一般的である。その命令の特定のフォーマットとその応答のコンテンツはメモリデバイス114の製造者によって設定されるが、多くの製造者は“読出しステータス”命令が“0x70h”であることを規定し、“0x00h”以外の応答がエラーであることを示す業界のデファクト標準を固守している。なお、その命令と応答とは16進表記で書かれており、xは気に止める必要のない(ドントケア:don't care)ことを示している。
そのようなインタフェースコントローラの1つの構成はアサノら(Asano et al.)に特許された特許文献1に記載されており、特許文献1では、周辺機器からのデータ要求に応答してホストに対する割込み要求を生成し、その周辺機器のステータスがホストにより読込まれるなら割込み要求を消去する、周辺機器に対するインタフェース回路を記載していることを述べている。そのインタフェース回路はホストが後読み(post-read)モードで動作していることを検出し、後読みモード検出信号とホストによるステータス読出しに応答して、ホストへの割込み要求の再生成を可能にしている。
チョイら(Choi et al.)に特許された特許文献2は、例えば、動作ステータスを示す“ステータス読出し”動作を提供するフラッシュメモリデバイスを記載している。
各“ページ書込み”動作の後に、メモリデバイスは通常、“読出しステータス”が照会されて、その書込み動作がうまくいったかどうかを判断する。このことは、ホストプロセッサが標準的な“ステータス読出し”命令を発行し、それからメモリデバイスにより返される応答を読出すことによりなされる。通常の“ステータス読出し”動作は、フラッシュメモリデバイスがページデータをその内部バッファからその記憶アレイに転送した直後に実行される。この転送は終わりは、フラッシュメモリデバイスのレディ/ビジー信号出力がディアサートされることによりマークされる。ホストプロセッサはそのディアサーションを検出し、それから“ステータス読出し”命令を発行する。
米国特許第5,457,787号明細書 米国特許第6,249,461号明細書 米国特許第5,640,349号明細書 米国特許第6,985,778号明細書 米国特許第5,799,168号明細書
各“読出しステータス”をチェックしなければならないホストプロセッサからは問題が生じている。ホストプロセッサは他のシステム動作を停止して、“ステータス読出し”命令を発行し、その応答を読込み、そして、(通常はまれであるが)エラーに遭遇したならば適切に対応して動作しなければならない。これによりシステムの全体的な性能が低下し、ホストプロセッサが連続的にメモリの“ステータス読出し”動作に対するサービスを行うためにそらされねばならないために、その性能低下はおそらく劇的なものであろう。別の観点からすると、その問題は“ページ書込み”動作に続くメモリデバイスステータスの照会のためにホストプロセッサによって必要とされる過度のバンド幅である。
カキヌマら(Kakinuma et al.)に特許された特許文献3は、2つのフラッシュメモリと、バッファメモリのペアとデータバスのペアをもつフラッシュメモリコントローラとを記載している。データバスは並列に動作可能なので、ホストとフラッシュメモリカードとの間の転送時間は短縮される。特許文献3は、応答が読取られる必要があるのかどうかを示すフラッシュメモリに送信されるプログラム可能なビットシーケンスを検出すること、或は、エラーの結果となるメモリアクセス(マルチバッファキュー方式におけるアドレスとデータ)を追跡することを記載していない。
キムら(Kim et al.)に特許された特許文献4は、ホストプロセッサとNANDフラッシュメモリとの間のインタフェースを記載している。そのインタフェースは、ホストプロセッサからの命令を受信して格納し、NANDフラッシュメモリの動作とその命令を実行するための動作情報とを制御するレジスタを含んでいる。また、そのメモリにおけるフラッシュインタフェース部は、制御信号を制御してNANDフラッシュメモリを動作させ、命令、動作情報、或は、ホストデータを出力し、NANDフラッシュメモリに入力されるデータにより入力/出力接続を制御する。特許文献4は、応答が読取られる必要があるのかどうかを示すフラッシュメモリに送信されるプログラム可能なビットシーケンスを検出すること、或は、エラーの結果となるメモリアクセス(マルチバッファキュー方式におけるアドレスとデータ)を追跡することを記載していない。
バン(Ban)に特許された特許文献5は、メモリ回路固有の命令にプロセッサからの汎用命令を変換したり、或は、その逆の変換を行うフラッシュメモリコントローラを記載している。書込み或は消去後に、そのコントローラは自動的に“ステータス読出し”に移行し、そして、そのコントローラは所定のレジスタとソフトウェアポーリングを介して読出しステータス情報を抽出することができる。特許文献5は、応答が読取られる必要があるのかどうかを示すフラッシュメモリに送信されるプログラム可能なビットシーケンスを検出すること、或は、エラー応答に遭遇するとき割込み要求を発行ことを記載していない。
通常の“ステータス読出し”動作の代わりに、本発明ではホストプロセッサに他のシステム動作を担当させる一方で、別のコントローラがメモリデバイスを監視する。そのようなコントローラは“ステータス読出し”命令を発行し、その応答を読取り、自動的に適切であればホストに割込みを発行する。従って、ホストプロセッサは他の動作のために解放され、その結果、システム性能が改善される。
本発明の1つの側面からすれば、ホストプロセッサを含む処理システムにおけるメモリデバイスのためのコントローラが備えられる。そのホストプロセッサとコントローラとはシステムバスにより接続され、そのコントローラは前記メモリデバイスと通信するものである。そのコントローラは、前記ホストプロセッサにより前記メモリデバイスに送信される少なくとも1つのプログラム可能なビットシーケンスを検出するよう構成されたロジック部と、前記検出されたビットシーケンスに基づいて、前記メモリデバイスに命令を発行するよう構成されたロジック部と、前記発行された命令に対して前記メモリデバイスから少なくとも1つの応答を読出すよう構成されたロジック部と、前記メモリから読出された少なくとも1つの応答に基づいて、前記ホストプロセッサに割込み要求を送信するよう構成されたロジック部とを有する。前記割込み要求は読出しステータスエラーが発生したときに、前記ホストプロセッサに送信される。
本発明の別の側面からすれば、ホストプログラムとメモリコントローラとを含む処理システムにおけるメモリデバイスを制御する方法が備えられる。その方法は、前記メモリデバイスに命令を送信する工程と、前記メモリコントローラにより、前記メモリデバイスによる前記命令に対する応答を読出す工程と、読出した応答が読出しステータスエラーを示すなら、前記メモリコントローラにより、前記ホストプロセッサに割込み要求を送信する工程とを有する。
本発明のさらに別の側面からすれば、コンピュータにより実行されるときに、ホストプログラムとメモリコントローラとを含む処理システムにおけるメモリデバイスを制御する方法を前記コンピュータに実行させるようにする命令を格納したコンピュータ可読媒体が備えられる。その方法は、前記メモリデバイスに命令を送信する工程と、前記メモリコントローラにより、前記メモリデバイスによる前記命令に対する応答を読出す工程と、読出した応答が読出しステータスエラーを示すなら、前記メモリコントローラにより、前記ホストプロセッサに割込み要求を送信する工程とを有する。
出願人の発明の目的、特徴、及び利点については添付図面とあわせてこの説明を読むことにより理解されるであろう。
フラッシュメモリアクセスを制御する代表的な構成を含む処理システムのブロック図である。 代表的なインタフェースコントローラのブロック図である。 代表的なメモリデバイスに対する通常の“ページ書込み”動作を示す図である。 改良型インタフェースコントローラのブロック図である。 ステータスレジスタのビットを識別する代表的なテーブルを示す図である。 外部メモリデバイスに対する改良された“ページ書込み”動作を示す図である。
図1に描写された通常の構成において、インタフェースコントローラ104は、システムのホストコンピュータ102とメモリデバイス104との間のブリッジとして動作し、“ステータス読出し”動作のためにシステムバンド幅の低下を緩和するものではない。図2は通常のインタフェースコントローラ104のブロック図であり、その内部のインタフェース制御ロジック部204を示している。そのロジック部はシステムバス112を介して、上述のようなメモリデバイス114に対する、また、メモリデバイス114からのデータと制御信号の転送を扱う。
図2に描写されているように、インタフェース制御ロジック204は本質的にはメモリデバイス114からのレディ/ビジー信号をただ、割込み信号として、ホストプロセッサ102に受け渡すだけである。その割込み信号はホストプロセッサ102にとりわけ“ステータス読出し”命令を発行しなければならないことを通知する。従って、ホストプロセッサ102は“ステータス読出し”動作を実行する必要がある度ごとに割込みを受ける。
図3はホストプロセッサ102の通常の割込みを必要とする通常の“ページ書込み”動作を示す図である。その動作は、ホストプロセッサが“ページ書込み”命令をインタフェースコントローラ104に送信することで開始する。インタフェースコントローラ104は適切な命令をメモリデバイス114に送信することによりこれに応じる。ホストプロセッサ102はそれからアドレス情報をインタフェースコントローラ104に送信する。ホストプロセッサ102はそれから、格納されるデータをインタフェースコントローラ104に送信する。インタフェースコントローラ104は、そのデータをメモリデバイス114に送信することによりこれに応じる。メモリデバイス114はそのデータを内部バッファに一時的に格納する。ホストプロセッサ102は“ページ書込み”確認命令をインタフェースコントローラ104に送信する。インタフェースコントローラ104は適切な確認命令をメモリデバイス112に送信することによりこれに応じる。そして、データがメモリデバイス114のバッファから以前に送られたアドレスでデバイス114の記憶アレイに書込まれるという結果になる。
データが記憶アレイに書込まれた後に、メモリデバイス114はその“ビジー”制御信号をディアサートする。インタフェースコントローラ104は常にその信号に対して、ホストプロセッサ102へ割込み信号を送信することによって応答する。その割込み信号に応答して、ホストプロセッサ102は“ステータス読出し”命令をインタフェースコントローラ104に送信する。インタフェースコントローラ104は適切な“ステータス読出し”命令をメモリデバイス114に送信する。その“ステータス読出し”命令に応答して、メモリデバイス114は適切な“ステータス読出し”応答(例えば、エラーなし)をインタフェースコントローラ104に送信する。次に、インタフェースコントローラ104は適切な“ステータス読出し”応答をホストプロセッサ102に送信する。ホストプロセッサ102はその“ステータス読出し”応答をチェックし、もし、その応答がエラーを示しているなら、ホストプロセッサ102はメモリデバイス114の修復動作或は他の調査を実行する。
図3に描かれた動作は時間のかかるものであり、ホストプロセッサに負荷のかかるものであり、これにより、システム性能が低下、例えば、システムの動作が遅くなることが理解されるであろう。μ秒のオーダでの遅延は各“ページ書込み”動作に対しては異常なことではない。
発明者はそのような性能低下が、メモリデバイス114を監視し、ホストプロセッサ102に他のシステム動作を担当させるのを可能にする読出しステータスコントローラ(RSC)によって回避できることを認識した。RSCは“ステータス読出し”命令を発行し、その応答を読込み、そして、適切であるなら、割込み命令をホストプロセッサ102に対して自動的に、即ち、ホストプロセッサ102を関与させることなく発行する。これにより、ホストプロセッサを他の動作のために解放し、全体的なシステム性能を向上させるものとなる。図3に描かれた通常の“ステータス読出し”動作の代わりに、ホストプロセッサ102は他のシステム動作を行うことができる一方で、RSCはメモリデバイス114を監視するのである。
図4は改良型インタフェースコントローラ104’のブロック図である。図4に描かれているように、RSC400はその他の点では従来のインタフェースコントローラ104’に含まれ、その他の点では従来の制御ロジック部204’と並列動作する。RSC400は適切に構成されたアプリケーション専用集積回路(ASIC)、フィールドプログラマブルゲートウェイ(FPGA)、プログラマブルプロセッサ、或は、同等のロジック部により実装される。当業者であれば通常のインタフェースコントローラ104はしばしば同じ方法で実装されることを理解するであろう。また、当業者であればこの説明では主にフラッシュメモリデバイスに焦点を合わせているが、本発明は適切な“ステータス読出し”照会命令と応答の構造を備えたどんなメモリデバイスにでも採用することができることを理解するであろう。
RSC400はシステムバス112の制御ラインと信号ラインとを監視し、“ページ書込み”動作を表わす特有なセットの信号パターンを探す。これらのパターンはシステムバス112を介してRSC400へとプログラムされ、RSC400のロジック部内部のレジスタ402に格納される。システムバスで情報がRSC400を通過するとき、RSC400はその情報ストリームを格納されたパターンと比較し、もし格納されたパターンがシステムバス上の情報に検出されたなら、RSCの適切な動作がトリガされる。従って、RSC400は、システムバス112の制御ラインと信号ライン上の、また、メモリデバイス114への制御ラインと信号ライン上の何らかの知られた信号シーケンスを検出するのに十分に柔軟性がある。当業者であれば、ASICやFPGAなどをどのように構成し、そのパターンを格納し、システムバスのアクティビティと格納されたパターンを比較し、そして、パターンの存在を検出するのかを理解するであろう。
知られた信号パターンと従って“ページ書込み”動作の実行を検出する際に、RSC400は、インタフェース制御ロジック部204’にも備えられたメモリデバイス114のレディ/ビジー信号出力を監視する。“ビジー”がディアサートされた後、RSC400は自動的に適切な“ステータス読出し”命令をメモリデバイス114に発行する。それから、RSC400はメモリデバイス114からの応答を読込む、もし、RSC400がエラーに遭遇、例えば、RSC400が“0x00h”或は他の適切な格納パターン以外の応答を検出するなら、RSC400はホストプロセッサ102に割込み命令を発行でき、もし所望なら、一時的にインタフェース制御ロジック部204’が割込みを発行することを防止することができる。“ステータス読出し”命令と応答コードは現在のところ、標準化されていないために、従来のインタフェースコントローラ204は通常、このような動作を監視することはない。従って、“ステータス読出し”命令と予想される応答がレジスタ402内にプログラムされることには利点がある。
上述のように、妥当な“ステータス読出し”応答のリストはシステムバス112によりRSC400の内部レジスタ402へとプログラムされる。また、付加的な割込み条件がシステムバスによりRSC400にプログラムされ、RSCが他の応答に対してホストプロセッサ102への割込みを制御できるようにしても良い。
例えば、“ステータス読出し”命令は通常、メモリデバイス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)”で良い。
本発明に従えば、RSC400は“ステータス読出し”命令に対する“00x0”応答の他に、メモリデバイスのステータスレジスタ116の種々の状態、或は、値についてのチェックを行うことができる。RSC400は、RSC400がそのステータスレジスタの特定のビットを無視し、これにより特定のステータス情報だけをチェックすることができるようにする“マスク”を用いて、メモリデバイスのステータスレジスタ116を読み出すことができる。そのようなマスクを用いることで、メモリデバイスのステータスレジスタ116のあるビットは無視され、RSC400はレジスタ402にプログラムされた“00x0h”ではない応答で割込み信号を生成することができる。本願での説明のために便宜上、適切なマスクにより識別されるステータスレジスタ116の読出しエラーステータスと特定の状態とは、本願では“読出しステータスエラー”と呼ばれる。
図6はRSCでの“ページ書込み”動作の図である。なお、図3とは対照的に、ホストプロセッサ102は各“ステータス読出し”に対して割込みを受ける必要はない。ホストプロセッサ102は“ステータス読出し”エラーが発生したときにのみ割込みを受ける。従って、本願で説明したようなRSCの利点は“ステータス読出し”エラーに遭遇しないなら、ホストプロセッサは他のシステムレベルでのタスクにサービスを行うことができる点にある。
図6では、その動作は、ホストプロセッサがインタフェースコントローラ104’に対して“ページ書込み”命令を送信することで開始する。インタフェースコントローラ104’はその適切な命令をメモリデバイス114に送信することにより応答する。それから、ホストプロセッサ102はアドレス情報をインタフェースコントローラ104’に送信し、インタフェースコントローラ104’はアドレスをメモリデバイス114に送信することにより応答する。それから、ホストプロセッサ102は格納されるデータをインタフェースコントローラ104’に送信する。インタフェースコントローラ104’はそのデータをメモリデバイス114に送信することで応答する。メモリデバイス114はそのデータを内部バッファに一時的に格納する。ホストプロセッサ102はインタフェースコントローラ104’に“ページ書込み”確認命令を送信する。インタフェースコントローラ104’は適切な確認命令をメモリデバイス114に送信することにより応答する。そして、メモリデバイス114のバッファからメモリデバイス114の記憶アレイに以前に送信されたアドレスでデータを書込むという結果になる。
データが記憶アレイに書込まれた後、メモリデバイス114はその“ビジー”制御信号をディアサートする。その信号に対して、インタフェースコントローラ104’はメモリデバイス114に適切な“ステータス読出し”命令を送信することにより応答する。“ステータス読出し”命令に応じて、メモリデバイス114は適切な“ステータス読出し”応答(例えば、エラーなし)をインタフェースコントローラ104’に送信する。インタフェースコントローラ104’は、従来の動作ではホストプロセッサ102がちょうど行ったようにその応答をチェックする。もし、その応答がエラーなしを示しているなら、インタフェースコントローラ104’はRSC400の動作を介してホストプロセッサ102に割込み信号を送信することはしない。その応答がエラーを示しているなら、そのときだけは、インタフェースコントローラ104’はRSC400の動作を介してホストプロセッサ102に割込み信号と“ステータス読出し”応答を送信する。ホストプロセッサ102はその情報を従って動作することができる。
図6に描写した動作は、図3に描写した動作と比較してあまり時間のかからない、ホストプロセッサに負荷の小さいものであり、システム性能が相対的に改善されることが理解できる。
割込みとメモリデバイスアクセスとを同期させるのをアシストするために、RSC400はレジスタ402においてメモリデバイス114に転送される命令とアドレスデータ情報を監視し、これらを格納することができる。このことには利点がある。なぜなら、より大きなシステム100における潜在的な待ち時間のために、発生する割込みと、その割込みを生じさせる特定のアクセスとを関係付ける必要があるからである。レジスタ402或はRSC400によりアクセス可能な他の適切なメモリに格納された命令とアドレス情報とは、割込みが発生した場合に違反するページを識別するためのマーカとして作用する。レジスタ402は、割込みに対処する際に、ホストプロセッサ102によりシステムバス112を介して読出される。
現在のところ、そのような同期方式は第1には直接メモリアクセス(DMA)コントローラ或はインタフェースコントローラ104’に対して複数の命令のチェインを発行する何らかの他のバスマスタのために用いられると信じられている。インタフェースコントローラ104’により発行された“ステータス読出し”割込みは時間どおりにバスマスタに達しないかもしれないので、そのバスマスタは、割込みを受信する前に次のアクセスのための命令の発行を開始したかもしれない。従って、割込みはそれの原因となる特定のアクセスと結び合わされなければならない。それは“ステータス読出し”命令を発行する直前にそのアクセスのアドレスを書込むことによりなされる。都合のよいことにそのアドレスはレジスタ402に書込まれる。そして、割込みを得る際には、バスマスタはレジスタ402に照会し特定のどのアドレスが割込みの原因となったのを判断することができる。
上述の割込み方式は従って、ホストプロセッサ102を関与させることなく、バスマスタ或はDMAコントローラへとプログラムされたアクセスのチェインをRSC400が単に速くさせることで、マルチページの自律的な転送を容易にすることができる。もし、エラーがなければ、命令のチェインはホストプロセッサ102を停止させることなく、そして、ホストプロセッサ102を関与させることなく、コントローラ104’に発行される。RSC400はコマンドチェインのこの部分を自動化する。“ステータス読出し”の応答の自動チェックを扱うことができないDMAコントローラについては、デシジョン−メイキングロジック(即ち、RSC)がこれら複数アクセスがなされる速度をサポートする。
上述したRSC400はメモリ114のような外部デバイスに送信されたプログラム可能なビットシーケンスを検出することができることが認識されるであろう。そのビットシーケンスは外部デバイスからの応答が読出される必要があるのかどうかを示す。RSC400はまた、外部デバイスからの応答を読出し、適切に動作する、例えば、そのデバイスの実際の応答を1つ以上のプログラム可能に決定された応答と比較することにより、“読出しステータス”エラーが発生したかどうか判断することができる。特定の応答、例えば、エラーを示す応答を読出したとき、RSCは更なる動作のためにシステムプロセッサに割込み要求を発行することができる。RSCはまた、どのアクセス(マルチバッファキュー方式でのアドレスとデータ)が特定の応答が発生する原因となったかを追跡することができる。
上述した手順が必要であれば繰り返し実行される。そして、理解を容易にするために、出願人の発明の多くの特徴について、例えば、プログラム可能なコンピュータシステムの構成要素によって実行される動作シーケンスにより説明したことが認識されるであろう。種々の動作は、専用の回路(例えば、専用の機能を実行するために内部接続されたディスクリートなロジックゲートやASIC)により、1つ以上のプロセッサにより実行されるコンピュータ命令により、或は、これらの両方により実行されるものであることが認識されるであろう。
従って、本発明は多くの異なる様式で実施することができ、それらの全てが先に説明された訳ではない。そして、そのような様式の全てが本発明の範囲の内にあるものであると考えられる。本発明の種々の側面各々について、何らかのそのような様式は、説明した動作を実行する“ように構成されたロジック部”、或は、その代わりに説明した動作を実行する“ロジック部”として言及されるかもしれない。
本出願で用いられる“有する”或は“有している”という用語は、陳述した特徴、数値、工程(ステップ)、或は、構成要素の存在を特定するものであり、1つ以上の他の特徴、数値、工程(ステップ)、構成要素、或は、それらのグループの存在や付加を排除するものではないことを強調しておきたい。
上述した特定の実施例は単なる例示的なものであり、本発明をいかようにも限定するものとして考えられるべきものではない。本発明の範囲は次の請求の範囲により定められ、請求の範囲の中にある全ての変形例や均等物は、そこに含められるものであることが意図されている。

Claims (15)

  1. ホストプロセッサを含む処理システムにおけるメモリデバイスのためのコントローラであって、前記ホストプロセッサと前記コントローラとはシステムバスにより接続され、前記コントローラは前記メモリデバイスと通信するものであり、
    前記ホストプロセッサにより前記メモリデバイスに送信される少なくとも1つのプログラム可能なビットシーケンスを検出するよう構成されたロジック部と、
    前記検出されたビットシーケンスに基づいて、前記メモリデバイスに命令を発行するよう構成されたロジック部と、
    前記発行された命令に基づく前記メモリデバイスにおける動作の実行を検出するために前記メモリデバイスからのビジー信号のステータスを監視するよう構成されたロジック部と、
    前記ビジー信号がディアサートされたことが検出されたとき、前記ホストプロセッサからの指示なしに前記メモリデバイスに対して自動的にステータス読出し命令を発行するよう構成されたロジック部と、
    前記発行されたステータス読出し命令に対して前記メモリデバイスから応答を読出すよう構成されたロジック部と、
    前記メモリデバイスから前記読出された応答に基づいて、前記ホストプロセッサに割込み要求を送信するよう構成されたロジック部とを有し、
    前記割込み要求は読出しステータスエラーが発生したときに、前記ホストプロセッサに送信されることを特徴とするコントローラ。
  2. 前記メモリデバイスに送信される前記プログラム可能なビットシーケンスは、前記メモリデバイスからの応答が読出される必要があるかどうかを示すことを特徴とする請求項1に記載のコントローラ。
  3. 前記メモリデバイスからの応答と格納された応答とを比較することにより、読出しステータスエラーが発生したことが判断されることを特徴とする請求項1に記載のコントローラ。
  4. 前記メモリデバイスからの特定の応答に対応する、前記ホストプロセッサにより送信されるアドレスとデータとを追跡するように構成されたロジック部と、
    前記少なくとも1つのプログラム可能なビットシーケンスを格納する少なくとも1つのレジスタと、
    の内の少なくとも1つをさらに有することを特徴とする請求項1に記載のコントローラ。
  5. 前記割込み要求を送信するよう構成されたロジック部は、前記メモリデバイスにおけるステータスレジスタの状態についてマスクを用いてチェックを行うように構成されていることを特徴とする請求項1に記載のコントローラ。
  6. ホストプロセッサとメモリコントローラとを含む処理システムにおけるメモリデバイスを制御する方法であって、
    前記ホストプロセッサにより送信される少なくとも1つのプログラム可能なビットシーケンスの検出に基づいて、前記メモリデバイスに命令を送信する工程と、
    前記命令に基づく前記メモリデバイスにおける動作の実行を検出するために前記メモリデバイスからのビジー信号のステータスを前記メモリコントローラにより監視する工程と、
    前記ビジー信号がディアサートされたことが検出されたとき、前記ホストプロセッサからの指示なしに前記メモリコントローラにより前記メモリデバイスに対して自動的にステータス読出し命令を発行する工程と、
    前記メモリコントローラにより、前記メモリデバイスによる前記ステータス読出し命令に対する応答を読出す工程と、
    前記読出した応答が読出しステータスエラーを示すなら、前記メモリコントローラにより、前記ホストプロセッサに割込み要求を送信する工程とを有することを特徴とする方法。
  7. 前記メモリデバイスに送信される前記プログラム可能なビットシーケンスは、前記メモリデバイスからの応答が読出される必要があるかどうかを示すことを特徴とする請求項6に記載の方法。
  8. 前記割込み要求を送信する工程は、前記メモリデバイスからの応答と格納された応答とを比較することにより、前記読出した応答が読出しステータスエラーを示すと判断する工程を含むことを特徴とする請求項6に記載の方法。
  9. 前記メモリデバイスによる特定の応答に対応する、前記ホストプロセッサにより送信されるアドレスとデータとを追跡する工程と、
    前記メモリコントローラに少なくとも1つの期待される応答を格納する工程と、
    の内の少なくとも1つをさらに有することを特徴とする請求項6に記載の方法。
  10. 前記割込み要求を送信する工程は、前記メモリデバイスにおけるステータスレジスタの状態についてマスクを用いてチェックを行う工程を含むことを特徴とする請求項6に記載の方法。
  11. コンピュータにより実行されるときに、ホストプロセッサとメモリコントローラとを含む処理システムにおけるメモリデバイスを制御する方法を前記コンピュータに実行させるようにする命令を格納したコンピュータ可読媒体であって、前記方法は、
    前記ホストプロセッサにより送信される少なくとも1つのプログラム可能なビットシーケンスの検出に基づいて、前記メモリデバイスに命令を送信する工程と、
    前記命令に基づく前記メモリデバイスにおける動作の実行を検出するために前記メモリデバイスからのビジー信号のステータスを前記メモリコントローラにより監視する工程と、
    前記ビジー信号がディアサートされたことが検出されたとき、前記ホストプロセッサからの指示なしに前記メモリコントローラにより前記メモリデバイスに対して自動的にステータス読出し命令を発行する工程と、
    前記メモリコントローラにより、前記メモリデバイスによる前記ステータス読出し命令に対する応答を読出す工程と、
    前記読出した応答が読出しステータスエラーを示すなら、前記メモリコントローラにより、前記ホストプロセッサに割込み要求を送信する工程とを有することを特徴とするコンピュータ可読媒体。
  12. 前記メモリデバイスに送信される前記命令は、前記メモリデバイスからの応答が読出される必要があるかどうかを示すことを特徴とする請求項11に記載のコンピュータ可読媒体。
  13. 前記割込み要求を送信する工程は、前記メモリデバイスからの応答と格納された応答とを比較することにより、前記読出した応答が読出しステータスエラーを示すと判断する工程を含むことを特徴とする請求項11に記載のコンピュータ可読媒体。
  14. 前記方法はさらに、
    前記メモリデバイスによる特定の応答に対応する、前記ホストプロセッサにより送信されるアドレスとデータとを追跡する工程と、
    前記メモリコントローラに少なくとも1つの期待される応答を格納する工程と、
    の内の少なくとも1つを有することを特徴とする請求項11に記載のコンピュータ可読媒体。
  15. 前記割込み要求を送信する工程は、前記メモリデバイスにおけるステータスレジスタの状態についてマスクを用いてチェックを行う工程を含むことを特徴とする請求項11に記載のコンピュータ可読媒体。
JP2010538800A 2007-12-24 2008-12-23 読出ステータスのコントローラ Expired - Fee Related JP5442634B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/963,984 US7966445B2 (en) 2007-12-24 2007-12-24 Read status controller
US11/963,984 2007-12-24
PCT/EP2008/068248 WO2009080826A1 (en) 2007-12-24 2008-12-23 Read status controller

Publications (3)

Publication Number Publication Date
JP2011508296A JP2011508296A (ja) 2011-03-10
JP2011508296A5 JP2011508296A5 (ja) 2012-02-02
JP5442634B2 true JP5442634B2 (ja) 2014-03-12

Family

ID=40510565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010538800A Expired - Fee Related JP5442634B2 (ja) 2007-12-24 2008-12-23 読出ステータスのコントローラ

Country Status (4)

Country Link
US (1) US7966445B2 (ja)
EP (1) EP2225652B1 (ja)
JP (1) JP5442634B2 (ja)
WO (1) WO2009080826A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013041402A (ja) * 2011-08-15 2013-02-28 Fujitsu Semiconductor Ltd 半導体集積回路及び回路状態監視回路
JP2013041534A (ja) * 2011-08-19 2013-02-28 Fujitsu Semiconductor Ltd 半導体集積回路および割り込み生成方法
WO2015059889A1 (ja) * 2013-10-25 2015-04-30 パナソニックIpマネジメント株式会社 イニシエータ端末、ターゲット端末、イニシエータ端末のエラー処理方法、ターゲット端末のエラー処理方法
US9959078B2 (en) 2015-01-30 2018-05-01 Sandisk Technologies Llc Multi-die rolling status mode for non-volatile storage
US10114690B2 (en) 2015-02-13 2018-10-30 Sandisk Technologies Llc Multi-die status mode for non-volatile storage
US10303632B2 (en) 2016-07-26 2019-05-28 Micron Technology, Inc. Accessing status information
CN106776391A (zh) * 2016-12-13 2017-05-31 成都信息工程大学 一种NAND Flash控制器的控制方法和装置
TWI696078B (zh) * 2017-05-26 2020-06-11 旺宏電子股份有限公司 記憶體裝置及其操作方法
US12099746B2 (en) * 2019-12-16 2024-09-24 Micron Technology, Inc. Interrupt signaling for a memory device
JP2022049553A (ja) 2020-09-16 2022-03-29 キオクシア株式会社 半導体装置および方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2667585B2 (ja) * 1990-02-27 1997-10-27 松下電器産業株式会社 デジタルプロセッサ
JPH06100998B2 (ja) * 1992-10-02 1994-12-12 インターナショナル・ビジネス・マシーンズ・コーポレイション データ転送制御用インターフェース回路
US6078520A (en) * 1993-04-08 2000-06-20 Hitachi, Ltd. Flash memory control method and information processing system therewith
JPH0877066A (ja) * 1994-08-31 1996-03-22 Tdk Corp フラッシュメモリコントローラ
US5799168A (en) * 1996-01-05 1998-08-25 M-Systems Flash Disk Pioneers Ltd. Standardized flash controller
US5956743A (en) * 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
US6141249A (en) * 1999-04-01 2000-10-31 Lexar Media, Inc. Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time
KR100351934B1 (ko) * 1999-06-22 2002-09-12 삼성전자 주식회사 상태 읽기 동작을 갖는 플래시 메모리 장치
US6442076B1 (en) * 2000-06-30 2002-08-27 Micron Technology, Inc. Flash memory with multiple status reading capability
US6496900B1 (en) * 2000-09-12 2002-12-17 3Ware, Inc. Disk array system, controller, and method for verifying command data written to disk drives
US6976136B2 (en) * 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
JP4841069B2 (ja) * 2001-07-24 2011-12-21 パナソニック株式会社 記憶装置
KR100441608B1 (ko) * 2002-05-31 2004-07-23 삼성전자주식회사 낸드 플래시 메모리 인터페이스 장치
JP4550439B2 (ja) * 2003-02-28 2010-09-22 東芝メモリシステムズ株式会社 Ecc制御装置
JP4601305B2 (ja) * 2004-02-27 2010-12-22 富士通セミコンダクター株式会社 半導体装置
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
JP4849637B2 (ja) * 2007-08-31 2012-01-11 ルネサスエレクトロニクス株式会社 メモリカード及びメモリコントローラ

Also Published As

Publication number Publication date
WO2009080826A1 (en) 2009-07-02
JP2011508296A (ja) 2011-03-10
US7966445B2 (en) 2011-06-21
US20090164683A1 (en) 2009-06-25
EP2225652A1 (en) 2010-09-08
EP2225652B1 (en) 2013-11-13

Similar Documents

Publication Publication Date Title
JP5442634B2 (ja) 読出ステータスのコントローラ
US7263572B2 (en) Bus bridge and data transfer method
US7620747B1 (en) Software based native command queuing
US9146797B2 (en) Method for ensuring remediation of hung multiplexer bus channels
JP5824488B2 (ja) トランザクション属性を修正するためのメモリ領域オーダリング要求に関するコンプリータ知識の使用
TWI498743B (zh) 資料儲存系統以及其管理方法
US7484030B2 (en) Storage controller and methods for using the same
WO2023207571A1 (zh) 一种数据传输方法及装置
US7934043B2 (en) Data processing apparatus for controlling access to a memory based upon detection of completion of a DMA bus cycle
US7895387B1 (en) Devices and methods for sharing common target device with two different hosts according to common communication protocol
US6883057B2 (en) Method and apparatus embedding PCI-to-PCI bridge functions in PCI devices using PCI configuration header type 0
KR100843199B1 (ko) 고속 아이.디.이. 인터페이스 장치 및 그 방법
US7571266B2 (en) Peripheral device in a computerized system and method
JP2008503833A (ja) 並列通信バスに連結された装置内で割込みメッセージを待ち行列に入れるためのコンピュータシステム及び方法
EP2854039B1 (en) Method and apparatus for copying data using cache
KR100259585B1 (ko) 디엠에이 콘트롤러
JP2006092077A (ja) バスシステム
US20060106957A1 (en) Method and system for performance enhancement in a polled data storage environment
JP4538054B2 (ja) データ転送装置および方法
JP4343244B2 (ja) マイクロコンピュータ
JP2017199287A (ja) 情報処理装置および情報処理方法
KR20050044197A (ko) 피씨아이 디엠에이 에러 처리 장치 및 방법
JP2005228188A (ja) 情報処理システム
JP2004021505A (ja) 通信制御装置及びマイクロコンピュータ
JPH0261746A (ja) Dma制御方式

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130829

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131218

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees