JP7199493B2 - Non-sequential page read - Google Patents
Non-sequential page read Download PDFInfo
- Publication number
- JP7199493B2 JP7199493B2 JP2021167299A JP2021167299A JP7199493B2 JP 7199493 B2 JP7199493 B2 JP 7199493B2 JP 2021167299 A JP2021167299 A JP 2021167299A JP 2021167299 A JP2021167299 A JP 2021167299A JP 7199493 B2 JP7199493 B2 JP 7199493B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- buffer
- stream
- data
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000000872 buffer Substances 0.000 claims description 314
- 238000000034 method Methods 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 17
- 238000012937 correction Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 20
- 230000003139 buffering effect Effects 0.000 description 15
- 238000012546 transfer Methods 0.000 description 13
- 230000006399 behavior Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 241000473391 Archosargus rhomboidalis Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 208000011580 syndromic disease Diseases 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Description
優先出願
本出願は2018年10月17日に出願された米国仮特許出願第62/746,911号(MXIC2271-0)の利益を主張し、その出願は引用により本明細書に組み込まれている。
PRIORITY APPLICATION This application claims the benefit of U.S. Provisional Patent Application No. 62/746,911 (MXIC2271-0) filed October 17, 2018, which application is incorporated herein by reference. .
本発明は連続リード動作、より詳細には連続ページリード動作をサポートするNANDフラッシュデバイスなどの集積回路メモリデバイスに関する。 The present invention relates to integrated circuit memory devices such as NAND flash devices that support continuous read operations, and more particularly to continuous page read operations.
tRとして指定される場合があるリードレイテンシは、リードコマンドの受信と、リードコマンドによって要求されたデータが出力において利用可能になる時刻との間の時間である。 Read latency, which may be designated as tR, is the time between receipt of a read command and the time the data requested by the read command is available at the output.
このタイプのレイテンシは、NANDフラッシュデバイスでは比較的長くなり得る。結果として、NANDフラッシュはいくつかの動作に関してNORフラッシュなどの他のタイプのメモリよりもかなり低速になり得る。 This type of latency can be relatively long in NAND flash devices. As a result, NAND flash can be significantly slower than other types of memory such as NOR flash for some operations.
NANDフラッシュデバイスのこのレイテンシに対処するために、キャッシュリードおよび連続リードとして知られているコマンドシーケンスが開発されている。 To address this latency in NAND flash devices, command sequences known as cache read and sequential read have been developed.
キャッシュリードコマンドシーケンスでは、キャッシュまたはデバイス上の他のバッファメモリ構造を使用してプロシージャの一部、たとえば、エラー検出訂正などをオーバーラップさせることによって、レイテンシtRを短縮することができる。キャッシュリードコマンドシーケンスに見られるレイテンシは、tRCBSYとして指定される場合がある。これにより、NANDフラッシュを使用するシステムのスループットを向上させることができる。連続コマンドシーケンスでは、NANDフラッシュデバイスは、順次ページがページ間の遅延なく利用可能となるように、初期レイテンシ(tR)の後に順次ページを出力するよう構成されている。NANDフラッシュの連続リード動作は、以下のような3つの基本ステップを含み得る。
(ステップ1)開始フェーズ:ホストはページリード(C1)コマンドを発行して新たなページアドレスのデータをキャッシュに読み出す必要がある。ページデータを読み出すのにリードレイテンシtRを要する。
(ステップ2)順次的連続リードフェーズ:ホストはこのフェーズにおいてメモリデバイス上のインターフェースからデータを連続的に読み出す。
(ステップ3)終了フェーズ:リードプロトコルに応じて、ホストは「終了」(C3)コマンドを発行するか(一部の一般的なNANDフラッシュデバイス)、またはチップ選択制御信号CSを0から1に上げて(SPI NANDフラッシュデバイス)、順次的連続リード動作を終了させる必要がある。順次的連続リード動作を終了させるのにリセットレイテンシtRSTを要する。
In a cache read command sequence, the latency tR can be reduced by overlapping some of the procedures, such as error detection and correction, with a cache or other buffer memory structure on the device. The latency seen in a cache read command sequence may be designated as tRCBSY. This can improve the throughput of systems using NAND flash. In a sequential command sequence, the NAND flash device is configured to output sequential pages after an initial latency (tR) such that the sequential pages are available without delay between pages. A NAND flash sequential read operation can include three basic steps as follows.
(Step 1) Start Phase: The host needs to issue a page read (C1) command to read the data at the new page address into the cache. Read latency tR is required to read page data.
(Step 2) Sequential Continuous Read Phase: The host continuously reads data from the interface on the memory device during this phase.
(Step 3) Terminate Phase: Depending on the read protocol, the host issues a "terminate" (C3) command (some common NAND flash devices) or raises the chip select control signal CS from 0 to 1 (SPI NAND flash devices) to terminate the sequential continuous read operation. A reset latency tRST is required to terminate a sequential read operation.
しかしながら、非順次ページが要求される場合、新たなコマンドシーケンスが導入されなければならず、その新たなシーケンスの開始に関わるレイテンシが付随する。 However, if non-sequential pages are requested, a new command sequence must be introduced, with the attendant latency associated with starting the new sequence.
NANDフラッシュおよび他のタイプのメモリデバイスについての非順次ページ間の長いレイテンシを克服することができる技術を提供することが望ましい。 It would be desirable to provide techniques that can overcome long latencies between non-sequential pages for NAND flash and other types of memory devices.
ページバッファと、ページ幅未満のI/O幅を有するI/Oデータユニットの入力/出力インターフェースとを含む、ページモードNANDフラッシュなどのメモリデバイスは、非順次アドレスを有する連続ページリードをサポートする。入力/出力インターフェースは、シリアルインターフェース(たとえば、SPI)、またはパラレルインターフェースを備えることができる。 Memory devices such as page-mode NAND flash, which include page buffers and input/output interfaces for I/O data units with I/O widths less than the page width, support sequential page reads with non-sequential addresses. The input/output interface can comprise a serial interface (eg SPI) or a parallel interface.
非順次アドレスを有する連続リードをサポートするためのコマンドプロトコルが提供される。コマンドプロトコルは、開始アドレスおよびその後の順次アドレスを有するページのストリームの連続リードを開始するための第1のコマンドと、ページのストリームのキャッシュリードを開始するための第2のコマンドまたは制御イベントと、シーケンス内の先行ページが出力される前に非順次アドレスを提供するためのストリーム内コマンドとを含むことができる。結果として、順次ページから非順次ページへの遷移を含む連続リードを、ページのストリームの出力中にインターフェースにおける待ち状態なく、または待ち状態がほとんどなく実施することができる。 A command protocol is provided to support sequential reads with non-sequential addresses. The command protocol consists of a first command to initiate successive reads of a stream of pages having a starting address followed by a sequential address, a second command or control event to initiate a cache read of the stream of pages; and an in-stream command to provide a non-sequential address before the preceding page in sequence is output. As a result, continuous reads, including transitions from sequential to non-sequential pages, can be performed with little or no wait states at the interface during the output of the stream of pages.
コントローラは、ページのストリームをI/Oインターフェースにおいて出力するための連続ページリード動作を制御する。連続リード動作は、連続するページのストリームを出力するためのコマンドのシリーズに応答することを含む。コマンドのシリーズは、第1のコマンドと、ストリーム内の先行ページの出力を完了する前に受信される1つまたは複数のストリーム内コマンドとを含み、ストリーム内コマンドは、ページのストリームの出力を差し挟むことができるように受信およびデコードされる。非順次的連続ページリード動作では、第1のコマンドは、順次アドレスを有する複数のページの連続ページリード動作を開始するためのアドレスを含むことができ、少なくとも1つのストリーム内コマンドは、ページのストリーム内の非順次アドレスを有するページを提供するための非順次アドレスを含む。 A controller controls successive page read operations to output a stream of pages at the I/O interface. A continuous read operation involves responding to a series of commands to output a stream of continuous pages. The series of commands includes a first command and one or more in-stream commands received prior to completing the output of the preceding page in the stream, the in-stream commands directing the output of the stream of pages. Received and decoded so that it can be interleaved. In a non-sequential continuous page read operation, the first command may include an address to initiate a continuous page read operation of multiple pages with sequential addresses, and at least one in-stream command is a stream of pages. contains non-sequential addresses for providing pages with non-sequential addresses in the .
メモリデバイスがコントローラを有し、コントローラが、非順次ページをページバッファに転送するためのリードを開始することと、非順次アドレスを含むストリーム内コマンドの最後のI/Oサイクルに連続するまたは素早く続くことができるように、先行ページを入力/出力インターフェースに提供することとによって、非順次アドレスを含むストリーム内コマンドに応答する技術を説明する。また、非順次ページコマンドは、ストリーム内の先行ページに続くことができ、ここで先行ページは、ストリームにおいてそのページに1ページ先行するストリーム内コマンドのシリーズ内の先行ストリーム内コマンドに含まれるページアドレスを有する。他の実施形態では、非順次ページは、ストリームにおいてそのページに2ページ先行するストリーム内の先行ページに続くことができ、ここで、非順次アドレスを含むストリーム内コマンドの後に入力/出力インターフェースに提供される先行ページは、コマンドのシリーズにおいて2コマンド分だけ非順次アドレスを含むストリーム内コマンドに先行する先行ストリーム内コマンドによって運ばれるページアドレスを有する。 A memory device has a controller that initiates a read to transfer a non-sequential page to a page buffer and continuously or quickly following the last I/O cycle of an in-stream command that includes a non-sequential address. Techniques are described for responding to in-stream commands that include non-sequential addresses by providing the preceding page to the input/output interface as possible. Also, a non-sequential page command can follow a previous page in the stream, where the previous page is the page address contained in the previous in-stream command in the series of in-stream commands that precede it in the stream by one page. have In other embodiments, a non-sequential page may follow a preceding page in the stream that precedes it in the stream by two pages, where it is provided to the input/output interface after an in-stream command containing a non-sequential address. The preceding page to be read has the page address carried by the preceding in-stream command that precedes the in-stream command containing the non-sequential address by two commands in the series of commands.
コントローラが、第1のコマンドに応答して3レベルバッファリングを含むデバイスに対する連続ページリード動作を開始し、ストリーム内の最初にアドレス指定されたページをメモリアレイからページバッファに転送し、最初にアドレス指定されたページをデータパス回路を経由してインターフェースに移動させる技術の例を説明する。また、コントローラは、次のページアドレスを含む第1のリードレイテンシ後の第1のストリーム内コマンドに応答して、ストリーム内の次にアドレス指定されたページをメモリアレイからページバッファに転送し、次にアドレス指定されたページをデータパス回路を経由してインターフェースに移動させる。また、コントローラは、インターフェースから最初にアドレス指定されたページを出力する前に、第2の次のページアドレスを含む第2のリードレイテンシ後の第2のストリーム内コマンドに応答することができる。 A controller initiates a continuous page read operation to a device containing three-level buffering in response to a first command, transferring the first addressed page in the stream from the memory array to the page buffer, addressing first. An example technique for moving a specified page through a datapath circuit to an interface is described. The controller also transfers the next addressed page in the stream from the memory array to the page buffer in response to the first in-stream command after the first read latency including the next page address, to move the page addressed to the interface through the datapath circuitry. Also, the controller can respond to a second in-stream command after a second read latency including a second next page address before outputting the first addressed page from the interface.
本明細書に記載の実施形態では、データパス回路はバッファメモリを含むことができる。また、デバイスは、データパス回路に接続されるエラー検出訂正ECC回路を含むことができる。ECC回路は、データパス回路内のページに対して、そのページをデバイスの入力/出力インターフェースにおいて出力できるようにする前に、ECC機能を実行する。ECC回路は、ページ幅未満であってI/O幅を超えるECCチャンク幅を有するデータチャンクを使用して動作することができる。 In embodiments described herein, the datapath circuitry may include buffer memory. The device may also include error detection and correction ECC circuitry coupled to the datapath circuitry. The ECC circuit performs the ECC function on a page in the datapath circuit before making that page available for output at the input/output interface of the device. The ECC circuit can operate using data chunks that have an ECC chunk width that is less than the page width and greater than the I/O width.
データパス回路は、第1の部分および第2の部分を含むバッファメモリと、バッファメモリの第1の部分をECC回路およびI/Oインターフェースに交互に接続し、バッファメモリの第2の部分をECC回路およびI/Oインターフェースに交互に接続するデータパスとを含むことができる。 A datapath circuit alternately connects the first portion of the buffer memory to the ECC circuit and the I/O interface, and alternately connects the second portion of the buffer memory to the ECC circuit. and data paths that alternately connect to the circuits and I/O interfaces.
また、データパス回路は、ページ幅(X)を有するページバッファに加えて、第2バッファレベルおよび第3バッファレベルを含むマルチレベルバッファメモリを含むことができる。第3バッファレベルは、第1の部分および第2の部分と、第3バッファレベルの第1の部分をECC回路およびI/Oインターフェースに交互に接続し、第3バッファレベルの第2の部分をECC回路およびI/Oインターフェースに交互に接続するデータパスとを含むことができる。第3バッファレベルの第1および第2の部分は、ページ幅未満のバッファ幅(Y)を有することができ(たとえば、ECCチャンクの幅の倍数)、データパスは、第3バッファレベルの第1および第2の部分をECC回路およびI/Oインターフェースに交互に接続するためのバッファ幅未満のバス幅(Z)を有することができる。 The datapath circuit can also include a multi-level buffer memory including a second buffer level and a third buffer level in addition to a page buffer having a page width (X). A third buffer level alternately connects the first portion and the second portion, the first portion of the third buffer level to the ECC circuitry and the I/O interface, and connects the second portion of the third buffer level to the I/O interface. A data path that alternately connects to an ECC circuit and an I/O interface. The first and second portions of the third buffer level may have a buffer width (Y) that is less than the page width (eg, a multiple of the width of the ECC chunk), and the datapath connects to the first portion of the third buffer level. and the second portion alternately to the ECC circuit and the I/O interface may have a bus width (Z) less than the buffer width.
非順次ページを含むページのストリームを読み込むようにメモリを動作させるための方法であって、メモリからページのストリームを出力するためのコマンドのシリーズに応答することであって、シリーズは第1のコマンドおよび1つまたは複数のストリーム内コマンドを含む、応答することと、最初のページアドレス用に第1のコマンドを使用し、後続のページアドレス用に1つまたは複数のストリーム内コマンドを使用して、ページのストリーム内のページのアドレスを決定することと、ストリーム内の先行ページの出力を完了する前に、1つまたは複数のストリーム内コマンド内の少なくとも1つのストリーム内コマンドを受信することであって、1つまたは複数のストリーム内コマンド内の少なくとも1つのストリーム内コマンドは、先行ページに対して順次的でないアドレスを含む、受信することとを含む、方法を説明する。 A method for operating a memory to read a stream of pages comprising non-sequential pages, the method being responsive to a series of commands for outputting the stream of pages from the memory, the series being a first command. and one or more in-stream commands, and using the first command for the first page address and the one or more in-stream commands for subsequent page addresses; determining an address of a page in a stream of pages; and receiving at least one in-stream command in the one or more in-stream commands prior to completing output of a preceding page in the stream. , at least one in-stream command in the one or more in-stream commands includes an address that is not sequential with respect to a preceding page.
メモリアレイがページモードNANDフラッシュを備える実施形態を説明する。本明細書に記載の技術は、他のタイプのメモリデバイスにも適用することができる。 Embodiments are described in which the memory array comprises page-mode NAND flash. The techniques described herein can also be applied to other types of memory devices.
本発明の他の態様および利点は、以下の図面、詳細な説明、および特許請求の範囲を検討すると理解することができる。 Other aspects and advantages of the invention can be understood upon review of the following drawings, detailed description, and claims.
図1~図11を参照して、本発明の実施形態の詳細な説明を提供する。 Detailed descriptions of embodiments of the present invention are provided with reference to FIGS. 1-11.
図1は、一実施形態による集積回路メモリデバイスの簡略化したチップのブロック図である。集積回路メモリデバイス100は、データをECCと共に記憶するメモリアレイ160、たとえば、NANDフラッシュアレイを単一の集積回路基板上に含む。本明細書に記載のメモリデバイスは、マルチチップモジュール、積層チップ、および他の構成を使用して実装することもできる。
FIG. 1 is a simplified chip block diagram of an integrated circuit memory device according to one embodiment. Integrated
コマンドデコーダ108を有する制御ロジック110は、本明細書に記載の非順次的ページ連続リード動作を実行するためのコマンドの受信に応答して、以下でより詳細に説明するようにランダムなページアドレスを有する連続リードをサポートするステートマシンなどのロジックを集積回路メモリデバイス100上に含む。制御ロジック110は、図で矢印によって表す制御信号と、アドレスとをバス130上に出力する。バス130上に供給されるアドレスは、たとえば、制御ロジック110内のアドレスカウンタの出力(たとえば、順次アドレス)、または非順次アドレスを含み得る受信したコマンド内で運ばれるアドレスを含むことができる。
デコーダ140は、複数のワード線145に結合され、ECC付きメモリアレイ160内の行に沿って配置され、またページバッファ171に結合される。ページバッファ171は、ECC付きメモリアレイ160に対してデータを読み書きするための、ECC付きメモリアレイ160内の列に沿って配置される複数のビット線165に結合される。
ページバッファ171は、ビット線ごとに1つまたは複数の記憶素子を含むことができる。アドレスデコーダ140は、アレイ160内の特定のメモリセルを選択し、それぞれの接続用のビット線を介してページバッファ171に結合することができる。ページバッファ171は、これらの特定のメモリセルに対して並列に読み書きされるデータを記憶することができる。ページバッファ171は、数千ビット、たとえば、2Kビットもしくは4Kビットまたはそれ以上を、関連するECCコードを含む追加ビットと共に含むページのページ幅を有することができる。1ページは複数のECCチャンクを含むことができ、ECCチャンクはデータのセグメントと、関連するECCコード(すなわち、データのセグメントに対するECC用に計算されたもの)とを含む。実施形態では、各ページは、2分の1ページまたは4分の1ページに、関連するECCコードのサイズを加えた値に等しいECC幅を有する2つのECCチャンクを含む。いくつかの実施形態では、1ページあたり3つ以上のECCチャンクがあってもよい。
この実施形態では、ページバッファからインターフェースへのデータパス回路内のバッファメモリ構造は、この例ではバッファBUF_A181およびバッファBUF_B182と命名した2つの部分を含む第2バッファレベルを有するページバッファを含む2レベルバッファリングを含み、第2バッファレベルの各部分は、ページバッファの中身の一部分、たとえば2分の1を記憶することができ、ページバッファの中身の一部分は、1つまたは複数のECCチャンクを含むことが好ましい。また、第2バッファレベルの各部分は独立して読み書きすることができる。いくつかの実施形態では、バッファBUF_A、BUF_Bは、異なるアドレスへの独立した読み書きを可能にするデュアルポートまたはマルチポートメモリ技術を使用して実装することができ、または別々のアドレスデコード回路および読み出し回路を有する複数のメモリのバンクを使用して実装することができる。 In this embodiment, the buffer memory structure in the page buffer to interface datapath circuit is a two-level buffer including a page buffer having a second buffer level which in this example includes two portions named buffer BUF_A181 and buffer BUF_B182. Including a ring, each portion of the second buffer level can store a portion, e.g., one-half, of the page buffer content, the portion of the page buffer content including one or more ECC chunks. is preferred. Also, each portion of the second buffer level can be read and written independently. In some embodiments, buffers BUF_A, BUF_B can be implemented using dual-port or multi-port memory technology that allows independent reading and writing to different addresses, or separate address decoding and reading circuits. can be implemented using multiple banks of memory with
ページバッファ171はX本のデータ線を介してメモリアレイ160に結合され、ここでXはページ+ECCコードの幅であり、また、それぞれYビットのバス175、176を介してバッファ構造の第2レベルバッファ181、182(BUF_A、BUF_B)に結合され、ここでYはページバッファ171の幅Xの2分の1以上に等しい幅とすることができる。第2レベルバッファBUF_A、BUF_Bはそれぞれ、たとえば、1行×複数列のアーキテクチャを有するSRAM(スタティックランダムアクセスメモリ)メモリ構造を使用するキャッシュメモリによって実装することができる。たとえば、1ページは2048ビット+ECCコードを含むことができ、BUF_Aは1024(+ECCビット)列の1つの行を有し、すなわち、1024+ECCビットの幅を有することができる。バッファBUF_AおよびBUF_Bは、ページバッファ内のデータのページをバッファBUF_AおよびBUF_Bに並列に、1バッファメモリサイクルを使用して並列に転送できるように動作させることができる。また、バッファBUF_AおよびBUF_Bは、ページバッファ内のデータのページの1部分をバッファBUF_AおよびBUF_Bのそれぞれに並列に転送できるように動作させることができ、それによって、同一または異なるバッファメモリサイクル内で、ページの第1の部分を第2バッファレベルの第1の部分(たとえばBUF_A)に転送し、ページの第2の部分を第2バッファレベルの第2の部分(たとえばBUF_B)に転送することが可能になる。
他の実施形態は、ページバッファ171および2つの追加のバッファレベルを含む3レベルバッファ構造を含むことができる。また、ページバッファおよびインターフェースの間のデータパス回路内のバッファメモリ構造の他の配置構成を使用することができる。
Other embodiments may include a three-level buffer structure including
第3レベルバッファは、複数行×複数列のアーキテクチャを有するSRAMベースのキャッシュメモリ構造を使用して実装することができる。後述の第3レベルバッファの第1のメモリユニットおよび第2のメモリユニットは、データパスの幅に等しい幅を有することができる。 The third level buffer can be implemented using an SRAM-based cache memory structure with a multiple row by multiple column architecture. The first and second memory units of the third level buffer described below can have a width equal to the width of the datapath.
エラー検出訂正ECC回路190は、データバス184およびデータバス185によってバッファメモリ構造(181、182)に結合される。データバス184および185は、1バイトまたは1ワードなどの、ECCチャンク未満のバス幅を有することができ、これらをECC回路190が使用して、ECCチャンクを循環的に切り替えることによって、エラー検出およびエラー訂正のECC演算(たとえば、シンドローム計算、キー計算、チェン(Chien)探索)を実行する。ECC回路はデータバス191によってバッファメモリ構造(181、182)に結合され、必要に応じてデータを行き来させるようにする。
Error detection and
I/Oインターフェース105はデータバス191によってECC回路およびバッファメモリ構造(181、182)に結合される。
I/
入力/出力データおよび制御信号は、インターフェース105、コマンドデコーダ108および制御ロジック110、ならびに集積回路メモリデバイス100上の入力/出力ポート195、または集積回路メモリデバイス100の内外の他のデータソースの間で移動させる。いくつかの実施形態では、ポート195はオンチップホスト回路、たとえば、汎用プロセッサもしくは専用用途回路、またはメモリアレイ160によってサポートされるシステムオンチップ機能を提供するモジュールの組み合わせに接続することができる。
Input/output data and control signals are passed between
一実施形態では、インターフェース105は、コマンド、アドレス、およびデータが伝達されるI/Oポート195のセットを含むシリアルインターフェースである。シリアルインターフェースは、コマンドチャネルがアドレスおよびデータにより使用されるI/Oピンを共有するシリアルペリフェラルインターフェース(SPI)バス仕様に基づくまたは準拠することができる。たとえば、集積回路メモリデバイス100は、SPIバス信号を送受信するためのピンを使用する入力/出力ポートを含むことができる。あるピンを、コマンドにも使用可能なシリアル入力データ/アドレス信号SIを運ぶ入力データ線に接続することができる。1つまたは複数の他のピンを、シリアル出力データ信号SOを運ぶ1つまたは複数の出力データ線に接続することができる。他のピンを、シリアルクロック信号SCLKを運ぶクロック線に接続することができる。さらに他のピンを、チップ有効化またはチップ選択信号CS#を運ぶ制御線に接続することができる。
In one embodiment,
他のタイプのインターフェース、たとえば、パラレルインターフェースおよび他のタイプのシリアルインターフェースを使用することもできる。特定の集積回路メモリデバイス100上のI/Oポート195は、I/Oデータ幅を有する出力データを提供するように構成することができ、I/Oデータ幅は、いくつかの例では、インターフェースクロック(たとえば、SCLK)サイクルあたり、並列の1、4、8、16、32ビットまたはそれ以上とすることができる。I/Oインターフェース105は、FIFOバッファ、シフトレジスタバッファ、または他のサポート回路を、SPIインターフェースのSCLKレートなどのポートクロックレートのポートにおいてインターフェースで受信したデータを送信するための送信器と共に含むことができる。
Other types of interfaces can also be used, such as parallel interfaces and other types of serial interfaces. An I/
図1に示す例では、バイアス調整(bias arrangement)ステートマシンを使用する制御ロジック110は、メモリアレイ内のページからページバッファにデータを転送するページリードを含む、リード電圧、プログラム電圧、および消去電圧などの、ブロック120の1つまたは複数の電圧源を介して生成または提供されるバイアス調整供給電圧の印加を制御する。制御ロジック110は、マルチレベルバッファ構造、ECC回路190、およびECC付きメモリアレイ160に結合される。
In the example shown in FIG. 1,
制御ロジック110およびコマンドデコーダ108は、ステートマシンおよびサポートロジックを含む専用ロジック回路を使用して実装することが可能なコントローラを構成する。代替的な実施形態では、制御ロジックは、デバイスの動作を制御するためのコンピュータプログラムを実行する、同一の集積回路上で実装することが可能な汎用プロセッサを備える。さらに他の実施形態では、専用ロジック回路および汎用プロセッサの組み合わせを利用して、制御ロジックを実装することができる。
コントローラのコマンドデコーダ108および制御ロジック110は、非順次ページの連続リード動作を実行するように構成され、これにより連続リード中のランダムなページアドレスへのシフトが可能になる。本明細書に記載の実施形態では、コントローラは、入力/出力インターフェースにおいて受信されたコマンドに応答して、ページのストリームをI/Oインターフェースにおいて出力するための連続ページリード動作を含むメモリ動作を制御する。連続リード動作の実行はコマンドのシリーズに応答することを含み、シリーズは第1のコマンドおよび1つまたは複数のストリーム内コマンドを含み、ここでストリーム内コマンドは本明細書では、第1のコマンドの後のコマンドであって、ストリーム内の先行ページの出力を完了する前に、ストリーム内の先行ページがバッファメモリ構造を含むデータパス回路を通過している間に受信されるコマンドと定義する。ストリーム内コマンドは、ページがバッファメモリ構造を通過する前のストリーム内の先行ページの最後の出力バイトに連続する、またはこれに素早く続く、たとえば4インターフェースクロックサイクル未満のクロックサイクルに受信することができる。
The
図2に、2つのレベルを有する非順次的ページ連続リードを示す。上位レベルは、非順次的ページ連続リードのための、I/Oインターフェースにおいてページのストリーム内のデータのページが差し挟まれたコマンドのシリーズを示す。コマンドのシリーズは、第1のコマンドC1と、複数のストリーム内コマンドC2およびC3とを含む。下位レベルは、非順次的ページ連続リードの実行中のページバッファの動作を示す。 FIG. 2 shows a non-sequential page sequential read with two levels. The upper level shows a series of commands interleaved with pages of data in a stream of pages at the I/O interface for non-sequential page sequential reads. The series of commands includes a first command C1 and multiple in-stream commands C2 and C3. The lower level shows the behavior of the page buffer during non-sequential page sequential reads.
この例では、非順次的ページ連続リードは、I/Oインターフェースにおいてインターバル200内に第1のコマンドC1を受信することによって開始される。第1のコマンドC1は連続リードを開始し、ページXの開始アドレスを提供する。コマンドC1のデコードに応答して、アレイはインターバル201中にページXを読み込むように動作し、ページXのデータはインターバル202中にページバッファにおいて利用可能になる。ページXのデータがメモリアレイからページバッファにロードされ、インターフェースに向かってデータパス回路を通過するリードレイテンシtRの後に、次のページアドレスを提供する第2のコマンドC2がインターバル203中に受信される。第2のコマンドの時点で、初期ページ(このページのストリーム内の最初のページ)のデータは、I/Oインターフェースに向かってバッファメモリ構造を含むデータパス回路を通過している。この実施形態では、最初のページは、インターバル204の開始時の、インターバル203内の第2のコマンドC2の終了に連続するI/Oサイクル内に、インターフェースにおいて利用可能になる。この例では、インターバル203中にC2内で運ばれる次のページアドレスは、順次アドレスであるページX+1である。
In this example, a non-sequential page sequential read is initiated by receiving the first command C1 within
インターバル204中にページXのデータを出力した後、インターフェースにおけるインターフェース待ち状態のアイドルサイクルなしで、次のページアドレスを含む第2のコマンドC2がインターバル206中に受信される。第2のコマンドに続いて、先行ページX+1(すなわち、前のコマンドでアドレス指定されたページ)が出力される。この例では、インターバル206中に受信された次のページアドレスは、非順次アドレスであるページYである。インターバル206中のコマンドC2は、ページX+1のデータがインターバル205中にインターフェースにおいて出力される前に受信される。インターバル207中に、メモリはページYからページバッファにデータを移動させるように動作する。インターバル206内のコマンドC2に続くインターバル中にI/Oインターフェースにおいて利用可能な先行ページは、ページX+1である。
After outputting the data for page X during
ページX+1のデータを出力した後、先行ページであるページYを出力する前に、次のページアドレスであるページY+1を提供する次のコマンドC2がI/Oインターフェースにおいて受信される。次のページアドレスY+1が受信された後、アレイはインターバル208中にページY+1のデータをページバッファに移動させるように動作する。このシーケンスは無限に続くことができる。連続リードシーケンスを終了させるために、この例では第3のコマンドC3が、この例ではインターバル209中に、I/OインターフェースにおけるページYのデータの出力の終了時に受信される。第3のコマンドC3はアドレスを提供せず、先行ページY+1からのデータを、その後のインターバル210においてI/Oインターフェースに移動させることができる。
After outputting the data for page X+1 and before outputting the previous page, page Y, the next command C2 providing the next page address, page Y+1, is received at the I/O interface. After the next page address Y+1 is received, the array operates during
本明細書に記載の実施形態では、集積回路メモリデバイスは、バッファメモリ構造を含むデータパス回路と、I/Oインターフェースとに接続されたECC回路を含む。ページバッファからI/Oインターフェースへのデータの転送中に、ECC回路を利用してエラー検出訂正を行う。ECC回路がその機能を実行するのに必要な時間は、データパス回路へのバッファリングによって隠される。このバッファリングは、データをデータパス回路のバッファメモリ内に移動させ、外に移動させることによって、提供することができる。 In the embodiments described herein, an integrated circuit memory device includes ECC circuitry coupled to data path circuitry including buffer memory structures and I/O interfaces. ECC circuitry is utilized to perform error detection and correction during the transfer of data from the page buffer to the I/O interface. The time required for the ECC circuitry to perform its function is hidden by buffering to the datapath circuitry. This buffering can be provided by moving data into and out of the buffer memory of the datapath circuit.
図2に示す例では、ストリーム内コマンドC2(連続ページキャッシュリードコマンド)は、シーケンス内の次のアドレスを識別し、ページのストリーム内の各ページの先行ページを出力するためのアドレスを含む。このように、この実施形態では、アドレスを有するストリーム内コマンドを受信することによって、連続リード動作中にI/Oインターフェースのリソースの少なくとも一部が消費される。しかしながら、連続リードプロシージャによって、コマンドを提供しているホストがシーケンス内のあるページの出力の終了時に待機している場合、次のページのコマンドをインターフェースにおけるアイドルサイクルなしで提供することができ、コマンドの最後のサイクルに連続して(すなわち、I/Oインターフェースにおけるアイドルサイクルなしで)、またはこれに素早く続いて、バッファ内のページを出力することができる。 In the example shown in FIG. 2, in-stream command C2 (continuous page cache read command) identifies the next address in the sequence and includes an address to output the preceding page of each page in the stream of pages. Thus, in this embodiment, receiving in-stream commands with addresses consumes at least a portion of the resources of the I/O interface during continuous read operations. However, with the continuous read procedure, if the host providing the command is waiting at the end of the output of one page in sequence, the command for the next page can be provided without idle cycles in the interface and the command Pages in the buffer can be output either continuously (ie, without an idle cycle on the I/O interface) or immediately following the last cycle of .
図3に代替例を示す。図2と同様に、図3は2つのレベルを含む。上位レベルは、非順次的ページ連続リードのための、I/Oインターフェースにおいてページのストリーム内のデータのページが差し挟まれたコマンドのシリーズを示す。コマンドのシリーズは、第1のコマンドC1と、複数のストリーム内コマンドC2およびC3とを含む。下位レベルは、非順次的ページ連続リードの実行中のページバッファの動作を示す。図示のように、この例において順次ページに対しては、各ページを出力するためにストリーム内コマンドを提供する必要がない。その代わりに、コントローラは次のアドレスを運ぶコマンドをチェックすることができ、そのときに何も存在しない場合、アドレスカウンタを使用して自動的に、順次アドレスを有するストリーム内のページを提供し続けることができる。ページの出力の間にコマンドをチェックするのに必要な時間は非常に短くすることができ、たとえば、1インターフェースクロックサイクル、または4インターフェースクロックサイクル未満とすることができる。 An alternative is shown in FIG. Like FIG. 2, FIG. 3 includes two levels. The upper level shows a series of commands interleaved with pages of data in a stream of pages at the I/O interface for non-sequential page sequential reads. The series of commands includes a first command C1 and multiple in-stream commands C2 and C3. The lower level shows the behavior of the page buffer during non-sequential page sequential reads. As shown, for sequential pages in this example, there is no need to provide an in-stream command to output each page. Instead, the controller can check for commands that carry the next address, and if none are present at that time, automatically using the address counter, continue to serve pages in the stream with sequential addresses. be able to. The time required to check for commands between page outputs can be very short, eg, less than one interface clock cycle, or less than four interface clock cycles.
図3の例では、非順次的ページ連続リードは、I/Oインターフェースにおいてインターバル300内に第1のコマンドC1を受信することによって開始される。第1のコマンドC1は連続リードを示し、ページXの開始アドレスを提供する。コマンドC1のデコードに応答して、アレイはインターバル301中にページXを読み込むように動作し、ページXのデータはインターバル302中にページバッファにおいて利用可能になる。ページのデータがメモリアレイからページバッファにロードされ、バッファメモリシステムを経由してインターフェースに移動されるリードレイテンシtRの後に、次のページアドレスを提供する第2のコマンドC2がインターバル303中に受信され、それに続いて最初のページのデータが連続するインターバル304中にI/Oインターフェースによって出力される。この例では、次のページは順次アドレスであるページX+1を有する。インターバル303中に第2のコマンドC2を受信した後、メモリはインターバル305内にページX+1のデータをページバッファにロードするように動作し、そのデータはデータパス回路を経由してI/Oインターフェースに移動されてインターバル306中に出力され、これはインターバル304に連続する。この例では、出力される次のアドレスは順次アドレスであるページX+2であり、これをインターバル307内にページバッファにロードすることができる。アドレスX+1およびX+2は順次的であるので、アドレスは追加のコマンドによってではなく、コントローラ内のアドレスカウンタによって提供することができるので、I/Oインターフェースにおけるリソースが節約される。コントローラは、アレイからのページリードを開始して次のページをページバッファに移動させる前に、ストリーム内コマンドについてコマンドインターフェースを監視するように動作することができる。ページアドレスがストリーム内コマンドによって提供された場合、そのアドレスが利用される。ストリーム内コマンドがない場合、コントローラはアドレスカウンタの出力を使用して順次ページを選択することができる。
In the example of FIG. 3, the non-sequential page sequential read is initiated by receiving the first command C1 within
非順次アドレスを提供するために、次のストリーム内コマンドC2が、インターバル306終了時のインターバル308中に、先行ページX+2を出力する前に提供される。この例では、インターバル308内の次のコマンドC2は、非順次アドレスであるページYを運ぶ。ページYのデータは、インターバル309中にページバッファにロードされ、I/Oインターフェースに移動されてインターバル310中に出力され、これは先行ページであるページX+2に連続する。インターバル310中にページYが出力されている間に、メモリはインターバル311内に次のページY+1のデータをページバッファにロードするように動作することができる。そして、順次リードを終了させる第3のコマンドC3を、この例ではインターバル312内に受信し、シーケンス内の最終ページ、この例ではページY+1をインターバル313中に出力するまで、ページをこのように順次的に出力することができる。
To provide a non-sequential address, the next in-stream command C2 is provided during
図4は、2レベルバッファリング(ページバッファ/バッファBUF_A、バッファBUF_B)を使用する、図2および図3を参照して説明した非順次的ページ連続リードのために動作可能な、メモリアレイと、ECC回路を含むデータパス回路とを示すブロック図である。これは、図1に示す集積回路メモリデバイス100などにおいて利用可能な回路編成の一例である。
FIG. 4 illustrates a memory array operable for non-sequential page consecutive reads described with reference to FIGS. 2 and 3 using two-level buffering (page buffer/buffer BUF_A, buffer BUF_B); FIG. 4 is a block diagram showing data path circuitry including ECC circuitry; This is an example of circuitry available in integrated
図4では、メモリアレイ400、たとえば、NANDフラッシュアレイがページバッファ401に結合されている。データは単一のページリード動作中にメモリアレイ400からページバッファ401に並列に移動することができる。ページバッファ401は、バッファBUF_A402およびバッファBUF_B403を含むデータパス回路に、それぞれバス404およびバス405によって結合される。単一のサイクル内にページバッファ401からバッファBUF_Aに2分の1ページを転送するために、バス404はページバッファ401の幅+ECCの半分であるデータ幅を有することができる。同様に、単一のサイクル内にページバッファ401からバッファBUF_Bに2分の1ページを転送するために、バス405はページバッファ401の幅の半分であるデータ幅を有することができる。ECCビットはBUF_AおよびバッファBUF_Bに含めることができ、またはBUF_AおよびバッファBUF_Bと並列した追加のメモリ素子をECCビットに使用することができる。
In FIG. 4, a
バッファBUF_AおよびバッファBUF_Bは、有利な実施形態では、データおよびデータに関連するECCコードを含む少なくとも1つのECCチャンクを保持するように構成され、これにより他のバッファ内のデータとは独立してECC回路416により作用することができる。
Buffer BUF_A and buffer BUF_B are configured in an advantageous embodiment to hold at least one ECC chunk containing data and an ECC code associated with the data, such that ECC is performed independently of data in other buffers. It can be acted upon by
図示のように、データパス回路は、バッファBUF_Aに接続されたバス410と、バッファBUF_Bに接続されたバス411とを含む。バス410はマルチプレクサ412およびマルチプレクサ413に接続される。同様に、バス411はマルチプレクサ412およびマルチプレクサ413に接続される。マルチプレクサ412の出力は線414によってECC回路416に接続される。マルチプレクサ413の出力は線415によってI/Oインターフェース417に接続され、I/Oインターフェース417はアドレス指定されたページの出力データを提供する。データを、バス410、411によってサポート可能な、バイトまたはワードなどのアドレス指定可能な単位でバス410およびバス411上で移動させることによって、ECC回路416によって使用することができ、インターフェース417によってI/Oポート418に出力することができる。
As shown, the datapath circuitry includes a
図5は、図4のような2つのバッファレベル(ページバッファ/バッファBUF_A、バッファBUF_B)を有するデータパス回路を利用する非順次的ページ連続リードのために、デバイス用のコントローラ内のステートマシンおよびサポートロジックを使用して実装される、図2のような非順次的ページ連続リードのパイプラインデータフローを示す図である。この図では、水平軸は時間を表し、各垂直レベルは以下のような詳細なデータ移動に対応する。
0-1:新たなページのページリードコマンドC1を受信する。
0-2:データを読み込むためのリードフロムキャッシュ(read from cache)ストリーム内コマンドC2を受信する。
1:ページデータおよびECCをメモリアレイからページバッファに移動させる(両半分)。
2-1:ページバッファの前半からバッファBUF_Aにデータを移動させる。
2-2:ページバッファの後半からバッファBUF_Bにデータを移動させる。
3-1:バッファBUF_Aにおいてエラー検出訂正用のECCロジックを適用する。
3-2:バッファBUF_Bにおいてエラー検出訂正用のECCロジックを適用する。
4-1:バッファBUF_AからI/Oインターフェースのデータパスにデータを移動させる。
4-2:バッファBUF_BからI/Oインターフェースのデータパスにデータを移動させる。
FIG. 5 illustrates a state machine and state machine in the controller for the device for non-sequential page sequential read utilizing a datapath circuit with two buffer levels (page buffer/buffer BUF_A, buffer BUF_B) as in FIG. Figure 3 illustrates a pipeline data flow for non-sequential page sequential reads as in Figure 2, implemented using support logic; In this diagram, the horizontal axis represents time and each vertical level corresponds to detailed data movement as follows.
0-1: Receive a page read command C1 for a new page.
0-2: Receive read from cache in-stream command C2 for reading data.
1: Move page data and ECC from memory array to page buffer (both halves).
2-1: Move data from the first half of the page buffer to buffer BUF_A.
2-2: Move data from the latter half of the page buffer to buffer BUF_B.
3-1: Apply ECC logic for error detection and correction in buffer BUF_A.
3-2: Apply ECC logic for error detection and correction in buffer BUF_B.
4-1: Move the data from the buffer BUF_A to the data path of the I/O interface.
4-2: Move the data from the buffer BUF_B to the data path of the I/O interface.
シーケンス終了コマンドは図5には示していない。これは上述のように実装することができる。また、他の実施形態は、コマンド以外の制御信号によってシーケンスの終了をシグナリングすることができる。 The End of Sequence command is not shown in FIG. This can be implemented as described above. Other embodiments may also signal the end of the sequence by control signals other than commands.
図5では、ページXの先頭アドレスを提供する第1のコマンドC1が、レベル0-1の開始時に受信される。ページXについて領域500内の要素によって示すようにレベル4-2まで対角線上に下っていくと、レベル1においてページXのデータがページバッファにロードされる。ページバッファから、レベル2-1においてページの前半X(1)がバッファBUF_Aにロードされる。また、後で(または同時に)、レベル2-2においてページの後半X(2)がバッファBUF_Bにロードされる。
In FIG. 5, a first command C1 providing the starting address of page X is received at the start of level 0-1. Moving diagonally down to level 4-2 as indicated by the elements in
図面では、(1)および(2)の表記は、それぞれページの第1および第2の部分を表す。したがって、X(1)はページXの第1の部分であり、X(2)はページXの第2の部分である。 In the drawings, the notations (1) and (2) represent the first and second portions of the page, respectively. Thus, X(1) is the first portion of page X and X(2) is the second portion of page X.
シーケンス内の最初のページについて、バッファBUF_Bが利用可能であると仮定すると、レベル2-2におけるBUF_Bへの最初のページの後半のこの転送は、箱509によって示すようにレベル2-1におけるBUF_Aへの最初のページの前半の転送と同時に実行することができ、または箱510によって示すように後で行うことができる。レベル3-1において、ページXの前半がバッファBUF_A内にある間に、ECC回路がページの前半内の1つまたは複数のECCチャンクに対して作動する。その後レベル3-2において、ページXの後半がバッファBUF_B内にある間に、ECCがページの後半内の1つまたは複数のECCチャンクに対して作動する。最後に、レベル0-2においてキャッシュリードコマンドC2が受信されたときに、レベル4-1においてページXの前半がI/Oインターフェースに提供されて、出力として提供される。レベル4-2において、ページの後半が、前半に連続してI/Oインターフェースに提供される。
For the first page in the sequence, assuming buffer BUF_B is available, this transfer of the second half of the first page to BUF_B at level 2-2 is transferred to BUF_A at level 2-1 as indicated by
本明細書に記載のように、ストリーム内コマンドC2(リードフロムキャッシュ)は、連続リードシーケンスにおける次のページのアドレスを運ぶことができる。ページのストリームを出力するためのコマンドのシリーズに応答して、連続リードのシーケンス(領域501、502、503、504...)をこの順序で実行することができる。レベル4-1におけるページXからインターフェースへのデータの出力を開始する前に、このフローではレベル0-2において、アドレスX+1を含むコマンドC2が受信される。また、レベル4-1におけるページXからインターフェースへのデータの出力は、C2コマンドの終了に連続して始まる。
As described herein, in-stream command C2 (read from cache) can carry the address of the next page in a continuous read sequence. A sequence of consecutive reads (
ストリーム内コマンドC2をこのように使用することによって、連続リードシーケンスを維持しながら非順次アドレスを提供することができる。図5において、これはページX(500)から始まるアドレスシーケンスによって示しており、次のC2コマンドはアドレスX+1(501)を提供し、次のC2コマンドは非順次アドレスY(502)を提供する。その後のC2コマンドはこの例ではアドレスY+1(503)を提供する。この例における連続リードは、アドレスY+2(504)を提供する次のC2コマンドを続ける。連続リードは終了まで継続することができる。 This use of in-stream command C2 allows non-sequential addresses to be provided while maintaining a continuous read sequence. In FIG. 5 this is illustrated by the address sequence starting at page X (500), the next C2 command providing address X+1 (501) and the next C2 command providing non-sequential address Y (502). A subsequent C2 command provides address Y+1 (503) in this example. The continuous read in this example continues with the next C2 command which provides address Y+2 (504). A continuous read can continue until the end.
図5に示すプロシージャは、コントローラがページのストリームを出力するためのコマンドのシリーズに応答する一例である。コントローラは、第1のコマンドに応答して連続ページリード動作を開始し、ストリーム内の最初にアドレス指定されたページをメモリアレイからページバッファに転送し、最初にアドレス指定されたページをデータパス回路を経由してインターフェースに移動させる。コントローラは、リードレイテンシの後に受信され、次のページアドレスを含む第1のストリーム内コマンドに応答して、メモリにアクセスして次のページを取得し、これをデータパス回路内を通過させながら、最初にアドレス指定されたページをI/Oデータユニットのインターフェースから出力する。コントローラは、次のページアドレスを含み得る後続のストリーム内コマンドに応答して、インターフェースからの先行ページの出力中にメモリにアクセスする。2レベルバッファリングを使用するこの例では、先行ページは、ページのストリームにおいて非順次アドレスを含むストリーム内コマンドに1ページ先行する、複数のストリーム内コマンド内の先行ストリーム内コマンドに含まれるページアドレスを有する。 The procedure shown in FIG. 5 is an example of how the controller responds to a series of commands to output a stream of pages. The controller initiates a continuous page read operation in response to the first command to transfer the first addressed page in the stream from the memory array to the page buffer and transfer the first addressed page to the datapath circuit. to navigate to the interface via The controller, in response to a first in-stream command received after the read latency and containing the next page address, accesses the memory to obtain the next page and passes it through the datapath circuitry while: Output the first addressed page from the I/O data unit interface. The controller accesses memory during output of the previous page from the interface in response to subsequent in-stream commands that may include the next page address. In this example using two-level buffering, the preceding page is the page address contained in the preceding in-stream command in multiple in-stream commands that precedes the in-stream command containing the non-sequential address by one page in the stream of pages. have.
図6は、図4のような2つのバッファレベル(ページバッファ/バッファBUF_A、バッファBUF_B)を有するデータパス回路を利用する非順次的ページ連続リードのために、デバイス用のコントローラ内のステートマシンおよびサポートロジックを使用して実装される、図2のような非順次的ページ連続リードのパイプラインデータフローを示す図であり、第1のストリーム内コマンド601の後のストリーム内コマンドは、順次アドレスを提供するために使用されない。この図では、水平軸は時間を表し、各垂直レベルは以下のような詳細なデータ移動に対応する。
0-1:新たなページのページリードコマンドC1を受信する。
0-2:データを読み込むためのリードフロムキャッシュストリーム内コマンドC2を受信する。
1:ページデータおよびECCをメモリアレイからページバッファに移動させる(両半分)。
2-1:ページバッファの前半からバッファBUF_Aにデータを移動させる。
2-2:ページバッファの後半からバッファBUF_Bにデータを移動させる。
3-1:バッファBUF_Aにおいてエラー検出訂正用のECCロジックを適用する。
3-2:バッファBUF_Bにおいてエラー検出訂正用のECCロジックを適用する。
4-1:バッファBUF_AからI/Oインターフェースのデータパスにデータを移動させる。
4-2:バッファBUF_BからI/Oインターフェースのデータパスにデータを移動させる。
FIG. 6 illustrates the state machine and the Figure 3 shows a pipeline data flow for a non-sequential page sequential read as in Figure 2, implemented using support logic, in which in-stream commands after the first in-
0-1: Receive a page read command C1 for a new page.
0-2: Receive a read-from-cache in-stream command C2 for reading data.
1: Move page data and ECC from memory array to page buffer (both halves).
2-1: Move data from the first half of the page buffer to buffer BUF_A.
2-2: Move data from the latter half of the page buffer to buffer BUF_B.
3-1: Apply ECC logic for error detection and correction in buffer BUF_A.
3-2: Apply ECC logic for error detection and correction in buffer BUF_B.
4-1: Move the data from the buffer BUF_A to the data path of the I/O interface.
4-2: Move the data from the buffer BUF_B to the data path of the I/O interface.
シーケンス終了コマンドは図6には示していない。これは、ページリードコマンド600と、それに続く1つまたは複数のストリーム内コマンド601、602、603、604、605とを含めて、上述のように実装することができる。また、他の実施形態は、コマンド以外の制御信号によってシーケンスの終了をシグナリングすることができる。
The End of Sequence command is not shown in FIG. This can be implemented as described above, including a page read
図6が図5と異なるのは、C2コマンド602の後に、ページのストリームが順次アドレスY、Y+1、およびY+2と、その後の非順次アドレス605 Zとを含むという点である。したがって、アドレスYを提供するC2コマンド602の後に、コントローラは、コマンドなしで内部のアドレスカウンタを使用してアドレスY+1のページにアクセスし、次いでコマンドなしで内部のアドレスカウンタを使用してアドレスY+2のページにアクセスする。これにより、データフローが中断されず、または時刻609および610においてコマンドを受信するのに十分なほど長くは中断されないので、より優れたスループットが可能になる。
FIG. 6 differs from FIG. 5 in that after the
図7は、3レベルバッファリング(ページバッファ/バッファBUF_2_A、バッファBUF_2_B/バッファBUF_3_A、バッファBUF_3_B)を使用する、本明細書において説明している非順次的ページ連続リードのために動作可能な、メモリアレイと、ECC回路を含むデータパス回路とを示すブロック図である。これは、図1の集積回路メモリデバイス100などにおいて利用可能な回路編成の他の例である。第2および第3バッファレベルは、図1に関連して上述したSRAMおよびキャッシュ技術を使用して実装することができる。
FIG. 7 illustrates a memory operable for non-sequential page consecutive reads as described herein using three-level buffering (page buffer/buffer BUF_2_A, buffer BUF_2_B/buffer BUF_3_A, buffer BUF_3_B). FIG. 4 is a block diagram showing an array and datapath circuitry including ECC circuitry; This is another example of circuitry available in integrated
図7では、メモリアレイ700、たとえば、NANDフラッシュアレイがページバッファ701に結合されている。データは単一のリード動作中にメモリアレイ700からページバッファ701に並列に移動することができる。ページバッファ701は、バッファBUF_2_A(702)およびバッファBUF_2_B(703)を含む第2レベルバッファを含むデータパス回路に、バス704およびバス705によって結合される。単一のサイクル内にページバッファ701からバッファBUF_2_Aに2分の1ページを転送するために、バス704はページバッファ701の幅(ECCビットを含む)の半分であるデータ幅を有することができる。同様に、単一のサイクル内にページバッファ701からバッファBUF_2_Bに2分の1ページを転送するために、バス705はページバッファ701の幅の半分であるデータ幅を有することができる。
In FIG. 7, a
第2レベルバッファであるバッファBUF_2_Aは、バス704と同一の幅(すなわち、2分の1ページ)を有し得るデータパスによって、第3レベルバッファであるバッファBUF_3_A(711)に結合され、これにより単一のサイクル内でバッファBUF_2_AからバッファBUF_3_Aにデータを転送することが可能になる。同様に、バッファBUF_2_Bは、バス705と同一の幅(すなわち、2分の1ページ)を有し得るデータパスによって、バッファBUF_3_B(712)に結合され、これにより1サイクル内でバッファBUF_2_BからバッファBUF_3_Bにデータを転送することが可能になる。いくつかの実施形態では、第2レベルバッファはページバッファと同一の幅を有することができ、ここに図示した分割された構造ではなく単一のバッファ構造を含んでもよい。 A second level buffer, buffer BUF_2_A, is coupled to a third level buffer, buffer BUF_3_A (711), by a data path that may have the same width as bus 704 (i.e., half a page), thereby It is possible to transfer data from buffer BUF_2_A to buffer BUF_3_A in a single cycle. Similarly, buffer BUF_2_B is coupled to buffer BUF_3_B (712) by a data path that may have the same width as bus 705 (i.e., half a page), thereby allowing buffer BUF_2_B to buffer BUF_3_B to be transferred in one cycle. data can be transferred to In some embodiments, the second level buffer may have the same width as the page buffer and may include a single buffer structure rather than the split structure shown here.
図示のように、データパス回路は、バッファBUF_3_Aに接続されたバス720と、バッファBUF_3_Bに接続されたバス721とを含む。バス720はマルチプレクサ714およびマルチプレクサ715に接続される。同様に、バス721はマルチプレクサ714およびマルチプレクサ715に接続される。マルチプレクサ714の出力は線716によってECC回路718に接続される。マルチプレクサ715の出力は線717によってI/Oインターフェース719に接続され、I/Oインターフェース719はアドレス指定されたページの出力データをポート725に提供する。データを、バス720、721によってサポート可能な、バイトまたはワードなどのアドレス指定可能な単位でバス720およびバス721上で移動させることによって、ECC回路718によって使用することができ、インターフェース719によってポート725に出力することができる。ECC回路718は第1のECC機能回路および第2のECC機能回路を含むことができ、これらはバッファBUF_2_A/バッファBUF_2_B、バッファBUF_3_A/バッファBUF_3_B構造を使用して交互に利用することができる。いくつかの実施形態では、バス720およびバス721は、バッファBUF_2_A/バッファBUF_2_B、およびバッファBUF_3_A/バッファBUF_3_B構造を含む第2および第3バッファレベルの両方に結合することができる。
As shown, the datapath circuitry includes a
図7のような3レベルバッファリングシステムでは、図11に示すような3ステージの非順次的ページ連続リード動作を実行することができ、これにより、たとえば、I/Oインターフェースにおいて高速出力クロックを使用することが可能になる。 A three-level buffering system such as that of FIG. 7 can perform a three-stage non-sequential page sequential read operation as shown in FIG. it becomes possible to
図8は、図7のような3つのバッファレベル(ページバッファ/バッファBUF_2_A、バッファBUF_2_B/バッファBUF_3_A、バッファBUF_3_B)を有するデータパス回路を利用する非順次的ページ連続リードのために、デバイス用のコントローラ内のステートマシンおよびサポートロジックを使用して実装される、図7のような非順次的ページ連続リードのデータフローを示す図である。この図では、水平軸は時間を表し、各垂直レベルは以下のような詳細なデータ移動に対応する。
0-1:最初のページ用の最初ページリードコマンドC1を受信する。
0-2:ページアドレスを有するストリーム内ページリードコマンドC2を受信する。
1:ページデータおよびECCをメモリアレイからページバッファに移動させる(両半分)。
2:ページデータをページバッファからバッファBUF_2_AおよびバッファBUF_2_Bに移動させる。
3-1:バッファBUF_2_A内のページの前半からバッファBUF_3_Aにデータを移動させる。
3-2:バッファBUF_2_B内のページの後半からバッファBUF_3_Bにデータを移動させる。
4-1:バッファBUF_3_Aにおいてエラー検出訂正用のECCロジックを適用する。
4-2:バッファBUF_3_Bにおいてエラー検出訂正用のECCロジックを適用する。
5-1:バッファBUF_3_AからI/Oインターフェースのデータパスにデータを移動させる。
5-2:バッファBUF_3_BからI/Oインターフェースのデータパスにデータを移動させる。
FIG. 8 is a diagram for devices for non-sequential page sequential read utilizing a datapath circuit with three buffer levels (page buffer/buffer BUF_2_A, buffer BUF_2_B/buffer BUF_3_A, buffer BUF_3_B) as in FIG. Figure 8 shows the data flow for a non-sequential page sequential read such as Figure 7 implemented using state machines and support logic in the controller; In this diagram, the horizontal axis represents time and each vertical level corresponds to detailed data movement as follows.
0-1: Receive the first page read command C1 for the first page.
0-2: Receive an in-stream page read command C2 having a page address.
1: Move page data and ECC from memory array to page buffer (both halves).
2: Move page data from page buffer to buffer BUF_2_A and buffer BUF_2_B.
3-1: Move data from the first half of the page in buffer BUF_2_A to buffer BUF_3_A.
3-2: Move data from the second half of the page in buffer BUF_2_B to buffer BUF_3_B.
4-1: Apply ECC logic for error detection and correction in buffer BUF_3_A.
4-2: Apply ECC logic for error detection and correction in buffer BUF_3_B.
5-1: Move the data from the buffer BUF_3_A to the data path of the I/O interface.
5-2: Move the data from the buffer BUF_3_B to the data path of the I/O interface.
シーケンス終了コマンドは図8には示していない。これは上述のように実装することができる。 The End of Sequence command is not shown in FIG. This can be implemented as described above.
図8では、シーケンスの最初のページであるページXを識別する第1の連続リードコマンドC1が、レベル0-1のインターバル800において受信される。ページXについてレベル5-2まで対角線上に下っていくと、レベル1においてページXのデータがページバッファにロードされる。この実施形態では、次のページからのデータがページバッファにロードされる前に、この図のレベル2において、ページXのデータがページバッファからバッファBUF_2_AおよびバッファBUF_2_Bを含む第2バッファレベルに1回の転送でロードされる。続いて、レベル3-1において、第2バッファレベルにて、データX(1)がバッファBUF_2_AからバッファBUF_3_Aに転送される。その後でまたは同時に、レベル3-2において、第2バッファレベルにて、データX(2)がバッファBUF_2_BからバッファBUF_3_Bに転送される。
In FIG. 8, a first consecutive read command C1 identifying page X, the first page in the sequence, is received in
レベル4-1において、ECC回路は、バッファBUF_3_A内のページXのECCチャンクX(1)に作用する。レベル4-2において、ECC回路は、バッファBUF_3_B内のページXのECCチャンクX(2)に作用する。 At level 4-1, the ECC circuit operates on ECC chunk X(1) of page X in buffer BUF_3_A. At level 4-2, the ECC circuit operates on ECC chunk X(2) of page X in buffer BUF_3_B.
その後、レベル5-1において、バッファBUF_3_A内のページXのデータX(1)が、この例ではインターバル802におけるストリーム内コマンドC2の受信と同期するように、インターフェースにおいて利用可能になる。
Then, at level 5-1, the data X(1) of page X in buffer BUF_3_A is made available at the interface, in this example synchronous with the receipt of in-stream command C2 at
レベル5-2において、バッファBUF_3_B内のページXのデータX(2)が、バッファBUF_3_AからのページXのデータの出力と同期するように、インターフェースにおいて利用可能になる。 At level 5-2, page X data X(2) in buffer BUF_3_B is made available at the interface synchronously with the output of page X data from buffer BUF_3_A.
インターバル800の第1の連続リードコマンドC1の後に、レベル2においてページXのデータが第2レベルバッファに素早く移動され、その後レベル3-1においてページXの前半が第3レベルバッファに移動される。これによりページバッファがクリアされ、コントローラによって提供される順次アドレスを使用してアクセスされるページX+1が受信される。
After the first consecutive read command C1 of
インターバル802、803、804および805内のC2コマンドを含む複数の連続リードコマンドC2が続く。この例におけるインターバル802内の第2の連続リードコマンドC2は、ページX+2の順次ページアドレスを運ぶ。ページX+1のデータがページバッファからデータパス回路に移動された後、ページX+2のデータがページバッファに移動される。
A plurality of consecutive read commands C2 follows, including C2 commands within
第2の連続リードコマンドC2が受信された後、次のアドレス(この例では、ページYの非順次アドレス)を含む第3の連続リードコマンドC2が、インターバル803において受信される。C2コマンドの後に、第1の連続リードコマンドC1によってアドレス指定されたページ(ストリームにおいてYに2ページ先行するもの)の第1の部分が、バッファBUF_3_Aから読み出される。ページX+1はまだデータパス内にある。
After the second sequential read command C2 is received, a third sequential read command C2 is received at
図8に示すように、ページX+1のデータは、データパス回路を通過して、ECC回路の作用後に、インターバル803において受信されるC2コマンドと同期するように、I/Oインターフェースにおいて利用可能になる。
As shown in FIG. 8, the data for page X+1 passes through the datapath circuitry and becomes available at the I/O interface synchronously with the C2 command received in
このプロシージャは、連続リード動作が終了されるまで、図8に示すようにデータパス回路を経由するパイプライン形式で続く。 This procedure continues in pipeline fashion through the datapath circuitry as shown in FIG. 8 until the continuous read operation is terminated.
図8に、C1コマンド、または非順次アドレスを有するC2コマンドを発行した後から、C2コマンドを発行する前までホストが待機するレイテンシtRと、ページをインターフェースに出力するのに必要なインターバルtread1とを示す。いくつかの実施形態では、tRはtread1より長い場合があり、その場合、非順次アドレスを導入すると、スループットがわずかに損なわれる可能性がある。 FIG. 8 shows the latency tR that the host waits after issuing a C1 command or a C2 command with a non-sequential address before issuing the C2 command, and the interval tread1 required to output a page to the interface. show. In some embodiments, tR may be longer than tread1, in which case the introduction of non-sequential addresses may slightly hurt throughput.
図9は、図7のような3つのバッファレベルを有するデータパス回路を利用する非順次的ページ連続リードのために、デバイス用のコントローラ内のステートマシンおよびサポートロジックを使用して実装されるパイプラインデータフローを示す図であり、ページリードコマンド900と、それに続く1つまたは複数のストリーム内コマンド901、902、903、904、906とを含み、第1のストリーム内コマンド902の後、または非順次アドレスに続くストリーム内コマンド904の後のストリーム内コマンドは、順次アドレスを提供するために使用されない。したがって、ページY+2は、インターバル905においてストリーム内コマンドなしでページバッファにロードされる。この図では、水平軸は時間を表し、各垂直レベルは以下のような詳細なデータ移動に対応する。
0-1:最初のページ用の最初ページリードコマンドC1を受信する。
0-2:ページアドレスを有するストリーム内ページリードコマンドC2を受信する。
1:ページデータおよびECCをメモリアレイからページバッファに移動させる(両半分)。
2:ページデータをページバッファからバッファBUF_2_AおよびバッファBUF_2_Bに移動させる。
3-1:バッファBUF_2_A内のページの前半からバッファBUF_3_Aにデータを移動させる。
3-2:バッファBUF_2_B内のページの後半からバッファBUF_3_Bにデータを移動させる。
4-1:バッファBUF_3_Aにおいてエラー検出訂正用のECCロジックを適用する。
4-2:バッファBUF_3_Bにおいてエラー検出訂正用のECCロジックを適用する。
5-1:バッファBUF_3_AからI/Oインターフェースのデータパスにデータを移動させる。
5-2:バッファBUF_3_BからI/Oインターフェースのデータパスにデータを移動させる。
FIG. 9 illustrates a pipe implemented using state machines and support logic within the controller for the device for non-sequential page sequential reads utilizing a datapath circuit with three buffer levels as in FIG. 902, 903, 904, 906, after the first in-
0-1: Receive the first page read command C1 for the first page.
0-2: Receive an in-stream page read command C2 having a page address.
1: Move page data and ECC from memory array to page buffer (both halves).
2: Move page data from page buffer to buffer BUF_2_A and buffer BUF_2_B.
3-1: Move data from the first half of the page in buffer BUF_2_A to buffer BUF_3_A.
3-2: Move data from the second half of the page in buffer BUF_2_B to buffer BUF_3_B.
4-1: Apply ECC logic for error detection and correction in buffer BUF_3_A.
4-2: Apply ECC logic for error detection and correction in buffer BUF_3_B.
5-1: Move the data from the buffer BUF_3_A to the data path of the I/O interface.
5-2: Move the data from the buffer BUF_3_B to the data path of the I/O interface.
シーケンス終了コマンドは図9には示していない。これは上述のように実装することができる。また、他の実施形態は、コマンド以外の制御信号によってシーケンスの終了をシグナリングすることができる。 The End of Sequence command is not shown in FIG. This can be implemented as described above. Other embodiments may also signal the end of the sequence by control signals other than commands.
図9が図8と異なるのは、C2コマンド903の後に、ページのストリームが順次アドレスY、Y+1、およびY+2と、その後の非順次アドレス906 Zとを含むという点である。したがって、アドレスYを提供するC2コマンド903の後に、コントローラは、アドレスY+1を含むコマンドC2の前に内部のアドレスカウンタを使用してアドレスY+1のページにアクセスし、次いでコマンドなしで内部のアドレスカウンタを使用してアドレスY+2のページにアクセスする。これにより、データフローが中断されず、または時刻909と、ストリーム内の順次的にアドレス指定されたページ間の他の時刻とにおいてコマンドを受信するのに十分なほど長くは中断されないので、より優れたスループットが可能になる。
9 differs from FIG. 8 in that after the
図10は、図7のような3つのバッファレベルを有するデータパス回路を利用する非順次的ページ連続リードのさらに他の実施形態のパイプラインデータフローであり、3つのコマンドレベルを使用してスループットを向上させることができる。この図では、水平軸は時間を表し、各垂直レベルは以下のような詳細なデータ移動に対応する。
0-1:最初のページ用の最初ページリードコマンドC1をホストが発行し、コントローラが受信する。
0-2:第2のページのアドレスを有するストリーム内連続ページリードコマンドC2をホストが発行し、コントローラが受信する。
0-3:次の後続のページアドレスのページアドレスを有するストリーム内連続ページリードコマンドC3をホストが発行し、コントローラが受信する。
1:ページデータおよびECCをメモリアレイからページバッファに移動させる(両半分)。
2:ページデータをページバッファからバッファBUF_2_AおよびバッファBUF_2_Bに移動させる。
3-1:バッファBUF_2_A内のページの前半からバッファBUF_3_Aにデータを移動させる。
3-2:バッファBUF_2_B内のページの後半からバッファBUF_3_Bにデータを移動させる。
4-1:バッファBUF_3_Aにおいてエラー検出訂正用のECCロジックを適用する。
4-2:バッファBUF_3_Bにおいてエラー検出訂正用のECCロジックを適用する。
5-1:バッファBUF_3_AからI/Oインターフェースのデータパスにデータを移動させる。
5-2:バッファBUF_3_BからI/Oインターフェースのデータパスにデータを移動させる。
FIG. 10 is a pipeline data flow for yet another embodiment of non-sequential page sequential read utilizing a datapath circuit with three buffer levels as in FIG. 7, using three command levels to increase throughput can be improved. In this diagram, the horizontal axis represents time and each vertical level corresponds to detailed data movement as follows.
0-1: A first page read command C1 for the first page is issued by the host and received by the controller.
0-2: The host issues an intra-stream continuous page read command C2 having the address of the second page, and the controller receives it.
0-3: The host issues an in-stream continuous page read command C3 having the page address of the next succeeding page address, and the controller receives it.
1: Move page data and ECC from memory array to page buffer (both halves).
2: Move page data from page buffer to buffer BUF_2_A and buffer BUF_2_B.
3-1: Move data from the first half of the page in buffer BUF_2_A to buffer BUF_3_A.
3-2: Move data from the second half of the page in buffer BUF_2_B to buffer BUF_3_B.
4-1: Apply ECC logic for error detection and correction in buffer BUF_3_A.
4-2: Apply ECC logic for error detection and correction in buffer BUF_3_B.
5-1: Move the data from the buffer BUF_3_A to the data path of the I/O interface.
5-2: Move the data from the buffer BUF_3_B to the data path of the I/O interface.
デバイス用のコントローラ内のステートマシンおよびサポートロジックを使用して実装されるこのパイプラインフローでは、アドレスXを運ぶ第1のリードコマンドC1 1000が受信され、そしてレイテンシtRの後に、アドレスX+1を運ぶ第2の連続リードコマンドC2 1002が受信される。このように、コマンドC2 1002が受信およびデコードされるまで、アレイはページX+1についてアクセスされない。その後、ホストはレイテンシtR2の間待機し、ストリームの次のアドレスを運ぶ第3の連続リードコマンドC3 1003を発行する。コマンドC3はホストにより時刻1004、1005および1006において、非順次アドレスであっても、コマンド間のインターバルtread1で繰り返し発行することができ、終了までストリームの次のアドレスを取得することができる。
In this pipeline flow, which is implemented using state machines and support logic in the controller for the device, a first
図11に、図2および図3のようなフォーマットの、3レベルバッファリングシステムのための非順次的ページ連続リード動作の、図10の実施形態のような一実施形態のデータフローを示す。したがって、図11は2つのレベルを含む。上位レベルは、非順次的ページ連続リードのためのコマンドのシリーズを示す。下位レベルは、非順次的ページ連続リードの実行中のページバッファの動作を示す。 FIG. 11 shows the data flow of an embodiment, such as the embodiment of FIG. 10, of a non-sequential page sequential read operation for a three-level buffering system, formatted as in FIGS. Therefore, FIG. 11 contains two levels. The upper level shows a series of commands for non-sequential page sequential reads. The lower level shows the behavior of the page buffer during non-sequential page sequential reads.
図11の例では、非順次的連続リードは、I/Oインターフェースにおいてインターバル1100内で第1のコマンドを受信することによって開始される。第1のコマンドC1は連続リードを開始し、ページXの開始アドレスを提供する。コマンドC1のデコードに応答して、アレイはインターバル1101中にページXを読み込むように動作し、ページXのデータはインターバル1102中にページバッファにおいて利用可能になる。ページXのデータがメモリアレイからページバッファにロードされるリードレイテンシtRの後に、ストリーム内コマンドC2がインターバル1103中にI/Oインターフェースを使用して受信される。この例では、アレイがシーケンス内の次のページについてアクセスされる前に、次のページアドレスが、ページX+1を示すストリーム内コマンドC2によって運ばれる。インターバル1103中にストリーム内コマンドC2を受信した後、メモリはインターバル1105内にページX+1のデータをページバッファにロードするように動作する。その間に、ページXのデータは、データパス回路(たとえば、バッファBUF_2_A、バッファBUF_2_B、バッファBUF_3_A、バッファBUF_3_B)を通過する。データが3レベルデータパス回路を通過可能になる第2のレイテンシtR2の後に、第2のストリーム内コマンドC3(キャッシュリード)が、インターバル1104においてI/O回路を使用して受信される。第2のストリーム内コマンドC3は、連続ページ動作における次のページアドレスを運び、これはこの例ではページX+2であって、先行ページに順次的である。その間に、インターバル1105において、ページX+1のデータがページバッファに移動される。第2のストリーム内コマンドC3の後に、インターバル1106においてキャッシュリード動作が実行されて、ページXのデータがI/Oインターフェースに提供される。インターバル1106の終了時に、アレイがシーケンス内の次のページについてアクセスされる前に、インターバル1108において次のアドレス(ページY)を含む次のストリーム内コマンドC3(キャッシュリード)がI/Oインターフェースにおいて受信され、ページX+1のデータの出力が始まり、これは、現在のコマンドの2コマンド前に受信されたインターバル1103におけるコマンドによってアドレス指定されたものである。
In the example of FIG. 11, a non-sequential continuous read is initiated by receiving the first command within
この例では、インターバル1108のキャッシュリードストリーム内コマンド内で運ばれる次のアドレスは、非順次ページYである。ページX+1のデータがインターフェースに出力されている間に、次のページX+2のデータは、インターバル1107においてページバッファにロードされ、データパス回路を通過し始める。ページYのデータは、インターバル1109中にページバッファにロードされる。このようにして、次のコマンドC3はページY+1のアドレスを運ぶことができ、ページY+1のデータは、インターバル1111中にページバッファにロードすることができる。
In this example, the next address carried in the command in cache read stream for
図11に示すように、ページの出力の間に、次のページアドレス(たとえば、ページY+1)を含む次のストリーム内コマンドC3(キャッシュリード)が、ページのストリーム内の(2ページ分の)先行ページ(たとえばページX+1)の、I/Oインターフェースへの出力に連続して提供される。この例では、先行ページは、コマンドのシリーズにおいて2コマンド分だけ非順次アドレスを含むストリーム内コマンドに先行する、複数のストリーム内コマンド内の先行ストリーム内コマンドに含まれるページアドレスを有する。 As shown in FIG. 11, during the output of a page, the next in-stream command C3 (cache read) containing the next page address (eg, page Y+1) is preceded (by two pages) in the stream of pages. A page (eg, page X+1) is provided in succession for output to the I/O interface. In this example, the previous page has the page address included in the previous in-stream command in the plurality of in-stream commands that precedes the in-stream command containing the non-sequential address by two commands in the series of commands.
このプロシージャは、第1の終了コマンドが受信されるまで継続される(図示せず)。 This procedure continues until the first end command is received (not shown).
非順次ページを含む連続リードのためのコマンドシーケンスに応答する、コントローラを有するデバイスおよび方法を本明細書で説明する。 Described herein are devices and methods having controllers that respond to command sequences for sequential reads that include non-sequential pages.
非順次ページの連続リードのための、コントローラを有するデバイスおよび方法であって、開始アドレスを指定する第1のコマンドを受け付け、それに応答して第1の開始アドレスから開始する順次ページを出力しつつ、第1の開始アドレスに応答して順次ページを出力し、第1のコマンドの順次ページに対して順序通りでない第2の開始アドレスを指定する第2のコマンドを受け付け、第2のコマンドを受け付けて第1のシーケンスからのページが完了した後、それに応答して第2の開始アドレスから開始する順次ページを出力することを含む、デバイスおよび方法を説明する。 A device and method having a controller for sequential read of non-sequential pages, receiving a first command specifying a starting address and outputting sequential pages starting at the first starting address in response. , outputting sequential pages in response to the first starting address, receiving a second command specifying a second out-of-order starting address for the sequential pages of the first command, and receiving the second command. Devices and methods are described including outputting sequential pages starting from a second starting address in response to completion of pages from a first sequence.
非順次ページ間のリードレイテンシを省くために、連続リード(キャッシュリードと同様)に挿入可能なページアドレス入力を有するコマンドを含む連続リード動作を含む、コントローラを有するデバイスおよび方法を説明する。 Devices and methods with controllers are described that include sequential read operations that include commands with page address inputs that can be inserted into sequential reads (similar to cache reads) to eliminate read latency between non-sequential pages.
連続リードに挿入可能なページアドレス入力を有するコマンドを含む連続リード動作を含む、コントローラを有するデバイスおよび方法であって、そのコマンドはページバッファにダウンロードされる次のページアドレスを有する、デバイスおよび方法を説明する。 A device and method having a controller that includes a continuous read operation including a command with a page address input that can be inserted into the continuous read, the command having the next page address downloaded to the page buffer. explain.
連続リードに挿入可能なページアドレス入力を有するコマンドを含む連続リード動作を含む、コントローラを有するデバイスおよび方法であって、そのコマンドはページバッファにダウンロードされる次のページアドレスを有し、そのコマンドは各ページについて発行される、デバイスおよび方法を説明する。 A device and method having a controller that includes a continuous read operation including a command with a page address input that can be inserted into a continuous read, the command having the next page address downloaded to a page buffer, the command The devices and methods published for each page are described.
連続リードに挿入可能なページアドレス入力を有するコマンドを含む連続リード動作を含む、コントローラを有するデバイスおよび方法であって、そのコマンドはページバッファにダウンロードされる次のページアドレスを有し、そのコマンドは非順次ページの場合にのみ発行される、デバイスおよび方法を説明する。 A device and method having a controller that includes a continuous read operation including a command with a page address input that can be inserted into a continuous read, the command having the next page address downloaded to a page buffer, the command A device and method are described that are issued only for non-sequential pages.
本発明は上記で詳述した好適な実施形態および例を参照して開示しているが、これらの例は限定的な意味ではなく例示的な意味で意図されたものであるということを理解されたい。修正および組み合わせは当業者には容易に思いつくものであり、これらの修正および組み合わせは本発明の趣旨および以下の特許請求の範囲内にあることを企図している。 While the present invention has been disclosed with reference to the preferred embodiments and examples detailed above, it is to be understood that these examples are intended in an illustrative rather than a restrictive sense. sea bream. Modifications and combinations will readily occur to those skilled in the art and are intended to be within the spirit of the invention and the scope of the following claims.
100 集積回路メモリデバイス
105、417、719 I/Oインターフェース
108 コマンドデコーダ
110 制御ロジック
120 ブロック
140 デコーダ
145 ワード線
160 メモリアレイ
165 ビット線
171、401、701 ページバッファ
184、185、191 データバス
190、416、718 ECC回路
400、700 メモリアレイ
418 I/Oポート
100 integrated
Claims (16)
ページ幅を有する前記複数のビット線に結合されるページバッファと、
前記ページ幅未満のI/O幅を有するI/Oデータユニットの入力/出力インターフェースと、
前記ページバッファおよび前記入力/出力インターフェースの間に接続されるキャッシュを含むデータパス回路と、
前記入力/出力インターフェースにおいて受信されたコマンドに応答して、ページのストリームを前記入力/出力インターフェースにおいて出力するための連続ページリード動作を含むメモリ動作を制御するコントローラであって、前記連続ページリード動作はコマンドのシリーズに応答することを含み、前記シリーズは前記連続ページリード動作を開始するための第1のコマンドおよび前記キャッシュから前記入力/出力インターフェースにデータを移動させるための1つまたは複数のストリーム内コマンドを含み、前記第1のコマンドは、順次に、ページアドレスからページを前記ページバッファにロードし、前記ページを前記キャッシュに移動させ、次のページアドレスから次のページを前記ページバッファにロードするための、前記連続ページリード動作を開始するための前記ページアドレスを含み、前記コントローラは、前記次のページアドレスとして非順次アドレスを使用して、前記ページのストリーム内の非順次ページを提供するように構成され、前記非順次アドレスは、前記ページのストリーム内の先行ページの前記キャッシュからデータを読み込むために、前記1つまたは複数のストリーム内コマンド内の1つのストリーム内コマンドで提供される、コントローラと
を備え、
前記キャッシュは、前記ページバッファに結合される第2バッファレベルと、前記第2バッファレベルに結合される第3バッファレベルとを含み、前記データパス回路は、前記第3バッファレベルを前記入力/出力インターフェースに接続する、メモリデバイス。 a memory array including a plurality of bitlines;
a page buffer coupled to the plurality of bitlines having a page width;
an input/output interface for an I/O data unit having an I/O width less than the page width;
a data path circuit including a cache coupled between said page buffer and said input/output interface;
A controller for controlling memory operations including consecutive page read operations for outputting a stream of pages at said input/output interface in response to commands received at said input/output interface, said consecutive page read operations. includes responding to a series of commands, said series being a first command for initiating said consecutive page read operation and one or more streams for moving data from said cache to said input/output interface. wherein the first command sequentially loads a page from a page address into the page buffer, moves the page into the cache, and loads the next page from the next page address into the page buffer. the page address for initiating the consecutive page read operation, wherein the controller uses a non-sequential address as the next page address to provide a non-sequential page in the stream of pages. wherein the non-sequential address is provided in one in-stream command in the one or more in-stream commands to read data from the cache of a previous page in the stream of pages; a controller ;
The cache includes a second buffer level coupled to the page buffer and a third buffer level coupled to the second buffer level, and the data path circuit inputs/outputs the third buffer level. A memory device that connects to an interface .
を含み、
前記第3バッファレベルは、第1の部分および第2の部分と、前記第3バッファレベルの前記第1の部分を前記ECC回路および前記入力/出力インターフェースに交互に接続し、前記第3バッファレベルの前記第2の部分を前記ECC回路および前記入力/出力インターフェースに交互に接続するデータパスとを含む、請求項1に記載のデバイス。 an ECC circuit coupled to the datapath circuit, the ECC circuit performing an ECC function using data chunks having an ECC chunk width less than the page width and greater than the I/O width;
said third buffer level alternately connecting a first portion and a second portion and said first portion of said third buffer level to said ECC circuit and said input/output interface ; and a data path alternately connecting said second portion of to said ECC circuit and said input/output interface.
ページ幅を有する前記複数のビット線に結合されるページバッファと、
前記ページ幅未満のI/O幅を有するI/Oデータユニットの入力/出力インターフェースと、
前記ページバッファおよび前記入力/出力インターフェースの間に接続され、キャッシュを含むデータパス回路と、
前記入力/出力インターフェースにおいて受信されたコマンドに応答して、ページのストリームを前記入力/出力インターフェースにおいて出力するための連続ページリード動作を含むメモリ動作を制御するコントローラであって、前記連続ページリード動作はコマンドのシリーズに応答することを含み、前記シリーズは第1のコマンドおよび1つまたは複数のストリーム内コマンドを含み、前記1つまたは複数のストリーム内コマンド内の前記ストリーム内コマンドは、前記ストリーム内の先行ページの出力を完了する前に受信され、前記第1のコマンドは前記連続ページリード動作を開始するためのアドレスを含み、前記1つまたは複数のストリーム内コマンド内の少なくとも1つのストリーム内コマンドは、前記ページのストリーム内の非順次ページを提供するための、前記ページのストリーム内の前記非順次ページの非順次アドレスを含む、コントローラと
を備え、
前記データパス回路に接続されるECC回路であって、前記ページ幅未満であって前記I/O幅を超えるECCチャンク幅を有するデータチャンクを使用してECC機能を実行する、ECC回路
を含み、
前記データパス回路は、前記ページバッファに結合される第2バッファレベルと、前記第2バッファレベルに結合される第3バッファレベルとを含み、前記第3バッファレベルは、第1の部分および第2の部分と、前記第3バッファレベルの前記第1の部分を前記ECC回路および前記入力/出力インターフェースに交互に接続し、前記第3バッファレベルの前記第2の部分を前記ECC回路および前記入力/出力インターフェースに交互に接続するデータパスとを含み、
前記第3バッファレベルの前記第1および第2の部分は前記ページ幅未満のバッファ幅を有し、前記第3バッファレベルの前記第1および第2の部分を前記ECC回路および前記入力/出力インターフェースに交互に接続する前記データパスは、前記バッファ幅未満のバス幅を有する、メモリデバイス。 a memory array including a plurality of bitlines;
a page buffer coupled to the plurality of bitlines having a page width;
an input/output interface for an I/O data unit having an I/O width less than the page width;
a data path circuit connected between said page buffer and said input/output interface and including a cache;
A controller for controlling memory operations including consecutive page read operations for outputting a stream of pages at said input/output interface in response to commands received at said input/output interface, said consecutive page read operations. comprises responding to a series of commands, said series comprising a first command and one or more in-stream commands, wherein said in-stream commands within said one or more in-stream commands correspond to said in-stream at least one in-stream command in the one or more in-stream commands is received before completing the output of the previous page of the includes a non-sequential address of said non-sequential page in said stream of pages for providing a non-sequential page in said stream of pages; and
with
an ECC circuit coupled to the datapath circuit, the ECC circuit performing an ECC function using data chunks having an ECC chunk width less than the page width and greater than the I/O width;
The datapath circuitry includes a second buffer level coupled to the page buffer and a third buffer level coupled to the second buffer level, the third buffer level comprising a first portion and a second buffer level. and said first portion of said third buffer level to said ECC circuit and said input/output interface, and said second portion of said third buffer level to said ECC circuit and said input /output interface. a data path that alternately connects to the output interface;
Said first and second portions of said third buffer level have a buffer width less than said page width, and said first and second portions of said third buffer level are combined with said ECC circuit and said input/output interface. said data paths alternately connecting to has a bus width less than said buffer width.
データおよび関連するECCコードのページを記憶するための、ページ幅を有する前記複数のビット線に結合されるページバッファと、
前記ページ幅未満のI/O幅を有するI/Oデータユニットの入力/出力インターフェースと、
前記ページバッファおよび前記入力/出力インターフェースの間に接続されるキャッシュを含むデータパス回路と、
前記入力/出力インターフェースにおいて受信されたコマンドに応答して、ページのストリームを前記入力/出力インターフェースにおいて出力するための連続ページリード動作を含むメモリ動作を制御するコントローラであって、前記連続ページリード動作はコマンドのシリーズに応答することを含み、前記シリーズは前記連続ページリード動作を開始するための第1のコマンドおよび前記キャッシュから前記入力/出力インターフェースにデータを移動させるための1つまたは複数のストリーム内コマンドを含み、前記第1のコマンドは、順次に、ページアドレスからページを前記ページバッファにロードし、前記ページを前記キャッシュに移動させ、次のページアドレスから次のページを前記ページバッファにロードするための、前記連続ページリード動作を開始するための前記ページアドレスを含み、前記コントローラは、前記次のページアドレスとして非順次アドレスを使用して、前記ページのストリーム内の非順次ページを提供するように構成され、前記非順次アドレスは、前記キャッシュからデータを前記ページのストリーム内の先行ページの前記入力/出力インターフェースに移動させるために、前記1つまたは複数のストリーム内コマンド内の1つのストリーム内コマンドで提供される、コントローラと
前記データパス回路に接続されるエラー検出訂正(ECC)回路であって、前記ページのストリーム内のページに対して、前記ページを出力する前にECC機能を実行し、前記ページ幅未満であって前記I/O幅を超えるECCチャンク幅を有するデータチャンクを使用して動作する、ECC回路と
を備え、
前記キャッシュは、前記ページバッファに結合される第2バッファレベルと、前記第2バッファレベルに結合される第3バッファレベルとを含み、前記第3バッファレベルは、第1の部分および第2の部分と、前記第3バッファレベルの前記第1の部分を前記ECC回路および前記入力/出力インターフェースに交互に接続し、前記第3バッファレベルの前記第2の部分を前記ECC回路および前記入力/出力インターフェースに交互に接続するデータパスとを含み、
前記第3バッファレベルの前記第1および第2の部分は前記ページ幅未満のバッファ幅を有し、前記第3バッファレベルの前記第1および第2の部分を前記ECC回路および前記入力/出力インターフェースに交互に接続する前記データパスは、前記バッファ幅未満のバス幅を有する集積回路メモリデバイス。 a memory array including a plurality of bit lines for storing data and associated error checking and correcting (ECC) code;
a page buffer coupled to the plurality of bit lines having a page width for storing pages of data and associated ECC code;
an input/output interface for an I/O data unit having an I/O width less than the page width;
a data path circuit including a cache coupled between said page buffer and said input/output interface;
a controller for controlling memory operations including consecutive page read operations for outputting a stream of pages at the input/output interface in response to commands received at the input/output interface; A read operation includes responding to a series of commands, said series including a first command for initiating said consecutive page read operation and one or more for moving data from said cache to said input/output interface. wherein the first command sequentially loads a page from a page address into the page buffer, moves the page into the cache, and loads the next page from the next page address into the page buffer and the controller uses a non-sequential address as the next page address to read a non-sequential page in the stream of pages. wherein said non-sequential address is one in said one or more in-stream commands to move data from said cache to said input/output interface of a previous page in said stream of pages. an error detection and correction (ECC) circuit coupled to the controller and the datapath circuit, provided in one in-stream command, for a page in the stream of pages, the ECC function prior to outputting the page; and operating using data chunks having an ECC chunk width less than the page width and greater than the I/O width;
The cache includes a second buffer level coupled to the page buffer and a third buffer level coupled to the second buffer level, the third buffer level having a first portion and a second portion. and alternately connecting said first portion of said third buffer level to said ECC circuit and said input/output interface, and connecting said second portion of said third buffer level to said ECC circuit and said input/output interface. a data path that alternately connects to
Said first and second portions of said third buffer level have a buffer width less than said page width, and said first and second portions of said third buffer level are combined with said ECC circuit and said input/output interface. said data paths alternately connecting to an integrated circuit memory device having a bus width less than said buffer width .
メモリから前記メモリデバイスの入力/出力インターフェースにデータにページのストリームを出力するためのコマンドのシリーズに応答することであって、前記シリーズは、順次に、ページアドレスからページをページバッファにロードし、前記ページを前記ページバッファに結合されるキャッシュの第2バッファレベルおよび前記キャッシュの前記第2バッファレベルに結合される第3バッファレベルに移動させ、次のページアドレスから次のページを前記ページバッファにロードすることを含む連続ページリード動作を開始するための、前記ページアドレスを含む第1のコマンドおよび前記キャッシュの前記第3バッファレベルから前記入力/出力インターフェースにデータを移動させるための1つまたは複数のストリーム内コマンドを含む、応答することと、
前記1つまたは複数のストリーム内コマンド内の少なくとも1つのストリーム内コマンドを受信することであって、前記少なくとも1つのストリーム内コマンドは、前記キャッシュの前記第3バッファレベルから前記入力/出力インターフェースに前記ページのストリーム内の先行ページのデータを移動させるための、非順次ページアドレスを含む、受信することと、
前記連続ページリード動作において前記次のページアドレスとして前記非順次ページアドレスを使用することと
を含む、方法。 A method for operating a memory device to read a stream of pages, comprising:
in response to a series of commands for outputting a stream of pages of data from memory to an input/output interface of said memory device , said series sequentially loading pages into a page buffer from page addresses; moving the page to a second buffer level of a cache coupled to the page buffer and to a third buffer level coupled to the second buffer level of the cache, and moving the next page from the next page address to the page buffer; a first command including the page address for initiating a consecutive page read operation including loading and one or more for moving data from the third buffer level of the cache to the input/output interface; responding, including in-stream commands for
receiving at least one in-stream command in said one or more in-stream commands, said at least one in-stream command being transmitted from said third buffer level of said cache to said input/output interface; receiving, including a non-sequential page address, for moving the data of the preceding page in the stream of pages ;
using the non-sequential page address as the next page address in the continuous page read operation;
A method, including
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862746770P | 2018-10-17 | 2018-10-17 | |
US201862746911P | 2018-10-17 | 2018-10-17 | |
US62/746,770 | 2018-10-17 | ||
US62/746,911 | 2018-10-17 | ||
US16/533,463 US10977121B2 (en) | 2018-10-17 | 2019-08-06 | Fast page continuous read |
US16/533,463 | 2019-08-06 | ||
US16/544,055 US11048649B2 (en) | 2018-10-17 | 2019-08-19 | Non-sequential page continuous read |
US16/544,055 | 2019-08-19 | ||
JP2019185125A JP2020077451A (en) | 2018-10-17 | 2019-10-08 | Non-sequential page continuous reading |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019185125A Division JP2020077451A (en) | 2018-10-17 | 2019-10-08 | Non-sequential page continuous reading |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022002164A JP2022002164A (en) | 2022-01-06 |
JP7199493B2 true JP7199493B2 (en) | 2023-01-05 |
Family
ID=70297517
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019185125A Pending JP2020077451A (en) | 2018-10-17 | 2019-10-08 | Non-sequential page continuous reading |
JP2021167299A Active JP7199493B2 (en) | 2018-10-17 | 2021-10-12 | Non-sequential page read |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019185125A Pending JP2020077451A (en) | 2018-10-17 | 2019-10-08 | Non-sequential page continuous reading |
Country Status (3)
Country | Link |
---|---|
JP (2) | JP2020077451A (en) |
CN (1) | CN111061426B (en) |
TW (1) | TWI727449B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11971832B2 (en) | 2020-10-07 | 2024-04-30 | Infineon Technologies LLC | Methods, devices and systems for high speed transactions with nonvolatile memory on a double data rate memory bus |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009158015A (en) | 2007-12-26 | 2009-07-16 | Toshiba Corp | Nonvolatile semiconductor storage device |
JP2013235642A (en) | 2012-05-04 | 2013-11-21 | Huabang Electronic Co Ltd | Method and apparatus for reading nand flash memory |
JP2014038593A (en) | 2012-06-22 | 2014-02-27 | Huabang Electronic Co Ltd | On-chip nand type flash memory and defective block management method therefor |
US20140258811A1 (en) | 2013-03-11 | 2014-09-11 | Macronix International Co., Ltd. | Storage scheme for built-in ecc operations |
US20140269065A1 (en) | 2013-03-13 | 2014-09-18 | Winbond Electronics Corporation | NAND Flash Memory |
JP2016035795A (en) | 2014-08-01 | 2016-03-17 | 華邦電子股▲ふん▼有限公司 | Nand flash memory having internal ecc processing and method of operation thereof |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10196011B3 (en) * | 2000-03-30 | 2012-07-26 | Micron Technology, Inc. | Synchronous memory device and method for reading data from a synchronous memory device |
US6615307B1 (en) * | 2000-05-10 | 2003-09-02 | Micron Technology, Inc. | Flash with consistent latency for read operations |
US6870774B2 (en) * | 2002-12-10 | 2005-03-22 | Micron, Technology, Inc. | Flash memory architecture for optimizing performance of memory having multi-level memory cells |
KR20130034522A (en) * | 2011-09-28 | 2013-04-05 | 삼성전자주식회사 | Data read method from nonvolatile memory, and apparatus for executing the same |
JP5323170B2 (en) * | 2011-12-05 | 2013-10-23 | ウィンボンド エレクトロニクス コーポレーション | Nonvolatile semiconductor memory and data reading method thereof |
CN103578535B (en) * | 2012-07-23 | 2016-06-15 | 华邦电子股份有限公司 | Method and device for reading NAND flash memory |
IN2013MU02016A (en) * | 2013-06-13 | 2015-06-05 | Mediatek Inc |
-
2019
- 2019-10-04 TW TW108136112A patent/TWI727449B/en active
- 2019-10-08 JP JP2019185125A patent/JP2020077451A/en active Pending
- 2019-10-14 CN CN201910973064.2A patent/CN111061426B/en active Active
-
2021
- 2021-10-12 JP JP2021167299A patent/JP7199493B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009158015A (en) | 2007-12-26 | 2009-07-16 | Toshiba Corp | Nonvolatile semiconductor storage device |
JP2013235642A (en) | 2012-05-04 | 2013-11-21 | Huabang Electronic Co Ltd | Method and apparatus for reading nand flash memory |
JP2014038593A (en) | 2012-06-22 | 2014-02-27 | Huabang Electronic Co Ltd | On-chip nand type flash memory and defective block management method therefor |
US20140258811A1 (en) | 2013-03-11 | 2014-09-11 | Macronix International Co., Ltd. | Storage scheme for built-in ecc operations |
US20140269065A1 (en) | 2013-03-13 | 2014-09-18 | Winbond Electronics Corporation | NAND Flash Memory |
JP2016035795A (en) | 2014-08-01 | 2016-03-17 | 華邦電子股▲ふん▼有限公司 | Nand flash memory having internal ecc processing and method of operation thereof |
Also Published As
Publication number | Publication date |
---|---|
JP2022002164A (en) | 2022-01-06 |
TWI727449B (en) | 2021-05-11 |
CN111061426B (en) | 2023-08-22 |
JP2020077451A (en) | 2020-05-21 |
TW202032542A (en) | 2020-09-01 |
CN111061426A (en) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112634969B (en) | Memory device and method for reading page media stream | |
EP3640944B1 (en) | Non-sequential page continuous read | |
TWI718694B (en) | Memory device and method for operating a memory device for a read of a stream of pages | |
US6795899B2 (en) | Memory system with burst length shorter than prefetch length | |
JP5261803B2 (en) | High-speed fanout system architecture and input / output circuit for non-volatile memory | |
TWI446356B (en) | Memory with output control and system thereof | |
US11734181B2 (en) | Continuous read with multiple read commands | |
KR20080104184A (en) | Memory Devices with Mode-Select Prefetch and Clock-Core Timing | |
JP7199493B2 (en) | Non-sequential page read | |
US6360307B1 (en) | Circuit architecture and method of writing data to a memory | |
KR100438736B1 (en) | Memory control apparatus of performing data writing on address line | |
JP2009217310A (en) | Memory access method and memory access device | |
US8402233B2 (en) | Method and apparatus for high throughput mass storage device interface in a microprocessor for handheld systems | |
JPS635778B2 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211012 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211012 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221027 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221220 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7199493 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |