JP2012205100A - メモリシステム、メモリコントローラ、及び同期化装置 - Google Patents

メモリシステム、メモリコントローラ、及び同期化装置 Download PDF

Info

Publication number
JP2012205100A
JP2012205100A JP2011068161A JP2011068161A JP2012205100A JP 2012205100 A JP2012205100 A JP 2012205100A JP 2011068161 A JP2011068161 A JP 2011068161A JP 2011068161 A JP2011068161 A JP 2011068161A JP 2012205100 A JP2012205100 A JP 2012205100A
Authority
JP
Japan
Prior art keywords
clock
synchronization
data
flip
flop
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
Application number
JP2011068161A
Other languages
English (en)
Inventor
Katsuhiko Sakimoto
克彦 崎元
Makoto Ichida
真琴 市田
Takashi Shimizu
敬 清水
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.)
Toshiba Corp
Toshiba Information Systems Japan Corp
Original Assignee
Toshiba Corp
Toshiba Information Systems Japan 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 Toshiba Corp, Toshiba Information Systems Japan Corp filed Critical Toshiba Corp
Priority to JP2011068161A priority Critical patent/JP2012205100A/ja
Priority to US13/237,445 priority patent/US8649241B2/en
Publication of JP2012205100A publication Critical patent/JP2012205100A/ja
Withdrawn legal-status Critical Current

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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0032Serial ATA [SATA]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 

Abstract

【課題】メタステーブル状態の伝播を低減できるメモリシステムを提供する。
【解決手段】バスマスタ20-nはバス10を介してデータを送信し、バススレーブ31-nはバス10を介してデータを受信する。メモリ装置60は、バススレーブ31-nで受信されたデータが転送される。バスマスタ20-nは、第1クロックΦCLK1に同期してデータを送信し、メモリ装置60は、第2クロックΦCLK2に同期して動作する。第2クロックΦCLK2は、第1クロックΦCLK1より速く非同期である。バススレーブ31-nは、同期化手段と高速化手段とを有し、同期化手段はバスに接続され第3クロックΦCLK3に同期してデータを受信する。第3クロックΦCLK3は、第2クロックΦCLK2より遅く、第2クロックΦCLK2と同期している。高速化手段は、同期化手段で受信されたデータを第2クロックΦCLK2に同期してメモリ装置60へ転送する。
【選択図】図1

Description

本発明の実施形態は、メモリシステム、メモリコントローラ、及び同期化装置に関する。
非同期転送されたデータをあるクロックに同期化する一般的な手法として、そのクロックで駆動する2段以上のフリップフロップで構成された回路でデータを受けるという技術がある。通常、メタステーブル状態となる期間よりも長い周期のクロックで同期化するので、フリップフロップの段数は2段として実使用上問題は発生しない。
特開2002−300009号公報
1つの実施形態は、例えば、メタステーブル状態の伝播を低減できるメモリシステム、メモリコントローラ、及び同期化装置を提供することを目的とする。
1つの実施形態によれば、バスマスタとバススレーブとメモリ装置とを備えメモリシステムが提供される。バスマスタは、バスを介してデータを送信する。バススレーブは、バスを介してデータを受信する。メモリ装置は、バススレーブで受信されたデータが転送される。バスマスタは、第1のクロックに同期してデータを送信する。メモリ装置は、第2のクロックに同期して動作する。第2のクロックは、第1のクロックと非同期の関係にあるとともに、第1のクロックより速い。バススレーブは、同期化手段と高速化手段とを有する。同期化手段は、バスに接続され、第3のクロックに同期してデータを受信する。第3のクロックは、第2のクロックと同期の関係にあるとともに、第2のクロックより遅い。高速化手段は、同期化手段で受信されたデータを第2のクロックに同期してメモリ装置へ転送する。これにより、高速化手段は、第3のクロックに対応した速度から第2のクロックに対応した速度へデータの転送速度を高速化する。
第1の実施形態にかかるメモリシステムの構成を示す図。 第1の実施形態におけるバススレーブI/Fの構成を示す図。 第1の実施形態におけるバススレーブI/Fの構成を示す図。 第1の実施形態におけるバススレーブI/Fの動作を示す図。 第2の実施形態にかかるメモリシステムの構成を示す図。 第2の実施形態におけるバススレーブI/Fの構成を示す図。 第2の実施形態におけるバススレーブI/Fの構成を示す図。 第2の実施形態におけるバススレーブI/Fの動作を示す図。 第2の実施形態におけるバススレーブI/Fの動作を示す図。 第2の実施形態におけるバススレーブI/Fの動作を示す図。 第2の実施形態におけるバススレーブI/Fの動作を示す図。 比較例におけるバススレーブI/Fの構成を示す図。 比較例におけるバススレーブI/Fの動作を示す図。
バスマスタがバス及びメモリコントローラを介して高速メモリに接続されたメモリシステムでは、高速メモリに接続されたメモリコントローラ内のメモリI/Fに対して、高速メモリに対応した高速な動作速度で(効率よく)動作することが求められている。このとき、メモリシステムにおいて、バスに接続されたメモリコントローラ内のバススレーブI/FもメモリI/Fと同じ動作速度で動作させると、そのバススレーブI/Fは、メタステーブル状態となる期間より短い周期のクロックでデータを受ける可能性がある。メタステーブル状態となる期間より短い周期のクロックでデータを受けると、メモリコントローラ内をメタステーブル状態の不安定なデータが次々に伝播され、メモリコントローラ内の素子の誤動作が発生する可能性がある。
以下に添付図面を参照して、実施形態にかかるメモリシステムを詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
(第1の実施形態)
第1の実施形態にかかるメモリシステム1について図1を用いて説明する。図1は、メモリシステム1の構成を示す図である。
メモリシステム1は、ホスト装置HAに対する外部記憶媒体として機能するものであり、例えば、SSD(Solid State Drive)又はメモリカードである。ホスト装置HAは、例えば、パーソナルコンピュータ又はCPUコアを含む。
近年の低消費電力化指向により、メモリシステム1内部の消費電力は抑えなければならないが、同時に性能の向上も図らねばならず、高速メモリ装置60を使わなければならない。メモリシステム1のシステムクロック周波数が低い場合であっても、高速メモリ装置60に対応したブロック(例えば、高速メモリコントローラ50)はより高い周波数で動作させなければならない。
そこで、メモリシステム1は、低速バス10、複数のバスマスタ20−1〜20−n、高速メモリ装置60、高速バス40、高速メモリコントローラ(バススレーブ)30、及びクロック生成部70を備える。なお、低速バス10、複数のバスマスタ20−1〜20−n、高速メモリコントローラ(バススレーブ)30、及びクロック生成部70は、システムコントローラ50を構成している。
低速バス10は、複数のバスマスタ20−1〜20−nと高速メモリコントローラ(バススレーブ)30とを接続しており、複数のバスマスタ20−1〜20−nと高速メモリコントローラ30との間の通信を媒介している。低速バス10は、クロックφCLK1に対応した速度でデータをそれぞれ転送する複数のライン11−1〜11−4を有する。低速バス10は、例えば、AHB(Advanced High−Performance Bus)規格に従ったバスであり、クロックφCLK1に対応した速度は、例えば、100MHzである。すなわち、低速バス10に供給されるバスクロックの周波数は、例えば、100MHzである。
複数のバスマスタ20−1〜20−nは、低速バス10に接続されている。各バスマスタ20−1〜20−nは、バススレーブとしての高速メモリコントローラ30に対して、低速バス10を介したデータ転送を能動的に行う主体として機能する。すなわち、各バスマスタ20−1〜20−nは、低速バス10を介してデータを高速メモリコントローラ30へ送信する。各バスマスタ20−1〜20−nは、クロックφCLK1に同期してデータを送信する。すなわち、各バスマスタ20−1〜20−nによるデータの送信速度は、例えば、100MHzである。
バスマスタ20−1は、例えば、SATAI/Fである。例えば、バスマスタ20−1は、ホスト装置HAから外部バス(SATA)経由で受信した命令やデータなどに対応したデータ列を、低速バス10、高速メモリコントローラ30、及び高速バス40経由で高速メモリ装置60に送信する。
バスマスタ20−2は、例えば、CPUである。すなわち、バスマスタ20−2は、メモリシステム1の各構成要素を統括的に制御する。例えば、バスマスタ20−2は、ホスト装置HAからバスマスタ(SATAI/F)20−1及び低速バス10経由で命令を受けた場合に、受けた命令に従った所定のコマンドを生成して、そのコマンドを示すデータ列を低速バス10、高速メモリコントローラ30、及び高速バス40経由で高速メモリ装置60に送信する。
バスマスタ20−nは、例えば、DMAコントローラである。すなわち、バスマスタ20−nは、CPUを介さずにメモリ間のデータ転送を行う。例えば、バスマスタ20−nは、他のメモリ装置(図示せず)から読み出したデータを、低速バス10、高速メモリコントローラ30、及び高速バス40経由で高速メモリ装置60に送信する。
なお、各バスマスタ20−1〜20−nは、NANDコントローラ、ECCモジュール、暗号化モジュールなどを含んでいても良い。NANDコントローラは、図示しないNAND型フラッシュメモリ(NANDメモリ)へのデータの書き込みやNANDメモリからのデータの読み出しを制御する。ECCモジュールは、NANDメモリから読み出されたデータやNANDメモリに書き込むべきデータに対してECC処理(誤り訂正処理)を行う。
高速メモリ装置60は、例えば、ホスト装置HAとNANDメモリとの間でのデータ転送用のキャッシュ領域として、並びに、バスマスタ(CPU)20−2が使用する作業領域として機能する。高速メモリ装置60は、例えば、DRAM(Dynamic Random Access Memory)、又はFeRAM(Ferroelectric Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)、PRAMなど(Phase Change Random Access Memory)を含む。特に、高速メモリ装置60は、例えば、DDR3−SDRAMであってもよい。
高速メモリ装置60は、例えば、DDR3−SDRAMである場合、最低動作周波数が333MHzである。すなわち、高速メモリ装置60に供給されるクロックφCLK2の周波数は、例えば、333MHzである。
ここで、クロックφCLK2は、上記のクロックφCLK1を逓倍したものでなくクロックφCLK1と非同期の関係にある。また、クロックφCLK2は、クロックφCLK1より速い。
NANDメモリ(図示せず)は、複数のメモリセルがマトリクス状に配列されたメモリセルアレイを有し、個々のメモリセルは上位ページ及び下位ページを使用して多値記憶が可能である。NANDメモリでは、データの消去がブロック単位で行われるのに対して、データの書き込み及び読み出しがページ単位で行われる。ブロックは、複数のページをひとまとめにした単位である。また、NANDメモリでは、バスマスタ(CPU)20−2による内部的なデータ管理がクラスタ単位で行われ、データの更新がセクタ単位で行われる。この実施の形態では、ページは、複数のクラスタをひとまとめにした単位であるとし、クラスタは、複数のセクタをひとまとめにした単位であるとする。セクタは、ホスト装置HAからのデータの最小アクセス単位であり、例えば、512Bのサイズを有する。ホスト装置HAは、セクタ単位のLBA(Logical Block Addressing)によってアクセスするデータを指定する。
高速バス40は、高速メモリコントローラ30と高速メモリ装置60とを接続しており、高速メモリコントローラ30と高速メモリ装置60との間の通信を媒介している。高速バス40は、クロックφCLK2に対応した速度でデータをそれぞれ転送する複数のラインを有する。高速バス40は、例えば、AHB(Advanced High−Performance Bus)規格に従ったバスであり、クロックφCLK2に対応した速度は、例えば、333MHzである。すなわち、高速バス40に供給されるバスクロックの周波数は、例えば、333MHzである。
高速メモリコントローラ30は、低速バス10を介して複数のバスマスタ20−1〜20−nに接続されているとともに、高速バス40を介して高速メモリ装置60に接続されている。高速メモリコントローラ30は、バススレーブとして、バスマスタ20−1〜20−nから送信されるデータを受動的に待ち、バスマスタ20−1〜20−nによるデータ転送のサービスを受ける。すなわち、高速メモリコントローラ30は、クロックφCLK2及びクロックφCLK3を受け、それらのクロックを用いて、各バスマスタ20−1〜20−nからデータを受信して高速メモリ装置60へ転送する。
ここで、クロックφCLK3は、クロックφCLK2を所定の整数分の1に分周したものになっておりクロックφCLK2と同期の関係にある(図4参照)。また、クロックφCLK3は、クロックφCLK2より遅い。なお、クロックφCLK3は、クロックφCLK1より遅くても良い。
クロック生成部70は、クロックφCLK2及びクロックφCLK3を生成して高速メモリコントローラ30へ供給する。また、クロック生成部70は、クロックφCLK2を高速メモリ装置60へ供給する。
クロック生成部70では、例えば、外部から基準クロックを受けて、基準クロックをK1(整数)倍で逓倍してクロックφCLK2を生成するとともに、基準クロックをK2(整数、K2>K1)倍で逓倍してクロックφCLK3を生成する。あるいは、例えば、外部からクロックφCLK2を受けて、クロックφCLK2を所定の整数倍で逓倍してクロックφCLK3を生成する。あるいは、例えば、外部からクロックφCLK3を受けて、クロックφCLK3を所定の整数分の1に分周してクロックφCLK2を生成する。
次に、高速メモリコントローラ30内の構成について図1を用いて説明する。
高速メモリコントローラ30は、複数のバススレーブインターフェース(複数の同期化装置)31−1〜31−n、及びメモリインターフェース32を有する。
複数のバススレーブインターフェース31−1〜31−nは、それぞれ、低速バス10に接続されている。すなわち、各バススレーブインターフェース31は、例えば、低速バス10の各ライン11に接続されたI/F回路をライン11の本数分有している。
メモリインターフェース32は、高速バス40に接続されている。例えば、メモリインターフェース32は、高速バス40の各ラインに接続されたI/F回路をラインの本数分有している。
高速メモリコントローラ30では、図1に示すように、各バススレーブインターフェース31が高速のクロックφCLK2とそれより遅いクロックφCLK3との2つを用いて動作するのに対して、他の構成要素がクロックφCLK3を用いずに高速のクロックφCLK2を用いて動作する。例えば、メモリインターフェース32は、高速のクロックφCLK2に同期して、各バススレーブインターフェース31から所定の構成要素経由でデータを受ける。また、メモリインターフェース32は、高速のクロックφCLK2に同期して、データを高速バス40へ送信する。
次に、各バススレーブインターフェース31内の構成について図2及び図3を用いて説明する。図2及び図3は、それぞれ、バススレーブインターフェース31内における1つのライン11に接続されたI/F回路の構成を例示的に示しているものである。なお、バススレーブインターフェース31内における他のライン11に接続されたI/F回路についても図2及び図3に示すものと同様である。
バススレーブインターフェース31は、同期化部33及び高速化部34を有する。
同期化部33は、図2に示すように、ライン11を介してバスマスタ20におけるバスマスタインターフェース21に接続されている。バスマスタインターフェース21は、クロックφCLK1に同期して、前段から受けたデータを保持するとともに、クロックφCLK1に同期して、保持しているデータをライン11へ送信する。ライン11も、クロックφCLK1に同期してデータを同期化部33へ送信する。同期化部33は、クロック生成部70(図1参照)からクロックφCLK3を受ける。そして、同期化部33は、クロックφCLK3に同期して、ライン11上のデータを受信する。また、同期化部33は、クロックφCLK3に同期して、データを高速化部34へ転送する。クロックφCLK3は、高速のクロックφCLK2より遅いが、高速のクロックφCLK2に対して同期した関係にある。これにより、同期化部33は、高速のクロックφCLK2に対して非同期の速度で転送されてきたデータの転送速度を、高速のクロックφCLK2に対して同期したものにする(同期化する)。
具体的には、同期化部33は、図3に示すように、フリップフロップ(第1のフリップフロップ)331及びフリップフロップ(第2のフリップフロップ)332を有する。フリップフロップ331は、入力端子Dがライン11(ラインLA)に接続され、クロック端子CKがクロック生成部70(図1参照)に接続され、出力端子Qがフリップフロップ332に接続されている。フリップフロップ332は、入力端子Dがフリップフロップ331に接続され、クロック端子CKがクロック生成部70(図1参照)に接続され、出力端子Qが高速化部34に接続されている。
なお、バスマスタインターフェース21は、フリップフロップ211を有する。フリップフロップ211は、入力端子Dがバスマスタ20における前段に接続され、クロック端子CKが第2のクロック生成部(図示せず)に接続され、出力端子Qがライン11に接続されている。
高速化部34は、図2に示すように、同期化部33に接続されている。高速化部34は、同期化部33により転送されたデータを、高速のクロックφCLK2に同期して保持するとともに、高速のクロックφCLK2に同期して、保持しているデータを後段へ転送する。すなわち、高速化部34は、同期化部33で受信されたデータを高速のクロックφCLK2に同期して高速メモリ装置60側へ転送する。これにより、高速化部34は、データの転送速度を、クロックφCLK3に対応した速度から高速のクロックφCLK2に対応した速度へ高速化する。
具体的には、高速化部34は、図3に示すように、フリップフロップ(第3のフリップフロップ)341を有する。フリップフロップ341は、入力端子Dがフリップフロップ332に接続され、クロック端子CKがクロック生成部70(図1参照)に接続され、出力端子Qが後段に接続されている。
次に、各バススレーブインターフェース31の動作について図4を用いて説明する。図4は、バススレーブインターフェース31内における1つのライン11に接続されたI/F回路の動作を例示的に示しているものである。なお、バススレーブインターフェース31内における他のライン11に接続されたI/F回路の動作についても図4に示すものと同様である。
以下では、バスマスタインターフェース21とフリップフロップ331との間のライン11をラインLAとし、フリップフロップ331とフリップフロップ332との間のラインをLBとし、フリップフロップ332とフリップフロップ341との間のラインをLCとし、フリップフロップ341と後段との間のラインをLDとする。
タイミングt1において、フリップフロップ331は、クロックφCLK3の立ち上がりに同期して、ラインLA上のデータを保持する。このとき、データφLAの送信に用いられたクロックφCLK1と、フリップフロップ331の用いるクロックφCLK3とが、互いに非同期の関係にある。クロックφCLK1は、例えば、100MHzの周波数を有する。クロックφCLK3は、例えば、166MHzの周波数を有し、クロックφCLK1を逓倍した関係にない。
そのため、ラインLA上のデータφLAは、LレベルからHレベルへ遷移するセットアップ時間の途中にある。すなわち、フリップフロップ331は、レベルの確定していないデータを保持するため、メタステーブル状態になり、その出力端子GからラインLBへ振動したレベルのデータφLBを出力する。
タイミングt2において、フリップフロップ331は、メタステーブル状態が治まり、安定したHレベルのデータφLBをラインLB上へ出力するようになる。
タイミングt3において、フリップフロップ332は、クロックφCLK3の立ち上がりに同期して、ラインLB上のデータφLBを保持する。その直後、フリップフロップ332は、保持しているデータφLBと同じレベルであるHレベルの信号φLCをラインLCへ出力する。
タイミングt4において、フリップフロップ341は、クロックφCLK2の立ち上がりに同期して、ラインLC上のデータφLCを保持する。その直後、フリップフロップ341は、保持しているデータφLCと同じレベルであるHレベルの信号φLDをラインLDへ出力する。これにより、データの転送速度が、クロックφCLK3に対応した速度から高速のクロックφCLK2に対応した速度へ高速化される。クロックφCLK2は、例えば、333MHzの周波数を有する。
図4に示すように、クロックφCLK3の周期は、フリップフロップ331がメタステーブル状態となる期間Tmsよりも十分に長い。すなわち、フリップフロップ331がメタステーブル状態となる期間Tmsは、フリップフロップ331の製造に用いられたプロセス値から計算により統計的に予測して決めておく。そして、クロックφCLK3の周期がその予測したメタステーブル状態となる期間Tmsより長くなるように、高速のクロックφCLK2を分周したものとしてクロックφCLK3を決定する。これにより、フリップフロップ331のメタステーブル状態がフリップフロップ332へ伝播することが防止されている。
ここで、仮に、図12に示すように、各バススレーブインターフェース931の同期化部933において、3段のフリップフロップ9331〜9333がいずれも高速のクロックφCLK2に同期して動作する場合について考える。すなわち、複数の非同期関係にあるクロックを使用する半導体回路において、非同期間転送に伴うメタステーブル状態は避けることができない。すなわち、図13に示すタイミングt901において、フリップフロップ9331は、ラインLA上のレベルの確定していないデータφLAを保持するため、メタステーブル状態になり、その出力端子GからラインLBへ振動したレベルのデータφLB900を出力する。さらに、半導体回路の高速化に伴い、メタステーブル状態となる期間より短い周期のクロックで非同期信号を受ける場面も生じてきている。この場合の解決方法として、3段以上のフリップフロップで受けるという方法がある。これは、メタステーブル状態の発生確率が設計段階で求められるため、段数を増やすことでその確率を下げ、次段の回路へメタステーブル状態の伝播を防ぐことができる、という考えの下に成り立っている。
しかし、メタステーブル状態の期間Tmsよりも短い周期で同期化しているため、1段目のフリップフロップ9331からメタステーブル状態の不安定なデータφLB900が収まるタイミングt902より前のタイミングt903において、2段目のフリップフロップ9332がラインLB900上のデータを保持してしまう。これにより、2段目のフリップフロップ9332でも再びメタステーブル状態が発生し、そのメタステーブル状態がタイミングt904において3段目フリップフロップ9333へ伝播される。このように、高速メモリコントローラ30内でメタステーブル状態の信号を次々に後段へ伝播させてしまう傾向にあり、高速メモリコントローラ内の素子の誤動作が発生する可能性がある。
それに対して、第1の実施形態では、各バススレーブインターフェース31において、同期化部33が、クロックφCLK2と同期の関係にあるとともにクロックφCLK2より遅いクロックφCLK3に同期してデータを受信するとともに、クロックφCLK3に同期してデータを高速化部34へ転送する。そして、高速化部34は、同期化部33で受信されたデータを高速のクロックφCLK2に同期して高速メモリ装置60へ転送することにより、クロックφCLK3に対応した速度からクロックφCLK2に対応した速度へデータの転送速度を高速化する。これにより、最終的なデータの転送速度をクロックφCLK2に対応した高速なものとしながら、非同期転送されたデータを受信して転送する際のクロックφCLK3の周期をメタステーブル状態の期間Tmsよりも十分に長いものとすることができる。この結果、高速メモリコントローラ30内におけるメタステーブル状態の伝播を低減できるので、高速メモリコントローラ30内の素子の誤動作も抑制できる。
また、第1の実施形態では、例えば高速メモリ装置60の動作周波数が上がったとしても、高速化部34の再設計で済みバススレーブインターフェース31の全体を再設計する必要がないため、メモリシステム1の高性能化・高速化が容易である。また、再設計に伴う設計コスト及び製造コストの増大を抑制できる。
また、第1の実施形態では、同期化部33が、低速バス10に接続されクロックφCLK3に同期してデータを受信して保持するフリップフロップ331と、フリップフロップ331から出力されたデータをクロックφCLK3に同期して保持するフリップフロップ332とを有する。また、高速化部34は、フリップフロップ332から出力されたデータを高速のクロックφCLK2に同期して保持するフリップフロップ341を有する。これにより、同期化部33及び高速化部34を簡易な構成で実現することができる。
また、第1の実施形態では、同期化部33が同期化を行う際に用いるクロックφCLK3の周期は、フリップフロップ331がメタステーブル状態となる期間Tmsよりも十分に長い。すなわち、クロックφCLK3の周期が予め統計的な予測により決定されたメタステーブル状態となる期間Tmsより長くなるように、高速のクロックφCLK2を分周したものとしてクロックφCLK3を決定されている。これにより、フリップフロップ331のメタステーブル状態がフリップフロップ332へ伝播することを確実に低減できる。
なお、第1の実施形態では、メタステーブル状態となる期間より短い周期のクロックで非同期信号を受ける場面の具体的な例として、高速メモリ装置とそれを制御する高速メモリコントローラとを搭載したメモリシステムについて例示的に説明したが、第1の実施形態の考え方は他のシステムに適用されても良い。すなわち、バスマスタ20−1〜20−nからバススレーブへ非同期のデータ転送が行われるとともに、バススレーブが複数のバススレーブインターフェース31−1〜31−nを有するような他のシステムに適用されても良い。
(第2の実施形態)
次に、第2の実施形態にかかるメモリシステム100について図5〜図7を用いて説明する。図5は、メモリシステム100の構成を示す図である。図6及び図7は、それぞれ、バススレーブインターフェース131内における1つのライン11に接続されたI/F回路の構成を例示的に示す図である。以下では、第1の実施形態と異なる点を中心に説明する。
メモリシステム100は、高速メモリコントローラ(バススレーブ)130における各バススレーブインターフェース131−1〜131−n内の構成が第1の実施形態と異なる。
すなわち、クロック生成部170は、クロックφCLK3を生成せずにクロックφCLK2を生成する。高速メモリコントローラ130は、クロックφCLK3(図1参照)を受けずにクロックφCLK2をクロック生成部170から受ける。
各バススレーブインターフェース131は、図6に示すように、高速化部34(図2参照)を有さず、同期化部133を有する。同期化部133は、保持部133a及び選択部133bを有する。
保持部133aは、クロックφCLK2における異なる複数の位相に同期してデータを受信して複数のデータとして保持する。例えば、保持部133aは、クロックφCLK2の立ち上がりに同期してデータを受信して保持し、その後、クロックφCLK2の立ち下がりに同期してデータを受信して保持する。
具体的には、保持部133aは、図7に示すように、フリップフロップ(第4のフリップフロップ)133a1、インバータ(反転手段)133a2、及びフリップフロップ(第5のフリップフロップ)133a3を有する。フリップフロップ133a1は、入力端子Dがライン11(ラインLE)に接続され、クロック端子CKがクロック生成部170(図5参照)に接続され、出力端子Qが選択部133bに接続されている。インバータ133a2は、入力端子がクロック生成部170(図5参照)に接続され、出力端子がフリップフロップ133a3に接続されている。フリップフロップ133a3は、入力端子Dがライン11(ラインLE)に接続され、クロック端子CKがインバータ133a2に接続され、出力端子Qが選択部133bに接続されている。
インバータ133a2は、クロックφCLK2を反転して反転クロックφ/CLK2を生成し、反転クロックφ/CLK2をフリップフロップ133a3へ供給する(以下、/は反転を意味する)。フリップフロップ133a3は、反転クロックφ/CLK2の立ち上がりに同期してデータを受信して保持するので、クロックφCLK2の立ち下がりに同期してデータを受信して保持することと等価な動作を行う。
選択部133bは、保持部133aにより保持された複数のデータから、安定した1つのデータを選択する。
具体的には、選択部133bは、ORゲート(第1の演算手段)133b1、ANDゲート(第2の演算手段)133b2、及びセレクタ(演算結果選択手段)133b3を有する。ORゲート133b1は、第1の入力端子がフリップフロップ133a1の出力端子に接続され、第2の入力端子がフリップフロップ133a3の出力端子に接続され、出力端子がセレクタ133b3に接続されている。ANDゲート133b2は、第1の入力端子がフリップフロップ133a1の出力端子に接続され、第2の入力端子がフリップフロップ133a3の出力端子に接続され、出力端子がセレクタ133b3に接続されている。セレクタ133b3は、「1」側の入力端子がORゲート133b1に接続され、「0」側の入力端子がANDゲート133b2に接続され、制御端子がライン11(ラインLE)に接続されている。
セレクタ133b3は、フリップフロップ133a1又はフリップフロップ133a3で受信されるデータのレベルに応じて、ORゲート133b1の演算結果及びANDゲート133b2の演算結果の一方を選択する。セレクタ133b3は、遷移後のデータのレベルがHレベルである場合、安定した方のHレベルのデータを選択する機能を有するORゲート133b1の演算結果を選択し、遷移後のデータのレベルがLレベルである場合、安定した方のLレベルのデータを選択する機能を有するANDゲート133b2の演算結果を選択する。
また、各バススレーブインターフェース131の動作が、図8〜図11に示すように、第1の実施形態と異なる。図8〜図11は、各バススレーブインターフェース131の動作を示す波形図である。
以下では、バスマスタインターフェース21とフリップフロップ133a1及びフリップフロップ133a3との間のライン11をラインLEとし、フリップフロップ133a1とORゲート133b1及びANDゲート133b2との間のラインをLFとし、フリップフロップ133a3とORゲート133b1及びANDゲート133b2との間のラインをLGとし、セレクタ133b3と後段との間のラインをLHとする。
図8に示すタイミングt11において、フリップフロップ133a1は、クロックφCLK2の立ち上がりに同期して、ラインLE上のデータを保持する。このとき、フリップフロップ133a1は、レベルの確定していないデータを保持するため、メタステーブル状態になり、その出力端子GからラインLFへ振動したレベルのデータφLFを出力する。
タイミングt15において、フリップフロップ133a3は、反転クロックφ/CLK2の立ち上がりに同期して、ラインLE上のデータを保持する。このとき、フリップフロップ133a1は、レベルの確定したデータを保持するため、メタステーブル状態にならず、その出力端子GからラインLGへ安定したレベルのデータφLGを出力する。
その後、セレクタ133b3は、受信されるデータφLEのレベルがHレベルであることに応じて、ORゲート133b1の演算結果すなわちデータφLFとデータφLGとの論理和を選択する。
タイミングt16において、セレクタ133b3は、クロックφCLK2の立ち上がりに同期して、選択したデータを後段へデータφLHとして転送する。
図9に示すタイミングt25において、フリップフロップ133a3は、反転クロックφ/CLK2の立ち上がりに同期して、ラインLE上のデータを保持する。このとき、フリップフロップ133a1は、レベルの確定していないデータを保持するため、メタステーブル状態になり、その出力端子GからラインLGへ振動したレベルのデータφLGを出力する。
タイミングt21において、フリップフロップ133a1は、クロックφCLK2の立ち上がりに同期して、ラインLE上のデータを保持する。このとき、フリップフロップ133a1は、レベルの確定したデータを保持するため、メタステーブル状態にならず、その出力端子GからラインLFへ安定したレベルのデータφLFを出力する。
その後、セレクタ133b3は、受信されるデータφLEのレベルがHレベルであることに応じて、ORゲート133b1の演算結果すなわちデータφLFとデータφLGとの論理和を選択する。
タイミングt26において、セレクタ133b3は、クロックφCLK2の立ち上がりに同期して、選択したデータを後段へデータφLHとして転送する。
図10に示すタイミングt31において、フリップフロップ133a1は、クロックφCLK2の立ち上がりに同期して、ラインLE上のデータを保持する。このとき、フリップフロップ133a1は、レベルの確定していないデータを保持するため、メタステーブル状態になり、その出力端子GからラインLFへ振動したレベルのデータφLFを出力する。
タイミングt35において、フリップフロップ133a3は、反転クロックφ/CLK2の立ち上がりに同期して、ラインLE上のデータを保持する。このとき、フリップフロップ133a1は、レベルの確定したデータを保持するため、メタステーブル状態にならず、その出力端子GからラインLGへ安定したレベルのデータφLGを出力する。
その後、セレクタ133b3は、受信されるデータφLEのレベルがLレベルであることに応じて、ANDゲート133b2の演算結果すなわちデータφLFとデータφLGとの論理積を選択する。
タイミングt36において、セレクタ133b3は、クロックφCLK2の立ち上がりに同期して、選択したデータを後段へデータφLHとして転送する。
図11に示すタイミングt45において、フリップフロップ133a3は、反転クロックφ/CLK2の立ち上がりに同期して、ラインLE上のデータを保持する。このとき、フリップフロップ133a1は、レベルの確定していないデータを保持するため、メタステーブル状態になり、その出力端子GからラインLGへ振動したレベルのデータφLGを出力する。
タイミングt41において、フリップフロップ133a1は、クロックφCLK2の立ち上がりに同期して、ラインLE上のデータを保持する。このとき、フリップフロップ133a1は、レベルの確定したデータを保持するため、メタステーブル状態にならず、その出力端子GからラインLFへ安定したレベルのデータφLFを出力する。
その後、セレクタ133b3は、受信されるデータφLEのレベルがLレベルであることに応じて、ANDゲート133b2の演算結果すなわちデータφLFとデータφLGとの論理積を選択する。
タイミングt46において、セレクタ133b3は、クロックφCLK2の立ち上がりに同期して、選択したデータを後段へデータφLHとして転送する。
以上のように、第2の実施形態では、保持部133aが、クロックφCLK2における異なる複数の位相に同期してデータを受信して複数のデータとして保持する。これにより、クロックφCLK2における複数の位相のうち1つの位相に同期したタイミングにおいて、受信されるべきデータのレベルが確定していなくても、それとずれたタイミングである他の位相に同期したタイミングであれば、受信されるべきデータのレベルが確定している可能性が高い。すなわち、クロックφCLK2における複数の位相のうちのいずれかの位相に同期してレベルの確定されたデータを保持できる。そして、選択部133bは、保持部133aにより保持された複数のデータのうち、安定した1つのデータを選択して後段へ転送する。これにより、フリップフロップ133a1又はフリップフロップ133a3のメタステーブル状態が後段へ伝播されないようにすることができる。この結果、高速メモリコントローラ130内におけるメタステーブル状態の伝播を低減できるので、高速メモリコントローラ130内の素子の誤動作も抑制できる。
また、第2の実施形態では、保持部133aが、低速バス10に接続されクロックφCLK2に同期してデータを受信して保持するフリップフロップ133a1と、クロックφCLK2を論理的に反転した反転クロックφ/CLK2を生成するインバータ133a2と、低速バス10に接続され反転クロックφ/CLK2に同期してデータを受信して保持するフリップフロップ133a3とを有する。これにより、クロックφCLK2の立ち上がり及び立ち下がりに同期してデータを受信して保持する保持部133aを、簡易な構成で実現できる。
また、クロックφCLK2及び反転クロックφ/CLK2でデータを受けるので、仮にタイミングによって一方がメタステーブル状態となった場合、もう一方は位相が半周期ずれるため、安定した信号を次段へ渡すことができる。
また、第2の実施形態では、選択部133bが、フリップフロップ133a1の出力とフリップフロップ133a3の出力との論理和を演算するORゲート133b1と、フリップフロップ133a1の出力とフリップフロップ133a3の出力との論理積を演算するANDゲート133b2と、フリップフロップ133a1又はフリップフロップ133a3で受信されるデータのレベルに応じて、ORゲート133b1の演算結果及びANDゲート133b2の演算結果の一方を選択するセレクタ133b3とを有する。これにより、保持部133aにより保持された複数のデータのうち安定した1つのデータを選択して後段へ転送する選択部133bを、簡易な構成で実現できる。
なお、図7に示す構成は、ORゲート133b1とANDゲート133b2とが入れ替えられ、かつ、ラインLEとセレクタ133b3の制御端子との間にインバータが挿入された構成であってもよい。この場合も、上記の第2の実施形態と同様の動作を実現できる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1、100 メモリシステム、10 低速バス、11−1〜11−4、11 ライン、20−1〜20−n、20 バスマスタ、21 バスマスタインターフェース、30、130 高速メモリコントローラ、31−1〜31−n、31、131−1〜131−n、131、931 バススレーブインターフェース、32 メモリインターフェース、33、133 同期化部、34 高速化部、40 高速バス、60 高速メモリ装置、70、170 クロック生成部、211、331、332、341、133a1、133a3、9331〜9333 フリップフロップ、133a 保持部、133a2 インバータ、133b 選択部、133b1 ORゲート、133b2 ANDゲート、133b3 セレクタ。

Claims (18)

  1. バスを介してデータを送信するバスマスタと、
    前記バスを介してデータを受信するバススレーブと、
    前記バススレーブで受信されたデータが転送されるメモリ装置と、
    を備え、
    前記バスマスタは、第1のクロックに同期してデータを送信し、
    前記メモリ装置は、前記第1のクロックと非同期の関係にあるとともに前記第1のクロックより速い第2のクロックに同期して動作し、
    前記バススレーブは、
    前記バスに接続され、前記第2のクロックと同期の関係にあるとともに前記第2のクロックより遅い第3のクロックに同期してデータを受信する同期化手段と、
    前記同期化手段で受信されたデータを前記第2のクロックに同期して前記メモリ装置へ転送することにより、前記第3のクロックに対応した速度から前記第2のクロックに対応した速度へデータの転送速度を高速化する高速化手段と、
    を有する
    ことを特徴とするメモリシステム。
  2. 前記同期化手段は、
    前記バスに接続され、前記第3のクロックに同期してデータを受信して保持する第1のフリップフロップと、
    前記第3のクロックに同期して、前記第1のフリップフロップから出力されたデータを保持する第2のフリップフロップと、
    を有し、
    前記高速化手段は、
    前記第2のクロックに同期して、前記第2のフリップフロップから出力されたデータを保持する第3のフリップフロップを有する
    ことを特徴とする請求項1に記載のメモリシステム。
  3. 前記第3のクロックの周期は、前記第1のフリップフロップがメタステーブル状態となる期間より長い
    ことを特徴とする請求項2に記載のメモリシステム。
  4. バスを介してデータを送信するバスマスタと、
    前記バスを介してデータを受信するバススレーブと、
    前記バススレーブで受信されたデータが転送されるメモリ装置と、
    を備え、
    前記バスマスタは、第1のクロックに同期してデータを送信し、
    前記メモリ装置は、前記第1のクロックと非同期の関係にあるとともに前記第1のクロックより速い第2のクロックに同期して動作し、
    前記バススレーブは、前記第2のクロックに同期してデータを受信する同期化手段を有し、
    前記同期化手段は、
    前記第2のクロックにおける異なる複数の位相に同期してデータを受信して複数のデータとして保持する保持手段と、
    前記保持手段により保持された複数のデータから安定した1つのデータを選択する選択手段と、
    を有する
    ことを特徴とするメモリシステム。
  5. 前記保持手段は、
    前記バスに接続され、前記第2のクロックに同期してデータを受信して保持する第4のフリップフロップと、
    前記第2のクロックを論理的に反転した反転クロックを生成する反転手段と、
    前記バスに接続され、前記反転クロックに同期してデータを受信して保持する第5のフリップフロップと、
    を有する
    ことを特徴とする請求項4に記載のメモリシステム。
  6. 前記選択手段は、
    前記第4のフリップフロップの出力と前記第5のフリップフロップの出力との論理和を演算する第1の演算手段と、
    前記第4のフリップフロップの出力と前記第5のフリップフロップの出力との論理積を演算する第2の演算手段と、
    前記第4のフリップフロップ又は前記第5のフリップフロップで受信されるデータのレベルに応じて、前記第1の演算手段の演算結果及び前記第2の演算手段の演算結果の一方を選択する演算結果選択手段と、
    を有する
    ことを特徴とする請求項5に記載のメモリシステム。
  7. メモリ装置を制御するとともに、バスを介してバスマスタから送信されたデータを前記メモリ装置へ転送するメモリコントローラであって、
    前記バスマスタは、第1のクロックに同期してデータを送信し、
    前記メモリ装置は、前記第1のクロックと非同期の関係にあるとともに前記第1のクロックより速い第2のクロックに同期して動作し、
    前記メモリコントローラは、
    前記バスに接続され、前記第2のクロックと同期の関係にあるとともに前記第2のクロックより遅い第3のクロックに同期してデータを受信する同期化手段と、
    前記同期化手段で受信されたデータを前記第2のクロックに同期して前記メモリ装置へ転送することにより、前記第3のクロックに対応した速度から前記第2のクロックに対応した速度へデータの転送速度を高速化する高速化手段と、
    を備えたことを特徴とするメモリコントローラ。
  8. 前記同期化手段は、
    前記バスに接続され、前記第3のクロックに同期してデータを受信して保持する第1のフリップフロップと、
    前記第3のクロックに同期して、前記第1のフリップフロップから出力されたデータを保持する第2のフリップフロップと、
    を有し、
    前記高速化手段は、
    前記第2のクロックに同期して、前記第2のフリップフロップから出力されたデータを保持する第3のフリップフロップを有する
    ことを特徴とする請求項7に記載のメモリコントローラ。
  9. 前記第3のクロックの周期は、前記第1のフリップフロップがメタステーブル状態となる期間より長い
    ことを特徴とする請求項8に記載のメモリコントローラ。
  10. メモリ装置を制御するとともに、バスを介してバスマスタから送信されたデータを前記メモリ装置へ転送するメモリコントローラであって、
    前記バスマスタは、第1のクロックに同期してデータを送信し、
    前記メモリ装置は、前記第1のクロックと非同期の関係にあるとともに前記第1のクロックより速い第2のクロックに同期して動作し、
    前記メモリコントローラは、前記第2のクロックに同期してデータを受信する同期化手段を有し、
    前記同期化手段は、
    前記第2のクロックにおける異なる複数の位相に同期してデータを受信して複数のデータとして保持する保持手段と、
    前記保持手段により保持された複数のデータから安定した1つのデータを選択する選択手段と、
    を有する
    ことを特徴とするメモリコントローラ。
  11. 前記保持手段は、
    前記バスに接続され、前記第2のクロックに同期してデータを受信して保持する第4のフリップフロップと、
    前記第2のクロックを論理的に反転した反転クロックを生成する反転手段と、
    前記バスに接続され、前記反転クロックに同期してデータを受信して保持する第5のフリップフロップと、
    を有する
    ことを特徴とする請求項10に記載のメモリコントローラ。
  12. 前記選択手段は、
    前記第4のフリップフロップの出力と前記第5のフリップフロップの出力との論理和を演算する第1の演算手段と、
    前記第4のフリップフロップの出力と前記第5のフリップフロップの出力との論理積を演算する第2の演算手段と、
    前記第4のフリップフロップ又は前記第5のフリップフロップで受信されるデータのレベルに応じて、前記第1の演算手段の演算結果及び前記第2の演算手段の演算結果の一方を選択する演算結果選択手段と、
    を有する
    ことを特徴とする請求項11に記載のメモリコントローラ。
  13. バスを介してバスマスタから送信されたデータを受信するとともに、受信したデータを所定の装置へ転送する同期化装置であって、
    前記バスマスタは、第1のクロックに同期してデータを送信し、
    前記所定の装置は、前記第1のクロックと非同期の関係にあるとともに前記第1のクロックより速い第2のクロックに同期して動作し、
    前記同期化装置は、
    前記バスに接続され、前記第2のクロックと同期の関係にあるとともに前記第2のクロックより遅い第3のクロックに同期してデータを受信する同期化手段と、
    前記同期化手段で受信されたデータを前記第2のクロックに同期して前記所定の装置へ転送することにより、前記第3のクロックに対応した速度から前記第2のクロックに対応した速度へデータの転送速度を高速化する高速化手段と、
    を有する
    ことを特徴とする同期化装置。
  14. 前記同期化手段は、
    前記バスに接続され、前記第3のクロックに同期してデータを受信して保持する第1のフリップフロップと、
    前記第3のクロックに同期して、前記第1のフリップフロップから出力されたデータを保持する第2のフリップフロップと、
    を有し、
    前記高速化手段は、
    前記第2のクロックに同期して、前記第2のフリップフロップから出力されたデータを保持する第3のフリップフロップを有する
    ことを特徴とする請求項13に記載の同期化装置。
  15. 前記第3のクロックの周期は、前記第1のフリップフロップがメタステーブル状態となる期間より長い
    ことを特徴とする請求項14に記載の同期化装置。
  16. バスを介してバスマスタから送信されたデータを受信するとともに、受信したデータを所定の装置へ転送する同期化装置であって、
    前記バスマスタは、第1のクロックに同期してデータを送信し、
    前記所定の装置は、前記第1のクロックと非同期の関係にあるとともに前記第1のクロックより速い第2のクロックに同期して動作し、
    前記同期化装置は、前記第2のクロックに同期してデータを受信する同期化手段を有し、
    前記同期化手段は、
    前記第2のクロックにおける異なる複数の位相に同期してデータを受信して複数のデータとして保持する保持手段と、
    前記保持手段により保持された複数のデータから安定した1つのデータを選択する選択手段と、
    を有する
    ことを特徴とする同期化装置。
  17. 前記保持手段は、
    前記バスに接続され、前記第2のクロックに同期してデータを受信して保持する第4のフリップフロップと、
    前記第2のクロックを論理的に反転した反転クロックを生成する反転手段と、
    前記バスに接続され、前記反転クロックに同期してデータを受信して保持する第5のフリップフロップと、
    を有する
    ことを特徴とする請求項16に記載の同期化装置。
  18. 前記選択手段は、
    前記第4のフリップフロップの出力と前記第5のフリップフロップの出力との論理和を演算する第1の演算手段と、
    前記第4のフリップフロップの出力と前記第5のフリップフロップの出力との論理積を演算する第2の演算手段と、
    前記第4のフリップフロップ又は前記第5のフリップフロップで受信されるデータのレベルに応じて、前記第1の演算手段の演算結果と前記第2の演算手段の演算結果とを選択する演算結果選択手段と、
    を有する
    ことを特徴とする請求項17に記載の同期化装置。
JP2011068161A 2011-03-25 2011-03-25 メモリシステム、メモリコントローラ、及び同期化装置 Withdrawn JP2012205100A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011068161A JP2012205100A (ja) 2011-03-25 2011-03-25 メモリシステム、メモリコントローラ、及び同期化装置
US13/237,445 US8649241B2 (en) 2011-03-25 2011-09-20 Memory system, memory controller, and synchronizing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011068161A JP2012205100A (ja) 2011-03-25 2011-03-25 メモリシステム、メモリコントローラ、及び同期化装置

Publications (1)

Publication Number Publication Date
JP2012205100A true JP2012205100A (ja) 2012-10-22

Family

ID=46878285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011068161A Withdrawn JP2012205100A (ja) 2011-03-25 2011-03-25 メモリシステム、メモリコントローラ、及び同期化装置

Country Status (2)

Country Link
US (1) US8649241B2 (ja)
JP (1) JP2012205100A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9189430B2 (en) * 2011-01-14 2015-11-17 Skyworks Solutions, Inc. Apparatus and methods for serial interfaces
US20140184288A1 (en) * 2012-12-27 2014-07-03 Samsung Electronics Co., Ltd. Semiconductor circuit and method for operating the same
US10437774B2 (en) 2017-01-26 2019-10-08 Skyworks Solutions, Inc. Low noise serial interfaces with gated clock

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1115783A (ja) 1997-06-19 1999-01-22 Nec Corp 同期回路
JP2002300009A (ja) 2001-04-02 2002-10-11 Hitachi Ltd D型フリップフロップ回路装置
US7126874B2 (en) * 2004-08-31 2006-10-24 Micron Technology, Inc. Memory system and method for strobing data, command and address signals
US7560956B2 (en) * 2005-08-03 2009-07-14 Micron Technology, Inc. Method and apparatus for selecting an operating mode based on a determination of the availability of internal clock signals
JP2007086960A (ja) 2005-09-21 2007-04-05 Sanyo Electric Co Ltd クロック切り替え回路
KR100909364B1 (ko) * 2007-02-06 2009-07-24 삼성전자주식회사 시스템 클록의 노출을 차단하는 메모리 컨트롤러와 그 방법
JP4463295B2 (ja) 2007-06-28 2010-05-19 株式会社ルネサステクノロジ 半導体装置

Also Published As

Publication number Publication date
US20120246367A1 (en) 2012-09-27
US8649241B2 (en) 2014-02-11

Similar Documents

Publication Publication Date Title
JP3960583B2 (ja) 半導体メモリ装置及びこれを含むメモリモジュールを有するシステム
KR102177315B1 (ko) 플러시 제어 로직을 포함하는 입출력 인터셉터 로직, 및 그 입출력 인터셉터 로직을 이용하여 컴퓨터로 구현되는 방법
JP6353843B2 (ja) メモリアクセス制御モジュールおよびこれに関連する方法
JP5658082B2 (ja) 半導体装置
US10545888B2 (en) Data inversion circuit
JP2007133527A (ja) クロック信号生成回路、半導体集積回路及び分周率制御方法
CN109753458B (zh) 包括多数据速率存储器设备的存储设备以及存储器控制器
JP2009004032A (ja) 半導体メモリ装置、半導体メモリ装置の動作方法
KR20200108774A (ko) 순환 큐 기반의 명령어 메모리를 포함하는 메모리 장치 및 그 동작방법
US20070038795A1 (en) Asynchronous bus interface and processing method thereof
JP2012205100A (ja) メモリシステム、メモリコントローラ、及び同期化装置
JP5237739B2 (ja) 情報処理装置
US11861369B2 (en) Processing-in-memory (PIM) device
US20230025899A1 (en) Processing-in-memory(pim) device
US11803467B1 (en) Request buffering scheme
US20150348604A1 (en) Semiconductor memory apparatus and semiconductor integrated circuit including the same
CN215341078U (zh) 存储访问电路、集成芯片及电子设备
US20220100521A1 (en) Data loading and storage system and method
CN206282270U (zh) 一种处理器
CN115563052A (zh) 存储访问电路、集成芯片、电子设备及存储访问方法
JP2019200793A (ja) 半導体システム及びその動作方法
US11907005B2 (en) Clock management circuit and multi-core system including the same
US20230073929A1 (en) Processing-in-memory(pim) device
Gagan et al. DDR Controller with Optimized Delay and Access Time
CN106897234B (zh) 一种处理器以及处理器内置存储器的控制方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140603