JP2021089703A - Socモジュール - Google Patents

Socモジュール Download PDF

Info

Publication number
JP2021089703A
JP2021089703A JP2020076192A JP2020076192A JP2021089703A JP 2021089703 A JP2021089703 A JP 2021089703A JP 2020076192 A JP2020076192 A JP 2020076192A JP 2020076192 A JP2020076192 A JP 2020076192A JP 2021089703 A JP2021089703 A JP 2021089703A
Authority
JP
Japan
Prior art keywords
dram
microprocessor
data
soc module
cache unit
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.)
Granted
Application number
JP2020076192A
Other languages
English (en)
Other versions
JP6936528B2 (ja
Inventor
崇仁 黄
Chung-Jen Huang
崇仁 黄
永成 蘇
Yung Cheng Su
永成 蘇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SYNTRONIX CORP
Original Assignee
SYNTRONIX CORP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SYNTRONIX CORP filed Critical SYNTRONIX CORP
Publication of JP2021089703A publication Critical patent/JP2021089703A/ja
Application granted granted Critical
Publication of JP6936528B2 publication Critical patent/JP6936528B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/84Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Databases & Information Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Abstract

【課題】DRAMコントローラーに対応のラインキャッシュユニットを設けることで、操作する時に余分なDRAMの書き込み及びを読み取りを減少できるSOCモジュールを提供する。【解決手段】余分なメモリアクセスを避けるSOCモジュール200は、少なくとも1つのマイクロプロセッサ202、DRAM204及びDRAMコントローラー206を有する。DRAMは、マイクロプロセッサと統合してSOCモジュールに形成される。DRAMコントローラーは、マイクロプロセッサ及びDRAMに電気的に接続され、少なくとも1つのラインキャッシュユニット208を有する。各マイクロプロセッサは、それぞれ対応のラインキャッシュユニットによってDRAMに対して読み取りまたは書き込みを行う。【選択図】図2

Description

本発明は、SOCモジュール、特にDRAMコントローラーに対応のラインキャッシュユニットを設けることで、操作する時に余分なメモリアクセスを有効に避けられるSOCモジュールに関する。
DRAM(Dynamic Random Access Memory、DRAM)は、半導体メモリ体の1種であり、その原理としては、コンデンサに電荷を蓄え、この電荷量によって1つのビット(bit)が1又は0を示す。トランジスタは、その実際の応用において、必ずリーク電流の現象が起きるため、コンデンサに蓄えた電荷量によってデータを正しく判断できない場合がある。そのため、DRAMを定期的に充電する必要がある。DRAMは、このような定期的にリフレッシュする特性によって、「動的(ダイナミック)」メモリと呼ばれる。それに対し、SRAM(Static Random Access Memory、SRAM)は、一旦データを保存すると、リフレッシュをしなくても情報喪失のリスクがない。
SRAMと比べ、DRAMは、1つのビットのデータに対して1つのコンデンサ及び1つのトランジスタによって処理できるため、構造が簡単で、複雑さが低い等の利点を有する。また、DRAMは、非常に高い密度を有し、且つ単位体積あたりの容量値が大きいため、そのコストが低い。一方、DRAMは、アクセス速度が遅く、消費電力が高い等の欠点を有する。本発明の図1は、従来のSOCとDRAMの間にデータ転送を行う状態を示す模式図である。図1に示すように、SOC10からデータをDRAMチップ12に転送する時に、プロセッサー11は、まず、データをSOC10の内部のSRAM13に保持し、そして、DRAMコントローラー15及びその標準インターフェース20によって、SRAM13に保存されるデータをブロック転送(block transfer)でDRAMチップ12に転送する。
同じように、プロセッサー11は、DRAMチップ12のデータを読み取る場合、データをDRAMチップ12からSRAM13に転送し、さらにプロセッサー11に転送する。しかしながら、ローエンドのプロセッサーは、普通、そのシステムバス(system bus)30の幅がDRAMチップ12のデータバス(data bus)よりも小さく、即ち、その標準インターフェース20の幅よりも小さい。また、プロセッサー11がそのままプログラムをDRAMで実行する場合、不適切なインターフェース及び操作によって余分なDRAMアクセスが生じるため、不要な遅延となる。例えば、プロセッサー11がSRAM13から1つの32ビット幅のデータをアクセスし、且つ前記データがSRAM13に保存されるのではなく、DRAMチップ12に保存される場合、DRAMコントローラー15及びその標準インターフェース20によってDRAMチップ12にリクエスト(request)を提出する必要がある。また、毎回のリクエスト数は、1つの32ビットのみではなく、普通、1つのブロック(block)を単位とする。プロセッサー11は、前記データをフェッチ(fetch)してから、SRAM13に保存されない次のデータをフェッチする必要がある。その場合予想できるのは、DRAMコントローラー15は、もう1つのブロックのデータを転送しなければならない。その場合、余分なDRAMアクセスが生じる問題が生じる。
前記内容に鑑みて、本発明者は、長年の関連経験に基づいて、上記欠点について鋭意検討を重ねた結果、新規且つ上記欠点を改善できる本発明を完成させた。本発明は、余分なメモリアクセスを有効に避けるSOCモジュールに関する。以下、その具体的な構造及び実施の形態を詳しく説明する。
従来技術の問題を解決するために、本発明の目的は、余分なDRAMの書き込み及び読み取りを減少できるSOCモジュールを提供する。従来技術と比べて、前記新規なSOCの構造を利用すると、優れたデータアクセスの品質、効率を有し、且つシステムの複雑さ及びコストを改善できる。
本発明のもう1つの目的は、余分なメモリアクセスを避けるSOCモジュールを提供する。DRAMコントローラーにラインキャッシュユニットを設けることで、マイクロプロセッサは、従来のSRAMからアクセスではなく、前記ラインキャッシュユニットによってそのままDRAMからアクセスできる。また、データアクセス速度が従来の方法と同じ程度であるが、システムのコスト及び複雑さを大幅に低減、改善できる。
本発明のもう1つの目的は、DRAM及びマイクロプロセッサを統合してSOCモジュールに形成する構造を提供する。同じ論理回路及びアナログ回路プロセスによって統合され、且つ前記SOCに形成されることで、それらを有効に統合できる。そのため、産業上の利用可能性を有する。
上記目的に基づいて、本発明は、少なくとも1つのマイクロプロセッサ、DRAM、及びDRAMコントローラーを有する余分なメモリアクセスを避けるSOCモジュールを提供する。前記DRAMは、前記少なくとも1つのマイクロプロセッサと統合して前記SOCモジュールに形成される。前記DRAMコントローラーは、前記少なくとも1つのマイクロプロセッサ及びDRAMに電気的に接続され、且つ少なくとも1つのラインキャッシュユニットを有する。各前記ラインキャッシュユニットは、各前記マイクロプロセッサに対応して設けられる。各前記マイクロプロセッサは、それぞれ対応の各前記ラインキャッシュユニットによって前記DRAMに対して読み取りまたは書き込みを行う。
そのうち、本発明の1つの実施例において、前記SOCモジュールが複数の前記マイクロプロセッサを有する場合、前記DRAMコントローラーは、前記複数の前記マイクロプロセッサに対応して設けられる複数の前記ラインキャッシュユニットを有する。本実施例において、DRAMコントローラーは、アクセスアービトレータを更に有する。前記アクセスアービトレータは、各前記ラインキャッシュユニットに電気的に接続され、前記マイクロプロセッサの内の、前記DRAMに対して読み取りまたは書き込みを行う1つのマイクロプロセッサを設定する。
そのうち、マイクロプロセッサが前記DRAMを読み取って、且つラインキャッシュユニットに保存されるデータが前回読み取ったラインデータではない場合、マイクロプロセッサは、DRAMコントローラーによってDRAMから1つの新しいラインデータを読み取ると命令する。前記新しいラインデータは、ラインキャッシュユニットに保存され、マイクロプロセッサによって読み取られる。それと同時に、前記マイクロプロセッサは、前記新しいラインデータの読み取りアドレスをマークする。
また、マイクロプロセッサによってデータをDRAMに書き込み、且つ前記データのアドレス及び前回のデータのアドレスが同じである場合、マイクロプロセッサは、前記データをそのままラインキャッシュユニットに保存し、且つDRAMに書き込む。
なお、前記データのアドレス及び前回のデータのアドレスが異なる場合、マイクロプロセッサは、まず、DRAMに対して読み取りを行い、読み込んで更新してから、DRAMに書き込むことができるように前記データをラインキャッシュユニットに保存する。
前記のように、本発明によれば、マイクロプロセッサは、従来のようにブロック全体のデータ転送を待つ必要がなく、それぞれのデータのアドレスに対して操作を行う。そのため、従来の余分なメモリアクセスの問題を解決できる。
以下、具体的な実施例及び図面を開示しながら本発明の目的、技術内容、特徴及びその効果を説明する。
従来のSOCとDRAMの間にデータ転送を行う状態を示す模式図である。 本発明の実施例の余分なメモリアクセスを避けるSOCモジュールを示すシステム構造図である。 本発明の図2実施例のSOCモジュールが読み取り操作を行う状況を示す工程フローチャートである。 本発明の図2実施例のSOCモジュールが書き込み操作を行う状況を示す工程フローチャートである。 本発明の他の実施例において、複数のマイクロプロセッサ、ラインキャッシュユニット、及びアクセスアービトレータを有するSOCモジュールを示すシステム構造図である。
上記説明及び下記実施形態は、本発明の精神及びその原理を説明するか、又は本発明の請求の範囲を解釈するために開示される。以下、図面及び実施例を開示しながら本発明の特徴、実施例及び効果を詳しく説明する。
従来技術において、幅が小さいシステムバスによってデータアクセスを行う時に、余分なDRAM操作を有する。本発明は、そのような余分なメモリアクセスを避けるSOCモジュールを提供する。本発明の技術をより理解するように、まず、図2の模式図を参照しながら説明する。図2は、本発明の実施例を示すシステム構造図である。以下、それを詳しく説明する。
図2に示すように、本発明のSOCモジュール200は、少なくとも1つのマイクロプロセッサ202、DRAM204、及びDRAMコントローラー206を有する。そのうち、DRAMコントローラー206は、マイクロプロセッサ202及びDRAM204に電気的に接続され、少なくとも1つのラインキャッシュ(column cache)ユニット208を有する。普通、SOC(System−on−a−chip、SOC)とは、CPU(Central Processing Unit)、メモリ体、GPU(Graphics Processing Unit)及び周辺回路等を有する完全なコンピューターシステムを共に1つのチップに設けるものである。即ち、各チップの回路設計を微細化、モジュール化させ、その全ての機能を1つのIC(Integrated Circuit)に統合する。本発明の実施例において、マイクロプロセッサ202及びDRAM204は、同じ論理回路及びアナログ回路プロセスによって統合され、前記SOCモジュール200に形成される。
そのうち、第1バスインターフェース31を介して本発明のDRAM204及びDRAMコントローラー206を接続し、第2バスインターフェース32を介して前記マイクロプロセッサ202及びDRAMコントローラー206を接続する。本発明の1つの実施例において、第1バスインターフェース31の幅が例えば128ビットであってもよく、第2バスインターフェース32の幅が例えば32ビットであってもよい。実際的には、普通、第2バスインターフェース32の幅は前記第1バスインターフェース31の幅より小さい。
本発明の実施例において、本発明のラインキャッシュユニット208は、マイクロプロセッサ202に対応して設けられる。従来技術と比べて、本発明のマイクロプロセッサ202は、ブロック全体のデータ転送を待つ必要がなく、その対応のラインキャッシュユニット208によってDRAM204に対して読み取りまたは書き込みを行う。
以下、マイクロプロセッサによってDRAMに対して読み取りまたは書き込み操作を行う状況を詳しく説明する。
前記図2のシステム構造図及び図3を参照しながら説明する。そのうち、図3は、本発明の実施例のSOCモジュールが読み取り操作を行う状態を示す工程フローチャートである。図2、3に示すように、マイクロプロセッサ202がDRAM204を読み取る場合(工程S302)、ラインキャッシュユニット208に保存されるデータが前回読み取ったラインデータであるかどうかを判断する(工程S304)。YESの場合、工程S306に示すように、そのまま読み取り作業を実行する。逆に、工程S304において、ラインキャッシュユニット208に保存されるデータが前回読み取ったラインデータではないと判断した場合、工程S308に進む。工程S308において、マイクロプロセッサ202は、先ず、DRAMコントローラー206によってDRAM204から1つの新しいラインデータの読み取りを命令する。そして、工程S310に示すように、前記1つの新しいラインデータは、ラインキャッシュユニット208に保存され、マイクロプロセッサ202によって読み取られる。本発明の実施例において、マイクロプロセッサ202は、それと共に前記1つの新しいラインデータの読み取りアドレスをマークできる、
また、図4は、本発明の実施例のSOCモジュールが書き込み操作を行う状況を示す工程フローチャートである。図2のシステム構造及び図4を参考しながら説明する。工程S402に示すように、マイクロプロセッサ202によってデータをDRAM204に書き込む場合、工程S404に示すように、まず、前記データのアドレス及び前回のデータのアドレスが同じかどうかを判断する。YESの場合、工程S406に示すように、そのまま書き込み作業を実行し、即ち、前記データをラインキャッシュユニット208に保存し、DRAM204に書き込む。逆に、工程S404において、前記データのアドレス及び前回のデータのアドレスが異なると判断した場合、工程S408に進む。工程S408において、マイクロプロセッサ202は、まず、DRAM204に対して読み取りを行い、読み込んで更新してから、工程S410に示すように、DRAM204に書き込むことができるように前記データをラインキャッシュユニット208に保存する。
例えば、第1バスインターフェース31の幅が128ビットであり、第2バスインターフェース32の幅が32ビットである場合、即ち、DRAM204は、他に書き込んで上書きできない条件で、?回の書き込みが128ビットに特定される。よって、前記128ビットにおける32ビットに対してデータ更新を行う場合、読み取り−更新−再書き込みの操作を行う必要がある。その工程は、本発明の図4の工程S408及び工程S410に対応する工程である。
よって、上記をまとめると、本発明のSOCモジュールによれば、マイクロプロセッサは、ラインキャッシュユニットによってDRAMに対して書き込み又は読み取り作業を行うことができる。その場合、マイクロプロセッサは、従来のようにブロック全体のデータ転送を待つ必要がなく、それぞれのデータのアドレスに対して操作を行うことができる。そのため、本発明は、余分なDRAM操作を減少できる上、従来のキャッシュミス(cache miss)の問題を大幅に改善できる。
さらに、従来のSRAMと比べて、ラインキャッシュユニットの製作コストが低く、制御回路が簡単で、製作面積が小さい。そのため、ローエンドのプロセッサーシステムによって本発明のラインキャッシュユニットを利用する方法によれば、低コスト、高い効率、及びデータアクセスが正しい等の目的を達成できる。それと同時に、普通、ローエンドシステムのマイクロプロセッサの処理速度はDRAMより遅いため、ラインキャッシュユニットを利用する方法によれば、マイクロプロセッサは、従来のようにSRAMにアクセスするのではなく、そのままDRAMにアクセスしても、データアクセスの速度が従来の方法と同じ程度を維持できる。
また、本発明は、図2に示すシステム構造に限られない。即ち、図5の実施例に示すように、本発明のSOCモジュール200は、複数のマイクロプロセッサ202a、202b、…202nを有してもよい。その場合、DRAMコントローラー206は、対応の複数のラインキャッシュユニット208a、208b、…208nを有する。また、各ラインキャッシュユニット208a、208b、…208nは、それぞれマイクロプロセッサ202a、202b、…202nに対応して設けられる。前記実施例において、DRAMコントローラー206は、アクセスアービトレータ(arbitrator)210を更に有する。前記アクセスアービトレータ210は、各ラインキャッシュユニット208a、208b、…208nに電気的に接続され、前記マイクロプロセッサ202a、202b、…202nの内の、DRAM204に対して読み取りまたは書き込みを行う1つのマイクロプロセッサを設定する。その読み取りまたは書き込み工程は、本発明の図3及び図4に示す。
当業者が本発明の思想に基づいて実際の需要によって設計を変更できる。それらの変更は、いずれも本発明に含む。上記実施例は、当業者が本発明の技術的な特徴を理解して実施できるために開示されている。本発明は、上記実施例に限定されない。
上記内容から分かるように、従来技術と比べて、本発明の新規のSOCモジュールは、従来技術において余分なメモリ体アクセス及び待ち時間が長い等の欠点を有効に解決できる。また、データアクセスの品質及び速度を大幅に向上できる上、低コスト、制作の複雑さを低減できる。そのため、本発明のSOCモジュールは、優れた産業上の利用可能性及び競争力を有する。また、本発明の技術的な特徴、方法手段及び効果は、明らかに既存の技術と異なるため、当業者が容易に完成できるものではない。よって、特許要件を充分に具備する。
10 SOC
11 プロセッサー
12 DRAMチップ
13 SRAM
15 DRAMコントローラー
20 標準インターフェース
30 システムバス
31 第1バスインターフェース
32 第2バスインターフェース
200 SOCモジュール
202、202a、202b、…202n マイクロプロセッサ
204 DRAM
206 DRAMコントローラー
208、208a、208b、…208n ラインキャッシュユニット
210 アクセスアービトレータ

Claims (11)

  1. 余分なメモリアクセスを避けるSOCモジュールであって、
    少なくとも1つのマイクロプロセッサと、
    前記少なくとも1つのマイクロプロセッサと統合して前記SOCモジュールに形成されるDRAMと、
    前記少なくとも1つのマイクロプロセッサ及び前記DRAMに電気的に接続され、少なくとも1つのラインキャッシュユニットを有するDRAMコントローラーと、を有し、
    各前記ラインキャッシュユニットは、各前記マイクロプロセッサに対応して設けられ、
    各前記マイクロプロセッサは、それぞれ対応の各前記ラインキャッシュユニットによって前記DRAMに対して読み取りまたは書き込みを行うことを特徴とする、
    SOCモジュール。
  2. 第1バスインターフェースを介して前記DRAMと前記DRAMコントローラーを接続し、
    第2バスインターフェースを介して前記少なくとも1つのマイクロプロセッサと前記DRAMコントローラーを接続することを特徴とする、
    請求項1に記載のSOCモジュール。
  3. 前記第2バスインターフェースの幅は、前記第1バスインターフェースより小さいことを特徴とする、
    請求項2に記載のSOCモジュール。
  4. 前記少なくとも1つのマイクロプロセッサ及び前記DRAMは、同じ論理回路及びアナログ回路プロセスによって統合され、前記SOCモジュールに形成されることを特徴とする、
    請求項1に記載のSOCモジュール。
  5. 前記SOCモジュールが複数の前記マイクロプロセッサを有する場合、
    前記DRAMコントローラーは、前記複数の前記マイクロプロセッサに対応して設けられる複数の前記ラインキャッシュユニットを有することを特徴とする、
    請求項1に記載のSOCモジュール。
  6. 前記DRAMコントローラーは、アクセスアービトレータを更に有し、
    前記アクセスアービトレータは、各前記ラインキャッシュユニットに電気的に接続され、前記マイクロプロセッサの内の、前記DRAMに対して読み取りまたは書き込みを行う1つのマイクロプロセッサを設定することを特徴とする、
    請求項5に記載のSOCモジュール。
  7. 前記少なくとも1つのマイクロプロセッサが前記DRAMを読み取って、且つ前記ラインキャッシュユニットに保存されるデータが前回読み取ったラインデータではない場合、
    前記少なくとも1つのマイクロプロセッサは、前記DRAMコントローラーによって前記DRAMから1つの新しいラインデータの読み取りを命令し、
    前記新しいラインデータは、前記ラインキャッシュユニットに保存され、前記少なくとも1つのマイクロプロセッサによって読み取られることを特徴とする、
    請求項1に記載のSOCモジュール。
  8. 前記少なくとも1つのマイクロプロセッサは、同時に前記新しいラインデータの読み取りアドレスをマークすることを特徴とする、
    請求項7に記載のSOCモジュール。
  9. 前記少なくとも1つのマイクロプロセッサによってデータを前記DRAMに書き込み、且つ前記データのアドレス及び前回のデータのアドレスが同じである場合、
    前記少なくとも1つのマイクロプロセッサは、前記データをそのまま前記ラインキャッシュユニットに保存し、且つ前記DRAMに書き込むことを特徴とする、
    請求項1に記載のSOCモジュール。
  10. 前記データのアドレス及び前回のデータのアドレスが異なる場合、
    前記少なくとも1つのマイクロプロセッサは、まず、前記DRAMを読み取って、読み込みが完成してから、前記DRAMに書き込むことができるように前記データを前記ラインキャッシュユニットに保存することを特徴とする、
    請求項9に記載のSOCモジュール。
  11. 前記少なくとも1つのマイクロプロセッサが前記ラインキャッシュユニットによって前記DRAMに対して操作を行う場合、
    前記少なくとも1つのマイクロプロセッサは、ブロック全体のデータ転送を待つ必要がなく、それぞれのデータのアドレスに対して操作を行う特徴とする、
    請求項1に記載のSOCモジュール。
JP2020076192A 2019-12-03 2020-04-22 Socモジュール Active JP6936528B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW108144004A TWI739227B (zh) 2019-12-03 2019-12-03 避免多餘記憶體存取的系統單晶片模組
TW108144004 2019-12-03

Publications (2)

Publication Number Publication Date
JP2021089703A true JP2021089703A (ja) 2021-06-10
JP6936528B2 JP6936528B2 (ja) 2021-09-15

Family

ID=76091493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020076192A Active JP6936528B2 (ja) 2019-12-03 2020-04-22 Socモジュール

Country Status (4)

Country Link
US (1) US11126560B2 (ja)
JP (1) JP6936528B2 (ja)
CN (1) CN112908381A (ja)
TW (1) TWI739227B (ja)

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282221A (ja) 1996-04-19 1997-10-31 Hitachi Ltd 主記憶制御装置
JP2003044354A (ja) 2001-07-26 2003-02-14 Matsushita Electric Ind Co Ltd メモリ制御装置
JP2004171209A (ja) 2002-11-19 2004-06-17 Matsushita Electric Ind Co Ltd 共有メモリデータ転送装置
CN101504633B (zh) * 2009-03-27 2012-09-05 无锡中星微电子有限公司 一种多通道dma控制器
CN102812518B (zh) * 2010-01-28 2015-10-21 惠普发展公司,有限责任合伙企业 存储器存取方法和装置
CN104731519B (zh) * 2013-12-20 2018-03-09 晨星半导体股份有限公司 快取存储器管理装置及应用该快取存储器管理装置的动态影像系统及方法
KR102025037B1 (ko) * 2014-02-25 2019-09-24 애플 인크. 비디오 인코딩 및 디코딩을 위한 적응형 전달 함수
US9740621B2 (en) * 2014-05-21 2017-08-22 Qualcomm Incorporated Memory controllers employing memory capacity and/or bandwidth compression with next read address prefetching, and related processor-based systems and methods
US9619377B2 (en) * 2014-05-29 2017-04-11 Apple Inc. System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode
US20150362980A1 (en) * 2014-06-16 2015-12-17 Apple Inc. Always-On Processor as a Coprocessor
US9659616B2 (en) * 2014-08-14 2017-05-23 Apple Inc. Configuration fuse data management in a partial power-on state
US9479331B2 (en) * 2014-08-20 2016-10-25 Apple Inc. Managing security in a system on a chip (SOC) that powers down a secure processor
US9829966B2 (en) * 2014-09-15 2017-11-28 Apple Inc. Method for preparing a system for a power loss
KR102059256B1 (ko) * 2015-06-05 2019-12-24 애플 인크. Hdr 콘텐츠의 렌더링 및 디스플레이
US9934842B2 (en) * 2015-11-12 2018-04-03 Intel Corporation Multiple rank high bandwidth memory
US10585809B2 (en) * 2016-04-01 2020-03-10 Intel Corporation Convolutional memory integrity
US10282294B2 (en) * 2017-02-15 2019-05-07 Samsung Electronics Co., Ltd. Mitigating DRAM cache metadata access overhead with SRAM metadata cache and bloom filter
US10579531B2 (en) * 2017-08-30 2020-03-03 Oracle International Corporation Multi-line data prefetching using dynamic prefetch depth
KR102414047B1 (ko) * 2017-10-30 2022-06-29 에스케이하이닉스 주식회사 통합 메모리 디바이스 및 그의 동작 방법
US11385982B2 (en) * 2019-05-02 2022-07-12 Apple Inc. General purpose input/output with hysteresis
US11232047B2 (en) * 2019-05-28 2022-01-25 Rambus Inc. Dedicated cache-related block transfer in a memory system

Also Published As

Publication number Publication date
CN112908381A (zh) 2021-06-04
US11126560B2 (en) 2021-09-21
JP6936528B2 (ja) 2021-09-15
TW202123018A (zh) 2021-06-16
TWI739227B (zh) 2021-09-11
US20210165740A1 (en) 2021-06-03

Similar Documents

Publication Publication Date Title
US10545692B2 (en) Memory maintenance operations during refresh window
CN108459974B (zh) 集成闪存的高带宽存储器设备
US20180240520A1 (en) Hybrid volatile and non-volatile memory device
TWI735529B (zh) 多階層記憶體之管理的技術
US7107412B2 (en) Distributed processor memory module and method
US20060065746A1 (en) Semiconductor memory device
US20110035537A1 (en) Multiprocessor system having multi-command set operation and priority command operation
CN111158633A (zh) 一种基于fpga的ddr3多通道读写控制器及控制方法
WO2017151262A1 (en) Method and apparatus for providing a contiguously addressable memory region by remapping an address space
JP4569182B2 (ja) 半導体装置
JPWO2007116486A1 (ja) メモリ装置、その制御方法、その制御プログラム、メモリ・カード、回路基板及び電子機器
CN108139989B (zh) 配备有存储器中的处理和窄访问端口的计算机设备
JP6936528B2 (ja) Socモジュール
JP2008140078A (ja) バスブリッジ装置、情報処理装置、およびデータ転送制御方法
US20210264962A1 (en) Data read/write method, device, and memory having the same
US20080282054A1 (en) Semiconductor device having memory access mechanism with address-translating function
US8244929B2 (en) Data processing apparatus
US9990312B2 (en) Memory system and operation method of the same
JP2580263B2 (ja) バッファ記憶装置
US20190294567A1 (en) Technologies for adding computational ability to memory devices without changing media layers
CN214253209U (zh) 一种sdram控制器用户接口模块ip核
US20170075571A1 (en) Memory device and control method thereof
JP2007193745A (ja) Icカード用lsiおよびメモリデータ転送方法
JP2017058960A (ja) メモリシステム
WO2019205454A1 (zh) 一种超过寻址空间大容量的管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210709

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210820

R150 Certificate of patent or registration of utility model

Ref document number: 6936528

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250