[go: up one dir, main page]

JP2010501915A - Memory module command structure and memory system - Google Patents

Memory module command structure and memory system Download PDF

Info

Publication number
JP2010501915A
JP2010501915A JP2009524852A JP2009524852A JP2010501915A JP 2010501915 A JP2010501915 A JP 2010501915A JP 2009524852 A JP2009524852 A JP 2009524852A JP 2009524852 A JP2009524852 A JP 2009524852A JP 2010501915 A JP2010501915 A JP 2010501915A
Authority
JP
Japan
Prior art keywords
memory
command
address
identifier
memory device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009524852A
Other languages
Japanese (ja)
Other versions
JP2010501915A5 (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 JP2010501915A publication Critical patent/JP2010501915A/en
Publication of JP2010501915A5 publication Critical patent/JP2010501915A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1042Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

メモリシステムおよびメモリコントローラを含むシステムは、ホストシステムに接続される。メモリシステムは、データを格納する少なくとも1つのメモリ装置を有する。コントローラは、ホストシステムからの要求を少なくとも1つのメモリ装置によって解釈可能である1つまたは複数の分離可能なコマンドに変換する。各コマンドは、少なくとも1つのメモリ装置の1つに対するアドレス識別子と、少なくとも1つのメモリ装置の1つによって実行される操作を表すコマンド識別子とを含むモジュール構造を有する。少なくとも1つのメモリ装置およびコントローラは、1つのメモリ装置のみが、メモリシステムに入力するコントローラと通信するように、通信用に直列接続で構成される。メモリシステムは、共通バスに接続された複数のメモリ装置を含むことができる。  A system including a memory system and a memory controller is connected to the host system. The memory system has at least one memory device that stores data. The controller translates the request from the host system into one or more separable commands that can be interpreted by at least one memory device. Each command has a modular structure that includes an address identifier for one of the at least one memory device and a command identifier representing an operation performed by one of the at least one memory device. The at least one memory device and the controller are configured in series connection for communication so that only one memory device communicates with the controller that inputs to the memory system. The memory system can include a plurality of memory devices connected to a common bus.

Description

関連出願の相互参照
本出願は、2006年8月22日に出願された米国仮特許出願第60/839,329号、2007年2月16日に出願された米国仮特許出願第60/902,003号、および2007年3月2日に出願された米国仮特許出願第60/892,705号の優先権の利益を主張するものである。
Cross-reference to related applicationsThis application includes US Provisional Patent Application No. 60 / 839,329 filed on August 22, 2006, US Provisional Patent Application No. 60 / 902,003 filed on February 16, 2007, and It claims the benefit of priority of US Provisional Patent Application No. 60 / 892,705, filed March 2, 2007.

本発明は、一般には半導体メモリ装置に関するものであり、詳細には複数の相互接続された半導体メモリ装置と、メモリ装置用のコマンド構造とを有するシステムに関するものである。   The present invention relates generally to semiconductor memory devices, and more particularly to a system having a plurality of interconnected semiconductor memory devices and a command structure for the memory devices.

半導体メモリ装置は、一般に多くの工業電子製品および消費者電子製品で見受けられる。より小さいサイズ要件に加えて、より高いメモリ容量への需要が増加し、実現困難な密度を有するメモリが求められている。その結果、多大なメモリ要件を満たすために、複数のメモリ装置がしばしば互いに接続される。そのような複数装置のメモリシステムは、単一のパッケージ(すなわち、マルチチップシステム)またはプリント回路板上に一緒にグループ化された多数のメモリ装置パッケージにまとめて実装できる。   Semiconductor memory devices are commonly found in many industrial and consumer electronic products. In addition to the smaller size requirements, the demand for higher memory capacity has increased and there is a need for a memory with a density that is difficult to achieve. As a result, multiple memory devices are often connected to one another to meet significant memory requirements. Such multi-device memory systems can be packaged together in a single package (ie, a multi-chip system) or multiple memory device packages grouped together on a printed circuit board.

複数の半導体メモリ装置が単一のシステムとして機能するように相互接続される場合、コントローラは、システム内でのデータの格納、データへのアクセス、およびデータの操作の要求に対応する、個々のメモリ装置と外部インターフェイスの間のデータの流れを管理する。コマンド構造は、データを含む個々のメモリ装置にそれらの要求を提供するために、コントローラによって使用される。コマンド構造は、相互接続されたメモリ装置の構成に依存する場合があり、システムの性能に影響を与えうる。たとえば、個々のメモリ装置が共通バスを介してコントローラと通信する場合、個々のメモリ装置の1つのみが任意の所与の時間にアサートされうる。個々のメモリ装置がチェーン構成で直列に相互接続され、1つのメモリ装置のみがコントローラに接続されている場合、チェーンの後方に位置するメモリ装置用のコマンドは、前方のメモリ装置が割り込み不可のコマンドを実行することによって、著しく遅延する可能性がある。直列接続されたメモリ装置の構成では、1つの装置でのコマンドの処理が、後続のメモリ装置でのすべてのコマンドの伝送を停止するため、システムでのその他の任意の処理が一時停止する。   When multiple semiconductor memory devices are interconnected to function as a single system, the controller is responsible for individual memory that responds to requests for data storage, data access, and data manipulation within the system. Manage the flow of data between the device and the external interface. The command structure is used by the controller to provide those requests to individual memory devices that contain data. The command structure may depend on the configuration of interconnected memory devices and can affect system performance. For example, if individual memory devices communicate with the controller via a common bus, only one of the individual memory devices can be asserted at any given time. If individual memory devices are interconnected in series in a chain configuration and only one memory device is connected to the controller, commands for memory devices located at the back of the chain are commands that the front memory device cannot interrupt Can cause significant delays. In the configuration of memory devices connected in series, processing of commands in one device stops transmission of all commands in subsequent memory devices, so any other processing in the system is paused.

米国仮特許出願第60/839,329号US Provisional Patent Application No. 60 / 839,329 米国仮特許出願第60/902,003号US Provisional Patent Application No. 60 / 902,003 米国仮特許出願第60/892,705号US Provisional Patent Application No. 60 / 892,705 米国仮特許出願第60/787,710号US Provisional Patent Application No. 60 / 787,710 米国仮特許出願第60/802,645号US Provisional Patent Application No. 60 / 802,645 米国仮特許出願第60/868,773号US Provisional Patent Application No. 60 / 868,773

本発明の一態様によれば、複数のメモリ装置の1つに対するアドレスと、複数のメモリ装置の1つにある複数のメモリバンクの1つに対するバンクアドレスとを含む装置識別子と、複数のメモリ装置の1つによって実行される操作を表す操作コードを含むコマンド識別子とを含むモジュールコマンド構造が提供される。   According to one aspect of the present invention, a device identifier including an address for one of a plurality of memory devices and a bank address for one of a plurality of memory banks in one of the plurality of memory devices, and a plurality of memory devices A module command structure is provided that includes a command identifier that includes an operation code that represents an operation performed by one of the two.

本発明の別の態様によれば、複数のメモリ装置の1つにアクセスするための、プロセッサからの要求を表す複数の分離可能なコマンドを含むモジュールコマンドセットであって、複数の別個のコマンドのそれぞれが、複数のメモリ装置の1つに対するアドレスと、複数のメモリ装置の1つにある複数のメモリバンクの1つに対するバンクアドレスとを含む装置識別子と、複数のメモリ装置の1つによって実行される操作を表す操作コードを含むコマンド識別子とを含むモジュールコマンドセットが提供される。   According to another aspect of the invention, a module command set comprising a plurality of separable commands representing a request from a processor for accessing one of a plurality of memory devices, wherein a plurality of separate commands Each is implemented by one of the plurality of memory devices and a device identifier including an address for one of the plurality of memory devices and a bank address for one of the plurality of memory banks in one of the plurality of memory devices. And a module command set including a command identifier including an operation code representing an operation to be performed.

本発明の別の態様によれば、データを格納する少なくとも1つのメモリ装置を含むメモリシステムと、メモリシステムへのアクセスを求める要求を管理するプロセッサと、プロセッサからの要求を、少なくとも1つのメモリ装置によって解釈可能である1つまたは複数の分離可能なコマンドに変換するコントローラであって、各コマンドが、少なくとも1つのメモリ装置の1つに対するアドレス識別子と、少なくとも1つのメモリ装置の1つによって実行される操作を表すコマンド識別子とを含むモジュール構造を有するコントローラとを含み、少なくとも1つのメモリ装置およびコントローラが通信用に直列に構成されるシステムが提供される。   According to another aspect of the present invention, a memory system including at least one memory device for storing data, a processor for managing a request for access to the memory system, and a request from the processor for at least one memory device A controller that translates into one or more separable commands that are interpretable by each command, each command being executed by one of at least one memory device and an address identifier for one of the at least one memory device And a controller having a module structure including a command identifier representing an operation to be performed, wherein at least one memory device and the controller are configured in series for communication.

本発明の別の態様によれば、データを格納する複数のメモリ装置を有するシステム用のコントローラであって、複数のメモリ装置との通信用に直列に構成され、複数のメモリ装置にアクセスするプロセッサからの要求を受け取るための第1の接続と、プロセッサからの要求を、複数のメモリ装置によって解釈可能である複数の分離可能なコマンドに変換する変換装置であって、各コマンドが、複数のメモリ装置の1つに対するアドレス識別子と、複数のメモリ装置の1つによって実行される操作を表すコマンド識別子とを含むモジュール構造を有する変換装置と、複数の分離可能なコマンドを発行する複数のメモリ装置の1つとのシリアル通信の第2の接続とを含む、コントローラが提供される。   According to another aspect of the present invention, a controller for a system having a plurality of memory devices for storing data, the processor configured in series for communication with the plurality of memory devices and accessing the plurality of memory devices A conversion device for converting a request from a processor and a request from a processor into a plurality of separable commands that can be interpreted by a plurality of memory devices, each command comprising a plurality of memories A conversion device having a module structure including an address identifier for one of the devices and a command identifier representing an operation executed by one of the plurality of memory devices, and a plurality of memory devices issuing a plurality of separable commands A controller is provided including a second connection for serial communication with one.

本発明の別の態様によれば、少なくとも1つのメモリ装置へのアクセスを要求する方法であって、少なくとも1つのメモリ装置に対するアドレスを含むアドレスを決定するステップと、組み合わされて少なくとも1つのメモリ装置へのアクセスを求める要求を満たす複数の操作を識別するステップと、複数の分離可能なコマンドを少なくとも1つのメモリ装置に提供するステップであって、コマンドのそれぞれが、アドレスを含む装置識別子と、複数の操作の1つを含むコマンド識別子とを含み、前記コマンド識別子がメモリ装置によって解釈可能であるステップとを含む、方法が提供される。   According to another aspect of the present invention, a method for requesting access to at least one memory device, determining an address including an address for the at least one memory device, combined with at least one memory device Identifying a plurality of operations that satisfy a request for access to a device and providing a plurality of separable commands to at least one memory device, each of the commands including a device identifier that includes an address, and a plurality of commands And a command identifier comprising one of the operations, wherein the command identifier is interpretable by a memory device.

本発明の一実施形態によれば、複数のメモリ装置の1つへのアクセスを求める要求を表す複数の分離可能なコマンドを含むコマンド構造が提供される。複数の別個のコマンドのそれぞれは、複数のメモリ装置の1つに対するアドレスと、複数のメモリ装置の1つにある複数のメモリバンクの1つに対するバンクアドレスとを含む装置識別子と、複数のメモリ装置の1つによって実行される操作を表す操作コードを含むコマンド識別子とを含む。   According to one embodiment of the present invention, a command structure is provided that includes a plurality of separable commands that represent a request for access to one of a plurality of memory devices. Each of the plurality of separate commands includes a device identifier including an address for one of the plurality of memory devices and a bank address for one of the plurality of memory banks in one of the plurality of memory devices, and the plurality of memory devices And a command identifier including an operation code representing an operation executed by one of the above.

本発明の別の実施形態によれば、複数のメモリ装置の1つに対するアドレスと、複数のメモリ装置の1つにある複数のメモリバンクの1つに対するバンクアドレスとを含む装置識別子と、複数のメモリ装置の1つによって実行される操作を表す操作コードを含むコマンド識別子とを含むモジュールコマンド構造が提供される。   According to another embodiment of the present invention, a device identifier comprising an address for one of a plurality of memory devices, a bank address for one of a plurality of memory banks in one of the plurality of memory devices, and a plurality of A module command structure is provided that includes a command identifier that includes an operation code representing an operation performed by one of the memory devices.

本発明の別の実施形態によれば、データを格納する少なくとも1つのメモリ装置を含むメモリシステムと、メモリシステムへのアクセスを求める要求を管理するプロセッサと、プロセッサからの要求を、少なくとも1つのメモリ装置によって解釈可能である1つまたは複数の分離可能なコマンドに変換するコントローラであって、各コマンドが、少なくとも1つのメモリ装置の1つに対するアドレス識別子と、少なくとも1つのメモリ装置の1つによって実行される操作を表すコマンド識別子とを含むモジュール構造を有するコントローラとを含み、少なくとも1つのメモリ装置およびコントローラが通信用に直列接続されるシステムが提供される。   According to another embodiment of the invention, a memory system including at least one memory device for storing data, a processor managing requests for access to the memory system, and requests from the processor to at least one memory A controller that translates into one or more separable commands that are interpretable by the device, each command executed by an address identifier for one of the at least one memory device and one of the at least one memory device And a controller having a module structure including a command identifier representing an operation to be performed, wherein at least one memory device and the controller are connected in series for communication.

たとえば、少なくとも1つのメモリ装置は、少なくとも1つのメモリバンクを含む。アドレス識別子は、少なくとも1つのメモリ装置の1つに対する装置アドレスと、少なくとも1つのメモリバンクの1つに対するバンクアドレスとを含むことができる。たとえば、メモリ装置は、NAND型のフラッシュメモリ装置などのフラッシュ装置である。   For example, the at least one memory device includes at least one memory bank. The address identifier may include a device address for one of the at least one memory device and a bank address for one of the at least one memory bank. For example, the memory device is a flash device such as a NAND flash memory device.

メモリシステムが複数のメモリ装置を含む場合、装置は直列接続または共通バスに接続されうる。   If the memory system includes multiple memory devices, the devices can be connected in series or on a common bus.

本発明の別の実施形態によれば、データを格納する複数のメモリ装置を有するシステム用のコントローラであって、複数のメモリ装置との通信用に直列相互接続で構成された、コントローラが提供される。コントローラは、複数のメモリ装置へのアクセスを求める要求を受け取るための第1の接続と、要求を、複数のメモリ装置によって解釈可能である複数の分離可能なコマンドに変換する変換装置であって、各コマンドが、複数のメモリ装置の1つに対するアドレス識別子と、複数のメモリ装置の1つによって実行される操作を表すコマンド識別子とを含むモジュール構造を有する変換装置と、複数の分離可能なコマンドを発行する複数のメモリ装置の1つとの通信用の第2の接続とを含む。   According to another embodiment of the present invention, there is provided a controller for a system having a plurality of memory devices for storing data, the controller configured in series interconnection for communication with the plurality of memory devices. The The controller is a first connection for receiving a request for access to a plurality of memory devices, and a conversion device that converts the request into a plurality of separable commands that can be interpreted by the plurality of memory devices, A conversion device having a module structure in which each command includes an address identifier for one of the plurality of memory devices and a command identifier representing an operation executed by one of the plurality of memory devices; and a plurality of separable commands And a second connection for communication with one of the plurality of memory devices to issue.

本発明の別の実施形態によれば、メモリ装置アドレスを含むアドレスを決定するステップと、メモリへのアクセスを求める要求を満たす複数の操作を識別するステップと、メモリに関する複数の分離可能なコマンドを提供するステップであって、コマンドのそれぞれが、メモリ装置アドレスを有する装置識別子と、複数の操作の1つを有するコマンド識別子とを含むステップとを含む方法が提供される。   According to another embodiment of the invention, determining an address including a memory device address, identifying a plurality of operations that satisfy a request for access to the memory, and a plurality of separable commands for the memory A method is provided that includes providing each command including a device identifier having a memory device address and a command identifier having one of a plurality of operations.

好適なものとして、この方法は、メモリ装置へのアクセスを求める要求を、メモリ装置によって解釈可能である複数の分離可能なコマンドに変換するのに使用される。この方法は、メモリ装置へのアクセスを求める要求を、メモリ装置によって解釈可能である複数の分離可能なコマンドに変換するのに使用できる。   Preferably, this method is used to translate a request for access to a memory device into a plurality of separable commands that can be interpreted by the memory device. This method can be used to translate a request for access to a memory device into a plurality of separable commands that can be interpreted by the memory device.

本発明の他の態様および特徴は、下記の具体的な本発明の実施形態の説明を添付の図面とともに検討することにより、当業者に明らかになる。   Other aspects and features of the present invention will become apparent to those skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying drawings.

本発明の実施形態を、添付の図を参照して、例示のみを目的として述べる。   Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying figures.

本発明の実施形態を適用可能な、ホストシステムならびにメモリシステムおよびメモリコントローラを有するシステムを示すブロック図である。1 is a block diagram illustrating a host system and a system having a memory system and a memory controller to which embodiments of the present invention can be applied. 本発明の実施形態を適用可能な、共通バスを介してメモリシステムに接続された複数のメモリ装置および1つのコントローラを有するメモリシステムを示すブロック図である。1 is a block diagram showing a memory system having a plurality of memory devices and one controller connected to the memory system via a common bus, to which an embodiment of the present invention can be applied. 本発明の実施形態を適用可能な、直列に相互接続された複数のメモリ装置およびメモリ装置に接続された1つのコントローラを有するメモリシステムを示すブロック図である。1 is a block diagram illustrating a memory system having a plurality of memory devices interconnected in series and a controller connected to the memory devices, to which embodiments of the present invention can be applied. 本発明の実施形態を適用可能な、フラッシュメモリ装置の一般的な構成例を示すブロック図である。1 is a block diagram illustrating a general configuration example of a flash memory device to which an embodiment of the present invention can be applied. 本発明の実施形態を適用可能な、NANDフラッシュメモリで使用するためのモジュールコマンド構造の例を示す図である。It is a figure which shows the example of the module command structure for using with NAND flash memory which can apply embodiment of this invention. 本発明の実施形態を適用可能な、NANDフラッシュメモリで使用するためのモジュールコマンド構造の例を示す図である。It is a figure which shows the example of the module command structure for using with NAND flash memory which can apply embodiment of this invention. 本発明の実施形態を適用可能な、NANDフラッシュメモリで使用するためのモジュールコマンド構造の例を示す図である。It is a figure which shows the example of the module command structure for using with NAND flash memory which can apply embodiment of this invention. 本発明の実施形態を適用可能なフラッシュコントローラの構成を示すブロック図である。It is a block diagram which shows the structure of the flash controller which can apply embodiment of this invention. 図6Aに示すフラッシュコマンドエンジンの機能構成要素の例を示すブロック図である。FIG. 6B is a block diagram showing an example of functional components of the flash command engine shown in FIG. 6A. モジュールコマンド構造を使用する、コントローラからのページ読み取りコマンドによって処理されるプロセスを示すフローチャートである。FIG. 5 is a flowchart illustrating a process that is processed by a page read command from a controller using a module command structure. モジュールコマンド構造を使用する、フラッシュメモリ装置からの設定された待機期間を伴うページ読み取り操作のタイミングを示す図である。FIG. 10 illustrates the timing of a page read operation with a set waiting period from a flash memory device using a module command structure. モジュールコマンド構造を使用する、フラッシュメモリ装置からのステータス要求を伴うページ読み取り操作のタイミングを示す図である。FIG. 10 illustrates the timing of a page read operation with a status request from a flash memory device using a module command structure. モジュールコマンド構造を使用する、コントローラからのページプログラムコマンドによって処理されるプロセスを示すフローチャートである。FIG. 5 is a flowchart illustrating a process that is processed by a page program command from a controller that uses a module command structure. モジュールコマンド構造を使用する、フラッシュメモリ装置からの単一のデータ入力を伴うページプログラム操作のタイミングを示す図である。FIG. 6 illustrates the timing of a page program operation with a single data input from a flash memory device using a module command structure. モジュールコマンド構造を使用する、フラッシュメモリ装置からの2つのデータ入力を伴うページプログラム操作のタイミングを示す図である。FIG. 6 illustrates the timing of a page program operation with two data inputs from a flash memory device using a module command structure. モジュールコマンド構造を使用する、コントローラからのブロック消去コマンドによって処理されるプロセスを示すフローチャートである。FIG. 6 is a flowchart illustrating a process that is processed by a block erase command from a controller using a module command structure. モジュールコマンド構造を使用する、フラッシュメモリ装置から消去する単一のブロックアドレスを伴うブロック消去操作のタイミングを示す図である。FIG. 5 illustrates the timing of a block erase operation with a single block address to erase from a flash memory device using a module command structure. モジュールコマンド構造を使用する、フラッシュメモリ装置から消去する2つのブロックアドレスを伴うブロック消去操作のタイミングを示す図である。FIG. 6 illustrates the timing of a block erase operation with two block addresses to be erased from a flash memory device using a module command structure. モジュールコマンド構造を使用する、同じフラッシュメモリ装置内にある2つのメモリバンク用のコントローラからの並行ページ読み取りコマンドによって処理されるプロセスを示すフローチャートである。FIG. 6 is a flowchart illustrating a process handled by a parallel page read command from a controller for two memory banks in the same flash memory device using a module command structure. モジュールコマンド構造を使用する、同じフラッシュメモリ装置内にある2つのメモリバンクに対する並行ページ読み取り操作の、フラッシュメモリからのタイミングを示す図である。FIG. 6 illustrates timing from a flash memory for a parallel page read operation for two memory banks in the same flash memory device using a module command structure. モジュールコマンド構造を使用する、同じフラッシュメモリ装置内にある2つのメモリバンク用のコントローラからの並行ページプログラムコマンドによって処理されるプロセスを示すフローチャートである。FIG. 5 is a flow chart illustrating a process that is processed by parallel page program commands from controllers for two memory banks in the same flash memory device using a module command structure. モジュールコマンド構造を使用する、同じフラッシュメモリ装置内にある2つのメモリバンクに対する並行ページプログラム操作の、フラッシュメモリからのタイミングを示す図である。FIG. 6 illustrates timing from a flash memory for concurrent page program operations for two memory banks in the same flash memory device using a module command structure. モジュールコマンド構造を使用する、同じフラッシュメモリ装置内にある2つのメモリバンク用のコントローラからの並行ブロック消去コマンドによって処理されるプロセスを示すフローチャートである。FIG. 5 is a flowchart illustrating a process handled by a parallel block erase command from a controller for two memory banks in the same flash memory device using a module command structure. モジュールコマンド構造を使用する、同じフラッシュメモリ装置内にある2つのメモリバンクに対する並行ブロック消去操作の、フラッシュメモリからのタイミングを示す図である。FIG. 10 illustrates timing from a flash memory for a parallel block erase operation for two memory banks in the same flash memory device using a module command structure. モジュールコマンド構造を使用する、同じフラッシュメモリ装置内にある2つのメモリバンク用のコントローラからのインターリーブされたページ読み取りコマンドおよびページプログラムコマンドによって処理されるプロセスを示すフローチャートである。FIG. 6 is a flow chart illustrating a process handled by interleaved page read and page program commands from controllers for two memory banks in the same flash memory device using a module command structure. モジュールコマンド構造を使用する、同じフラッシュメモリ装置内にある2つのメモリバンクに対するインターリーブされたページ読み取り操作およびページプログラム操作の、フラッシュメモリ装置からのタイミングを示す図である。FIG. 5 illustrates timing from a flash memory device for interleaved page read and page program operations for two memory banks in the same flash memory device using a module command structure. モジュールコマンド構造を使用する、同じフラッシュメモリ装置内にある2つのメモリバンク用のコントローラからの一時停止および再開されたページ読み取りコマンドおよびページプログラムコマンドによって処理されるプロセスを示すフローチャートである。FIG. 6 is a flow chart illustrating a process handled by paused and resumed page read and page program commands from a controller for two memory banks in the same flash memory device using a module command structure. モジュールコマンド構造を使用する、同じフラッシュメモリ装置内にある2つのメモリバンクに対する一時停止および再開されたページ読み取り操作およびページプログラム操作の、フラッシュメモリ装置からのタイミングを示す図である。FIG. 7 illustrates timing from a flash memory device for paused and resumed page read and page program operations for two memory banks in the same flash memory device using a module command structure. それぞれが複数のメモリバンクを有する複数のフラッシュメモリ装置に対するインターリーブされかつ並行するページ読み取り、ブロック消去、ページプログラム、およびページ対消去のコマンド/操作の例を示す図である。FIG. 7 illustrates an example of interleaved and parallel page read, block erase, page program, and page pair erase commands / operations for a plurality of flash memory devices each having a plurality of memory banks. それぞれが複数のメモリバンクを有する複数のフラッシュメモリ装置に対するインターリーブされかつ並行するページ読み取りコマンド/操作の例を示す図である。FIG. 6 illustrates an example of interleaved and parallel page read commands / operations for a plurality of flash memory devices each having a plurality of memory banks. それぞれが複数のメモリバンクを有する複数のフラッシュメモリ装置に対するインターリーブされかつ並行する一時停止および再開されたページ読み取り、ブロック消去、およびページプログラムのコマンド/操作の例を示す図である。FIG. 7 illustrates an example of interleaved and concurrently suspended and resumed page read, block erase, and page program commands / operations for a plurality of flash memory devices each having a plurality of memory banks.

下記の実施形態例の詳細な説明において、本明細書の一部を形成し、具体的な実施形態例を一例として示す添付の図面を参照する。これらの実施形態は、当業者が本発明を実施するのに十分な程度に詳細にわたって述べられおり、本発明の範囲から逸脱することなく他の実施形態を使用できること、ならびに論理的、機械的、電気的、および他の変更がなされうることが理解される。したがって、下記の詳細な説明は、限定的な意味で理解されるべきものではない。   In the following detailed description of example embodiments, reference is made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific example embodiments. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and other embodiments can be used without departing from the scope of the invention, as well as logical, mechanical, It is understood that electrical and other changes can be made. The following detailed description is, therefore, not to be taken in a limiting sense.

半導体メモリ装置は、しばしば相互接続されて大容量のメモリシステムを形成する。図1に本発明の実施形態を適用可能なシステムを示す。図1を参照すると、プロセッサ103をその中に有するホストシステム102は、メモリシステム106およびメモリシステムを制御するコントローラ104を含むシステムに接続されている。メモリシステム106は、少なくとも1つのメモリ装置(たとえば、2つのフラッシュメモリ装置107-0および107-1)を含む。コントローラ104は、ホストシステム102から要求を受け取り、その要求をメモリシステム106によって解釈可能なコマンドに変換する。コントローラ104はまた、ホストシステム102によって使用されるメモリシステム106に対する論理アドレスをメモリシステム106の物理アドレスに変換する。コントローラ104は、メモリシステム106に格納されるデータがメモリ装置107-0、107-1の間で分配されるようにする。コマンドの実行におけるエラーをチェックするために、誤り訂正符号(ECC)もコントローラ104によって生成される。   Semiconductor memory devices are often interconnected to form large capacity memory systems. FIG. 1 shows a system to which an embodiment of the present invention can be applied. Referring to FIG. 1, a host system 102 having a processor 103 therein is connected to a system that includes a memory system 106 and a controller 104 that controls the memory system. The memory system 106 includes at least one memory device (eg, two flash memory devices 107-0 and 107-1). The controller 104 receives a request from the host system 102 and converts the request into a command that can be interpreted by the memory system 106. The controller 104 also translates logical addresses for the memory system 106 used by the host system 102 into physical addresses for the memory system 106. The controller 104 causes data stored in the memory system 106 to be distributed between the memory devices 107-0 and 107-1. An error correction code (ECC) is also generated by the controller 104 to check for errors in the execution of the command.

図2に本発明の実施形態を適用可能なシステム構成の例を示す。図2を参照すると、コントローラ112は、共通バス114を介して複数のメモリ装置(たとえば、4つのフラッシュメモリ装置108-0〜108-3)を含むメモリシステムと通信する。コントローラ112は、共通バス114を使用して、データをメモリ装置108-0〜108-3に、およびメモリ装置108-0〜108-3から転送する。チップイネーブル信号をアサートすることにより、指定されたフラッシュメモリ装置のみが、この構成で一度にアサートされる。   FIG. 2 shows an example of a system configuration to which the embodiment of the present invention can be applied. Referring to FIG. 2, the controller 112 communicates via a common bus 114 with a memory system that includes a plurality of memory devices (eg, four flash memory devices 108-0 to 108-3). The controller 112 uses the common bus 114 to transfer data to and from the memory devices 108-0 to 108-3. By asserting the chip enable signal, only the specified flash memory device is asserted at once with this configuration.

図3に本発明の実施形態を適用可能なシステム構成の別の例を示す。メモリシステムは、直列接続されたメモリ装置を含む。図3を参照すると、コントローラ116および複数のメモリ装置(たとえば、4つのフラッシュメモリ装置109-0〜109-3)を含むメモリシステムは、ループ構成で相互接続されている。メモリ装置109-0〜109-3は、直列に相互接続されているので、1つの装置のみがコントローラ116を介してメモリシステムに届くデータおよびメッセージを受け取る。メモリ装置109-0〜109-3のそれぞれは、2つまでの他のメモリ装置(すなわち、前および次の装置)に連結される。したがって、メモリシステムに届くデータおよびメッセージは、他のすべてのメモリ装置を通過して、直列接続の最後の装置109-3に到達する。   FIG. 3 shows another example of a system configuration to which the embodiment of the present invention can be applied. The memory system includes memory devices connected in series. Referring to FIG. 3, a memory system including a controller 116 and a plurality of memory devices (eg, four flash memory devices 109-0 to 109-3) are interconnected in a loop configuration. Since the memory devices 109-0 to 109-3 are interconnected in series, only one device receives data and messages that reach the memory system via the controller 116. Each of the memory devices 109-0 to 109-3 is coupled to up to two other memory devices (i.e., previous and next devices). Thus, data and messages arriving at the memory system pass through all other memory devices to the last device 109-3 in series connection.

フラッシュメモリ装置は、たとえば、NAND型、NOR型、AND型フラッシュメモリなどの任意の種類のフラッシュメモリでよい。また、メモリ装置はランダムアクセスメモリでもよい。   The flash memory device may be any type of flash memory such as NAND type, NOR type, and AND type flash memory. The memory device may be a random access memory.

NANDフラッシュメモリ装置は一般に、相互接続されて、低価格で高密度のメモリを提供する。図4にNANDフラッシュ装置400の機能構成要素を示す。NANDフラッシュ装置400では、コマンド、アドレス、およびデータは、装置のチップで共通I/Oピンを介して多重化される。NANDフラッシュ装置400は、複数(n)の消去可能ブロックを有するセル配列構造のメモリバンク402を有する。各消去可能ブロックは、複数(m)のプログラム可能ページに細分される。各ページは、(j+k)バイトからなる。ページは、データが格納されるjバイトのデータ記憶域と、エラー管理機能に通常使用される別個のkバイトとにさらに分割される。各ページは通常、2,112バイトからなり、そのうち2,048バイトはデータ記憶に使用され、64バイトはエラー管理機能に使用される。メモリバンク402はページごとにアクセスされる。図4では単一のメモリバンク402を示しているが、NANDフラッシュ装置400は2つ以上のメモリバンク402を有することが可能である。そのような各メモリバンク402は、並行するページ読み取り、ページプログラム、ページ消去、およびブロック消去の操作を実行できるようにすることができる。   NAND flash memory devices are generally interconnected to provide low cost and high density memory. FIG. 4 shows functional components of the NAND flash device 400. In NAND flash device 400, commands, addresses, and data are multiplexed via common I / O pins on the device chip. The NAND flash device 400 includes a memory bank 402 having a cell arrangement structure having a plurality (n) of erasable blocks. Each erasable block is subdivided into multiple (m) programmable pages. Each page consists of (j + k) bytes. The page is further divided into j bytes of data storage where the data is stored and a separate k bytes typically used for error management functions. Each page usually consists of 2,112 bytes, of which 2,048 bytes are used for data storage and 64 bytes are used for error management functions. The memory bank 402 is accessed page by page. Although FIG. 4 shows a single memory bank 402, the NAND flash device 400 can have more than one memory bank 402. Each such memory bank 402 may be capable of performing concurrent page read, page program, page erase, and block erase operations.

メモリバンク402にアクセスするコマンドは、コントローラ(たとえば、図3に示すコントローラ116)から、コマンドレジスタ414および制御論理416で受け取られる。受け取られたコマンドは、コマンドレジスタ414に入り、実行されるまでそこにとどまる。制御論理416は、コマンドをメモリバンク402に対して実行可能な形式に変換する。コマンドは一般に、異なるピンが異なるコマンドを表すのに使用できる、チップの外部パッケージ上の異なるピンをアサートすることによりNANDフラッシュ装置400に入る。たとえば、コマンドには、チップイネーブル、読み取りイネーブル、書き込みイネーブル、および書き込み保護が含まれうる。読み取りコマンドおよび書き込みコマンドはページベースで実行され、一方、消去コマンドはブロックベースで実行される。   Commands to access the memory bank 402 are received in a command register 414 and control logic 416 from a controller (eg, controller 116 shown in FIG. 3). The received command enters the command register 414 and remains there until executed. Control logic 416 converts the command into a form that is executable on memory bank 402. Commands generally enter the NAND flash device 400 by asserting different pins on the chip's external package, where different pins can be used to represent different commands. For example, the commands can include chip enable, read enable, write enable, and write protection. Read and write commands are executed on a page basis, while erase commands are executed on a block basis.

コマンドがコマンドレジスタ414および制御論理416で受け取られると、そのコマンドが関連するメモリバンク402内のページに対するアドレスが、出力ドライバ412で受け取られる。そのアドレスは、アドレスバッファおよびラッチ418に提供され、次いで制御およびプリデコーダ406、センス増幅器(S/A)およびデータレジスタ404、ならびにアドレスによって示されたページにアクセスするための行デコーダ408に提供される。データレジスタ404は完全なページを受け取り、そのページはI/O(入出力)バッファおよびラッチ410に提供され、その後、NANDフラッシュ装置400から出力するための出力ドライバ412に提供される。   When a command is received at command register 414 and control logic 416, the address for the page in memory bank 402 to which the command is associated is received at output driver 412. That address is provided to address buffer and latch 418, and then to control and predecoder 406, sense amplifier (S / A) and data register 404, and row decoder 408 for accessing the page indicated by the address. The The data register 404 receives a complete page, which is provided to an I / O (input / output) buffer and latch 410 and then provided to an output driver 412 for output from the NAND flash device 400.

たとえば、読み取りコマンドはコマンドレジスタ414および制御論理416で受け取られ、付随するアドレスはアドレスバッファおよびラッチ418で受け取られる。アドレスバッファおよびラッチ418は、アドレスが位置するページを決定し、そのページに対応する行アドレス(複数可)を行デコーダ408に提供する。対応する行がアクティブにされる。データレジスタおよびS/A404は、ページを読み取り、そのページのデータをデータレジスタ404に転送する。ページ全体のデータがデータレジスタに転送されると、データはI/Oバッファおよびラッチ410ならびに出力ドライバ412を介して装置から順次読み取られる。   For example, a read command is received at command register 414 and control logic 416 and an associated address is received at address buffer and latch 418. Address buffer and latch 418 determines the page where the address is located and provides row address (s) corresponding to that page to row decoder 408. The corresponding line is activated. The data register and the S / A 404 read the page and transfer the data of the page to the data register 404. When the entire page of data is transferred to the data register, the data is read sequentially from the device via the I / O buffer and latch 410 and the output driver 412.

プログラムコマンドもページベースで処理される。プログラムコマンドはコマンドレジスタ414および制御論理416で受け取られ、付随するアドレスはアドレスバッファ418で受け取られ、入力データは出力ドライバ412で受け取られる。入力データは、I/Oバッファおよびラッチ410を介してデータレジスタ404に転送される。すべての入力データがデータレジスタ404に入ると、入力データを格納するページは、その入力データでプログラムされる。   Program commands are also processed on a page basis. Program commands are received at command register 414 and control logic 416, associated addresses are received at address buffer 418, and input data is received at output driver 412. Input data is transferred to the data register 404 via the I / O buffer and latch 410. When all input data enters data register 404, the page storing the input data is programmed with the input data.

消去コマンドはブロックベースで処理される。消去コマンドはコマンドレジスタ414および制御論理416で受け取られ、ブロックアドレスはアドレスバッファ418で受け取られる。   Erase commands are processed on a block basis. The erase command is received by command register 414 and control logic 416 and the block address is received by address buffer 418.

通常のNANDフラッシュメモリコマンドは、2つのコマンドサイクルを使用して、コマンドのロードを完了する。表1にNANDフラッシュメモリのコマンドセットの例を示す。   A normal NAND flash memory command uses two command cycles to complete the command load. Table 1 shows an example of a NAND flash memory command set.

Figure 2010501915
Figure 2010501915

2つのコマンドサイクルでNANDフラッシュメモリに発行されるコマンドの多くは、1つのプロシージャと見なされ、したがって、中断、割り込み、一時停止、または再開はできない。NANDフラッシュメモリは、これらの2つのコマンドサイクルを受け取っているとき、リセットコマンドおよびステータス読み取りコマンド以外のどの追加のコマンドも受け入れることができない。複数のメモリバンクを有するフラッシュメモリ装置では、一方のバンクが非アクティブである間に、もう一方のバンクがコマンドを処理しているので、このコマンド構造はバンクの使用を限定する。このことは、実行されているコマンドが長い内部コア操作(たとえば、20μsのページ読み取り、200μsのページプログラム、および1.5msのブロック消去)を有する場合、入出力の使用率の低下を招く。直列に相互接続された複数のフラッシュメモリを有するシステムでは、コマンドを処理しているフラッシュメモリ装置が、処理が完了するまで後続のフラッシュメモリ装置に他のコマンドを転送できないため、このコマンド構造はシステム全体の処理速度を減少させる可能性がある。   Many of the commands issued to the NAND flash memory in two command cycles are considered as one procedure and therefore cannot be interrupted, interrupted, suspended, or resumed. When NAND flash memory is receiving these two command cycles, it cannot accept any additional commands other than a reset command and a status read command. In a flash memory device having multiple memory banks, this command structure limits the use of banks because one bank is processing commands while the other is inactive. This leads to a reduction in I / O utilization when the command being executed has long internal core operations (eg, 20 μs page read, 200 μs page program, and 1.5 ms block erase). In a system having multiple flash memories interconnected in series, this command structure is used because the flash memory device that is processing the command cannot transfer another command to the subsequent flash memory device until the processing is complete. The overall processing speed may be reduced.

本発明の実施形態によるシステムに適用可能なコマンド構造の例は、バイト(複数可)を有するコマンドフィールドを含む。たとえば、コマンドフィールドは、装置アドレスおよびバンクアドレス用の第1バイトならびに操作コード用の第2バイトを有する。   An example of a command structure applicable to a system according to an embodiment of the present invention includes a command field having byte (s). For example, the command field has a first byte for device address and bank address and a second byte for operation code.

図5AにNANDフラッシュメモリで使用するモジュールコマンド構造の例を示す。この特定の例では、モジュールコマンド構造はバイトベースである。図5Aを参照すると、モジュールコマンド構造500は、第1バイト502および第2バイト508(バイト1および2)を含み、各バイトは複数のビットを有する。この特定の例では、コマンド構造の第1バイト502および第2バイト508は、それぞれ8ビットのアドレスおよび8ビットの操作コードを含む。第1バイト502は、宛先メモリ装置に対する6ビットのアドレス504を有する。6ビットのアドレス504は、複数のメモリ装置を含むシステムでメモリ装置を区別するのに使用される。第1バイト502は、複数のメモリバンクを有するメモリ装置で使用するための、メモリ装置のメモリバンクに対する2ビットのアドレス506も含む。コマンド構造の第2バイト508は、メモリ装置によって実行されるコマンドを示す8ビットの操作コード510を含む。表2に操作コードの例を示す。   FIG. 5A shows an example of a module command structure used in the NAND flash memory. In this particular example, the module command structure is byte based. Referring to FIG. 5A, the module command structure 500 includes a first byte 502 and a second byte 508 (bytes 1 and 2), each byte having a plurality of bits. In this particular example, the first byte 502 and the second byte 508 of the command structure include an 8-bit address and an 8-bit operation code, respectively. The first byte 502 has a 6-bit address 504 for the destination memory device. The 6-bit address 504 is used to distinguish memory devices in a system that includes multiple memory devices. The first byte 502 also includes a 2-bit address 506 for the memory bank of the memory device for use in a memory device having a plurality of memory banks. The second byte 508 of the command structure includes an 8-bit operation code 510 indicating a command to be executed by the memory device. Table 2 shows examples of operation codes.

Figure 2010501915
Figure 2010501915

コマンド構造には多くの変形がある。2バイトのコマンド構造の別の例では、第1バイトは8ビットの装置アドレス(DA)を有し、第2バイトは4ビットのOPコードおよび4ビットのバンクアドレス(BA)を有する。   There are many variations on the command structure. In another example of a 2-byte command structure, the first byte has an 8-bit device address (DA), and the second byte has a 4-bit OP code and a 4-bit bank address (BA).

図5BにNANDフラッシュメモリで使用するモジュールコマンド構造の別の例を示す。図5Bを参照すると、コマンド構造520は複数のバイトを含む。図示の例では、コマンド構造520は、3バイトの行アドレス522(バイト3〜5)を伴う2バイトのモジュールコマンド構造(バイト1および2)を有する。図5Bでの2バイトのモジュールコマンドの部分的な構造は、図5Aに示す2バイトのモジュールコマンド構造と同一である。第1バイト502は、宛先メモリ装置に対する6ビットのアドレス504およびメモリバンクに対する2ビットのアドレス506を有する。第2バイト508は、8ビットの操作コード510を有する。3バイトの行アドレス522は、第1バイト502で示されるメモリバンク内の行(複数可)に24ビットのアドレス524を提供する。この24ビット(すなわち、3バイト)の行アドレス524は、コマンドが実行される行の位置を指定するのに行アドレスが必要とされるコマンドに使用される。   FIG. 5B shows another example of the module command structure used in the NAND flash memory. Referring to FIG. 5B, the command structure 520 includes a plurality of bytes. In the illustrated example, the command structure 520 has a 2-byte module command structure (bytes 1 and 2) with a 3-byte row address 522 (bytes 3-5). The partial structure of the 2-byte module command in FIG. 5B is the same as the 2-byte module command structure shown in FIG. 5A. The first byte 502 has a 6-bit address 504 for the destination memory device and a 2-bit address 506 for the memory bank. The second byte 508 has an 8-bit operation code 510. The 3-byte row address 522 provides a 24-bit address 524 to the row (s) in the memory bank indicated by the first byte 502. This 24-bit (ie, 3 byte) row address 524 is used for commands where a row address is required to specify the location of the row on which the command is executed.

図5CにNANDフラッシュメモリで使用するモジュールコマンド構造の別の例を示す。図5Cを参照すると、コマンド構造540は複数のバイトを含む。図示の例では、コマンド構造540は、2バイトの列アドレス542(バイト3〜4)を伴う2バイトのモジュールコマンド構造(バイト1および2)を有する。図5Cでの2バイトのモジュールコマンドの部分的な構造は、第1バイト502が宛先メモリ装置に対する6ビットのアドレス504およびメモリバンクに対する2ビットのアドレス506を有する、図5Bの2バイトのモジュールコマンドと同一である。第2バイト508は、8ビットの操作コード510を有する。2バイトのアドレス542は、第1バイト502で示されるメモリバンク内での列(複数可)に16ビットのアドレス544を提供する。この16ビット(すなわち、2バイト)の列アドレス544は、コマンドが実行される列の位置を指定するのに列アドレスが必要とされるコマンドに使用される。   FIG. 5C shows another example of the module command structure used in the NAND flash memory. Referring to FIG. 5C, the command structure 540 includes a plurality of bytes. In the illustrated example, the command structure 540 has a 2-byte module command structure (bytes 1 and 2) with a 2-byte column address 542 (bytes 3-4). The partial structure of the 2-byte module command in FIG. 5C is that the 2-byte module command of FIG. 5B has the first byte 502 having a 6-bit address 504 for the destination memory device and a 2-bit address 506 for the memory bank. Is the same. The second byte 508 has an 8-bit operation code 510. The 2-byte address 542 provides a 16-bit address 544 for the column (s) in the memory bank indicated by the first byte 502. This 16-bit (ie, 2 byte) column address 544 is used for commands where a column address is required to specify the column location where the command is to be executed.

コマンド構造500、520、および540は、メモリ装置に送出されているコマンドに依存する。表2に示すとおり、いくつかのコマンドは、コマンドとともに供給される追加のアドレス(すなわち、行アドレスまたは列アドレス)を必要とする。したがって、コマンド構造500、520、および540は、第2バイト508の操作コードに依存する。   The command structures 500, 520, and 540 depend on the command being sent to the memory device. As shown in Table 2, some commands require an additional address (ie, row address or column address) supplied with the command. Thus, the command structures 500, 520, and 540 depend on the operation code in the second byte 508.

図1および図5A〜図5Cを参照すると、コントローラ104は、ホストシステム102からの要求を、フラッシュメモリ装置によって解釈可能なコマンド構造500、520、および540のうちの1つに変換する。コントローラ104は、操作コード510に基づき、メモリ装置に行アドレスが供給されるか、列アドレスが供給されるか、またはアドレスが供給されないかを決定する。コントローラ104は、演算を実行するためにメモリ装置107-0、107-1によって使用されるコマンドを形成する。   Referring to FIGS. 1 and 5A-5C, the controller 104 translates the request from the host system 102 into one of command structures 500, 520, and 540 that can be interpreted by the flash memory device. Based on the operation code 510, the controller 104 determines whether a row address, a column address, or no address is supplied to the memory device. The controller 104 forms commands used by the memory devices 107-0, 107-1 to perform the operations.

コマンド構造500、520、および540のそれぞれは、メモリ装置アドレス504およびバンクアドレス506の両方を含む。したがって、コマンドの処理は、異なるメモリ装置によって中断および一時停止されうる。さらに、第1バイト502がすべてのアドレス情報を含むので、各メモリ装置は、第2バイト508によって示されたコマンドがそれらのメモリ装置に向けられているのか、または次のメモリ装置に渡されるのかを非常に素早く判定できる。   Each of the command structures 500, 520, and 540 includes both a memory device address 504 and a bank address 506. Thus, command processing can be interrupted and suspended by different memory devices. In addition, since the first byte 502 contains all the address information, each memory device will have the command indicated by the second byte 508 directed to those memory devices or passed to the next memory device. Can be determined very quickly.

モジュールコマンド構造500、520、および540は任意のNANDフラッシュメモリ装置で使用可能だが、下記の例では、例としてHLNAND(商標)(HyperLink NAND)フラッシュ装置を使用するモジュールコマンド構造500、520、および540内の様々なコマンド処理について述べる。HLNAND(商標)フラッシュ装置は、2006年8月22日に出願した米国仮特許出願第60/839,329号で詳細に述べられている。   The module command structures 500, 520, and 540 can be used with any NAND flash memory device, but in the example below, the module command structures 500, 520, and 540 that use HLNAND ™ (HyperLink NAND) flash devices as examples Various command processing is described. The HLNAND ™ flash device is described in detail in US Provisional Patent Application No. 60 / 839,329 filed Aug. 22, 2006.

HLNAND(商標)フラッシュ装置用の、操作コード内の特定のコマンドに依存するモジュールコマンド500、520、および540の例示的な入力シーケンスを表3に示す。すべてのコマンド、アドレス、およびデータは、最上位ビット(MSB)から開始して、装置にシフトされ、および装置からシフトされる。HLNAND(商標)フラッシュ装置では、シリアルデータ入力(SDn)は、シリアルデータ入力イネーブル(SDE)が「high」である間に、正または負のクロックエッジでサンプリングされる。表3に示す特定の例では、各コマンドは、図5Aから図5Cに示すコマンド構造500、520、および540に従った「TDA」で表される1バイトの対象アドレス(第1バイト)および表に示された1バイトの操作コード(第2バイト)を含む。SDEが論理「high」になると、1バイトのアドレスが内側にシフトされ、続いて1バイトの操作コードがシフトされる。この動作の例外は、装置に入る第1バイトがページ読み取りコマンドである装置アドレス書き込みである。コマンドに応じて、表3で「R」で表される3バイトの行アドレスまたは表3で「C」で表される2バイトの列アドレスのいずれか(第3バイト〜第5バイト)が続く。データがフラッシュ装置に提供される場合、データは任意の行アドレスまたは列アドレス(必要に応じて)の後に装置に入力され、表3では「D」で表されている。   An exemplary input sequence of module commands 500, 520, and 540 depending on the specific command in the operation code for the HLNAND ™ flash device is shown in Table 3. All commands, addresses, and data are shifted into and out of the device starting with the most significant bit (MSB). In the HLNAND ™ flash device, the serial data input (SDn) is sampled on the positive or negative clock edge while the serial data input enable (SDE) is “high”. In the specific example shown in Table 3, each command is a 1-byte target address (first byte) and table represented by “TDA” according to the command structures 500, 520, and 540 shown in FIGS. 5A to 5C. Contains the 1-byte operation code (second byte) shown in. When SDE goes logic high, the 1-byte address is shifted inward, followed by the 1-byte operation code. An exception to this operation is a device address write where the first byte entering the device is a page read command. Depending on the command, either the 3-byte row address represented by “R” in Table 3 or the 2-byte column address represented by “C” in Table 3 (3rd to 5th bytes) follows. . If data is provided to the flash device, the data is entered into the device after any row address or column address (as required) and is represented by “D” in Table 3.

Figure 2010501915
Figure 2010501915

様々な操作にモジュールコマンド構造500、520、および540を使用するHLNAND(商標)フラッシュ装置の操作の例を下記に述べる。下記の例は、メモリ装置(たとえば、図1〜図3に示すメモリ装置)の処理を示すタイミング図を含む。タイミング図の信号は、例としてHLNAND(商標)フラッシュ装置について示す。チップイネーブル(CE#)信号は、この信号が「low」のときにメモリ装置がイネーブルにされることを示す。シリアルデータ入力(SDn)信号は、コマンド、アドレス、および入力データを示す。シリアルデータ出力(SQn)信号は、読み取り操作中の出力データの伝送を示す。シリアルデータ入力イネーブル(SDE)信号は、この信号が「high」のときに、コマンドアドレスおよび入力データ(SDn)が装置内にラッチされるようにデータ入力を制御する。シリアルデータ出力イネーブル(SQE)信号は、この信号が「high」のときに出力(SQn)をイネーブルにする。   Examples of operation of the HLNAND ™ flash device using the module command structures 500, 520, and 540 for various operations are described below. The following example includes a timing diagram illustrating the processing of a memory device (eg, the memory device shown in FIGS. 1-3). The timing diagram signals are shown for an HLNAND ™ flash device as an example. The chip enable (CE #) signal indicates that the memory device is enabled when this signal is “low”. The serial data input (SDn) signal indicates a command, an address, and input data. The serial data output (SQn) signal indicates transmission of output data during a read operation. The serial data input enable (SDE) signal controls the data input so that the command address and input data (SDn) are latched into the device when this signal is "high". The serial data output enable (SQE) signal enables the output (SQn) when this signal is "high".

システム動作の開始時に装置アドレスがすべての直列接続された装置(たとえば、図3に示す構成)に割り振られている場合は、コマンドの第1バイトは装置アドレス書き込みを必要としない。順次装置アドレスの割り振りは、2006年3月28日に出願した米国仮特許出願第60/787,710号および2006年5月23日に出願した米国仮特許出願第60/802,645号に開示されている。   If a device address is assigned to all serially connected devices (eg, the configuration shown in FIG. 3) at the start of system operation, the first byte of the command does not require a device address write. Sequential device address allocation is disclosed in US Provisional Patent Application No. 60 / 787,710 filed March 28, 2006 and US Provisional Patent Application No. 60 / 802,645 filed May 23, 2006.

図6Aに本発明の実施形態を適用可能なフラッシュコントローラの例を示す。フラッシュコントローラは、図1、2、および3に示すコントローラ104、112、および116に対応する。   FIG. 6A shows an example of a flash controller to which the embodiment of the present invention can be applied. The flash controller corresponds to the controllers 104, 112, and 116 shown in FIGS.

図6Aを参照すると、フラッシュコントローラ310は、中央演算処理装置(CPU)312、ならびにランダムアクセスメモリ(RAM)316および読み取り専用メモリ(ROM)318を有するメモリ314を含む。また、フラッシュコントローラ310は、フラッシュコマンドエンジン322、誤り訂正符号(ECC)マネージャ324、およびフラッシュ装置インターフェイス326を含む。さらに、フラッシュコントローラ310は、ホストインターフェイスコントローラ332およびホストインターフェイス334を含む。CPU312、メモリ314、フラッシュコマンドエンジン322、およびホストインターフェイスコントローラ332は、共通バス330を介して接続される。ホストインターフェイス334は、バス、接続リンク、インターフェイスなど(たとえば、ATA(アドバンストテクノロジーアタッチメント)、PATA(パラレルATA)、SATA(シリアルATA)、USB(ユニバーサルシリアルバス))を介した外部装置への接続用である。ホストインターフェイス334は、ホストインターフェイスコントローラ332によって制御される。CPU312はROM318に格納された命令により動作し、処理されたデータはRAM316に格納される。フラッシュコマンドエンジン322はコマンドを解釈し、フラッシュコントローラ310はフラッシュ装置インターフェイス326を介してフラッシュ装置の動作を制御する。ECCマネージャ324はECCを生成し、ECCの検証が実施される。エラーの場合には、エラーメッセージが生成される。フラッシュコントローラ310は、システムオンチップ、システムインパッケージ、または複数のチップとして構成可能である。   Referring to FIG. 6A, the flash controller 310 includes a central processing unit (CPU) 312 and a memory 314 having a random access memory (RAM) 316 and a read only memory (ROM) 318. The flash controller 310 also includes a flash command engine 322, an error correction code (ECC) manager 324, and a flash device interface 326. Further, the flash controller 310 includes a host interface controller 332 and a host interface 334. The CPU 312, the memory 314, the flash command engine 322, and the host interface controller 332 are connected via a common bus 330. Host interface 334 is for connecting to external devices via bus, connection link, interface, etc. (e.g. ATA (Advanced Technology Attachment), PATA (Parallel ATA), SATA (Serial ATA), USB (Universal Serial Bus)) It is. The host interface 334 is controlled by the host interface controller 332. The CPU 312 operates according to instructions stored in the ROM 318, and the processed data is stored in the RAM 316. The flash command engine 322 interprets the command, and the flash controller 310 controls the operation of the flash device via the flash device interface 326. The ECC manager 324 generates an ECC, and ECC verification is performed. In case of an error, an error message is generated. The flash controller 310 can be configured as a system on chip, system in package, or multiple chips.

図6Bに、コマンドをフラッシュ装置に発行するときの、図6Aのフラッシュコマンドエンジン322の機能構成要素の例を示す。図1、図6A、および図6Bを参照すると、フラッシュコマンドエンジン322は、ホストシステム102からの要求を、フラッシュメモリ装置によって解釈可能である複数の分離可能なコマンドに解釈する。このようにして、フラッシュコントローラ310は、フラッシュメモリ装置へのアクセスを求める要求を、図5Aから図5Cに示すモジュールコマンド構造を使用する少なくとも1つのコマンドに変換する。フラッシュコントローラ310は、ホストインターフェイスコントローラ332に接続されたバス330との接続を含む。この接続により、フラッシュメモリ装置にアクセスするための、ホストシステム102のプロセッサ103からの要求を受け取る目的でホストシステム102と通信することが可能となる。フラッシュコントローラ310はまた、フラッシュメモリ装置と通信するフラッシュ装置インターフェイス326を含む。フラッシュ装置インターフェイス326は、メモリシステムのフラッシュメモリ装置にコマンドを発行するための別の接続として動作する。   FIG. 6B shows an example of functional components of the flash command engine 322 of FIG. 6A when issuing a command to the flash device. Referring to FIGS. 1, 6A, and 6B, the flash command engine 322 interprets the request from the host system 102 into a plurality of separable commands that can be interpreted by the flash memory device. In this way, the flash controller 310 converts the request for access to the flash memory device into at least one command that uses the module command structure shown in FIGS. 5A to 5C. The flash controller 310 includes a connection to the bus 330 connected to the host interface controller 332. This connection allows communication with the host system 102 for the purpose of receiving a request from the processor 103 of the host system 102 to access the flash memory device. The flash controller 310 also includes a flash device interface 326 that communicates with the flash memory device. The flash device interface 326 operates as another connection for issuing commands to the flash memory device of the memory system.

フラッシュコマンドエンジン322は、コマンド構造機構558、バンクインターリーブ機構560、装置インターリーブ機構562、アドレス識別機構564、コマンド識別機構566、行アドレス識別機構568、および列アドレス識別機構570を含む。コマンド構造機構558は、メモリ装置(たとえば、図5Aから図5Cに示すモジュールコマンド構造)で使用されるモジュールコマンド構造を処理する。アドレス識別機構564およびコマンド識別機構566は、ホストシステム102からの要求を分析して、その要求からメモリ装置アドレスおよび/またはバンクアドレスならびにコマンドをそれぞれ抽出する。コマンド識別機構566は、要求の実行に使用される複数のコマンドを決定する。各コマンドは分離可能であり、組み合わされてホストシステム102からの要求を満たす。コマンド識別機構566は、アドレス識別機構564からのアドレスを含めて、情報を収集し、コマンドを形成する。要求を形成する任意のコマンドが行アドレスまたは列アドレスに関係している場合、コマンド識別機構566は、それぞれ行アドレス識別機構568または列アドレス識別機構570を使用して、コマンドの一部を形成する行アドレスまたは列アドレスを入手する。   The flash command engine 322 includes a command structure mechanism 558, a bank interleave mechanism 560, a device interleave mechanism 562, an address identification mechanism 564, a command identification mechanism 566, a row address identification mechanism 568, and a column address identification mechanism 570. Command structure mechanism 558 handles the module command structure used in the memory device (eg, the module command structure shown in FIGS. 5A-5C). The address identification mechanism 564 and the command identification mechanism 566 analyze the request from the host system 102 and extract the memory device address and / or the bank address and the command from the request, respectively. The command identification mechanism 566 determines a plurality of commands used to execute the request. Each command is separable and combined to satisfy the request from the host system 102. The command identification mechanism 566 collects information including the address from the address identification mechanism 564 and forms a command. If any command that forms the request is associated with a row address or column address, the command identification mechanism 566 forms part of the command using the row address identification mechanism 568 or the column address identification mechanism 570, respectively. Get the row or column address.

バンクインターリーブ機構560および装置インターリーブ機構562は、装置インターフェイス326を介して、複数のメモリバンクまたはメモリ装置へ送出される複数のコマンドをそれぞれ順序づける。モジュールコマンド構造は、複数のメモリバンクを有するフラッシュメモリ装置で各メモリバンクを同時に処理できるように構成される。同様に、モジュールコマンド構造は、直列接続されたメモリ装置で同時に処理が行われるように構成される。バンクインターリーブ機構560は、同じメモリ装置内の異なるメモリバンク用のコマンドをインターリーブする(複数のメモリバンクでの並行操作の例については、図16〜図21を参照)。装置インターリーブ機構562は、同じメモリシステム内の異なるメモリ装置用のコマンドをインターリーブする(図22〜図28を参照)。   The bank interleave mechanism 560 and the device interleave mechanism 562 order the commands sent to the memory banks or memory devices via the device interface 326, respectively. The module command structure is configured so that each memory bank can be processed simultaneously by a flash memory device having a plurality of memory banks. Similarly, the module command structure is configured such that processing is performed simultaneously in serially connected memory devices. The bank interleaving mechanism 560 interleaves commands for different memory banks in the same memory device (see FIGS. 16 to 21 for examples of parallel operations in a plurality of memory banks). The device interleave mechanism 562 interleaves commands for different memory devices in the same memory system (see FIGS. 22-28).

EECマネージャ324は、誤り訂正符号(ECC)を生成して、あるコマンドが成功し完全に実行されたことを検証する。   The EEC manager 324 generates an error correction code (ECC) to verify that a command was successful and executed completely.

図6Bはフラッシュコマンドエンジン322の機能構成要素を示しており、当業者によって認識されるはずの多くの構成で実現可能である。   FIG. 6B shows the functional components of the flash command engine 322 and can be implemented in many configurations that would be recognized by one skilled in the art.

モジュールコマンドは、ページ読み取りコマンドを含むことができる。コマンド構造では、ページ読み取りコマンドの第1サイクルが入力され、続いて対象ページアドレス内の開始列アドレスの列アドレスおよび対象ページアドレスの行アドレスが入力される。ページ読み取りコマンドの第2サイクルが入力され、その後装置は、内部ページ読み取り操作が完了するまでの期間(たとえば、20μs)、ビジーである。そのような待機期間の後、バーストデータ読み取り操作が実行されて、装置のバッファからデータが取り出される。この操作の開始時からバーストデータ読み取りが終了するまで、装置は他の操作を実行できない。   The module command can include a page read command. In the command structure, the first cycle of the page read command is input, and then the column address of the start column address in the target page address and the row address of the target page address are input. A second cycle of page read commands is entered, after which the device is busy for a period of time (eg, 20 μs) until the internal page read operation is complete. After such a waiting period, a burst data read operation is performed to retrieve data from the device buffer. The device cannot perform another operation from the start of this operation until the burst data reading is completed.

図7にページ読み取りコマンドの流れを示す。システム用のコントローラは、宛先フラッシュ装置アドレス、メモリバンクアドレス、ページ読み取り操作コード、および読み取られるページを定義する行(複数可)に対する3バイトの行アドレスを含むページ読み取りコマンドをステップ602で生成する。ページ読み取りコマンドは、宛先フラッシュ装置アドレスが、ページ読み取りコマンドを受け取るフラッシュ装置に一致するまで、システムを形成するフラッシュ装置を通過する。行アドレス(複数可)を含むページ読み取りコマンドは、宛先フラッシュ装置で受け取られる。ページ読み取りコマンドは、宛先フラッシュのコマンドレジスタに提供され、アドレスラッチサイクルが3バイトの行アドレスの入力を開始する。アドレスラッチサイクルが終了すると、ページ読み取り操作がフラッシュ装置で開始され、選択されたページ内のデータが読み取られて、時間tR(メモリバンクからデータレジスタへの転送時間、たとえば、20μs)未満でデータレジスタに転送される。 Fig. 7 shows the flow of the page read command. The controller for the system generates a page read command at step 602 that includes a destination flash device address, a memory bank address, a page read operation code, and a 3-byte row address for the row (s) that define the page to be read. The page read command passes through the flash devices forming the system until the destination flash device address matches the flash device that receives the page read command. A page read command including the row address (es) is received at the destination flash device. The page read command is provided to the destination flash command register and the address latch cycle begins to input a 3-byte row address. At the end of the address latch cycle, a page read operation is initiated on the flash device and the data in the selected page is read and data is transferred in less than time t R (transfer time from memory bank to data register, eg 20 μs). Transferred to a register.

コントローラはページからデータを収集するためにtRの間待機するか、または装置ステータス照会を生成し、フラッシュ装置に送出して、ページがアクセスされたときに通知を受け取る。コントローラが装置ステータスコマンドを生成する場合、コマンドはステップ604でフラッシュ装置に送出される。ページがアクセスされて、メモリバンクがレディであり、ビジーでなくなったことをフラッシュ装置が示すまで、フラッシュ装置はこの要求に連続するビジー表示で応答することになる。コントローラは、ステップ606で連続してチェックを行い、メモリバンクがレディかどうかを決定する。 The controller waits for t R to collect data from the page or generates a device status query and sends it to the flash device to receive notification when the page is accessed. If the controller generates a device status command, the command is sent to the flash device at step 604. The flash device will respond to this request with a continuous busy indication until the page is accessed and the flash device indicates that the memory bank is ready and no longer busy. The controller continuously checks at step 606 to determine whether the memory bank is ready.

メモリバンクがレディになるか、またはコントローラがtRの間待機すると、装置アドレスおよび列アドレスを伴うバーストデータ読み取りコマンドがステップ608で発行される。コントローラが装置ステータス照会を送出せず、tRの間待機しない場合、ステップ604およびステップ606は実行されない。装置がバーストデータ読み取りを受け取ると、次いでSQE信号がイネーブルにされ、データレジスタ内のページデータがコマンドで与えられた列アドレスから開始してステップ610で読み取られる。この読み取りは、SQnを介してSQEがlowになるまで継続する。 When the memory bank becomes ready or the controller waits for t R , a burst data read command with a device address and column address is issued at step 608. If the controller does not send a device status query and does not wait for t R , steps 604 and 606 are not executed. When the device receives a burst data read, the SQE signal is then enabled and the page data in the data register is read in step 610 starting from the column address provided in the command. This reading continues until SQE goes low via SQn.

誤り訂正符号(ECC)がコントローラによってステップ612で生成され、ステップ614で検証される。ECCが検証可能でない場合、エラーメッセージがステップ616で発行される。ECCが検証されると、ページ読み取り操作は成功であり、操作はステップ618で完了する。たとえば、フラッシュ装置コントローラは、ページごとに2048バイトの入力データについてECCパリティビットを生成する。したがって、ECCパリティビットを有する2048バイトのデータがプログラムされる(通常、512バイトごとに1バイトのECC、1ページで2048バイトごとに合計4バイトのECC)。ECCパリティビットは、ページ内の64バイトのスペアフィールドでプログラムされる。ページ読み取りの間、フラッシュ装置コントローラは、ECCパリティ情報とともに2048バイトのデータを読み取る。フラッシュ装置コントローラは、4バイトのECC情報とともに2048バイトのデータを検証する。したがって、ECCプロセスはフラッシュ装置コントローラによって実行され、フラッシュメモリ装置はECCパリティ情報のみを格納する。   An error correction code (ECC) is generated by the controller at step 612 and verified at step 614. If the ECC is not verifiable, an error message is issued at step 616. If the ECC is verified, the page read operation is successful and the operation is completed at step 618. For example, the flash device controller generates ECC parity bits for 2048 bytes of input data per page. Thus, 2048 bytes of data with ECC parity bits are programmed (usually 1 byte of ECC for every 512 bytes and 4 bytes of ECC for every 2048 bytes per page). ECC parity bits are programmed with a 64-byte spare field in the page. During a page read, the flash device controller reads 2048 bytes of data along with ECC parity information. The flash device controller verifies 2048 bytes of data along with 4 bytes of ECC information. Therefore, the ECC process is executed by the flash device controller, and the flash memory device stores only ECC parity information.

図8に、要求したデータを取得するためにコントローラがtRの期間満了まで待機する、フラッシュ装置から見たページ読み取り操作のタイミング図を示す。バンクビジー期間tRに、バーストデータ読み取りコマンドが発行され、SQEがイネーブルにされた場合、すべての出力データは無効になる。 FIG. 8 shows a timing diagram of a page read operation as seen from the flash device, in which the controller waits until the period of t R to expire in order to obtain the requested data. If a burst data read command is issued and SQE is enabled during the bank busy period t R , all output data is invalid.

図9に、フラッシュ装置から見た、コントローラからの装置ステータスを伴うページ読み取り操作のタイミング図を示す。   FIG. 9 shows a timing diagram of a page reading operation accompanied by a device status from the controller as seen from the flash device.

モジュールコマンドは、ページプログラムコマンドを含むことができる。コマンド構造では、ページプログラムコマンドの第1サイクルが入力され、続いて対象ページアドレス内の開始列アドレスの列アドレスおよび対象ページアドレスの行アドレスが入力される。次いで入力データがロードされ、続いてページプログラムコマンドの第2サイクルがロードされる。内部ページプログラム操作が完了するまでの間、装置は第2サイクルの後のある期間(たとえば、200μs)にわたってビジーとなる。これらのステップは、ページプログラム操作が完了される場合、すべて1つのプロシージャと見なされ、割り込み不可である。   Module commands can include page program commands. In the command structure, the first cycle of the page program command is input, and then the column address of the start column address and the row address of the target page address in the target page address are input. The input data is then loaded, followed by the second cycle of page program commands. Until the internal page program operation is complete, the device will be busy for a period of time (eg, 200 μs) after the second cycle. These steps are all considered as one procedure when the page program operation is completed and are not interruptible.

図10にフラッシュ装置コントローラからのページプログラムコマンドの流れを示す。システム用のコントローラは、宛先フラッシュ装置アドレス、メモリバンクアドレス、バーストデータロード開始操作コード、およびプログラムされる列(複数可)の2バイトの列アドレスを含むバーストデータロード開始コマンドをステップ902で生成する。バーストデータロード開始コマンドは、宛先フラッシュ装置アドレスが、バーストデータロード開始コマンドを受け取るフラッシュ装置に一致するまで、システムを形成するフラッシュ装置を通過する。バーストデータロード開始コマンドは、ステップ904で2バイトの列アドレスとともに、次いでステップ906で入力データとともに宛先フラッシュ装置のコマンドレジスタに提供される。バーストデータロード開始コマンドは、宛先フラッシュ装置内のすべてのデータレジスタをリセットする。バーストデータロード開始操作がすべてのデータをフラッシュ装置に入力しなかった場合、後続のバーストデータロードコマンドを使用して、すべてのデータを装置に配置することができる。   FIG. 10 shows the flow of the page program command from the flash device controller. The controller for the system generates a burst data load start command in step 902 that includes the destination flash device address, memory bank address, burst data load start operation code, and the 2-byte column address of the column (s) to be programmed. . The burst data load start command passes through the flash devices forming the system until the destination flash device address matches the flash device that receives the burst data load start command. The burst data load start command is provided to the command register of the destination flash unit together with the 2-byte column address at step 904 and then with the input data at step 906. The burst data load start command resets all data registers in the destination flash device. If the burst data load start operation has not entered all the data into the flash device, a subsequent burst data load command can be used to place all the data in the device.

フラッシュ装置コントローラは、宛先装置アドレスおよびメモリバンクアドレス、ならびにページプログラム操作コードおよびページプログラム操作で書き込まれる行を指定する行アドレス(複数可)を指定するページプログラムコマンドを、ステップ908で再び生成する。ページプログラムコマンドは、データがバーストデータロード開始コマンドによりフラッシュ装置にロードされてから時間tDDEの後に、コントローラによって生成される。これにより、ロードされたデータが選択されたページ位置にプログラムされることになる。 The flash device controller again generates a page program command specifying the destination device address and memory bank address, and the page program operation code and row address (s) specifying the line to be written by the page program operation, at step 908. The page program command is generated by the controller after time t DDE after data is loaded into the flash device by a burst data load start command. This loads the loaded data into the selected page position.

コントローラは、ステップ910で発行された装置ステータスコマンドを使用して、ページプログラム操作のステータスを監視する。フラッシュ装置は、ページがアクセスされ、フラッシュ装置のメモリバンクがレディであり、ビジーでなくなったことを示すまで、この要求に連続するビジー表示で応答することになる。コントローラは、ステップ912で連続してチェックを行い、メモリバンクがレディかどうかを決定する。メモリバンクがレディになると、コントローラはページプログラム操作が成功したかどうかをチェックする。成功しなかった場合、ステップ916でエラーが出力され、そうでなければステップ918でページプログラム操作は完了する。   The controller uses the device status command issued at step 910 to monitor the status of the page program operation. The flash device will respond to this request with a continuous busy indication until a page is accessed, indicating that the flash device's memory bank is ready and no longer busy. The controller continuously checks in step 912 to determine whether the memory bank is ready. When the memory bank becomes ready, the controller checks whether the page program operation was successful. If unsuccessful, an error is output at step 916, otherwise the page program operation is completed at step 918.

図11に、バーストデータロード開始がすべてのデータを装置にロードするのに十分である、フラッシュ装置から見たページプログラム操作のタイミング図を示す。図12に、すべてのデータを装置にロードするためにバーストデータロード開始操作の後にバーストデータロード操作が必要な、ページプログラム操作のタイミング図を示す。   FIG. 11 shows a timing diagram of the page program operation seen from the flash device, where the start of burst data loading is sufficient to load all the data into the device. FIG. 12 shows a timing diagram of a page program operation that requires a burst data load operation after a burst data load start operation to load all data into the device.

モジュールコマンドは、ブロック消去コマンドを含むことができる。コマンド構造では、ブロック消去コマンドの第1サイクルが入力され、続いて対象ブロックアドレスの行アドレスが入力される。ブロック消去コマンドの第2サイクルは、装置が内部ブロック消去操作を完了するのに1.5msの間ビジーであった後に入力される。   The module command can include a block erase command. In the command structure, the first cycle of the block erase command is input, and then the row address of the target block address is input. The second cycle of the block erase command is entered after the device has been busy for 1.5 ms to complete the internal block erase operation.

図13に、コントローラからのブロック消去操作の流れを示す。システム用のフラッシュ装置コントローラは、ステップ1202で装置アドレス、メモリバンクアドレス、操作コードを含むブロック消去用アドレス入力コマンドを生成し、ステップ1204で3バイトの行アドレスを生成する。ステップ1206で一度に2つ以上のブロックが消去される場合、これらの追加のブロックを指定するために、追加のブロック消去用アドレス入力コマンドがコントローラによって生成される。すべてのブロックが指定されると、コントローラはステップ1208でブロック消去コマンドを生成して、選択されたブロックに対してブロック消去操作を実行するフラッシュ装置を開始する。コントローラによって生成されたブロック消去コマンドは、装置アドレス、メモリバンクアドレス、および操作コードを含む。   FIG. 13 shows the flow of block erase operation from the controller. The flash device controller for the system generates a block erase address input command including a device address, a memory bank address, and an operation code in step 1202, and generates a 3-byte row address in step 1204. If more than one block is erased at a time in step 1206, an additional block erase address input command is generated by the controller to specify these additional blocks. When all blocks have been specified, the controller generates a block erase command at step 1208 to initiate a flash device that performs a block erase operation on the selected block. The block erase command generated by the controller includes a device address, a memory bank address, and an operation code.

コントローラは、メモリバンクが利用可能になり、ブロック消去操作が完了するときを決定するのに使用されるステータスコマンドをステップ1210で発行する。コントローラは、ステップ1212で、メモリバンクが利用可能になるまで装置ステータスについて連続してチェックする。ブロック消去操作が完了すると、コントローラはステップ1214で操作が成功したかどうかをチェックする。操作が成功しなかった場合、ステップ1216でエラーが発行され、そうでなければステップ1218でブロック消去操作は完了する。   The controller issues a status command at step 1210 that is used to determine when the memory bank is available and the block erase operation is complete. In step 1212, the controller continuously checks for device status until a memory bank is available. When the block erase operation is complete, the controller checks in step 1214 if the operation was successful. If the operation was not successful, an error is issued at step 1216, otherwise the block erase operation is completed at step 1218.

図14に、フラッシュ装置から見た、単一のブロックのみが消去されるブロック消去操作のタイミング図を示す。図15に、複数のブロックが消去されるブロック消去操作のタイミング図を示す。   FIG. 14 shows a timing diagram of a block erase operation in which only a single block is erased as seen from the flash device. FIG. 15 shows a timing diagram of a block erase operation in which a plurality of blocks are erased.

図5Aから図5Cに示すモジュールコマンド構造は、装置アドレスとともに第1バイトに供給されるメモリバンクアドレスを提供する。このメモリバンクアドレスは、フラッシュメモリ装置が、2つ以上のメモリバンクを有する環境で、コマンドの宛先のメモリバンクを指定するために使用される。モジュールコマンド構造を有するコマンドは、そのコマンドでメモリバンクアドレスを指定するので、各メモリバンクが独立して動作する構成を有するフラッシュ装置は、一度にフラッシュ装置の2つ以上のメモリバンクで操作を実行させることができる。HLNAND(商標)フラッシュ装置は、そのようなフラッシュメモリの一例である。   The module command structure shown in FIGS. 5A-5C provides a memory bank address that is supplied in the first byte along with the device address. This memory bank address is used to designate a memory bank as a destination of a command in an environment where the flash memory device has two or more memory banks. A command having a module command structure specifies a memory bank address with the command, so a flash device having a configuration in which each memory bank operates independently executes operations in two or more memory banks of the flash device at a time. Can be made. The HLNAND ™ flash device is an example of such a flash memory.

最上位でカスケード接続される複数のHLNAND(商標)フラッシュ装置のピン構成は、単一の装置の1つと同一でよい。直列相互接続構成では、各装置は、たとえばカスケーディングパス上に追加のハーフクロックサイクル待機時間を導入する。したがって、カスケード接続された装置の数は、直列相互接続構成における操作の合計クロック待機時間を決定する。相互接続された複数のメモリバンクを有する複数の装置の構成では、コントローラは、時間のかかるコア操作にアクセスしている多くの異なるプロシージャを、コマンドのインターリーブによって効果的にスケジュールできる。   The pin configuration of multiple HLNAND ™ flash devices cascaded at the top level may be the same as one of the single devices. In a serial interconnect configuration, each device introduces an additional half clock cycle wait time, for example, on the cascading path. Thus, the number of cascaded devices determines the total clock latency of operation in a series interconnect configuration. In multiple device configurations with multiple interconnected memory banks, the controller can effectively schedule many different procedures accessing time-consuming core operations by command interleaving.

図16から図21に、単一のフラッシュメモリ装置において、2つのメモリバンクで実行されている並行操作を示す。   FIGS. 16 to 21 illustrate parallel operations being performed on two memory banks in a single flash memory device.

図16に、同じフラッシュメモリ装置での2つのメモリバンクからの並行ページ読み取り操作の流れを示す。ページ読み取りコマンドがステップ1502でメモリバンク0に与えられる。メモリバンク0は次いで、要求されたページにアクセスすることにより要求の処理に進む。メモリバンク0がページ読み取りコマンドを処理している間に、第2のページ読み取りコマンドがステップ1504でメモリバンク1に与えられる。メモリバンク1は次いで、メモリバンク0が並行にそれ自体の要求を処理している間に、要求されたページにアクセスすることにより要求の処理に進む。ページ読み取り要求がメモリバンク0に与えられた後の時間tR1をステップ1506で経過させてから、ステップ1502で発行されたページ読み取りコマンドから得られるデータにアクセスするために、バーストデータ読み取りコマンドがステップ1508でメモリバンク0に与えられる。ページ読み取り要求がメモリバンク1に与えられた後の時間tR2をステップ1510で経過させてから、ステップ1504で発行されたページ読み取りコマンドから得られるデータにアクセスするために、バーストデータ読み取りコマンドがステップ1512でメモリバンク1に与えられる。 FIG. 16 shows the flow of a parallel page read operation from two memory banks in the same flash memory device. A page read command is provided to memory bank 0 in step 1502. Memory bank 0 then proceeds to process the request by accessing the requested page. While memory bank 0 is processing the page read command, a second page read command is provided to memory bank 1 at step 1504. Memory bank 1 then proceeds to process the request by accessing the requested page while memory bank 0 is processing its own request in parallel. The time t R1 after the page read request is given to memory bank 0 has elapsed in step 1506, and then the burst data read command steps to access the data obtained from the page read command issued in step 1502. 1508 is given to memory bank 0. The time t R2 after the page read request is given to memory bank 1 has elapsed in step 1510, and then the burst data read command steps to access the data obtained from the page read command issued in step 1504. At 1512, it is given to memory bank 1.

図17に、図16に示した並行ページ読み取り操作のタイミングを示す。   FIG. 17 shows the timing of the parallel page reading operation shown in FIG.

図18に、同じフラッシュメモリ装置の2つのメモリバンクでの並行ページプログラム操作の流れを示す。ステップ1702で、バーストデータロード開始コマンドが、メモリバンク0にプログラムされるデータとともにメモリバンク0に与えられる。ステップ1704で、バーストデータロード開始コマンドが、メモリバンク1にプログラムされるデータとともにメモリバンク1に与えられる。ステップ1706で、ページプログラムコマンドがメモリバンク0に与えられ、ステップ1708で、ページプログラムコマンドがメモリバンク1に与えられる。各メモリバンクのページプログラム操作の完了の進行を監視するために、ステータス読み取りコマンドがステップ1710でメモリバンク0に与えられ、ステップ1712でメモリバンク1に与えられる。ステータスが各メモリバンクについてパスを返すと、ページプログラム操作は完了し、他の操作がメモリバンクで実行可能になる。   FIG. 18 shows the flow of concurrent page program operations in two memory banks of the same flash memory device. At step 1702, a burst data load start command is provided to memory bank 0 along with the data programmed into memory bank 0. At step 1704, a burst data load start command is provided to memory bank 1 along with data to be programmed into memory bank 1. In step 1706, a page program command is provided to memory bank 0, and in step 1708, a page program command is provided to memory bank 1. A status read command is provided to memory bank 0 at step 1710 and to memory bank 1 at step 1712 to monitor the progress of completion of the page program operation for each memory bank. When the status returns a pass for each memory bank, the page program operation is complete and other operations can be performed on the memory bank.

図18に、ページプログラムコマンドが各バンクに提供される前に、各メモリバンクに与えられるバーストデータロード開始コマンドを示す。バーストデータロード開始コマンドおよびページプログラムコマンドは両方とも、いずれかのコマンドがメモリバンク1に与えられる前に、メモリバンク0に与えられうる。図19に、バーストデータロード開始コマンドおよびページプログラムコマンドが、いずれかのコマンドがメモリバンク1に与えられる前にメモリバンク0に与えられる、並行ページプログラム操作のタイミングを示す。   FIG. 18 shows a burst data load start command given to each memory bank before the page program command is provided to each bank. Both the burst data load start command and the page program command can be applied to memory bank 0 before any command is applied to memory bank 1. FIG. 19 shows the timing of the concurrent page program operation in which the burst data load start command and the page program command are given to the memory bank 0 before any command is given to the memory bank 1.

図20に、同じフラッシュメモリ装置の2つのメモリバンクでの並行ブロック消去操作の流れを示す。ステップ1902で、ブロック消去用アドレス入力コマンドが、消去されるブロックのアドレスとともにメモリバンク0に与えられる。ステップ1904で、ブロック消去用アドレス入力コマンドが、消去されるブロックのアドレスとともにメモリバンク1に与えられる。ステップ1902で受け取ったブロック消去用アドレス入力コマンドで示されたブロックが消去されることを受け取りしだい、ステップ1906でブロック消去コマンドがメモリバンク0に与えられる。ステップ1904で受け取ったブロック消去用アドレス入力コマンドで示されたブロックが消去されることを受け取りしだい、ステップ1908でブロック消去コマンドがメモリバンク1に与えられる。ブロック消去操作の進行を監視するために、ステータス読み取りコマンドがステップ1910でメモリバンク0に与えられ、またステップ1912でメモリバンク1に与えられる。ステータスが各メモリバンクについてパスを返すと、ブロック消去操作は完了し、他の操作がメモリバンクで実行可能になる。   FIG. 20 shows the flow of a parallel block erase operation in two memory banks of the same flash memory device. In step 1902, a block erase address input command is given to the memory bank 0 together with the address of the block to be erased. At step 1904, a block erase address input command is applied to the memory bank 1 together with the address of the block to be erased. Upon receiving that the block indicated by the block erase address input command received at step 1902 is erased, the block erase command is provided to the memory bank 0 at step 1906. Upon receiving that the block indicated by the block erase address input command received at step 1904 is erased, the block erase command is given to the memory bank 1 at step 1908. A status read command is provided to memory bank 0 at step 1910 and to memory bank 1 at step 1912 to monitor the progress of the block erase operation. When the status returns a pass for each memory bank, the block erase operation is complete and other operations can be performed on the memory bank.

図20に、ブロック消去コマンドが各バンクに提供される前に各メモリバンクに与えられるブロック消去用アドレス入力コマンドを示す。ブロック消去用アドレス入力コマンドおよびブロック消去コマンドは両方とも、いずれかのコマンドがメモリバンク1に与えられる前に、メモリバンク0に与えられうる。図21に、ブロック消去用アドレス入力コマンドおよびブロック消去コマンドが、いずれかのコマンドがメモリバンク1に与えられる前にメモリバンク0に与えられる、並行ブロック消去操作のタイミングを示す。   FIG. 20 shows a block erase address input command given to each memory bank before the block erase command is provided to each bank. Both the block erase address input command and the block erase command can be applied to the memory bank 0 before any command is applied to the memory bank 1. FIG. 21 shows the timing of the parallel block erase operation in which the block erase address input command and the block erase command are given to the memory bank 0 before any command is given to the memory bank 1.

メモリバンクによって並行に実行される操作は、同じ操作である必要はない。図22〜図25は、同じフラッシュメモリ装置の2つのメモリバンクによって並行に実行される異なる操作を示す。   Operations performed in parallel by the memory bank need not be the same operation. 22-25 show different operations performed in parallel by two memory banks of the same flash memory device.

図22に、同じフラッシュメモリ装置の2つのメモリバンクでの並行するページ読み取り操作およびページプログラム操作の流れを示す。ページ読み取りコマンドがステップ2102でメモリバンク0に与えられる。メモリバンク0がページ読み取りコマンドで示されたページにアクセスしている間に、バーストデータロード開始コマンドが、メモリバンク1にプログラムされるデータとともにステップ2104でメモリバンク1に与えられる。ページプログラムコマンドが、データのメモリバンク1へのプログラムを開始するためにステップ2106でメモリバンク1に与えられる。メモリバンク0が要求されたデータを取り出せるように、ページ読み取りコマンドがステップ2102で与えられた後の時間tRをステップ2108で経過させてから、ページ読み取り操作によって取り出されたデータにアクセスするために、バーストデータ読み取りコマンドがステップ2110でメモリバンク0に与えられる。ページプログラム操作の進行を監視するために、ステータス読み取りコマンドがステップ2112でメモリバンク1に与えられる。ステータスがメモリバンク1についてパスを返すと、ページプログラム操作は完了し、他の操作がメモリバンク1で実行可能になる。 FIG. 22 shows the flow of parallel page read operations and page program operations in two memory banks of the same flash memory device. A page read command is provided to memory bank 0 in step 2102. While memory bank 0 is accessing the page indicated by the page read command, a burst data load start command is provided to memory bank 1 in step 2104 along with the data programmed into memory bank 1. A page program command is provided to memory bank 1 at step 2106 to begin programming data into memory bank 1. To access the data retrieved by the page read operation after the time t R has elapsed in step 2108 after the page read command was given in step 2102 so that memory bank 0 can retrieve the requested data , A burst data read command is provided to memory bank 0 in step 2110. A status read command is provided to memory bank 1 at step 2112 to monitor the progress of page program operations. When the status returns pass for memory bank 1, the page program operation is complete and other operations can be performed in memory bank 1.

図23に、図22の並行するページ読み取り操作およびページプログラム操作のタイミングを示す。   FIG. 23 shows the timing of the parallel page reading operation and page program operation of FIG.

図24に、ページ読み取り操作がメモリバンク0で実行され、ページプログラム操作がメモリバンク1で実行される、同じフラッシュメモリ装置の2つのメモリバンクで実行される一時停止操作および再開操作の流れを示す。バーストデータロード開始が、メモリバンク1にプログラムされるデータとともにステップ2302でメモリバンク1に与えられる。バーストデータロード開始操作ですべてのデータがメモリバンク1にロードされる前に、この操作は、ページ読み取りコマンドがステップ2306でメモリバンク0に与えられるときに一時停止される。ページ読み取りコマンドがメモリバンク0で完全に受け取られた後、およびメモリバンク0が要求されたページにアクセスしている間に、メモリバンク1での操作が残りのデータとともにバーストデータロード操作を使用してステップ2308で再開される。データがメモリバンク1に提供されると、ページプログラムコマンドがステップ2310でメモリバンク1に与えられて、そこでデータのプログラミングを開始する。ページ読み取りコマンドがステップ2306でメモリバンク0に与えられた後に、ステップ2312で時間tRを経過させる。tRが経過すると、バーストデータ読み取りコマンドがステップ2314でメモリバンク0に与えられて、要求されたデータのメモリバンク0からの抽出を開始する。バーストデータ読み取りコマンドは、ステータス読み取りコマンドが、メモリバンクのステータスを監視するためにステップ2318でメモリバンク1に与えられるときに、ステップ2316で一時停止される。バーストデータ読み取りコマンドは、ステータス読み取りコマンドが受け取られると、ステップ2320で再開される。ページプログラム操作が完了すると、メモリバンク1はステータス読み取りコマンドにパスを返し、他の操作がメモリバンク1で実行可能になる。 FIG. 24 shows the flow of pause and resume operations performed in two memory banks of the same flash memory device where a page read operation is performed in memory bank 0 and a page program operation is performed in memory bank 1. . Burst data load start is provided to memory bank 1 at step 2302 along with data programmed into memory bank 1. Before all data is loaded into memory bank 1 with the burst data load start operation, this operation is suspended when a page read command is applied to memory bank 0 at step 2306. After a page read command is completely received at memory bank 0 and while memory bank 0 is accessing the requested page, an operation at memory bank 1 uses a burst data load operation with the remaining data. And resumed at step 2308. When data is provided to memory bank 1, a page program command is provided to memory bank 1 at step 2310, where it begins programming the data. After a page read command is provided to memory bank 0 in step 2306, time t R is passed in step 2312. When t R elapses, a burst data read command is provided to memory bank 0 in step 2314 to start extracting the requested data from memory bank 0. The burst data read command is suspended at step 2316 when a status read command is provided to memory bank 1 at step 2318 to monitor the status of the memory bank. The burst data read command is resumed at step 2320 when a status read command is received. When the page program operation is complete, memory bank 1 returns a pass to the status read command and other operations can be performed in memory bank 1.

図25に、図24の一時停止および再開されるページ読み取り操作およびページプログラム操作のタイミングを示す。   FIG. 25 shows the timing of the page reading operation and the page program operation that are paused and resumed in FIG.

図26から図28に、複数の装置間の操作のインターリーブを示す。図26に、フラッシュ装置0およびフラッシュ装置1のメモリバンク0およびメモリバンク1の両方でのページ読み取り操作、フラッシュ装置2のメモリバンク0でのブロック消去操作、フラッシュ装置2のメモリバンク1およびフラッシュ装置3のメモリバンク0でのページプログラム操作、およびフラッシュ装置3のメモリバンク1でのページ対消去操作を示す。図27に、フラッシュ装置0、1、2、および3のメモリバンク0および1でのページ読み取り操作を示す。図28に、フラッシュ装置0のメモリバンク0でのページプログラム操作とその後に続くページ読み取り操作、ページ読み取り操作とその後に続くフラッシュ装置0のメモリバンク1でのブロック消去操作、フラッシュ装置1および3のメモリバンク0ならびにフラッシュ装置2および3のメモリバンク1でのブロック消去操作、フラッシュ装置1のメモリバンク1でのページプログラム操作、およびページ読み取り操作とその後に続くフラッシュ装置2のメモリバンク0でのページプログラム操作を示す。   FIG. 26 to FIG. 28 show the interleaving of operations between a plurality of devices. FIG. 26 shows a page read operation in both memory bank 0 and memory bank 1 of flash device 0 and flash device 1, a block erase operation in memory bank 0 of flash device 2, memory bank 1 and flash device of flash device 2. 3 shows a page program operation in the memory bank 0 and a page pair erase operation in the memory bank 1 of the flash device 3. FIG. 27 shows a page read operation in memory banks 0 and 1 of flash devices 0, 1, 2, and 3. FIG. 28 shows the page program operation in the memory bank 0 of the flash device 0 and the subsequent page read operation, the page read operation and the subsequent block erase operation in the memory bank 1 of the flash device 0, and the flash devices 1 and 3. Block erase operation in memory bank 0 and memory bank 1 of flash devices 2 and 3, page program operation in memory bank 1 of flash device 1, and page read operation followed by page in memory bank 0 of flash device 2 Indicates program operation.

上述の実施形態では、メモリ装置をフラッシュメモリ装置として述べている。メモリ装置は、たとえば、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、磁気抵抗ランダムアクセスメモリ(MRAM)などの、ランダムアクセスメモリ装置でもよいことは、当業者には明らかである。また、メモリシステムに含まれる複数のメモリ装置は、同一種類の装置または複数の種類が混じった装置でもよい。混合した種類の直列接続された複数の装置の構成は、2006年12月6日に出願した米国仮特許出願第60/868,773号に開示されている。   In the above embodiment, the memory device is described as a flash memory device. It will be apparent to those skilled in the art that the memory device may be a random access memory device, such as, for example, a dynamic random access memory (DRAM), a static random access memory (SRAM), a magnetoresistive random access memory (MRAM). Further, the plurality of memory devices included in the memory system may be the same type of device or a device in which a plurality of types are mixed. A configuration of mixed types of devices connected in series is disclosed in US Provisional Patent Application No. 60 / 868,773, filed Dec. 6, 2006.

上述の実施形態では、装置の要素および回路は、簡略化のため、図に示すように互いに接続されている。実際の適用においては、これらの装置、要素、回路などは、互いに直接接続することも、他の装置、要素、回路などを介して間接的に接続することもできる。したがって、実際の構成では、要素、回路、および装置は、直接または間接的に互いに連結される。   In the above-described embodiments, the device elements and circuits are connected to each other as shown in the figure for simplicity. In practical applications, these devices, elements, circuits, etc. can be connected directly to each other or indirectly through other devices, elements, circuits, etc. Thus, in an actual configuration, the elements, circuits, and devices are coupled to each other directly or indirectly.

上述の本発明の実施形態は例示のみを目的としている。特定の実施形態についての変更、修正、および変形は、本明細書に付随する特許請求の範囲によってのみ定義される本発明の範囲から逸脱することなく、当業者によって実施されることができる。   The above-described embodiments of the present invention are intended to be examples only. Changes, modifications, and variations to the specific embodiments can be made by those skilled in the art without departing from the scope of the invention, which is defined only by the claims appended hereto.

102 ホストシステム
103 プロセッサ
104 コントローラ
106 メモリシステム
107-0 フラッシュメモリ装置
107-1 フラッシュメモリ装置
108-0 フラッシュメモリ装置
108-1 フラッシュメモリ装置
108-2 フラッシュメモリ装置
108-3 フラッシュメモリ装置
109-0 フラッシュメモリ装置
109-1 フラッシュメモリ装置
109-2 フラッシュメモリ装置
109-3 フラッシュメモリ装置
112 コントローラ
114 共通バス
116 コントローラ
310 フラッシュコントローラ
312 CPU
314 メモリ
316 RAM
318 ROM
322 フラッシュコマンドエンジン
324 ECCマネージャ
326 フラッシュ装置インターフェイス
330 共通バス
332 ホストインターフェイスコントローラ
334 ホストインターフェイス
400 NANDフラッシュ装置
402 メモリバンク
404 S/Aおよびデータレジスタ
406 制御およびプリデコーダ
408 行デコーダ
410 I/Oバッファおよびラッチ
412 出力ドライバ
414 コマンドレジスタ
416 制御論理
418 アドレスバッファおよびラッチ
500 モジュールコマンド構造
502 第1バイト
504 メモリ装置アドレス
506 バンクアドレス
508 第2バイト
510 操作コード
520 コマンド構造
522 行アドレス
524 行アドレス
540 コマンド構造
542 列アドレス
544 列アドレス
558 コマンド構造機構
560 バンクインターリーブ機構
562 装置インターリーブ機構
564 アドレス識別機構
566 コマンド識別機構
568 行アドレス識別機構
570 列アドレス識別機構
102 Host system
103 processor
104 controller
106 Memory system
107-0 flash memory device
107-1 Flash memory device
108-0 flash memory device
108-1 Flash memory device
108-2 Flash memory device
108-3 Flash memory device
109-0 flash memory device
109-1 Flash memory device
109-2 Flash memory device
109-3 Flash memory device
112 controller
114 Common bus
116 controller
310 flash controller
312 CPU
314 memory
316 RAM
318 ROM
322 Flash command engine
324 ECC Manager
326 Flash device interface
330 Common bus
332 Host interface controller
334 Host interface
400 NAND flash device
402 memory bank
404 S / A and data registers
406 Control and Predecoder
408 line decoder
410 I / O buffers and latches
412 Output driver
414 Command register
416 control logic
418 Address buffer and latch
500 module command structure
502 1st byte
504 Memory device address
506 Bank address
508 2nd byte
510 Operation code
520 Command structure
522 line address
524 line address
540 Command structure
542 column address
544 column address
558 Command structure mechanism
560 Bank Interleave Organization
562 Device interleave mechanism
564 Address identification mechanism
566 Command identification mechanism
568 Line address identification mechanism
570 column address identification mechanism

Claims (35)

複数のメモリ装置の1つへのアクセスを求める要求を表す複数の分離可能なコマンドを含むコマンド構造であって、前記複数の別個のコマンドのそれぞれが、
前記複数のメモリ装置の前記1つに対するアドレスと、前記複数のメモリ装置の前記1つにある複数のメモリバンクの1つに対するバンクアドレスとを含む装置識別子と、
前記複数のメモリ装置の前記1つによって実行される操作を表す操作コードを含むコマンド識別子とを含む、コマンド構造。
A command structure including a plurality of separable commands representing a request for access to one of a plurality of memory devices, each of the plurality of separate commands comprising:
A device identifier comprising an address for the one of the plurality of memory devices and a bank address for one of a plurality of memory banks in the one of the plurality of memory devices;
And a command identifier including an operation code representing an operation executed by the one of the plurality of memory devices.
前記1つのメモリ装置は、少なくとも1つのメモリバンクを含み、アドレス識別子が、前記少なくとも1つのメモリ装置の1つに対する装置アドレスと、前記少なくとも1つのメモリバンクの1つに対するバンクアドレスとを含む、請求項1に記載のコマンド構造。   The one memory device includes at least one memory bank, and the address identifier includes a device address for one of the at least one memory device and a bank address for one of the at least one memory bank. Item 1. Command structure. 前記アドレス識別子はmバイトの識別子を含み、mは整数である、請求項2に記載のコマンド構造。   3. The command structure according to claim 2, wherein the address identifier includes an identifier of m bytes, and m is an integer. 前記装置アドレスはnビットのアドレスを含み、前記バンクアドレスはpビットのアドレスを含み、nおよびpはそれぞれ整数である、請求項3に記載のコマンド構造。   4. The command structure according to claim 3, wherein the device address includes an n-bit address, the bank address includes a p-bit address, and n and p are each integers. 前記コマンド識別子はqバイトのコマンド識別子を含み、qは整数である、請求項1に記載のコマンド構造。   The command structure according to claim 1, wherein the command identifier includes a command identifier of q bytes, and q is an integer. 前記モジュール構造は、前記コマンド識別子での前記操作が適用される、前記少なくとも1つのメモリ装置のメモリバンク内の行を指定する行アドレスをさらに含む、請求項1に記載のコマンド構造。   The command structure according to claim 1, wherein the module structure further includes a row address designating a row in a memory bank of the at least one memory device to which the operation with the command identifier is applied. 前記モジュール構造は、前記操作の種類が決定済みである場合に行アドレスをさらに含み、前記行アドレスは、前記コマンド識別子での前記操作が適用される、前記少なくとも1つのメモリ装置のメモリバンク内の行を指定する、請求項1に記載のコマンド構造。   The module structure further includes a row address when the type of operation has been determined, the row address in the memory bank of the at least one memory device to which the operation with the command identifier is applied. The command structure of claim 1, wherein the command structure specifies a line. 前記行アドレスはrバイトのアドレスを含み、rは整数である、請求項6に記載のコマンド構造。   7. The command structure according to claim 6, wherein the row address includes an address of r bytes, and r is an integer. 前記モジュール構造は、前記コマンド識別子での前記操作が適用される、前記少なくとも1つのメモリ装置のメモリバンク内の列を指定する列アドレスをさらに含む、請求項1に記載のコマンド構造。   2. The command structure of claim 1, wherein the module structure further includes a column address specifying a column in a memory bank of the at least one memory device to which the operation with the command identifier is applied. 前記モジュール構造は、前記操作の種類が決定済みである場合に列アドレスをさらに含み、前記列アドレスは、前記コマンド識別子での前記操作が適用される、前記少なくとも1つのメモリ装置のメモリバンク内の列を指定する、請求項1に記載のコマンド構造。   The module structure further includes a column address when the type of operation has been determined, the column address in the memory bank of the at least one memory device to which the operation with the command identifier is applied. The command structure of claim 1, wherein the command structure specifies a column. 前記列アドレスはsバイトのアドレスを含み、sは整数である、請求項9に記載のコマンド構造。   10. The command structure according to claim 9, wherein the column address includes an address of s bytes, and s is an integer. 前記1つのメモリ装置は、少なくとも1つのメモリバンクを含み、前記アドレス識別子は、前記少なくとも1つのメモリ装置の1つに対する装置アドレスと、前記少なくとも1つのメモリバンクの1つに対するバンクアドレスとを含む、請求項11に記載のモジュールコマンド構造。   The one memory device includes at least one memory bank, and the address identifier includes a device address for one of the at least one memory device and a bank address for one of the at least one memory bank. The module command structure according to claim 11. 前記コマンド識別子はqバイトの識別子を含み、qは整数である、請求項12に記載のモジュールコマンド構造。   13. The module command structure according to claim 12, wherein the command identifier includes an identifier of q bytes, and q is an integer. 前記モジュール構造は、前記コマンド識別子での前記操作が適用される、前記少なくとも1つのメモリ装置のメモリバンク内の行を指定する行アドレスをさらに含む、請求項12に記載のモジュールコマンド構造。   13. The module command structure according to claim 12, wherein the module structure further includes a row address designating a row in a memory bank of the at least one memory device to which the operation with the command identifier is applied. 前記モジュール構造は、前記操作の種類が決定済みである場合に行アドレスをさらに含み、前記行アドレスは、前記コマンド識別子での前記操作が適用される、前記少なくとも1つのメモリ装置のメモリバンク内の行を指定する、請求項12に記載のモジュールコマンド構造。   The module structure further includes a row address when the type of operation has been determined, the row address in the memory bank of the at least one memory device to which the operation with the command identifier is applied. The module command structure of claim 12, wherein the module command structure specifies a line. 前記行アドレスはrバイトのアドレスを含み、rは整数である、請求項15に記載のモジュールコマンド構造。   16. The module command structure of claim 15, wherein the row address includes an r-byte address, and r is an integer. 前記モジュール構造は、前記コマンド識別子での前記操作が適用される、前記少なくとも1つのメモリ装置のメモリバンク内の列を指定する列アドレスをさらに含む、請求項12に記載のモジュールコマンド構造。   13. The module command structure according to claim 12, wherein the module structure further includes a column address designating a column in a memory bank of the at least one memory device to which the operation with the command identifier is applied. 前記モジュール構造は、前記操作の種類が決定済みである場合に列アドレスをさらに含み、前記列アドレスは、前記コマンド識別子での前記操作が適用される、前記少なくとも1つのメモリ装置のメモリバンク内の列を指定する、請求項12に記載のモジュールコマンド構造。   The module structure further includes a column address when the type of operation has been determined, the column address in the memory bank of the at least one memory device to which the operation with the command identifier is applied. The module command structure of claim 12, which specifies a column. 前記mバイトの識別子は1バイトの識別子を含み、
前記nビットのアドレスは6ビットのアドレスを含み、
前記pビットのアドレスは2ビットのアドレスを含む、請求項4に記載のコマンド構造。
The m-byte identifier includes a 1-byte identifier,
The n-bit address includes a 6-bit address;
5. The command structure according to claim 4, wherein the p-bit address includes a 2-bit address.
前記rバイトの行アドレスは3バイトのアドレスを含む、請求項8に記載のコマンド構造。   9. The command structure according to claim 8, wherein the r-byte row address includes a 3-byte address. 前記qバイトのコマンド識別子は1バイトの操作コードを含む、請求項5に記載のコマンド構造。   6. The command structure according to claim 5, wherein the q-byte command identifier includes a 1-byte operation code. 複数のメモリ装置の1つに対するアドレスと、前記複数のメモリ装置の前記1つにある複数のメモリバンクの1つに対するバンクアドレスとを含む装置識別子と、
前記複数のメモリ装置の前記1つによって実行される操作を表す操作コードを含むコマンド識別子とを含む、モジュールコマンド構造。
A device identifier comprising an address for one of a plurality of memory devices and a bank address for one of a plurality of memory banks in the one of the plurality of memory devices;
A module command structure including a command identifier including an operation code representing an operation executed by the one of the plurality of memory devices.
データを格納する少なくとも1つのメモリ装置を含むメモリシステムと、
前記メモリシステムへのアクセスを求める要求を管理するプロセッサと、
前記プロセッサからの前記要求を、前記少なくとも1つのメモリ装置によって解釈可能である1つまたは複数の分離可能なコマンドに変換するコントローラであって、各コマンドが、前記少なくとも1つのメモリ装置の1つに対するアドレス識別子と、前記少なくとも1つのメモリ装置の前記1つによって実行される操作を表すコマンド識別子とを含むモジュール構造を有するコントローラとを含むシステムであって、前記少なくとも1つのメモリ装置および前記コントローラが通信用に直列接続されている、システム。
A memory system including at least one memory device for storing data;
A processor that manages requests for access to the memory system;
A controller that translates the request from the processor into one or more separable commands that are interpretable by the at least one memory device, wherein each command is directed to one of the at least one memory device. A system having a module structure including an address identifier and a command identifier representing an operation performed by the one of the at least one memory device, wherein the at least one memory device and the controller communicate with each other System connected in series for.
前記少なくとも1つのメモリ装置は、少なくとも1つのメモリバンクを含み、前記アドレス識別子は、前記少なくとも1つのメモリ装置の1つに対する装置アドレスと、前記少なくとも1つのメモリバンクの1つに対するバンクアドレスとを含む、請求項23に記載のシステム。   The at least one memory device includes at least one memory bank, and the address identifier includes a device address for one of the at least one memory device and a bank address for one of the at least one memory bank. 24. The system of claim 23. 前記コントローラは、1つまたは複数の分離可能なコマンドを異なるメモリ装置に生成し、異なるメモリ装置に対するこれらの1つまたは複数の分離可能なコマンドの発行をインターリーブする、請求項24に記載のシステム。   25. The system of claim 24, wherein the controller generates one or more separable commands on different memory devices and interleaves the issuance of these one or more separable commands to different memory devices. 前記少なくとも1つのメモリ装置は、少なくとも2つのメモリバンクを含み、前記コントローラは、前記少なくとも2つのメモリバンクのそれぞれに対して1つまたは複数の分離可能なコマンドを生成し、これらの1つまたは複数の分離可能なコマンドの発行をインターリーブし、したがって前記少なくとも2つのメモリバンクが、前記発行された1つまたは複数の分離可能なコマンドを並行して処理する、請求項25に記載のシステム。   The at least one memory device includes at least two memory banks, and the controller generates one or more separable commands for each of the at least two memory banks, one or more of these 26. The system of claim 25, wherein the issuance of separable commands is interleaved, so that the at least two memory banks process the issued separable command or commands in parallel. 前記メモリシステム内の前記メモリ装置は共通バスに接続される、請求項23に記載のシステム。   24. The system of claim 23, wherein the memory devices in the memory system are connected to a common bus. 前記メモリシステム内の前記メモリ装置は直列接続される、請求項23に記載のシステム。   24. The system of claim 23, wherein the memory devices in the memory system are connected in series. 前記メモリ装置はNANDフラッシュメモリ装置を含む、請求項23に記載のシステム。   24. The system of claim 23, wherein the memory device comprises a NAND flash memory device. データを格納する複数のメモリ装置を有するシステム用のコントローラであって、前記複数のメモリ装置との通信用に直列相互接続で構成され、
前記複数のメモリ装置へのアクセスを求める要求を受け取る第1の接続と、
前記要求を、前記複数のメモリ装置によって解釈可能である複数の分離可能なコマンドに変換する変換装置であって、各コマンドが、前記複数のメモリ装置の1つに対するアドレス識別子と、前記複数のメモリ装置の1つによって実行される操作を表すコマンド識別子とを含むモジュール構造を有する変換装置と、
前記複数の分離可能なコマンドを発行する前記複数のメモリ装置の1つとの通信用の第2の接続とを含む、コントローラ。
A controller for a system having a plurality of memory devices for storing data, comprising a serial interconnection for communication with the plurality of memory devices,
A first connection for receiving a request for access to the plurality of memory devices;
A translation device that translates the request into a plurality of separable commands that are interpretable by the plurality of memory devices, each command having an address identifier for one of the plurality of memory devices, and the plurality of memories A conversion device having a modular structure including a command identifier representing an operation performed by one of the devices;
And a second connection for communication with one of the plurality of memory devices that issues the plurality of separable commands.
メモリ装置アドレスを含むアドレスを決定するステップと、
メモリへのアクセスを求める要求を満たす複数の操作を識別するステップと、
前記メモリに関する複数の分離可能なコマンドを提供するステップであって、前記コマンドのそれぞれが、メモリ装置アドレスを有する装置識別子と、前記複数の操作の1つを有するコマンド識別子とを含むステップとを含む、方法。
Determining an address including a memory device address;
Identifying a plurality of operations that satisfy a request for access to memory;
Providing a plurality of separable commands for the memory, each of the commands including a device identifier having a memory device address and a command identifier having one of the plurality of operations. ,Method.
メモリ装置へのアクセスを求める要求を、前記メモリ装置によって解釈可能である複数の分離可能なコマンドに変換する方法であって、
前記決定するステップは、前記メモリ装置に対するアドレスと、前記メモリ装置のメモリバンクに対するアドレスとを決定するステップを含み、
前記識別するステップは、組み合わされて前記要求を満たす複数の操作を識別するステップを含み、
前記提供するステップは、前記複数の分離可能なコマンドを提供するステップであって、各コマンドが、前記メモリ装置アドレスおよび前記メモリバンクアドレスを含む装置識別子と、前記複数の操作の1つを含むコマンド識別子とを含み、前記コマンド識別子が前記メモリ装置によって解釈可能であり、前記複数の分離可能なコマンドが前記メモリ装置に発行されるステップを含む、請求項31に記載の方法。
A method of translating a request for access to a memory device into a plurality of separable commands that can be interpreted by the memory device,
The step of determining includes determining an address for the memory device and an address for a memory bank of the memory device;
The identifying step includes identifying a plurality of operations that are combined to satisfy the request;
The providing step includes providing the plurality of separable commands, each command including a device identifier including the memory device address and the memory bank address, and one of the plurality of operations. 32. The method of claim 31, comprising: an identifier, wherein the command identifier is interpretable by the memory device, and the plurality of separable commands are issued to the memory device.
前記提供するステップが、
mは整数である、mバイトの装置識別子を生成するステップと、
nおよびpはそれぞれ整数である、nビットのメモリ装置アドレスおよびpビットのメモリバンクアドレスを生成するステップと、
qは整数である、qバイトのコマンド識別子を生成するステップとをさらに含み、
異なる装置識別子を有する前記複数の分離可能なコマンドのそれぞれの発行をインターリーブするステップをさらに含む、請求項31に記載の方法。
Said providing step comprises:
generating an apparatus identifier of m bytes, where m is an integer;
generating n-bit memory device addresses and p-bit memory bank addresses, where n and p are each integers;
generating a q-byte command identifier, wherein q is an integer,
32. The method of claim 31, further comprising interleaving the issuance of each of the plurality of separable commands having different device identifiers.
前記メモリ装置が少なくとも2つのメモリバンクを含む方法であって、前記少なくとも2つのメモリバンクを並行に制御し、
前記決定するステップは、前記メモリ装置に対するアドレスと、前記少なくとも2つのメモリバンクのそれぞれに対するアドレスとを決定するステップを含み、
前記識別するステップは、組み合わされて前記少なくとも2つのメモリバンクのそれぞれへのアクセスを求める要求を満たす複数の操作を識別するステップを含み、
前記提供するステップは、前記複数の分離可能なコマンドを前記少なくとも2つのメモリバンクのそれぞれについて生成するステップであって、前記複数の分離可能なコマンドのそれぞれが前記メモリ装置に発行されるステップを含む、請求項31に記載の方法。
The memory device comprises at least two memory banks, wherein the at least two memory banks are controlled in parallel;
The step of determining includes determining an address for the memory device and an address for each of the at least two memory banks;
The step of identifying includes identifying a plurality of operations that are combined to satisfy a request for access to each of the at least two memory banks;
The providing step includes generating the plurality of separable commands for each of the at least two memory banks, wherein each of the plurality of separable commands is issued to the memory device. 32. The method of claim 31.
複数のメモリ装置へのアクセスを求める要求をインターリーブする方法であって、
前記決定するステップは、前記複数のメモリ装置のそれぞれに対するアドレスを含み、
前記識別するステップは、組み合わされて各要求を満たす複数の操作を識別するステップを含み、
前記提供するステップは、複数の分離可能なコマンドを前記複数のメモリ装置のそれぞれに関する各要求ごとに生成するステップであって、各コマンドが、前記メモリ装置アドレスを有する装置識別子と、前記複数の操作の1つを有するコマンド識別子とを含み、前記コマンド識別子が前記メモリ装置によって解釈可能であり、前記複数の分離可能なコマンドのそれぞれが前記メモリ装置に発行されるステップを含む、請求項31に記載の方法。
A method for interleaving requests for access to a plurality of memory devices, comprising:
The step of determining includes an address for each of the plurality of memory devices;
Said identifying step includes identifying a plurality of operations that are combined to satisfy each request;
The providing step is a step of generating a plurality of separable commands for each request related to each of the plurality of memory devices, wherein each command includes a device identifier having the memory device address and the plurality of operations. 32. A command identifier having one of the following: the command identifier is interpretable by the memory device, and each of the plurality of separable commands is issued to the memory device. the method of.
JP2009524852A 2006-08-22 2007-08-20 Memory module command structure and memory system Pending JP2010501915A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US83932906P 2006-08-22 2006-08-22
US90200307P 2007-02-16 2007-02-16
US89270507P 2007-03-02 2007-03-02
PCT/CA2007/001428 WO2008022434A1 (en) 2006-08-22 2007-08-20 Modular command structure for memory and memory system

Publications (2)

Publication Number Publication Date
JP2010501915A true JP2010501915A (en) 2010-01-21
JP2010501915A5 JP2010501915A5 (en) 2010-09-24

Family

ID=39106428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009524852A Pending JP2010501915A (en) 2006-08-22 2007-08-20 Memory module command structure and memory system

Country Status (5)

Country Link
EP (1) EP2074623A4 (en)
JP (1) JP2010501915A (en)
KR (2) KR101397229B1 (en)
TW (1) TW200826104A (en)
WO (1) WO2008022434A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013525889A (en) * 2010-04-19 2013-06-20 モサイド・テクノロジーズ・インコーポレーテッド Status display for systems with multiple memory devices
JP2015144006A (en) * 2008-10-14 2015-08-06 コンバーサント・インテレクチュアル・プロパティ・マネジメント・インコーポレイテッドConversant Intellectual Property Management Inc. Composite memory having bridge device for connecting discrete memory devices to system
JP2016181112A (en) * 2015-03-24 2016-10-13 株式会社東芝 Memory device, semiconductor device, and information processing apparatus
JP2021068072A (en) * 2019-10-21 2021-04-30 キオクシア株式会社 Memory system and control method

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904639B2 (en) 2006-08-22 2011-03-08 Mosaid Technologies Incorporated Modular command structure for memory and memory system
WO2008098342A1 (en) 2007-02-16 2008-08-21 Mosaid Technologies Incorporated Semiconductor device and method for reducing power consumption in a system having interconnected devices
US8037235B2 (en) 2008-12-18 2011-10-11 Mosaid Technologies Incorporated Device and method for transferring data to a non-volatile memory device
CN103559905A (en) 2008-12-18 2014-02-05 莫塞德技术公司 Semiconductor device with main memory unit and auxiliary memory unit requiring preset operation
US8194481B2 (en) 2008-12-18 2012-06-05 Mosaid Technologies Incorporated Semiconductor device with main memory unit and auxiliary memory unit requiring preset operation
TWI477966B (en) * 2012-05-31 2015-03-21 Silicon Motion Inc Data storage device and operating method for flash memory
KR102514388B1 (en) 2016-03-25 2023-03-28 에스케이하이닉스 주식회사 Memory system and operating method of memory system
KR102651425B1 (en) 2016-06-30 2024-03-28 에스케이하이닉스 주식회사 Memory system and operating method of memory system
US11822793B2 (en) * 2022-04-04 2023-11-21 Western Digital Technologies, Inc. Complete and fast protection against CID conflict

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222472A (en) * 2000-02-08 2001-08-17 Hitachi Ltd Storage element and storage device using the same
JP2005353060A (en) * 2004-06-11 2005-12-22 Samsung Electronics Co Ltd HUB, MEMORY MODULE, MEMORY SYSTEM, READ METHOD AND WRITE METHOD THROUGH THE SAME

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729683A (en) * 1995-05-18 1998-03-17 Compaq Computer Corporation Programming memory devices through the parallel port of a computer system
US6453365B1 (en) * 1998-02-11 2002-09-17 Globespanvirata, Inc. Direct memory access controller having decode circuit for compact instruction format
US7130958B2 (en) * 2003-12-02 2006-10-31 Super Talent Electronics, Inc. Serial interface to flash-memory chip using PCI-express-like packets and packed data for partial-page writes
US7356639B2 (en) * 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US20020161941A1 (en) * 2001-04-30 2002-10-31 Sony Corporation And Electronics, Inc System and method for efficiently performing a data transfer operation
US7308524B2 (en) * 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
US7073010B2 (en) * 2003-12-02 2006-07-04 Super Talent Electronics, Inc. USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint
US8375146B2 (en) * 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222472A (en) * 2000-02-08 2001-08-17 Hitachi Ltd Storage element and storage device using the same
JP2005353060A (en) * 2004-06-11 2005-12-22 Samsung Electronics Co Ltd HUB, MEMORY MODULE, MEMORY SYSTEM, READ METHOD AND WRITE METHOD THROUGH THE SAME

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015144006A (en) * 2008-10-14 2015-08-06 コンバーサント・インテレクチュアル・プロパティ・マネジメント・インコーポレイテッドConversant Intellectual Property Management Inc. Composite memory having bridge device for connecting discrete memory devices to system
JP2013525889A (en) * 2010-04-19 2013-06-20 モサイド・テクノロジーズ・インコーポレーテッド Status display for systems with multiple memory devices
JP2016181112A (en) * 2015-03-24 2016-10-13 株式会社東芝 Memory device, semiconductor device, and information processing apparatus
JP2021068072A (en) * 2019-10-21 2021-04-30 キオクシア株式会社 Memory system and control method
JP7458740B2 (en) 2019-10-21 2024-04-01 キオクシア株式会社 Memory system and control method

Also Published As

Publication number Publication date
KR101514171B1 (en) 2015-04-21
EP2074623A4 (en) 2010-01-06
KR101397229B1 (en) 2014-05-20
WO2008022434A1 (en) 2008-02-28
TW200826104A (en) 2008-06-16
EP2074623A1 (en) 2009-07-01
KR20090046944A (en) 2009-05-11
KR20130136004A (en) 2013-12-11

Similar Documents

Publication Publication Date Title
JP2010501915A (en) Memory module command structure and memory system
US7904639B2 (en) Modular command structure for memory and memory system
US11151027B2 (en) Methods and apparatuses for requesting ready status information from a memory
EP2487794A2 (en) Modular command structure for memory and memory system
US5381538A (en) DMA controller including a FIFO register and a residual register for data buffering and having different operating modes
US5548786A (en) Dynamic bus sizing of DMA transfers
US10108372B2 (en) Methods and apparatuses for executing a plurality of queued tasks in a memory
KR101105489B1 (en) Command-based control of nand flash memory
US6202107B1 (en) Host controller interface descriptor fetching unit
US20040054864A1 (en) Memory controller
US10552047B2 (en) Memory system
US9304952B2 (en) Memory control device, storage device, and memory control method
KR100634436B1 (en) Multi-chip system and its bootcode fetch method
KR20080068835A (en) Multiple independent serial link memories
CN100419901C (en) Memory device with different burst sequential addressing for read and write operations
US10990293B2 (en) Extensible storage system and method
EP3640944A1 (en) Non-sequential page continuous read
KR20200123260A (en) Interface for cache and memory with multiple independent arrays
WO1991001021A1 (en) Method and circuit for programmable element sequence selection
US8462561B2 (en) System and method for interfacing burst mode devices and page mode devices
US8402233B2 (en) Method and apparatus for high throughput mass storage device interface in a microprocessor for handheld systems
CN101512496A (en) Apparatus and method for monitoring flash memory operations
KR0174211B1 (en) Data access device for parallel programmable controller
HK1174444A (en) Modular command structure for memory and memory system
KR20030049448A (en) Extension apparatus and method for memory bus

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100804

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120904

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121130

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130621

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