TWI769056B - Storage device and data accessing method using multi-level cell - Google Patents
Storage device and data accessing method using multi-level cell Download PDFInfo
- Publication number
- TWI769056B TWI769056B TW110130271A TW110130271A TWI769056B TW I769056 B TWI769056 B TW I769056B TW 110130271 A TW110130271 A TW 110130271A TW 110130271 A TW110130271 A TW 110130271A TW I769056 B TWI769056 B TW I769056B
- Authority
- TW
- Taiwan
- Prior art keywords
- bits
- read
- bit
- data
- memory cells
- Prior art date
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Dram (AREA)
Abstract
Description
本揭示係關於一種儲存裝置及資料存取方法,特別有關於一種使用多階記憶胞之儲存裝置及資料存取方法。The present disclosure relates to a storage device and a data access method, and more particularly, to a storage device and data access method using multi-level memory cells.
隨著半導體技術演進,具有多階記憶體胞(multi-level cell,MLC)之記憶體結構已被廣泛使用。多階記憶體胞作為記憶體之儲存單元,每個多階記憶胞能夠儲存多位元資料,因此能大幅提升記憶體之儲存容量。With the evolution of semiconductor technology, memory structures with multi-level cells (MLCs) have been widely used. The multi-level memory cell is used as the storage unit of the memory, and each multi-level memory cell can store multi-bit data, so it can greatly increase the storage capacity of the memory.
然而,基於多階記憶胞之多位元之特性,對於多階記憶胞之每個位元進行讀取時,可能需要實施多次的讀取操作以施加不同電壓範圍之讀取電壓。若所需之讀取操作次數越多,則越容易導致資料讀取錯誤。因此,在多階記憶胞的讀取操作次數較多的狀況下,亦須配合錯誤校正機制(例如:以錯誤校正碼(ECC)進行編碼)以校正可能發生的資料讀取錯誤。而當讀取操作次數過多而必須使用較複雜的錯誤校正碼時,編碼後所添增之額外資料量(overhead)將大幅增加,導致記憶體之資料儲存效率降低。However, due to the multi-bit characteristics of the multi-level memory cells, when reading each bit of the multi-level memory cells, multiple read operations may be required to apply read voltages in different voltage ranges. The more reading operations required, the easier it is to cause data reading errors. Therefore, under the condition that the number of read operations of the multi-level memory cells is relatively large, an error correction mechanism (eg, encoding with an error correction code (ECC)) is also required to correct possible data read errors. When the number of read operations is too many and a more complex error correction code must be used, the amount of additional data added after encoding will be greatly increased, resulting in a decrease in data storage efficiency of the memory.
由上,如何使多階記憶胞的讀取操作次數最小化,以簡化多階記憶胞的儲存資料的錯誤校正機制,以降低錯誤校正機制所添增之額外資料量,係為本技術領域之相關產業所致力之重要課題。From the above, how to minimize the number of read operations of multi-level memory cells, so as to simplify the error correction mechanism of the stored data of the multi-level memory cells, so as to reduce the amount of extra data added by the error correction mechanism, is a subject in the technical field. Important issues that related industries are working on.
本揭示之一實施例提供一種儲存裝置,包括記憶體電路及控制電路。記憶體電路包括複數個多階記憶胞,各多階記憶胞係用以於至少一第一頁面、一第二頁面、及一第三頁面中儲存至少一第一位元、一第二位元、及一第三位元。控制電路用於根據相關於第一位元之一次讀取操作來讀取第一位元,根據相關於第二位元之M次讀取操作來讀取第二位元,並根據相關於第三位元之N次讀取操作來讀取第三位元,其中,M與N之差值小於等於1。An embodiment of the present disclosure provides a storage device including a memory circuit and a control circuit. The memory circuit includes a plurality of multi-level memory cells, and each multi-level memory cell is used for storing at least a first bit and a second bit in at least a first page, a second page, and a third page , and a third bit. The control circuit is configured to read the first bit according to one read operation related to the first bit, read the second bit according to M times of read operations related to the second bit, and read the second bit according to M times of read operations related to the second bit. The third bit is read by N read operations of three bits, wherein the difference between M and N is less than or equal to 1.
本揭示之另一實施例提供一種資料存取方法,係應用於包括複數個多階記憶胞之一記憶體電路,各多階記憶胞係用以於至少一第一頁面、一第二頁面、及一第三頁面中儲存至少一第一位元、一第二位元、及一第三位元,資料存取方法包括以下步驟。將複數個多位元資料儲存於多階記憶胞之第一位元、第二位元及第三位元,第一位元對應於第一頁面,第二位元對應於第二頁面,第三位元對應於第三頁面。根據相關於多階記憶胞之第一位元之一次讀取操作來讀取第一位元。根據相關於多階記憶胞之第二位元之M次讀取操作來讀取第二位元。以及,根據相關於多階記憶胞之第三位元之N次讀取操作來讀取第三位元,其中,M與N之差值小於等於1。Another embodiment of the present disclosure provides a data access method applied to a memory circuit including a plurality of multi-level memory cells, each of which is used for at least a first page, a second page, And a third page stores at least a first bit, a second bit, and a third bit, the data access method includes the following steps. A plurality of multi-bit data are stored in the first bit, the second bit and the third bit of the multi-level memory cell, the first bit corresponds to the first page, the second bit corresponds to the second page, and the first bit corresponds to the second page. The three digits correspond to the third page. The first cell is read according to a read operation associated with the first cell of the multi-level memory cell. The second bit is read according to M read operations associated with the second bit of the multi-level memory cell. And, the third bit is read according to N times of read operations related to the third bit of the multi-level memory cell, wherein the difference between M and N is less than or equal to 1.
透過閱讀以下圖式、詳細說明以及申請專利範圍,可見本發明之其他方面以及優點。Other aspects and advantages of the present invention will become apparent upon reading the following drawings, detailed description, and claims.
本說明書的技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,此部分用語之解釋係以本說明書之說明或定義為準。本揭露之各個實施例分別具有一或多個技術特徵。在可能實施的前提下,本技術領域具有通常知識者可選擇性地實施任一實施例中部分或全部的技術特徵,或者選擇性地將這些實施例中部分或全部的技術特徵加以組合。The technical terms in this specification refer to the common terms in the technical field. If some terms are described or defined in this specification, the interpretation of this part of the terms is subject to the descriptions or definitions in this specification. Each embodiment of the present disclosure has one or more technical features. Under the premise of possible implementation, those skilled in the art can selectively implement some or all of the technical features in any embodiment, or selectively combine some or all of the technical features in these embodiments.
第1圖為根據本揭示之第一實施例之儲存裝置100之方塊圖。參見第1圖,第一實施例之儲存裝置100包括一記憶體電路102及一控制電路104。其中,記憶體電路102包括數個多階記憶胞,每個多階記憶胞係用以於至少一第一頁面、一第二頁面、及一第三頁面中分別儲存至少一第一位元B1、一第二位元B2、及一第三位元B3。第一頁面為低頁面(low page),第二頁面為中頁面(middle page),並且第三頁面為高頁面(high page)。FIG. 1 is a block diagram of a storage device 100 according to a first embodiment of the present disclosure. Referring to FIG. 1 , the storage device 100 of the first embodiment includes a
並且,控制電路104用於根據相關於多階記憶胞的第一位元B1之一次讀取操作來讀取第一位元B1,根據相關於第二位元B2之M次讀取操作來讀取第二位元B2,並根據相關於第三位元B3之N次讀取操作來讀取第三位元B3,其中,M與N之差值小於或等於1。本揭示之技術方案之一技術功效在於:第二位元B2的讀取次數M與第三位元B3的讀取次數N係平均分配,使得第二位元B2及第三位元B3的讀取次數M與N相同或接近,可避免多階記憶胞的某一個位元(或數個位元)的讀取次數過多而導致此些位元讀取錯誤率增加。In addition, the
在本揭示之第一實施例中,多階記憶胞係為三階記憶胞(Triple-Level Cell, TLC),每個三階記憶胞具有三個位元,分別為第一位元B1、第二位元B2及第三位元B3。第一至第三位元B1~B3分別儲存於第一至第三頁面,並用於儲存一個三位元資料(b1 b2 b3) 2,其中b1為第一位元B1之二進位邏輯值、b2為第二位元B2之二進位邏輯值、並且b3為第三位元B3之二進位邏輯值。儲存不同邏輯值的三位元資料(b1 b2 b3) 2的三階記憶胞具有不同的臨界電壓分布,例如,儲存三位元資料(0 0 0) 2的三階記憶胞具有臨界電壓分布Vt(0,0,0),儲存三位元資料(0 0 1) 2的三階記憶胞具有臨界電壓分布Vt(0,0,1)。不同邏輯值的三位元資料係為(1 1 1) 2、(1 0 1) 2、(1 0 0) 2、(1 1 0) 2、(0 1 0) 2、(0 1 1) 2、(0 0 1) 2、或(0 0 0) 2而分別對應於臨界電壓分布Vt(1,1,1)、Vt(1,0,1)、Vt(1,0,0)、Vt(1,1,0)、Vt(0,1,0)、Vt(0,1,1)、Vt(0,0,1)、及Vt(0,0,0)。其中,臨界電壓分布Vt(1,1,1)、Vt(1,0,1)、Vt(1,0,0)、Vt(1,1,0)、Vt(0,1,0)、Vt(0,1,1)、Vt(0,0,1)、及Vt(0,0,0) 由低電壓至高電壓依序排列。 In the first embodiment of the present disclosure, the multi-level memory cell line is a triple-level memory cell (TLC), and each third-level memory cell has three bits, which are the first bit B1, the third bit Two bits B2 and third bits B3. The first to third bits B1~B3 are stored in the first to third pages respectively, and are used to store a three-bit data (b1 b2 b3) 2 , where b1 is the binary logic value of the first bit B1, b2 is the binary logic value of the second bit B2, and b3 is the binary logic value of the third bit B3. The third-order memory cells storing three-bit data (b1 b2 b3) 2 with different logic values have different threshold voltage distributions, for example, the third-order memory cells storing three-bit data (0 0 0) 2 have a threshold voltage distribution Vt (0,0,0), the third-order memory cell storing three-bit data (0 0 1) 2 has a threshold voltage distribution Vt(0,0,1). The three-bit metadata for different logical values are (1 1 1) 2 , (1 0 1) 2 , (1 0 0) 2 , (1 1 0) 2 , (0 1 0) 2 , (0 1 1) 2 , (0 0 1) 2 , or (0 0 0) 2 corresponding to the threshold voltage distributions Vt(1,1,1), Vt(1,0,1), Vt(1,0,0), Vt(1,1,0), Vt(0,1,0), Vt(0,1,1), Vt(0,0,1), and Vt(0,0,0). Among them, the threshold voltage distribution Vt(1,1,1), Vt(1,0,1), Vt(1,0,0), Vt(1,1,0), Vt(0,1,0), Vt(0,1,1), Vt(0,0,1), and Vt(0,0,0) are arranged in order from low voltage to high voltage.
更具體而言,記憶體電路102可以是各種類型的二維記憶體,例如:二維反及閘快閃記憶體(2D NAND flash memory)、二維相變記憶體(2D Phase Change Memory, 2D PCM)、二維電阻式隨機存取記憶體(2D Resistive Random Access Memory, 2D RRAM)、或是二維磁阻式隨機存取記憶體(2D Magnetoresistive Random Access Memory, 2D MRAM)。記憶體電路102亦可以是各種類型的三維記憶體,例如:三維反及閘快閃記憶體(3D NAND flash memory)、三維相變記憶體(3D PCM)、三維電阻式隨機存取記憶體(3D RRAM)、或是三維磁阻式隨機存取記憶體(3D MRAM)。記憶體電路102包括複數個多階記憶胞(Multi-Level Cell, MLC),每個多階記憶胞具有多個位元,並且多階記憶胞可以是二維記憶胞或三維記憶胞。More specifically, the
另一方面,控制電路104電性連接於記憶體電路102。控制電路104用以執行讀取操作以讀取記憶體電路102中的三階記憶胞所儲存的三位元資料(b1 b2 b3)
2。控制電路104可根據三階記憶胞之臨界電壓分布而施加不同電壓值的讀取電壓Vr以分別讀取三階記憶胞的第一位元B1、第二位元B2及第三位元B3,詳如下文之說明。
On the other hand, the
第2A圖至第2C圖為本揭示之三階記憶胞之臨界電壓分布與讀取電壓Vr之示意圖。首先參見第2A圖,記憶體電路102中的三階記憶胞所儲存之不同邏輯值的三位元資料(1 1 1)
2、(1 0 1)
2、(1 0 0)
2、(1 1 0)
2、(0 1 0)
2、(0 1 1)
2、(0 0 1)
2及(0 0 0)
2分別對應於臨界電壓分布Vt(1,1,1)、Vt(1,0,1)、Vt(1,0,0)、Vt(1,1,0)、Vt(0,1,0)、Vt(0,1,1)、Vt(0,0,1)及Vt(0,0,0)(從低電壓至高電壓排序)。
2A to 2C are schematic diagrams of the threshold voltage distribution and the read voltage Vr of the third-order memory cells of the present disclosure. Referring first to FIG. 2A, the three-bit data (1 1 1) 2 , (1 0 1) 2 , (1 0 0) 2 , (1) of different logic values stored in the third-order memory cells in the
如第2A圖所示,臨界電壓分布Vt(1,1,0)與臨界電壓分布Vt(0,1,0)之間係為電壓範圍R1。當控制電路104對於三階記憶胞施加的讀取電壓Vr設定為位於電壓範圍R1內,則具有臨界電壓分布Vt(1,1,1)、Vt(1,0,1)、Vt(1,0,0)或Vt(1,1,0)之三階記憶胞之臨界電壓Vt皆小於讀取電壓Vr,因此具有臨界電壓分布Vt(1,1,1)、Vt(1,0,1)、Vt(1,0,0)或Vt(1,1,0)之三階記憶胞可被導通,而能夠經由其他電路(例如感應放大器)讀取出記憶胞儲存之邏輯值。可被導通之三階記憶胞分別儲存了三位元資料(1 1 1)
2、(1 0 1)
2、(1 0 0)
2或(1 1 0)
2,被導通之此些三階記憶胞之第一位元B1之邏輯值b1係讀取為 “1”。
As shown in FIG. 2A, the voltage range R1 is between the threshold voltage distribution Vt(1, 1, 0) and the threshold voltage distribution Vt(0, 1, 0). When the read voltage Vr applied by the
另一方面,具有臨界電壓分布Vt(0,1,0)、Vt(0,1,1)、Vt(0,0,1)或Vt(0,0,0)之三階記憶胞之臨界電壓Vt皆大於讀取電壓Vr,因此具有臨界電壓分布Vt(0,1,0)、Vt(0,1,1)、Vt(0,0,1)或Vt(0,0,0)之三階記憶胞無法被導通。而無法被導通之此些三階記憶胞分別儲存了三位元資料(0 1 0) 2、(0 1 1) 2、(0 0 1) 2或(0 0 0) 2,無法被導通之此些三階記憶胞之第一位元B1之邏輯值b1係判斷為 “0”。 On the other hand, the threshold of a third-order memory cell with threshold voltage distribution Vt(0,1,0), Vt(0,1,1), Vt(0,0,1) or Vt(0,0,0) The voltages Vt are all greater than the read voltage Vr, so there is a threshold voltage distribution of Vt(0,1,0), Vt(0,1,1), Vt(0,0,1) or Vt(0,0,0) Third-order memory cells cannot be turned on. The third-order memory cells that cannot be turned on store three bits of metadata (0 1 0) 2 , (0 1 1) 2 , (0 0 1) 2 or (0 0 0) 2 respectively, and cannot be turned on. The logic value b1 of the first bit B1 of the third-order memory cells is determined to be "0".
由上,當控制電路104施加的讀取電壓Vr設定為位於一個電壓範圍R1內,則可將不同臨界電壓分布的三階記憶胞的第一位元B1讀取為邏輯值 “1”或判斷為邏輯值 “0”。因此,相關於三階記憶胞的第一位元B1之讀取操作為一次讀取操作,此一次讀取操作的讀取電壓Vr係介於臨界電壓分布Vt(1,1,0)與Vt(0,1,0)之間。From the above, when the read voltage Vr applied by the
接著,參見第2B圖,臨界電壓分布Vt(1,1,1)與臨界電壓分布Vt(1,0,1)之間係為電壓範圍R2,臨界電壓分布Vt(1,0,0)與臨界電壓分布Vt(1,1,0)之間係為電壓範圍R3,臨界電壓分布Vt(0,1,1)與臨界電壓分布Vt(0,0,1)之間係為電壓範圍R4。Next, referring to FIG. 2B, the voltage range R2 is between the threshold voltage distribution Vt(1,1,1) and the threshold voltage distribution Vt(1,0,1), and the threshold voltage distribution Vt(1,0,0) and The voltage range R3 is between the threshold voltage distribution Vt(1,1,0), and the voltage range R4 is between the threshold voltage distribution Vt(0,1,1) and the threshold voltage distribution Vt(0,0,1).
對於具有臨界電壓分布Vt(1,1,1)之三階記憶胞而言,該些三階記憶胞的臨界電壓皆小於電壓範圍R2的電壓值。當讀取電壓Vr設定為位於電壓範圍R2內(成為讀取電壓Vr2)時,讀取電壓Vr2大於此些三階記憶胞的臨界電壓,因而此些三階記憶胞可被讀取電壓Vr2導通而讀取。此些三階記憶胞儲存了三位元資料(1 1 1) 2,其中的第二位元B2之邏輯值b2為“1”。換言之,讀取電壓Vr2可將臨界電壓分布Vt(1,1,1)之三階記憶胞儲存的第二位元B2之邏輯值b2讀取為“1”。 For the third-order memory cells with the threshold voltage distribution Vt(1,1,1), the threshold voltages of the third-order memory cells are all smaller than the voltage value of the voltage range R2. When the read voltage Vr is set within the voltage range R2 (to be the read voltage Vr2 ), the read voltage Vr2 is greater than the threshold voltage of the third-order memory cells, so the third-order memory cells can be turned on by the read voltage Vr2 while reading. These third-order memory cells store three bits of data (1 1 1) 2 , and the logic value b2 of the second bit B2 is "1". In other words, the read voltage Vr2 can read the logic value b2 of the second bit B2 stored in the third-order memory cell of the threshold voltage distribution Vt(1,1,1) as "1".
另一方面,對於臨界電壓分布Vt(1,0,1) 之三階記憶胞以及臨界電壓分布Vt(1,0,0)之三階記憶胞而言,此些三階記憶胞的臨界電壓皆大於電壓範圍R2的電壓值,並且小於電壓範圍R3的電壓值。因此,此些三階記憶胞無法被讀取電壓Vr2導通,因而無法被讀取。然而,若提高讀取電壓Vr的電壓值,將讀取電壓Vr設定為位於電壓範圍R3內(成為讀取電壓Vr3)時,此些三階記憶胞能夠被讀取電壓Vr3導通而能夠被讀取,可讀取出此些三階記憶胞儲存的第二位元B2之邏輯值b2為“0”。On the other hand, for the third-order memory cells of the threshold voltage distribution Vt(1,0,1) and the third-order memory cells of the threshold voltage distribution Vt(1,0,0), the threshold voltages of these third-order memory cells Both are greater than the voltage value of the voltage range R2, and are less than the voltage value of the voltage range R3. Therefore, these third-order memory cells cannot be turned on by the read voltage Vr2, and thus cannot be read. However, if the voltage value of the read voltage Vr is increased, and the read voltage Vr is set to be within the voltage range R3 (to be the read voltage Vr3), the third-order memory cells can be turned on by the read voltage Vr3 and can be read read, the logic value b2 of the second bit B2 stored in the third-order memory cells can be read as "0".
換言之,臨界電壓分布Vt(1,0,1)與Vt(1,0,0)之三階記憶胞無法被讀取電壓Vr2導通,但可被讀取電壓Vr3所導通。因此,對於此些三階記憶胞的第二位元B2而言,其係為讀取電壓Vr2所讀取的位元以及讀取電壓Vr3所讀取的位元的交集。此交集的第二位元B2之邏輯值b2為“0”。In other words, the third-order memory cells of the threshold voltage distributions Vt(1,0,1) and Vt(1,0,0) cannot be turned on by the read voltage Vr2, but can be turned on by the read voltage Vr3. Therefore, for the second bit B2 of these third-order memory cells, it is the intersection of the bit read by the read voltage Vr2 and the bit read by the read voltage Vr3. The logic value b2 of the second bit B2 of this intersection is "0".
另一方面,對於臨界電壓分布Vt(1,1,0)、Vt(0,1,0)、Vt(0,1,1)之三階記憶胞而言,該些三階記憶胞的臨界電壓皆大於電壓範圍R3的電壓值,並且小於電壓範圍R4的電壓值。讀取電壓Vr3無法導通此些三階記憶胞,但若提高讀取電壓Vr至電壓範圍R4內(成為讀取電壓Vr4)則能夠導通此些三階記憶胞。也就是說,對於臨界電壓分布Vt(1,1,0)、Vt(0,1,0)、Vt(0,1,1)之三階記憶胞而言,讀取電壓Vr3所讀取的位元與讀取電壓Vr4所讀取的位元的交集為第二位元B2,第二位元B2之邏輯值b2為“1”。On the other hand, for the third-order memory cells of the threshold voltage distributions Vt(1,1,0), Vt(0,1,0) and Vt(0,1,1), the thresholds of the third-order memory cells The voltages are all greater than the voltage value of the voltage range R3 and less than the voltage value of the voltage range R4. The read voltage Vr3 cannot turn on the third-order memory cells, but if the read voltage Vr is increased to within the voltage range R4 (to become the read voltage Vr4 ), the third-order memory cells can be turned on. That is to say, for the third-order memory cells of the threshold voltage distribution Vt(1,1,0), Vt(0,1,0) and Vt(0,1,1), the value read by the reading voltage Vr3 The intersection of the bit and the bit read by the read voltage Vr4 is the second bit B2, and the logic value b2 of the second bit B2 is "1".
此外,對於臨界電壓分布Vt(0,0,1)、Vt(0,0,0)之三階記憶胞而言,讀取電壓Vr4無法導通該些三街記憶胞,而此些三階記憶胞的第二位元B2之邏輯值b2判斷為“0”。In addition, for the third-order memory cells of the threshold voltage distribution Vt(0,0,1), Vt(0,0,0), the read voltage Vr4 cannot turn on these third-order memory cells, and these third-order memory cells The logic value b2 of the second bit B2 of the cell is judged to be "0".
由上,若控制電路104針對於三階記憶胞之第二位元B2進行讀取,則讀取電壓Vr依序設定為位於三個電壓範圍R2、R3、R4內(成為讀取電壓Vr2、Vr3、Vr4),而依序將不同臨界電壓分布的三階記憶胞的第二位元B2讀取或判斷為邏輯值 “1”或邏輯值 “0”。因此,相關於三階記憶胞的第二位元B2之讀取操作為三次讀取操作。此些三次讀取操作的讀取電壓Vr係分別設定為介於臨界電壓分布Vt(1,1,1)與Vt(1,0,1)之間、介於臨界電壓分布Vt(1,0,0)與Vt(1,1,0)之間、及介於臨界電壓分布Vt(0,1,1)與Vt(0,0,1)之間。From the above, if the
類似於第二位元B2的讀取方式,第三位元B3的讀取方式請參見第2C圖。臨界電壓分布Vt(1,0,1)與Vt(1,0,0)之間係為電壓範圍R5,臨界電壓分布Vt(0,1,0)與Vt(0,1,1)之間係為電壓範圍R6,臨界電壓分布Vt(0,0,1)與Vt(0,0,0)之間係為電壓範圍R7。控制電路104將讀取電壓Vr依序設定為位於三個電壓範圍R5、R6、R7內,而依序將不同臨界電壓分布的三階記憶胞的第三位元B3讀取或判斷為邏輯值 “1”或邏輯值 “0”。因此,相關於第三位元B3之讀取操作亦為三次讀取操作,此些三次讀取操作的讀取電壓Vr係分別設定為介於臨界電壓分布Vt(1,0,1)與Vt(1,0,0)之間、介於臨界電壓分布Vt(0,1,0)與Vt(0,1,1)之間、及介於臨界電壓分布Vt(0,0,1)與Vt(0,0,0)之間。Similar to the reading method of the second bit B2, please refer to FIG. 2C for the reading method of the third bit B3. The voltage range R5 is between the threshold voltage distribution Vt(1,0,1) and Vt(1,0,0), and the threshold voltage distribution between Vt(0,1,0) and Vt(0,1,1) It is the voltage range R6, and the threshold voltage distribution between Vt(0,0,1) and Vt(0,0,0) is the voltage range R7. The
綜上,對於三階記憶胞之第一位元B1而言,係將讀取電壓Vr設定為位於一個電壓範圍R1內以進行一次讀取操作;對於第二位元B2而言,係將讀取電壓Vr依序設定為位於三個電壓範圍R2、R3、R4內以進行三次讀取操作;對於第三位元B3而言,係將讀取電壓Vr依序設定為位於三個電壓範圍R5、R6、R7內以進行三次讀取操作。由上,第一實施例之三階記憶胞之臨界電壓分布與讀取電壓Vr之配置係為「1-3-3配置」,其中,第一位元B1的讀取次數為一次。並且,第二位元B2及第三位元B3的讀取次數係平均分配,使得,第二位元B2及第三位元B3的讀取次數相同或接近。在第一實施例之「1-3-3配置」中,第二位元B2及第三位元B3的讀取次數皆為三次。To sum up, for the first bit B1 of the third-order memory cell, the read voltage Vr is set within a voltage range R1 to perform a read operation; for the second bit B2, the read voltage Vr is set to be within a voltage range R1. The voltage Vr is set to be located in the three voltage ranges R2, R3, R4 in sequence to perform three read operations; for the third bit B3, the read voltage Vr is set to be located in the three voltage ranges R5 in sequence , R6, R7 to perform three read operations. From the above, the configuration of the threshold voltage distribution and the read voltage Vr of the third-order memory cells in the first embodiment is a "1-3-3 configuration", wherein the number of read times of the first cell B1 is one. In addition, the read times of the second bit B2 and the third bit B3 are evenly distributed, so that the read times of the second bit B2 and the third bit B3 are the same or close to each other. In the "1-3-3 configuration" of the first embodiment, the read times of the second bit B2 and the third bit B3 are both three times.
在「1-3-3配置」中,第二位元B2及第三位元B3的讀取次數係平均分配,可避免某一個位元的讀取次數過多而導致讀取錯誤率增加。例如,在一比較例中,對於「1-2-4配置」的三階記憶胞的第三位元B3需要進行四次讀取操作,使得「1-2-4配置」的第三位元B3讀取錯誤率增加,因而「1-2-4配置」的儲存資料須以較複雜的錯誤校正機制來保護。例如,對於「1-2-4配置」的儲存資料進行編碼的錯誤校正碼而言,需要在儲存資料以外置入更多的校驗位元(parity bit),導致在儲存資料以外置入的額外資料量(overhead)增加,造成資料儲存效率減損。In the "1-3-3 configuration", the read times of the second bit B2 and the third bit B3 are evenly distributed, which can prevent the read error rate from increasing due to excessive read times of a certain bit. For example, in a comparative example, four read operations are required for the third bit B3 of the third-order memory cell of the "1-2-4 configuration", so that the third bit of the "1-2-4 configuration" The B3 read error rate increases, so the stored data in the "1-2-4 configuration" must be protected with a more complex error correction mechanism. For example, for the error correction code used to encode the stored data of "1-2-4 configuration", it is necessary to insert more parity bits outside the stored data, resulting in the additional parity bits inserted outside the stored data. The amount of additional data (overhead) increases, resulting in a loss of data storage efficiency.
第3圖及第4圖為根據本揭示之第一實施例之儲存裝置100之應用之一例之示意圖。首先參見第3圖,具有「1-3-3配置」之三階記憶胞之儲存裝置100可用於儲存權重(weight)資料302與通常(normal)資料304,其中權重資料302可應用於乘加(Multiply and Accumulate,MAC)運算,例如按位元(bit-wise)之乘加運算。按位元乘加運算之權重資料302具有單一位元之資料格式,因此係將權重資料302儲存於「1-3-3配置」之三階記憶胞之第一位元B1(對應至低頁面);另一方面,通常資料304係為記憶體電路102所儲存之一般性的資料或通常性的資料,通常資料304並不限定於特定用途。在本實施例中,通常資料304係為權重資料302以外的其他的一般性的資料或通常性的資料。換言之,通常資料304並不包括用於乘加運算的權重資料302,並且通常資料304也不限定用於乘加運算。通常資料304係儲存於三階記憶胞之第二位元B2(對應至中頁面)及第三位元B3(對應至高頁面)。本揭示之「1-3-3配置」之三階記憶胞之第一位元B1僅需進行一次讀取操作,因而適用於儲存任何類型之按位元運算之資料。相對地,在一比較例的「2-3-2配置」中,第一位元B1需要進行兩次讀取操作,因此「2-3-2配置」的三階記憶胞無法適用於儲存按位元運算之資料。FIG. 3 and FIG. 4 are schematic diagrams illustrating an example of the application of the storage device 100 according to the first embodiment of the present disclosure. Referring first to FIG. 3, the storage device 100 having a third-order memory cell in a "1-3-3 configuration" can be used to store
接著參見第4圖,在權重資料402儲存於三階記憶胞之第一位元B1之前,更可經由錯誤校正碼對於權重資料402進行編碼,而在權重資料402的各資料欄位W1、W2、W3、W4...之後置入複數個校驗位元P。當應用於按位元乘加運算時,通常資料404與權重資料402之資料格式必須一致,而對應的將通常資料404進行資料延伸,以於通常資料404的各資料欄位N1、N2、N3、N4...之後置入填補位元(例如邏輯值 “0”之位元)以對應於權重資料402之校驗位元P。Next, referring to FIG. 4 , before the
在上述之第一實施例中,多階記憶胞為三階記憶胞,而本揭示之第二實施例之多階記憶胞為四階記憶胞(Quad-Level Cell, QLC)。每個四階記憶胞具有四個位元,分別為第一位元B1、第二位元B2、第三位元B3及第四位元B4以儲存四位元資料(b1 b2 b3 b4)
2,不同邏輯值的四位元資料(b1 b2 b3 b4)
2分別為(1 1 1 1)
2、(1 1 1 0)
2、(1 1 0 0)
2、(1 0 0 0)
2、(1 0 1 0)
2、(1 0 1 1)
2、(1 0 0 1)
2、(1 1 0 1)
2、(0 1 0 1)
2、(0 0 0 1)
2、(0 0 0 0)
2、(0 0 1 0)
2、(0 0 1 1)
2、(0 1 1 1)
2、(0 1 1 0)
2或(0 1 0 0)
2而分別對應至不同的臨界電壓分布,從低電壓至高電壓依序為臨界電壓分布Vt(1,1,1,1)、Vt(1,1,1,0)、Vt(1,1,0,0)、Vt(1,0,0,0)、Vt(1,0,1,0)、Vt(1,0,1,1)、Vt(1,0,0,1)、Vt(1,1,0,1)、Vt(0,1,0,1)、Vt(0,0,0,1)、Vt(0,0,0,0)、Vt(0,0,1,0)、Vt(0,0,1,1)、Vt(0,1,1,1)、Vt(0,1,1,0)及Vt(0,1,0,0)。根據上述之臨界電壓分布,控制電路104施加不同電壓值的讀取電壓Vr以讀取四階記憶胞儲存的四位元資料(b1 b2 b3 b4)
2,詳如下文之說明。
In the above-mentioned first embodiment, the multi-level memory cell is a third-level memory cell, while the multi-level memory cell of the second embodiment of the present disclosure is a quad-level memory cell (Quad-Level Cell, QLC). Each fourth-level memory cell has four bits, which are the first bit B1, the second bit B2, the third bit B3 and the fourth bit B4 to store the four-bit data (b1 b2 b3 b4) 2 , the four-bit data (b1 b2 b3 b4) 2 of different logical values are (1 1 1 1) 2 , (1 1 1 0) 2 , (1 1 0 0) 2 , (1 0 0 0) 2 , (1 0 1 0) 2 , (1 0 1 1) 2 , (1 0 0 1) 2 , (1 1 0 1) 2 , (0 1 0 1) 2 , (0 0 0 1) 2 , (0 0 0 0) 2 , (0 0 1 0) 2 , (0 0 1 1) 2 , (0 1 1 1) 2 , (0 1 1 0) 2 or (0 1 0 0) 2 and corresponding to different The threshold voltage distribution of , from low voltage to high voltage is the threshold voltage distribution Vt(1,1,1,1), Vt(1,1,1,0), Vt(1,1,0,0), Vt (1,0,0,0), Vt(1,0,1,0), Vt(1,0,1,1), Vt(1,0,0,1), Vt(1,1,0 ,1), Vt(0,1,0,1), Vt(0,0,0,1), Vt(0,0,0,0), Vt(0,0,1,0), Vt( 0,0,1,1), Vt(0,1,1,1), Vt(0,1,1,0) and Vt(0,1,0,0). According to the above threshold voltage distribution, the
第5A圖至第5E圖為本揭示之四階記憶胞之臨界電壓分布與讀取電壓Vr之示意圖,首先參見第5A圖,對於四階記憶胞之第一位元B1的讀取操作而言,臨界電壓分布Vt(1,1,0,1)與Vt(0,1,0,1)之間具有電壓範圍R1;當控制電路104施加的讀取電壓Vr設定為位於電壓範圍R1內,則具有臨界電壓分布Vt(1,1,1,1)、Vt(1,1,1,0)、Vt(1,1,0,0)、Vt(1,0,0,0)、Vt(1,0,1,0)、Vt(1,0,1,1)、Vt(1,0,0,1)、Vt(1,1,0,1)的四階記憶胞的臨界電壓Vt小於讀取電壓Vr,此些四階記憶胞可被導通,進而讀取出第一位元B1之邏輯值 “1”。另一方面,具有臨界電壓分布Vt(0,1,0,1)、Vt(0,0,0,1)、Vt(0,0,0,0)、Vt(0,0,1,0)、Vt(0,0,1,1)、Vt(0,1,1,1)、Vt(0,1,1,0)及Vt(0,1,0,0)的四階記憶胞無法導通,此些無法導通的四階記憶胞的第一位元B1係判斷為邏輯值 “0”。由於將讀取電壓Vr設定於一個電壓範圍R1內,因此相關於四階記憶胞的第一位元B1之讀取操作為一次讀取操作。FIGS. 5A to 5E are schematic diagrams of the threshold voltage distribution and the read voltage Vr of the fourth-order memory cell of the present disclosure. Referring first to FIG. 5A, for the read operation of the first bit B1 of the fourth-order memory cell , there is a voltage range R1 between the threshold voltage distribution Vt(1,1,0,1) and Vt(0,1,0,1); when the read voltage Vr applied by the
對於四階記憶胞的第二位元B2的讀取操作而言,參見第5B圖,在臨界電壓分布Vt(1,1,0,0)與Vt(1,0,0,0)之間係為電壓範圍R2,在臨界電壓分布Vt(1,0,0,1)與Vt(1,1,0,1)之間係為電壓範圍R3,在臨界電壓分布Vt(0,1,0,,1)與Vt(0,0,0,1)之間係為電壓範圍R4,在臨界電壓分布Vt(0,0,1,1)與Vt(0,1,1,1)之間係為電壓範圍R5。當控制電路104施加的讀取電壓Vr依序設定為位於四個電壓範圍R2、R3、R4、R5內,則可將不同臨界電壓分布的四階記憶胞的第二位元B2依序判斷為邏輯值“1”或邏輯值“0”。因此,相關於四階記憶胞的第二位元B2之讀取操作為四次讀取操作。For the read operation of the second bit B2 of the fourth-order memory cell, see Fig. 5B, between the threshold voltage distributions Vt(1,1,0,0) and Vt(1,0,0,0) is the voltage range R2, between the threshold voltage distribution Vt(1,0,0,1) and Vt(1,1,0,1) is the voltage range R3, the threshold voltage distribution Vt(0,1,0 ,,1) and Vt(0,0,0,1) is the voltage range R4, between the threshold voltage distribution Vt(0,0,1,1) and Vt(0,1,1,1) is the voltage range R5. When the read voltage Vr applied by the
類似的,參見第5C圖,對於四階記憶胞的第三位元B3的讀取操作而言,在臨界電壓分布Vt(1,1,1,0)與Vt(1,1,0,0)之間係為電壓範圍R6,在臨界電壓分布Vt(1,0,0,0)與Vt(1,0,1,0)之間係為電壓範圍R7,在臨界電壓分布Vt(1,0,1,1)與Vt(1,0,0,1)之間係為電壓範圍R8,在臨界電壓分布Vt(0,0,0,0)與Vt(0,0,1,0)之間係為電壓範圍R9,在臨界電壓分布Vt(0,1,1,0)與Vt(0,1,0,0)之間係為電壓範圍R10。當控制電路104施加的讀取電壓Vr依序設定為位於五個電壓範圍R6、R7、R8、R9、R10內,則可將不同臨界電壓分布的四階記憶胞的第三位元B3依序判斷為邏輯值“1”或邏輯值“0”。因此,相關於四階記憶胞的第三位元B3之讀取操作為五次讀取操作。Similarly, referring to Figure 5C, for the read operation of the third bit B3 of the fourth-order memory cell, the threshold voltage distributions Vt(1,1,1,0) and Vt(1,1,0,0 ) is the voltage range R6, between the threshold voltage distribution Vt(1,0,0,0) and Vt(1,0,1,0) is the voltage range R7, the threshold voltage distribution Vt(1, The voltage range R8 is between 0,1,1) and Vt(1,0,0,1), and the threshold voltage distribution Vt(0,0,0,0) and Vt(0,0,1,0) The voltage range R9 is between them, and the voltage range R10 is between the threshold voltage distributions Vt(0,1,1,0) and Vt(0,1,0,0). When the read voltage Vr applied by the
類似的,參見第5D圖,對於四階記憶胞的第四位元B4的讀取操作而言,在臨界電壓分布Vt(1,1,1,1)與Vt(1,1,1,0)之間係為電壓範圍R11,在臨界電壓分布Vt(1,0,1,0)與Vt(1,0,1,1)之間係為電壓範圍R12,在臨界電壓分布Vt(0,0,0,1)與Vt(0,0,0,0)之間係為電壓範圍R13,在臨界電壓分布Vt(0,0,1,0)與Vt(0,0,1,1)之間係為電壓範圍R14,在臨界電壓分布Vt(0,1,1,1)與Vt(0,1,1,0)之間係為電壓範圍R15。當控制電路104施加的讀取電壓Vr依序設定為位於五個電壓範圍R11、R12、R13、R14、R15內,則可將不同臨界電壓分布的四階記憶胞的第四位元B4依序判斷為邏輯值“1”或邏輯值“0”。因此,相關於四階記憶胞的第四位元B4之讀取操作為五次讀取操作。Similarly, referring to Fig. 5D, for the read operation of the fourth bit B4 of the fourth-order memory cell, the threshold voltage distributions Vt(1,1,1,1) and Vt(1,1,1,0 ) is the voltage range R11, and between the threshold voltage distribution Vt(1,0,1,0) and Vt(1,0,1,1) is the voltage range R12, and the threshold voltage distribution Vt(0, The voltage range R13 is between 0,0,1) and Vt(0,0,0,0), and the threshold voltage distribution between Vt(0,0,1,0) and Vt(0,0,1,1) The voltage range R14 is between them, and the voltage range R15 is between the threshold voltage distributions Vt(0,1,1,1) and Vt(0,1,1,0). When the read voltage Vr applied by the
綜上,並輔助參考第5E圖,第二實施例之控制電路104對於四階記憶胞之第一位元B1進行讀取時,係將讀取電壓Vr設定於一個電壓範圍R1內以進行一次讀取操作。對於第二位元B2進行讀取時,係將讀取電壓Vr依序設定於四個電壓範圍R2、R3、R4、R5內以進行四次讀取操作。對於第三位元B3進行讀取時,係將讀取電壓Vr依序設定於五個電壓範圍R6、R7、R8、R9、R10內以進行五次讀取操作。對於第四位元B4進行讀取時,係將讀取電壓Vr依序設定於五個電壓範圍R11、R12、R13、R14、R15內以進行五次讀取操作。因此,第二實施例之四階記憶胞之臨界電壓分布與讀取電壓Vr之配置係為「1-4-5-5配置」,其中,第一位元B1的讀取次數為一次,而第二至第四位元B2~B4的讀取次數係平均分配,使得第二至第四位元B2~B4的讀取次數相同或接近,以避免讀取操作的次數過度集中於某一個位元。例如,對於另一比較例之「1-2-4-8配置」的四階記憶胞的第四位元B4而言,其需要進行八次讀取操作,使得第四位元B4的讀取錯誤率增加,因而「1-2-4-8配置」的四階記憶胞儲存的資料的錯誤校正碼所需的額外資料量亦隨之增加。To sum up, and referring to FIG. 5E, when the
第6圖為根據本揭示之第二實施例之儲存裝置100之應用之一例之示意圖。參見第6圖,具有「1-4-5-5配置」之四階記憶胞之儲存裝置100應用於儲存按位元乘加運算之權重資料602及通常資料604。「1-4-5-5配置」之四階記憶胞之第一位元B1僅需進行一次讀取操作,因而適用於儲存按位元乘加運算之權重資料602,而四階記憶胞之第二至第四位元B2~B4則用於儲存按位元乘加運算之通常資料604。相對地,對於另一比較例之「3-4-4-4配置」的四階記憶胞的第一位元B1而言,其需要進行三次讀取操作,因而不適用於儲存按位元運算之資料。FIG. 6 is a schematic diagram of an example of the application of the storage device 100 according to the second embodiment of the present disclosure. Referring to FIG. 6 , the storage device 100 with the fourth-order memory cells having the "1-4-5-5 configuration" is used for storing
如第一實施例與第二實施例,控制電路104根據相關於多階記憶胞的第一位元B1的一次讀取操作以讀取第一位元B1,根據相關於多階記憶胞的第二位元B2的M次讀取操作以讀取第二位元B2,根據相關於多階記憶胞的第三位元B3的N次讀取操作以讀取第三位元B3;並且,若多階記憶胞為四階以上之記憶胞,則根據相關於多階記憶胞的第四位元B4的P次讀取操作以讀取第四位元B4。其中,將讀取次數平均分配於第二至第四位元B1~B4,使M、N及P其中任兩者之差值小於等於1。例如,在第一實施例之三階記憶胞之「1-3-3配置」中,M與N皆為三,M與N之差值等於零。而在第二實施例之四階記憶胞之「1-4-5-5配置」中,M係為四,N係為五,P係為五,M、N與P其中任兩者之差值等於一或等於零。As in the first embodiment and the second embodiment, the
第7圖為根據本揭示之第一實施例之資料存取方法之流程圖,第一實施例之資料存取方法係應用於第一實施例之儲存裝置100而對於三階記憶胞儲存的資料進行存取,第一實施例之資料存取方法並配合第2A至2C圖所示之讀取電壓Vr之設定範圍而實施。FIG. 7 is a flow chart of a data access method according to a first embodiment of the present disclosure. The data access method of the first embodiment is applied to the storage device 100 of the first embodiment for data stored in a third-order memory cell. For access, the data access method of the first embodiment is implemented in accordance with the setting range of the read voltage Vr shown in FIGS. 2A to 2C.
首先,在步驟702,將複數個三位元資料(b1 b2 b3)
2儲存於記憶體電路102中的複數個三階記憶胞之第一位元B1、第二位元B2及第三位元B3。其中,第一位元B1對應至第一頁面(低頁面),第二位元B2對應至第二頁面(中頁面),並且第三位元B3對應至第三頁面(高頁面)。在一例中,第一實施例之資料存取方法可用於儲存乘加運算之權重資料602與通常資料,其中係將權重資料602儲存於三階記憶胞之第一位元B1,並將通常資料儲存於三階記憶胞之第二位元B2與第三位元B3。
First, in
接著,在步驟704,將讀取電壓Vr設定於電壓範圍R1內以進行一次讀取操作,而讀取三階記憶胞之第一位元B1。其中,電壓範圍R1介於臨界電壓分布Vt(1,1,0)與Vt(0,1,0)之間Next, in
接著,在步驟706,將讀取電壓Vr依序設定於電壓範圍R2、R3、R4內以進行三次讀取操作,而讀取三階記憶胞之第二位元B2。其中,電壓範圍R2介於臨界電壓分布Vt(1,1,1)與Vt(1,0,1)之間,電壓範圍R3介於臨界電壓分布Vt(1,0,0)與Vt(1,1,0)之間,電壓範圍R4介於臨界電壓分布Vt(0,1,1)與Vt(0,0,1)之間。Next, in
接著,在步驟708,將讀取電壓Vr依序設定於電壓範圍R5、R6、R7內以進行三次讀取操作,而讀取三階記憶胞之第三位元B3。其中,電壓範圍R5介於臨界電壓分布Vt(1,0,1)與Vt(1,0,0)之間,電壓範圍R6介於臨界電壓分布Vt(0,1,0)與Vt(0,1,1)之間,電壓範圍R7介於臨界電壓分布Vt(0,0,1)與Vt(0,0,0)之間。Next, in
第8圖為根據本揭示之第二實施例之資料存取方法之流程圖,第二實施例之資料存取方法係應用於第二實施例之儲存裝置100而對於四階記憶胞儲存的資料進行存取,第二實施例之資料存取方法並配合第5A至5D圖所示之讀取電壓Vr之設定範圍而實施。FIG. 8 is a flowchart of a data access method according to a second embodiment of the present disclosure. The data access method of the second embodiment is applied to the storage device 100 of the second embodiment for data stored in a fourth-order memory cell. For access, the data access method of the second embodiment is implemented in accordance with the setting range of the read voltage Vr shown in FIGS. 5A to 5D.
首先,在步驟802,將複數個四位元資料(b1 b2 b3 b4)
2儲存於記憶體電路102中的複數四階記憶胞之第一位元B1、第二位元B2、第三位元B3及第四位元B4。在一例中,第二實施例之資料存取方法可用於儲存乘加運算之權重資料與通常資料,其中係將權重資料儲存於四階記憶胞之第一位元B1,並將通常資料儲存於四階記憶胞之第二位元B2、第三位元B3與第四位元B4。
First, in
接著,在步驟804,將讀取電壓Vr設定於電壓範圍R1內以進行一次讀取操作,而讀取四階記憶胞之第一位元B1。其中,電壓範圍R1介於臨界電壓分布Vt(1,1,0,1)與Vt(0,1,0,1)之間Next, in
接著,在步驟806,將讀取電壓Vr依序設定於電壓範圍R2、R3、R4、R5內以進行四次讀取操作,而讀取四階記憶胞之第二位元B2。其中,電壓範圍R2介於臨界電壓分布Vt(1,1,0,0)與Vt(1,0,0,0)之間,電壓範圍R3介於臨界電壓分布Vt(1,0,0,1)與Vt(1,1,0,1)之間,電壓範圍R4介於臨界電壓分布Vt(0,1,0,1)與Vt(0,0,0,1)之間,電壓範圍R5介於臨界電壓分布Vt(0,0,1,1)與Vt(0,1,1,1)之間。Next, in
接著,在步驟808,將讀取電壓Vr依序設定於電壓範圍R6、R7、R8、R9、R10內以進行五次讀取操作,而讀取四階記憶胞之第三位元B3。其中,電壓範圍R6介於臨界電壓分布Vt(1,1,1,0)與Vt(1,1,0,0)之間,電壓範圍R7介於臨界電壓分布Vt(1,0,0,0)與Vt(1,0,1,0)之間,電壓範圍R8介於臨界電壓分布 Vt(1,0,1,1)與Vt(1,0,0,1)之間,電壓範圍R9介於臨界電壓分布Vt(0,0,0,0)與Vt(0,0,1,0)之間,電壓範圍R10介於臨界電壓分布Vt(0,1,1,0)與Vt(0,1,0,0)之間。Next, in
接著,在步驟810,將讀取電壓Vr依序設定於電壓範圍R11、R12、R13、R14、R15內以進行五次讀取操作,而讀取四階記憶胞之第四位元B4。其中,電壓範圍R11介於臨界電壓分布 Vt(1,1,1,1)與Vt(1,1,1,0)之間,電壓範圍R12介於臨界電壓分布 Vt(1,0,1,0)與Vt(1,0,1,1)之間,電壓範圍R13介於臨界電壓分布Vt(0,0,0,1)與Vt(0,0,0,0)之間,電壓範圍R14介於臨界電壓分布Vt(0,0,1,0)與Vt(0,0,1,1)之間,電壓範圍R15介於臨界電壓分布Vt(0,1,1,1)與Vt(0,1,1,0)之間。Next, in
第9圖為根據本揭示之資料更新方法之流程圖,若儲存裝置100之多階記憶胞的某些位元需要進行多次讀取操作而容易造成讀取錯誤,則控制電路104可執行資料更新方法以校正錯誤。而第9圖之資料更新方法亦可配合於第7圖及第8圖所示之資料存取方法而實施。參見第9圖,在步驟902中,設定一第一閥值,此第一閥值為錯誤位元之數量之閥值(threshold of fail bit count,FBC
th)。在本實施例中,第一閥值係為通常資料之錯誤位元之數量之閥值。第一閥值必須在錯誤校正碼的校正能力之內,換言之,第一閥值必須小於錯誤校正碼可校正的位元的最大數量。
FIG. 9 is a flow chart of the data updating method according to the present disclosure. If some bits of the multi-level memory cells of the storage device 100 need to be read multiple times, which is likely to cause read errors, the
接著,於步驟904中,檢查記憶體電路102中的多階記憶胞儲存之資料是否發生錯誤(是否具有錯誤位元);若發生錯誤則計算錯誤位元的數量。在本實施例中,記憶體電路102的低頁面(三階記憶胞的第一位元)所儲存的權重資料大致上恆定儲存於記憶體電路102中,權重資料較少被讀取至外部電路或者被使用者變更。並且,權重資料的讀取操作係為一次讀取,讀取次數較少因而較不易發生資料損壞。因此,本實施例之資料更新方法不對於權重資料進行檢查。Next, in
相對的,記憶體電路102的中頁面與高頁面(三階記憶胞的第二位元與第三位元)所儲存的通常資料係為一般性的資料,通常資料可能經常被讀取至外部電路。並且,通常資料的讀取操作係為多次讀取(至少三次讀取)可能容易發生資料損壞,因而本實施例之資料更新方法針對於通常資料的錯誤位元進行檢查,並計算通常資料的錯誤位元的數量。In contrast, the normal data stored in the middle page and the upper page (the second and third bits of the third-order memory cells) of the
接著,於步驟906中,將通常資料中的錯誤位元的數量與第一閥值做比較。若通常資料中的錯誤位元的數量大於第一閥值,則需要進行資料更新,此時進行步驟908。另一方面,若通常資料中的錯誤位元的數量小於或等於第一閥值,則無需進行資料更新。Next, in
於步驟908,對於記憶體電路102的資料進行整體更新。換言之,不僅是更新通常資料,也一併更新權重資料。控制電路104從記憶體電路102中的全部頁面(低頁面、中頁面、高頁面)讀取權重資料與通常資料。換言之,係從多階記憶胞的第一位元讀取權重資料,並從多階記憶胞的第二位元、第三位元及/或第四位元讀取通常資料。In
接著,於步驟910,控制電路104以錯誤校正碼對於所讀取的通常資料以進行解碼,進而校正通常資料的錯誤位元。並且,控制電路104對於所讀取的權重資料進行更新。Next, in
接著,於步驟912,控制電路104將更新後的權重資料與校正後的通常資料分別寫入多階記憶胞的第一位元至第三位元及/或第四位元。Next, in
雖然本發明已以較佳實施例及範例詳細揭露如上,可理解的是,此些範例意指說明而非限制之意義。可預期的是,所屬技術領域中具有通常知識者可想到多種修改及組合,其多種修改及組合落在本發明之精神以及後附之申請專利範圍之範圍內。Although the present invention has been disclosed above in detail in terms of preferred embodiments and examples, it is to be understood that such examples are intended to be illustrative and not restrictive. It is contemplated that various modifications and combinations will occur to those of ordinary skill in the art, which are within the spirit of the inventions and the scope of the appended claims.
100:儲存裝置 102:記憶體電路 104:控制電路 B1:第一位元 B2:第二位元 B3:第三位元 B4:第四位元 Vr:讀取電壓 Vt:臨界電壓 R1~R15:電壓範圍 (b1 b2 b3) 2:三位元資料 (1 1 1) 2,(1 0 1) 2,(1 0 0) 2,(1 1 0) 2:三位元資料 (0 1 0) 2,(0 1 1) 2,(0 0 1) 2,(0 0 0) 2: 三位元資料 (b1 b2 b3 b4) 2:四位元資料 (1 1 1 1) 2,(1 1 1 0) 2,(1 1 0 0) 2,(1 0 0 0) 2:四位元資料 (1 0 1 0) 2,(1 0 1 1) 2,(1 0 0 1) 2,(1 1 0 1) 2:四位元資料 (0 1 0 1) 2,(0 0 0 1) 2,(0 0 0 0) 2,(0 0 1 0) 2:四位元資料 (0 0 1 1) 2,(0 1 1 1) 2,(0 1 1 0) 2,(0 1 0 0) 2:四位元資料 Vt(1,1,1),Vt(1,0,1),Vt(1,0,0):臨界電壓分布 Vt(1,1,0),Vt(0,1,0),Vt(0,1,1):臨界電壓分布 Vt(0,0,1),Vt(0,0,0):臨界電壓分布 Vt(1,1,1,1),Vt(1,1,1,0),Vt(1,1,0,0):臨界電壓分布 Vt(1,0,0,0),Vt(1,0,1,0),Vt(1,0,1,1):臨界電壓分布 Vt(1,0,0,1),Vt(1,1,0,1),Vt(0,1,0,1):臨界電壓分布 Vt(0,0,0,1),Vt(0,0,0,0),Vt(0,0,1,0):臨界電壓分布 Vt(0,0,1,1),Vt(0,1,1,1),Vt(0,1,1,0):臨界電壓分布 Vt(0,1,0,0):臨界電壓分布 P:校驗位元 302,402,602:權重資料 304,404,604:通常資料 W1~W4:資料欄位 N1~N4:資料欄位 702~708:步驟 802~810:步驟 902~912:步驟100: storage device 102: memory circuit 104: control circuit B1: first bit B2: second bit B3: third bit B4: fourth bit Vr: read voltage Vt: threshold voltage R1~R15: Voltage range (b1 b2 b3) 2 : three-bit data (1 1 1) 2 , (1 0 1) 2 , (1 0 0) 2 , (1 1 0) 2 : three-bit data (0 1 0) 2 ,(0 1 1) 2 ,(0 0 1) 2 ,(0 0 0) 2 : three-bit data (b1 b2 b3 b4) 2 : four-bit data (1 1 1 1) 2 ,(1 1 1 0) 2 ,(1 1 0 0) 2 ,(1 0 0 0) 2 : four-bit data (1 0 1 0) 2 ,(1 0 1 1) 2 ,(1 0 0 1) 2 ,( 1 1 0 1) 2 : four-bit data (0 1 0 1) 2 , (0 0 0 1) 2 , (0 0 0 0) 2 , (0 0 1 0) 2 : four-bit data (0 0 1 1) 2 ,(0 1 1 1) 2 ,(0 1 1 0) 2 ,(0 1 0 0) 2 : four-bit data Vt(1,1,1),Vt(1,0,1) , Vt(1,0,0): threshold voltage distribution Vt(1,1,0), Vt(0,1,0), Vt(0,1,1): threshold voltage distribution Vt(0,0,1 ), Vt(0,0,0): threshold voltage distribution Vt(1,1,1,1), Vt(1,1,1,0), Vt(1,1,0,0): threshold voltage distribution Vt(1,0,0,0), Vt(1,0,1,0), Vt(1,0,1,1): threshold voltage distribution Vt(1,0,0,1), Vt(1 ,1,0,1),Vt(0,1,0,1): threshold voltage distribution Vt(0,0,0,1), Vt(0,0,0,0), Vt(0,0, 1,0): threshold voltage distribution Vt(0,0,1,1), Vt(0,1,1,1), Vt(0,1,1,0): threshold voltage distribution Vt(0,1, 0,0): threshold voltage distribution P: parity bit 302, 402, 602: weight data 304, 404, 604: normal data W1~W4: data fields N1~N4: data fields 702~708: steps 802~810: steps 902~912: step
第1圖為本揭示之第一實施例之儲存裝置之方塊圖。 第2A圖至第2C圖為本揭示之三階記憶胞之臨界電壓分布與讀取電壓之示意圖。 第3圖及第4圖為本揭示之第一實施例之儲存裝置之應用之一例之示意圖。 第5A圖至第5E圖為本揭示之四階記憶胞之臨界電壓分布與讀取電壓之示意圖。 第6圖為本揭示之第二實施例之儲存裝置之應用之一例之示意圖。 第7圖為本揭示之第一實施例之資料存取方法之流程圖。 第8圖為本揭示之第二實施例之資料存取方法之流程圖。 第9圖為本揭示之資料更新方法之流程圖。 FIG. 1 is a block diagram of a storage device according to a first embodiment of the disclosure. 2A to 2C are schematic diagrams of the threshold voltage distribution and read voltage of the third-order memory cells of the present disclosure. FIG. 3 and FIG. 4 are schematic diagrams of an example of the application of the storage device according to the first embodiment of the disclosure. 5A to 5E are schematic diagrams of the threshold voltage distribution and read voltage of the fourth-order memory cells of the present disclosure. FIG. 6 is a schematic diagram of an example of the application of the storage device according to the second embodiment of the disclosure. FIG. 7 is a flow chart of the data access method according to the first embodiment of the disclosure. FIG. 8 is a flowchart of the data access method according to the second embodiment of the disclosure. FIG. 9 is a flowchart of the disclosed data updating method.
B1:第一位元 B1: first digit
Vr:讀取電壓 Vr: read voltage
Vt:臨界電壓 Vt: threshold voltage
R1:電壓範圍 R1: Voltage range
Vt(1,1,1),Vt(1,0,1),Vt(1,0,0):臨界電壓分布 Vt(1,1,1), Vt(1,0,1), Vt(1,0,0): threshold voltage distribution
Vt(1,1,0),Vt(0,1,0),Vt(0,1,1):臨界電壓分布 Vt(1,1,0), Vt(0,1,0), Vt(0,1,1): threshold voltage distribution
Vt(0,0,1),Vt(0,0,0):臨界電壓分布 Vt(0,0,1), Vt(0,0,0): critical voltage distribution
Claims (20)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163174547P | 2021-04-14 | 2021-04-14 | |
US63/174,547 | 2021-04-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI769056B true TWI769056B (en) | 2022-06-21 |
TW202240587A TW202240587A (en) | 2022-10-16 |
Family
ID=83104178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110130271A TWI769056B (en) | 2021-04-14 | 2021-08-17 | Storage device and data accessing method using multi-level cell |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI769056B (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9798656B2 (en) * | 2013-06-28 | 2017-10-24 | Samsung Electronics Co., Ltd. | Memory controller, method of operating, and apparatus including same |
US10276252B2 (en) * | 2017-12-11 | 2019-04-30 | Intel Corporation | Data storage device with operation based on temperature difference |
US20210042222A1 (en) * | 2018-03-08 | 2021-02-11 | SK Hynix Inc. | Memory controller and memory system having the same |
US20210057025A1 (en) * | 2019-08-21 | 2021-02-25 | Samsung Electronics Co., Ltd. | Nonvolatile memory device including a fast read page and a storage device including the same |
-
2021
- 2021-08-17 TW TW110130271A patent/TWI769056B/en active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9798656B2 (en) * | 2013-06-28 | 2017-10-24 | Samsung Electronics Co., Ltd. | Memory controller, method of operating, and apparatus including same |
US10276252B2 (en) * | 2017-12-11 | 2019-04-30 | Intel Corporation | Data storage device with operation based on temperature difference |
US20210042222A1 (en) * | 2018-03-08 | 2021-02-11 | SK Hynix Inc. | Memory controller and memory system having the same |
US20210057025A1 (en) * | 2019-08-21 | 2021-02-25 | Samsung Electronics Co., Ltd. | Nonvolatile memory device including a fast read page and a storage device including the same |
Also Published As
Publication number | Publication date |
---|---|
TW202240587A (en) | 2022-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8112692B2 (en) | Flash memory device error correction code controllers and related methods and memory systems | |
US9535620B2 (en) | Flash memory system and method controlling same | |
US8990658B2 (en) | Probabilistic error correction in multi-bit-per-cell flash memory | |
JP4825874B2 (en) | Probability-based error correction in multi-bit per-cell flash memory | |
KR102059209B1 (en) | Differential vector storage for non-volatile memory | |
TWI627634B (en) | Error correction code (ecc) operations in memory | |
US7533328B2 (en) | Method of error correction in a multi-bit-per-cell flash memory | |
US8635508B2 (en) | Systems and methods for performing concatenated error correction | |
KR101674339B1 (en) | Determining soft data using a classification code | |
US20110209028A1 (en) | Codeword remapping schemes for non-volatile memories | |
US10804935B2 (en) | Techniques for reducing latency in the detection of uncorrectable codewords | |
Deal | Trends in NAND flash memory error correction | |
TWI769056B (en) | Storage device and data accessing method using multi-level cell | |
US11914887B2 (en) | Storage device and data accessing method using multi-level cell | |
CN117409844A (en) | Data recovery method, memory storage device and memory controller | |
CN117409845A (en) | Packet management method, memory storage device and memory controller | |
IL196239A (en) | Method of error correction in a multi-bit-per-cell flash memory |