JP2006512657A - メモリ・コントローラおよびメモリに書き込む方法 - Google Patents
メモリ・コントローラおよびメモリに書き込む方法 Download PDFInfo
- Publication number
- JP2006512657A JP2006512657A JP2004563431A JP2004563431A JP2006512657A JP 2006512657 A JP2006512657 A JP 2006512657A JP 2004563431 A JP2004563431 A JP 2004563431A JP 2004563431 A JP2004563431 A JP 2004563431A JP 2006512657 A JP2006512657 A JP 2006512657A
- Authority
- JP
- Japan
- Prior art keywords
- write
- memory
- data
- address information
- controller
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
- G06F13/1631—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Static Random-Access Memory (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Saccharide Compounds (AREA)
- Steroid Compounds (AREA)
- Electrophonic Musical Instruments (AREA)
- Communication Control (AREA)
Abstract
本発明は、読取りよりも書込みに高いコストを要する少なくとも1つのメモリ・セルを有するメモリ用のコントローラを提供する。このメモリ・セルは、第1のアドレス情報に割り振られ、メモリ・データを格納するようにされている。本発明のメモリ・コントローラは、レジスタを備えている。前記レジスタおよび前記メモリに接続された書込みコントローラは、前記第1のアドレス情報およびそれに割り振られた書込みデータを含む書込み要求を受け取り、前記第1のアドレス情報が前記レジスタ内に格納されているかどうか確認するようにされている。YESの場合、書込みコントローラは、前記第1の書込みデータを、前記第1のアドレス情報に割り振られた、前記レジスタ内の以前の書込み要求の第2の書込みデータと比較する。NOの場合、書込みコントローラは、前記第1の書込みデータを、第1のアドレス情報に割り振られた前記メモリ・データと比較する。書込みコントローラはさらに、前記第1のアドレス情報および前記第1の書込みデータをそれぞれ前記レジスタに転送し、第1または第2の書込みデータがそれぞれ前記メモリ・データと異なる場合、前記レジスタから前記メモリへの前記第1または第2の書込みデータの書込み動作をそれぞれ開始する。本発明のメモリ・コントローラを使用すると、メモリへの連続的アクセスを提供しながら、書込み電力を節減することができる。
Description
本発明は、読取りよりも書込みに高いコストを要する、少なくとも1つのメモリ・セルを有するメモリ用のコントローラに関する。本発明はさらに、そのようなメモリに書き込む方法に関する。
磁気ランダム・アクセス・メモリ(MRAM)は、既存のRAM技術全体に勝る多くの利点を提供する。すなわち、MRAMを使用すると、スタティックRAM(SRAM)の読み書き速度、ダイナミックRAM(DRAM)の密度、およびフラッシュ・メモリの不揮発性にまで達すると言われている。
他方、MRAMの欠点の1つは、書込み動作の消費電力が読取り動作の消費電力よりも約1桁高いことである。
米国特許第6052303号明細書は、MRAMの所与のアドレスに書き込まれる書込みデータ・ビットを、その所与のアドレスをもつセルに格納されたメモリ・データ・ビットと比較するようにされた比較ユニットを含む、MRAMシステム用コントローラを開示している。このメモリ・セルへの書込み動作は、書込みデータ・ビットがメモリ・データ・ビットと異なる場合にしか実行されない。このシステムおよびその中で実施する方法では、必要なときしか、すなわち未処理の書込み要求を実行するためにセルの状態を変えなければならないときしか書込み電流を流さないという利点がある。このため、書込み動作のためのエネルギーの一部、普通ならセルをその中に現在格納されているメモリ・ビットと同一の書込みビットで上書きするために不要に使われるはずのエネルギーが節減される。
しかし、メモリ・データと書込みデータとの比較に必要な読取り動作ならびにそれらのデータの比較動作が、メモリへの書込みに関与する遅延を増大させることが、このコントローラおよびその中で実装されるMRAMに書き込む方法の欠点である。このため、読取り時、比較時、最終的には書込み時に、中央演算処理装置(CPU)またはその他の任意のメモリ・クライアント用メモリへのアクセスが妨害される。したがって、この種のMRAMコントローラおよび書込み方法を用いると、データ処理システムの全体的な速度が低下する。
この問題は一般的なものである。この問題は、書込み動作コストが読取り動作コストよりも高い、周知のどんなタイプのメモリでも生じる。この問題は、たとえば強誘電体メモリ・セル(FERAM)をベースにした不揮発性メモリにも関係する。コストという用語は、エネルギー、時間、電力、電流密度、電圧など、書込みプロセスに関連する測定可能な量であることを理解されたい。
したがって、本発明の一目的は、そのようなメモリ用のコントローラと、一方では書込み動作のコストを節減し、他方ではメモリへの高速アクセスを可能にする書込み方法とを提供することである。
本発明の第1の態様によれば、読取りよりも書込みに高いコストを要し、第1のアドレス情報が割り振られ、メモリ・データを格納するようにされた少なくとも1つのメモリ・セルを有するメモリ用のコントローラが提供される。このメモリ・コントローラは、
前記メモリに接続され、書込みデータおよびそれに割り振られたアドレス情報用のレジスタ空間を有するレジスタと、
前記レジスタおよび前記メモリに接続されており、
前記第1のアドレス情報およびそれに割り振られた第1の書込みデータを含む書込み要求を受け取り、
前記第1のアドレス情報が前記レジスタ内に格納されているかどうか確認し、
YESの場合は、前記第1の書込みデータを、前記第1のアドレス情報に割り振られた、前記レジスタ内の第2の書込みデータと比較し、
NOの場合は、前記第1の書込みデータを、第1のアドレス情報に割り振られた前記メモリ・データと比較し、
前記第1のアドレス情報および前記第1の書込みデータをそれぞれ前記レジスタに転送し、
第1または第2の書込みデータがそれぞれ前記メモリ・データと異なる場合、それぞれ前記第1または第2の書込みデータの、前記レジスタから前記メモリへの書込み動作を開始するようにされた書込みコントローラと、を備えている。
前記メモリに接続され、書込みデータおよびそれに割り振られたアドレス情報用のレジスタ空間を有するレジスタと、
前記レジスタおよび前記メモリに接続されており、
前記第1のアドレス情報およびそれに割り振られた第1の書込みデータを含む書込み要求を受け取り、
前記第1のアドレス情報が前記レジスタ内に格納されているかどうか確認し、
YESの場合は、前記第1の書込みデータを、前記第1のアドレス情報に割り振られた、前記レジスタ内の第2の書込みデータと比較し、
NOの場合は、前記第1の書込みデータを、第1のアドレス情報に割り振られた前記メモリ・データと比較し、
前記第1のアドレス情報および前記第1の書込みデータをそれぞれ前記レジスタに転送し、
第1または第2の書込みデータがそれぞれ前記メモリ・データと異なる場合、それぞれ前記第1または第2の書込みデータの、前記レジスタから前記メモリへの書込み動作を開始するようにされた書込みコントローラと、を備えている。
本発明のメモリ・コントローラは、このメモリに接続されたレジスタを備えている。レジスタという用語は、本発明に関しては、任意のタイプの高速アクセス一時記憶手段に対して使用される。様々なタイプのレジスタを用いた好ましい実施形態について以下に説明する。動作中、レジスタを使用して、ここでは第1の書込みデータとも呼ぶ書込みデータと、それに割り振られた、ここでは第1のアドレス情報とも呼ぶアドレス・データとを、一時的に格納することができる。メモリ・コントローラが、第1のアドレス・データおよび第1の書込みデータを含む書込み要求を処理するとすぐに、それに対応するレジスタ内の格納スペースが開放されて、別の書込み要求に使用できるようになる。
例えば、MRAMといった実際のメモリとは対照的に、レジスタ内にはデータを一時的に格納するという性質上、レジスタ用には書込みコストが低い周知の半導体メモリ技術の使用が可能になる。
レジスタを使用すると、メモリ・コントローラにより、要求された書込み動作を、他のメモリ・クライアントがメモリへのアクセスを要求しない時間内のある時点まで延期することが可能になる。書込み要求、すなわち第1の書込みデータおよびそれに割り振られた第1のアドレス情報を、レジスタ内に一時的に格納することができる。これにより、1つまたは複数の書込み要求が未処理のときでも、メモリが他のメモリ・クライアントのために利用可能となる。このように、メモリへの全体的なアクセス速度は、レジスタを用いない解決法、したがってメモリがメモリ・コントローラによって書込み要求を処理しているときにアクセス不可能となる解決法に比べて増加する。
レジスタをコントローラと一体化させて、1つの集積回路(IC)にすることができる。レジスタはまた、書込み動作中にデータが移動する距離が長くなるのを回避するためにメモリの近傍に実装することもできる。したがって、コントローラおよびレジスタをメモリと一体化させて1つのメモリ・デバイスにすることにより、メモリへの読み書きアクセス速度を最も向上させる、本発明の一実施形態がもたらされる。
本発明のメモリ・コントローラでは、書込みコントローラがレジスタおよびメモリに接続されている。動作中、この書込みコントローラは、通常、処理すべき書込み要求のメモリ・セルの各アドレスに割り振られた第1の書込みデータ・ビットと異なる格納済みメモリ・データ・ビットを有するメモリ・セルに対してのみ、メモリ・コントローラに書込み動作を実行させる役割をする。このため、書込みコントローラは、第1の書込みデータを第1のアドレス情報に割り振られた前記メモリ・データと比較し、第1の書込みデータが第2の書込みデータまたは前記メモリ・データと異なる場合に、それぞれ前記第1のアドレス情報および前記第1の書込みデータをレジスタに転送するようにされている。
さらに、本発明のメモリ・コントローラの書込みコントローラは、レジスタへの入力動作およびレジスタからの出力動作を管理するようにされている。それにより、レジスタをクライアントにとって「可視(visible)」にすることなく、全てのメモリ・クライアントに対してメモリへの書込みアクセスを提供する。
本発明によれば、書込みコントローラは、ある書込み要求がそれに対して未処理の書込み要求が既にレジスタ内に存在するメモリ・アドレスを対象にしているかどうか、書込み動作前に確認するようにされている。こうした以前の書込み要求の書込みデータを、ここでは第2の書込みデータと呼び、またそれに対応するアドレス情報を第2のアドレス情報と呼ぶ。レジスタ内に第1のアドレス情報と同じ第2のアドレス情報がないという第1のケースでは、第1の書込みデータと第1のアドレス情報に割り振られたメモリ・データとの間で比較が行われる。同じメモリ・アドレスに対する以前の書込み要求が存在する第2のケースでは、メモリにアクセスする必要はない。この比較は、むしろ第1の書込みデータと第2の書込みデータとの間で行われる。好都合な時点でのレジスタからメモリへの書込み動作を待って、レジスタ内にある(以前の)第2の書込みデータとは異なる第1の書込みデータだけをメモリに書き込む必要がある。第1の書込みデータは、それに関係する第1のアドレス情報とともに常にレジスタ内に格納される。
本発明のメモリ・コントローラでは、第1のアドレス情報および第1の書込みデータは、それらが後に実際にメモリに書き込まれるかどうかに関係なくレジスタに転送される。しかし、書込みコントローラは、第1の書込みデータが第1のアドレス情報に対応するアドレスにおけるメモリ・データと異なる場合にのみ、レジスタからメモリへの第1の書込みデータの書込み動作を開始するようにされている。
したがって、このようにレジスタの適切な管理を提供することにより、本発明のメモリ・コントローラは、ほとんどの場合にメモリへの短いアクセス時間を可能にする。
レジスタの適切な記憶容量を提供するのは、実際のシステム設計上の問題である。記憶容量が増大するほど、より多くの要求を先送りにすることができる。しかし、遅延される書込み要求が多いと、レジスタの揮発性に起因するシステム破壊のデータ損失リスクを負うことになる。
このメモリ・コントローラは、原理上、1セル構造をはじめとするどんなサイズのメモリにも使用することができる。このメモリ・コントローラは、より大きなメモリ構造、特により大きなMRAM構造に対して最も多くの利点がある。
好ましい一実施形態では、レジスタがFIFOレジスタである。FIFOレジスタでは、現在の書込み要求は、まだ書込み動作を待つ以前の書込み要求キューの末端に付加される。これらの要求は、先入れ先出しの順に処理される。ただし、「入」はレジスタへの入力を意味し、「出」はレジスタからメモリへの書込み動作を意味する。
本発明のさらなる好ましい実施形態は、レジスタおよびメモリに接続された読取りコントローラを備えている。この読取りコントローラは、
第1のアドレス情報を含む読取り要求を受け取り、
第1のアドレス情報がレジスタ内に格納されているかどうか確認し、
第1のアドレス情報がレジスタ内に格納されているか否かに応じて、それぞれこの読取り要求をレジスタまたはメモリに転送するようにされている。この実施形態のメモリ・マネージャは、レジスタの利点を提供し、メモリからの読取り動作も提供する。それにより、読取り要求があり次第、読取り要求中で与えられたアドレス情報に常に割り振られる最新データが、読取り要求を出したクライアントに確実に返送されるようになる。説明を簡単にするために、このアドレス情報を第1のアドレス情報とも呼ぶ。しかし、書込み要求が、読取り要求と異なるメモリ内のアドレスを対象とし得ることは明らかである。
第1のアドレス情報を含む読取り要求を受け取り、
第1のアドレス情報がレジスタ内に格納されているかどうか確認し、
第1のアドレス情報がレジスタ内に格納されているか否かに応じて、それぞれこの読取り要求をレジスタまたはメモリに転送するようにされている。この実施形態のメモリ・マネージャは、レジスタの利点を提供し、メモリからの読取り動作も提供する。それにより、読取り要求があり次第、読取り要求中で与えられたアドレス情報に常に割り振られる最新データが、読取り要求を出したクライアントに確実に返送されるようになる。説明を簡単にするために、このアドレス情報を第1のアドレス情報とも呼ぶ。しかし、書込み要求が、読取り要求と異なるメモリ内のアドレスを対象とし得ることは明らかである。
この実施形態では、書込みコントローラは、前記書込み要求を受け取り次第、前記読取りコントローラに読取り要求を送るようにされていることが好ましい。前記読取り要求は、前記書込み要求に含まれる前記第1のアドレス情報を含んでいる。このようにして、書込みコントローラは、新規書込み要求が、既にレジスタ内にあるメモリ・アドレスに対するものか否かを評価するために、読取りコントローラを有効に利用する。読取りコントローラは、対応するメモリ・データまたはレジスタ内にある対応する第2のデータを見つけ出し、適宜返送する。
本発明のメモリ・コントローラのさらなる好ましい実施形態では、書込みコントローラはさらに、
比較結果を示すフラグを、前記第1の書込みデータに割り振り、
このフラグを前記第1の書込みデータおよび前記第1のアドレス情報とともにレジスタに転送し、
このフラグが、それに対して前記第1の書込みデータと前記メモリ・データまたは前記第2の書込みデータとの間に差異があることをそれぞれ示す第1の書込みデータについてのみ、メモリへの書込み動作を開始するようにされている。この実施形態では、第1構成要素を第1のアドレス情報とし、第2構成要素を第1の書込みデータとし、第3構成要素を第1の書込みデータに割り振られたフラグとする、3つの構成要素を含むデータ構造がレジスタに書き込まれる。このフラグは、第1の書込みデータがメモリに書き込まれるべきか否かを示す。一例として、比較の結果、第1の書込みデータがメモリ・データまたは第2の書込みデータと異なっていることをそれぞれ示す第1のケースでは、フラグを「1」とし、それが異なっていない第2のケースではフラグを「0」とする。キュー型レジスタでは、第1の書込みデータがレジスタ内で最古のデータであるとき、書込みコントローラはフラグをチェックし、フラグが「1」の状態にある場合のみメモリへの書込み動作を実行する。いずれにしても、第1の書込みデータは、レジスタ内でその次に古い書込み要求データで置き換えられることになる。
比較結果を示すフラグを、前記第1の書込みデータに割り振り、
このフラグを前記第1の書込みデータおよび前記第1のアドレス情報とともにレジスタに転送し、
このフラグが、それに対して前記第1の書込みデータと前記メモリ・データまたは前記第2の書込みデータとの間に差異があることをそれぞれ示す第1の書込みデータについてのみ、メモリへの書込み動作を開始するようにされている。この実施形態では、第1構成要素を第1のアドレス情報とし、第2構成要素を第1の書込みデータとし、第3構成要素を第1の書込みデータに割り振られたフラグとする、3つの構成要素を含むデータ構造がレジスタに書き込まれる。このフラグは、第1の書込みデータがメモリに書き込まれるべきか否かを示す。一例として、比較の結果、第1の書込みデータがメモリ・データまたは第2の書込みデータと異なっていることをそれぞれ示す第1のケースでは、フラグを「1」とし、それが異なっていない第2のケースではフラグを「0」とする。キュー型レジスタでは、第1の書込みデータがレジスタ内で最古のデータであるとき、書込みコントローラはフラグをチェックし、フラグが「1」の状態にある場合のみメモリへの書込み動作を実行する。いずれにしても、第1の書込みデータは、レジスタ内でその次に古い書込み要求データで置き換えられることになる。
したがって、この実施形態は、書込みコントローラの主要な機能の1つ、条件付き書込み動作の単純で効果的な実装を提供する。
本発明のさらなる好ましい実施形態では、書込みコントローラは、前記レジスタが満杯であるか空であるかを確認するようにされている。この実施形態により、書込みコントローラは、その性能を現在の要求レートに適合させることができる。レジスタが満杯であることを確認した後、1つの選択肢は、従来のメモリ動作に戻ることである。このことは、レジスタ内で未処理の全ての第1の書込み要求が処理されることを意味する。メモリ・クライアントからの要求は、こうした書込み動作中には処理されない。全ての書込み動作を終了して初めて、新規要求が受け入れられる。しかし、より効果的なメモリ管理法は、レジスタが満杯であることを確認後に、より少しのレジスタからメモリへの書込み動作を開始することである。これにより、以前の時点でのメモリ・クライアントからの新規要求が可能となる。最も好ましくは、レジスタが満杯であることを評価した後、要求があるかどうかおよびレジスタが満杯であるかどうか再び確認する前に、1回だけ書込み動作を実行する。このようにして、入ってくる要求をいつでもレジスタに受け入れることができる。レジスタ内のその他の未処理の書込み要求は、新規書込み要求のレートが低下したときに処理することができる。この場合もやはり、要求されればいつでもメモリ・クライアントへのメモリ・アクセスが可能となるように、所与のアプリケーション環境に対して、レジスタが満杯になるのを極力回避できるように適切なレジスタ容量を提供することによって行う。
この実施形態では、書込みコントローラは、レジスタが空でないと評価後、および未処理の書込み要求がない場合に、レジスタからメモリへの書込み動作を開始するようになされることが好ましい。この実施形態は、レジスタが空でなく新規要求がメモリ・コントローラの入力ポートを通って入ってこない限り、自動的に未処理の書込み要求を実行する。
本発明の他の好ましい実施形態では、書込みコントローラは、前記第1の書込みデータと前記第2の書込みデータまたは前記メモリとの比較を、一時に少なくとも1ビットずつ実行するようにされている。
例えば、この比較は、バイト単位で実行することができる。この例では、メモリ・アドレス指定に、より小さいレジスタ容量しか必要でない。というのは、1バイト分が、単一のアドレスによって、あるいはメモリ・ブロックの最初と最終のセルを示す第1と第2のアドレスによって、まとめてアドレス指定できる1つのメモリ・セル・ブロックに書き込まれるからである。一方、書込み動作のためのエネルギーはあまり節減されない。というのは、一般に、書込みデータ・バイトとメモリ・データが互いに少なくとも1ビット異なる確率は、50%よりずっと高いからである。1ビットだけでも異なっていれば、たとえ7ビットが変わらなくても、メモリ内のバイト全体を上書きしなければならない。
好ましくは、この比較はビット単位で実行される。この実施形態は、最良の書込み電力節減結果をもたらす。なぜなら、上書きが必要かどうか、ビットごとに、すなわちメモリ・セルごとにチェックされるからである。一方、アドレス指定には、より大きなレジスタ空間が必要である。レジスタ内のメモリ空間は安価であるので、こうした欠点は、書込み電力を節減できるという利点と比べると重要ではない。
さらなる好ましい実施形態では、XOR(排他的論理和)ゲートが、前記第1の書込みデータ用の第1の入力部と、前記メモリ・データまたは前記第2の書込みデータ用の第2の入力部と、をそれぞれ備え、かつ書込みコントローラに接続された出力ポートを備える。このXORゲートは、入力ビットが互いに異なる場合に「1」すなわち論理「TRUE」を出力し、入力ビットが同じ場合に「0」すなわち論理「FALSE」を出力する。XORゲートを使用して、前述のフラグをセットすることができる。
この実施形態では、書込みコントローラは、XORゲートの出力部から少なくとも1つの論理「TRUE」信号を受信した後、前記第1のアドレス情報および前記第1の書込みデータを前記レジスタに転送するようにされていることが好ましい。
本発明のメモリ・コントローラをメモリと一体化させて、1つのメモリ・デバイスを形成することができる。
本発明の第2の態様によれば、読取りよりも書込みに高いコストを要する、少なくとも1つのメモリ・セルを有するメモリ用のコントローラが提供される。前記メモリ・セルは、第1のアドレス情報が割り振られており、メモリ・データを格納するようにされている。このコントローラは、
前記メモリに接続され、書込みデータおよびそれに割り振られたアドレス情報用のレジスタ空間を含むレジスタと、
前記レジスタおよび前記メモリに接続されており、
前記第1のアドレス情報およびそれに割り振られた第1の書込みデータを含む書込み要求を受け取り、
前記第1の書込みデータを、第1のアドレス情報に割り振られた前記メモリ・データと比較し、
第1の書込みデータが前記メモリ・データと異なる場合に、前記第1のアドレス情報および前記第1の書込みデータをそれぞれ前記レジスタに転送するようになされた書込みコントローラと、を備えている。
前記メモリに接続され、書込みデータおよびそれに割り振られたアドレス情報用のレジスタ空間を含むレジスタと、
前記レジスタおよび前記メモリに接続されており、
前記第1のアドレス情報およびそれに割り振られた第1の書込みデータを含む書込み要求を受け取り、
前記第1の書込みデータを、第1のアドレス情報に割り振られた前記メモリ・データと比較し、
第1の書込みデータが前記メモリ・データと異なる場合に、前記第1のアドレス情報および前記第1の書込みデータをそれぞれ前記レジスタに転送するようになされた書込みコントローラと、を備えている。
本発明のこの態様のメモリ・コントローラは、前述のメモリ・コントローラの特徴および利点のほとんどを有している。このコントローラには、新規書込み要求がレジスタに付加される前に第1のアドレス情報を含む未処理の要求があるかどうかレジスタをチェックする機能がないだけである。要求がレジスタ内に入力される前に、メモリ・データだけが書込みデータと比較される。
このメモリ・コントローラには、上述のメモリ・コントローラよりも単純であり、したがって、より高速であるという利点がある。この利点のコストは、レジスタ内の同じメモリ・アドレスに対する第1および第2の書込み要求が、1つのメモリ・セルまたは一群のメモリ・セルに対して同じ書込みデータを含むことである。このことは、これらのメモリ・セルが、まず第1の書込み要求に対する書込み動作が実行されたときに上書きされ、次いで第2の書込み要求を処理するときに同じデータで再び上書きされることを意味する。しかし、これらの事象数は、一般にそれほど多くはない。
本発明のこの態様によるメモリ・コントローラは、前述の実施形態による追加の特徴を備えてもよい。
本発明の第3の態様によれば、メモリに書き込む方法が提供される。このメモリは、メモリ・データを格納するための少なくとも1つのメモリ・セルを含む。このメモリ・セルは、少なくとも第1のメモリ・アドレスに一意に割り振られ、読取りよりも書込みに高いコストを要する。この方法では書込みキューを使用する。この方法は、
第1のアドレス情報およびそれに割り振られた第1の書込みデータを含む書込み要求を受け取るステップと、
前記第1のアドレス情報が、前記書込みキューに格納されているかどうか確認するステップと、
YESの場合は、前記第1の書込みデータを、前記第1のアドレス情報に割り振られた前記書込みキュー中の第2の書込みデータと比較するステップと、
NOの場合は、前記第1の書込みデータを、第1のアドレス情報に割り振られた前記メモリ・データと比較するステップと、
第1の書込みデータが第2の書込みデータまたは前記メモリ・データと異なる場合、前記第1のアドレス情報および前記第1の書込みデータをそれぞれ、前記書込みキューに転送するステップと、
前記第1の書込みデータを、前記書込みキューから前記第1のアドレスに対応する前記メモリ・セルに書き込むステップと、を含む。
第1のアドレス情報およびそれに割り振られた第1の書込みデータを含む書込み要求を受け取るステップと、
前記第1のアドレス情報が、前記書込みキューに格納されているかどうか確認するステップと、
YESの場合は、前記第1の書込みデータを、前記第1のアドレス情報に割り振られた前記書込みキュー中の第2の書込みデータと比較するステップと、
NOの場合は、前記第1の書込みデータを、第1のアドレス情報に割り振られた前記メモリ・データと比較するステップと、
第1の書込みデータが第2の書込みデータまたは前記メモリ・データと異なる場合、前記第1のアドレス情報および前記第1の書込みデータをそれぞれ、前記書込みキューに転送するステップと、
前記第1の書込みデータを、前記書込みキューから前記第1のアドレスに対応する前記メモリ・セルに書き込むステップと、を含む。
この方法は、本発明の第1の態様によるメモリ・コントローラに関する。この方法では、書込みキューを使用する。この書込みキューは、上述のようにレジスタによって実施することができる。原理的には、必ずしもFIFOキューを使用する必要はない。本発明のこの方法の利点については、本発明のメモリ・コントローラ構造に関して先に述べた。その好ましい実施形態についても先に説明した。好ましい実施形態のその他の特徴は、以下の通りである。
好ましい一実施形態によれば、様々な書込み要求の第1の書込みデータが、先入れ先出しルールに従って前記書込みキューから前記メモリに書き込まれる。
他の好ましい実施形態によれば、この方法はさらに、
前記第1のアドレス情報を含む読取り要求を受け取るステップと、
前記第1のアドレス情報が、前記レジスタ内に格納されているかどうか確認するステップと、
前記第1のアドレス情報が前記レジスタ内に格納されているか否かに応じて、それぞれ前記読取り要求を前記書込みキューまたは前記メモリに転送するステップと、
前記書込みキューまたは前記メモリから、それぞれ前記書込みキュー・データまたは前記第1のアドレス情報に割り振られた前記メモリ・データを受け取るステップと、を含む。
前記第1のアドレス情報を含む読取り要求を受け取るステップと、
前記第1のアドレス情報が、前記レジスタ内に格納されているかどうか確認するステップと、
前記第1のアドレス情報が前記レジスタ内に格納されているか否かに応じて、それぞれ前記読取り要求を前記書込みキューまたは前記メモリに転送するステップと、
前記書込みキューまたは前記メモリから、それぞれ前記書込みキュー・データまたは前記第1のアドレス情報に割り振られた前記メモリ・データを受け取るステップと、を含む。
他の好ましい実施形態によれば、この方法は、前記書込み要求を受け取り次第、読取り要求を実行するステップを含み、前記読取り要求が、前記書込み要求に含まれる前記第1のアドレス情報を有している。
他の好ましい実施形態によれば、この方法は、前記書込みキューが満杯であるかどうか、かつ/または前記書込みキューが空であるかどうか確認するステップを含む。この実施形態は、好ましくは、レジスタが満杯であると評価後に、書込みキューからメモリに書き込むステップを含む。好ましくはさらに、書込みキューが空でないことを確認した後、未処理の書込み要求がない場合に、書込みキューからメモリに書き込むステップが提供される。
他の実施形態は、前記第1の書込みデータと、少なくとも1ビットの前記第2の書込みデータまたは前記メモリ・データを一時に少なくとも1ビットずつ比較するステップを含む。
この比較ステップは、好ましくは、前記第1の書込みデータと前記メモリ・データまたは前記第2の書込みデータとの間で、それぞれXOR演算を実行するステップを含む。
本発明の第4の態様によれば、書込みキューを使用してメモリに書き込むさらなる方法が提供される。このメモリは、読取りよりも書込みに高いコストを要する、メモリ・データを格納するための少なくとも1つのメモリ・セルを含んでおり、前記メモリ・セルは、少なくとも第1のメモリ・アドレスを一意に割り振られる。この方法は、
第1のアドレス情報およびそれに割り振られた第1の書込みデータを含む書込み要求を受け取るステップと、
前記第1の書込みデータを、第1のアドレス情報に割り振られた前記メモリ・データと比較するステップと、
第1の書込みデータが第2の書込みデータまたは前記メモリ・データと異なる場合に、前記第1のアドレス情報および前記第1の書込みデータをそれぞれ前記書込みキューに転送するステップと、
前記書込みデータを、前記書込みキューから前記第1のアドレスに対応する前記メモリ・セルに書き込むステップと、を含む。
第1のアドレス情報およびそれに割り振られた第1の書込みデータを含む書込み要求を受け取るステップと、
前記第1の書込みデータを、第1のアドレス情報に割り振られた前記メモリ・データと比較するステップと、
第1の書込みデータが第2の書込みデータまたは前記メモリ・データと異なる場合に、前記第1のアドレス情報および前記第1の書込みデータをそれぞれ前記書込みキューに転送するステップと、
前記書込みデータを、前記書込みキューから前記第1のアドレスに対応する前記メモリ・セルに書き込むステップと、を含む。
この方法は、本発明の第2の態様によるメモリ・コントローラに関する。この方法の様々な実施形態は、本発明の第3の実施形態による方法に関して説明した実施形態の追加の特徴を有する。
以下に、添付の図を参照して、好ましい実施形態に基づき本発明をより詳細に説明する。
図1は、本発明のメモリ・デバイス10の第1の実施形態の簡略構成図を示す。メモリ・デバイス10は、MRAM 12を備えている。MRAM 12は、多数のメモリ・セルを有する不揮発性磁気メモリである。通常、これらのメモリ・セルはマトリックス状に配列されている。MRAMブロック12内の各メモリ・セルは、当技術分野で周知のように、行アドレスと列アドレスとの組合せによって一意にアドレス指定することができる。
メモリ・デバイス10はさらに、MRAM 12に接続されたコントローラ14を備えている。コントローラ14は、メモリ・デバイス10の外部クライアントとの通信に際して、MRAM 12からの読取り動作およびMRAM 12への書込み動作を管理する。これについては、コントローラ14に向けて指す矢印とコントローラ14から離れる向きの矢印とによって、またこれらの矢印がメモリ・デバイス10の破線と交差することによって示されている。コントローラ14はまた、先入れ先出し(FIFO)レジスタ16にも接続されている。
メモリ・デバイス10の動作について、図2の状況で以下に説明する。
図2は、第2の実施形態として、MRAM 22およびコントローラ24を備えるメモリ・デバイス20を示す。示した構成図は、このデバイスの論理構造を表している。このデバイスの物理的実装は、ここで示した構造と異なっていてもよい。このコントローラは、メモリ・データ用のメモリ入力ポート26と、MRAM 22に書き込まれる書込みデータ用のメモリ出力ポート28と、CPUなどのメモリ・クライアントからのアドレス・データおよび書込みデータ用のクライアント入力ポート30と、メモリ・データをメモリ・クライアントに送るためのクライアント出力ポート32とを備えている。
図2の実施形態のメモリ・コントローラ24は、クライアント入力ポート30に接続して一体化させたFIFOレジスタ34を備えている。FIFOコントローラ36もFIFOレジスタ34に接続されている。さらに、コマンド・デコーダ38が、クライアント入力ポート30、書込みコントローラ40、および読取りコントローラ42に接続されている。メモリ入力ポート26と書込みコントローラ40との間にXORゲート44が相互接続されている。
次に、図3の流れ図を参照して、メモリ・コントローラ24の動作について説明する。しかし、図3に示す流れ図が必ずしも図2のコントローラ構造で使用されるものではないことを留意されたい。適切などんなデバイスでも、図3に示した方法を実行することができる。例えば、この流れをソフトウェアとして実装することもできる。
メモリ・クライアントからの着信要求は、クライアント入力部30からコマンド・デコーダ38に転送される。コマンド・デコーダはこの要求を分析する。この分析は、図3のステップS12およびS14に従って行うことができる。ステップS12では、この要求が読取りコマンドを含んでいるかどうかチェックする。そうでない場合、コマンド・デコーダは、ステップS14でそのコマンドが書込みコマンドであるかどうか確認する。
ステップS12およびS14の要求分析ルーチンは、クライアント入力ポート30を準連続的に監視するためにも使用されることに留意されたい。したがって、ステップS14の後には、読取り要求も書込み要求も存在しないことが分かる。この場合、書込みコントローラ40は、FIFOレジスタ34内の書込みキューが空かどうかチェックする。そうである場合、図3の方法で、ステップS12に戻ってクライアント入力ポートを監視する。
着信読取り要求の場合、コマンド・デコーダ38は、この要求を読取りコントローラ42に転送する。読取りコントローラ42は、要求に含まれているアドレス情報を抜き出し、それをFIFOコントローラ36に転送する。FIFOコントローラ36は、FIFOレジスタ内の書込み要求によって構成されたアドレス・リストを保持する。このアドレスがそのリストに含まれている場合は、FIFOコントローラ44がFIFO 34をトリガして、対応する書込みデータをクライアント出力ポート32に送る。FIFOコントローラ36は、読取り要求を処理したことを読取りコントローラ42に戻す。このアドレスがそのリストに含まれていない場合は、FIFOコントローラは、この結果を読取りコントローラ42に返送し、読取りコントローラ42は、MRAM 22内の所与のアドレスからの読取り動作をトリガする。MRAMは、要求されたデータをメモリ入力ポート26に返送する。このデータは、そこからクライアント出力ポート32に転送され、要求しているクライアントに送られる。
着信書込み要求の場合、書込みコントローラ42は、最初にFIFOレジスタが満杯であるかどうか確認する。そうである場合、FIFOレジスタ34のキュー中の最も古い書込み要求が処理される。
この実施形態では、書込み要求は、図3の流れから部分的にそれて、以下の方法で処理する。書込みコントローラ40が、読取り要求を読取りコントローラ42に送る。読取りコントローラ42は、ステップS18〜S22を実行し、キュー34からまたはメモリ22からデータを返送する。図2の流れは簡略化した変形形態を示しており、この変形形態では、データはステップS30でアドレス指定されたメモリ・セクタから直接読み出される。
これらのデータは、メモリ入力ポート26またはFIFO 34からXORゲート44に転送される。XORゲート44は、ステップS32で、書込みデータおよびメモリ・データまたはレジスタ・データで、それぞれ論理「EXCLUSIVE−OR」演算を実行する。すなわち、XORゲート44は、本明細書において「mask(マスク)」と呼ぶ信号を書込みコントローラ40に返送する。この信号は、XORゲート44の入力部におけるデータが互いに異なる場合、「TRUE」信号(「1」)となる。XORゲート44は、それらのデータが同一の場合、「FALSE」信号を返す。
書込みコントローラ40は、XORゲート44からの信号を書込み要求に添付し、この書込み要求をFIFOレジスタ34に転送する。このデータは、マスクが「1」である場合にしか書き込まれない。
書込みコントローラ44が、ステップS24でFIFOレジスタ34内のキューが満杯でないのに気付いた場合、ステップS30にジャンプし、上述の部分的にそれた読取りルーチンを実行する。
以下に、本発明によるMRAMコントローラの動作を記述するアルゴリズムを示す。このアルゴリズムは、CまたはC++に類似の擬似コードで与えられる。記号「!=」がこのコードでは「等しくない」を意味することを留意されたい。下記コード・ラインを説明するコメントは、「/*」および「*/」によってコードから分離されている。以下の記述を明瞭に参照できるように、下記アルゴリズムの5行ごとに、ページ行とは無関係に番号を付してある。
このアルゴリズムは、3つの部分に分割することができる。すなわち、1行目から9行目の間で、読取り制御機能が定義される。10行目から24行目の間で、書込み制御アルゴリズムが定義される。25行目から37行目の間で、要求がないときの制御機能が定義される。書込み制御は、さらに分割することができる。すなわち、11行目から19行目までで、書込みキューが満杯の場合の書込み制御機能が定義される。19行目から24行目までで、書込みキューが満杯でない別の場合の書込み制御機能が定義される。
下記アルゴリズム中の最も重要なコマンドが、「queue.enqueue」および「mram.write」である。最初のコマンドは、たとえば図1または2のFIFOレジスタである、書込みアドレス情報(「req.addr」)および書込みデータ(「req.data」)からなるデータ・フィールドへの書込みをトリガする。19行目に、このコマンドは書込み要求の全ビットを含んでいる。26行目に、このコマンドはXOR演算の結果を示す「mask」ビットを含んでいる。
Claims (26)
- 読取りよりも書込みにより高いコストを要し、第1のアドレス情報を割り振られ、メモリ・データを格納するようにされた少なくとも1つのメモリ・セルを有するメモリ用のコントローラであって、
前記メモリに接続され、書込みデータ用および書込みデータに割り振られたアドレス情報用のレジスタ空間を有するレジスタと、
前記レジスタおよび前記メモリに接続され、
前記第1のアドレス情報と、前記第1のアドレス情報に割り振られた第1の書込みデータとを含む書込み要求を受け取り、
前記第1のアドレス情報が前記レジスタ内に格納されているかどうか確認し、
YESの場合は、前記第1の書込みデータを、前記第1のアドレス情報に割り振られた、前記レジスタ内の以前の書込み要求の第2の書込みデータと比較し、
NOの場合は、前記第1の書込みデータを、前記第1のアドレス情報に割り振られた前記メモリ・データと比較し、
前記第1のアドレス情報および前記第1の書込みデータをそれぞれ前記レジスタに転送し、
前記第1または第2の書込みデータがそれぞれ前記メモリ・データと異なる場合、それぞれ前記第1または第2の書込みデータの、前記レジスタから前記メモリへの書込み動作を開始するようにされた書込みコントローラと、を備えるメモリ・コントローラ。 - 前記レジスタは、FIFOレジスタである請求項1に記載のメモリ・コントローラ。
- 前記レジスタおよび前記メモリに接続され、
前記第1のアドレス情報を含む読取り要求を受け取り、
前記第1のアドレス情報が前記レジスタ内に格納されているかどうか確認し、
前記第1のアドレス情報が前記レジスタ内に格納されているか否かに応じて、それぞれ前記読取り要求を前記レジスタまたは前記メモリに転送するようにされた読取りコントローラをさらに備える請求項1または2に記載のメモリ・コントローラ。 - 前記書込みコントローラは、前記書込み要求を受け取り次第、前記読取りコントローラに、前記書込み要求に含まれる前記第1のアドレス情報を含む読取り要求を送るようになされている請求項3に記載のメモリ・コントローラ。
- 前記書込みコントローラは、
前記比較結果を示すフラグを、前記第1の書込みデータに割り振り、
前記フラグを前記第1の書込みデータと、前記第1のアドレス情報とともに前記レジスタに転送し、
前記フラグが、前記第1の書込みデータと前記メモリ・データまたは前記第2の書込みデータとの間に差異があることをそれぞれ示す第1の書込みデータについてのみ、メモリへの書込み動作を開始するようにされている請求項1に記載のメモリ・コントローラ。 - 前記書込みコントローラは、前記レジスタが満杯であるか空であるかを確認するようにされている請求項5に記載のメモリ・コントローラ。
- 前記書込みコントローラは、前記レジスタが満杯であるとの評価後に、前記レジスタから前記メモリへの少なくとも1回の書込み動作を開始するようにされている請求項6に記載のメモリ・コントローラ。
- 前記書込みコントローラは、前記レジスタが空でないとの評価後、未処理の書込み要求がない場合に、前記レジスタから前記メモリへの書込み動作を開始するようにされている請求項1に記載のメモリ・コントローラ。
- 前記書込みコントローラは、前記第1の書込みデータと前記第2の書込みデータまたは前記メモリとの比較を、一時に少なくとも1ビットずつ実行するようにされている請求項1に記載のメモリ・コントローラ。
- 前記書込みコントローラは、バイト単位またはビット単位で前記比較を実行するようにされている請求項9に記載のメモリ・コントローラ。
- 前記書込みコントローラは、ビット単位で前記比較を実行するようにされている請求項9に記載のメモリ・コントローラ。
- 前記第1の書込みデータ用の第1の入力部と、前記メモリ・データまたは前記第2の書込みデータ用の第2の入力部と、をそれぞれ有しかつ前記書込みコントローラに接続された出力ポートを有するXORゲートを備えている請求項9に記載のメモリ・コントローラ。
- 前記書込みコントローラが、前記XORゲートの前記出力部から少なくとも1つの論理「TRUE」信号を受信した後に、前記第1のアドレス情報および前記第1の書込みデータを前記レジスタに転送するようにされている請求項9に記載のメモリ・コントローラ。
- 少なくとも1つの不揮発性メモリ・セルを有するメモリと、請求項1記載のメモリ・コントローラとを備えるメモリ・デバイス。
- 前記メモリが、MRAMおよびFERAMからなる群のうちのメモリ・セルを備えるメモリ・デバイス。
- 第1のアドレス情報を割り振られ、メモリ・データを格納するようにされた少なくとも1つの不揮発性メモリ・セルを有するメモリ用のコントローラであって、
前記メモリに接続され、書込みデータ用および書込みデータに割り振られたアドレス情報用のレジスタ空間を含むレジスタと、
前記レジスタおよび前記メモリに接続され、
前記第1のアドレス情報と、第1のアドレス情報に割り振られた第1の書込みデータとを含む書込み要求を受け取り、
前記第1の書込みデータを、前記第1のアドレス情報に割り振られた前記メモリ・データと比較し、
前記第1の書込みデータが前記メモリ・データと異なる場合に、前記第1のアドレス情報および前記第1の書込みデータをそれぞれ前記レジスタに転送するようにされた書込みコントローラと、
を備えるメモリ・コントローラ。 - 少なくとも第1のメモリ・アドレスを一意に割り振られ、読取りよりも書込みに高いコストを要する、メモリ・データを格納するための少なくとも1つのメモリ・セルを含む不揮発性メモリに書込みキューを使用して書き込む方法であって、
前記第1のアドレス情報と、前記第1のアドレス情報に割り振られた第1の書込みデータとを含む書込み要求を受け取るステップと、
前記第1のアドレス情報が、前記書込みキューに格納されているかどうか確認するステップと、
YESの場合に、前記第1の書込みデータを、前記第1のアドレス情報に割り振られた前記書込みキュー中の第2の書込みデータと比較するステップと、
NOの場合に、前記第1の書込みデータを、前記第1のアドレス情報に割り振られた前記メモリ・データと比較するステップと、
前記第1の書込みデータが前記第2の書込みデータまたは前記メモリ・データと異なる場合に、前記第1のアドレス情報および前記第1の書込みデータをそれぞれ、前記書込みキューに転送するステップと、
前記第1の書込みデータを、前記書込みキューから前記第1のアドレスに対応する前記メモリ・セルに書き込むステップと、
を含む方法。 - 様々な書込み要求の前記第1の書込みデータは、先入れ先出しルールに従って前記書込みキューから前記メモリに書き込まれる請求項17に記載の方法。
- 前記第1のアドレス情報を含む読取り要求を受け取るステップと、
前記第1のアドレス情報が、前記レジスタ内に格納されているかどうか確認するステップと、
前記第1のアドレス情報が前記レジスタ内に格納されているか否かに応じて、それぞれ前記読取り要求を前記書込みキューまたは前記メモリに転送するステップと、
前記書込みキューまたは前記メモリから、それぞれ前記書込みキュー・データまたは前記第1のアドレス情報に割り振られた前記メモリ・データを受け取るステップと、
をさらに含む請求項17に記載の方法。 - 前記書込み要求を受け取り次第、前記書込み要求に含まれる前記第1のアドレス情報を有する読取り要求を実行するステップを含む請求項17に記載の方法。
- 前記書込みキューが満杯であるかどうか、および/または前記書込みキューが空であるかどうか確認するステップを含む請求項17に記載の方法。
- 前記レジスタが満杯であるとの評価後に、前記書込みキューから前記メモリに書き込むステップを含む請求項21に記載の方法。
- 前記書込みキューが空でないことを確認した後、未処理の書込み要求がない場合に、前記書込みキューから前記メモリに書き込むステップを含む請求項21に記載の方法。
- 一時に少なくとも1ビットの前記第1の書込みデータと、少なくとも1ビットの前記第2の書込みデータまたは前記メモリ・データとを比較するステップを含む請求項17に記載の方法。
- 前記比較ステップは、前記第1の書込みデータと前記メモリ・データまたは前記第2の書込みデータとの間で、それぞれXOR演算を実行するステップを含む請求項24に記載の方法。
- 少なくとも第1のメモリ・アドレスを一意に割り振られ、読取りよりも書込みに高いコストを要し、メモリ・データを格納するための少なくとも1つのメモリ・セルを含む不揮発性メモリに書込みキューを使用して書き込む方法であって、
前記第1のアドレス情報と、前記第1のアドレス情報に割り振られた第1の書込みデータとを含む書込み要求を受け取るステップと、
前記第1の書込みデータを、前記第1のアドレス情報に割り振られた前記メモリ・データと比較するステップと、
第1の書込みデータが前記第2の書込みデータまたは前記メモリ・データと異なる場合に、前記第1のアドレス情報および前記第1の書込みデータをそれぞれ前記書込みキューに転送するステップと、
前記書込みデータを、前記書込みキューから前記第1のアドレスに対応する前記メモリ・セルに書き込むステップと、
を含む方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02080598 | 2002-12-30 | ||
PCT/IB2003/005709 WO2004059499A2 (en) | 2002-12-30 | 2003-11-26 | Memory controller and method for writing to a memory |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006512657A true JP2006512657A (ja) | 2006-04-13 |
Family
ID=32668869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004563431A Withdrawn JP2006512657A (ja) | 2002-12-30 | 2003-11-26 | メモリ・コントローラおよびメモリに書き込む方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7568082B2 (ja) |
EP (1) | EP1581876B1 (ja) |
JP (1) | JP2006512657A (ja) |
CN (1) | CN1732446B (ja) |
AT (1) | ATE476709T1 (ja) |
AU (1) | AU2003303412A1 (ja) |
DE (1) | DE60333677D1 (ja) |
WO (1) | WO2004059499A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008134685A (ja) * | 2006-11-27 | 2008-06-12 | Konica Minolta Business Technologies Inc | 不揮発メモリシステム及び不揮発メモリ制御方法 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7849253B2 (en) * | 2005-04-04 | 2010-12-07 | Standard Microsystems Corporation | Method for fast access to flash-memory media |
JP4791909B2 (ja) * | 2006-08-21 | 2011-10-12 | 株式会社東芝 | 高速入出力機能を備える制御装置、及びその制御データの制御方法 |
CN100499557C (zh) * | 2007-06-18 | 2009-06-10 | 中兴通讯股份有限公司 | 一种寻址控制器件及使用该器件进行寻址的方法 |
US8332575B2 (en) * | 2007-06-20 | 2012-12-11 | Samsung Electronics Co., Ltd. | Data management systems, methods and computer program products using a phase-change random access memory for selective data maintenance |
TWI391911B (zh) * | 2008-04-15 | 2013-04-01 | Novatek Microelectronics Corp | 記憶體存取裝置及使用該記憶體存取裝置的顯示器 |
KR101631162B1 (ko) * | 2009-06-11 | 2016-06-17 | 삼성전자주식회사 | 플래시 메모리를 구비하는 저장 장치 및 이의 데이터 저장 방법 |
CN101876944B (zh) | 2009-11-26 | 2012-02-15 | 威盛电子股份有限公司 | 动态随机存取存储器控制器和控制方法 |
US8489803B2 (en) * | 2009-12-14 | 2013-07-16 | Smsc Holdings S.A.R.L. | Efficient use of flash memory in flash drives |
US8806263B2 (en) * | 2011-08-26 | 2014-08-12 | Micron Technology, Inc. | Methods and apparatuses including a global timing generator and local control circuits |
JP5727948B2 (ja) | 2012-01-16 | 2015-06-03 | 株式会社東芝 | 半導体記憶装置 |
US9417958B2 (en) | 2012-06-06 | 2016-08-16 | Silicon Motion Inc. | Flash memory control method, controller and electronic apparatus |
TWI594251B (zh) * | 2012-06-06 | 2017-08-01 | 慧榮科技股份有限公司 | 記憶體控制方法、控制器跟電子裝置 |
KR20170048942A (ko) * | 2015-10-27 | 2017-05-10 | 에스케이하이닉스 주식회사 | 반도체장치 및 반도체시스템 |
US10891057B1 (en) * | 2015-12-31 | 2021-01-12 | EMC IP Holding Company LLC | Optimizing flash device write operations |
KR102648180B1 (ko) * | 2016-07-19 | 2024-03-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작 방법 |
CN109426616B (zh) * | 2017-08-31 | 2023-08-04 | 华邦电子股份有限公司 | 字节编程方法以及页面编程方法 |
CN110457198A (zh) * | 2018-05-07 | 2019-11-15 | 龙芯中科技术有限公司 | 调试信息输出方法、装置及存储介质 |
WO2020055616A1 (en) | 2018-09-14 | 2020-03-19 | Rambus Inc. | Memory system with error detection |
CN112802518B (zh) * | 2021-03-25 | 2021-07-02 | 深圳市汇顶科技股份有限公司 | 数据写入方法、片上系统芯片及计算机可读存储介质 |
CN114546906B (zh) * | 2022-01-28 | 2023-06-23 | 郑州信大捷安信息技术股份有限公司 | 一种基于ring通信机制的数据交互方法和系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN85105547B (zh) * | 1985-07-19 | 1988-06-08 | 株式会社日立制作所 | 用于一信息处理装置的存储器存取控制系统 |
JPS6379292A (ja) * | 1986-09-24 | 1988-04-09 | Nec Corp | スタテイツク型メモリ |
US5224214A (en) * | 1990-04-12 | 1993-06-29 | Digital Equipment Corp. | BuIffet for gathering write requests and resolving read conflicts by matching read and write requests |
US5553265A (en) * | 1994-10-21 | 1996-09-03 | International Business Machines Corporation | Methods and system for merging data during cache checking and write-back cycles for memory reads and writes |
US5787484A (en) * | 1996-08-08 | 1998-07-28 | Micron Technology, Inc. | System and method which compares data preread from memory cells to data to be written to the cells |
US5835406A (en) * | 1996-10-24 | 1998-11-10 | Micron Quantum Devices, Inc. | Apparatus and method for selecting data bits read from a multistate memory |
JPH10154394A (ja) * | 1996-11-21 | 1998-06-09 | Toshiba Corp | メモリ装置 |
US6438660B1 (en) * | 1997-12-09 | 2002-08-20 | Intel Corporation | Method and apparatus for collapsing writebacks to a memory for resource efficiency |
US6151658A (en) * | 1998-01-16 | 2000-11-21 | Advanced Micro Devices, Inc. | Write-buffer FIFO architecture with random access snooping capability |
JP2001014219A (ja) * | 1999-06-30 | 2001-01-19 | Nec Corp | キャッシュ制御方法及びその装置 |
US6678838B1 (en) * | 1999-08-23 | 2004-01-13 | Advanced Micro Devices, Inc. | Method to track master contribution information in a write buffer |
CN1121041C (zh) * | 2000-11-27 | 2003-09-10 | 英业达集团(南京)电子技术有限公司 | 在快闪存储器中同时存放程序代码及数据资料的方法 |
JP3701886B2 (ja) * | 2001-04-27 | 2005-10-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 記憶回路ブロック及びアクセス方法 |
-
2003
- 2003-11-26 AT AT03813945T patent/ATE476709T1/de not_active IP Right Cessation
- 2003-11-26 EP EP03813945A patent/EP1581876B1/en not_active Expired - Lifetime
- 2003-11-26 JP JP2004563431A patent/JP2006512657A/ja not_active Withdrawn
- 2003-11-26 CN CN2003801079434A patent/CN1732446B/zh not_active Expired - Fee Related
- 2003-11-26 WO PCT/IB2003/005709 patent/WO2004059499A2/en active Application Filing
- 2003-11-26 AU AU2003303412A patent/AU2003303412A1/en not_active Abandoned
- 2003-11-26 DE DE60333677T patent/DE60333677D1/de not_active Expired - Lifetime
- 2003-11-26 US US10/541,266 patent/US7568082B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008134685A (ja) * | 2006-11-27 | 2008-06-12 | Konica Minolta Business Technologies Inc | 不揮発メモリシステム及び不揮発メモリ制御方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1581876A2 (en) | 2005-10-05 |
WO2004059499A2 (en) | 2004-07-15 |
CN1732446B (zh) | 2010-09-08 |
AU2003303412A1 (en) | 2004-07-22 |
CN1732446A (zh) | 2006-02-08 |
US7568082B2 (en) | 2009-07-28 |
DE60333677D1 (de) | 2010-09-16 |
WO2004059499A3 (en) | 2004-09-02 |
US20060106969A1 (en) | 2006-05-18 |
EP1581876B1 (en) | 2010-08-04 |
ATE476709T1 (de) | 2010-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006512657A (ja) | メモリ・コントローラおよびメモリに書き込む方法 | |
US6446145B1 (en) | Computer memory compression abort and bypass mechanism when cache write back buffer is full | |
US10339079B2 (en) | System and method of interleaving data retrieved from first and second buffers | |
US6782454B1 (en) | System and method for pre-fetching for pointer linked data structures | |
TW201944229A (zh) | 記憶體系統及非揮發性記憶體之控制方法 | |
US20150143045A1 (en) | Cache control apparatus and method | |
US11567860B2 (en) | Memory system for updating mapping information | |
CN114051611B (zh) | 用于非连续存储器的dma分散和聚集操作 | |
US20190332540A1 (en) | Storage management method, electronic device and computer readable medium | |
US7680992B1 (en) | Read-modify-write memory with low latency for critical requests | |
CN115470156A (zh) | 基于rdma的内存使用方法、系统、电子设备和存储介质 | |
US7552307B2 (en) | Method for initializing a random access memory | |
US6470403B1 (en) | System for determining status of multiple interlocking FIFO buffer structures based on the position of at least one pointer of each of the multiple FIFO buffers | |
US5895496A (en) | System for an method of efficiently controlling memory accesses in a multiprocessor computer system | |
US6985974B1 (en) | Memory interface controller for a network device | |
CN117859178A (zh) | 用于经由协同方法保护存储器设备的方法和装置 | |
JP3747213B1 (ja) | シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ | |
US10719461B2 (en) | Solid state device with distributed bit buckets | |
CN113254363A (zh) | 具有部分逻辑到物理地址转换表的非易失性存储控制器 | |
KR101939361B1 (ko) | 비휘발성 메모리를 이용한 로깅 방법 | |
USRE38514E1 (en) | System for and method of efficiently controlling memory accesses in a multiprocessor computer system | |
CN112106036A (zh) | 一种交互方法、设备、系统及可读存储介质 | |
US10942860B2 (en) | Computing system and method using bit counter | |
CN112988074B (zh) | 一种存储系统管理软件适配方法及装置 | |
US20240184454A1 (en) | Storage device and operating method of the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061124 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080619 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090929 |