JP6348234B2 - メモリコントローラ、メモリ制御方法および半導体記憶装置 - Google Patents
メモリコントローラ、メモリ制御方法および半導体記憶装置 Download PDFInfo
- Publication number
- JP6348234B2 JP6348234B2 JP2017540447A JP2017540447A JP6348234B2 JP 6348234 B2 JP6348234 B2 JP 6348234B2 JP 2017540447 A JP2017540447 A JP 2017540447A JP 2017540447 A JP2017540447 A JP 2017540447A JP 6348234 B2 JP6348234 B2 JP 6348234B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- command
- signal
- address
- signal line
- 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.)
- Active
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
- G06F13/1684—Details of memory controller using multiple buses
-
- 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
-
- 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
- G06F13/1694—Configuration of memory controller to different memory types
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Memory System (AREA)
Description
本発明は、半導体素子間で信号を伝送する信号伝送技術に関する。
近年、フラッシュメモリを利用したストレージ製品の市場が拡大傾向にあり、それに伴ってストレージ製品の大容量および高性能化への需要も高まっている。ストレージ製品を大容量化するためには、チップ、LSI、ASIC、CPUなどの各種デバイスの基板への実装密度を向上することが重要である。
例えばメモリコントローラを小型化できれば、基板上のデバイスの実装密度を高めることができる。メモリコントローラなどのシリコンチップは所定サイズのパッケージに封入される。パッケージの物理的なサイズはピン数に依存するので、メモリコントローラを小型化するには、その信号線の数を削減するのが有効である。
特許文献1には、信号線およびチップのピン数等の増加を抑制しつつ必要なメモリ帯域を確保するための技術が開示されている。特許文献1の要約には、「複数のメモリには、メモリ毎に独立してデータバスが接続される。また、複数のメモリには、メモリ毎に独立して選択信号線が接続される。コマンド信号線は、複数のメモリの間で共有して接続される。制御部は、複数のメモリのうちの少なくとも2つのメモリに対するバスマスタからのアクセス要求が出力された場合に、当該アクセス要求に応じたコマンドがコマンド信号線において重複して発行されないようにコマンド制御を行う」と記載されている。この技術により、信号線の数およびチップのピン数を低減し、デバイスの小型と製品の高密度実装を実現することができる。
しかしながら、特許文献1に記載された技術は、半導体メモリ素子のアドレス・コマンド信号とデータ信号を共通の信号線で伝送するインターフェース(以下「マルチプレックスインターフェース」という)に適用することができない。理由は、マルチプレックスインターフェースでは、データ信号とアドレス信号とコマンド信号を同じ信号線で伝送するため、データバスと選択信号線を複数のメモリにそれぞれ独立して設け、コマンド信号線を複数のメモリに共通に設けるという構成が採用できないからである。
本発明の目的は、マルチプレックスインタフェースを用いるメモリコントローラの性能低下を抑えつつ信号線数を削減することを可能にする技術を提供することである。
本発明の一つの実施態様に従うメモリコントローラは、複数のメモリ装置を制御するメモリコントローラである。メモリコントローラは、複数のメモリ装置毎にコマンドとアドレスとデータを同一のバス信号線にて伝送し、バス信号線におけるコマンドとアドレスとデータを識別するための識別信号を複数のメモリ装置に共通のメモリ共通信号線にて伝送するように信号線に信号が配置されている。メモリコントローラは、識別信号でデータを示して第1のメモリ装置にバス信号線にてデータを転送させているとき、第1のメモリ装置にデータの転送を中断させ、識別信号でコマンドを示して第2のメモリ装置へのコマンドを発行し、識別信号でアドレスを示して第2のメモリ装置へのアドレスを発行する。
本発明によれば、コマンドとアドレスとデータを同一のバス信号線で伝送する信号伝送構成において、バス信号線における識別信号を複数のメモリ装置に共通のメモリ共通信号線にて伝送するように信号線に信号を配置することで信号線の数を削減するとともに、いずれかのメモリ装置がデータ転送中であってもそれを中断して他のメモリ装置へのコマンドおよびアドレスを発行することで、データ転送の性能劣化を抑制することができる。
まず本実施形態について説明する。
図1は、本実施形態による半導体記憶装置の一例を示す図である。図1を参照すると、基板10上にメモリコントローラ20および複数のメモリ装置30が実装されている。メモリコントローラ20は複数のメモリ装置30に接続されている。メモリ装置30はメモリ素子であってもよいし、複数のメモリ素子の集合体であってもよい。
メモリコントローラ20は、コマンドとアドレスとデータを同一のバス信号線11、12で伝送するマルチプレックスインタフェースを用いたメモリコントローラである。
メモリコントローラ20は、複数のメモリ装置30毎にコマンドとアドレスとデータを同一のバス信号線11、12にて時分割で伝送し、バス信号線11、12におけるコマンドとアドレスとデータを識別するための識別信号を複数のメモリ装置に共通のメモリ共通信号線21にて時分割で伝送するように信号線に信号が配置されている。
メモリコントローラ20は、メモリ共通信号線21の識別信号でデータを示して第1のメモリ装置(例えばメモリ装置#0)にバス信号線11にてデータを転送させているとき、第1のメモリ装置にデータの転送を中断させ、識別信号でコマンドを示して第2のメモリ装置(例えばメモリ装置#1)へのコマンドを発行し、識別信号でアドレスを示して第2のメモリ装置へのアドレスを発行する。
このように、マルチプレックスインタフェースを用いたメモリコントローラ20において、バス信号線11、12におけるコマンドとアドレスとデータを識別するための識別信号を複数のメモリ装置30に共通のメモリ共通信号線21にて時分割で伝送するように信号線に信号を配置することで、信号線の数を削減する。それとともに、いずれかのメモリ装置30がデータ転送中であってもそれを中断して他のメモリ装置30へのコマンドおよびアドレスを発行することで、データ転送の性能劣化を抑制することができる。
その際、メモリコントローラ20は、第1のメモリ装置30にデータの転送を中断させ、識別信号でコマンドを示して第2のメモリ装置30へのコマンドを発行し、識別信号でアドレスを示して第2のメモリ装置30へのアドレスを発行したら、第1のメモリ装置30にデータの転送を再開させ、第2のメモリ装置30にデータの転送を開始させる。これにより、第1のメモリ装置30と第2のメモリ装置30を並行してデータ転送させることができるので、データ転送の性能劣化を良好に抑制することができる。
メモリコントローラ20は、内部構成の一例として、コマンドおよびアドレスを所望のタイミングで送信するコマンドアドレス制御回路と、データを所望のタイミングで送受信するデータ送受信制御回路とをメモリ装置30毎に有し、複数のコマンドアドレス制御回路間の識別信号の出力タイミングを調停する調停回路と、複数のコマンドアドレス制御回路からの識別信号をメモリ共通信号線21に合成するOR回路であるセレクト回路と、を複数のメモリ装置30に共通に有するものとしてもよい。
また、メモリコントローラ20は、第1のメモリ装置30がデータ転送している間、他のメモリ装置30へのコマンド発行要求の有無を監視することにしてもよい。その場合、メモリコントローラ20は、コマンド発行要求を検知すると、第1のメモリ装置30のデータ転送を中断させ、コマンド発行要求の対象となっているメモリ装置30へのコマンドを発行することにするとよい。これにより、第1のメモリ装置30がデータ転送中に他のメモリ装置30のコマンド発行要求を監視し、コマンド発行要求を検知すると第1のメモリ装置30のデータ転送を中断してコマンドを発行するので、無駄のない監視でコマンド発行要求を監視し、コマンド発行要求があれば迅速に検知してコマンドを発行することができる。
また、一例として、識別信号は、バス信号線11、12上のアドレスがラッチ可能であることを示すアドレス・ラッチ・イネーブル信号と、バス信号線11、12上のコマンドがラッチ可能であることを示すコマンド・ラッチ・イネーブル信号と、アドレスまたはコマンドをラッチするタイミングを示すライト・イネーブル信号とを含む。
また、複数のメモリ装置30を、それぞれ複数のメモリ装置30を含む複数のグループにグループ化してもよい。その場合、メモリコントローラ20は、メモリ装置30毎のバス信号線11、12と、グループに含まれる複数のメモリ装置30に共通のグループ毎のメモリ共通信号線21と、を出力することにするとよい。メモリ装置30の個数が多くメモリ共通信号線21を全てのメモリ装置30に共通接続するとメモリ共通信号線21の負荷容量が大きすぎて伝送速度が低下してしまう場合でも、本構成によれば、メモリ装置30をグループ化してグループ毎にメモリ共通信号線21を設けるのでメモリ共通信号線21の負荷容量を低減することができる。この構成例を実施例2として後述する。
また、メモリコントローラ20のメモリ共通信号線21が、1対多の切替スイッチ回路(不図示)を介して複数のメモリ装置に接続される構成を採用してもよい。その場合、メモリコントローラ20は、識別信号の送信先と連動して切替スイッチ回路を切り替えるスイッチ制御信号を更に出力することにするよい。メモリ装置30の個数が多くメモリ共通信号線21を全てのメモリ装置30に共通接続するとメモリ共通信号線21の負荷容量が大きすぎて伝送速度が低下してしまう場合でも、本構成によれば、切替スイッチ回路を設けることで、メモリコントローラ20のメモリ共通信号線21を1対1接続にし、負荷容量を低減することができる。この構成例を実施例3として後述する。
また、複数のメモリ装置30はそれぞれ、複数のメモリ素子(不図示)と、バス信号線11、12およびメモリ共通信号線21を複数のメモリ素子のいずれか1つに択一的に接続する切替スイッチ回路(不図示)と、を有することにしてもよい。その場合、メモリコントローラ20のバス信号線11、12およびメモリ共通信号線21は切替スイッチ回路を介して複数のメモリ素子に接続される。そして、メモリコントローラは、データ転送の対象として選択されるメモリ素子と連動して切替スイッチ回路を切り替えるスイッチ制御信号を更に出力する。これにより、メモリ素子の個数が多くメモリ共通信号線21を全てのメモリ装置30に共通接続するとメモリ共通信号線の負荷容量が大きすぎて伝送速度が低下してしまう場合でも、本構成によれば、それぞれに複数のメモリ素子に接続された複数の切替スイッチ回路を設けることで、メモリコントローラのメモリ共通信号線の負荷容量を低減することができる。この構成例を実施例4として後述する。
以下、更に具体的な実施例について図面を用いて説明する。
図2は、実施例1にかかる半導体記憶装置の構成例を示す図である。
基板100上に、メモリコントローラ(チップ、ASIC、LSI、CPUなどの半導体デバイス)200と、複数の半導体メモリ素子300が実装されている。
本実施例の半導体記憶装置では、メモリコントローラとメモリ素子の間の伝送方式として、マルチプレックスインターフェースを採用している。マルチプレックスインターフェースは、アドレス・コマンド信号とデータ信号を同一の信号線を使って伝送するインターフェースである。アドレス・コマンド信号のために専用ピンを設ける必要がないため、信号数を減らせるというメリットがある。ただし、アドレス・コマンド信号とデータ信号とを同一の信号線で伝送するため、その信号線を流れる信号を識別するための制御信号(識別信号121)が必要である。識別信号121は、例えば、半導体メモリ素子300がNANDフラッシュメモリである場合、アドレスラッチイネーブル信号ALE、コマンドラッチイネーブル信号CLE、およびライトイネーブル信号WE#である。
複数の半導体メモリ素子300のそれぞれ毎にメモリバスのデータ信号101、102がある。例えばALE、CLE、WE#信号などの識別信号121は、複数の半導体メモリ素子300に共有化されている。
メモリコントローラ200には、データ信号101、102のデータバスをそれぞれ制御するための識別信号を、複数のデータバスに共有の識別信号121に統合するための調停回路(アービタ)220があり、調停回路220がOR回路(セレクタ回路)230を制御することにより識別信号121を生成している。調停回路220は、識別信号を出力すべき半導体メモリ素子300への識別信号を選択するようにOR回路230を制御する。
本実施例では、識別信号121を複数の半導体メモリ素子300で共有化することによりメモリコントローラ200のピン数と基板100上の信号線の本数を削減する。しかし、例えば、半導体メモリ素子300に接続するバスが各半導体メモリ素子300毎に存在する構成(図2の例では、Bus#0とBus#1の2バス構成)において識別信号121を単純に共有化すると、物理的には2つのバスがあるにもかかわらず、バス1つ分のスループット性能しかでない。信号線の共有化に伴う性能の低下である。
そこで、本実施例では、識別信号121を複数のバスで共有するのに加えて、Bus#0がデータ転送中においても、Bus#1のアドレス・コマンドの発行できるようにメモリコントローラ200にコマンド発行制御回路部211、212が追加される。このような構成を備えることにより、2バス分の性能を維持することが可能になる。
図3は、実施例1との比較のために、識別信号をバス毎に個別に設けた場合の書き込み時のメモリコントローラの動作例を示すタイミングチャートである。図4は、実施例1における書き込み時のメモリコントローラの動作例を示すタイミングチャートである。
図3、図4とも半導体メモリ素子300がNANDフラッシュメモリ素子である場合を例示している。ただし、半導体メモリ素子300は、NANDフラッシュメモリ素子に限定されるものではなく、ReRAM(Resistance Random Access Memory)やMRAM(Magneto resistive RAM)やPCM(Phase Change Memory)など様々なメモリ素子のいずれであってもよい。
図3に示すように、識別信号をバス毎に個別に設けた場合、各半導体メモリ素子300に対して、全ての信号がそれぞれ独立に接続される。図3の例では、バスBus#0とバスBus#1にそれぞれ独立した、チップ選択信号CE#、データ信号DQ、ストローブ信号DQS、アドレスラッチイネーブル信号ALE、コマンドラッチイネーブル信号CLE、およびライトイネーブル信号WE#が接続されている。そのため、Bus#0とBus#1は、互いに相手のバスの状態に関係なく独立にデータ転送を行うことができる。つまり、図3の構成では、1つのバスによるデータ転送能力の2倍のデータ転送能力を得ることができる。
本実施例では、ALE、CLE、およびWE#という識別信号121をBus#0とBus#1で共有しているため、メモリコントローラ200は、図4に示すように、アドレス・コマンド信号を発行するときには、Bus#0、#1のどちらか一方のバスしか動作させることができない。一方、データ転送中は、Bus#0とBus#1に共有されている識別信号121は固定されているので、Bus#0のデータ転送とBus#1のデータ転送を同時に実行することができる。そこで本実施例ではアドレス・コマンド信号をデータ転送よりも優先させることにより、できるだけ、データ転送の要求が生じた場合にはそのデータ転送をできるだけ早く開始させる。
図4に示すように、例えば、Bus#0のデータ転送中にBus#1のアドレス・コマンド信号を発行する要求(以下「アドレス・コマンド発行要求」という)が発生したら、メモリコントローラ200はBus#0のチップ選択信号CE111(CE#0)を非選択に切り替え、データ信号101(データ信号DQおよびストローブ信号DQS)を停止することにより、データ転送を中断する。
データ転送が中断されると識別信号121を使用することが可能になるため、メモリコントローラ200はBus#1のアドレス・コマンド信号を発行することが可能になる。メモリコントローラ200は、Bus#1のアドレス・コマンド信号を発行したら、その後続けてBus#1のデータ転送を開始する。Bus#1のデータ転送を開始した後はデータ転送を中断していたBus#0のデータ転送も可能になるため、メモリコントローラ200はBus#0のデータ転送を再開する。データ転送中は、Bus#0とBus#1に共有されている識別信号121は固定されるため、Bus#0のデータ転送とBus#1のデータ転送を同時に実行できるからである。
図5は、実施例1にかかる半導体記憶装置のバスの制御フローチャートの例である。
いずれかのバス(Bus#x)のデータ転送を行うとき、メモリコントローラ200は、まず複数のバスが共有している識別信号をBus#xのために確保し(ステップS101)、アドレス・コマンド信号を発行する(ステップS102)。その後、メモリコントローラ200は、Bus#xのデータ転送を開始する(ステップS103)。
データ転送中、メモリコントローラ200は、他のバスのアドレス・コマンド発行要求が生じているか否かデータ転送の終了まで継続的に確認する(ステップS104)。
Bus#xのデータ転送中に他のバス(Bus#y)のアドレス・コマンド発行要求が生じれば(ステップS104のあり)、メモリコントローラ200は、Bus#xのデータ転送を中断し(ステップS105)、アドレス・コマンド信号を発行する(ステップS106)。
その後、メモリコントローラ200は、中断していたBus#xのデータ転送を再開し(ステップS107)、データ転送が終了したか否か判断する(ステップS108)。
データ転送中に、メモリコントローラ200は、Bus#yのバスのアドレス・コマンド発行要求が生じなければ(ステップS104のNO)、メモリコントローラ200はBus#xのデータ転送が終了したか否か判断する(ステップS108)。
データ転送が終了していなければ(ステップS108のNo)、メモリコントローラ200はステップS103に戻る。データ転送が終了していれば(ステップS108のYes)、メモリコントローラ200は処理を終了する。
図6は、実施例1にかかるメモリコントローラ200の内部動作を説明するための図である。図6には、識別信号121を共有するBus#0とBus#1の2バス構成が例示されている。
いずれか一方のバス(ここでは一例としてBus#0)のデータ転送中に、他方のバス(ここでは一例としてBus#1)のデータ転送の要求が発生したときのメモリコントローラ200の動作について説明する。
(1)Bus#0のデータ送信制御回路201がBus#0によるデータ転送中に、(2)Bus#1のコマンド発行制御回路部212がBus#1のアドレス・コマンド発行要求を調停回路220とBus#0のデータ送信制御回路201に発行する。
アドレス・コマンド発行要求を受信すると、(3)Bus#0のデータ送信制御回路201はデータ転送を中断するためにBus#0のチップ選択信号111とデータ信号101を停止する。ここで、チップ選択信号111は、チップセレクト信号CSおよびチップイネーブル信号CE#などである。ここで停止されるデータ信号101はストローブ信号(DQS及びDQS#)も含む。
その後、(4)Bus#0のデータ送信制御回路201が、アドレス・コマンド信号の発行の許可(以下「アドレス・コマンド発行許可」)をBus#1のコマンド発行制御回路部211へ送信し、かつ、(5)Bus#0の調停回路220が、発行許可信号をBus#1のコマンド発行制御回路211へ送信する。
データ送信制御回路201からの(4)のアドレス・コマンド発行許可の信号と、調停回路220からの(5)の発行許可信号を受信したBus#1のコマンド発行制御回路部212は、(6)アドレス・コマンド信号を発行する。
その後、(7)Bus#1のコマンド発行制御回路部212は、アドレス・コマンド信号の発行完了の通知をBus#0のデータ送信制御回路201へ送信する。さらに、(8)Bus#1のデータ送信制御回路202はBus#1のデータ転送を開始する。
また、(7)にてアドレス・コマンドの発行完了通知を受けたBus#0のデータ送信制御回路201は、(9)データ転送を再開する。
図6に示した動作により、一時的に短時間のデータ転送の中断は発生するが、その後で2つのバスが同時にデータ転送を行うことが可能になる。
以下、データ転送の中断時間を算出する。ここではNANDフラッシュメモリへのデータ書き込みの場合を例示する。
NANDフラッシュメモリへのデータ書き込みの場合、アドレス・コマンド信号の発行に要する時間が120nsである。一方、データ転送に要する時間が80usであり、ビジー時間が2500usである。そのため、アドレス・コマンド信号を発行するためのデータ転送の中断することによる時間増加分が0.005%以下と性能の低下が小さく、ほぼバス2個分の性能を維持することが可能である。よって、本実施例では複数のバスのトータル性能を維持しつつ、メモリコントローラ200のピン数および基板100上の配線の本数を削減することが可能になる。
なお、本実施例では、主に、マルチプレックスインタフェースが用いられるNANDフラッシュメモリを制御するメモリコントローラを例にして説明を行ったが、本発明がこれに限定されることは無い。本実施例に適用した技術は、アドレス・コマンド信号とデータ信号を同一の信号線で伝送し、アドレス、コマンド、およびデータを識別するための信号を有するインタフェースを用いた複数のメモリバスを制御するメモリコントローラおよびその信号伝送システムに広く適用可能である。
図7は、実施例2にかかる半導体記憶装置の構成例を示す図である。
実施例2では、メモリコントローラ200は実施例1のものに比べてより多くの半導体メモリ素子300を制御する。実施例2は、メモリコントローラ200と半導体メモリ素子300の間で複数のバスが同一の識別信号を共有する点において実施例1と同様である。
ただし、全ての半導体メモリ素子300が1つの識別信号を共有すると、識別信号の信号線への負荷容量が大きくなり、識別信号の波形が鈍り、伝送速度が低下してしまう。そこで実施例2では複数の半導体メモリ素子300を複数のグループに分け、同じグループに属する半導体メモリ素子300が識別信号を共有することにしている。各グループに属する半導体メモリ素子300の個数は、それだけの半導体メモリ素子300が1つの識別信号を共有しても負荷容量が許容範囲内となる個数である。図7の例では、1のグループに2つの半導体メモリ素子300が属している。これにより、識別信号の負荷容量の増大で伝送速度が低下するのを防止しつつ、識別信号の共有によりメモリコントローラのピン数を低減することが可能となる。
図7を参照すると、半導体メモリ素子300はグループA、B・・・に分けられている。実施例2のメモリコントローラ200は、図2に示した実施例1のメモリコントローラの内部回路を複数個内蔵した構成である。内部回路は、データ送信制御回路201、202、コマンド発行制御回路部211、212、調停回路220、およびセレクタ回路230を有している。実施例1のメモリコントローラの内部回路の個数はグループ数を同数であり、メモリコントローラの内部回路のそれぞれが各グループに対応している。
各内部回路に含まれる、データ送信制御回路201、202、コマンド発行制御回路部211、212、調停回路220、およびセレクタ回路230のそれぞれの動作は実施例1のものと同様である。
以上説明したように、実施例2では、メモリコントローラ200と複数の半導体メモリ素子300の間でデータ転送を行う信号伝送システムにおいて、実施例1と異なり、複数の半導体メモリ素子300をグループ化し、同じグループに属する半導体メモリ素子300で同一の識別信号を共有化している。それにより、半導体メモリ素子300の個数が多くなっても識別信号の信号線への負荷容量を許容範囲内に抑えて信号の伝送速度の低下を抑えつつ、メモリコントローラ200のピン数を削減することが可能となっている。
図8は、実施例3にかかる半導体記憶装置の構成例を示す図である。
実施例3も実施例2と同様、メモリコントローラ200が実施例1のものに比べてより多くの半導体メモリ素子300を制御する。また、実施例3は、メモリコントローラ200と半導体メモリ素子300の間で複数のバスが同一の識別信号を共有する点において実施例1と同様である。
全ての半導体メモリ素子300が1つの識別信号を共有すると、識別信号の信号線への負荷容量が大きくなり、識別信号の波形が鈍り、伝送速度が低下してしまう。そこで実施例3では、メモリコントローラ200と半導体メモリ素子300の間にスイッチ回路400を設け、メモリコントローラ200からの識別信号121を接続する半導体メモリ素子300をスイッチ回路400で切り替える。これにより、識別信号の信号線に複数の半導体メモリ素子300を接続しなくてよくなるので、負荷容量による伝送速度の低下を抑えることができる。
図8を参照すると、基板100上に、メモリコントローラ200と複数の半導体メモリ素子300とスイッチ回路400が実装されている。スイッチ回路400は、制御信号131で選択を切り替える1対多のセレクト回路である。スイッチ回路400の例としては、バススイッチ回路、アナログスイッチ回路、デジタルスイッチ回路などがある。メモリコントローラ200からの識別信号121が、スイッチ回路400の端子が1つの側の端子に接続されている。スイッチ回路400の端子が複数の側の複数の端子のそれぞれは複数の半導体メモリ素子300に接続されている。
複数の半導体メモリ素子300に識別信号121を共有化してメモリコントローラ200のピン数を低減するとともに、識別信号121の信号線の負荷容量により伝送速度が低下するのを防止することができる。
図8を参照すると、実施例3のメモリコントローラ200は図2に示した実施例1のメモリコントローラ200と同様の構成である。ただし、実施例3では、調停回路220は実施例1のものと同様にOR回路230を制御するとともに、その制御と連動してOR回路230が出力する識別信号121の接続先を切り替えるための制御信号131を生成する。
図9は、実施例4にかかる半導体記憶装置の構成例を示す図である。
実施例4も実施例2、3と同様、メモリコントローラ200が実施例1のものに比べてより多くの半導体メモリ素子300を制御する。また、実施例4は、メモリコントローラ200と半導体メモリ素子300の間で複数のバスが同一の識別信号を共有する点において実施例1と同様である。
ただし、全ての半導体メモリ素子300が1つの識別信号を共有すると、識別信号の信号線への負荷容量が大きくなり、識別信号の波形が鈍り、伝送速度が低下してしまう。そこで実施例4では、図2に示した半導体メモリ素子300の代わりにメモリ装置500を設けている。メモリ装置500は、複数の半導体メモリ素子300、301・・・とスイッチ回路400を有している。
Bus#0とBus#1のメモリ装置500は同一構成であるが、例えばBus#0では、スイッチ回路400は、メモリコントローラ200からのデータ信号101、チップ選択信号111、および識別信号121をいずれかの半導体メモリ素子300、301に択一的に接続する。スイッチ回路400の選択切り替えを制御するための制御信号131は、メモリコントローラ200から与えられる。
実施例4のメモリコントローラ200に含まれる、データ送信制御回路201、202、コマンド発行制御回路部211、212、調停回路220、およびセレクタ回路230のそれぞれの動作は実施例1のものと同様である。
ただし、コマンド発行制御回路部211、212は、対応するメモリ装置500に含まれる複数の半導体メモリ素子300、301に対するコマンド信号の発行を制御する。そして、その際、コマンド発行制御回路211、212は、複数の半導体メモリ素子300、301のうちからデータ転送の対象として選択される半導体メモリ素子300、301と連動してスイッチ回路400の選択切り替えを制御するための制御信号131を生成する。
以上の構成により、実施例4では、識別信号の信号線に接続する素子数を負荷容量が許容範囲となるように抑えることができるので、メモリコントローラ200のピン数を低減するとともに、負荷容量による伝送速度の低下を抑えることができる。
図9を参照すると、基板100上に、メモリコントローラ200と、複数の半導体メモリ素子300、301と、複数のスイッチ回路400が実装されている。1つのスイッチ回路400と複数の半導体メモリ素子300、301で1つのメモリ装置500を構成しており、メモリコントローラ200は、メモリ装置500毎にメモリバスが設けられている。メモリコントローラ200は、制御信号131によって、識別信号121の接続先を何れかの半導体メモリ素子300、301に決める。
実施例4でスイッチ回路400を用いる理由は、1つのメモリバスに多段の半導体メモリ素子300、301を接続することを可能にするためである。スイッチ回路400が無ければ、1つの信号線に複数の半導体メモリ素子300、301を接続する必要があり、信号線への負荷容量が大きくなり、高速のデータ転送ができなくなり、スループット(性能)の低下をまねく可能性がある。
実施例4では、スイッチ回路400を介して接続する信号線の内、アドレス・コマンド信号とデータ信号を識別するための識別信号121を複数のバスが共有している。言い換えれば、複数のスイッチ回路400が識別信号121を共有しているともいえる。これにより、スイッチ回路400を用いて複数の半導体メモリ素子300、301を多段接続する信号伝送システムにおいても、共有化により識別信号121を削減し、メモリコントローラ200のピン数を削減することができる。
以上、各種の実施形態および実施例について図面を参照して説明したが、それらは、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態あるいは実施例のみに限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
10…基板、100…基板、101…データ信号、102…データ信号、11…バス信号線、111…チップ選択信号、112…チップ選択信号、121…識別信号、131…制御信号、2…バス、20…メモリコントローラ、200…メモリコントローラ、201…データ送信制御回路、202…データ送信制御回路、21…メモリ共通信号線、211…コマンド発行制御回路部、212…コマンド発行制御回路部、220…調停回路、230…OR回路(セレクタ回路)、30…メモリ装置、300…半導体メモリ素子、400…スイッチ回路、500…メモリ装置
Claims (10)
- 複数のメモリ装置を制御するメモリコントローラにおいて、
複数のメモリ装置毎にコマンドとアドレスとデータを同一のバス信号線にて伝送し、前記バス信号線におけるコマンドとアドレスとデータを識別するための識別信号を複数のメモリ装置に共通のメモリ共通信号線にて伝送するように信号線に信号が配置され、前記識別信号でデータを示して第1のメモリ装置に前記バス信号線にてデータを転送させているとき、前記第1のメモリ装置にデータの転送を中断させ、前記識別信号でコマンドを示して第2のメモリ装置へのコマンドを発行し、前記識別信号でアドレスを示して前記第2のメモリ装置へのアドレスを発行する、ことを特徴とするメモリコントローラ。 - 前記メモリコントローラは、前記第1のメモリ装置にデータの転送を中断させ、前記識別信号でコマンドを示して前記第2のメモリ装置へのコマンドを発行し、前記識別信号でアドレスを示して前記第2のメモリ装置へのアドレスを発行したら、前記第1のメモリ装置にデータの転送を再開させ、前記第2のメモリ装置にデータの転送を開始させる、請求項1に記載のメモリコントローラ。
- コマンドおよびアドレスを所望のタイミングで送信するコマンドアドレス制御回路と、データを所望のタイミングで送受信するデータ送受信制御回路とを前記メモリ装置毎に有し、
複数の前記コマンドアドレス制御回路間の識別信号の出力タイミングを調停する調停回路と、複数の前記コマンドアドレス制御回路からの識別信号を前記メモリ共通信号線に合成するOR回路であるセレクト回路と、を前記複数のメモリ装置に共通に有する、
請求項1に記載のメモリコントローラ。 - 前記第1のメモリ装置がデータ転送している間、他のメモリ装置へのコマンド発行要求の有無を監視し、前記コマンド発行要求を検知すると、前記第1のメモリ装置のデータ転送を中断させ、前記コマンド発行要求の対象となっているメモリ装置へのコマンドを発行する、請求項1に記載のメモリコントローラ。
- 前記識別信号は、前記バス信号線上の前記アドレスがラッチ可能であることを示すアドレス・ラッチ・イネーブル信号と、前記バス信号線上の前記コマンドがラッチ可能であることを示すコマンド・ラッチ・イネーブル信号と、前記アドレスまたは前記コマンドをラッチするタイミングを示すライト・イネーブル信号とを含む、請求項1に記載のメモリコントローラ。
- 前記複数のメモリ装置は、それぞれ複数のメモリ装置を含む複数のグループにグループ化され、
前記メモリコントローラは、前記メモリ装置毎のバス信号線と、前記グループに含まれる複数のメモリ装置に共通の前記グループ毎のメモリ共通信号線と、を出力する、
請求項1に記載のメモリコントローラ。 - 前記メモリコントローラの前記メモリ共通信号線は、1対多の切替スイッチ回路を介して前記複数のメモリ装置に接続され、
前記メモリコントローラは、前記識別信号の送信先と連動して前記切替スイッチ回路を切り替えるスイッチ制御信号を更に出力する、
請求項1に記載のメモリコントローラ。 - 前記複数のメモリ装置はそれぞれ、複数のメモリ素子と、前記バス信号線および前記メモリ共通信号線を複数のメモリ素子のいずれか1つに択一的に接続する切替スイッチ回路と、を有し、
前記メモリコントローラの前記バス信号線および前記メモリ共通信号線は前記切替スイッチ回路を介して前記複数のメモリ素子に接続され、
前記メモリコントローラは、データ転送の対象として選択されるメモリ素子と連動して前記切替スイッチ回路を切り替えるスイッチ制御信号を更に出力する、
請求項1に記載のメモリコントローラ。 - 複数のメモリ装置を制御するメモリコントローラによるメモリ制御方法であって、
複数のメモリ装置毎にコマンドとアドレスとデータを同一のバス信号線にて伝送し、前記バス信号線におけるコマンドとアドレスとデータを識別するための識別信号を複数のメモリ装置に共通のメモリ共通信号線にて伝送するように信号線に信号が配置され、
前記識別信号でデータを示して第1のメモリ装置に前記バス信号線にてデータを転送させているとき、前記第1のメモリ装置にデータの転送を中断させ、
前記識別信号でコマンドを示して第2のメモリ装置へのコマンドを発行し、
前記識別信号でアドレスを示して前記第2のメモリ装置へのアドレスを発行する、メモリ制御方法。 - 複数のメモリ装置と、
前記複数のメモリ装置を制御するメモリコントローラとを有し、
前記メモリコントローラは、複数のメモリ装置毎にコマンドとアドレスとデータを同一のバス信号線にて伝送し、前記バス信号線におけるコマンドとアドレスとデータを識別するための識別信号を複数のメモリ装置に共通のメモリ共通信号線にて伝送するように信号線に信号が配置され、前記識別信号でデータを示して第1のメモリ装置に前記バス信号線にてデータを転送させているとき、前記第1のメモリ装置にデータの転送を中断させ、前記識別信号でコマンドを示して第2のメモリ装置へのコマンドを発行し、前記識別信号でアドレスを示して前記第2のメモリ装置へのアドレスを発行する、半導体記憶装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/076775 WO2017046958A1 (ja) | 2015-09-18 | 2015-09-18 | メモリコントローラ、メモリ制御方法および半導体記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2017046958A1 JPWO2017046958A1 (ja) | 2018-02-22 |
JP6348234B2 true JP6348234B2 (ja) | 2018-06-27 |
Family
ID=58288397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017540447A Active JP6348234B2 (ja) | 2015-09-18 | 2015-09-18 | メモリコントローラ、メモリ制御方法および半導体記憶装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10585820B2 (ja) |
JP (1) | JP6348234B2 (ja) |
CN (1) | CN109348730B (ja) |
WO (1) | WO2017046958A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113111614B (zh) * | 2021-06-15 | 2021-09-28 | 北京芯愿景软件技术股份有限公司 | 类总线分组的确定方法、装置、设备及介质 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5150328A (en) * | 1988-10-25 | 1992-09-22 | Internation Business Machines Corporation | Memory organization with arrays having an alternate data port facility |
KR970008188B1 (ko) | 1993-04-08 | 1997-05-21 | 가부시끼가이샤 히다찌세이사꾸쇼 | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 |
JPH0728690A (ja) | 1993-07-14 | 1995-01-31 | Hitachi Ltd | フラッシュメモリシステム |
WO1997023833A1 (fr) | 1995-12-21 | 1997-07-03 | Hitachi, Ltd. | Systeme de bus pour un processeur d'informations |
JP2800764B2 (ja) | 1996-02-09 | 1998-09-21 | 日本電気株式会社 | データ転送制御方式 |
US5860080A (en) * | 1996-03-19 | 1999-01-12 | Apple Computer, Inc. | Multicasting system for selecting a group of memory devices for operation |
US5822251A (en) * | 1997-08-25 | 1998-10-13 | Bit Microsystems, Inc. | Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers |
JP4722305B2 (ja) * | 2001-02-27 | 2011-07-13 | 富士通セミコンダクター株式会社 | メモリシステム |
JP2003131940A (ja) * | 2001-10-25 | 2003-05-09 | Hitachi Ltd | メモリコントローラ装置 |
JP4181839B2 (ja) * | 2002-09-30 | 2008-11-19 | キヤノン株式会社 | システムコントローラ |
US7405949B2 (en) | 2005-12-09 | 2008-07-29 | Samsung Electronics Co., Ltd. | Memory system having point-to-point (PTP) and point-to-two-point (PTTP) links between devices |
JP5165233B2 (ja) * | 2005-12-09 | 2013-03-21 | 三星電子株式会社 | メモリシステム |
US8489780B2 (en) * | 2006-12-21 | 2013-07-16 | Intel Corporation | Power saving in NAND flash memory |
KR100921787B1 (ko) * | 2007-11-01 | 2009-10-15 | 주식회사 이스트후 | 낸드 플래시 메모리 제어장치 |
US7804735B2 (en) | 2008-02-29 | 2010-09-28 | Qualcomm Incorporated | Dual channel memory architecture having a reduced interface pin requirements using a double data rate scheme for the address/control signals |
JP4643729B2 (ja) | 2009-07-09 | 2011-03-02 | 株式会社東芝 | インタリーブ制御装置、インタリーブ制御方法及びメモリシステム |
JP5570619B2 (ja) * | 2010-02-23 | 2014-08-13 | ラムバス・インコーポレーテッド | 異なるメモリ種類にアクセスする異なる速度での時分割多重化 |
US8310880B2 (en) * | 2010-03-05 | 2012-11-13 | 248 Solid State, Inc. | Virtual channel support in a nonvolatile memory controller |
JP2012226491A (ja) | 2011-04-18 | 2012-11-15 | Sony Corp | メモリ制御装置、集積回路、情報処理装置およびメモリ制御方法 |
JP2012230621A (ja) * | 2011-04-27 | 2012-11-22 | Sony Corp | メモリ装置、メモリ制御装置、メモリ制御方法 |
US20130094271A1 (en) * | 2011-08-22 | 2013-04-18 | Mosaid Technologies Incorporated | Connection of multiple semiconductor memory devices with chip enable function |
EP2704015A4 (en) * | 2011-09-30 | 2014-11-05 | Hitachi Ltd | NON-VOLATILE SEMICONDUCTOR MEMORY SYSTEM |
KR20130114354A (ko) * | 2012-04-09 | 2013-10-18 | 삼성전자주식회사 | 메모리 시스템 및 컨트롤러의 동작 방법 |
-
2015
- 2015-09-18 JP JP2017540447A patent/JP6348234B2/ja active Active
- 2015-09-18 CN CN201580081673.7A patent/CN109348730B/zh active Active
- 2015-09-18 WO PCT/JP2015/076775 patent/WO2017046958A1/ja active Application Filing
- 2015-09-18 US US15/740,543 patent/US10585820B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JPWO2017046958A1 (ja) | 2018-02-22 |
US20180196766A1 (en) | 2018-07-12 |
CN109348730A (zh) | 2019-02-15 |
US10585820B2 (en) | 2020-03-10 |
CN109348730B (zh) | 2022-05-24 |
WO2017046958A1 (ja) | 2017-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7353316B2 (en) | System and method for re-routing signals between memory system components | |
JP4861339B2 (ja) | スイッチマトリックス経由のデータ転送を改善するフロー制御方法 | |
TWI736914B (zh) | 具有多工命令/位址匯流排之記憶體設備及記憶體模組,及操作一記憶體裝置之方法 | |
US20070162645A1 (en) | Communication system for data transfer between on-chip circuits | |
EP1564646A2 (en) | Configurable embedded processor | |
US10409737B2 (en) | Apparatus, system, and method for positionally aware device management bus address assignment | |
EP3901778B1 (en) | Stacked memory device with end to end data bus inversion | |
JP4205743B2 (ja) | 半導体記憶装置及び半導体装置 | |
JP2008009817A (ja) | 半導体装置及びデータ転送方法 | |
KR20120037785A (ko) | 부하 균형을 유지하는 시스템 온 칩 및 그것의 부하 균형 유지 방법 | |
US10908840B2 (en) | Semiconductor memory module including nonvolatile memory devices | |
JP6348234B2 (ja) | メモリコントローラ、メモリ制御方法および半導体記憶装置 | |
US10402348B2 (en) | Method and system for using feedback information for selecting a routing bus for a memory transaction | |
US11157183B2 (en) | Memory controller | |
US20100042756A1 (en) | Data transfer device | |
US9846194B2 (en) | Electrostatic protection circuit and semiconductor device including the same | |
US20160292090A1 (en) | Data processing system capable of controlling peripheral devices using group identification information and control method thereof | |
WO2016072007A1 (ja) | 半導体メモリデバイス、ストレージシステム及び計算機 | |
US10013195B2 (en) | Memory module including plurality of memory packages with reduced power consumption | |
CN109478162B (zh) | 半导体存储装置 | |
JP2004213666A (ja) | Dmaモジュールとその操作方法 | |
US20240069721A1 (en) | Memory with switchable channels | |
JP6535516B2 (ja) | マルチ・プログラマブルデバイス・システムとその制御方法 | |
JP2000047766A (ja) | パラレルデ―タ伝送方法および装置、パラレルバスシステムにおける衝突防止方法および装置 | |
JP2005063183A (ja) | 半導体集積回路、半導体集積回路ブロック、データ転送システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171027 |
|
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: 20180522 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180530 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6348234 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |