JP2010537326A - デイジーチェーンメモリの構成および使用 - Google Patents

デイジーチェーンメモリの構成および使用 Download PDF

Info

Publication number
JP2010537326A
JP2010537326A JP2010522146A JP2010522146A JP2010537326A JP 2010537326 A JP2010537326 A JP 2010537326A JP 2010522146 A JP2010522146 A JP 2010522146A JP 2010522146 A JP2010522146 A JP 2010522146A JP 2010537326 A JP2010537326 A JP 2010537326A
Authority
JP
Japan
Prior art keywords
memory device
data
memory
controller
link
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
Application number
JP2010522146A
Other languages
English (en)
Inventor
ハクジュン・オ
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.)
Mosaid Technologies Inc
Original Assignee
Conversant Intellectual Property Management Inc
Mosaid Technologies Inc
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 Conversant Intellectual Property Management Inc, Mosaid Technologies Inc filed Critical Conversant Intellectual Property Management Inc
Publication of JP2010537326A publication Critical patent/JP2010537326A/ja
Pending 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/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/426Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • 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
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

デイジーチェーンメモリ構成および使用について開示する。メモリシステムは、デイジーチェーン方式で結合されたコントローラ、および多数の連続メモリデバイスからなる対応するストリングを含む。コントローラは、直列制御リンクを介してコマンドを伝達して、第1のメモリデバイスを、チェーン中の第2のメモリデバイスにデータブロックを書き込むように構成する。たとえば、コントローラは、デイジーチェーン制御リンクを介して通信して、多数のメモリデバイスのうち第1のメモリデバイスを、データを出力するソースとなるように構成し、デイジーチェーン制御リンクを介して通信して、第2のメモリデバイスを、データを受信する移動先となるように構成し、デイジーチェーン制御リンクを介して通信して、第1のメモリデバイスから第2のメモリデバイスへのデータの転送を開始することによって、データブロックのコピーを開始する。

Description

本発明は、メモリシステムに関するものであり、特にデイジーチェーンメモリの構成および使用に関するものである。
今日、多くの電子デバイスが、情報を格納するためのメモリシステムを含む。たとえば、一部のメモリシステムは、デジタル化された音声情報を、それぞれのメディアプレーヤによる再生用に格納する。それ以外のメモリシステムは、異なるタイプの処理機能を行うためのソフトウェアおよび関連情報を格納する。
電子デバイスの多くにおいて、メモリシステムはしばしば、コントローラおよび1つまたは複数の対応するメモリデバイスを備える。コントローラは通常、データの格納および取出しのためにメモリデバイスに信号を生成するように構成された回路機構を含む。
従来のいくつかのメモリシステムでは、プロセッサなどのコントローラは、アドレスバスおよびデータバスを使って、メモリに格納されたデータにアクセスする。しばしば、多くのワイヤーが、このようなバスを実装するのに使われ、メモリシステムのレイアウトに依存して、バス接続は、長距離用に拡張し、異なる多くのメモリデバイスそれぞれにプロセッサを直接接続する必要があるので、異なる多くの回路基板層を通ることができる。
米国特許出願第11/779,587号明細書 米国特許出願第11/959,996号明細書
次に、一例としての添付の図面を参照する。
本発明の実施形態に係るメモリシステムを示すブロック図例である。 本発明の実施形態に係るメモリシステムを示すブロック図例である。 本発明の第1の実施形態に係るメモリシステムを示すブロック図例である。 本発明の実施形態に係るブロックコピーの実施を示すタイミング図の例である。 本発明の実施形態に係るブロックコピーの実施を示すタイミング図の例である。 本発明の実施形態に係る、メモリコントローラによって実行される、1つのメモリデバイスから別のメモリデバイスにデータをコピーするための一連のステップを記述するフローチャート例である。 本発明の第2の実施形態に係るメモリシステムを示すブロック図例である。 本発明の実施形態に係る、メモリシステム例および1つのメモリデバイスから多数のメモリデバイスへのデータのコピーを示すブロック図である。 本発明の実施形態に係る、メモリコントローラによって実行される、1つのメモリデバイスから多数のメモリデバイスにデータをコピーするための一連のステップを記述するフローチャート例である。 本発明の実施形態に係るパケットタイミング情報を示すタイミング図例である。 本発明の実施形態に係るパケットタイミング情報を示すタイミング図例である。 本発明の実施形態に係るパケットタイミング情報を示すタイミング図例である。 本発明の実施形態に係るパケットタイミング情報を示すタイミング図例である。 本発明の実施形態に係るコントローラを示すアーキテクチャ例である。 本発明の実施形態に係る、データのコピーの方法を示すフローチャート例である。
メモリに格納されたデータにアクセスするための従来の並列バス実装に関連した技術には、いくつかの不都合がある。1つの不都合は、このようなシステムの実装に伴う複雑さに関するものである。たとえば、従来の並列バスはしばしば、多くのプリント回路基板層を通した多くの接続を必要とするので、回路およびトレースのレイアウトが難解な場合がある。
並列バスの別の不都合は、メモリシステムにおける信号品質に関するものである。たとえば、並列バスは、接続によって搬送される信号の品質に影響し得るクロストーク、信号スキュー、信号減衰およびノイズを受けやすい傾向にある。
並列バス設計に関連したさらに別の不都合は、電力消費に関するものである。たとえば、並列バスは、信号をバスの上に向かわせるために、膨大な電力量を必要とする傾向にある。電力消費は通常、さらに一層高いアクセス速度で動作する新規技術の場合に悪化する。
並列バスに関連した短所に対処するために、一部のメモリシステムでは、コントローラとそれぞれのメモリデバイスとの間でデータおよび制御信号を転送する従来の直列バス設計を組み込んでいる。従来の直列バス設計は、(データが並列ではなく直列に送信されるので)比較的少ない接続を使用する傾向にあり、したがって複雑ではなく、並列バス設計に関連したレイアウト問題の影響を受けにくい。
上述した従来のメモリシステムは、1つのメモリデバイスから別のメモリデバイスへのデータ転送をサポートするために使用することができる。たとえば、従来のメモリシステム内のメモリコントローラが、第1のメモリデバイスに格納されたデータブロックを第2のメモリデバイスにコピーするためのコマンドを受信すると仮定する。このような操作を行うために、コントローラは最初に、ソースメモリデバイスにアクセスして、コピーされるべきデータブロックを取り出す。その後、コントローラは次いで、そのローカルバッファに、アクセスされたデータを一時的に格納する。コントローラは次いで、バッファ中のデータの、ターゲットメモリデバイスへの書込みを開始する。メモリシステムが、偶然にも上述したプリント回路基板レイアウト問題を解消するための1つまたは複数の直列バスを有して構成されている場合であっても、データをコピーするこの従来技術は、かなり遅い。というのは、データは、メモリデバイスから取り出され、コントローラのバッファにローカルに格納され、ターゲットメモリデバイスへのデータの格納のために、コントローラからターゲットメモリデバイスにバスを介して送信されなければならないからである。遅いことに加えて、この例におけるコントローラは、コピーされるべき、アクセスされたデータをメモリに一時的に格納するのに十分に大きいバッファを有して構成されなければならない。したがって、従来のデータ転送は、それぞれのトランザクションを行うのに、過剰の時間および記憶資源を必要とする。
概して、本発明のいくつかの実施形態は、上述した欠点および/または当該分野において公知である他の欠点を克服するメモリシステムを含む。たとえば、本発明の一実施形態は、コントローラと、デイジーチェーン方式で結合された、対応する多数の連続メモリデバイスからなるストリングとを含むメモリシステムを含む。このような実施形態において、メモリシステムは、コントローラからメモリデバイス(たとえば、フラッシュベースのメモリデバイス)それぞれを通る、直列(デイジーチェーン)データリンクおよび/または直列(デイジーチェーン)制御リンクを含む。コントローラは、デイジーチェーン中のソースメモリデバイスからターゲットメモリデバイスへのデータの直接転送またはコピーを可能にするようにメモリシステムを構成するためのコマンドを、直列制御リンクおよび/または直列データリンクを介して伝達する。
本発明の実施形態に係るデータブロックのコピーは、多数のステップを含み得る。たとえば、コントローラは、多数の連続メモリデバイスを通るデイジーチェーンリンク(たとえば、直列リンク)を介して通信して、多数のメモリデバイスのうち第1のメモリデバイスを、第1のメモリデバイスに格納されたデータを出力するソースとなるように構成することができる。コントローラはまた、デイジーチェーンリンクを介して通信して、第2のメモリデバイスを、データを受信する移動先となるように構成する。第1のメモリデバイスをソースとなるように構成し、第2のメモリデバイスを移動先となるように構成した後、コントローラは、ソースメモリデバイスからターゲットメモリデバイスへのデイジーチェーンリンクを介したデータの転送を開始するための1つまたは複数の追加コマンドにより、デイジーチェーン制御リンクを介して通信する。
本発明の実施形態に係る、ソースメモリデバイスからターゲットメモリデバイスへの、コピーされるブロックデータの転送により、コントローラは、データを一時的に格納し移動先メモリデバイスに転送する必要がなくなる。上述したように、従来の方法は、コピー操作を実施するために、コントローラがデータをローカルに取り出し格納することを必要とする。したがって、本発明の実施形態に係るブロックコピーコマンドは、従来の方法より少ない時間で遂行することができる。さらに、本発明の実施形態に係るコントローラは、コピーされるデータブロックを一時的に格納するための大規模バッファを含むように構成される必要がない。というのは、データは、従来の方法でのケースでのように、コントローラに一時的に格納されないからである。言い換えると、1つのメモリデバイスからコピーされるデータは、必ずしもコントローラを通らずに、デイジーチェーンリンク上で別のメモリデバイスに転送することができる。
二地点間(たとえば、メモリチップからメモリチップへの)データ転送のサポートに加えて、本明細書において後でより詳しく論じるように、本発明の実施形態に係るコントローラは、デイジーチェーン中で、1つのメモリデバイス中のデータの、異なる多数のメモリデバイスへのブロックコピーを開始することができる。たとえば、コントローラは、異なる多数のメモリデバイスへの、同一データブロックのコピーを開始することができる。
さらに他の実施形態では、コントローラは、1つのメモリデバイスに格納されたデータ部分の、多数のメモリデバイスそれぞれへのコピーを開始することもできる。たとえば、コントローラは、デイジーチェーン制御リンクを介して通信を開始して、第1のメモリデバイスを、コピーされるべきデータブロックをもつソースとなるように、第2のメモリデバイスを、データブロックの第1の部分を受信するターゲットとなるように、第3のメモリデバイスを、データブロックの第2の部分を受信するターゲットとなるように、などの構成を行うことができる。追加コマンドの構成および発行の後、コントローラは、データブロックの部分を、1つのメモリデバイスから多数のメモリデバイスに転送する。したがって、単一メモリデバイスに格納されたデータブロックは、多数のメモリデバイスにコピーし分散することができる。
さらにそれ以外の実施形態では、コントローラは、(その中のデータがコピーされるべきである)ターゲットメモリデバイスが、ターゲットデバイス中のコアメモリへのデータの書込みに先立って、ソースメモリデバイスからデータを正しく受信するかどうか検査する、デイジーチェーン経路中に配置されるエラー検出回路を含むように構成することができる。必要な場合、コントローラ(たとえば、エラー訂正回路)は、ターゲットデバイスのメモリに書き込まれるデータにエラーがないように、データを修正し、または修復する。
こうしたおよび他の実施形態について、本明細書において後でより詳しく論じる。
上述したように、本発明の技法は、フラッシュ技術の利用をサポートするものなど、メモリシステムでの使用によく適している。ただし、本発明の実施形態は、このようなアプリケーションでの使用に限定されず、本明細書において論じる技法は、他のアプリケーションにもよく適していることに留意されたい。
さらに、本発明の異なる特徴、技法、構成などをそれぞれ、本開示の異なる箇所で論じている場合があるが、こうした概念はそれぞれ、互いとは別個に、または互いと組み合わせて実行し得ることを意図している。したがって、本発明は、異なる多くのやり方で実施し、実現することができる。
次に、より具体的には、図1A、1Bは、本発明の実施形態に係るメモリシステム例100を示す。図1Aの本例の状況では、メモリシステム100は、直列またはデイジーチェーン通信リンク162(たとえば、通信経路151)を介して多数のメモリデバイス110(たとえば、メモリデバイス110-1、メモリデバイス110-2、...、メモリデバイス110-M)にアクセスするコントローラ102を含む。図1Bに示すように、デイジーチェーンリンク162は、データリンク160および制御リンク150を含み得る。一実施形態では、データリンク160および制御リンク150は、本発明の実施形態に係るブロックコピーをサポートする資源の論理表現である。本明細書において後で論じるように、データリンク160および制御リンク150に関連した機能性は、コントローラ102からメモリデバイス110までの、およびそれを経由するデイジーチェーン経路を形成する多数の電子信号の使用により実現することができる。データリンクおよび制御リンクは、メモリデバイス110のストリングを通る物理リンクも示し得る。
直列通信リンクの使用により、メモリシステム100内の各ノード(たとえば、コントローラ102、メモリデバイス110-1、メモリデバイス110-2など)の間でのデータのコピーなどの操作が可能になる。
一実施形態では、メモリデバイス110を接続するデイジーチェーンリンクは、閉ループである。たとえば、図1Bに示すように、制御および/またはデータリンクは、メモリデバイス110それぞれを通ってコントローラ102に戻る。
コントローラ102は、アクセス制御モジュール140(たとえば、アクセス制御機能および他の処理機能をサポートする電子回路)とエラー検査モジュール109とを含む。コントローラ102に関連づけられたアクセス制御モジュール140は、異なるメモリコマンドまたはメモリ操作を生成し、伝達し、その実行を開始する。その名称が示唆するように、エラー検査モジュール109は、さらに後で論じるエラー検査およびエラー訂正などの機能をサポートする。
図示するように、メモリデバイス110(たとえば、フラッシュベースのメモリデバイス)はそれぞれ、データを格納するための対応する(コア)メモリ115を含み得る。さらに、メモリデバイス110はそれぞれ、インタフェース回路と、コントローラ102によって指定されたメモリトランザクションを実施する対応するバッファとを含み得る。たとえば、メモリデバイス110-1は、メモリ115-1(たとえば、コアメモリ)ならびに制御/データ処理(C.A.D.P.)回路125-1および対応するバッファ118-1(たとえば、一時記憶資源)を含む。メモリデバイス110-2は、メモリ115-2ならびに制御/データ処理回路125-2および対応するバッファ118-2を含む。メモリデバイス110-Mは、メモリ115-Mならびに制御/データ処理回路125-Mおよび対応するバッファ118-Mを含む。バッファ118-1、118-2、118-Mは、メモリから取り出されたデータを一時的に格納するのにも、メモリ115に書き込まれるべきデータを一時的に格納するのにも使うことができる。
メモリデバイス110に関連したアーキテクチャ例のこれ以上の詳細については、2007年7月18日に出願した「MEMORY WITH DATA CONTROL」という名称の米国特許出願第11/779,587号に見ることができる。メモリシステム100またはより詳細にはメモリデバイス110は、異なるタイプのメモリを使って実装され得ることに留意されたい。たとえば、本明細書に記載する概念は、NANDフラッシュメモリ、NORフラッシュメモリ、ANDフラッシュメモリ、直列フラッシュメモリ、分割ビット線NOR(DiNOR)フラッシュメモリ、動的ランダムアクセスメモリ(DRAM)、静的RAM(SRAM)、強誘電性RAM(FRAM)、磁気RAM(MRAM)、相変化RAM(PCRAM)、読出し専用メモリ(ROM)、電気的消去可能プログラム可能ROM(EEPROM)などのフラッシュ技術を含むが、それに限定されない異なる多くのタイプのメモリシステムおよびデバイスに適用することができる。
上で言及したように、デイジーチェーンリンク162は、コントローラ102が構成情報、命令、コマンドなどの情報を異なるメモリデバイス110にその上で伝達するための経路を提供する。制御リンク150は、本明細書において後で論じるコマンドストローブ信号(群)およびデータストローブ信号(群)を含み得る。
デイジーチェーンリンク162は、メモリデバイス110が互いおよび/またはコントローラ102とその上で通信するための経路を提供するように構成することもできることに留意されたい。
データリンク160は、コントローラ102および/またはメモリデバイス110が互いの間でデータをその上で伝達し得るための経路を提供する。
上で論じたように、本発明のいくつかの実施形態は、上述した欠点および/または当該分野において公知である他の欠点を克服するメモリシステム100に基づくものである。たとえば、メモリシステム100は、コピーまたはメモリ転送コマンドの実行を行うための、デイジーチェーン方式で結合されたコントローラ102および対応する多数の連続メモリデバイス110からなるストリングを含み得る。コピー操作中、コントローラ102は、デイジーチェーンリンク162を介して通信して、1つのメモリデバイス110から別のメモリデバイスへのデータのコピー用にメモリデバイス110を構成する。
制御リンク150およびデータリンク160などの通信リンクは各々、メモリシステム100内のノードを接続する多数の二地点間セグメントを含み得る。たとえば、制御リンク150の第1のセグメントは、アクセス制御モジュール140と制御/データ処理回路125-1との間の二地点間接続とすることができ、制御リンク150の第2のセグメントは、制御/データ処理回路125-1と制御/データ処理回路125-2との間の二地点間接続とすることができ、以下同様に続き、制御リンク150の第M+1のセグメントは、制御/データ処理回路125-Mとコントローラ102との間の、ループを閉じるための二地点間接続とすることができる。
各メモリデバイス110は、受信コマンドをデコードし、それぞれのメモリデバイスにアドレス指定されたコマンドの実行を開始するための制御/データ処理回路125を含み得る。さらに、各制御/データ処理回路125は、受信コマンドおよび/またはデータを、連続下流デバイス上に渡すことができる。たとえば、制御/データ処理回路125-1は、コントローラ102とメモリデバイス110-1との間の直列リンクの二地点間セグメント上で、コントローラ102から通信を受信し、かつ受信した通信を、制御/データ処理回路125-1と制御/データ処理回路125-2との間の二地点間セグメント上の直列経路151に向かって再送信することができる。他のメモリデバイスも、アクセス制御モジュール140がメモリデバイス110のいずれとも通信する(たとえば、情報を送り、受信する)ことができるように、同様に動作し得る。
コントローラ102は、通過または非通過モードに従ってメモリデバイス110それぞれを構成し得ることに留意されたい。通過モードでは、それぞれのメモリデバイスが、上流デバイス(たとえば、コントローラ102やメモリデバイス)から入力を受信し、受信した入力を下流ノード(たとえば、メモリデバイス110-2、...、メモリデバイス110-Mなどのメモリデバイス)に渡す。
コントローラ102は、デイジーチェーンリンクを介してメモリデバイス110-1などの第1のメモリデバイスの入力にコマンド(下流)を伝達すると仮定する。通過モードのとき、メモリデバイス110-1は、メモリデバイス110-2など、デイジーチェーン中の下流メモリデバイスの入力にコマンドを出力する。メモリシステム100内の各ノードが、通過モードにあるように構成されているとき、コントローラ102は、経路151を横切るコマンドを、コントローラ102に戻すように送信することができる。このようなモードにある間、メモリデバイス110は、経路151を横切るメッセージおよび/またはデータをコントローラ102に返送することができる。メモリシステム100内のメモリデバイスを通過モードに構成すると、各メモリデバイスが、デイジーチェーンリンク中の後続メモリデバイスの電力駆動入力を消費しなければならないので、電力消費が増大する。ただし、通過モードにより、コントローラ102は、後でより詳しく論じるエラー検査用のデータ受信などの機能を実施することが可能になる。
非通過モードでは、それぞれのメモリデバイスが、上流デバイス(たとえば、コントローラ102や他のメモリデバイス)から入力を受信し、受信した入力の、下流ノード(たとえば、別のメモリデバイス)への受渡しまたは送信を防止する。メモリシステム100内の1つまたは複数のノードを非通過モードに構成する1つの目的は、電力消費を削減することである。
一実施形態では、1つのメモリデバイスから別のメモリデバイスへのデータのデータ転送(たとえば、ブロックコピー)は、コントローラ102がデータをローカルに取り出し格納し、その後、データをターゲットメモリデバイスに書き込む必要なく起こる。むしろ、本発明の一実施形態によると、コントローラ102は、制御リンク150およびデータリンク160を介して通信して、ソースメモリ115-1からバッファ118-1へのデータの取出し(たとえば、読込み)、ソースメモリデバイスのバッファ118-1からターゲットメモリデバイス110-Mのバッファ118-Mへのデータの転送、およびバッファ118-M中の転送データの、ターゲットデバイス110-Mのコアメモリ115-Mへの格納(たとえば、書込み)を実施するようにメモリデバイスを構成する。したがって、本発明の実施形態は、デイジーチェーン制御リンクを介して通信して、選択された多数のメモリデバイス110それぞれを構成し、メモリデバイス110-1から、メモリデバイス110-2などの媒介メモリデバイスを経由して、メモリデバイス110-Mまで多数の連続メモリデバイスを通る直列またはデイジーチェーンデータリンク上でデータの送信を開始するように構成されたコントローラ102を含む。
したがって、本発明の一実施形態は、上流メモリデバイスからデータを受信する入力、下流メモリデバイスにデータを送信する出力、ならびに入力と出力との間の制御/データ処理回路125を含むようにそれぞれが構成された、1つまたは複数のメモリデバイスを含む。制御/データ処理回路125は、コントローラ102などの遠隔ソースから構成コマンドを受信し、遠隔ソースによる、対応するモードの選択に基づいて、コントローラ102によって指定された下流メモリデバイスへの、メモリデバイスの出力上での送信用に、対応するメモリ115に格納されたデータを取り出すように構成される。
上で言及したように、メモリデバイス110は、フラッシュベースのメモリデバイスとすることができ、バッファ118は、1ページの情報(たとえば、8キロデータバイト)を一度に格納して、多数のデータページのブロックコピー操作を行うことができる。したがって、ブロックコピーは、1つのメモリデバイス中の1つまたは複数の情報ページの、デイジーチェーン中の他の1つまたは複数のメモリデバイスへの転送を伴い得る。
データのコピーまたは移動を示すより具体的な例として、コントローラ102が、データブロック(たとえば、1つまたは多数のデータビットまたはページ)をメモリデバイス110-1(たとえば、ソース)からメモリデバイス110-M(たとえば、ターゲット)にコピーするなどの操作を行うためのリクエストを、ソース(たとえば、ユーザ、コンピュータシステムなど)から受信すると仮定する。このような事例において、コントローラ102は最初に、制御リンク150およびデータリンク160(たとえば、多数の連続メモリデバイス110を通るデイジーチェーンリンク)を介して通信して、このような操作向けにメモリデバイスを構成する。上述したように、この構成は、制御リンク150およびデータリンク160上で第1のメッセージを作成し、次いで送信して、メモリデバイス110-1をソースとなるように構成すること、制御リンク150およびデータリンク160上で第2のメッセージを作成し、次いで送信して、メモリデバイス110-Mをターゲットとなるように構成すること、ならびに制御リンク150およびデータリンク160上で追加メッセージを作成し、次いで送信して、メモリデバイス110-1からメモリデバイス110-Mへのデータの転送を開始することを含み得る。
制御リンク150およびデータリンク160上でメモリデバイス110に伝達される追加命令は、トランザクションに関連したより難解な詳細を示す。たとえば、コントローラ102は、ターゲットメモリデバイスと通信して、どの場所からデータを取り出すか、およびどれだけ大規模なブロックコピーを実施するかを指定することができる。コントローラ102は、ターゲットメモリデバイスと通信して、1つのターゲットメモリデバイス(または複数のターゲットメモリデバイス)のどの1つの場所(または複数の場所)に、対応するデータを格納するかを指定することもできる。
本例では、ソースメモリデバイスから、媒介メモリデバイスを経由して、ターゲットメモリデバイスへのデータ転送について論じているが、本発明の実施形態では、メモリデバイスのどれもが、メモリシステム100内の他のメモリデバイスにデータをコピーすることが可能になる。たとえば、コントローラ102は、メモリデバイス110-Mがソースとなるように、およびメモリデバイス110-1がデータを受信し格納するターゲットとなるように構成することができる。このような実施形態では、転送中、コントローラ102は、データを受信し、メモリデバイス110-Mからメモリデバイス110-1に渡す。したがって、デイジーチェーン制御リンク150およびデータリンク160を使用することにより、各メモリデバイスは、デイジーチェーン中の他のどのメモリデバイスにもデータを転送することが可能になる。
一実施形態では、通信を行うために、メモリデバイス110にはそれぞれ、一意のアドレス値が割り当てられる。コントローラ102は、対応するアドレス情報をもつメッセージ(たとえば、コマンドや命令)を送信し、そうすることによって、メッセージが、制御リンク150およびデータリンク160を介して送信される際に全メモリデバイス110によって受信された場合、メッセージ(たとえば、コマンド)のアドレス指定先であるメモリデバイスが、コマンドを受信し実行する。
したがって、メモリデバイス110にアドレス指定されたコマンドの発行に基づいて、メモリシステム100は、第1のメモリデバイスから第2のメモリデバイスへのデータの転送および直接コピーを可能にする。こうすることにより、コントローラ102は、メモリデバイスシーケンス中の第1のメモリデバイスからデータを一時的に取り出し、格納し、シーケンス中の移動先メモリデバイスに転送する必要がなくなる。したがって、ブロックコピーコマンドは、コントローラ102がデータにアクセスし、ローカルに格納することを必要とする従来の方法より少ない時間で遂行することができる。
本発明のいくつかの実施形態に係るコントローラ102は、コピーされたデータのブロックを一時的に格納するための大規模バッファを含むように構成される必要がないことにも留意されたい。というのは、データは、従来の方法のケースでのように、コントローラに一時的に格納される必要がないからである。ただし、コントローラ102は、後でさらに論じるエラー検査プロセスを助けるためのバッファを少なくとも含み得る。
さらにそれ以外の実施形態では、コントローラ102は、1つのメモリデバイスに格納された異なるデータ部分の、異なる多数のメモリデバイスそれぞれへのコピーおよび/または分散を開始することもできる。たとえば、コントローラ102は、デイジーチェーン制御リンク150およびデータリンク160を介して通信を開始して、第1のメモリデバイスを、コピーされるべきデータブロックをもつソースとなるように、第2のメモリデバイスを、データブロックの第1の部分を受信するターゲットとなるように、第3のメモリデバイスを、データブロックの第2の部分を受信するターゲットとなるように、さらに別のメモリデバイス110-2を、データブロックの第3の部分を受信するターゲットとなるように、および以下同様に構成することができる。したがって、1つまたは複数の構成命令およびコマンドにより、コントローラ102は、データブロックの部分を1つのメモリデバイスから多数のメモリデバイスに転送することができる。言い換えると、単一メモリデバイスに格納されたデータ部分は、コントローラ102に基づいて多数のメモリデバイスに分散し、コピーすることができる。すなわち、デイジーチェーンリンクを介して通信して、ソースメモリデバイスから第2のメモリデバイス中の記憶場所への第1のデータ部分の格納を開始し、デイジーチェーンリンクを介して通信して、ソースメモリデバイスから第3のメモリデバイス中の記憶場所への第2のデータ部分の格納を開始し、以下同様に続く。
さらにそれ以外の実施形態では、上で手短に言及したように、コントローラ102は、エラー検査モジュール109(たとえば、エラー検出回路)を含むように構成することができる。エラー検査モジュール109は、(データがコピーされるべき)ターゲットメモリデバイスが、ターゲットデバイス中のメモリへのデータの書込みに先立って、ソースメモリデバイスからデータを正しく受信するかどうかの検査用に、デイジーチェーン経路151中に配置することができる。必要な場合、コントローラ(たとえば、エラー訂正回路)は、ターゲットデバイスのメモリに書き込まれるデータにエラーがないように、データを修正し、または修復する。
一例として、コントローラ102が、上述したようにメモリデバイス110-1からメモリデバイス110-Mへのデータのコピーを開始すると仮定する。バッファ118-1からのデータの転送を受信すると、メモリデバイス110-Mは、データをバッファ118-Mに格納し、かつデータリンク160上でコントローラ102のエラー検査モジュール109にデータを渡す。通過モードにあるとき、データリンク160は、メモリデバイス110-1からメモリデバイス110-Mに、およびそれを経由してエラー検査モジュール109に多数のデータビットを同時に転送するデータバスになり得る。エラー検査モジュール109によって受信されるデータは、メモリデバイス110-Mによって受信されバッファ118-Mに格納されるデータと同じはずである。エラー検査アルゴリズムを適用することによって、エラー検査モジュール109は、バッファ118-M中のデータに関連づけられたエラーを検出し、このような事例では、バッファ118-M中のデータの、メモリ115-Mへの書込みを防止することができる。したがって、本発明の実施形態は、デイジーチェーン下方への「書込みデータパケット」(たとえば、ブロックコピーデータ)の受渡しを含むこととしてもよく、その結果、コントローラ102は、1つのメモリデバイスから別のメモリデバイスに送信されるデータパケットがエラーを含むかどうか検査するためのECC操作を実施することができるようになる。
一実施形態では、エラー検査モジュール109は、バッファ中のどのビットが修正される必要があるのか検出するためのアルゴリズムを実装する。バッファ118-M中のデータの、メモリ115-Mへの転送(たとえば、書込み)を開始するのに先立って、エラー検査モジュール109がエラーを検出すると仮定すると、コントローラ102は、制御リンクおよびデータリンクを介して通信して、バッファ118-Mの内容を修正することによってエラーを訂正する。
メモリシステム100および/またはメモリデバイス110(たとえば、フラッシュメモリデバイス)は、たとえば移動通信デバイス、ゲームセット、カメラなど、異なるタイプの電子システム内で使うことができる。メモリシステム100は、多数のホストシステムに挿入することができる取外し可能メモリカードとしても、ホストシステム内の固定型組込み記憶装置としても実装することができる。
対応するメモリデバイス110内のメモリ115は、1つまたは複数のトランジスタセルアレイからなるものとしてもよく、各セルは、1つまたは複数のデータビットの不揮発性または揮発性記憶が可能である。この実施形態に依存して、このようなメモリは、その中にプログラムされたデータを保持するための電力を必要とする場合もしない場合もある。
メモリ115が、フラッシュに基づくメモリである場合、セル(たとえば、データ記憶位置)は、新規データ値でプログラムし直され得る前に消去される必要があり得る。上述したように、コントローラ102は、メモリデバイス110と通信して、かつデバイス110を介して通信して、このような消去機能を行うことができる。
対応するメモリデバイス110中のメモリ115は、読込み、プログラム、消去機能の効率的実行を可能にするために、グループに区切られたセルアレイを含み得る。セルのグループ、すなわちいわゆるブロックは、読込みおよびプログラム機能のための基本単位である、アドレス指定可能な1つまたは複数のセクタにさらに区切ることができる。
フラッシュデバイスにデータを書き込むとき、データ管理の容易さ故に、通常、単一データバッチが1ブロックに書き込まれる。こうすることにより1ブロック中の空きエリアがかなり大きくなり、結果としてデータエリアの使用が効果的ではなくなる。したがって、NANDフラッシュメモリが使われる場合、ある特定のブロック中の1ページのデータは、書き込まれたことのあるデータから読み出すことができ、読込みデータは、センス/ラッチ回路によって一時的にラッチされる。センス/ラッチ回路によってラッチされたデータは次いで、データが読み出されたブロックとは異なるブロック中の空きエリアのページに書き込まれる。このような操作は、ページコピーと呼ばれ、メモリ空間の効果的使用を可能にする。
上述したように、メモリ115は、ページコピー操作(たとえば、コピーバック操作)をサポートすることができる。ページコピー操作は、第1のページのアドレスに格納されたデータを、第2のページの指定されたアドレスに転記することを伴う。ページコピー中、ソースメモリデバイスのページ(すなわち、ソースページ)に格納されたデータは、ページバッファに転送される。ページバッファに格納されたデータは次いで、書込みのためにデイジーチェーンまたは直列リンク中の別のメモリデバイスのバッファに転送される。上述したように、この操作は、コントローラ102にデータを格納することなく遂行することができる。効果的には、データは、コントローラ102がフラッシュメモリからデータを読み出すことなくコピーすることができる。上述したように、フラッシュデバイスは、直接「上書き」機能をサポートしないので、メモリシステム100のターゲットページの場所は、ターゲットの記憶場所に新規データを書き込むのに先立って消去される必要があり得る。
メモリデバイスに関連づけられたセルまたは場所の内容は、限られた数のP/E(プログラム/消去)周期にのみ耐えることができるので、限られた回数だけ修正することができる。いわゆるP/E周期制限は、SLC(単一レベルセル)よりも、MLC(マルチレベルセル)タイプのNANDフラッシュメモリにおいて、より厳しい場合があり、たとえば、SLCメモリデバイスは、デバイスの寿命により最大100,000回のP/E周期まで信頼できるが、MLC NANDフラッシュメモリデバイスは通常、約10,000回のP/E周期にのみ耐え得る。ただし、MLC NANDフラッシュデバイスにおける、費用効果の高い密度の利点(たとえば、MLCデバイスは、密度がSLCより2倍大きい)故に、より多くの製造元が、今日ではMLC NANDフラッシュメモリを生産している。
対応するメモリデバイス110の寿命を延長し、「バーンアウトする」場所またはセルを削減する1つのやり方は、時間をかけて、データの書込みを異なる場所に分散することである。異なる場所にデータを書き込むことにより、フラッシュメモリデバイスの一様な疲弊を維持する。メモリシステム100内のMLCフラッシュデバイスを使うとき、このようなデバイスは比較的高いP/E周期をサポートしないので、SLCフラッシュデバイスを使うのに比較して、格納プロセス中により多くの注意が払われ得る。
図2は、本発明の実施形態に係る、データのコピーを示すメモリシステム例200のブロック図である。
概して、メモリシステム200は、従来の方法より速いブロックコピーをサポートする。たとえば、メモリシステム200は、入出力ピン(たとえば、Dnは、データを受信する直列データ入力ポートであり、Qnは、データを出力する直列データ出力ポートである)の直列化高速リンク(たとえば、デイジーチェーン式データリンク経路323)を実装して、ブロックコピー操作を行う。データフロー例として、コントローラ30および/またはメモリデバイスは、次の連続下流デバイスの入力(たとえば、Dn)にデータを送信するために、データリンクQn上にデータを出力することができる。本明細書に記載するように、入力Dn上でデータを受信するデバイスは、受信データを処理し(たとえば、そのローカルページバッファにデータを格納し)、かつ/またはその対応するQn出力上にデータを出力するように構成することができる。
信号Dn、Qnは、1つまたは複数のデータビット幅とすることができ、コントローラ30およびそれぞれのメモリデバイスが多数のデータビットを他のメモリデバイスまで下流方向に同時に伝達することを可能にする。
図示するように、メモリコントローラ30は、CSO(たとえば、コマンドストローブ出力)、DSO(たとえば、データストローブ出力)およびQn信号を、それぞれの相互接続305、306、307上でメモリデバイス300に出力する。メモリデバイス300は、その対応するCSO、DSO、およびQn信号を生じ、それぞれの相互接続308、309、310上でメモリデバイス301に出力する。メモリデバイス301は、その対応するCSO、DSO、およびQn信号を生じ、それぞれの相互接続311、312、313上でメモリデバイス302に出力する。メモリデバイス302は、その対応するCSO、DSO、およびQn信号を生じ、それぞれの相互接続314、315、316上でメモリデバイス303に出力する。デイジーチェーンループを完了してコントローラ30に戻り、メモリデバイス303は、その対応するCSO、DSO、およびQn信号を生じ、それぞれの相互接続317、318、319上でコントローラ30に出力する。
本明細書に記載するように、この一連の相互接続により、コントローラ30からそれぞれのメモリデバイス、デイジーチェーン中の第1のメモリデバイスから第2のメモリデバイス、またはメモリデバイスからコントローラ30など、デバイスからデバイスにデータパケットおよび制御信号をその上で送信するためのデイジーチェーンフロー経路323がもたらされる。
CSIおよび/またはDSI信号は、実施形態に依存して、正論理でも負論理でもよいことに留意されたい。
図示した実施形態例では、コントローラ30は、デイジーチェーン中のメモリデバイスそれぞれを駆動する、(たとえば、コントローラ内のSDR/DDR/QDRクロックに基づく)クロック信号を出力する。クロックの使用により、デバイスの間の同期データ転送が可能になる。クロックは、差分信号としてもシングルエンド信号としても実装できることに留意されたい。
メモリシステム200は、制御リンクも含む。本例の制御リンクは、2つの専用の制御信号を含む。すなわち、i)コントローラ30からメモリデバイスにコマンド/アドレスパケット(たとえば、コマンド)を伝達するコマンドストローブ入力、すなわちCSI、およびii)メモリデバイスの間でデータパケット(たとえば、コピーされたデータ)の書込み&読込みを開始するデータストローブ信号、すなわちDSIである。したがって、コントローラ30によって生成される(かつデイジーチェーン上で下流に向かって他のデバイスに渡される)信号CSIおよび/またはDSIは、それぞれコマンド/アドレスパケットおよびデータパケットの転送を可能にし、不可にする。図1Bに関して上で論じた実施形態と同様の傾向として、図2のコントローラ30によるコマンドストローブ(CS)信号およびデータストローブ(DS)信号の制御は、メモリデバイスの直列接続デイジーチェーン中のノード(たとえば、メモリデバイス)の間でのパケットの送信およびブロックコピー操作の実行を可能にする。
したがって、メモリシステム200は、コピーおよび後で論じる関連機能を行うための、「コマンドおよびアドレスパケット(=CAP)」、「書込みデータパケット(=WDP)」ならびに「読込みデータパケット(=RDP)」という3タイプのパケットの生成および分散をサポートするパケット指向メモリシステムとみなすことができる。
コントローラ30によって生成される「コマンドおよびアドレスパケット」は、直列リンクを介してメモリデバイス300、301、302、303に送信されるコマンドおよびアドレス情報を含む。図示するように、「コマンドおよびアドレスパケット」は、直列データ入力ポート(群)、すなわちDnを通ってメモリデバイスに届き、ポートQn上で出力される。コマンドおよびアドレスパケットのエンドポイントは、コマンドストローブ信号、すなわちCSI(=コマンドストローブ入力)のエッジと一致し得る。
「書込みデータパケット」(たとえば、書き込まれるデータ、コピーされるデータ、転送データ、データ訂正情報など)は、直列データ入力ポート(群)、すなわちDnを通ってそれぞれのメモリデバイスに届き、ストローブ信号、すなわちDSI(=データストローブ入力)で区切られる。
「読込みデータパケット」は、直列リンク上でメモリコントローラ30に送信される、それぞれのメモリデバイスによって出力される読込みデータを含む。「読込みデータパケット」は、メモリデバイスから、それぞれの直列データ出力ポート(群)、すなわちQnを通って出力され、ストローブ信号、すなわちDSI(=データストローブ入力)で区切られる。
一実施形態では、「コマンドおよびアドレスパケット」、「書込みデータパケット」ならびに「読込みデータパケット」はそれぞれ、Qnに関連づけられた現在のI/O幅(1ビット、2ビット、4ビットなどの幅)に関わらず、整数バイト長である。
一実施形態では、ページバッファは8キロバイト幅である。相互接続307、310、313、316などは、4ビット幅である。1ページのデータの転送には、デイジーチェーン上での、メモリデバイス300からメモリデバイス301への多数の並列データ転送が必要である。
メモリデータ転送は、開始アドレス(たとえば、メモリデバイス中でデータが格納される場所)および転送長さ(たとえば、コピーされるべきデータの量)で指定され得ることに留意されたい。対応するストローブ信号(=DSI)の、上昇エッジから下降エッジまでの持続期間は、転送長さに依存する。
上述したように、メモリシステム200内の提案されているメモリデバイスは、CSI信号が「高」論理状態にセットされる(たとえば、CSIが活性化される)と、「パケット化された」コマンドおよびアドレス情報をDnポート(群)を通して受信する。DSIが「高」論理状態にセットされる(たとえば、DSIが活性化される)と、デバイスは、Dn/Qnポート(群)を通して入出力データパケットを受信/送信する。クロック信号(CK/CK#)の遷移エッジで参照されるCSI信号が活性化される(すなわち、高論理状態にセットされる)と、メモリデバイスは、コマンド&アドレスパケットを含む連続バイトを(Dnポート(群)を通して)受信し始める。「コマンド&アドレスパケット」中のコマンドは、実行されるべき命令を指定する。「コマンド&アドレスパケット」中のアドレス情報は、それぞれのメモリデバイスからの情報をそこに格納し、かつ/または取り出すべきメモリアドレス位置情報を指定することもできる。
CSI信号が不活性化された(たとえば、「低」状態にセットされた)場合、メモリデバイスは、Dnポート(群)を通してコマンド&アドレスパケットを受信するのを停止する。同様に、メモリデバイスが書込みモードにある間にDSI信号が活性化され、またはアサートされる(たとえば、DSIが「高」状態にセットされる)と、メモリデバイスは、Dnポート(群)を通して、クロック信号(CK/CK#)の遷移エッジで参照される「書込みデータパケット」を受信し始める。DSI信号が不活性化され、またはデアサートされた(すなわち、DSIが「低」状態にセットされた)場合、メモリデバイスは、Dnポート(群)を通して「書込みデータパケット」を受信するのを停止する。
メモリデバイスが読込みモードにある間にDSI信号が活性化され、またはアサートされる(たとえば、「高」状態にセットされる)と、読込みモードにあるメモリデバイスは、Qnポート(群)を通して「読込みデータパケット」を送信し始める。DSI信号がデアサートされ、または不活性化される(たとえば、DSIが「低」状態にセットされる)と、読込みモードにあるメモリデバイスは、Qnポート(群)を通した「読込みデータパケット」の送信を停止する。
図2に示すように、メモリコントローラ30は、エラー検出装置および/または訂正機能性を提供する「ECC&バッファメモリ」ブロック31を含み得る。メモリデバイスを通る直列接続(たとえば、1つまたは複数のデータおよび/または制御リンクからなるデイジーチェーン)は、コントローラ30に戻るフィードバックループを形成する。したがって、コントローラ30は、メモリデバイスのいずれからの経路324および入力Dn上のデータも監視し受信することができる。図示した実施形態例では、メモリコントローラ30は、最後のメモリデバイス(たとえば、メモリデバイス303)からDn、DSI、CSI信号を、それぞれの相互接続317、318、319を通して受信する。上述したように、コントローラ30は、経路325上でデータを出力して、メモリデバイスのいずれの中のデータの修正も(たとえば、エラーを訂正するために)開始することができる。
デイジーチェーン中のメモリデバイスの数は、実質的に無制限でよい。ただし、一実施形態では、いくつかのアプリケーションは、255個のメモリデバイスからなるストリングに制限され得る。ある特定のシステムが255個のメモリデバイスより多くのメモリを必要とする場合、Table 2(表2)におけるデバイスアドレス(=DA)バイト定義は、たとえば2バイトに拡張することができる。このようなケースでは、メモリデバイスの総数は65535=216-1になり得る。
一実施形態では、メモリシステム200は、プリント回路基板やマルチチップパッケージ(たとえば、MCP)など、それぞれの基板205上にある。MCP(マルチチップパッケージ)デバイスは、デイジーチェーン構成において使うことができ、ある単一MCP自体が、既に直列に相互接続された8個のメモリチップを内部に含む場合、現在のパケットプロトコルが用いられるのであれば63個のMCPデバイスが、単一チャネル内の最大数となり得る。
図2に示す実施形態例において、コントローラ30は、メモリデバイス300のメモリコアからメモリデバイス301のメモリコアへのデータのコピーを開始する。コピーされるデータブロックは、128ページを含む。128ページのコピーの記述は、例示の目的でのみ含まれ、ブロックコピーは、単一ビットのデータから多ビットのデータでよいことに留意されたい。
一実施形態では、メモリデバイスのページバッファは、一度に単一データページを格納することができる。したがって、メモリデバイス300からメモリデバイス301へのデータのコピーは、メモリデバイス300のページバッファからメモリデバイス301のページバッファへの多数のデータ転送を含む。
本例の状況において、メモリコントローラ30は、通常通りに接続されたメインクロック信号304を、デイジーチェーン中のメモリデバイスそれぞれに向かわせる。各メモリデバイスは、図に示すものと同じtIOL(クロック周期で表した、入力から出力までの待ち時間)をもち得る。この例では、メモリシステム200は、メモリデバイス300、メモリデバイス301、メモリデバイス302、およびメモリデバイス303(たとえば、HLNAND(商標)メモリデバイス)を含む、直列接続された4つのメモリデバイスを含む。ただし、上述したように、メモリシステム200は、255個のメモリデバイスまたはそれ以上など、より多くのメモリデバイスを、それぞれのデイジーチェーン中に含んでよい。
本発明の実施形態に係るメモリシステム200は、それぞれのデイジーチェーン中に異種の1組のメモリデバイスを含み得ることに留意されたい。たとえば、メモリシステム200は、たとえばDRAM、フラッシュメモリなど、異なるタイプのメモリデバイスからなるデイジーチェーンを備え得る。デイジーチェーン中の異なるタイプのメモリデバイスは、異なる目的のために使うことができる。
さらに他の実施形態では、メモリシステム200は、多数のデイジーチェーンを含むように構成することができる。たとえば、1つのデイジーチェーン(図示してある)は、図示するように、メモリデバイス300、メモリデバイス301、メモリデバイス302およびメモリデバイス303を含む多数のメモリデバイスからなるストリングを含み得る。コントローラ30から発する別の独立デイジーチェーンは、別の1組のメモリデバイスを含み得る。第2のデイジーチェーンを介した通信をサポートするために、コントローラ30は、第2のデイジーチェーン中でコピー操作を行うための第2組の制御およびデータ信号(たとえば、CSO、DSO、Qn)を生じることができる。
図3A、3Bは、本発明の実施形態に係る、ソースメモリデバイスからターゲットメモリデバイスへのデータのコピーに関連したタイミングを示す詳細なタイミング図である。図示するように、時間T0で、メモリデバイス300(たとえば、デバイス0)が、「書込み構成レジスタ」コマンドパケット(01h&FFh)および1h「書込みデータパケット」(01h)を受信する。コマンドパケット中のデバイスアドレス(DA=01h)が、メモリデバイス300のデバイスアドレスと合致しないので、メモリデバイス300は、受信したコマンドパケットを無視し、コマンドパケットを、相互接続308、310を通して次のメモリデバイス301にバイパスさせる。詳細なタイミング図を、図6に示す。書込みデータパケットもバイパスさせられる。以下のTable 1(表1)は、書込み構成レジスタの定義例である。
Figure 2010537326
メモリデバイス300を通したコントローラ30からの「書込み構成レジスタ」(01h&FFh)コマンドパケットおよび「書込みデータパケット」(01h)606の受信に応答して、メモリデバイス301は、そのバイパス機能をローカルに活性化して、通過モードを可能にする。というのは、受信したデバイスアドレス(DA=01h)が、それ自体のデバイスアドレスと合致しているからである。ただし、メモリデバイス301が依然としてバイパス不可モードにあるので、「書込みデータパケット(01h)」606は、(たとえば、デバイス1のQn出力上の位置607にバイパスされない)位置607にバイパスされない。
デバイス301は、「書込みデータパケット」(01h)606を処理した後、「バイパスモード」になり得る。このようなコマンドを発行する前に、デバイス301は「バイパス不可モード」に入ることになる。
時間T1で、ソースメモリデバイス300は、「ページ読込み」コマンドパケット(00h&00h&RA)を受信し、図示するようにページ読込み動作を実施し始める。ページ読込み動作は、メモリデバイス300のメモリコアに格納されたデータの取出しを含む。一実施形態では、ページを取り出すためのこの期間は、20マイクロ秒である。
時間T3で、メモリコントローラ30は、メモリデバイス301を「書込みモード」にセットするために、メモリデバイス301に「バーストデータロード開始」コマンドパケット(01h&40h&CA)を発行して、メモリデバイス300からデータを受信する。
時間T5で、メモリデバイス300は、コントローラ30によって生成された「バーストデータ読込み」コマンドパケット(00h&20h&CA)を受信する。このコマンドは、経路321上での、メモリデバイス300のページバッファ中のデータの、メモリデバイス301のページバッファへの転送を開始する。したがって、ターゲットメモリデバイスへの、取り出されたデータの転送を試みる前に、20マイクロ秒というページ読込み時間要件が満たされる。
DSI信号がメモリコントローラ30からメモリデバイス300にアサートされる時間T7で、メモリデバイス300は、そのページバッファデータを、Qnピンを通してメモリデバイス301に出力し始める。メモリデバイス301のDSIおよびDnピンは、メモリデバイス300のDSOおよびQnピンに直接接続されるので、ターゲットメモリデバイス301は、着信データを、そのそれぞれのページバッファに格納するために受信する。転送中、同形データパケット601、602(たとえば、ページデータ)が、時間T8と時間T10の間にメモリデバイス300からメモリデバイス301に送信される。メモリデバイス300からのデータは、メモリデバイス301のページバッファに格納される。
時間T11で、メモリコントローラ30は、「ページプログラム」コマンドパケット(01h&60h&RA)をメモリデバイス301に伝達する。これにより、メモリデバイス301のページバッファからコア記憶デバイスに書き込まれるべき受信データの格納が開始される。
図3のタイミング図の上記説明は、メモリデバイス300からメモリデバイス301への単一データページの転送を示す。このプロセスは、ブロックコピー操作に関連した他の多数のページそれぞれに対して繰り返すことができる。
ソースメモリデバイスからターゲットメモリデバイスへのブロックコピー全体を完了した後、コントローラ30は、バイパス機能を不可状態にリセットするために、別の「書込み構成レジスタ」コマンドを発行すればよい。
図4は、本発明の実施形態に係るブロックコピー方法を示すフローチャート例499である。概して、上述したように、フローチャート499は、図2に示した、ソースメモリデバイス300からターゲットメモリデバイス301へのデータのブロックコピー例を示す。後で論じるように、コピー操作を行うために、コントローラ30は、デイジーチェーンリンク(たとえば、制御リンクおよびデータリンク)を介して通信して、メモリデバイスを構成し、ブロックコピーを開始する。以下のコマンドに関連づけられたすべての値は、16進値として列挙されていることに留意されたい。
ステップ700で、各ターゲットアドレス向けに、コントローラ30は、ターゲットメモリデバイス301のバイパス機能を可能にするために、対応する値(DA&FFh)をもつ「書込み構成レジスタ」コマンド、および対応する値01hをもつ「書込みデータパケット」コマンドを発行する。バイパス機能(たとえば、通過モード)は、Table 1(表1)中の値に従ってプログラムすることができる。上述したように、バイパスモード(たとえば、信号通過モード)は、省電力目的のために不可にしてよい。ただし、このブロックコピー例では、コントローラ30は、デイジーチェーン中の次のメモリデバイスに、および次のメモリデバイスを通して「書込みデータパケット」を送信するために、ターゲットメモリデバイス301をバイパス可能モード(たとえば、通過可能)にセットし、そうすることによって最終的に、前記「書込みデータパケット」(元々はソースメモリデバイス300からの「読込みデータパケット」)は、デイジーチェーンを経由してメモリコントローラ30に渡されることになる。いくつかのターゲットデバイスがある場合、コントローラ30は、ブロックコピーを開始するためにいくつかのターゲットデバイスにコマンドを発行することになることに留意されたい。
ステップ701で、メモリコントローラ30は、ソースメモリデバイス300に、対応する値(DA&00h)をもつ「ページ読込み」コマンドパケットを生成する。このようなコマンドの受信に基づいて、ソースメモリデバイス300は、そのメモリコアの指定された場所から、その対応するページバッファへのページデータの転送を開始する。一実施形態では、この操作は、転送を完了するのに20マイクロ秒かかり得る。
ステップ702で、ソースデバイス300がページ読込み動作を実施する間(または後)、メモリコントローラ30は、ターゲットメモリデバイス301に、対応する値(DA&40h)をもつ「バーストデータロード開始」コマンドパケットを発行し、その結果ターゲットメモリデバイス301は、「書込みモード」に入り、少なくとも「書込みデータパケット」(たとえば、ソースメモリデバイス300からのデータ)を受信する準備が整う。
一実施形態では、メモリコントローラ30は、ページ読込み動作が完了され、データ転送が現時点で可能であることを確かめるため、20マイクロ秒(または指定された他のある程度の時間量)だけ待つ。
ステップ703で、ソースメモリデバイス300中でページ読込み動作が完了した後、メモリコントローラ30は、第1のメモリデバイス300に、対応する値(DA&20h)をもつ「バーストデータ読込み」コマンドパケットを発行する。このコマンドの受信に基づいて、第1のメモリデバイス300は、「読込みモード」に入り、メモリデバイス300のページバッファ中のデータを出力するための信号通知であるDSIアサーションを受信する準備が整う。
ステップ704で、メモリコントローラ30は次いで、メモリデバイス300からメモリデバイス301に転送されるページの長さ(たとえば、8キロバイト)だけDSIをアサートする。データ転送の長さは、単一ビットから多数のバイトまで、任意のビット数の情報でよいことに再度留意されたい。
ステップ705で、DSI信号のアサーションまたは活性化に基づいて、メモリデバイス300は、「読込みデータパケット」の送信を開始して、メモリデバイス300のページバッファ中のデータを、ターゲットメモリデバイス301のページバッファに転送する。
ステップ706で、ターゲットメモリデバイス301は、「読込みデータパケット」を「書込みデータパケット」として受信する。というのは、ターゲットメモリデバイス301は、「書込みモード」にセットされ、そのDSI入力信号に従った「書込みデータパケット」を予期していたからである。したがって、上記信号通信に基づいて、メモリデバイス300中のデータページは、単一バーストデータ転送期間中に、ソースメモリデバイス300から第2のメモリデバイス301に自動的に転送される。
一実施形態によると、このように行われるデータの転送は、2つの異なるタイプのデータパケットが、実際には同じデータパケットフロー中で送信されるので、同形データパケットまたは同形データ転送として定義することができる。
上述したのと同様の傾向として、この例において論じるデータのフローは、コントローラ30がソースメモリデバイスからデータを取り出し、取り出されたデータをターゲットメモリデバイスに格納する必要をなくすので、有益である。時間節約の例を、図2により具体的に示す。たとえば、総ブロックコピー時間は、本発明の実施形態によると39ミリ秒であり得るが、従来技術では、コントローラに、次いでコントローラからターゲットメモリデバイスにデータを転送するのに、さらに10ミリ秒を必要とし得る。
1つのメモリデバイスから別のメモリデバイスにデータをコピーするための実際の転送時間(たとえば、39ミリ秒のコピー時間)は、それぞれのメモリシステムにおいて利用されるメモリデバイスの速度に依存して変わることに留意されたい。したがって、データ転送を完了するための時間は、メモリ速度ならびに当業者によって認識される追加要因に依存して変わり得るので、上述した転送速度例は、例示目的のために言及しただけである。
図4のステップ707で、メモリコントローラ30は、ページの読出し中に起きた何らかのビットエラーがあったかどうか検査するために、デイジーチェーン上でのメモリデバイス300からターゲットメモリデバイス301へのデータの受渡しに、任意選択のECC(エラー訂正コード)操作を適用する。コントローラ30は、構成コマンドを使って、メモリデバイスを、ソースデバイスからターゲットデバイスにコピーされるデータが、検査のためにデイジーチェーンに沿ってコントローラ102に渡る通過モードにすることを思い起こされたい。
ステップ708で、コントローラ30は、ソースメモリデバイスからターゲットメモリデバイスに転送されるデータにエラーがあるかどうか検査する。ECC操作が、転送データ中にエラーの存在を検出した場合、フローはステップ709で継続する。
ステップ709で、コントローラ30は、ターゲットメモリデバイス301を、コントローラ30からデータを受信するように構成する。
ステップ710で、コントローラ30は、(たとえば、コントローラ30内のECC機能からの)修正済みデータを、デイジーチェーンリンクを介してターゲットメモリデバイス301のページバッファに送る。したがって、コントローラ30は、ページバッファ中のデータを修正する。
ステップ708で、ECC操作を完了し、ターゲットメモリデバイス301のページバッファに格納されたデータにエラーが最初からなかった、またはなくなったとみなした後、フローは、ステップ711で継続する。
ステップ711で、メモリコントローラ30は、「ページプログラム」コマンドパケット(DA&60h)をターゲットメモリデバイス301に発行する。コマンドの受信に応答して、メモリデバイス301は、ページバッファ内のデータを、選択されたメモリページ場所に書き込み始める。
ステップ712でコントローラ30は、ソースメモリデバイスからターゲットメモリデバイスにコピーされるべき追加データページがあるかどうか検査する。ページがある場合、メモリコントローラ30は、コピーされるべき各追加ページに対するステップ701〜712の繰返しを伴うステップ713を実行する。コピーされるべきページの数は、任意の値でよい。この例では、メモリデバイス300からメモリデバイス301にコピーされる128ページのデータがある。
コントローラ30が、コピーされるべき追加ページがないと検出した場合、コントローラ30は、ステップ714に進む。
ステップ714は、ブロックコピー操作例を終了する。一実施形態では、コントローラ102は、メモリデバイスをアイドルモードにするのを完了すると、メモリデバイスに関連づけられたそれぞれの構成レジスタへの1つまたは複数の書込みを開始する。
図5は、本発明の第2の実施形態によって、コントローラ40によって出力されるクロックが、メモリデバイスのストリングを通して直列デイジーチェーン方式で接続されるメモリシステム図の例である。たとえば、コントローラ40は、それぞれのクロック信号でメモリデバイス400を駆動し、メモリデバイス400は、メモリデバイス401にクロック信号を出力し、以下同様に続く。
デイジーチェーン中の各メモリデバイスは、受信したクロック信号を調整するためのクロック同期装置回路を含み得る。図示した実施形態例では、メモリデバイス400は同期装置回路510-1を含み、メモリデバイス401は同期装置回路510-2を含み、メモリデバイス402は同期装置回路510-3を含み、メモリデバイス403は同期装置回路510-3を含む。クロック同期装置回路510によって提供される機能性は、PLL(フェーズ固定ループ)デバイス、DLL(遅延固定ループ)デバイスなど、または他の適切な回路によって提供され得ることに留意されたい。クロック同期装置の使用により、アクセス回数が減少する。クロック同期装置(たとえば、外部調整PLL、DLLなど)に関連したより詳細は、2007年12月19日に出願した「METHODS AND APPARATUS FOR CLOCK SYNCHRONIZATION IN A CONFIGURATION OF SERIES-CONNECTED SEMICONDUCTOR DEVICES」という名称の関連米国特許出願第11/959,996号(代理人整理番号1251-02US-000-00)で論じられている。
この実施形態例では、メモリデバイス400、メモリデバイス401、メモリデバイス402、メモリデバイス403およびメモリコントローラ40を含むメモリデバイスのストリングは、それぞれのデバイスの間で現実の二地点間直列方式(CKI、CKO)で接続される。コントローラ30(図2に示す)から各メモリデバイスへの一対多地点接続は、動作周波数が高過ぎる(たとえば、数GHz)場合、累積フェーズエラー問題を引き起こし得る。各メモリデバイス中に構築される特殊同期回路(たとえば、同期装置回路510-1、510-2、510-3、510-4)(図5に示す)の使用により、この問題が補償される。
図5に示すメモリシステム500の全体的操作は、図2のものと同様である。ただし、上述したように、メモリシステム500内のメモリデバイスはそれぞれ、バーストデータ転送時間が図2のメモリシステム200によって実現されるよりもはるかに速くなるように、外部調整PLLブロックを利用する。たとえば、メモリシステム500の場合の算出されたブロックコピー時間は、図2に示すメモリシステム200の場合の39ミリ秒に比較して、わずか29ミリ秒になるはずである。
メモリシステム500の本例の状況において、メインコントローラ40は、メモリデバイス400のCKI入力への相互接続404上にクロック信号CKOを出力する。メモリデバイス400は、受信クロックを調整し、メモリデバイス401への相互接続404-1上に出力クロック信号CKOを生じるための外部調整フェーズロックループモジュールを含む。メモリデバイス401は、受信クロック信号を調整し、メモリデバイス402への相互接続404-2上に出力クロック信号CKOを生じるための外部調整フェーズロックループモジュールを含む。メモリデバイス402は、受信クロックを調整し、メモリデバイス403への相互接続404-3上に出力クロック信号CKOを生じるための外部調整フェーズロックループモジュールを含む。メモリデバイス403は、受信クロックを調整し、コントローラ40への相互接続404-4上に出力クロック信号CKOを生じるための外部調整フェーズロックループモジュールを含む。
図6Aは、本発明の実施形態に係る、ソースメモリデバイスから多数のターゲットメモリデバイスそれぞれへのデータの分散をサポートするメモリシステム600の図である。
このブロックコピー方法において、ターゲットは、多数のメモリデバイスを含む。上述したのと同じように、コントローラ50によってメモリデバイスに向かって発行されるコマンドに基づいて、ソースメモリデバイスにある第1の情報ページが第1のターゲットメモリデバイスにコピーされ、ソースメモリデバイスにある第2の情報ページが第2のターゲットメモリデバイスにコピーされ、ソースメモリデバイスにある第3の情報ページが第3のターゲットメモリデバイスにコピーされ、以下同様に続く。分散ブロックコピーを行うために、コントローラ50は、メモリデバイスそれぞれと通信して、データ部分の分散を、異なるメモリデバイス中の特定の場所に正確に調節する。したがって、ブロックコピーは、デイジーチェーン中の、ソースメモリデバイスから多数のターゲットメモリデバイスそれぞれへのデータの転送を含み得る。
一実施形態では、ブロック中のページは、連続情報ページである。コントローラ50は、データブロックの第1のページ(たとえば、ページ0)の、メモリデバイス501への、データブロックの第2のページ(たとえば、ページ1)の、メモリデバイス502へのコピーを開始し、以下同様に続ける。
このような実施形態によると、1つのメモリデバイスから多数のメモリデバイスにブロックをコピーするのに要する時間は、ソースメモリデバイスから単一ターゲットメモリデバイスにデータブロックをコピーするのに要する時間より実質的に少なくなり得る。たとえば、コントローラ50が、図2、5に示すブロックコピーを完了するのに要する時間より実質的に少ない3.8ミリ秒で分散型ブロックコピー操作を完了し得ることが可能である。
図6Bは、本発明の実施形態に係る、単一メモリデバイスから多数のメモリデバイスへのデータのコピーを示すフローチャート例699である。
ステップ900で、ターゲットメモリデバイス501などの第1のターゲットアドレス向けに、コントローラ50は、所与のターゲットデバイスのバイパス機能を可能にするために、「書込み構成レジスタ」コマンドおよび「書込みデータパケット」コマンドを発行する。この発行は、ブロードキャストコマンドを送ることにより遂行することができる。
ステップ901で、メモリコントローラ50は、所与のソースメモリデバイス(たとえば、メモリデバイス500)に「ページ読込み」コマンドパケットを発行する。
ステップ902で、メモリコントローラ50は、ターゲットメモリデバイスに「バーストデータロード開始」コマンドパケットを発行する。
ステップ903で、メモリコントローラ50は、ソースデバイス(たとえば、メモリデバイス500)に「バーストデータ読込み」コマンドパケットを発行する。
ステップ904で、メモリコントローラ50は次いで、メモリデバイス500から所与のターゲットデバイスに転送されるページの長さ(たとえば、8キロバイト)だけDSIをアサートする。データ転送の長さは、単一ビットから多数のバイトまで、任意のビット数の情報でよいことに再度留意されたい。
ステップ905で、DSI信号のアサーションまたは活性化に基づいて、メモリデバイス500は、「読込みデータパケット」の送信を開始して、メモリデバイス500のページバッファ中のデータをターゲットメモリデバイス(たとえば、メモリデバイス501)のページバッファに転送する。
ステップ906で、ターゲットメモリデバイスは、「読込みデータパケット」を「書込みデータパケット」として受信し、ページバッファに書き込むと同時に、継続「読込みデータパケット」としてバイパスさせる。
ステップ907で、メモリコントローラ50は、メモリデバイス500からターゲットメモリデバイスへのデイジーチェーン上でのデータ受渡しにECC(エラー訂正コード)操作を適用する。
ステップ908で、コントローラ50は、ソースメモリデバイスからターゲットメモリデバイスに転送されるデータにエラーがあるかどうか検査する。ECC操作が、転送データ中にエラーの存在を検出した場合、フローは、ステップ709で継続する。
ステップ909で、コントローラ50は、ターゲットデバイスにバーストデータロードコマンドを発行することによって、コントローラ50からデータを受信するようにターゲットメモリデバイスを構成する。
ステップ910で、コントローラ50は、(たとえば、コントローラ50内のECC機能からの)修正済みデータを、デイジーチェーンリンクを介してターゲットメモリデバイスのページバッファに送る。したがって、コントローラ50は、ページバッファ中のデータを修正する。
ステップ908で、ECC操作を完了し、ターゲットメモリデバイスのページバッファに格納されたデータにエラーは最初からなかった、またはなくなったとみなした後、フローは、ステップ911で継続する。
ステップ911で、メモリコントローラ50は、ターゲットメモリデバイスに「ページプログラム」コマンドパケットを発行する。コマンドの受信に応答して、ターゲットメモリデバイスは、ページバッファ中のデータを、選択されたメモリページ場所に書き込み始める。
ステップ912で、コントローラ50は、ソースメモリデバイスから他のターゲットメモリデバイスにコピーされるべき追加データページがあるかどうか検査する。ある場合、メモリコントローラ50は、コピーされるべき各追加ページに対するステップ901〜912の繰返しを伴うステップ913を実行する。このようにして、コントローラ50は、ソースメモリデバイスから連続ターゲットメモリデバイスへのページの連続コピーを開始することができる。コピーされるべきページの数は、任意の値でよい。この例では、メモリデバイス500から128個のターゲットメモリデバイスにコピーされる128ページのデータがある。
コントローラ50が、コピーされるべき追加ページがないことを検出した場合、コントローラ50は、ステップ714に進む。
図7は、本発明の実施形態に係る、コマンドおよびアドレスパケットの発行中の、それぞれのメモリデバイスにおける信号(たとえば、クロック、DSI、DSO、CSI、CSO、Dn、Qn)のズームイン図を示すタイミング例である。「コマンドおよびアドレスパケット」は、デバイスアドレス(DA)、コマンド(CMD)、および/またはアドレス(ADDR)情報を含むことに留意されたい。上で論じたように、メモリデバイスは、この情報をデコードして、コマンドが受信側メモリデバイスによって実行されるべきであるかどうか識別する。以下のTable 2(表2)は、コマンドおよびアドレスパケットに関連づけられたビット定義例である。
Figure 2010537326
図8は、本発明の実施形態に係る、書込みデータパケットの発行中の、メモリデバイスにおける信号(たとえば、クロック、DSI、DSO、CSI、CSO、Dn、Qn)のズームイン図を示すタイミング図例である。この例におけるそれぞれのメモリデバイスは、電力節約のために非通過モード(たとえば、バイパスモード不可)にセットされることに留意されたい。したがって、データパケットは、デイジーチェーン式データリンク上を通過しない。
図9は、本発明の実施形態に係る、書込みデータパケットの発行中の、メモリデバイスにおける信号(たとえば、クロック、DSI、DSO、CSI、CSO、Dn、Qn)のズームイン図を示すタイミング図例である。それぞれのメモリデバイスは、通過モード(たとえば、バイパスモード可能)にセットされ、そうすることによってそれぞれのメモリデバイスによって受信されるデータパケットは、データリンクを下って、連続メモリデバイスやコントローラなどの移動先に「渡る」ことに留意されたい。したがって、データパケットは、実際にデイジーチェーン式データリンクを(少なくともそれぞれのメモリデバイスに対して)下っていく。
図10は、本発明の実施形態に係る、読込みデータリクエストの発行中の、メモリデバイスにおける信号(たとえば、クロック、DSI、DSO、CSI、CSO、Dn、Qn)のズームイン図を示すタイミング図例である。図示するように、それぞれのメモリデバイスが、DSIにより読込みモードに置かれると、メモリデバイスは、連続メモリデバイスへのデータの出力を開始する。
上の図7〜10の考察に関連した追加情報は、2007年7月18日に出願した「MEMORY WITH DATA CONTROL」という名称の関連米国一般特許出願第11/779,587号に見られ得ることに留意されたい。
図11は、本発明の実施形態に係る、アクセス制御モジュール140(たとえば、アクセス制御アプリケーション140-1および/またはアクセス制御プロセス140-2)を実装するそれぞれのコントローラ102のアーキテクチャ例のブロック図である。一実施形態では、アクセス制御アプリケーション140-1は、本明細書に記載するコピー操作を行うための、コントローラ102によって実行される一連の命令でよい。一実施形態では、アクセス制御プロセス140-2は、アクセス制御アプリケーション140-1を実行した結果としてコントローラ102によって提供される方法および/または機能性を表す。
コントローラ102は、本明細書に記載する制御操作を行うための命令を実行する、デジタル信号プロセッサ、コンピュータなどのコンピュータ制御デバイスでよい。
以下の説明では、アクセス制御モジュール140に関連づけられた機能性をどのようにして行うかを示す基本実施形態を挙げることに留意されたい。アクセス制御モジュール140を実施する実際の構成は、それぞれのアプリケーションに依存して変わり得ることに留意されたい。たとえば、コントローラ102および対応する機能性は、ハードウェア単独により、ソフトウェアとして、またはハードウェアおよびソフトウェアの組合せとして実装することができる。
図示した実施形態例では、本例のコントローラ102は、メモリシステム1112をプロセッサ1113に結合する相互接続111を含む。通信インタフェース1131は、メモリデバイス110に対してブロックコピー操作を実施するためのリクエストなどの入力をコントローラ102が受信することを可能にする。
図示するように、メモリシステム1112は、上述し、さらに後で論じるアクセス制御をサポートするアクセス制御アプリケーション140-1を有してエンコードされる。アクセス制御アプリケーション140-1は、本明細書に記載した異なる実施形態に係る処理機能性をサポートする、データおよび/または論理命令(たとえば、メモリ内またはディスクなどの別のコンピュータ可読媒体上に格納されたコード)などのソフトウェアコードとして実施することができる。一実施形態の動作中、プロセッサ1113は、アクセス制御アプリケーション140-1の論理命令を起動し、稼動し、実行し、翻訳し、あるいは実施するために、相互接続111の使用によりメモリシステム1112にアクセスする。アクセス制御アプリケーション140-1の実行により、アクセス制御プロセス140-2に処理機能性がもたらされる。言い換えると、アクセス制御プロセス140-2は、コントローラ102内のプロセッサ1113の内部または上で働くアクセス制御モジュール140の1つまたは複数の部分を表す。
本明細書において論じた方法操作を行うアクセス制御プロセス140-2に加えて、本発明の他の実施形態は、アクセス制御アプリケーション140-1自体(すなわち、非実行型または非実施型の論理命令および/またはデータ)を含むことに留意されたい。アクセス制御アプリケーション140-1は、フロッピー(登録商標)ディスク、ハードディスクなどのコンピュータ可読媒体(たとえば、リポジトリ)上にも、光メディア内にもに格納することができる。他の実施形態によると、アクセス制御アプリケーション140-1は、ファームウェア、読出し専用メモリ(ROM)内に、またはこの例でのように、実行可能コードとしてメモリシステム1112内(たとえば、ランダムアクセスメモリすなわちRAM内)など、メモリタイプシステム内に格納することもできる。
こうした実施形態に加えて、本発明の他の実施形態は、アクセス制御プロセス140-2としての、プロセッサ1113内でのアクセス制御アプリケーション140-1の実行を含むことにも留意されたい。したがって、コントローラ102は、ハードウェア資源の割振りおよび使用を制御するオペレーティングシステムなど、他のプロセスならびに/またはソフトウェアおよびハードウェア構成要素を含み得ることが、当業者には理解されよう。
次に、アクセス制御モジュール140によってサポートされる機能性について、図12のフローチャートにより論じる。
図12は、本発明の実施形態に係るブロックコピー操作を示すフローチャート例1200の図である。図12のフローチャート1200のステップの参照に加え、図1のメモリシステム100に対する参照を行う。
ステップ1210で、コントローラ102は、デイジーチェーン制御リンク150を介して通信して、多数のデイジーチェーン式メモリデバイスのうち第1のメモリデバイス(たとえば、図1Bのメモリデバイス110-1)を、第1のメモリデバイスに格納されたデータを出力するソースとなるように構成する。
本例の代替として、コントローラ102は、メモリデバイス110-Mをソースメモリデバイスとなるように、およびメモリデバイス110-1をターゲットメモリデバイスとなるように選んでよいことに留意されたい。このような実施形態において、データは、コントローラ102を通ってターゲットに転送されることになる。
メモリデバイス110-1がソースであり、メモリデバイス110-Mがターゲットである本例を再度参照すると、ステップ1215で、コントローラ102は、デイジーチェーン制御リンク150と通信して、多数のメモリデバイス110のうち第2のメモリデバイス(たとえば、図1Bのメモリデバイス110-M)を、データを受信する移動先となるように構成する。
ステップ1220で、コントローラ102は、制御リンク150を介して通信して、デイジーチェーン方式の多数の連続メモリデバイス110を通る、データリンク160上でのデータの受渡しを可能にする。たとえば、コントローラ102は、ソースメモリデバイスとターゲットメモリデバイスとの間の中間メモリデバイス110を通過モードにセットし、そうすることによって、メモリデバイス110-1からのデータは、データリンク160上でターゲットデバイスに送信することができる。メモリデバイス110-Mも、通過モードにセットすることができ、そうすることによってコントローラ102は、ソースメモリデバイスからターゲットメモリデバイスに転送されるデータを監視することができる。
ステップ1225で、コントローラ102は、デイジーチェーン制御リンク150を介して通信して、ソースメモリデバイス110-1からターゲットメモリデバイス110-Mへのデータの転送を開始する。
ステップ1230で、コントローラ102は、データリンクを監視して、ソースメモリデバイス110-1からターゲットメモリデバイス110-Mまで、多数の連続メモリデバイス110を通過したデータを受信する。
ステップ1235で、コントローラ102は、受信データにエラー訂正機能を適用して、第1のメモリデバイスから第2のメモリデバイスに転送されるデータに関連エラーがあるかどうか識別する。
ステップ1240で、エラー訂正機能の適用に基づく、受信データに関するエラーの検出に応答して、コントローラ102は、コアメモリへのデータの書込みに先立って、第2のメモリデバイスのバッファ中のデータの修正を開始する。
ステップ1245で、バッファ中のデータを訂正した後、コントローラ102は、ターゲットメモリデバイス110-Mと通信して、それぞれのページバッファ中のデータを、ターゲットメモリデバイス110-Mに関連づけられたコアメモリの指定された記憶場所に書き込む。
記載した実施形態の何らかの適合および修正を行うことができる。したがって、論じた上記実施形態は、例示的なものとみなされ、制約的なものではない。
30 コントローラ
31 ECC&バッファメモリブロック
40 コントローラ
50 コントローラ
100 メモリシステム
102 コントローラ
109 エラー検査モジュール
110 メモリデバイス
115 コアメモリ
118 バッファ
125 制御/データ処理(C.A.D.P.)回路
140 アクセス制御モジュール
150 制御リンク
151 通信経路
160 データリンク
162 デイジーチェーン通信リンク
200 メモリシステム
205 基板
300 メモリデバイス
301 メモリデバイス
302 メモリデバイス
303 メモリデバイス
304 メインクロック信号
321 経路
323 デイジーチェーン式データリンク経路
324 経路
325 経路
400 メモリデバイス
401 メモリデバイス
402 メモリデバイス
403 メモリデバイス
500 メモリデバイス
501 メモリデバイス
502 メモリデバイス
510 同期装置回路
600 メモリシステム
601 同形データパケット
602 同形データパケット
606 書込みデータパケット
1112 メモリシステム
1113 プロセッサ
1131 通信インタフェース

Claims (34)

  1. 第1のメモリデバイスおよび第2のメモリデバイスを含む複数のメモリデバイスと、
    コントローラおよび前記複数のメモリデバイスが、前記メモリデバイスを経由するデータの伝播を可能にするように直列に接続されたコントローラと
    を備えるメモリシステムであって、
    前記コントローラは、
    前記第1のメモリデバイスを、前記第1のメモリデバイスに格納されたデータを出力するソースとなるように動作させ、
    前記第2のメモリデバイスを、前記データを受信する移動先となるように動作させ、
    前記第1のメモリデバイスから前記第2のメモリデバイスへの前記データの転送を開始させる制御をする、メモリシステム。
  2. 前記コントローラは、コマンドが前記第1のメモリデバイスの入力で受信されるように該コマンドを送信するように構成されており、
    前記第1のメモリデバイスは、前記第2のメモリデバイスの入力に前記コマンドを出力するように構成されている、請求項1に記載のメモリシステム。
  3. 前記第1のメモリデバイスから、前記第1のメモリデバイスと前記第2のメモリデバイスとの間の媒介メモリデバイスを通って、前記第2のメモリデバイスへの前記データの送信を可能にするリンクをさらに備える、請求項1または2に記載のメモリシステム。
  4. 前記コントローラは、制御リンク上で第1のセットアップ命令を出力するように構成されており、前記第1のセットアップ命令は、前記コントローラによって指定された前記第1のメモリデバイスの記憶場所から前記データを読み取るように前記第1のメモリデバイスを動作させるために、前記第1のメモリデバイス宛に出され、
    前記コントローラは、前記第1のメモリデバイスを通って前記第2のメモリデバイスへ伝送される第2のセットアップ命令を前記制御リンク上に出力するように構成されており、前記第2のセットアップ命令は、前記コントローラによって指定された前記第2のメモリデバイスの記憶場所への書き込み動作を該第2のメモリデバイスがするように、前記第2のメモリデバイス宛に出される、請求項1に記載のメモリシステム。
  5. 前記コントローラが、前記第1のメモリデバイスから前記第2のメモリデバイスへの前記データの前記転送の後に、前記第2のメモリデバイスに関連づけられた記憶場所への前記データの書込みを開始するためのコマンドを、リンクを介して伝達するように構成される、請求項1に記載のメモリシステム。
  6. 前記複数のメモリデバイスを通るデータリンクをさらに備え、
    前記コントローラは、制御リンクを介した通信を開始して、前記第1のメモリデバイスから、前記第2のメモリデバイスを通って前記コントローラに戻る前記データリンク上での前記データの受渡しを可能にするように構成されている、請求項1に記載のメモリシステム。
  7. 前記コントローラは、前記データが前記第1のメモリデバイスから前記第2のメモリデバイスに転送されるとき、前記データリンク上の前記データを監視および受信するように構成されている、請求項6に記載のメモリシステム。
  8. 前記コントローラで受信される前記データにエラー訂正機能を適用するように構成されたエラー検出装置回路をさらに備え、前記エラー訂正機能は、前記第1のメモリデバイスから前記第2のメモリデバイスに転送される前記データにエラーがあるかどうか判断するように構成されている、請求項7に記載のメモリシステム。
  9. 前記第2のメモリデバイスに関連づけられた記憶場所に前記データが格納されるのに先立って、前記データを一時的に格納するための、前記第2のメモリデバイス中のバッファをさらに備える、請求項8に記載のメモリシステム。
  10. 前記エラー検出装置回路は、前記制御リンクを介して通信して、前記バッファ中の前記データに対する、前記第2のメモリデバイスに関連づけられた前記記憶場所への書込みに先立って、前記エラーの検出に応答して前記バッファ中の前記データを修正するように構成されている、請求項9に記載のメモリシステム。
  11. 前記コントローラで受信された前記データにエラー訂正機能を適用するように構成されたエラー検出装置回路をさらに備える、請求項6または7に記載のメモリシステム。
  12. 前記複数のメモリデバイスを通るデータリンクをさらに備え、
    前記複数のメモリデバイスが第3のメモリデバイスを含む、請求項1に記載のメモリシステム。
  13. 前記第3のメモリデバイスは、前記データを受信する別の移動先となるように構成可能である、請求項12に記載のメモリシステム。
  14. 前記第2のメモリデバイスは、前記データリンク上で受信された前記データを格納し、かつ前記データリンク上で前記第3のメモリデバイスに前記受信データを渡すように構成されている、請求項13に記載のメモリシステム。
  15. 前記コントローラは、前記第1のメモリデバイスから前記第2のメモリデバイスへの前記データの前記転送と同時に、前記第1のメモリデバイスから前記第3のメモリデバイスへの前記データリンク上での前記データの転送を開始させる、請求項14に記載のメモリシステム。
  16. 前記複数のメモリデバイスを通るリング接続データリンクをさらに備え、
    前記複数のメモリデバイスが第3のメモリデバイスを含む、請求項1に記載のメモリシステム。
  17. 前記コントローラは、制御リンクを介して通信して、前記第1のメモリデバイスからの前記データリンク上での前記データの第1の部分の受渡しを、前記第2のメモリデバイスへの前記データの前記第1の部分の格納のために開始するように構成されている、請求項16に記載のメモリシステム。
  18. 前記コントローラは、前記制御リンクを介して通信して、前記第2のメモリデバイスからの前記データリンク上での前記データの第2の部分の受渡しを、前記第3のメモリデバイスへの前記データの前記第2の部分の格納のために開始するように構成されている、請求項17に記載のメモリシステム。
  19. 複数のメモリデバイスを通るリング接続リンクを介して通信して、前記複数のメモリデバイスのうち第1のメモリデバイスを、前記第1のメモリデバイスに格納されたデータを出力するソースとなるように構成する段階と、
    前記リング接続リンクを介して通信して、前記複数のメモリデバイスのうち第2のメモリデバイスを、前記データを受信する移動先となるように構成する段階と、
    前記リング接続リンクを介して通信して、前記第1のメモリデバイスから前記第2のメモリデバイスへの前記データの転送を開始する段階とを含む方法。
  20. 前記リング接続リンクを介して通信して、前記第1のメモリデバイスを構成する段階は、前記第1のメモリデバイスの入力にコマンドを送信し、それに対して前記第1のメモリデバイスが、前記リング接続の前記第2のメモリデバイスの入力に前記コマンドを出力する段階を含む、請求項19に記載の方法。
  21. 前記リング接続リンクを介して通信して、前記第1のメモリデバイスを構成する段階は、前記第1のメモリデバイスにアドレス指定される、少なくとも1つのセットアップ命令を、前記リング接続リンク上に出力して、前記第1のメモリデバイスを、前記第1のメモリデバイス中の記憶場所から前記データを読み込むように構成する段階を含み、
    前記リング接続リンクを介して通信して、前記第2のメモリデバイスを構成する段階は、前記第2のメモリデバイスにアドレス指定される、少なくとも1つのセットアップ命令を、前記リング接続リンク上に出力して、前記第2のメモリデバイスの中の記憶場所への書込みの実施用に前記第2のメモリデバイスを構成する段階を含む、請求項19に記載の方法。
  22. 前記リング接続リンクを介して通信して、前記第1のメモリデバイスから前記第2のメモリデバイスへの前記データの前記転送を開始する段階は、
    前記リング接続リンクを介して通信して、前記第1のメモリデバイスから前記第2のメモリデバイスへの前記データの前記転送の後で、前記第2のメモリデバイスに関連づけられた記憶場所への前記データの書込みを開始する段階を含む、請求項19から21のいずれか一項に記載の方法。
  23. 前記リング接続リンクを介して通信して、前記転送を開始する段階は、前記リング接続リンクを介して通信して、前記第1のメモリデバイスから、前記第1のメモリデバイスと前記第2のメモリデバイスとの間の媒介メモリデバイスを経由して前記第2のメモリデバイスまで、前記複数のメモリデバイスを通るデータリンク上での前記データの送信を開始する段階を含む、請求項19に記載の方法。
  24. 前記リング接続リンクを介して通信を開始して、前記複数のメモリデバイスを通過するデータリンク上での前記データの受渡しを可能にする段階と、
    前記データリンクを監視して、前記複数のメモリデバイスを通過した前記データを受信する段階とをさらに含む、請求項19に記載の方法。
  25. 前記受信データにエラー訂正機能を適用して、前記第1のメモリデバイスから前記第2のメモリデバイスに転送される前記データにエラーがあるかどうか判断する段階をさらに含む、請求項24に記載の方法。
  26. 前記リング接続リンクを介して通信して、前記データの前記転送を開始する段階は、前記データを、前記第1のメモリデバイスから前記第2のメモリデバイスに関連づけられたバッファに転送させる、請求項22、24、25のいずれか一項に記載の方法。
  27. 前記リング接続リンクを介して通信して、前記データの前記転送を開始する段階は、前記データを、前記第1のメモリデバイスから前記第2のメモリデバイスに関連づけられたバッファに転送させ、前記方法は、
    前記エラー訂正機能の適用に基づく、前記受信データに関する前記エラーの検出に応答して、前記バッファ中の前記データを前記第2のメモリデバイスに関連づけられた記憶場所に書き込むのに先立って、前記バッファ中の前記データの修正を開始する段階をさらに含む、請求項25に記載の方法。
  28. 前記リング接続リンクを介して通信して、前記複数のメモリデバイスのうち第3のメモリデバイスを、前記第1のメモリデバイスから前記データを受信する別の移動先となるように構成する段階をさらに含み、
    前記リング接続リンクを介して通信して、前記転送を開始する段階は、前記第1のメモリデバイスから前記第3のメモリデバイスへの前記データの送信を開始する段階を含む、請求項19に記載の方法。
  29. 前記リング接続リンクを介して通信して、前記複数のメモリデバイスのうち第3のメモリデバイスを、前記第1のメモリデバイスから前記データを受信する別の移動先となるように構成する段階をさらに含み、
    前記制御リンクを介して通信して、前記データの前記転送を開始する段階は、
    前記リング接続リンクを介して通信して、前記第1のメモリデバイスから前記第2のメモリデバイス中の記憶場所への前記データの第1の部分の格納を開始する段階と、
    前記リング接続リンクを介して通信して、前記第1のメモリデバイスから前記第3のメモリデバイス中の記憶場所への前記データの第2の部分の格納を開始する段階とを含む、請求項19に記載の方法。
  30. データを格納するためのメモリと、
    上流メモリデバイスからデータを受信する入力と、
    下流メモリデバイスにデータを送信する出力と、
    前記入力と前記出力との間の回路機構であって、遠隔ソースから構成コマンドを受信し、前記遠隔ソースによる対応するモードの選択に基づいて、前記メモリに格納された前記データを、前記下流メモリデバイスへの前記出力上での送信のために取り出すように構成された回路機構とを備えるメモリデバイス。
  31. 前記回路機構は、対応するモードの選択に基づいて、前記入力を監視し、前記下流メモリデバイスへの前記出力上での送信用に、前記上流メモリデバイスからデータを受信するように構成される、請求項30に記載のメモリデバイス。
  32. 前記入力が第1の入力であり、前記出力が第1の出力であり、前記メモリデバイスが、
    前記上流メモリデバイスからコマンドを受信するように構成された第2の入力と、
    前記受信コマンドを前記下流メモリデバイスに伝えるように構成された第2の出力と、
    前記第2の入力と前記第2の出力との間のデコード回路機構であって、前記第2の入力から前記第2の出力に前記受信コマンドを伝え、前記受信コマンドのどれが実行用に前記メモリデバイスにアドレス指定されるか識別するように構成された回路機構とをさらに備える、請求項30に記載のメモリデバイス。
  33. データを格納するためのメモリと、
    バッファと、
    上流メモリデバイスからデータを受信する入力と、
    下流メモリデバイスにデータを送信する出力と、
    前記入力と前記出力との間の回路機構であって、遠隔ソースから構成コマンドを受信し、前記遠隔ソースによる対応するモードの選択に基づいて、前記入力を監視し、前記バッファへの格納のために前記上流メモリデバイスからデータを受信するように構成された回路機構とを備えるメモリデバイス。
  34. 命令を格納したコンピュータ可読媒体であって、
    複数のメモリデバイスを通るリング接続リンクを介して通信して、前記複数のメモリデバイスのうち第1のメモリデバイスを、前記第1のメモリデバイスに格納されたデータを出力するソースとなるように構成する命令と、
    前記リンクを介して通信して、前記複数のメモリデバイスのうち第2のメモリデバイスを、前記データを受信する移動先となるように構成する命令と、
    前記リング接続リンクを介して通信して、前記第1のメモリデバイスから前記第2のメモリデバイスへの前記データの転送を開始する命令とを含むコンピュータ可読媒体。
JP2010522146A 2007-08-29 2008-08-27 デイジーチェーンメモリの構成および使用 Pending JP2010537326A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/897,105 US20090063786A1 (en) 2007-08-29 2007-08-29 Daisy-chain memory configuration and usage
PCT/CA2008/001512 WO2009026696A1 (en) 2007-08-29 2008-08-27 Daisy-chain memory configuration and usage

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013164952A Division JP2013225352A (ja) 2007-08-29 2013-08-08 フラッシュメモリデバイス

Publications (1)

Publication Number Publication Date
JP2010537326A true JP2010537326A (ja) 2010-12-02

Family

ID=40386615

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010522146A Pending JP2010537326A (ja) 2007-08-29 2008-08-27 デイジーチェーンメモリの構成および使用
JP2013164952A Pending JP2013225352A (ja) 2007-08-29 2013-08-08 フラッシュメモリデバイス

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2013164952A Pending JP2013225352A (ja) 2007-08-29 2013-08-08 フラッシュメモリデバイス

Country Status (8)

Country Link
US (1) US20090063786A1 (ja)
EP (1) EP2183748A4 (ja)
JP (2) JP2010537326A (ja)
KR (1) KR101507192B1 (ja)
CN (1) CN101836258A (ja)
CA (1) CA2695396A1 (ja)
TW (1) TW200931266A (ja)
WO (1) WO2009026696A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012143334A (ja) * 2011-01-11 2012-08-02 Hitachi Medical Corp 放射線検出システム及びx線ct装置
KR20170066226A (ko) * 2015-11-16 2017-06-14 에이취지에스티 네덜란드 비.브이. 에러 정정 전에 비휘발성 고체 상태 디바이스로부터 데이터를 송신하는 시스템 및 방법
JP2022548640A (ja) * 2019-09-17 2022-11-21 マイクロン テクノロジー,インク. 統合されたデータムーバーを有するメモリチップ

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US7849381B2 (en) * 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7721010B2 (en) * 2007-10-31 2010-05-18 Qimonda North America Corp. Method and apparatus for implementing memory enabled systems using master-slave architecture
US8134852B2 (en) * 2008-10-14 2012-03-13 Mosaid Technologies Incorporated Bridge device architecture for connecting discrete memory devices to a system
US7957173B2 (en) 2008-10-14 2011-06-07 Mosaid Technologies Incorporated Composite memory having a bridging device for connecting discrete memory devices to a system
US8200925B2 (en) * 2008-10-31 2012-06-12 Mosaid Technologies Incorporated Data mirroring in serial-connected memory system
US8549209B2 (en) 2008-11-04 2013-10-01 Mosaid Technologies Incorporated Bridging device having a configurable virtual page size
US20100180182A1 (en) * 2009-01-09 2010-07-15 Seagate Technology Llc Data memory device and controller with interface error detection and handling logic
US8045356B2 (en) * 2009-02-27 2011-10-25 Micron Technology, Inc. Memory modules having daisy chain wiring configurations and filters
GB0910388D0 (en) * 2009-06-16 2009-07-29 Icera Inc Data transmission
US8521980B2 (en) 2009-07-16 2013-08-27 Mosaid Technologies Incorporated Simultaneous read and write data transfer
US8700845B1 (en) * 2009-08-12 2014-04-15 Micron Technology, Inc. Daisy chaining nonvolatile memories
US8463959B2 (en) * 2010-05-31 2013-06-11 Mosaid Technologies Incorporated High-speed interface for daisy-chained devices
KR101196907B1 (ko) 2010-10-27 2012-11-05 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 동작 방법
CN102568570B (zh) * 2010-12-07 2016-04-27 上海华虹集成电路有限责任公司 基于sd接口使用环形队列快速写闪存介质的方法
WO2012087901A2 (en) * 2010-12-22 2012-06-28 Converteam Technology Ltd. Communications architecture for providing data communication, synchronization and fault detection between isolated modules
US20130094271A1 (en) * 2011-08-22 2013-04-18 Mosaid Technologies Incorporated Connection of multiple semiconductor memory devices with chip enable function
KR101272040B1 (ko) * 2011-08-26 2013-06-07 주식회사 에이디텍 클러스터 시스템의 클럭신호 손실 방지 회로
CN102411548B (zh) * 2011-10-27 2014-09-10 忆正存储技术(武汉)有限公司 闪存控制器以及闪存间数据传输方法
US8825967B2 (en) * 2011-12-08 2014-09-02 Conversant Intellectual Property Management Inc. Independent write and read control in serially-connected devices
KR20130107841A (ko) * 2012-03-23 2013-10-02 삼성전자주식회사 메모리 시스템
US20130339638A1 (en) * 2012-06-19 2013-12-19 Tal Lazmi Status polling of memory devices using an independent status bus
US20140122777A1 (en) * 2012-10-31 2014-05-01 Mosaid Technologies Incorporated Flash memory controller having multi mode pin-out
US9501437B2 (en) * 2012-11-15 2016-11-22 Empire Technology Development Llc Scalable storage system having multiple storage channels
KR101827936B1 (ko) * 2013-08-29 2018-02-09 세이코 엡슨 가부시키가이샤 송신 시스템, 송신 장치 및, 데이터 송신 방법
US20150103593A1 (en) * 2013-10-14 2015-04-16 Skymedi Corporation Method of Writing Data in Non-Volatile Memory and Non-Volatile Storage Device Using the Same
US9684465B2 (en) * 2014-03-28 2017-06-20 International Business Machines Corporation Memory power management and data consolidation
US9641616B2 (en) * 2014-07-10 2017-05-02 Kabushiki Kaisha Toshiba Self-steering point-to-point storage protocol
CN104360977B (zh) * 2014-12-10 2018-02-06 浪潮(北京)电子信息产业有限公司 一种管理高速串行传输接口的方法及系统
US20160179726A1 (en) * 2014-12-17 2016-06-23 Qualcomm Incorporated Programming hardware registers using a pipelined register bus, and related methods, systems, and apparatuses
US9678159B2 (en) * 2015-03-04 2017-06-13 Cavium, Inc. Communication and control topology for efficient testing of sets of devices
KR20180032733A (ko) 2016-09-22 2018-04-02 삼성전자주식회사 직렬로 연결되는 스토리지 장치들의 상이한 특성들을 보상하도록 구성되는 전자 장치, 및 그것에 포함되는 스토리지 장치
US10339050B2 (en) * 2016-09-23 2019-07-02 Arm Limited Apparatus including a memory controller for controlling direct data transfer between first and second memory modules using direct transfer commands
KR20180034778A (ko) * 2016-09-27 2018-04-05 삼성전자주식회사 직렬로 연결되는 스토리지 장치들 중 직접 연결되지 않은 스토리지 장치로의 바이패스 경로를 제공하도록 구성되는 전자 장치, 그것에 포함되는 스토리지 장치, 그것을 포함하는 컴퓨팅 시스템, 및 그것을 이용하여 통신하는 방법
KR20180038109A (ko) 2016-10-05 2018-04-16 삼성전자주식회사 모니터링 회로를 포함하는 전자 장치 및 그것에 포함되는 스토리지 장치
US10613766B1 (en) * 2017-07-27 2020-04-07 EMC IP Holding Company LLC Data replication techniques
KR102517344B1 (ko) * 2017-12-20 2023-04-03 삼성전자주식회사 병렬 처리 시스템 및 그 동작 방법
US10423558B1 (en) * 2018-08-08 2019-09-24 Apple Inc. Systems and methods for controlling data on a bus using latency
CN112286842B (zh) * 2019-07-22 2023-07-04 苏州库瀚信息科技有限公司 用于存储器控制器与存储器设备互连的总线
US11017842B2 (en) 2019-08-29 2021-05-25 Micron Technology, Inc. Copy data in a memory system with artificial intelligence mode
US11397694B2 (en) 2019-09-17 2022-07-26 Micron Technology, Inc. Memory chip connecting a system on a chip and an accelerator chip
US11163490B2 (en) 2019-09-17 2021-11-02 Micron Technology, Inc. Programmable engine for data movement
US11425102B2 (en) 2019-10-14 2022-08-23 Michael Steven Voss Air gap system and method using out of band signaling
KR20210103228A (ko) * 2020-02-13 2021-08-23 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US11847338B2 (en) * 2020-07-29 2023-12-19 Micron Technology, Inc. Master slave managed memory storage
KR20220030403A (ko) 2020-08-31 2022-03-11 삼성전자주식회사 불휘발성 메모리 장치, 불휘발성 메모리 및 메모리 컨트롤러의 동작 방법
US20230222081A1 (en) * 2022-01-13 2023-07-13 Infineon Technologies Ag Daisy chain configuration using priority values
CN115168282B (zh) * 2022-09-08 2022-12-02 江西萤火虫微电子科技有限公司 总线协议上配置数据处理方法、系统、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63223946A (ja) * 1987-03-13 1988-09-19 Fujitsu Ltd デ−タメモリ方式
US20040148482A1 (en) * 2003-01-13 2004-07-29 Grundy Kevin P. Memory chain
US20060031593A1 (en) * 2004-08-09 2006-02-09 Sinclair Alan W Ring bus structure and its use in flash memory systems
JP2006065697A (ja) * 2004-08-27 2006-03-09 Hitachi Ltd 記憶デバイス制御装置
US20070165457A1 (en) * 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08500687A (ja) * 1992-08-10 1996-01-23 モノリシック・システム・テクノロジー・インコーポレイテッド ウェハ規模の集積化のためのフォルトトレラントな高速度のバス装置及びバスインタフェース
US5748914A (en) * 1995-10-19 1998-05-05 Rambus, Inc. Protocol for communication with dynamic memory
US5940866A (en) * 1995-12-13 1999-08-17 International Business Machines Corporation Information handling system having a local address queue for local storage of command blocks transferred from a host processing side
US5860080A (en) * 1996-03-19 1999-01-12 Apple Computer, Inc. Multicasting system for selecting a group of memory devices for operation
US6378018B1 (en) * 1997-10-10 2002-04-23 Intel Corporation Memory device and system including a low power interface
US6658509B1 (en) * 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface
US6934785B2 (en) * 2000-12-22 2005-08-23 Micron Technology, Inc. High speed interface with looped bus
US6996644B2 (en) * 2001-06-06 2006-02-07 Conexant Systems, Inc. Apparatus and methods for initializing integrated circuit addresses
JP2004029898A (ja) * 2002-06-21 2004-01-29 Renesas Technology Corp データプロセッサ
DE60217346T2 (de) * 2002-10-02 2007-10-04 Dialog Semiconductor Gmbh Verfahren und Vorrichtung zur Vermeidung von Speicherzugriffskonflikten
US7203828B2 (en) * 2002-11-29 2007-04-10 Sigmatel, Inc. Use of NAND flash for hidden memory blocks to store an operating system program
US7093076B2 (en) * 2002-12-12 2006-08-15 Samsung Electronics, Co., Ltd. Memory system having two-way ring topology and memory device and memory module for ring-topology memory system
US6826663B2 (en) * 2003-01-13 2004-11-30 Rambus Inc. Coded write masking
DE112004000821B4 (de) * 2003-05-13 2016-12-01 Advanced Micro Devices, Inc. System mit einem Hauptrechner, der mit mehreren Speichermodulen über eine serielle Speicherverbindung verbunden ist
US7197617B2 (en) * 2003-05-29 2007-03-27 International Business Machines Corporation Process, apparatus, and system for storing data check information using standard sector data field sizes
US7194581B2 (en) * 2003-06-03 2007-03-20 Intel Corporation Memory channel with hot add/remove
US7165153B2 (en) * 2003-06-04 2007-01-16 Intel Corporation Memory channel with unidirectional links
US20050086413A1 (en) * 2003-10-15 2005-04-21 Super Talent Electronics Inc. Capacity Expansion of Flash Memory Device with a Daisy-Chainable Structure and an Integrated Hub
US7475174B2 (en) * 2004-03-17 2009-01-06 Super Talent Electronics, Inc. Flash / phase-change memory in multi-ring topology using serial-link packet interface
US7590797B2 (en) * 2004-04-08 2009-09-15 Micron Technology, Inc. System and method for optimizing interconnections of components in a multichip memory module
US8364861B2 (en) * 2006-03-28 2013-01-29 Mosaid Technologies Incorporated Asynchronous ID generation
US8069328B2 (en) * 2006-03-28 2011-11-29 Mosaid Technologies Incorporated Daisy chain cascade configuration recognition technique
US7917710B2 (en) * 2006-06-05 2011-03-29 Oracle America, Inc. Memory protection in a computer system employing memory virtualization
US7783826B2 (en) * 2006-09-28 2010-08-24 Qimonda Ag Data bus width converter

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63223946A (ja) * 1987-03-13 1988-09-19 Fujitsu Ltd デ−タメモリ方式
US20040148482A1 (en) * 2003-01-13 2004-07-29 Grundy Kevin P. Memory chain
US20060031593A1 (en) * 2004-08-09 2006-02-09 Sinclair Alan W Ring bus structure and its use in flash memory systems
JP2006065697A (ja) * 2004-08-27 2006-03-09 Hitachi Ltd 記憶デバイス制御装置
US20070165457A1 (en) * 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012143334A (ja) * 2011-01-11 2012-08-02 Hitachi Medical Corp 放射線検出システム及びx線ct装置
KR20170066226A (ko) * 2015-11-16 2017-06-14 에이취지에스티 네덜란드 비.브이. 에러 정정 전에 비휘발성 고체 상태 디바이스로부터 데이터를 송신하는 시스템 및 방법
JP2017151955A (ja) * 2015-11-16 2017-08-31 エイチジーエスティーネザーランドビーブイ 誤り訂正前に不揮発性固体装置からデータを送信するシステムおよび方法
KR101967955B1 (ko) 2015-11-16 2019-04-10 에이취지에스티 네덜란드 비.브이. 에러 정정 전에 비휘발성 고체 상태 디바이스로부터 데이터를 송신하는 시스템 및 방법
JP2022548640A (ja) * 2019-09-17 2022-11-21 マイクロン テクノロジー,インク. 統合されたデータムーバーを有するメモリチップ

Also Published As

Publication number Publication date
JP2013225352A (ja) 2013-10-31
US20090063786A1 (en) 2009-03-05
TW200931266A (en) 2009-07-16
EP2183748A1 (en) 2010-05-12
CN101836258A (zh) 2010-09-15
EP2183748A4 (en) 2011-04-06
CA2695396A1 (en) 2009-03-05
KR101507192B1 (ko) 2015-03-31
WO2009026696A1 (en) 2009-03-05
KR20100075860A (ko) 2010-07-05

Similar Documents

Publication Publication Date Title
JP2013225352A (ja) フラッシュメモリデバイス
US11669248B2 (en) Clock mode determination in a memory system
JP5408663B2 (ja) 1つもしくはそれ以上のメモリ装置を有するシステム
JP5575474B2 (ja) スケーラブルメモリシステム
US8843692B2 (en) System of interconnected nonvolatile memories having automatic status packet
US7925854B2 (en) System and method of operating memory devices of mixed type
TWI486776B (zh) 於混合類型之串列互連裝置產生裝置識別碼之設備及方法
US9977731B2 (en) Bridging device having a configurable virtual page size
JP5753989B2 (ja) 複数のメモリデバイスを有するシステムの状態表示
JP5753988B2 (ja) エラー検出方法および1つまたは複数のメモリデバイスを含むシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130318

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130409

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130809

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131016

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20131220

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140926

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20141003

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150129