TWI756971B - Memory device and read method thereof - Google Patents
Memory device and read method thereof Download PDFInfo
- Publication number
- TWI756971B TWI756971B TW109143174A TW109143174A TWI756971B TW I756971 B TWI756971 B TW I756971B TW 109143174 A TW109143174 A TW 109143174A TW 109143174 A TW109143174 A TW 109143174A TW I756971 B TWI756971 B TW I756971B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- error correction
- page
- corrected
- action
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000012937 correction Methods 0.000 claims abstract description 105
- 230000009471 action Effects 0.000 claims description 54
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000013481 data capture Methods 0.000 claims description 13
- 239000000463 material Substances 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 6
- 125000006519 CCH3 Chemical group 0.000 description 4
- 230000004913 activation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Read Only Memory (AREA)
Abstract
Description
本發明是有關於一種記憶體裝置以及其讀取方法,且特別是有關於一種可提升讀取速率的記憶體裝置以及其讀取方法。The present invention relates to a memory device and a reading method thereof, and more particularly, to a memory device and a reading method thereof which can improve the reading rate.
在習知的技術領域,在非揮發性記憶體的讀取動作中,讀取動作的表現度的瓶頸,常限制在所需執行的錯誤糾正動作所耗去的時間。在理論上,在習知技術中,為降低讀取動作所需的時間,可執行連續多個記憶頁的讀取動作,並在前一記憶頁的頁資料被讀出後,透過預先獲得下一個頁位址的方式,可加速讀續動作的進行。In the conventional technical field, in the read operation of the non-volatile memory, the bottleneck of the performance of the read operation is often limited to the time consumed by the error correction operation to be executed. Theoretically, in the prior art, in order to reduce the time required for the reading operation, the reading operation of a plurality of consecutive memory pages can be performed, and after the page data of the previous memory page is read, the following A page address method can speed up the read continuation.
然而,在具有複雜機制的多個位元的錯誤糾正動作被應用在記憶體裝置中後,每一次的錯誤糾正動作所需要的時間變得無法預期的長。也因此,針對記憶體所進行的多個連續記憶頁的讀取動作,所需要耗去的讀取時間往往耗費以執行錯誤糾正動作,使讀取動作的效率無法被提升。However, after a multi-bit error correction operation with a complex mechanism is applied in a memory device, the time required for each error correction operation becomes unpredictably long. Therefore, for the reading operation of a plurality of consecutive memory pages performed in the memory, the required reading time is often spent to perform the error correction operation, so that the efficiency of the reading operation cannot be improved.
本發明提供一種記憶體的讀取方法,可提升讀取速率。The present invention provides a method for reading a memory, which can improve the reading rate.
本發明的記憶體的讀取方法包括:讀取記憶胞陣列,藉以獲得頁資料;區分頁資料為多個塊資料;依序針對各塊資料執行第一錯誤糾正動作以分別產生多個糾正後塊資料;針對頁資料執行第二錯誤糾正動作以產生糾正後頁資料;以及,參照一指示信號以輸出糾正後塊資料。The memory reading method of the present invention includes: reading a memory cell array to obtain page data; distinguishing page data into a plurality of blocks of data; sequentially performing a first error correction action for each block of data to generate a plurality of corrected block data; perform a second error correction action on the page data to generate corrected page data; and refer to an indication signal to output the corrected block data.
本發明的記憶體裝置包括記憶胞陣列、頁緩衝器、資料暫存器、第一錯誤糾正電路、第二錯誤糾正電路、控制邏輯以及傳輸介面。頁緩衝器耦接記憶胞陣列。頁緩衝器儲存頁資料,其中頁資料被區分為多個塊資料。資料暫存器用以暫存塊資料。第一錯誤糾正電路耦接資料暫存器,依序針對各塊資料執行第一錯誤糾正動作以分別產生多個糾正後塊資料。第二錯誤糾正電路耦接資料暫存器,針對頁資料執行第二錯誤糾正動作以產生糾正後頁資料。控制邏輯耦接第一錯誤糾正電路以及第二錯誤糾正電路,用以控制第一錯誤糾正電路以及第二錯誤糾正電路以分別執行的一錯誤糾正動以及第二錯誤糾正動作。傳輸介面耦接資料暫存器以透過參考指示信號來輸出糾正後塊資料。The memory device of the present invention includes a memory cell array, a page buffer, a data register, a first error correction circuit, a second error correction circuit, a control logic and a transmission interface. The page buffer is coupled to the memory cell array. The page buffer stores page data, wherein the page data is divided into a plurality of blocks of data. The data register is used to temporarily store block data. The first error correction circuit is coupled to the data register, and performs a first error correction operation for each block of data in sequence to generate a plurality of corrected blocks of data respectively. The second error correction circuit is coupled to the data register, and performs a second error correction operation on the page data to generate corrected page data. The control logic is coupled to the first error correction circuit and the second error correction circuit for controlling an error correction action and a second error correction action performed by the first error correction circuit and the second error correction circuit respectively. The transmission interface is coupled to the data register to output the corrected block data through the reference indication signal.
基於上述,本發明透過使頁資料分為多個尺寸相對小的塊資料。並依序針對塊資料執行具有相對快速度的錯誤糾正動作(第一錯誤糾正動作),連續的糾正後塊資料可以被立刻讀出直到出現無法被糾正的塊資料。第二錯誤糾正動作可以干預並取代執行接下來的讀出資料的錯誤糾正動作。如此一來,透過所執行的錯誤糾正動作具有不多的糾錯位元數,可降低執行錯誤糾正動作所需的時間,並藉以提升記憶體的讀取速率。進一步的,若糾正後塊資料並非正確,相對慢的錯誤糾正動作(第二錯誤糾正動作)所產生的糾正後頁資料可以提供以作為讀出資料。記憶體裝置的讀出操作的正確度可以被確保。Based on the above, the present invention divides page data into a plurality of relatively small-sized chunks of data. The relatively fast error correction actions (the first error correction action) are sequentially performed for the block data, and the consecutive corrected block data can be read out immediately until there is a block data that cannot be corrected. The second error correction action may intervene and replace the execution of the error correction action of the subsequent read data. In this way, the error correction operation performed has a small number of error correction bits, which can reduce the time required for performing the error correction operation, thereby increasing the read rate of the memory. Further, if the corrected block data is not correct, the corrected page data generated by the relatively slow error correction action (the second error correction action) can be provided as read data. The correctness of the read operation of the memory device can be ensured.
請參照圖1,圖1繪示本發明一實施例的記憶體的讀取方法的流程圖。在步驟S110中,對一記憶胞陣列執行一讀取動作,並由記憶胞陣列中讀出一頁資料。其中,步驟S110中的讀取動作,可以針對記憶胞陣列中的一個記憶頁(memory page)來進行,並藉以讀取一個頁資料。細節上,可預先產生一頁位址,並依據頁位址來由記憶胞陣列中選出一選中記憶頁,並針對選中記憶頁進行讀取動作。選中記憶頁所傳出的資料可透過感測放大器(sense amplifier)進行感測動作,以產生上述的頁資料。在本實施例中,頁資料例如具有2K或4K個位元組(byte)。Please refer to FIG. 1 . FIG. 1 is a flowchart illustrating a method for reading a memory according to an embodiment of the present invention. In step S110, a read operation is performed on a memory cell array, and a page of data is read out from the memory cell array. Wherein, the reading operation in step S110 may be performed for a memory page in the memory cell array, so as to read data of a page. In detail, a page address can be generated in advance, and a selected memory page can be selected from the memory cell array according to the page address, and a read operation is performed for the selected memory page. The data transmitted from the selected memory page can be sensed through a sense amplifier to generate the above-mentioned page data. In this embodiment, the page data has, for example, 2K or 4K bytes.
接著,在步驟S120中,將所讀出的頁資料區分為多個塊(chunk)資料。在本實施例中,可將頁資料均分多個具有相對小尺寸的塊資料。在本實施例中,各個塊資料例如具有256個位元組。以頁資料具有2K位元組為範例,步驟S120中可區分一頁資料為8個塊資料,以頁資料具有4K位元組為範例,步驟S120中則可區分一頁資料為16個塊資料。Next, in step S120 , the read page data is divided into a plurality of chunk data. In this embodiment, the page data can be evenly divided into a plurality of relatively small-sized blocks of data. In this embodiment, each block data has, for example, 256 bytes. Taking the page data having 2K bytes as an example, in step S120 one page of data can be distinguished as 8 blocks of data, and taking the page data having 4K bytes as an example, one page of data can be distinguished into 16 blocks of data in step S120 .
在步驟S130中,則依序針對各個塊資料與對應的奇偶校驗資料(parity data)執行第一錯誤糾正(error correction code, ECC)動作,並分別產生多個糾正後塊資料。在本實施例中,基於步驟S130中所執行的錯誤糾正動作,是針對具有較小尺寸的塊資料來進行的,因此單一塊資料中所可能發生的錯誤位元數可能不多。也因此,本發明實施例中,步驟S130中可以針對各個塊資料執行具有小糾錯位元數(例如1個位元)的錯誤糾正動作,並藉以減低執行錯誤糾正動作中所需要的時間。In step S130 , a first error correction code (ECC) operation is performed for each block data and the corresponding parity data in sequence, and a plurality of corrected block data are respectively generated. In this embodiment, the error correction action performed in step S130 is performed for block data with a smaller size, so the number of error bits that may occur in a single block of data may be small. Therefore, in this embodiment of the present invention, an error correction operation with a small number of error correction bits (eg, 1 bit) can be performed for each block of data in step S130, thereby reducing the time required for performing the error correction operation.
在本實施例中,步驟S130中的第一錯誤糾正動作可以依據漢明碼(Hamming code)的方式來實施,或其他為本領域具通常知識者的糾錯碼及其演算法來實施,沒有固定的限制。In this embodiment, the first error correction action in step S130 may be implemented according to a Hamming code, or other error correction codes and algorithms of those with ordinary knowledge in the art, and there is no fixed limits.
步驟S140則在當第一錯誤糾正動作發生錯誤時,針對頁資料執行第二錯誤糾正動作以產生糾正後頁資料。在本實施例中,針對塊資料所執行的第一錯誤糾正動作的速度,快於針對頁資料所執行的第二錯誤糾正動作的速度。此外,第一錯誤糾正動作的能力,則低於的二錯誤糾正動作的能力。例如,第二錯誤糾正動作可以依據BCH碼、RS碼或低密度奇偶檢查碼(Low-density parity-check code, LDPC code)的演算方式來執行。In step S140, when an error occurs in the first error correction action, a second error correction action is performed on the page data to generate corrected page data. In this embodiment, the speed of the first error correction action performed for the block data is faster than the speed of the second error correction action performed for the page data. Furthermore, the capability of the first error-correcting action is lower than the capability of the second error-correcting action. For example, the second error correction action may be performed according to a calculation method of a BCH code, an RS code or a low-density parity-check code (Low-density parity-check code, LDPC code).
在步驟S150中,糾正後頁資料以及糾正後塊資料的其中之一可以透過參照指示信號,被輸出以產生記憶體的讀出資料。在細節上,若所有的糾正後塊資料都是正確的,各個塊資料可以被立刻輸出以產生讀出資料。例如,第一塊資料(塊0)可以首先被糾正,在當第一糾正後塊資料被輸出時,第二塊資料(塊1)可以同時被糾正。如此一來,多個糾正後塊資料可以連續被輸出而沒有延遲。相反的,若第一個無法被糾正塊資料出現時,則變更選擇糾正後頁資料以作為讀出資料。另外,記憶體可產生指示信號來指示讀出資料是否已備妥。讀出資料可基於指示信號以被送出。In step S150, one of the corrected page data and the corrected block data can be outputted through the reference indication signal to generate the read data of the memory. In detail, if all corrected block data are correct, each block data can be output at once to generate read data. For example, the first block of data (block 0) may be corrected first, and the second block of data (block 1) may be simultaneously corrected when the first corrected block of data is output. In this way, multiple corrected block data can be output continuously without delay. On the contrary, if the first uncorrectable block data appears, then change and select the corrected page data as the read data. In addition, the memory can generate an indicator signal to indicate whether the read data is ready. The read data can be sent based on the indication signal.
在此,步驟S130以及S140可以同時被執行,或者也可以依序被執行。且上述的指示信號可以是獨立的信號。Here, steps S130 and S140 may be performed simultaneously, or may be performed sequentially. And the above-mentioned indication signal may be an independent signal.
以下請參照圖2,圖2繪示本發明實施例的記憶體的讀取方法的動作示意圖。其中,記憶胞陣列210具有多個記憶頁PG0~PGn+1。在進行讀取動作時,可設定其中的記憶頁PGn為選中記憶頁,並針對選中記憶頁(記憶頁PGn)進行資料讀取以及感測動作,並藉以獲得記憶頁PGn中所儲存的頁資料。在本實施例中,頁資料可以暫存於頁緩衝器220中。而頁緩衝器220中所儲存的頁資料,則可以被分割為多個塊資料CH0~CH3。Please refer to FIG. 2 below. FIG. 2 is a schematic diagram illustrating an operation of a method for reading a memory according to an embodiment of the present invention. The
塊資料CH0~CH3可以依序被提供以執行錯誤糾正動作,並依序產生糾正後塊資料CCH0~CCH3。糾正後塊資料CCH0~CCH3可被傳送至傳輸介面230,以傳出由糾正後塊資料CCH0~CCH3所組成的糾正後頁資料,以作為讀出資料。The block data CH0~CH3 can be provided in sequence to perform error correction, and the corrected block data CCH0~CCH3 are generated in sequence. The corrected block data CCH0 ˜ CCH3 can be sent to the
在本實施例中,記憶胞陣列210可以為非揮發性記憶胞陣列,例如快閃記憶胞陣列。In this embodiment, the
當然,圖2中將單一頁資料分割出的四個塊資料CH0~CH3僅只是說明用的範例,本發明其他實施例中的塊資料的數量可以由設計者自行決定,並沒有一定的限制。Of course, the four pieces of data CH0-CH3 divided into a single page of data in FIG. 2 are only examples for illustration, and the number of pieces of data in other embodiments of the present invention can be determined by the designer, and there is no certain limitation.
以下請參照圖3A以及圖3B,圖3A以及圖3B繪示本發明另一實施例的記憶體的讀取方法的流程圖。在步驟S310中,讀取動作被執行,並在步驟S320中,藉由感測放大器的感測動作,來感測出一記憶頁(例如第N個記憶頁)中的頁資料。步驟S330中,則使頁資料被閂鎖在例如頁緩衝器310的資料儲存元件中。步驟S340中,則使頁資料被轉移至第一快取320中,並在步驟S350中,使被選中頁位址被變更至下一個頁位址。其中,在第一快取320中,頁資料可以被分為多個塊資料CH0~CH5。Please refer to FIGS. 3A and 3B below. FIGS. 3A and 3B are flowcharts illustrating a method for reading a memory according to another embodiment of the present invention. In step S310, the reading operation is performed, and in step S320, the page data in a memory page (eg, the Nth memory page) is sensed by the sensing operation of the sense amplifier. In step S330 , the page data is latched in a data storage element such as the
接著,在步驟S361中,則依序使塊資料CH0~CH5的其中之一執行一錯誤糾正(ECC)動作,並在當每一塊資料CH0~CH5的ECC動作的過程中,判斷是否可以透過1位元的ECC動作來完成每一塊資料CH0~CH5的錯誤糾正動作(步驟S371),若判斷結果為是,則執行步驟S381;相對的,若判斷結果為否,則執行步驟S372。在此,步驟S361中執行的ECC動作的錯誤糾正位元數是1。Next, in step S361, one of the block data CH0-CH5 is sequentially performed an error correction (ECC) operation, and during the ECC operation of each block data CH0-CH5, it is determined whether it can pass 1 The ECC action of the bits is used to complete the error correction action of each block of data CH0~CH5 (step S371). If the judgment result is yes, then step S381 is executed; on the contrary, if the judgment result is no, step S372 is executed. Here, the number of error correction bits of the ECC operation executed in step S361 is 1.
值得注意的,在本實施例中,步驟S362並同時針對頁緩衝器310中所儲存的頁資料執行另一ECC動作,而步驟S362中的ECC動作可以針對頁資料中多個位元的錯誤進行糾正。It should be noted that, in this embodiment, step S362 simultaneously performs another ECC operation for the page data stored in the
當步驟S371中,發現有任一塊資料中的錯誤位元數超過一位元時,而無法透過步驟S361中的ECC動作完成錯誤糾正時,則可透過執行步驟S372,以針對頁資料中的多個錯誤位元執行錯誤糾正的動作。When it is found in step S371 that the number of error bits in any piece of data exceeds one bit, and the error correction cannot be completed through the ECC operation in step S361, step S372 can be executed to target multiple pieces of data in the page. Error bits perform error correction actions.
透過步驟S381,可以依序獲得對應塊資料的多個糾正後塊資料,並據以獲得糾正後頁資料。而透過步驟S372,則可以直接獲得糾正後頁資料。而在步驟S390中,則可以將步驟S381中所獲得的糾正後塊資料,轉移至第二快取330中。並且,在步驟S390後,則改選中下一個塊資料(步驟S3100)並重新執行步驟S340。Through step S381, a plurality of corrected block data corresponding to the block data can be obtained in sequence, and the corrected page data can be obtained accordingly. And through step S372, the corrected page data can be obtained directly. In step S390 , the corrected block data obtained in step S381 may be transferred to the
在步驟S390中,也可將步驟S372中所獲得的糾正後頁資料轉移至第二快取330。並在步驟S3110中,透過讀出第二快取330中的糾正後頁資料至傳輸介面340來傳送出讀出資料。In step S390 , the corrected page data obtained in step S372 may also be transferred to the
為了加快讀取動作的速率,在當步驟S340完成將頁資料轉移至第一快取320中,步驟S350可使選中的頁位址變更至下一個頁位址,並透過步驟S320以執行下一個頁位址的記憶頁(例如第N+1個記憶頁,或主機預先設置的記憶頁)的頁資料執行讀取及感測動作,並使第N+1個記憶頁的頁資料被儲存至頁緩衝器310中。In order to speed up the reading operation, when the page data is transferred to the
此外,本發明實施例中,步驟S361以及步驟S362鎖分別執行的不同的ECC動作,可以同時進行,或也可以在步驟S371的判斷結果發生否的狀態下,方啟動步驟S362的進行。沒有一定的限制。In addition, in this embodiment of the present invention, the different ECC actions performed in steps S361 and S362 may be performed simultaneously, or the execution of step S362 may be started only when the judgment result of step S371 is negative. There are no certain restrictions.
附帶一提的,步驟S361的ECC動作可以依據漢明碼(Hamming)的演算方式來進行,而步驟S362的ECC動作則可以依據BCH碼、RS碼或低密度奇偶檢查碼(Low-density parity-check code, LDPC code)的演算方式來執行。請特別注意的,步驟S361的ECC動作的操作速度總是快於步驟S362的ECC動作的操作速度。Incidentally, the ECC operation in step S361 may be performed according to the Hamming algorithm, and the ECC operation in step S362 may be performed according to BCH code, RS code or low-density parity-check code (Low-density parity-check code). code, LDPC code) to execute. Please note that the operation speed of the ECC action in step S361 is always faster than the operation speed of the ECC action in step S362.
在此請注意,步驟S3110中,記憶體所送出的讀出資料是參照指示信號來進行的。指示信號的產生是依據讀出資料是否備妥來進行的。如此一來,資料接收器(例如主機)可正確的獲得讀出資料而不會產生資料漏失。Please note here that in step S3110, the read data sent from the memory is performed with reference to the instruction signal. The generation of the indication signal is carried out according to whether the read data is ready. In this way, the data receiver (eg, the host) can correctly obtain the read data without data loss.
以下請參照圖4,圖4繪示本發明一實施例的記憶體裝置的示意圖。記憶體裝置400包括記憶胞陣列410、頁緩衝器420、第一錯誤糾正碼(ECC)電路431、第二ECC電路432、資料暫存器440、控制邏輯450、暫存器460以及傳輸介面470。記憶胞陣列410具有多個記憶頁,並耦接至頁緩衝器420。在針對記憶胞陣列410進行讀取動作時,可選中記憶胞陣列410中的一記憶頁進行讀取,並將讀出的頁資料暫存於頁緩衝器420中。其中,頁資料可以被區分為多個塊資料。Please refer to FIG. 4 below. FIG. 4 is a schematic diagram of a memory device according to an embodiment of the present invention. The
資料暫存器440耦接至頁緩衝器420。資料暫存器440中具有第一快取441以及第二快取442。頁緩衝器420中的頁資料可先被轉存至第一快取441。並且,第一ECC電路431可針對第一快取441中的每一塊資料,依序的執行ECC動作,並依序產生多個糾正後塊資料。而每一糾正後塊資料則可依序的被儲存至第二快取442中。The data register 440 is coupled to the
在另一方面,當第一個無法被糾正的塊資料發生時,可透過第二ECC電路432來執行錯誤糾正動作。在此方法下,剩餘未被糾正的塊資料可通過糾正後頁資料來完成錯誤糾正動作並進行輸出。在本實施例中,第一ECC電路431的糾錯能力低於第二ECC電路432的糾錯能力。例如,第一ECC電路431的糾錯位元數可以為1位元,第二ECC電路432的糾錯位元數可以為大於1的多個位元。另一方面,作用在各個塊資料上的ECC動作的速度,則快於作用在頁資料上的ECC動作的速度。On the other hand, when the first uncorrectable block of data occurs, the
控制邏輯450耦接至記憶胞陣列410、頁緩衝器420、資料暫存器440、第一ECC電路431以及第二ECC電路432。控制邏輯450可用以執行記憶胞陣列410的資料存取動作。控制邏輯450並可用以控制第一快取441中塊資料的轉移動作,以及控制第一ECC電路431以及第二ECC電路432的啟動時間點。The
在部分實施例中,記憶體裝置400可更包括第三ECC電路433。第三ECC電路433耦接在控制邏輯450以及資料暫存器440間。第三ECC電路433可對頁資料執行另一ECC動作。其中第三ECC電路433可以第二ECC電路糾正更多的位元。In some embodiments, the
本實施例中,控制邏輯450可用以執行圖3所繪示的動作流程,相關細節可參照圖3實施例的說明內容。In this embodiment, the
控制邏輯450並耦接至暫存器460。暫存器460提供控制邏輯450在執行各種動作程序中的暫存資料的存取。控制邏輯450以及暫存器460並耦接至傳輸介面470。傳輸介面470收發資料或命令信號I/O,接收時脈信號CLK,傳收晶片選擇信號CS#以及傳送資料擷取信號DQS。The
傳輸介面470作為記憶體裝置400對外部電子裝置間的信號溝通介面。傳輸介面470可以為並列的傳輸介面;可以是串列的傳輸介面;或也可以是並列串列共存的傳輸介面。值得注意的,本發明實施例中,記憶體裝置400的傳輸介面,在傳輸協定上,並沒有特定的限制。在本實施例中,晶片選擇信號CS#以及資料擷取信號DQS的其中之一可選擇以作為指示信號。傳輸介面470可告知外部電子裝置以接收讀出資料。指示信號可以由控制邏輯450以依據讀出資料是否已備妥來產生。在部分實施例中,傳輸介面470可提供晶片選擇信號CS#以及資料擷取信號DQS以外的中斷信號RDY/BY#來作為指示信號。The
以下請參照圖5A至圖7C,圖5A至圖7C分別繪示本發明不同實施例的記憶體裝置的讀取動作的波形圖。在圖5A至圖7C中,記憶體裝置可依據時脈信號SLCK來執行工作。Please refer to FIG. 5A to FIG. 7C below. FIGS. 5A to 7C are waveform diagrams of read operations of the memory device according to different embodiments of the present invention, respectively. In FIGS. 5A to 7C , the memory device may perform operations according to the clock signal SLCK.
在圖5A至圖5C中,資料擷取信號DQS被選擇以作為指示信號資料。並且,資料讀取命令RD以及對應的位址資訊Addr可以由主機透過資料或命令信號IO[7:0]被傳送至記憶體裝置。在第一頁的讀出資料DP1,資料擷取信號DQS被維持為靜態的狀態。在延遲時間t1,操作於讀出資料DP1的ECC動作完成後,資料擷取信號DQS被啟動並開始在邏輯高、低準位間轉態。主機可對應資料擷取信號DQS來獲得讀出資料DP1。In FIGS. 5A to 5C , the data capture signal DQS is selected as the indicator signal data. In addition, the data read command RD and the corresponding address information Addr can be transmitted from the host to the memory device through data or command signals IO[7:0]. In the read data DP1 of the first page, the data capture signal DQS is maintained in a static state. At the delay time t1, after the ECC operation for reading the data DP1 is completed, the data capture signal DQS is activated and starts to transition between logic high and low levels. The host can obtain the read data DP1 corresponding to the data capture signal DQS.
在圖5B中,第二頁至第n頁的讀出資料DP2-DPn可連續被讀出。由於讀出資料DP2-DPn可由僅需短的錯誤糾正時間的糾正後塊資料來獲得,讀出資料DP2-DPn可在沒有延遲時間的情況下被送出。資料擷取信號DQS可以持續轉態。In FIG. 5B, the readout data DP2-DPn of the second to nth pages can be continuously read out. Since the read data DP2-DPn can be obtained from the corrected block data requiring only a short error correction time, the read data DP2-DPn can be sent out without delay time. The data capture signal DQS can be continuously transitioned.
在圖5C中,讀出資料DPn+1被送出,資料擷取信號DQS在當有無法被糾正的塊資料發生時可以被維持在低準位,直到針對頁資料所執行的錯誤糾正動作完成。在這個頁資料中,一但針對頁資料的錯誤糾正動作被完成,上述無法被糾正的塊資料以及剩下的塊資料對應的讀出資料DPn+2可以隨著重新轉態的資料擷取信號DQS被送出。在此,需要一較長的延遲時間t2以執行頁資料的錯誤糾正動作。然後,讀出資料DPn+2可以依據糾正後頁資料來獲得。In FIG. 5C , the read data DPn+1 is sent out, and the data capture signal DQS can be maintained at a low level when uncorrectable block data occurs until the error correction action performed on the page data is completed. In this page data, once the error correction action for the page data is completed, the block data that cannot be corrected and the read data DPn+2 corresponding to the remaining block data can acquire the signal with the re-transformed data. DQS is sent. Here, a longer delay time t2 is required to perform the error correction action of the page data. Then, the read data DPn+2 can be obtained based on the corrected page data.
在此可以看見,在本實施例中,讀出資料可以依據指示信號來發送,使主機可以正確的獲得讀出資料。並且,資料擷取信號DQS可以基於ECC動作的執行來動態調整。以及,記憶裝置的讀出延遲可以為主機所得知。It can be seen here that, in this embodiment, the read data can be sent according to the instruction signal, so that the host can obtain the read data correctly. Also, the data capture signal DQS can be dynamically adjusted based on the execution of the ECC action. And, the read delay of the memory device can be known by the host.
在圖6A至圖6C中,晶片選擇信號CS#被選擇以作為指示信號資料。並在當讀出資料備妥時,晶片選擇信號CS#上可產生一正脈波,而主機可透過識別晶片選擇信號CS#上的正脈波來接收讀出資料。在圖6A中,資料讀取命令RD以及對應的位址資訊Addr可以由主機透過資料或命令信號IO[7:0]被傳送至記憶體裝置。然後,在延遲時間t1後,讀出資料DP1被備妥,晶片選擇信號CS#上產生正脈波。接著,主機可基於時脈信號SLCK來獲得讀出資料DP1。In FIGS. 6A to 6C , the wafer selection signal CS# is selected as the indication signal data. And when the read data is ready, a positive pulse can be generated on the chip select signal CS#, and the host can receive the read data by identifying the positive pulse on the chip select signal CS#. In FIG. 6A , the data read command RD and the corresponding address information Addr can be transmitted from the host to the memory device through data or command signals IO[7:0]. Then, after the delay time t1, the read data DP1 is ready, and a positive pulse is generated on the chip selection signal CS#. Then, the host can obtain the read data DP1 based on the clock signal SLCK.
在圖6B中,連續的第1頁至第n頁的讀出資料DP1-DPn可依據糾正後塊資料來依序被送出,而不需要額外的讀出延遲。讀出資料DP2-DPn可在沒有延遲時間的情況下被送出。圖6B中的晶片選擇信號CS#維持在邏輯低準位。In FIG. 6B, the read data DP1-DPn of the consecutive 1st to nth pages can be sequentially sent out according to the corrected block data without additional readout delay. The read data DP2-DPn can be sent without delay time. The chip select signal CS# in FIG. 6B is maintained at a logic low level.
在圖6C中,讀出資料DPn+1被送出,第n+2頁的讀出資料DPn+2由糾正後頁資料來獲得。在延遲時間t2後,主機可透過識別晶片選擇信號CS#上另一正脈波來獲得讀出資料DPn+2。In FIG. 6C, the read data DPn+1 is sent out, and the read data DPn+2 of the n+2th page is obtained by correcting the latter page data. After the delay time t2, the host can obtain the read data DPn+2 by identifying another positive pulse on the chip selection signal CS#.
在圖7A至圖7C中,中斷信號RDY/BY#被產生,並被選擇以作為指示信號資料。在本實施例中,中斷信號RDY/BY#被拉低至邏輯低準位以指示讀出資料尚未備妥。在另一方面,當讀出資料被備妥時,中斷信號RDY/BY#則被拉高至邏輯高準位,以指示讀出資料已備妥並可基於時脈信號SLCK來獲得。In FIGS. 7A to 7C, the interrupt signal RDY/BY# is generated and selected as the indicator signal data. In this embodiment, the interrupt signal RDY/BY# is pulled down to a logic low level to indicate that the read data is not ready. On the other hand, when the read data is ready, the interrupt signal RDY/BY# is pulled to a logic high level to indicate that the read data is ready and available based on the clock signal SLCK.
在圖7A中,資料讀取命令RD以及對應的位址資訊Addr可以由主機透過資料或命令信號IO[7:0]被傳送至記憶體裝置。然後,中斷信號RDY/BY#被拉低至邏輯低準位來告知主機,讀出資料DP1尚未備妥。在延遲時間DP1後,中斷信號RDY/BY#被拉高至邏輯高準位,主機可接收記憶裝置第一頁的讀出資料DP1。In FIG. 7A , the data read command RD and the corresponding address information Addr can be transmitted from the host to the memory device through data or command signals IO[7:0]. Then, the interrupt signal RDY/BY# is pulled down to a logic low level to inform the host that the read data DP1 is not ready. After the delay time DP1, the interrupt signal RDY/BY# is pulled up to a logic high level, and the host can receive the read data DP1 of the first page of the memory device.
在圖7B中,連續的第1頁至第n頁的讀出資料DP1-DPn可依據糾正後塊資料來依序被送出,而不需要額外的讀出延遲。讀出資料DP2-DPn可在沒有延遲時間的情況下被送出。圖7B中的中斷信號RDY/BY#維持在邏輯高準位。In FIG. 7B , the read data DP1 - DPn of the consecutive 1st to nth pages can be sequentially sent out according to the corrected block data without additional readout delay. The read data DP2-DPn can be sent without delay time. The interrupt signal RDY/BY# in FIG. 7B is maintained at a logic high level.
在圖6C中,在讀出資料DPn+1被送出後,第n+2頁的讀出資料DPn+2由糾正後頁資料來獲得,且中斷信號RDY/BY#被拉低。在延遲時間t2後,中斷信號RDY/BY#被重新拉高,主機可依據時脈信號SLCK來獲得讀出資料DPn+2。In FIG. 6C , after the read data DPn+1 is sent out, the read data DPn+2 of the n+2th page is obtained from the corrected page data, and the interrupt signal RDY/BY# is pulled low. After the delay time t2, the interrupt signal RDY/BY# is pulled high again, and the host can obtain the read data DPn+2 according to the clock signal SLCK.
綜上所述,本發明使頁資料區分為多個塊資料以降低執行錯誤糾正動作的資料的尺寸。並且,透過高速且具有低錯誤糾正位元數的第一錯誤糾正動作來針對各個塊資料進行錯誤糾正動作。如此一來,在記憶體的讀取動作中,因為錯誤糾正動作所產生的讀出資料的傳輸延遲可以被避免,有效提升記憶體的工作效率。並且,透過提供指示信號,可在因不同ECC動作的條件而具有不同資料延遲的條件下,來確定讀出資料可被獲得。如此,主機可正確的依據指示信號來獲得讀出資料。In summary, the present invention divides page data into a plurality of blocks of data to reduce the size of data for performing error correction actions. Also, the error correction operation is performed for each block of data through the first error correction operation at high speed and with a low number of error correction bits. In this way, during the reading operation of the memory, the transmission delay of the read data caused by the error correction operation can be avoided, thereby effectively improving the working efficiency of the memory. Also, by providing an indicator signal, it can be determined that read data is available under conditions with different data delays due to different ECC operation conditions. In this way, the host can correctly obtain the read data according to the indication signal.
210、410:記憶胞陣列
220、310、420:頁緩衝器
230、340、470:傳輸介面
320、441:第一快取
330、442:第二快取
400:記憶體裝置
431:第一ECC電路
432:第二ECC電路
433:第三ECC電路
440:資料暫存器
450:控制邏輯
460:暫存器
CCH0~CCH3:糾正後塊資料
CH0~CH3:塊資料
CLK、SLCK:時脈信號
CS#:晶片選擇信號
DQS:資料擷取信號
I/O、IO[7:0]:資料或命令信號
PG0~PGn+1:記憶頁
RDY/BY#:中斷信號
t1、t2:延遲時間
RD:資料讀取命令
Addr:位址資訊
DP1~DPn+2:讀出資料
S110~S150、S310~S3110:讀取步驟
210, 410:
圖1繪示本發明一實施例的記憶體的讀取方法的流程圖。 圖2繪示本發明實施例的記憶體的讀取方法的動作示意圖。 圖3A以及圖3B繪示本發明另一實施例的記憶體的讀取方法的流程圖。 圖4繪示本發明一實施例的記憶體裝置的示意圖。 圖5A至圖7C分別繪示本發明不同實施例的記憶體裝置的讀取動作的波形圖。 FIG. 1 is a flowchart illustrating a method for reading a memory according to an embodiment of the present invention. FIG. 2 is a schematic diagram illustrating an operation of a method for reading a memory according to an embodiment of the present invention. 3A and 3B are flowcharts illustrating a method for reading a memory according to another embodiment of the present invention. FIG. 4 is a schematic diagram of a memory device according to an embodiment of the present invention. 5A to 7C respectively illustrate waveform diagrams of read operations of the memory device according to different embodiments of the present invention.
S110~S150:讀取步驟 S110~S150: Reading steps
Claims (19)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW109143174A TWI756971B (en) | 2020-12-08 | 2020-12-08 | Memory device and read method thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW109143174A TWI756971B (en) | 2020-12-08 | 2020-12-08 | Memory device and read method thereof |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI756971B true TWI756971B (en) | 2022-03-01 |
| TW202223905A TW202223905A (en) | 2022-06-16 |
Family
ID=81710921
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW109143174A TWI756971B (en) | 2020-12-08 | 2020-12-08 | Memory device and read method thereof |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI756971B (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI817616B (en) * | 2022-07-19 | 2023-10-01 | 旺宏電子股份有限公司 | Memory device, error correction device and error correction method thereof |
| US11949429B2 (en) | 2022-07-19 | 2024-04-02 | Macronix International Co., Ltd. | Memory device, error correction device and error correction method thereof |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6421274B1 (en) * | 2001-03-23 | 2002-07-16 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device and reading and writing method thereof |
| US20140169092A1 (en) * | 2012-12-06 | 2014-06-19 | Samsung Electronics Co., Ltd. | Semiconductor memory device |
| US20170075759A1 (en) * | 2015-09-11 | 2017-03-16 | Kabushiki Kaisha Toshiba | Memory system |
-
2020
- 2020-12-08 TW TW109143174A patent/TWI756971B/en active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6421274B1 (en) * | 2001-03-23 | 2002-07-16 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device and reading and writing method thereof |
| US20140169092A1 (en) * | 2012-12-06 | 2014-06-19 | Samsung Electronics Co., Ltd. | Semiconductor memory device |
| US20170075759A1 (en) * | 2015-09-11 | 2017-03-16 | Kabushiki Kaisha Toshiba | Memory system |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI817616B (en) * | 2022-07-19 | 2023-10-01 | 旺宏電子股份有限公司 | Memory device, error correction device and error correction method thereof |
| US11949429B2 (en) | 2022-07-19 | 2024-04-02 | Macronix International Co., Ltd. | Memory device, error correction device and error correction method thereof |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202223905A (en) | 2022-06-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112527549B (en) | Memory controller and memory system including the memory controller | |
| CN114664366B (en) | Memory device and reading method thereof | |
| CN108376554B (en) | Memory module, memory system including the same, and error correction method therefor | |
| CN101828174B (en) | System and method for data read of a synchronous serial interface NAND | |
| KR102002925B1 (en) | Memory module, memory system havint the same, and driving method thereof | |
| JP5166074B2 (en) | Semiconductor memory device, control method thereof, and error correction system | |
| US8438457B2 (en) | Nonvolatile memory apparatus, memory controller, and memory system | |
| CN113094204B (en) | Error correction circuits, memory controllers, and memory systems | |
| TW202143040A (en) | Memory controllers, memory systems and memory modules | |
| US11531496B2 (en) | Memory modules and memory systems having the same | |
| CN110389851A (en) | Memory devices and its operating method with error correction feature | |
| CN110517714B (en) | Storage device and storage device operation method | |
| CN112749040A (en) | Memory controller and memory system including the same | |
| JP2015018451A (en) | Memory controller, storage device, and memory control method | |
| TW202036289A (en) | Memory device and method for operating a memory device for a read of a stream of pages | |
| TWI756971B (en) | Memory device and read method thereof | |
| CN117648218A (en) | Error correction code circuit and semiconductor device including the same | |
| US11336296B2 (en) | Controller and memory system having the controller | |
| KR20170062216A (en) | Semiconductor memory device | |
| TW201435892A (en) | Memory with error correction configured to prevent overcorrection | |
| CN116312723A (en) | A method of programming flash memory using error-correcting codes | |
| TW202309915A (en) | Semiconductor storage device and reading method | |
| US12051480B2 (en) | Semiconductor storage device | |
| US12530258B2 (en) | Memory device performing link ECC operation and operating method thereof | |
| TWI829252B (en) | Method and computer program product and apparatus for decoding low-density parity-check (ldpc) code |