JP2010501915A - Memory module command structure and memory system - Google Patents
Memory module command structure and memory system Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1042—Read-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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/20—Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/06—Address interface arrangements, e.g. address buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/10—Decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group 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.
本発明の一態様によれば、複数のメモリ装置の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.
下記の実施形態例の詳細な説明において、本明細書の一部を形成し、具体的な実施形態例を一例として示す添付の図面を参照する。これらの実施形態は、当業者が本発明を実施するのに十分な程度に詳細にわたって述べられおり、本発明の範囲から逸脱することなく他の実施形態を使用できること、ならびに論理的、機械的、電気的、および他の変更がなされうることが理解される。したがって、下記の詳細な説明は、限定的な意味で理解されるべきものではない。 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
図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
図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
フラッシュメモリ装置は、たとえば、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
メモリバンク402にアクセスするコマンドは、コントローラ(たとえば、図3に示すコントローラ116)から、コマンドレジスタ414および制御論理416で受け取られる。受け取られたコマンドは、コマンドレジスタ414に入り、実行されるまでそこにとどまる。制御論理416は、コマンドをメモリバンク402に対して実行可能な形式に変換する。コマンドは一般に、異なるピンが異なるコマンドを表すのに使用できる、チップの外部パッケージ上の異なるピンをアサートすることによりNANDフラッシュ装置400に入る。たとえば、コマンドには、チップイネーブル、読み取りイネーブル、書き込みイネーブル、および書き込み保護が含まれうる。読み取りコマンドおよび書き込みコマンドはページベースで実行され、一方、消去コマンドはブロックベースで実行される。
Commands to access the
コマンドがコマンドレジスタ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
たとえば、読み取りコマンドはコマンドレジスタ414および制御論理416で受け取られ、付随するアドレスはアドレスバッファおよびラッチ418で受け取られる。アドレスバッファおよびラッチ418は、アドレスが位置するページを決定し、そのページに対応する行アドレス(複数可)を行デコーダ408に提供する。対応する行がアクティブにされる。データレジスタおよびS/A404は、ページを読み取り、そのページのデータをデータレジスタ404に転送する。ページ全体のデータがデータレジスタに転送されると、データはI/Oバッファおよびラッチ410ならびに出力ドライバ412を介して装置から順次読み取られる。
For example, a read command is received at command register 414 and
プログラムコマンドもページベースで処理される。プログラムコマンドはコマンドレジスタ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
消去コマンドはブロックベースで処理される。消去コマンドはコマンドレジスタ414および制御論理416で受け取られ、ブロックアドレスはアドレスバッファ418で受け取られる。
Erase commands are processed on a block basis. The erase command is received by command register 414 and
通常の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.
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
コマンド構造には多くの変形がある。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
図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
コマンド構造500、520、および540は、メモリ装置に送出されているコマンドに依存する。表2に示すとおり、いくつかのコマンドは、コマンドとともに供給される追加のアドレス(すなわち、行アドレスまたは列アドレス)を必要とする。したがって、コマンド構造500、520、および540は、第2バイト508の操作コードに依存する。
The
図1および図5A〜図5Cを参照すると、コントローラ104は、ホストシステム102からの要求を、フラッシュメモリ装置によって解釈可能なコマンド構造500、520、および540のうちの1つに変換する。コントローラ104は、操作コード510に基づき、メモリ装置に行アドレスが供給されるか、列アドレスが供給されるか、またはアドレスが供給されないかを決定する。コントローラ104は、演算を実行するためにメモリ装置107-0、107-1によって使用されるコマンドを形成する。
Referring to FIGS. 1 and 5A-5C, the
コマンド構造500、520、および540のそれぞれは、メモリ装置アドレス504およびバンクアドレス506の両方を含む。したがって、コマンドの処理は、異なるメモリ装置によって中断および一時停止されうる。さらに、第1バイト502がすべてのアドレス情報を含むので、各メモリ装置は、第2バイト508によって示されたコマンドがそれらのメモリ装置に向けられているのか、または次のメモリ装置に渡されるのかを非常に素早く判定できる。
Each of the
モジュールコマンド構造500、520、および540は任意のNANDフラッシュメモリ装置で使用可能だが、下記の例では、例としてHLNAND(商標)(HyperLink NAND)フラッシュ装置を使用するモジュールコマンド構造500、520、および540内の様々なコマンド処理について述べる。HLNAND(商標)フラッシュ装置は、2006年8月22日に出願した米国仮特許出願第60/839,329号で詳細に述べられている。
The
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
様々な操作にモジュールコマンド構造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
システム動作の開始時に装置アドレスがすべての直列接続された装置(たとえば、図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
図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
図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
フラッシュコマンドエンジン322は、コマンド構造機構558、バンクインターリーブ機構560、装置インターリーブ機構562、アドレス識別機構564、コマンド識別機構566、行アドレス識別機構568、および列アドレス識別機構570を含む。コマンド構造機構558は、メモリ装置(たとえば、図5Aから図5Cに示すモジュールコマンド構造)で使用されるモジュールコマンド構造を処理する。アドレス識別機構564およびコマンド識別機構566は、ホストシステム102からの要求を分析して、その要求からメモリ装置アドレスおよび/またはバンクアドレスならびにコマンドをそれぞれ抽出する。コマンド識別機構566は、要求の実行に使用される複数のコマンドを決定する。各コマンドは分離可能であり、組み合わされてホストシステム102からの要求を満たす。コマンド識別機構566は、アドレス識別機構564からのアドレスを含めて、情報を収集し、コマンドを形成する。要求を形成する任意のコマンドが行アドレスまたは列アドレスに関係している場合、コマンド識別機構566は、それぞれ行アドレス識別機構568または列アドレス識別機構570を使用して、コマンドの一部を形成する行アドレスまたは列アドレスを入手する。
The
バンクインターリーブ機構560および装置インターリーブ機構562は、装置インターフェイス326を介して、複数のメモリバンクまたはメモリ装置へ送出される複数のコマンドをそれぞれ順序づける。モジュールコマンド構造は、複数のメモリバンクを有するフラッシュメモリ装置で各メモリバンクを同時に処理できるように構成される。同様に、モジュールコマンド構造は、直列接続されたメモリ装置で同時に処理が行われるように構成される。バンクインターリーブ機構560は、同じメモリ装置内の異なるメモリバンク用のコマンドをインターリーブする(複数のメモリバンクでの並行操作の例については、図16〜図21を参照)。装置インターリーブ機構562は、同じメモリシステム内の異なるメモリ装置用のコマンドをインターリーブする(図22〜図28を参照)。
The
EECマネージャ324は、誤り訂正符号(ECC)を生成して、あるコマンドが成功し完全に実行されたことを検証する。
The
図6Bはフラッシュコマンドエンジン322の機能構成要素を示しており、当業者によって認識されるはずの多くの構成で実現可能である。
FIG. 6B shows the functional components of the
モジュールコマンドは、ページ読み取りコマンドを含むことができる。コマンド構造では、ページ読み取りコマンドの第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
コントローラはページからデータを収集するために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
メモリバンクがレディになるか、またはコントローラが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
誤り訂正符号(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
図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
フラッシュ装置コントローラは、宛先装置アドレスおよびメモリバンクアドレス、ならびにページプログラム操作コードおよびページプログラム操作で書き込まれる行を指定する行アドレス(複数可)を指定するページプログラムコマンドを、ステップ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
コントローラは、ステップ910で発行された装置ステータスコマンドを使用して、ページプログラム操作のステータスを監視する。フラッシュ装置は、ページがアクセスされ、フラッシュ装置のメモリバンクがレディであり、ビジーでなくなったことを示すまで、この要求に連続するビジー表示で応答することになる。コントローラは、ステップ912で連続してチェックを行い、メモリバンクがレディかどうかを決定する。メモリバンクがレディになると、コントローラはページプログラム操作が成功したかどうかをチェックする。成功しなかった場合、ステップ916でエラーが出力され、そうでなければステップ918でページプログラム操作は完了する。
The controller uses the device status command issued at
図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
コントローラは、メモリバンクが利用可能になり、ブロック消去操作が完了するときを決定するのに使用されるステータスコマンドをステップ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
図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
図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
図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
図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
図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
メモリバンクによって並行に実行される操作は、同じ操作である必要はない。図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
図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
図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
上述の実施形態では、メモリ装置をフラッシュメモリ装置として述べている。メモリ装置は、たとえば、ダイナミックランダムアクセスメモリ(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つによって実行される操作を表す操作コードを含むコマンド識別子とを含む、コマンド構造。 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.
前記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.
前記複数のメモリ装置の前記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つのメモリ装置および前記コントローラが通信用に直列接続されている、システム。 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つとの通信用の第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つのメモリバンクのそれぞれについて生成するステップであって、前記複数の分離可能なコマンドのそれぞれが前記メモリ装置に発行されるステップを含む、請求項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.
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)
| 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)
| 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)
| 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)
| 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 |
-
2007
- 2007-08-20 KR KR1020097005563A patent/KR101397229B1/en not_active Expired - Fee Related
- 2007-08-20 WO PCT/CA2007/001428 patent/WO2008022434A1/en not_active Ceased
- 2007-08-20 KR KR1020137030396A patent/KR101514171B1/en not_active Expired - Fee Related
- 2007-08-20 JP JP2009524852A patent/JP2010501915A/en active Pending
- 2007-08-20 EP EP07800456A patent/EP2074623A4/en not_active Withdrawn
- 2007-08-21 TW TW096130974A patent/TW200826104A/en unknown
Patent Citations (2)
| 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)
| 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 |