JP2012198895A - メモリコントローラアドレスおよびデータピンの多重化 - Google Patents
メモリコントローラアドレスおよびデータピンの多重化 Download PDFInfo
- Publication number
- JP2012198895A JP2012198895A JP2012062442A JP2012062442A JP2012198895A JP 2012198895 A JP2012198895 A JP 2012198895A JP 2012062442 A JP2012062442 A JP 2012062442A JP 2012062442 A JP2012062442 A JP 2012062442A JP 2012198895 A JP2012198895 A JP 2012198895A
- Authority
- JP
- Japan
- Prior art keywords
- pins
- address
- bits
- memory controller
- memory device
- 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.)
- Pending
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/1668—Details of memory controller
-
- 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
-
- 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/38—Information transfer, e.g. on bus
-
- 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)
- Logic Circuits (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】メモリデバイスと通信するメモリコントローラを構成するためのシステムを提供する。
【解決手段】メモリコントローラは、複数のピンからなる第1のピンのセットを備え、各ピンはデータビットとアドレスビットとのうちの少なくとも一方に関連している。システムは、メモリコントローラの第1のピンのセットに接続されているプログラマブル論理ブロックを備える。プログラマブル論理ブロックは、第1のピンのセットの一部からなる第2のピンのセットを用い、メモリデバイスのサイズにしたがってメモリデバイスとメモリコントローラとの間のデータ転送をイネーブルする。第2のピンのセット以外のピンは、1つ以上の他のアプリケーションに利用可能である。
【選択図】図7
【解決手段】メモリコントローラは、複数のピンからなる第1のピンのセットを備え、各ピンはデータビットとアドレスビットとのうちの少なくとも一方に関連している。システムは、メモリコントローラの第1のピンのセットに接続されているプログラマブル論理ブロックを備える。プログラマブル論理ブロックは、第1のピンのセットの一部からなる第2のピンのセットを用い、メモリデバイスのサイズにしたがってメモリデバイスとメモリコントローラとの間のデータ転送をイネーブルする。第2のピンのセット以外のピンは、1つ以上の他のアプリケーションに利用可能である。
【選択図】図7
Description
本発明はメモリコントローラに関し、より詳細には、メモリコントローラと他の1つ以上のデバイスとの間のデータ転送をイネーブルするべくメモリコントローラを構成するための方法およびシステムに関する。
今日のほとんどのコンピュータシステムでは、通信およびデータ転送用に高機能回路が用いられる。これらのコンピュータシステムは、通常、メモリデバイスとマイクロコントローラ/マイクロプロセッサとの間の通信を管理するためのメモリコントローラを備える。このようなシステムは、通常、プリント回路基板(PCB)を用いて実装されており、そうしたプリント回路基板(PCB)は高効率で小型の回路を有するように設計されている。このように、そうした回路を設計する場合、空間を効率的に利用することが大きな課題である。様々なサイズのアドレス幅およびデータパスや、様々なタイプのメモリは、メモリコントローラには数々のピンが必要である。よって、全体のピンカウントを低く維持するべく、ピンの利用を管理する必要がある。
特許文献1には、アドレス−データの多重化されたバスを用いるマイクロコントローラシステムについて記載されている。ピンカウントを減少させる1つの方法は、メモリコントローラの1つ以上のピンを複数のアプリケーションに対して用いることである。従来のシステムでは、集積回路のピンカウントは、アドレスバスおよびデータバスを多重化することによって減少されている。このようなシステムでは、アドレスビットを搬送する1つ以上のピンは、異なる時間(インターバル)において、または制御信号に基づいて、データビットも搬送する。このようなシステムの1つでは、メモリアドレスの最上位ビット(MSB)を搬送するピンは、データバスに多重化される。ピンは制御信号を用いて多重化され、制御信号がハイ(high)であるとき、アドレスビットが転送され、制御信号がロー(low)であるとき、データビットが転送される。
しかしながら、メモリサイズが減少され、アドレスビットを搬送してメモリデバイスのアドレスを指定するように設計されているすべてのピンが必要ではない場合、利用されていないピンは他のアプリケーションに用いられないので、ピンの利用は効率的でない。
本発明の一実施形態では、メモリデバイスと通信するメモリコントローラを構成するためのシステムを提供する。メモリコントローラは、複数のピンからなる第1のピンのセットを備え、各ピンはデータビット、アドレスビット、またはその両方に関連している。このシステムは、第1のピンのセットの一部を用いてメモリデバイスとメモリコントローラとの間のデータ転送をイネーブルするべく、メモリコントローラの第1のピンのセットに接続されているプログラマブル論理ブロックを備える。ピンは、メモリデバイスのサイズにしたがって、第1のピンのセットの該一部以外のピンが1つ以上の他のアプリケーションに利用可能であるように選択される。
本発明の別の実施形態では、メモリデバイスと通信するためのメモリコントローラを構成するためのシステムを提供する。メモリコントローラは、複数のピンからなる第1のピンのセットを備え、各ピンはデータビット、アドレスビット、またはその両方に関連している。このシステムは、第1のピンのセットの一部を選択してメモリデバイスとメモリコントローラとの間のデータ転送をイネーブルするべく、メモリコントローラの第1のピンのセットに接続されているプログラマブル論理ブロックを備える。この一部の選択は、メモリデバイスのサイズにしたがってメモリコントローラの第1のピンのセットのピンの間で1つ以上のアドレスビットを再編成することによって行われる。プログラマブル論理ブロックには、該一部のピンのうちの複数のピンにおいてアドレスおよびデータビットを多重化し、メモリデバイスとメモリコントローラとの間でアドレスおよびデータビットを転送するためのラッチが接続されている。
本発明の別のさらなる実施形態では、メモリデバイスと通信するためのメモリコントローラを構成するための方法を提供する。メモリコントローラは、複数のピンからなる第1のピンのセットを備え、各ピンはデータビットとアドレスビットとのうちの少なくとも一方に関連している。この方法は、メモリデバイスとメモリコントローラとの間のデータ転送をイネーブルするべく、第1のピンのセットの一部を選択する工程を備える。この一部の選択は、メモリデバイスのサイズにしたがってメモリコントローラの第1のピンのセットのピンの間でアドレスビットを再編成することによって行われる。この方法は、メモリデバイスとメモリコントローラとの間でアドレスおよびデータビットを転送するべく、前記第2のピンのセットの複数のピンにおいてアドレスビットおよびデータビットを多重化する工程をさらに備える。
本発明では、メモリコントローラを構成するためのシステムを提供する。メモリコントローラは、所与の時間においてアドレスビットとデータビットとのうちの1つを送信する複数のピンを備える。複数のピンのうちの一部のピンのセットは、メモリデバイスと通信するために用いられることが可能である。本発明について、以下では、最大4ギガバイトのメモリのアドレスを指定する(32アドレスビットを必要とする)ために用いられることの可能なメモリコントローラに関連して記載する。この場合、4GBのメモリデバイスがメモリコントローラに接続される場合、メモリコントローラのピンのセットの32個のピンすべてがメモリデバイスと通信するために用いられる。当業者には認められるように、本発明は他のサイズのメモリデバイスに適用可能であり、4GBのメモリデバイスに特定している記載は例示的なものである。
図1は、メモリコントローラ102と8メガバイトメモリデバイス104とのインタフェースを行うための従来のシステム100を示す概略的なブロック図である。システム100は、メモリコントローラ102、メモリデバイス104、およびラッチ106を備える。メモリコントローラ102は、アドレスビットおよびデータビットのうちの少なくとも一方を運ぶ32個のピン、AD0−AD15,A16−A31を備える。ピン番号AD0〜AD15に相当する16個の最上位ビット(MSB)は、ラッチ106を通じて多重化されており、制御ピンによって提供される制御信号に基づきデータビットおよびアドレスビットのうちの一方を含む。制御信号がハイであるとき、ピンAD0〜AD15はアドレスビットを運び、制御信号がローであるとき、ピンAD0〜AD15を通じてデータビットが送信される。メモリコントローラ102のピンA16〜A31(A16−A31)は、メモリデバイス104についてのみアドレス最下位ビット(LSB)を運ぶ。当業者には、8MBメモリデバイス104にはアドレス指定のために23ビットが必要であることが理解される。よって、必要なアドレスビット(23個のLSB)を運ぶためにピンAD9−AD15,A16−A31のみが用いられ、ピンAD0−AD8(9個のMSBに相当)は用いられない。用いられていないピンAD0−AD8は他のアプリケーションに用いられることは不可能なので、これによって相当な量のスペースの損失が生じる。
図2は、本発明の一実施形態によるメモリコントローラ102とメモリデバイス104とのインタフェースを行うためのシステム200を示す概略的なブロック図である。システム200は、システム・オン・チップ(SoC)202と、図1のメモリデバイス104およびラッチ106とを備える。SoC202は、メモリコントローラ102およびプログラマブル論理ブロック204をさらに備える。SoC202は、複数のピンを通じてメモリデバイス104に接続されている。本発明の一実施形態では、プログラマブル論理ブロック204はメモリコントローラ102の32個のピンに接続されている。プログラマブル論理ブロック204は、32個のピンからなるセットから、8MBメモリデバイス104と通信するために用いられる複数のピン(ピンのサブセット)を選択する。本発明の一実施形態では、このサブセットは、8MBメモリデバイス104と通信するための23個のピンを含む。
メモリコントローラ102は、ピンAD0−AD15,A16〜A31を通じて1つ以上のアドレスビットをプログラマブル論理ブロック204に送信する。プログラマブル論理ブロック204では、メモリデバイス104と通信するために用いられる23個のピンのサブセットを選択するべく、ビットは再編成される。プログラマブル論理ブロック204によるアドレスビットの再編成については、図3〜6に関連してより詳細に記載する。本発明の一実施形態では、ピンAD0〜AD15(AD0−AD15)に相当する16個の最上位ビット(MSB)はラッチ106を通じて多重化され、制御信号に基づき、データビットおよびアドレスビットの両方が送信される。制御信号がハイであるとき、ピンAD0−AD15はアドレスビットを運び、制御信号がローであるとき、ピンAD0−AD15を通じてデータビットが運ばれる。さらに、23個のピンのうちの選択されるサブセットに基づき、ピンA25〜A31(A25−A31)がアドレスLSBを運び、ピンA16〜A24(A16−A24)は他の1つ以上のアプリケーションに自由に用いられることができる。本発明の異なる実施形態では、この他の1つ以上のアプリケーションは、別のメモリデバイスとの通信およびI/Oデバイスとの通信を含む。
1つ以上のピンによって運ばれる特定のビットを割り当てる目的で、アドレスビットがプログラマブル論理ブロック204によって再編成される。本発明の1つの実施形態では、ビットは、メモリデバイス104と通信するために選択されるピンのサブセットにおける複数のビットを左にシフトすることによって再編成される。本発明の第2の実施形態では、ビットは、メモリデバイス104と通信するために選択されるピンのサブセットにおける複数のビットを右にシフトすることによって再編成される。
図3Aには、本発明によるSoC202のメモリコントローラ102のピンに相当するアドレスビットの構成を示す。アドレスのMSBに相当するピンは、転送されるデータビットのピンにラッチされている。アドレスビットのセットの16個のMSBは、アドレスビットおよびデータビットの両方を運ぶように設計されているので、それらをピンAD0−AD15に相当するように示している。さらに、図3Aの16個のLSBは、アドレスのみのビットであり、ピンA16−A31に相当するように示す。メモリコントローラ102は8MBメモリデバイス104と通信するので、アドレス情報を運ぶために23ビットのみが利用される。図3Aに示すように、この23ビットはSoC202の32個のアドレスビットからなる完全なセットのLSBであり、ピンA16−A31に相当するように示している。さらに、アドレス−データの多重化されているピンではビットのうちの7個のみが用いられており、メモリデバイス104と通信するために直接的に用いられる場合、アドレス−データの多重化されているピンの非効率的な利用が生じる。これは、図3AのピンAD9−AD15に相当する。しかしながら、この段階では、アドレス−データの多重化されているピンの部分的な利用が存在する。これは、プログラマブル論理ブロック204を使用する次の段階において改良される。
図3Bには、本発明の一実施形態によるSoC202の出力のピンに相当するアドレスビットの構成を示す。ピンAD0−AD15,A16−A31に相当するアドレスビットはプログラマブル論理ブロック204によって再編成されており、アドレス−データの多重化されているピンは、メモリコントローラ102とメモリデバイス104との間の通信において有効に利用される。図3Bに示すように、アドレスビットは図3Aに示すように16個のMSBを左にシフトすることによって再編成され、アドレス−データの多重化されているピンAD0−AD15は有効なアドレス情報を送信し、有効に利用される。7個のLSBは、それらの元の位置(A25−A31)に留まる。
図4は、本発明の一実施形態によるプログラマブル論理ブロック204の概略的なブロック図である。図2に関連して既に説明したように、メモリコントローラ102のピンに相当するビットは、8MBメモリデバイス104との通信のために用いられる23個のピンのサブセットを選択するべく再編成される。本発明の一実施形態では、この再編成は、プログラマブル論理ブロック204によって複数の所望のビットを左にシフトすることによって行われる。図4では、プログラマブル論理ブロック204は、アドレス左シフトブロック402および第1マルチプレクサ404を備える。図4のシステムは、第2のマルチプレクサ406およびラッチ106をさらに備える。本発明の一実施形態では、プログラマブル論理ブロック204の左シフトブロック402および第1マルチプレクサ404は、1つ以上のアプリケーションと通信するためのピンの第2のサブセットを選択するためのセレクタとして機能する。プログラマブル論理ブロック204は、23個のピンのサブセットのうちの複数のビットを所定のカウントだけ左にシフトするように予めプログラムされている。例えば、図3の例では、ビットAD9−AD24は、所定のカウントである9だけ左にシフトされる(8MBメモリデバイスを実装する場合、9個の使用されてないピンが存在するので)。これによってピンA16−A24を解放して、別のメモリデバイスのアドレス指定、またはI/Oデバイスとの通信など、他の1つ以上のアプリケーションに用いることが可能である。
メモリコントローラ102の32個のアドレスビット(アドレスビット[0−31]として表す)は、アドレス左シフトブロック402によって受け取られ、アドレス左シフトブロック402は所定のカウントである9だけ複数の所望のビットを左にシフトする。左にシフトされたビットはすべてピンAD0−AD16を通じて送信され、アドレスおよびデータビットの両方を運ぶように多重化される。左にシフトされたビットは第2のマルチプレクサ406に提供され、この第2のマルチプレクサ406は左にシフトされたアドレスビットおよびデータビットを多重化する。第2のマルチプレクサ406は、アドレス・ラッチ・イネーブル信号(ALE)がハイであるとき、この左にシフトされたアドレスビットを出力する。本発明の一実施形態では、ラッチ106は外部ラッチである。ラッチ106は、マルチプレクサ406の出力に設けられ、ALEがハイであるとき、左にシフトされたアドレスビットのラッチを行う。マルチプレクサ406およびラッチ106の両方がALE信号を受信する。アドレス左シフトブロック402によってシフトされないアドレスビットは、図4のアドレス出力ピンに直接出力される。
図5Aには、本発明によるSoC202のメモリコントローラ102のピンに相当するアドレスビットの構成を示す。アドレスのMSBに相当するピンは、転送されるデータビットを運ぶピンにラッチされている。図5Aの16個のLSBは、アドレスのみのビットであり、ピンA16−A31に相当するように示す。メモリコントローラ102は8MBメモリデバイス104と通信するので、アドレス情報を運ぶために23ビットのみが利用される。アドレスビットのセットの7個のMSBは、アドレスビットおよびデータビットの両方を運ぶように設計されているので、それらをピンAD9−AD15に相当するように示している。さらに、ピンAD0−AD8に相当する残りの9個のアドレスのMSBもデータビットと多重化されるが、しかしながら、それらのピンは関連するアドレス情報を運ばず、他のピンを他のアプリケーションにおける使用のために解放するべく用いられることが可能である。これは次の段階で実行され、メモリコントローラ102のピンに相当するビットはプログラマブル論理ブロック204によって再編成され、それらのピンは他のアプリケーションに用いられることができる。
図5Bには、本発明の別の実施形態によるSoC202の出力のピンに相当するアドレスビットの構成を示す。ピンAD0−AD15,A16−A31に相当するアドレスビットは再編成されており、アドレス−データの多重化されているピンは、メモリコントローラ102とメモリデバイス104との間の通信において有効に利用される。図5Bに示すように、ビットは、図5Aの7個のアドレスのMSB(AD9−A15)を図5BのMSB(A25−A31)に相当するピンまで右にシフトすることによって、再編成される。さらに、次の16個のアドレスビットA16−A31は、LSBのAD0−AD16まで左にシフトされ、ビットA16−A24に相当するピンが解放される。
図6は、本発明の一実施形態によるプログラマブル論理ブロック204の概略的なブロック図である。図2に関連して既に説明したように、メモリコントローラ102のピンに相当するビットは、8MBメモリデバイス104との通信のために用いられる23個のピンのサブセットを選択するべく再編成される。本発明の一実施形態では、この再編成は、プログラマブル論理ブロック204によって複数の所望のビットを右にシフトすることによって行われる。プログラマブル論理ブロック204は、アドレス右シフトブロック602、第1のマルチプレクサ604、およびアドレス左シフトブロック606を備える。図4のシステムは、第2のマルチプレクサ608およびラッチ106をさらに備える。本発明の一実施形態では、右シフトブロック602、第1のマルチプレクサ604、および左シフトブロック606は、1つ以上のアプリケーションと通信するためのピンの第2のサブセットを選択するためのセレクタとして機能する。プログラマブル論理ブロック204は、23個のピンのサブセットのうちの複数のビットを所定のカウントだけ右にシフトするように予めプログラムされている。例えば、図5Aの例では、ビットAD0−AD6は、所定のカウントだけ右の方にシフトされる。本発明の一実施形態では、この所定のカウントは、アドレスのMSBがレジスタ空間AD0−AD31のインデックス31に整合されるようなものである。図5Bに示した実施形態では、ビットAD9−AD15は、所定のカウントである16だけ右にシフトされる。さらに、左シフトブロック606は、残りのアドレスビットA16−A31を左にシフトし、それらのビットはビットAD0−AD15として再編成される。これによってピンA16−A24を解放して、別のメモリデバイスのアドレス指定、またはI/Oデバイスとの通信など、他の1つ以上のアプリケーションに用いることが可能である。
32個のアドレスビット(アドレスビット[0−31]として表す)は、アドレス右シフトブロック602によって受け取られ、アドレス右シフトブロック602は所定のカウントである16だけ複数の所望のビットを右にシフトし、アドレスのMSBをインデックス31に整合させる。右にシフトされたビットは、次いで、第1のマルチプレクサ604を通じてアドレス出力(Address out)ピンに提供される。右シフトされていないビットのうちの第2のビットの組(例えば、図5AのA16−A31)は、左シフトブロック608によって左シフトされ、この左にシフトされたビットは図5BのLSB、AD0−A15を占める。この左にシフトされたビットは、次いで、第2のマルチプレクサ608を通じてラッチ106に提供される。ラッチ106は、図6のアドレスビット[0−31]のうちの左にシフトされたアドレスビットと、図6のデータビット[0−31]によって表されるデータビットとのラッチを行う。本発明の一実施形態では、ラッチ106は外部ラッチである。このラッチは、アドレス・ラッチ・イネーブル信号(ALE)に関連して行われる。ALEがハイであるとき、第2のマルチプレクサ608はラッチ106によってラッチされたアドレスビットを出力し、ALEがローであるとき、第2のマルチプレクサ608はデータビット[0−31]を出力する。 図7は、本発明の一実施形態によるメモリコントローラを構成するための方法を示すフローチャート700である。フローチャート700は図2に関連して記載されている。ステップ702において、メモリコントローラ102とメモリデバイス104との間のデータ転送をイネーブルするべく、ICデバイスにおける複数のピンからなるピンのセットからサブセットが選択される。これは、プログラマブル論理ブロック204がSoC202の出力ピンのセットの間でアドレスビットを再編成することによって行われる。ステップ704において、メモリコントローラ102とメモリデバイス104との間の通信が、所定の複数のピンにおけるアドレスおよびデータビットを多重化することによってイネーブルされる。ここで、この所定の複数のピンは、メモリコントローラ102とメモリデバイスとの間の通信用に選択されるピンのサブセットに属する。
上述の方法およびシステムには数々の利点が存在する。この方法は、アドレスとデータビットとの間で最大数のピンの共有を可能とするように実装される。さらに、この同じピンのセットは、別のメモリデバイスとの通信や、入力/出力デバイスとの通信など、1つ以上のアプリケーションにおいて利用されてもよい。これによって、改良された低コストかつ空間を効率的に利用したICデバイスが得られる。さらに、本発明によって、ピンの数が極めて限られているローエンドおよび超ローエンドのSOCに付加価値を与えるように用いられることが可能である。プログラマブル論理ブロックは、メモリデバイスのサイズに応じて使用されていないピンを解放するようにプログラムされてもよい。また、本発明を用いてピンの数を部分的に減少させることができるので、それによって、低コスト、低電力のシステム設計が可能となる。
Claims (20)
- メモリデバイスと通信するメモリコントローラを構成するためのシステムであって、メモリコントローラは、複数のピンからなる第1のピンのセットを備え、各ピンはデータビットとアドレスビットとのうちの少なくとも一方に関連しており、
前記システムは、
前記メモリコントローラの第1のピンのセットに接続されているプログラマブル論理ブロックを備え、プログラマブル論理ブロックは、第1のピンのセットの一部からなる第2のピンのセットを用い、メモリデバイスのサイズにしたがってメモリデバイスとメモリコントローラとの間のデータ転送をイネーブルし、前記第2のピンのセット以外のピンは、1つ以上の他のアプリケーションに利用可能である、システム。 - プログラマブル論理ブロックとメモリデバイスとの間に接続されているラッチをさらに備え、ラッチは、メモリデバイスとメモリコントローラとの間でアドレスおよびデータビットを転送するべく、前記第2のピンのセットの複数のピンにおける多重化されたアドレスおよびデータビットのラッチを行う、請求項1に記載のシステム。
- プログラマブル論理ブロックは、メモリコントローラの第1のピンのセットのピンの間で1つ以上のアドレスビットを再編成するためのアドレス・シフト・ブロックを備え、再編成は、
メモリデバイスのサイズにしたがって前記1つ以上のアドレスビットを左シフトするステップと、
メモリデバイスのサイズにしたがって前記1つ以上のアドレスビットを右シフトするステップと、のうちの少なくとも一方によって行われる、請求項1に記載のシステム。 - 前記1つ以上の他のアプリケーションは、別のメモリデバイスとの通信を含む、請求項1に記載のシステム。
- 前記1つ以上の他のアプリケーションは、入力/出力デバイスとの通信を含む、請求項1に記載のシステム。
- メモリデバイスと通信するのに適切なメモリコントローラを構成するためのシステムであって、メモリコントローラは、複数のピンからなる第1のピンのセットを備え、各ピンはデータビットとアドレスビットとのうちの少なくとも一方に関連しており、
前記システムは、
前記メモリコントローラの第1のピンのセットに接続されているプログラマブル論理ブロックであって、第1のピンのセットの一部からなる第2のピンのセットを選択し、メモリデバイスのサイズにしたがってメモリデバイスとメモリコントローラとの間のデータ転送をイネーブルし、第2のピンのセットの選択は、メモリデバイスのサイズにしたがってメモリコントローラの第1のピンのセットのピンの間で1つ以上のアドレスビットを再編成することによって行われる、プログラマブル論理ブロックと、
プログラマブル論理ブロックに接続されており、アドレスおよびデータビットを多重化するためのマルチプレクサと、
マルチプレクサとメモリデバイスとの間に接続されているラッチであって、メモリデバイスとメモリコントローラとの間でアドレスおよびデータビットを転送するべく、前記第2のピンのセットの複数のピンにおける多重化されたアドレスおよびデータビットのラッチを行う、ラッチと、を備える、システム。 - ラッチおよびマルチプレクサの各々は、アドレスおよびデータビットの多重化を示す制御信号を受信するための制御ピンを備え、制御信号はアドレスビットおよびデータビットのうちの1つの転送を示す、請求項6に記載のシステム。
- 複数のピンにおけるアドレスおよびデータビットの多重化は、アドレスビットの1つ以上の最上位ビット(MSB)をデータビットに多重化することを含む、請求項7に記載のシステム。
- 複数のピンにおけるアドレスおよびデータビットの多重化は、アドレスビットの1つ以上の最下位ビット(LSB)をデータビットに多重化することを含む、請求項7に記載のシステム。
- プログラマブル論理ブロックは、メモリデバイスのサイズにしたがって前記1つ以上のアドレスビットを左シフトすることによってメモリコントローラの第1のピンのセットのピンの間で1つ以上のアドレスビットを再編成するためのアドレス・シフト・ブロックを備える、請求項6に記載のシステム。
- プログラマブル論理ブロックは、メモリデバイスのサイズにしたがって前記1つ以上のアドレスビットを右シフトすることによってメモリコントローラの第1のピンのセットのピンの間で1つ以上のアドレスビットを再編成するためのアドレス・シフト・ブロックを備える、請求項6に記載のシステム。
- プログラマブル論理ブロックは、1つ以上の他のアプリケーションと通信するための第1のピンのセットの一部からなる第3のピンのセットを選択するためのセレクタを備え、通信は再編成されたアドレスビットのうちの残りのアドレスビットを用いて実行され、該残りのアドレスビットは第3のピンのセットに相当する、請求項6に記載のシステム。
- メモリデバイスと通信するメモリコントローラを構成するための方法であって、メモリコントローラは、複数のピンからなる第1のピンのセットを備え、各ピンはデータビットとアドレスビットとのうちの少なくとも一方に関連しており、前記方法は、
メモリデバイスとメモリコントローラとの間のデータ転送をイネーブルするべく、第1のピンのセットの一部からなる第2のピンのセットを選択する工程であって、第2のピンのセットの選択は、メモリデバイスのサイズにしたがってメモリコントローラの第1のピンのセットのピンの間でアドレスビットを再編成することによって行われる、前記工程と、
メモリデバイスとメモリコントローラとの間でアドレスおよびデータビットを転送するべく、前記第2のピンのセットの複数のピンにおいてアドレスビットおよびデータビットを多重化する工程と、を備える方法。 - アドレスおよびデータビットの多重化は、アドレスビットおよびデータビットのうちの1つの転送を示す制御信号によって制御される、請求項13に記載の方法。
- 複数のピンにおけるアドレスおよびデータビットの多重化は、アドレスビットの1つ以上の最上位ビット(MSB)をデータビットに多重化することを含む、請求項13に記載の方法。
- 複数のピンにおけるアドレスおよびデータビットの多重化は、アドレスビットの1つ以上の最下位ビット(LSB)をデータビットに多重化することを含む、請求項13に記載の方法。
- メモリコントローラの第1のピンのセットのピンの間でアドレスビットを再編成することは、メモリデバイスのサイズにしたがって1つ以上のアドレスビットを左シフトすることを含む、請求項13に記載の方法。
- メモリコントローラの第1のピンのセットのピンの間でアドレスビットを再編成することは、メモリデバイスのサイズにしたがって1つ以上のアドレスビットを右シフトすることを含む、請求項13に記載の方法。
- メモリデバイスとメモリコントローラとの間のデータ転送は、メモリデバイスからデータを読み取ることを含む、請求項13に記載の方法。
- メモリデバイスとメモリコントローラとの間のデータ転送は、メモリコントローラからメモリデバイスにデータを書き込むことを含む、請求項13に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/050,948 US8321649B2 (en) | 2011-03-18 | 2011-03-18 | Memory controller address and data pin multiplexing |
US13/050,948 | 2011-03-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012198895A true JP2012198895A (ja) | 2012-10-18 |
Family
ID=45874718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012062442A Pending JP2012198895A (ja) | 2011-03-18 | 2012-03-19 | メモリコントローラアドレスおよびデータピンの多重化 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8321649B2 (ja) |
EP (1) | EP2500827A3 (ja) |
JP (1) | JP2012198895A (ja) |
KR (1) | KR20120106639A (ja) |
CN (1) | CN102693196B (ja) |
TW (1) | TW201239890A (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2973571B1 (en) | 2013-03-15 | 2020-04-22 | Intel Corporation | A memory system |
KR20140134797A (ko) * | 2013-05-14 | 2014-11-25 | 에스케이하이닉스 주식회사 | 반도체 장치 및 이의 동작 방법 |
CN103246625B (zh) * | 2013-05-24 | 2016-03-30 | 北京大学 | 一种数据与地址共用引脚自适应调整访存粒度的方法 |
US9542251B2 (en) * | 2013-10-30 | 2017-01-10 | Oracle International Corporation | Error detection on a low pin count bus |
US10620881B2 (en) * | 2018-04-23 | 2020-04-14 | Microchip Technology Incorporated | Access to DRAM through a reuse of pins |
CN114341828B (zh) * | 2019-08-23 | 2024-05-07 | 美光科技公司 | 存储器系统的动态通道映射 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4675808A (en) | 1983-08-08 | 1987-06-23 | American Telephone And Telegraph Company At&T Bell Laboratories | Multiplexed-address interface for addressing memories of various sizes |
US5014191A (en) * | 1988-05-02 | 1991-05-07 | Padgaonkar Ajay J | Security for digital signal processor program memory |
DE69034165T2 (de) * | 1990-07-20 | 2005-09-22 | Infineon Technologies Ag | Mikroprozessor mit einer Vielzahl von Buskonfigurationen |
US5537353A (en) * | 1995-08-31 | 1996-07-16 | Cirrus Logic, Inc. | Low pin count-wide memory devices and systems and methods using the same |
US5652847A (en) * | 1995-12-15 | 1997-07-29 | Padwekar; Kiran A. | Circuit and system for multiplexing data and a portion of an address on a bus |
TWI240864B (en) * | 2001-06-13 | 2005-10-01 | Hitachi Ltd | Memory device |
US7058778B2 (en) | 2001-08-30 | 2006-06-06 | Micron Technology, Inc. | Memory controllers having pins with selectable functionality |
US7136883B2 (en) * | 2001-09-08 | 2006-11-14 | Siemens Medial Solutions Health Services Corporation | System for managing object storage and retrieval in partitioned storage media |
TWI252406B (en) | 2001-11-06 | 2006-04-01 | Mediatek Inc | Memory access interface and access method for a microcontroller system |
US7437497B2 (en) | 2004-08-23 | 2008-10-14 | Apple Inc. | Method and apparatus for encoding memory control signals to reduce pin count |
US7493467B2 (en) | 2005-12-16 | 2009-02-17 | Intel Corporation | Address scrambling to simplify memory controller's address output multiplexer |
JP4814119B2 (ja) * | 2007-02-16 | 2011-11-16 | 株式会社日立製作所 | 計算機システム、ストレージ管理サーバ、及びデータ移行方法 |
US7617354B2 (en) * | 2007-03-08 | 2009-11-10 | Qimonda North America Corp. | Abbreviated burst data transfers for semiconductor memory |
US8407403B2 (en) * | 2009-12-07 | 2013-03-26 | Microsoft Corporation | Extending SSD lifetime using hybrid storage |
-
2011
- 2011-03-18 US US13/050,948 patent/US8321649B2/en not_active Expired - Fee Related
-
2012
- 2012-01-16 TW TW101101634A patent/TW201239890A/zh unknown
- 2012-02-21 CN CN201210040831.2A patent/CN102693196B/zh not_active Expired - Fee Related
- 2012-03-16 KR KR1020120027036A patent/KR20120106639A/ko not_active Application Discontinuation
- 2012-03-16 EP EP12159961.7A patent/EP2500827A3/en not_active Withdrawn
- 2012-03-19 JP JP2012062442A patent/JP2012198895A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US20120239900A1 (en) | 2012-09-20 |
EP2500827A2 (en) | 2012-09-19 |
KR20120106639A (ko) | 2012-09-26 |
EP2500827A3 (en) | 2014-07-02 |
US8321649B2 (en) | 2012-11-27 |
CN102693196A (zh) | 2012-09-26 |
CN102693196B (zh) | 2017-06-09 |
TW201239890A (en) | 2012-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210055940A1 (en) | Efficient Configuration Of A Reconfigurable Data Processor | |
US11188497B2 (en) | Configuration unload of a reconfigurable data processor | |
JP2012198895A (ja) | メモリコントローラアドレスおよびデータピンの多重化 | |
CN105359120B (zh) | 使用双phy来支持多个pcie链路宽度的存储器和控制器 | |
CN102339267B (zh) | I2c地址转换 | |
US10817443B2 (en) | Configurable interface card | |
CN100568187C (zh) | 一种用于对调试消息进行掩码的方法和装置 | |
CN108227613A (zh) | 电子装置及其操作方法 | |
JP4034738B2 (ja) | データマスクマッピング情報取得方法 | |
KR20140009586A (ko) | 직렬로 상호접속된 장치들에 대한 id 생성 기기 및 방법 | |
CN104424154A (zh) | 通用串行外围接口 | |
US20090125659A1 (en) | Inter-Integrated Circuit (12C) Slave with Read/Write Access to Random Access Memory | |
CN111309665A (zh) | 并行写操作、读操作控制系统及方法 | |
JP2006507555A (ja) | コントローラプログラミングによるハードウェアへのデータマスクマッピング | |
CN107403642A (zh) | 有源随机存取存储器 | |
AU649176B2 (en) | Parallel data processing control system | |
CN108694140A (zh) | 用于寻址i2c总线上的非易失性存储器的方法和对应的存储器设备 | |
CN111694513A (zh) | 包括循环指令存储器队列的存储器器件和方法 | |
GB2430779A (en) | An interface that enables fast read and write access to a scan-chain | |
CN101351770B (zh) | 从装置和主装置、包含这些装置的系统和从装置操作方法 | |
JP2008040575A (ja) | シリアルデータ転送装置及びシリアルデータ転送方法 | |
CN103365789B (zh) | 数据存储装置和flash存储装置的块删除块写入方法 | |
JP4892970B2 (ja) | 電子回路及びプログラマブル論理デバイスの使用方法 | |
JP2006303730A (ja) | 半導体集積回路装置および半導体集積回路装置の設計装置 | |
CN106940684A (zh) | 一种按比特写数据的方法及装置 |