TW202331729A - memory system - Google Patents

memory system Download PDF

Info

Publication number
TW202331729A
TW202331729A TW112113035A TW112113035A TW202331729A TW 202331729 A TW202331729 A TW 202331729A TW 112113035 A TW112113035 A TW 112113035A TW 112113035 A TW112113035 A TW 112113035A TW 202331729 A TW202331729 A TW 202331729A
Authority
TW
Taiwan
Prior art keywords
aforementioned
data
bit
memory
threshold
Prior art date
Application number
TW112113035A
Other languages
Chinese (zh)
Inventor
原徳正
柴田昇
Original Assignee
日商鎧俠股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日商鎧俠股份有限公司 filed Critical 日商鎧俠股份有限公司
Publication of TW202331729A publication Critical patent/TW202331729A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Abstract

An embodiment of the invention provides a memory system capable of avoiding the mutual interference between cells to reduce the capacity of writing in a buffer, and suppressing bias of a bit error rate. In the memory system of the embodiment, a memory controller in the memory system is configured to enable a nonvolatile memory to execute a first programming such that a threshold region in the memory cell becomes any threshold region of a seventeenth threshold region indicating an erased state in which data is erased and eighteenth to twenty-fourth threshold regions having a higher voltage level than that of the seventeenth threshold region and indicating a written state in which data is written according to the data of the first bit, the second bit, and the fourth bit, and configured to allow the nonvolatile memory to execute a second programming such that the threshold region in the memory cell becomes any threshold region in two threshold regions among the first to sixteenth threshold regions from any threshold region of the seventeenth to twenty-fourth threshold regions according to the data of the third bit. When driving the nonvolatile memory to execute the second programing, the memory controller is configured to input the data of the second bit and the data of the third bit to the nonvolatile memory.

Description

記憶體系統memory system

本揭示之實施形態,係有關於記憶體系統。 [關連申請案] The embodiments disclosed herein relate to memory systems. [Related Application]

本申請案,係享受以日本專利申請2019-210823號(申請日:2019年11月21日)以及日本專利申請2020-113206號(申請日:2020年6月30日)作為基礎申請之優先權。本申請案,係藉由參照此些基礎申請案,而包含基礎申請案之所有的內容。This application enjoys the priority of the basic application of Japanese Patent Application No. 2019-210823 (filing date: November 21, 2019) and Japanese Patent Application No. 2020-113206 (filing date: June 30, 2020) . This application includes all the contents of the basic application by referring to these basic applications.

在NAND型快閃記憶體中,一般而言係對於記憶體胞而寫入由複數位元所成之多值資料,對於記憶體胞而寫入由3位元所成之多值資料的TLC(Triple Level Cell)技術係被實用化。今後,可以預期到,寫入由4位元所成之多值資料之QLC(Quadruple Level Cell)技術係會成為主流。In NAND flash memory, generally speaking, multi-value data composed of complex bits is written to the memory cell, and TLC that writes multi-valued data composed of 3 bits to the memory cell (Triple Level Cell) technology is put into practical use. In the future, it can be expected that the QLC (Quadruple Level Cell) technology for writing multi-valued data composed of 4 bits will become the mainstream.

在QLC中,為了避免胞間之相互干涉,係檢討有「在將4位元資料同時寫入至第1記憶體胞中之後,對於鄰接之胞而亦同樣地將4位元資料同時寫入,之後,再度對於第1記憶體胞而將4位元資料同時地再寫入」之手法。然而,在此手法中,係有必要將4位元資料預先保持在記憶體控制器內之寫入緩衝中,直到再寫入結束為止。In QLC, in order to avoid mutual interference between cells, it is reviewed that "after writing 4-bit data into the first memory cell at the same time, write 4-bit data into the adjacent cells at the same time. , and then rewrite the 4-bit data simultaneously to the first memory cell again. However, in this method, it is necessary to keep the 4-bit data in the write buffer in the memory controller in advance until the end of rewriting.

近年之NAND記憶體係被3維化,所必要的寫入緩衝之記憶體容量係增大,而有著將寫入緩衝作了內藏的記憶體控制器之成本變高的問題。因此,在3維之非揮發性記憶體中,係同樣的,係需要對於將記憶體控制器之寫入緩衝量降低的對策有所檢討。In recent years, the NAND memory system has been three-dimensionalized, and the memory capacity of the necessary write buffer is increased, and there is a problem that the cost of the memory controller with a built-in write buffer becomes high. Therefore, in the 3-dimensional non-volatile memory, it is also necessary to review the countermeasures for reducing the write buffer amount of the memory controller.

作為避免胞間之相互干涉並同時對於記憶體控制器之寫入緩衝量作削減的對策,係周知有:在對於記憶體胞而將各位元之資料作寫入時,藉由分成2個的階段來作寫入,而成為不需要進行全部位元資料之再寫入的手法。As a countermeasure to avoid mutual interference between cells and simultaneously reduce the write buffer amount of the memory controller, it is well known that when writing the data of each bit to the memory cell, by dividing it into two Write in stages, and become a method that does not need to rewrite all the bit data.

然而,在此手法中,係有著在對於記憶體胞而將各位元資料作寫入時的位元錯誤率之偏頗為大的問題。However, in this method, there is a problem that the bit error rate when writing each bit of metadata to the memory cell is highly biased.

為了將QLC技術之信賴性提升,係需要避免胞之間之相互干涉並且削減記憶體控制器內之寫入緩衝之容量並且亦對於在將各位元資料作寫入時的位元錯誤率之偏頗作抑制的記憶體系統。In order to improve the reliability of QLC technology, it is necessary to avoid mutual interference between cells and reduce the capacity of the write buffer in the memory controller, and also to bias the bit error rate when writing each bit of data Inhibited memory system.

在本揭示之其中一個態樣中,係提供一種能夠避免胞之間之相互干涉並且削減記憶體控制器內之寫入緩衝之容量並且亦對於在將各位元資料作寫入時的位元錯誤率之偏頗作抑制的記憶體系統。In one aspect of the present disclosure, a method is provided that can avoid inter-cell interference and reduce the capacity of the write buffer in the memory controller and also prevent bit errors when writing bit data. Rate bias acts as a suppressed memory system.

若依據本實施形態,則係提供一種記憶體系統,其係具備有:非揮發性記憶體,係具有複數之記憶體胞,該複數之記憶體胞,係各別藉由16個臨限值區域,而能夠記憶藉由第1~第4位元來作表現的4位元之資料,該16個的臨限值區域,係包含有代表資料被作了刪除的刪除狀態之第1臨限值區域、和電壓準位為較前述第1臨限值區域而更高並代表資料被作了寫入的寫入狀態之第2~第16臨限值區域;和According to this embodiment, a memory system is provided, which has: a non-volatile memory with a plurality of memory cells, and the plurality of memory cells are respectively passed through 16 thresholds area, and can store 4-bit data represented by the 1st to 4th bits, the 16 threshold value areas include the first threshold representing the deletion status of the data being deleted The value area, and the voltage level are higher than the first threshold area and represent the 2nd to 16th threshold areas of the writing state in which the data has been written; and

記憶體控制器,係在使前述非揮發性記憶體進行了將前述第1位元、前述第2位元、前述第4位元之資料作寫入的第1程式化之後,使前述非揮發性記憶體進行將前述第3位元之資料作寫入的第2程式化,The memory controller makes the aforementioned non-volatile memory after the first programming of writing the data of the aforementioned 1st bit, the aforementioned 2nd bit, and the aforementioned 4th bit into the aforementioned non-volatile memory. The non-volatile memory performs the second programming of writing the data of the aforementioned third bit,

在存在於前述第1~第16臨限值區域中之相鄰接之臨限值區域間之15個的邊界中,被使用在前述第1位元之資料之值的判定中之第1邊界之數量、被使用在前述第2位元之資料之值的判定中之第2邊界之數量、被使用在前述第3位元之資料之值的判定中之第3邊界之數量、被使用在前述第4位元之資料之值的判定中之第4邊界之數量,此些之數量中之最大之值係為5,第2大之值係為4,Among the 15 boundaries existing between the adjacent threshold value areas in the aforementioned 1st to 16th threshold value areas, the first boundary used in the determination of the value of the aforementioned 1st bit data The number of the second boundary used in the determination of the value of the second bit data, the number of the third boundary used in the determination of the value of the third bit data, the number of the third boundary used in the The number of the 4th boundary in the determination of the value of the data of the 4th bit above, the maximum value of these numbers is 5, and the second largest value is 4,

前述記憶體控制器,係構成為以使在前述記憶體胞中之臨限值區域會因應於前述第1位元、前述第2位元、前述第4位元之資料而成為代表資料為被作了刪除的刪除狀態之第17臨限值區域和電壓準位為較前述第17臨限值區域而更高並代表資料被作了寫入的寫入狀態之第18~第24臨限值區域之其中一者之臨限值區域的方式,來使前述非揮發性記憶體進行前述第1程式化,The aforementioned memory controller is configured so that the threshold value area in the aforementioned memory cell will become representative data corresponding to the data of the aforementioned 1st bit, the aforementioned 2nd bit, and the aforementioned 4th bit. The 17th threshold area and the voltage level of the erased state are higher than the aforementioned 17th threshold area and represent the 18th to 24th thresholds of the written state in which data has been written. One of the threshold areas of the areas is used to make the aforementioned non-volatile memory carry out the aforementioned first programming,

前述記憶體控制器,係構成為以使在前述記憶體胞中之臨限值區域會因應於前述第3位元之資料而從前述第17~第24臨限值區域中之任一者之臨限值區域來成為前述第1~第16臨限值區域中之2個的臨限值區域內之任一者之臨限值區域的方式,來使前述非揮發性記憶體進行前述第2程式化,The aforementioned memory controller is configured such that the threshold value area in the aforementioned memory cell changes from any one of the aforementioned 17th to 24th threshold value areas in response to the aforementioned 3rd bit data. The threshold value area becomes the threshold value area of any one of the two threshold value areas in the aforementioned first to sixteenth threshold area areas, so that the aforementioned non-volatile memory performs the aforementioned second stylized,

位置於前述2個的臨限值區域中之電壓準位為最低之臨限值區域和電壓準位為最高之臨限值區域之間的臨限值區域之個數,係為2個以內,The number of threshold regions between the threshold region with the lowest voltage level and the threshold region with the highest voltage level in the aforementioned two threshold regions shall be within 2,

前述記憶體控制器,在使前述非揮發性記憶體進行前述第2程式化的情況時,係構成為將前述第2位元之資料和前述第3位元之資料對於前述非揮發性記憶體作輸入。The aforementioned memory controller, when performing the second programming of the aforementioned non-volatile memory, is configured to transfer the aforementioned second-bit data and the aforementioned third-bit data to the aforementioned non-volatile memory for input.

圖1,係為對於由第1實施形態所致的記憶體系統1之概略構成作展示之區塊圖。圖1之記憶體系統1,係具備有記憶體控制器2和非揮發性記憶體3。圖1之記憶體系統1,係能夠與主機處理器(以下,係單純稱作主機)4作連接。主機4,例如,係為個人電腦、攜帶終端等之電子機器。FIG. 1 is a block diagram showing a schematic configuration of a memory system 1 according to the first embodiment. The memory system 1 in FIG. 1 is equipped with a memory controller 2 and a non-volatile memory 3 . The memory system 1 in FIG. 1 can be connected to a host processor (hereinafter simply referred to as a host) 4 . The host 4 is, for example, an electronic device such as a personal computer or a portable terminal.

非揮發性記憶體3,係為將資料非揮發性地作記憶之記憶體,例如,係具備有NAND快閃記憶體(以下,係亦有稱作NAND記憶體的情形)5。在本實施形態中,係針對非揮發性記憶體3乃身為具備有在每一記憶體胞處能夠記憶4位元之資料的記憶體胞之4bit/Cell(QLC:Quad Level Cell)之NAND記憶體5的例子,來進行說明。由本實施形態所致之非揮發性記憶體3,係具備有使記憶體胞被立體性地作了層積的3維構造。非揮發性記憶體3,係具有複數之記憶體胞,該複數之記憶體胞,係各別藉由16個臨限值區域,而能夠記憶藉由第1~第4位元來作表現的4位元之資料,該16個的臨限值區域,係包含有代表資料被作了刪除的刪除狀態之第1臨限值區域、和電壓準位為較第1臨限值區域而更高並代表資料被作了寫入的寫入狀態之第2~第16臨限值區域。例如,第1位元,係身為最下位之Lower位元,前述第2位元,係身為第2小之Middle位元,前述第3位元,係身為第2大之Upper位元,前述第4位元,係身為最上位之Top位元。The non-volatile memory 3 is a memory that stores data in a non-volatile manner, for example, it includes a NAND flash memory (hereinafter also referred to as a NAND memory) 5 . In this embodiment, the non-volatile memory 3 is a 4bit/Cell (QLC: Quad Level Cell) NAND with memory cells capable of storing 4-bit data at each memory cell. An example of memory 5 is used for illustration. The non-volatile memory 3 according to this embodiment has a three-dimensional structure in which memory cells are layered three-dimensionally. The non-volatile memory 3 has a plurality of memory cells, and the plurality of memory cells are capable of memorizing the performance of the 1st to 4th bits through 16 threshold areas respectively. For 4-bit data, the 16 threshold areas include the first threshold area representing the deletion status of the data being deleted, and the voltage level is higher than the first threshold area It also represents the 2nd to 16th threshold value areas of the writing state where the data has been written. For example, the first bit is the lowest bit of Lower, the aforementioned second bit is the second smallest Middle bit, and the aforementioned third bit is the second largest Upper bit , the aforementioned 4th bit is the top bit of the body.

記憶體控制器2,係依循於從主機4而來的寫入指令而對於對非揮發性記憶體3之資料的寫入作控制。又,記憶體控制器2,係依循於從主機4而來的讀出指令而對於從非揮發性記憶體3之資料的讀出作控制。記憶體控制器2,係具備有RAM(Random Access Memory)6、ROM(Read Only Memory)7、處理器8、主機介面9、ECC(Error Check and Correct)電路10以及記憶體介面11。RAM6、處理器8、主機介面9、ECC電路10以及記憶體介面11,係藉由共通之內部匯流排12而被作連接。The memory controller 2 controls the writing of data in the non-volatile memory 3 according to the writing command from the host computer 4 . Also, the memory controller 2 controls the reading of data from the non-volatile memory 3 in accordance with the read command from the host computer 4 . The memory controller 2 is provided with a RAM (Random Access Memory) 6, a ROM (Read Only Memory) 7, a processor 8, a host interface 9, an ECC (Error Check and Correct) circuit 10 and a memory interface 11. The RAM 6 , the processor 8 , the host interface 9 , the ECC circuit 10 and the memory interface 11 are connected through a common internal bus 12 .

如同後述一般,本實施形態之記憶體控制器2,係在使非揮發性記憶體3進行了將第1位元、第2位元、第4位元之資料作寫入的第1程式化之後,使非揮發性記憶體3進行將第3位元之資料作寫入的第2程式化。在存在於第1~第16臨限值區域中之相鄰接之臨限值區域間之15個的邊界中,被使用在第1位元之資料之值的判定中之第1邊界之數量、被使用在第2位元之資料之值的判定中之第2邊界之數量、被使用在第3位元之資料之值的判定中之第3邊界之數量、被使用在第4位元之資料之值的判定中之第4邊界之數量,此些之數量中之最大之值係為5,第2大之值係為4。記憶體控制器2,係構成為以使在記憶體胞中之臨限值區域會因應於第1位元、第2位元、第4位元之資料而成為代表資料為被作了刪除的刪除狀態之第17臨限值區域和電壓準位為較第17臨限值區域而更高並代表資料被作了寫入的寫入狀態之第18~第24臨限值區域之其中一者之臨限值區域的方式,來使非揮發性記憶體3進行第1程式化。記憶體控制器2,係構成為以使在記憶體胞中之臨限值區域會因應於第3位元之資料而從第17~第24臨限值區域中之任一者之臨限值區域來成為第1~第16臨限值區域中之2個的臨限值區域內之任一者之臨限值區域的方式,來使非揮發性記憶體3進行第2程式化。位置於2個的臨限值區域中之電壓準位為最低之臨限值區域和電壓準位為最高之臨限值區域之間的臨限值區域之個數,係為2個以內。記憶體控制器2,在使非揮發性記憶體3進行第2程式化的情況時,係構成為將第2位元之資料和第3位元之資料對於非揮發性記憶體3作輸入。As will be described later, the memory controller 2 of the present embodiment is the first program for writing the data of the first bit, the second bit, and the fourth bit in the non-volatile memory 3 Afterwards, the second programming of writing the data of the third bit is performed on the non-volatile memory 3 . Among the 15 boundaries existing between the adjacent threshold value areas in the 1st to 16th threshold value areas, the number of the first boundaries used in the determination of the value of the data of the first bit , the number of the second boundary used in the determination of the value of the data of the second bit, the number of the third boundary used in the determination of the value of the data of the third bit, and the number of the third boundary used in the fourth bit For the number of the fourth boundary in the determination of the value of the data, the largest value among these numbers is 5, and the second largest value is 4. The memory controller 2 is configured so that the threshold value area in the memory cell will correspond to the data of the first bit, the second bit, and the fourth bit to represent data that has been deleted The 17th threshold area of the erase state and the voltage level are higher than the 17th threshold area and represent one of the 18th to 24th threshold areas of the writing state in which data has been written The non-volatile memory 3 is first programmed in the manner of the threshold value area. The memory controller 2 is configured so that the threshold value area in the memory cell will be changed from the threshold value of any one of the 17th to the 24th threshold value area in response to the data of the 3rd bit The second programming of the non-volatile memory 3 is performed in such a manner that the area becomes one of the two threshold areas of the first to sixteenth threshold areas. The number of threshold regions between the threshold region with the lowest voltage level and the threshold region with the highest voltage level located in the two threshold regions is within two. The memory controller 2 is configured to input the second-bit data and the third-bit data to the non-volatile memory 3 when performing the second programming on the non-volatile memory 3 .

更詳細而言,記憶體控制器2,係以會使在16個的臨限值區域(第1~第16臨限值區域)間之15個的邊界中的相鄰接之臨限值區域之間,第1位元之值為相異的邊界之數量、第2位元之值為相異的邊界之數量、第3位元之值為相異的邊界之數量、以及第4位元之值為相異的邊界之數量,依序成為(1、4、5、5)、(1、5、4、5)或者是(3、3、4、5)的方式,來使非揮發性記憶體進行第1程式化以及第2程式化。More specifically, the memory controller 2 is configured to make the adjacent threshold areas in 15 boundaries among the 16 threshold areas (1st to 16th threshold areas) Between, the value of the first bit is the number of different boundaries, the value of the second bit is the number of different boundaries, the value of the third bit is the number of different boundaries, and the fourth bit The value of the value is the number of different boundaries, and the order becomes (1, 4, 5, 5), (1, 5, 4, 5) or (3, 3, 4, 5) in order to make the non-volatile Sexual memory undergoes 1st stylization and 2nd stylization.

或者是,本實施形態之記憶體控制器2,係在使非揮發性記憶體3進行了將第1位元、第2位元、第4位元之資料作寫入的第1程式化之後,使非揮發性記憶體3進行將第3位元之資料作寫入的第2程式化。在存在於第1~第16臨限值區域中之相鄰接之臨限值區域間之15個的邊界中,被使用在第1位元之資料之值的判定中之第1邊界之數量、被使用在第2位元之資料之值的判定中之第2邊界之數量、被使用在第3位元之資料之值的判定中之第3邊界之數量、被使用在第4位元之資料之值的判定中之第4邊界之數量,係依序為(3、5、2、5)。記憶體控制器2,係構成為以使在記憶體胞中之臨限值區域會因應於第1位元、第2位元、第4位元之資料而成為代表資料為被作了刪除的刪除狀態之第17臨限值區域和電壓準位為較第17臨限值區域而更高並代表資料被作了寫入的寫入狀態之第18~第24臨限值區域之其中一者之臨限值區域的方式,來使非揮發性記憶體3進行第1程式化。記憶體控制器2,係構成為以使在記憶體胞中之臨限值區域會因應於第3位元之資料而從第17~第24臨限值區域中之任一者之臨限值區域來成為第1~第16臨限值區域中之2個的臨限值區域內之任一者之臨限值區域的方式,來使非揮發性記憶體3進行第2程式化。位置於2個的臨限值區域中之電壓準位為最低之臨限值區域和電壓準位為最高之臨限值區域之間的臨限值區域之個數,係為2個以內。記憶體控制器2,在使非揮發性記憶體3進行第2程式化的情況時,係構成為將第2位元之資料和第3位元之資料對於非揮發性記憶體3作輸入。Or, the memory controller 2 of this embodiment is after the first programming of writing the data of the first bit, the second bit, and the fourth bit into the non-volatile memory 3 , making the non-volatile memory 3 carry out the second programming of writing the data of the third bit. Among the 15 boundaries existing between the adjacent threshold value areas in the 1st to 16th threshold value areas, the number of the first boundaries used in the determination of the value of the data of the first bit , the number of the second boundary used in the determination of the value of the data of the second bit, the number of the third boundary used in the determination of the value of the data of the third bit, and the number of the third boundary used in the fourth bit The number of the fourth boundary in the determination of the value of the data is (3, 5, 2, 5) in sequence. The memory controller 2 is configured so that the threshold value area in the memory cell will correspond to the data of the first bit, the second bit, and the fourth bit to represent data that has been deleted The 17th threshold area of the erase state and the voltage level are higher than the 17th threshold area and represent one of the 18th to 24th threshold areas of the writing state in which data has been written The non-volatile memory 3 is first programmed in the manner of the threshold value area. The memory controller 2 is configured so that the threshold value area in the memory cell will be changed from the threshold value of any one of the 17th to the 24th threshold value area in response to the data of the 3rd bit The second programming of the non-volatile memory 3 is performed in such a manner that the area becomes one of the two threshold areas of the first to sixteenth threshold areas. The number of threshold regions between the threshold region with the lowest voltage level and the threshold region with the highest voltage level located in the two threshold regions is within two. The memory controller 2 is configured to input the second-bit data and the third-bit data to the non-volatile memory 3 when performing the second programming on the non-volatile memory 3 .

記憶體控制器2,係亦能夠以會使第17~第24臨限值區域中之第2位元之資料之值為相異的2個的臨限值區域之間之電壓準位之差成為較第1位元之資料之值為相異的2個的臨限值區域之間之電壓準位之差而更小並且成為較第4位元之資料之值為相異的2個的臨限值區域之間之電壓準位之差而更小的方式,來使非揮發性記憶體進行第1程式化。The memory controller 2 can also use the voltage level difference between the two threshold areas that make the value of the second bit data in the 17th to 24th threshold areas to be different The voltage level difference between the two threshold areas that are different from the data value of the first bit becomes smaller and becomes two different values than the data value of the fourth bit The non-volatile memory is first programmed in such a way that the voltage level difference between the threshold regions is smaller.

或者是,記憶體控制器2,係亦能夠以會相較於第2位元之資料之值為相異的第1程式化時之2個的臨限值區域之間之間隔,而使對於2個的臨限值區域而藉由第3位元之資料來進行第2程式化所得到的4個的臨限值區域中之相鄰接之臨限值區域之間隔變得更廣的方式,來使非揮發性記憶體進行第2程式化。Or, the memory controller 2 can also use the interval between the 2 threshold areas when the value of the data of the 2nd bit is different compared with the value of the 2nd bit, so that for There are 2 threshold value regions and the method that the distance between the adjacent threshold value regions among the 4 threshold value regions obtained by performing the second programming with the data of the third bit becomes wider , to program the second non-volatile memory.

主機介面9,係將從主機4所受訊了的指令、使用者資料(寫入資料)等輸出至內部匯流排12處。又,主機介面9,係將從非揮發性記憶體3所讀出了的使用者資料或從處理器8而來之回應等,對於主機4作送訊。The host interface 9 outputs the command received from the host 4, user data (write data), etc. to the internal bus 12. Also, the host interface 9 transmits the user data read from the non-volatile memory 3 or the response from the processor 8 to the host 4.

記憶體介面11,係基於處理器8之指示,而對於將使用者資料等對於非揮發性記憶體3作寫入之處理和從非揮發性記憶體3而將使用者資料讀出之處理作控制。The memory interface 11 is based on the instructions of the processor 8, and performs the processing of writing user data and the like to the non-volatile memory 3 and the processing of reading the user data from the non-volatile memory 3 control.

處理器8,係對於記憶體控制器2作統籌性的控制。處理器8,例如係為CPU(Central Processing Unit)、MPU(Micro Processing Unit)等。處理器8,當從主機4經由主機介面9而接收了指令的情況時,係進行依循於該指令之控制。例如,處理器8,係依循於從主機4而來之指令,而對於記憶體介面11下達對於非揮發性記憶體3之使用者資料以及同位檢查碼的寫入之指示。又,處理器8,係依循於從主機4而來之指令,而對於記憶體介面11下達從非揮發性記憶體3而來之使用者資料以及同位檢查碼的讀出之指示。The processor 8 performs overall control over the memory controller 2 . The processor 8 is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), and the like. When the processor 8 receives a command from the host 4 via the host interface 9, it performs control in accordance with the command. For example, the processor 8 follows the instructions from the host computer 4 and gives instructions to the memory interface 11 to write the user data and parity check codes of the non-volatile memory 3 . Furthermore, the processor 8 follows the instruction from the host computer 4, and instructs the memory interface 11 to read user data and parity check codes from the non-volatile memory 3.

使用者資料,係經由內部匯流排12而被儲存於RAM6中。處理器8,係對於被儲存在RAM6中之使用者資料,而決定在非揮發性記憶體3上之儲存區域(記憶體區域)。處理器8,係對於身為寫入單位之頁面單位的資料(頁面資料),而決定在非揮發性記憶體3上之記憶體區域。在本說明書中,係將被儲存在非揮發性記憶體3之1個頁面中的使用者資料,定義為單位資料。單位資料,一般而言係被編碼並作為碼字而被儲存在非揮發性記憶體3中,但是,編碼係並非為必須。記憶體控制器2,係亦可並不進行編碼地而將單位資料儲存在非揮發性記憶體3中,但是,在圖1中,作為其中一構成例,係對於進行編碼之構成作展示。當記憶體控制器2並不進行編碼的情況時,頁面資料係與單位資料相互一致。又,係可基於1個的單位資料來產生1個的碼字,亦可基於使單位資料被作了分割後的分割資料,來產生1個的碼字。又,係亦可使用複數之單位資料,來產生1個的碼字。User data is stored in RAM 6 via internal bus 12 . The processor 8 determines a storage area (memory area) on the non-volatile memory 3 for user data stored in the RAM 6 . The processor 8 determines the memory area on the non-volatile memory 3 for the data (page data) of the page unit which is a writing unit. In this specification, user data stored in one page of the non-volatile memory 3 is defined as unit data. The unit data is generally coded and stored in the non-volatile memory 3 as a code word, but the code is not necessary. The memory controller 2 may also store the unit data in the non-volatile memory 3 without encoding. However, in FIG. 1 , as one example of the configuration, the configuration for encoding is shown. When the memory controller 2 does not perform encoding, the page data and the unit data are consistent with each other. Also, one codeword may be generated based on one unit data, or one codeword may be generated based on division data obtained by dividing the unit data. In addition, it is also possible to generate one codeword using plural unit data.

處理器8,係針對各單位資料之每一者,而分別決定寫入目標之非揮發性記憶體3之記憶體區域。在非揮發性記憶體3之記憶體區域處,係被分配有物理位址。處理器8,係使用物理位址來對於單位資料之寫入目標之記憶體區域作管理。處理器8,係以指定所決定了的記憶體區域(物理位址)並將使用者資料對於非揮發性記憶體3作寫入的方式,來對於記憶體介面11下達指示。另一方面,主機4係藉由邏輯位址來對於資料作管理。因此,處理器8,係對於使用者資料之邏輯位址與物理位址之間之對應關係作管理。處理器8,當受訊了從主機4而來之包含有邏輯位址之讀出指令的情況時,係特定出與邏輯位址相對應之物理位址,並對於物理位址作指定而對於記憶體介面11下達使用者資料的讀出之指示。The processor 8 determines the memory area of the non-volatile memory 3 to be written into for each of the unit data. A physical address is allocated to the memory area of the non-volatile memory 3 . The processor 8 uses the physical address to manage the memory area of the writing target of the unit data. The processor 8 issues instructions to the memory interface 11 by designating the determined memory area (physical address) and writing user data into the non-volatile memory 3 . On the other hand, the host computer 4 manages data through logical addresses. Therefore, the processor 8 manages the corresponding relationship between the logical address and the physical address of the user data. Processor 8, when having received the situation that contains the read command of logical address from main frame 4, system specifies the physical address corresponding to logical address, and specifies for physical address and for The memory interface 11 issues an instruction to read user data.

在本說明書中,係將被與1個的字元線共通地作了連接的複數之記憶體胞,定義為記憶體胞群MG。1個的記憶體胞群MG,係成為寫入(程式化)之單位。在本實施形態中,非揮發性記憶體3,係身為4bit/Cell之NAND記憶體5,1個的記憶體胞群MG係具備有4位元×位元數之量的資料量。被寫入至各記憶體胞中之各位元,係對應於互為相異之頁面。在本實施形態中,係將1個的記憶體胞群MG之4頁面,稱作Lower頁面(第1頁面)、Middle頁面(第2頁面)、Upper頁面(第3頁面)、Top頁面(第4頁面)。In this specification, plural memory cells connected in common with one word line are defined as a memory cell group MG. One memory cell group MG is the unit of writing (programming). In this embodiment, the non-volatile memory 3 is a 4bit/Cell NAND memory 5, and one memory cell group MG has a data amount of 4 bits×number of bits. The bits written into each memory cell correspond to different pages. In this embodiment, the four pages of one memory cell group MG are referred to as the Lower page (the first page), the Middle page (the second page), the Upper page (the third page), and the Top page (the first page). 4 pages).

ECC電路10,係將被儲存在RAM6中之使用者資料作編碼,並產生碼字。又,ECC電路10,係將從非揮發性記憶體3所讀出了的碼字作解碼。ECC電路10,係將在從非揮發性記憶體3所讀出了的碼字中所包含之位元錯誤作了訂正之後,解碼為使用者資料。The ECC circuit 10 encodes the user data stored in the RAM 6 and generates a code word. Also, the ECC circuit 10 decodes the code word read from the non-volatile memory 3 . The ECC circuit 10 decodes the user data after correcting the bit errors contained in the code word read from the non-volatile memory 3 .

RAM6,係將從主機4所受訊了的使用者資料暫時性地作儲存,直到將其記憶至非揮發性記憶體3中為止,或者是將從非揮發性記憶體3所讀出了的資料暫時性地作儲存,直到對於主機4作送訊為止。RAM6,例如係身為SRAM(Static Random Access Memory)或DRAM(Dynamic Random Access Memory)等之泛用記憶體。RAM6 temporarily stores the user data received from the host computer 4 until it is memorized in the non-volatile memory 3, or read from the non-volatile memory 3 The data is temporarily stored until sending a message to the host computer 4 . RAM6 is, for example, a general-purpose memory such as SRAM (Static Random Access Memory) or DRAM (Dynamic Random Access Memory).

在圖1中,係對於記憶體控制器2為分別具備有ECC電路10和記憶體介面11的構成例作展示。但是,ECC電路10係亦可被內藏於記憶體介面11中。又,ECC電路10係亦可被內藏於非揮發性記憶體3中。In FIG. 1 , a configuration example in which a memory controller 2 is provided with an ECC circuit 10 and a memory interface 11 is shown. However, the ECC circuit 10 can also be embedded in the memory interface 11 . In addition, the ECC circuit 10 may also be embedded in the non-volatile memory 3 .

當從主機4而受訊了寫入要求的情況時,記憶體系統1係如同下述一般地而動作。處理器8,係將寫入資料暫時性地儲存於RAM6中。處理器8,係讀取被儲存於RAM6中之資料,並輸入至ECC電路10處。ECC電路10,係將被輸入了的資料作編碼,並將碼字輸入至記憶體介面11處。記憶體介面11,係將被輸入了的碼字對於非揮發性記憶體3作寫入。When a write request is received from the host computer 4, the memory system 1 operates as follows. The processor 8 temporarily stores the written data in the RAM6. The processor 8 reads the data stored in the RAM 6 and inputs it to the ECC circuit 10 . The ECC circuit 10 encodes the inputted data, and inputs the code word to the memory interface 11. The memory interface 11 writes the input code word to the non-volatile memory 3 .

當從主機4而受訊了讀取要求的情況時,記憶體系統1係如同下述一般地而動作。記憶體介面11,係將從非揮發性記憶體3所讀出了的碼字輸入至ECC電路10處。ECC電路10,係將被輸入了的碼字解碼,並將被作了解碼後之資料暫時性地儲存於RAM6中。處理器8,係將被儲存在RAM6中之資料,經由主機介面9來送訊至主機4處。另外,非揮發性記憶體3,係亦會有藉由複數之晶片而被構成的情況,非揮發性記憶體3和記憶體介面11,係亦可經由貫通通孔(TSV:Through Silicon Via)來作連接。When a read request is received from the host computer 4, the memory system 1 operates as follows. The memory interface 11 inputs the code word read from the non-volatile memory 3 to the ECC circuit 10 . The ECC circuit 10 decodes the input codeword and temporarily stores the decoded data in the RAM6. The processor 8 sends the data stored in the RAM 6 to the host 4 via the host interface 9 . In addition, the non-volatile memory 3 may also be composed of a plurality of chips, and the non-volatile memory 3 and the memory interface 11 may also pass through through holes (TSV: Through Silicon Via) to connect.

另外,圖1中所示之記憶體控制器2之構成,係僅為其中一例,而亦可採用使內部匯流排12成為分割構造或階層構造、或者是被連接有附加性之功能區塊等的其他之各式各樣的衍生性之形態。In addition, the configuration of the memory controller 2 shown in FIG. 1 is merely an example, and the internal bus bar 12 may be formed into a split structure or a hierarchical structure, or may be connected with additional functional blocks, etc. Various other forms of derivatives.

圖2,係為對於本實施形態的非揮發性記憶體3之內部構成之其中一例作展示之區塊圖。非揮發性記憶體3,係具備有NAND I/O介面21、控制部22、NAND記憶體胞陣列(記憶體胞部)23、以及頁面緩衝(第2記憶部)24。非揮發性記憶體3,例如係被形成於半導體基板(例如矽基板)上並被晶片化。FIG. 2 is a block diagram showing an example of the internal structure of the non-volatile memory 3 of this embodiment. The non-volatile memory 3 is provided with a NAND I/O interface 21 , a control unit 22 , a NAND memory cell array (memory cell unit) 23 , and a page buffer (second memory unit) 24 . The non-volatile memory 3 is, for example, formed on a semiconductor substrate (such as a silicon substrate) and chipped.

控制部22,係基於經由NAND I/O介面21而從記憶體控制器2而來之指令等,而對於非揮發性記憶體3之動作作控制。具體而言,控制部22,在被輸入有寫入要求的情況時,係以將被要求了寫入的資料對於NAND記憶體胞陣列23上之被指定了的位址來作寫入的方式而進行控制。又,控制部22,在被輸入有讀出要求的情況時,係以將被要求了讀出的資料從NAND記憶體胞陣列23而讀出並經由NAND I/O介面21來對於記憶體控制器2作輸出的方式來進行控制。頁面緩衝24,係身為在NAND記憶體胞陣列23之寫入時將從記憶體控制器2所輸入了的資料暫時性地作儲存並將從NAND記憶體胞陣列23所讀出了的資料暫時性地作儲存之緩衝。The control unit 22 controls the operation of the non-volatile memory 3 based on commands and the like received from the memory controller 2 through the NAND I/O interface 21 . Specifically, when a write request is input, the control unit 22 writes the data requested to be written to the specified address on the NAND memory cell array 23. And control. Also, the control unit 22, when a read request is input, reads the data requested to be read from the NAND memory cell array 23 and controls the memory through the NAND I/O interface 21. 2 as the output way to control. The page buffer 24 temporarily stores the data input from the memory controller 2 and reads the data from the NAND memory cell array 23 when the NAND memory cell array 23 is written. Temporarily used as a buffer for storage.

如同後述一般,控制部22,係基於將藉由1st階段之程式化而被作了程式化的資料讀出所得到之資料、和在1st階段以及2nd階段之程式化時被重複作輸入的位元之資料、以及藉由2nd階段之程式化而被作了程式化的位元之輸入資料,來決定藉由2nd階段之程式化而被作程式化的位元之資料之臨限值電壓。As will be described later, the control unit 22 is based on the data obtained by reading out the data programmed in the 1st stage and the bit repeatedly input in the programming of the 1st stage and the 2nd stage. The data of the cell and the input data of the bit programmed by the programming of the 2nd stage determine the threshold voltage of the data of the bit programmed by the programming of the 2nd stage.

控制部22,係具備有震盪器31、和序列器32、和指令使用者介面33、和電壓供給部34、和列計數器35、以及序列存取控制器36。又,NAND記憶體胞陣列23,係具備有行解碼器37和感測放大器38。The control unit 22 is provided with an oscillator 31 , a sequencer 32 , an instruction user interface 33 , a voltage supply unit 34 , a column counter 35 , and a sequence access controller 36 . Also, the NAND memory cell array 23 is provided with a row decoder 37 and a sense amplifier 38 .

NAND I/O介面21,係為用以與記憶體控制器2之間而將IO訊號以及控制訊號作送受訊的電路。指令使用者介面33,係將從記憶體控制器2而經由IO訊號線所受訊了的指令、位址以及資料中之指令以及位址,基於控制訊號來取得之。指令使用者介面33,係將所取得了的指令以及位址交付給序列器32。The NAND I/O interface 21 is a circuit for sending and receiving IO signals and control signals to and from the memory controller 2 . The command user interface 33 obtains the command and address received from the memory controller 2 through the IO signal line, and the command and address in the data based on the control signal. The command user interface 33 delivers the acquired command and address to the sequencer 32 .

震盪器31,係為產生時脈之電路。藉由震盪器31所產生了的時脈,係被供給至包含序列器32之各構成要素處。序列器32,係身為藉由從震盪器31所供給的時脈而被作驅動之狀態機(State Machine)。序列器32,係實行對於NAND記憶體胞陣列23之存取等的控制。例如,序列器32,係因應於從指令使用者介面33所受訊了的指令,來下達各種之用以對於內部電壓或動作時序等作控制的指令。又,序列器32,係將在從指令使用者介面33所受訊了的位址中所包含之區塊位址以及頁面位址,供給至行解碼器37處。進而,序列器32,係將在從指令使用者介面33所受訊了的位址中所包含之列位址,供給至列計數器35處。The oscillator 31 is a circuit for generating a clock. The clock generated by the oscillator 31 is supplied to each component including the sequencer 32 . The sequencer 32 is a state machine driven by the clock pulse supplied from the oscillator 31 . The sequencer 32 controls access to the NAND memory cell array 23 and the like. For example, the sequencer 32 responds to commands received from the command user interface 33 to issue various commands for controlling internal voltages or operation sequences. Also, the sequencer 32 supplies the block address and page address included in the address received from the command user interface 33 to the row decoder 37 . Furthermore, the sequencer 32 supplies the column address included in the address received from the command user interface 33 to the column counter 35 .

電壓供給部34,係產生被供給至字元線處之各種之內部電壓和被供給至位元線處之各種之內部電壓,並對於行解碼器37和感測放大器38作供給。列計數器35,在程式化動作或讀取動作時,係將從序列器32所供給了的列位址作為開頭,並依循於從序列存取控制器36所供給的控制訊號來使列位址依序前進。The voltage supply unit 34 generates various internal voltages supplied to the word lines and various internal voltages supplied to the bit lines, and supplies them to the row decoder 37 and the sense amplifier 38 . When the column counter 35 is programmed or read, the column address supplied from the sequencer 32 is used as the head, and the column address is set according to the control signal supplied from the sequence access controller 36. Advance sequentially.

頁面緩衝24,在程式化動作時,係將從序列存取控制器36所受訊了的資料依序儲存在上述列計數器35所指定了的列位址區域處。又,頁面緩衝24,在讀取動作時,係將被儲存的資料中之藉由上述列位址所指定了的列位址之資料依序送至序列存取控制器36處。The page buffer 24 stores the data received from the serial access controller 36 sequentially in the row address area designated by the row counter 35 during the programming operation. In addition, the page buffer 24 sends the data of the column address specified by the above column address among the stored data to the serial access controller 36 sequentially during the read operation.

序列存取控制器36,在程式化動作時,係將從NAND I/O介面21而於IO訊號線之每位元寬幅處序列地受訊了的資料,儲存在頁面緩衝24中。又,序列存取控制器36,在讀取動作時,係從頁面緩衝24而於IO訊號線之每位元寬幅處序列地受訊了的資料,送至NAND I/O介面21處。The serial access controller 36 stores the data sequentially received from the NAND I/O interface 21 at the bit width of the IO signal line in the page buffer 24 during the programming operation. Moreover, the serial access controller 36 sends the data sequentially received from the page buffer 24 at the bit width of the IO signal line to the NAND I/O interface 21 during the read operation.

行解碼器37,在程式化動作以及讀取動作時,係將區塊位址以及頁面位址作解碼,並選擇與在存取目標之區塊BLK中所包含的成為存取對象之頁面相對應的字元線。之後,各行解碼器37,係對於選擇字元線以及非選擇字元線而施加適當之電壓。The row decoder 37 decodes the block address and the page address during programming and reading, and selects the page corresponding to the page to be accessed included in the block BLK of the access target. The corresponding character line. After that, each row decoder 37 applies an appropriate voltage to the selected word line and the non-selected word line.

感測放大器38,在程式化動作時,係將被儲存於頁面緩衝24中之相對應之資料傳輸至記憶體胞電晶體處。又,感測放大器38,在讀取動作時,係對於從選擇字元線而讀出至了位元線處之資料作感測,並將所得到的資料儲存於頁面緩衝24中。被儲存在頁面緩衝24中之資料,係經由序列存取控制器36以及NAND I/O介面21而被送至記憶體控制器2處。The sense amplifier 38 transmits the corresponding data stored in the page buffer 24 to the transistor of the memory cell during the programming operation. In addition, the sense amplifier 38 senses the data read from the selected word line to the bit line during the read operation, and stores the obtained data in the page buffer 24 . The data stored in the page buffer 24 is sent to the memory controller 2 through the serial access controller 36 and the NAND I/O interface 21 .

圖3,係為對於3維構造的NAND記憶體胞陣列23之其中一例作展示之電路圖。圖3,係對於3維構造的NAND記憶體胞陣列23內的複數之區塊中之1個的區塊BLK之電路構成作展示。NAND記憶體胞陣列23之其他區塊,亦係具備有與圖3相同之電路構成。另外,本實施形態,係亦可對於2維構造之記憶體胞作適用。FIG. 3 is a circuit diagram showing an example of a 3-dimensional NAND memory cell array 23 . FIG. 3 shows the circuit configuration of one block BLK among the plurality of blocks in the three-dimensionally structured NAND memory cell array 23 . Other blocks of the NAND memory cell array 23 also have the same circuit configuration as that in FIG. 3 . In addition, this embodiment can also be applied to memory cells with a 2-dimensional structure.

如同圖3中所示一般,區塊BLK,例如係具備有4個的指(finger)FNG(FNG0~FNG3)。又,各個的指FNG,係包含複數之NAND字串NS。NAND字串NS之各者,例如係具備有被作了串接連接之8個的記憶體胞電晶體MT(MT0~MT7)、和選擇電晶體ST1、ST2。在本說明書中,係會有將各個的指FNG稱作字串St的情況。As shown in FIG. 3 , the block BLK includes, for example, four fingers FNG (FNG0-FNG3). Also, each refers to FNG, which includes a plurality of NAND strings NS. Each of the NAND strings NS includes, for example, eight memory cell transistors MT (MT0 to MT7) connected in series, and selection transistors ST1 and ST2. In this specification, each finger FNG may be referred to as a word string St.

另外,NAND字串NS內之記憶體胞電晶體MT的個數,係並不被限定於8個。記憶體胞電晶體MT,係於選擇電晶體ST1、ST2之間,以使其之電流路徑被作串聯連接的方式而被作配置。此串聯連接之其中一端側之記憶體胞電晶體MT7的電流路徑,係被與選擇電晶體ST1之電流路徑之其中一端作連接,另外一端側之記憶體胞電晶體MT0之電流路徑,係被與選擇電晶體ST2之電流路徑之其中一端作連接。In addition, the number of memory cell transistors MT in the NAND string NS is not limited to 8. The memory cell transistor MT is arranged between the selection transistors ST1 and ST2 so that the current paths thereof are connected in series. The current path of the memory cell transistor MT7 at one end side of the series connection is connected with one end of the current path of the selection transistor ST1, and the current path of the memory cell transistor MT0 at the other end side is connected by It is connected with one end of the current path of the selection transistor ST2.

指FNG0~FNG3之各者之選擇電晶體ST1之閘極,係分別被與選擇閘極線SGD0~SGD3作共通連接。另一方面,選擇電晶體ST2之閘極,係在複數之指FNG間而被與同一之選擇閘極線SGS作共通連接。又,位於同一區塊BLK內的記憶體胞電晶體MT0~MT7之控制閘極,係分別被與字元線WL0~WL7作共通連接。亦即是,字元線WL0~WL7以及選擇閘極線SGS,係於同一區塊BLK內之複數之指FNG0~FNG3之間而被共通地作連接,相對於此,選擇閘極線SGD,係就算是於同一區塊BLK內亦係在指FNG0~FNG3之各者處而分別相互獨立。Refers to the gates of the selection transistor ST1 of each of FNG0-FNG3, which are respectively connected to the selection gate lines SGD0-SGD3 in common. On the other hand, the gate of the selection transistor ST2 is commonly connected to the same selection gate line SGS between the plurality of fingers FNG. Moreover, the control gates of the memory cell transistors MT0-MT7 located in the same block BLK are respectively connected to the word lines WL0-WL7 in common. That is, the word lines WL0 to WL7 and the selection gate line SGS are commonly connected between the plurality of fingers FNG0 to FNG3 in the same block BLK. In contrast, the selection gate line SGD, Even if they are in the same block BLK, they refer to each of FNG0 to FNG3 and are independent from each other.

在構成NAND字串NS之記憶體胞電晶體MT0~MT7的控制閘極電極處,係分別被連接有字元線WL0~WL7,又,同一之指FNG內之各NAND字串NS中之第i個的記憶體胞電晶體MTi(i=0~n),係藉由同一之字元線WLi(i=0~n)而被作共通連接。亦即是,區塊BLK內的同一行之記憶體胞電晶體MTi之控制閘極電極,係被與同一之字元線WLi作連接。The control gate electrodes of the memory cell transistors MT0-MT7 constituting the NAND string NS are respectively connected to the word lines WL0-WL7, and the same refers to the first in each NAND string NS in the FNG. The i memory cell transistors MTi (i=0-n) are commonly connected through the same word line WLi (i=0-n). That is, the control gate electrodes of the memory cell transistors MTi in the same row in the block BLK are connected to the same word line WLi.

各NAND字串NS,係被與字元線WLi作連接並且亦被與位元線作連接。各NAND字串NS內之各記憶體胞,係能夠藉由對於字元線WLi以及選擇閘極線SGD0~SGD3作辨識之位址和對於位元線作辨識之位址,來作辨識。如同上述一般,位於同一區塊BLK內的記憶體胞(記憶體胞電晶體MT)之資料,係整批地被刪除。另一方面,資料之讀出以及寫入,係以物理扇區MS之單位來進行。1個物理扇區MS,係被與1個的字元線WLi作連接,並且包含有隸屬於1個的指FNG之複數之記憶體胞。Each NAND string NS is connected to a word line WLi and is also connected to a bit line. Each memory cell in each NAND string NS can be identified by the address for identifying the word line WLi and the select gate lines SGD0-SGD3 and the address for identifying the bit line. As mentioned above, the data of the memory cells (memory cell transistors MT) located in the same block BLK are deleted in batches. On the other hand, data reading and writing are performed in units of physical sectors MS. One physical sector MS is connected to one word line WLi, and includes a plurality of memory cells belonging to one FNG.

記憶體控制器2,係將1個的指內之被與1根的字元線作連接之所有的NAND字串NS作為單位,而進行寫入(程式化)。因此,記憶體控制器2所進行程式化之資料量的單位,係成為4位元×位元線數量。The memory controller 2 writes (programs) all the NAND strings NS connected to one word line in one finger as a unit. Therefore, the unit of the amount of data programmed by the memory controller 2 is 4 bits×the number of bit lines.

在讀取動作以及程式化動作時,因應於物理位址,1根的字元線WLi以及1根的選擇閘極線SGD係被作選擇,物理扇區MS係被選擇。另外,在本說明書中,係將對於記憶體胞而將資料作寫入一事,因應於需要而稱作程式化(program)。During the read operation and the programming operation, one word line WLi and one select gate line SGD are selected according to the physical address, and the physical sector MS is selected. In addition, in this specification, writing data to a memory cell is called a program according to need.

圖4,係為3維構造的NAND記憶體5之NAND記憶體胞陣列23之一部分區域的剖面圖。如同圖4中所示一般,在半導體基板之p型井區域(P-well)41上,係於上下方向而被形成有複數之NAND字串NS。亦即是,在p型井區域41上,係於上下方向,而被形成有作為選擇閘極線SGS而起作用之複數之配線層42、作為字元線WLi而起作用之複數之配線層43、以及作為選擇閘極線SGD而起作用之複數之配線層44。FIG. 4 is a cross-sectional view of a part of the NAND memory cell array 23 of the NAND memory 5 with a three-dimensional structure. As shown in FIG. 4, a plurality of NAND strings NS are formed in the vertical direction on the p-well region (P-well) 41 of the semiconductor substrate. That is, in the p-type well region 41, a plurality of wiring layers 42 functioning as select gate lines SGS and a plurality of wiring layers functioning as word lines WLi are formed in the vertical direction. 43, and a plurality of wiring layers 44 functioning as the selection gate line SGD.

又,係被形成有貫通此些之配線層42、43、44並到達p型井區域41處的記憶體洞45。在記憶體洞45之側面處,係依序被形成有區塊絕緣膜46、電荷積蓄層47以及閘極絕緣膜48,進而,在記憶體洞45內係被埋入有導電膜49。導電膜49,係作為NAND字串NS之電流路徑而起作用,並身為在記憶體胞電晶體MT和選擇電晶體ST1以及ST2之動作時而被形成有通道的區域。Also, a memory hole 45 that penetrates these wiring layers 42 , 43 , and 44 and reaches the p-type well region 41 is formed. On the side of the memory hole 45 , a block insulating film 46 , a charge storage layer 47 and a gate insulating film 48 are sequentially formed, and furthermore, a conductive film 49 is embedded in the memory hole 45 . The conductive film 49 functions as a current path of the NAND string NS, and is a region where channels are formed when the memory cell transistor MT and the selection transistors ST1 and ST2 operate.

在各NAND字串NS處,係於p型井區域41上,依序被層積有選擇電晶體ST2、複數之記憶體胞電晶體MT、以及選擇電晶體ST1。在導電膜49之上端處,係被形成有作為位元線BL而起作用之配線層。At each NAND string NS, on the p-well region 41, a selection transistor ST2, a plurality of memory cell transistors MT, and a selection transistor ST1 are laminated in sequence. On the upper end of the conductive film 49, a wiring layer functioning as a bit line BL is formed.

進而,在p型井區域41之表面內,係被形成有n+型雜質擴散層以及p+型雜質擴散層。在n+型雜質擴散層上,係被形成有接觸插銷50,在接觸插銷50上,係被形成有作為源極線SL而起作用之配線層。又,在p+型雜質擴散層上,係被形成有接觸插銷51,在接觸插銷51上,係被形成有作為井配線CPWELL而起作用之配線層。井配線CPWELL,係為了施加刪除電壓而被使用。Furthermore, an n + -type impurity diffusion layer and a p + -type impurity diffusion layer are formed in the surface of the p-type well region 41 . The contact plug 50 is formed on the n+ type impurity diffusion layer, and the wiring layer functioning as the source line SL is formed on the contact plug 50 . Further, on the p+ type impurity diffusion layer, a contact plug 51 is formed, and on the contact plug 51, a wiring layer functioning as a well wiring CPWELL is formed. The well wiring CPWELL is used to apply the erasure voltage.

圖4中所示之NAND記憶體胞陣列23,係在圖4之紙面的深度方向上被作複數配列,藉由在深度方向上而並排為1列的複數之NAND字串NS之集合,1個的指FNG係被形成。其他之指FNG,例如係被形成於圖4之左右方向上。在圖3中,雖係圖示有4個的指FNG0~3,但是,在圖4中,係對於在接觸插銷50、51之間配置有3個的指的例子作展示。The NAND memory cell array 23 shown in FIG. 4 is arranged in plural in the depth direction of the paper of FIG. A denoted FNG system is formed. Other fingers FNG are formed, for example, in the left-right direction in FIG. 4 . In FIG. 3 , four fingers FNG0 to 3 are shown, but in FIG. 4 , an example in which three fingers are arranged between the contact pins 50 and 51 is shown.

圖5,係為對於第1實施形態之臨限值區域的其中一例作展示之圖。圖5,係對於4位元/Cell之非揮發性記憶體3的臨限值區域之分布之其中一例作展示。在非揮發性記憶體3處,係藉由被積蓄在記憶體胞之電荷積蓄層47中的電子之電荷量,來記憶資訊。各記憶體胞,係具備有與電子之電荷量相對應的臨限值電壓。又,係使記憶在記憶體胞中之複數之資料值,分別與臨限值電壓為相異的複數之區域(臨限值區域)相對應。Fig. 5 is a diagram showing an example of the threshold value region in the first embodiment. FIG. 5 shows an example of the distribution of the threshold area of the 4-bit/Cell non-volatile memory 3 . In the non-volatile memory 3, information is memorized by the charge amount of electrons accumulated in the charge storage layer 47 of the memory cell. Each memory cell has a threshold voltage corresponding to the electric charge of electrons. In addition, the plural data values stored in the memory cells are made to correspond to plural regions (threshold regions) with different threshold voltages.

圖5之S0~S15,係對於16個的臨限值區域內之臨限值分布作展示。圖5之橫軸,係代表臨限值電壓,縱軸,係為記憶體胞數(胞數)。臨限值分布,係為臨限值所變動之範圍。如此這般,各記憶體胞,係具備有藉由15個的邊界所劃分出之16個的臨限值區域,各臨限值區域,係具備有固有之臨限值分布。S0-S15 in FIG. 5 are for displaying the distribution of threshold values in 16 threshold value regions. The horizontal axis of FIG. 5 represents the threshold voltage, and the vertical axis represents the number of memory cells (number of cells). Threshold value distribution refers to the range of threshold value variation. In this way, each memory cell has 16 threshold areas divided by 15 boundaries, and each threshold area has an inherent threshold distribution.

在本實施形態中,係將臨限值電壓乃成為Vr1以下之區域,稱作區域S0,並將臨限值電壓成為較Vr1更大並為Vr2以下之區域,稱作區域S1,並將臨限值電壓成為較Vr2更大並為Vr3以下之區域,稱作區域S2,並且將臨限值電壓成為較Vr3更大並為Vr4以下之區域,稱作區域S3。又,在本實施形態中,係將臨限值電壓成為較Vr4更大並為Vr5以下之區域,稱作區域S4,並將臨限值電壓成為較Vr5更大並為Vr6以下之區域,稱作區域S5,並將臨限值電壓成為較Vr6更大並為Vr7以下之區域,稱作區域S6,並且將臨限值電壓成為較Vr7更大並為Vr8以下之區域,稱作區域S7。又,在本實施形態中,係將臨限值電壓成為較Vr8更大並為Vr9以下之區域,稱作區域S8,並將臨限值電壓成為較Vr9更大並為Vr10以下之區域,稱作區域S9,並將臨限值電壓成為較Vr10更大並為Vr11以下之區域,稱作區域S10,並且將臨限值電壓成為較Vr11更大並為Vr12以下之區域,稱作區域S11。又,在本實施形態中,係將臨限值電壓成為較Vr12更大並為Vr13以下之區域,稱作區域S12,並將臨限值電壓成為較Vr13更大並為Vr14以下之區域,稱作區域S13,並將臨限值電壓成為較Vr14更大並為Vr15以下之區域,稱作區域S14,並且將臨限值電壓成為較Vr15更大之區域,稱作區域S15。In this embodiment, the region where the threshold voltage is below Vr1 is called region S0, and the region where the threshold voltage is greater than Vr1 and below Vr2 is called region S1. The region where the threshold voltage is greater than Vr2 and equal to or less than Vr3 is called region S2, and the region where the threshold voltage becomes greater than Vr3 and equal to or less than Vr4 is called region S3. Also, in this embodiment, the region where the threshold voltage is higher than Vr4 and below Vr5 is called region S4, and the region where the threshold voltage is larger than Vr5 and below Vr6 is called S4. The region S5 is defined as the region where the threshold voltage is higher than Vr6 and lower than Vr7 is called region S6, and the region where the threshold voltage is higher than Vr7 and lower than Vr8 is called region S7. Also, in this embodiment, the region where the threshold voltage is greater than Vr8 and below Vr9 is called region S8, and the region where the threshold voltage is greater than Vr9 and below Vr10 is called S8. The region S9 is defined as the region where the threshold voltage is higher than Vr10 and lower than Vr11, called region S10, and the region where the threshold voltage is higher than Vr11 and lower than Vr12 is called region S11. Also, in this embodiment, the region where the threshold voltage is greater than Vr12 and below Vr13 is referred to as region S12, and the region where the threshold voltage is greater than Vr13 and below Vr14 is referred to as S12. As region S13, the region where the threshold voltage is larger than Vr14 and below Vr15 is called region S14, and the region where the threshold voltage is larger than Vr15 is called region S15.

又,係將與區域S0~S15相對應之臨限值分布,稱作第1~第16分布。Vr1~Vr15,係身為成為各臨限值區域之邊界的臨限值電壓。Also, the threshold value distributions corresponding to the regions S0 to S15 are referred to as first to sixteenth distributions. Vr1 to Vr15 are the threshold voltages that serve as the boundaries of the respective threshold regions.

在非揮發性記憶體3中,係使複數之資料值分別與記憶體胞之複數之臨限值區域相對應。將此對應稱作資料編碼。預先對於此資料編碼作制定,在資料之寫入(程式化)時,係依循於資料編碼而以會成為與所記憶之資料值相對應之臨限值區域內的方式,來對於記憶體胞內之電荷積蓄層47注入電荷。而,在讀出時,係對於記憶體胞施加讀出電壓,並根據記憶體胞之臨限值為較讀出電壓而更低或更高一事,來決定資料邏輯。In the non-volatile memory 3, the plural data values correspond to the plural threshold value regions of the memory cells. This correspondence is called data encoding. This data code is formulated in advance, and when the data is written (programmed), it follows the data code and will become in the threshold value area corresponding to the memorized data value, to the memory cell The inner charge storage layer 47 injects charges. However, when reading, the read voltage is applied to the memory cell, and the data logic is determined according to whether the threshold value of the memory cell is lower or higher than the read voltage.

在資料之讀出時,根據臨限值係為較讀出對象之邊界的讀出準位而更低或更高一事,資料之邏輯係被決定。當臨限值為最低的情況時,係身為「刪除」狀態,所有的位元之資料係被定義為“1”。當臨限值為較「刪除」狀態而更高的情況時,係身為「被作了程式化」之狀態,依循於編碼,資料係被定義為“1”或“0”。When reading data, the logic of data is determined according to whether the threshold value is lower or higher than the read level of the boundary of the read object. When the threshold value is the lowest, it is in the "delete" state, and all bits of data are defined as "1". When the threshold value is higher than the "deleted" state, it is the "programmed" state, and the data is defined as "1" or "0" according to the encoding.

圖6A,係為對於第1實施形態之資料編碼的其中一例作展示之圖,並對於1-4-5-5資料編碼之其中一例作展示。在本實施形態中,係使圖5中所示之16個的臨限值區域分別對應於4位元之16個的資料值。圖6A中之臨限值電壓與對應於Top、Upper、Middle、Lower頁面的位元之資料值之間之關係,係如下所示。Fig. 6A is a diagram showing an example of the data encoding of the first embodiment, and an example of the 1-4-5-5 data encoding. In this embodiment, the 16 threshold value regions shown in FIG. 5 correspond to 16 data values of 4 bits, respectively. The relationship between the threshold voltage in FIG. 6A and the data values corresponding to the bits of the Top, Upper, Middle, and Lower pages is as follows.

・臨限值電壓為位於S0區域內之記憶體胞,係身為記憶有“1111”之狀態。 ・臨限值電壓為位於S1區域內之記憶體胞,係身為記憶有“0111”之狀態。 ・臨限值電壓為位於S2區域內之記憶體胞,係身為記憶有“0011”之狀態。 ・臨限值電壓為位於S3區域內之記憶體胞,係身為記憶有“1011”之狀態。 ・臨限值電壓為位於S4區域內之記憶體胞,係身為記憶有“1001”之狀態。 ・臨限值電壓為位於S5區域內之記憶體胞,係身為記憶有“0001”之狀態。 ・臨限值電壓為位於S6區域內之記憶體胞,係身為記憶有“0101”之狀態。 ・臨限值電壓為位於S7區域內之記憶體胞,係身為記憶有“1101”之狀態。 ・臨限值電壓為位於S8區域內之記憶體胞,係身為記憶有“1100”之狀態。 ・臨限值電壓為位於S9區域內之記憶體胞,係身為記憶有“1110”之狀態。 ・臨限值電壓為位於S10區域內之記憶體胞,係身為記憶有“1010”之狀態。 ・臨限值電壓為位於S11區域內之記憶體胞,係身為記憶有“1000”之狀態。 ・臨限值電壓為位於S12區域內之記憶體胞,係身為記憶有“0000”之狀態。 ・臨限值電壓為位於S13區域內之記憶體胞,係身為記憶有“0100”之狀態。 ・臨限值電壓為位於S14區域內之記憶體胞,係身為記憶有“0110”之狀態。 ・臨限值電壓為位於S15區域內之記憶體胞,係身為記憶有“0010”之狀態。 ・Threshold voltage is the memory cell located in the S0 area, which is the state of "1111" in memory. ・Threshold voltage is the memory cell located in the S1 area, which is the state of "0111" in memory. ・Threshold voltage is the memory cell located in the S2 area, which is the state of "0011" in memory. ・Threshold voltage is the memory cell located in the S3 area, which is the state of "1011" in memory. ・Threshold voltage is the memory cell located in the S4 area, which is the state of "1001" in memory. ・Threshold voltage is the memory cell located in the S5 area, which is the state of “0001” in memory. ・Threshold voltage is the memory cell located in the S6 area, which is the state of “0101” in memory. ・Threshold voltage is the memory cell located in the S7 area, which is the state of “1101” in memory. ・Threshold voltage is the memory cell located in the S8 area, which is the state of "1100" in memory. ・Threshold voltage is the memory cell located in the S9 area, which is the state of "1110" in memory. ・Threshold voltage is the memory cell located in the S10 area, which is the state of "1010" in memory. ・Threshold voltage is the memory cell located in the S11 area, which is the state of "1000" in memory. ・Threshold voltage is the memory cell located in the S12 area, which is the state of "0000" in memory. ・Threshold voltage is the memory cell located in the S13 area, which is the state of "0100" in memory. ・Threshold voltage is the memory cell located in the S14 area, which is the state of "0110" in memory. ・Threshold voltage is the memory cell located in the S15 area, which is the state of "0010" in memory.

圖6B,係為對於第1實施形態之資料編碼的另外一例作展示之圖,並對於4-3-4-4資料編碼之其中一例作展示。圖6B中之臨限值電壓與對應於Top、Upper、Middle、Lower頁面的位元之資料值之間之關係,係如下所示。Fig. 6B is a diagram showing another example of the data encoding of the first embodiment, and an example of the 4-3-4-4 data encoding. The relationship between the threshold voltage in FIG. 6B and the data values corresponding to the bits of the Top, Upper, Middle, and Lower pages is as follows.

・臨限值電壓為位於S0區域內之記憶體胞,係身為記憶有“1111”之狀態。 ・臨限值電壓為位於S1區域內之記憶體胞,係身為記憶有“0111”之狀態。 ・臨限值電壓為位於S2區域內之記憶體胞,係身為記憶有“0011”之狀態。 ・臨限值電壓為位於S3區域內之記憶體胞,係身為記憶有“1011”之狀態。 ・臨限值電壓為位於S4區域內之記憶體胞,係身為記憶有“1010”之狀態。 ・臨限值電壓為位於S5區域內之記憶體胞,係身為記憶有“1110”之狀態。 ・臨限值電壓為位於S6區域內之記憶體胞,係身為記憶有“1100”之狀態。 ・臨限值電壓為位於S7區域內之記憶體胞,係身為記憶有“1000”之狀態。 ・臨限值電壓為位於S8區域內之記憶體胞,係身為記憶有“1001”之狀態。 ・臨限值電壓為位於S9區域內之記憶體胞,係身為記憶有“0001”之狀態。 ・臨限值電壓為位於S10區域內之記憶體胞,係身為記憶有“0000”之狀態。 ・臨限值電壓為位於S11區域內之記憶體胞,係身為記憶有“0010”之狀態。 ・臨限值電壓為位於S12區域內之記憶體胞,係身為記憶有“0110”之狀態。 ・臨限值電壓為位於S13區域內之記憶體胞,係身為記憶有“0100”之狀態。 ・臨限值電壓為位於S14區域內之記憶體胞,係身為記憶有“0101”之狀態。 ・臨限值電壓為位於S15區域內之記憶體胞,係身為記憶有“1101”之狀態。 ・Threshold voltage is the memory cell located in the S0 area, which is the state of "1111" in memory. ・Threshold voltage is the memory cell located in the S1 area, which is the state of "0111" in memory. ・Threshold voltage is the memory cell located in the S2 area, which is the state of "0011" in memory. ・Threshold voltage is the memory cell located in the S3 area, which is the state of "1011" in memory. ・Threshold voltage is the memory cell located in the S4 area, which is the state of "1010" in memory. ・Threshold voltage is the memory cell located in the S5 area, which is the state of “1110” in memory. ・Threshold voltage is the memory cell located in the S6 area, which is the state of "1100" in memory. ・Threshold voltage is the memory cell located in the S7 area, which is the state of "1000" in memory. ・Threshold voltage is the memory cell located in the S8 area, which is the state of “1001” in memory. ・Threshold voltage is the memory cell located in the S9 area, which is the state of "0001" in memory. ・Threshold voltage is the memory cell located in the S10 area, which is the state of “0000” in memory. ・Threshold voltage is the memory cell located in the S11 area, which is the state of "0010" in memory. ・Threshold voltage is the memory cell located in the S12 area, which is the state of "0110" in memory. ・Threshold voltage is the memory cell located in the S13 area, which is the state of "0100" in memory. ・Threshold voltage is the memory cell located in the S14 area, which is the state of "0101" in memory. ・Threshold voltage is the memory cell located in the S15 area, which is the state of "1101" in memory.

如同圖6A以及圖6B中所示一般,係能夠在臨限值電壓之各區域處而分配各記憶體胞之4位元之資料的邏輯。另外,在記憶體胞為未寫入的狀態(「刪除」之狀態)下,記憶體胞之臨限值電壓係位於S0區域內。又,於在此所示之符號中,係如同「在S0(刪除)狀態下係記憶“1111”之資料,在S1狀態下係記憶“0111”之資料」一般地,而在任意之2個的鄰接之區域間僅使資料作1個位元的變化。如此這般,圖6A以及圖6B中所示之資料編碼,係身為在任意之2個的相鄰接之區域間僅使資料作1個位元的變化之格雷碼。As shown in FIG. 6A and FIG. 6B , it is logic capable of allocating 4-bit data of each memory cell at each region of the threshold voltage. In addition, when the memory cell is in an unwritten state ("erased" state), the threshold voltage of the memory cell is located in the S0 region. Also, in the symbols shown here, it is like "the data of "1111" is stored in the state of S0 (deletion), and the data of "0111" is stored in the state of S1", and any two Only one bit of data is changed between adjacent areas. In this way, the data encoding shown in FIG. 6A and FIG. 6B is a Gray code in which only one bit of data is changed between any two adjacent regions.

在圖6A所示之本實施形態之編碼中,成為用以判定各頁面之位元值的邊界之臨限值電壓,係如下所示。In the encoding of this embodiment shown in FIG. 6A, the threshold voltage used to determine the boundary of the bit value of each page is as follows.

・成為用以判定Top頁面之位元值的邊界之臨限值電壓,係為Vr1、Vr3、Vr5、Vr7、Vr12。 ・成為用以判定Upper頁面之位元值的邊界之臨限值電壓,係為Vr2、Vr6、Vr10、Vr13、Vr15。 ・成為用以判定Middle頁面之位元值的邊界之臨限值電壓,係為Vr4、Vr9、Vr11、Vr14。 ・成為用以判定Lower頁面之位元值的邊界之臨限值電壓,係為Vr8。 ・Threshold voltages used to determine the boundary of the bit value of the Top page are Vr1, Vr3, Vr5, Vr7, and Vr12. ・The threshold voltages used to determine the boundary of the bit value of the Upper page are Vr2, Vr6, Vr10, Vr13, and Vr15. ・Vr4, Vr9, Vr11, Vr14 are the threshold voltages used to determine the boundary of the bit value of the Middle page. ・The threshold voltage used to determine the boundary of the bit value of the Lower page is Vr8.

如此這般,成為用以判定位元值的邊界之臨限值電壓之數量(以下,稱作邊界數量),係於Lower頁面、Middle頁面、Upper頁面、Top頁面而分別為1、4、5、5。以下,將此種編碼,使用Lower頁面、Middle頁面、Upper頁面、Top頁面之各者的邊界數量而稱作1-4-5-5編碼。In this way, the number of threshold voltages used to determine the boundary of the bit value (hereinafter referred to as the number of boundaries) is 1, 4, and 5 for the Lower page, Middle page, Upper page, and Top page, respectively. , 5. Hereinafter, this kind of encoding is called 1-4-5-5 encoding using the number of boundaries of each of the Lower page, Middle page, Upper page, and Top page.

本實施形態之第1特徵,係在於:各頁面之位元值所變化的邊界數量,最大係為5。在將16個的狀態以4位元來作表現的情況時,最大邊界數量之最小值係為4,圖6之編碼,係僅較此而更多出1,位元錯誤之偏頗係變少。如此這般,由本實施形態所致之記憶體系統1,係藉由具備有第1特徵,而能夠對位元錯誤率作抑制,又,係亦能夠針對各頁面而對於位元錯誤之偏頗作抑制。The first feature of this embodiment is that the number of boundaries where the bit value of each page changes is five at most. When 16 states are represented by 4 bits, the minimum value of the maximum number of boundaries is 4, and the encoding in Figure 6 is only 1 more than this, and the bias of bit errors becomes less . In this way, the memory system 1 caused by this embodiment can suppress the bit error rate by possessing the first feature, and can also control the bias of the bit error for each page. inhibition.

本實施形態之第2特徵,係在於:Lower頁面之邊界數量係為1個,Middle頁面之邊界數量係為4個,而成為能夠以「將Lower頁面與Middle頁面統整為一的第1階段之程式化」和「將Upper頁面與Top頁面統整為一的第2階段之程式化」之2個的階段,來進行程式化。The second feature of this embodiment is that the number of borders on the Lower page is 1, and the number of borders on the Middle page is 4, so that it becomes possible to "integrate the Lower page and the Middle page into one" in the first stage. The stylization is performed in two stages of "stylization of the upper page and the top page" and "stylization of the second stage of integrating the upper page and the top page".

本實施形態之第3特徵,係在於:從藉由第1階段之程式化所產生的臨限值區域起而至藉由第2階段之程式化所產生的臨限值區域之變化幅度係為少。亦即是,此係指臨限值區域之變化幅度係為小。若是臨限值區域之變化幅度為越小,則係成為越難以受到鄰接胞間干涉的影響。針對上述之第1~第3特徵,於後再作詳細敘述。The third feature of this embodiment is that the range of change from the threshold area produced by the stylization of the first stage to the threshold area produced by the stylization of the second stage is few. That is, it means that the range of variation in the threshold area is small. The smaller the range of change in the threshold area, the more difficult it is to be affected by the interference between adjacent cells. For the first to third features above, a detailed description will be given later.

非揮發性記憶體3之控制部22,係基於圖6A或圖6B中所示之編碼,來對於對NAND記憶體胞陣列23之程式化以及從NAND記憶體胞陣列23之讀出作控制。The control unit 22 of the non-volatile memory 3 controls the programming of the NAND memory cell array 23 and the readout from the NAND memory cell array 23 based on the code shown in FIG. 6A or FIG. 6B .

3維記憶體胞,其記憶體胞之微細化係並未如同2維記憶體胞一般地進展。因此,在3維記憶體胞中,若是身為相鄰接之記憶體胞彼此之間隔為廣的世代,則胞間之相互干涉係為小。於此情況,一般而言,係採用將各記憶體胞之所有位元同時地(例如,若是將各位元分配至相異之頁面處,則係將所有頁面同時地)作程式化之手法。For 3-dimensional memory cells, the miniaturization of memory cells has not progressed as in 2-dimensional memory cells. Therefore, in a 3-dimensional memory cell, if the generations of adjacent memory cells are widely spaced from each other, the mutual interference between cells is small. In this case, generally speaking, all bits of each memory cell are programmed simultaneously (for example, if each bit is allocated to a different page, then all pages are programmed simultaneously).

在將各記憶體胞之所有位元同時地作程式化的情況時,作為資料編碼,係並不特別對於組合作限定。只要基於所有位元之資料,而決定要位置在16個的臨限值區域之何者處,並以從身為刪除狀態之S0之區域起而成為所被決定了的臨限值區域的方式來進行程式化即可。於此情況,一般而言,係採用像是4-4-3-4資料編碼一般的會使最大邊界數量取最小值一般的資料編碼。在4-4-3-4資料編碼中,在將16個的臨限值區域間之15個的邊界分配至4個的頁面處時,係對於Lower頁面分配4個邊界,並對於Middle頁面分配4個邊界,並對於Upper頁面分配3個邊界,並且對於Top頁面分配4個邊界。於此資料編碼的情況時,由於頁面間之邊界數量之偏頗係為小,因此,其結果,頁面間之位元錯誤率之偏頗係變小。此係因為,位元錯誤之原因的絕大部分,係起因於臨限值偏移至相鄰接之臨限值區域處一事所引發者,而若是具有越多的邊界數量的頁面,則位元錯誤數量會變得越多之故。此事,由於係會導致「就算是作為記憶體胞之錯誤率為相同也必須要將對於對頁面資料之錯誤作訂正一事而言所必要的ECC電路10之訂正能力強化」,因此,在為了對於針對從主機4而來之寫入要求的記憶體系統1之回應性能、成本以及消耗電力之惡化作抑制一事上,亦為有效。又,起因於邊界數量之偏頗所引發的讀出速度之偏頗亦係變小。In the case of programming all the bits of each memory cell at the same time, the data encoding is not particularly limited to the combination. It is only necessary to determine which of the 16 threshold value areas to be located based on the data of all bits, and to make the determined threshold value area from the area of S0 which is in the deleted state. Just programmatically. In this case, generally speaking, a data encoding such as 4-4-3-4 data encoding that minimizes the maximum number of borders is used. In 4-4-3-4 data encoding, when allocating 15 boundaries between 16 threshold areas to 4 pages, 4 boundaries are allocated to the Lower page, and 4 boundaries are allocated to the Middle page. 4 boundaries, and allocate 3 boundaries for the Upper page, and allocate 4 boundaries for the Top page. In the case of data encoding, since the bias in the number of boundaries between pages is small, as a result, the bias in the bit error rate between pages becomes small. This is because most of the causes of bit errors are caused by the fact that the threshold value is shifted to the adjacent threshold value area, and if there are more pages with a larger number of boundaries, the bit error The number of meta errors will become more and more. This matter, because it will lead to "even if the error rate is the same as the memory cell, the correction ability of the ECC circuit 10 necessary for correcting the error of the page data must be strengthened", therefore, in order to It is also effective in suppressing deterioration in response performance, cost, and power consumption of the memory system 1 to a write request from the host computer 4 . Also, the bias in readout speed caused by the bias in the number of boundaries is also reduced.

又,在4位元/Cell之NAND記憶體5中,由於相鄰接之臨限值區域之間隔係為狹窄,因此,起因於胞間相互干涉所導致的影響,相較於1位元/Cell或2位元/Cell之NAND記憶體5係變大。因此,在近年之微細化有所進展的世代之NAND記憶體5中,一般而言,係為了對於胞間相互干涉作抑制,而採用有使用複數之程式化階段、例如使用2個的程式化階段(以下,係亦會有單純稱作階段的情形),來對於記憶體胞之電荷積蓄層47而逐次少量地注入電荷之程式化方法(Foggy-Fine程式化)。在此Foggy-Fine程式化中,於在第1個的階段(Foggy階段)中而進行了對於記憶體胞之寫入之後,係進行鄰接胞之寫入,之後,回到最初之記憶體胞處,並進行第2個的階段(Fine階段)之寫入。於此情況中之各階段,係身為程式化之實行單位,對應於1根的字元線WLi之記憶體胞的程式化,係藉由實行2個的程式化階段而結束。In addition, in the NAND memory 5 of 4 bits/Cell, since the interval between adjacent threshold value regions is narrow, the influence caused by mutual interference between cells is smaller than that of 1 bit/cell. Cell or 2-bit/Cell NAND memory 5 series becomes larger. Therefore, in the NAND memory 5 of the generation in which miniaturization has progressed in recent years, in general, in order to suppress inter-cell interference, a programming stage using plural numbers, for example, using two programming stages is adopted. Stage (hereinafter, it will also be simply referred to as stage) is a stylized method (Foggy-Fine stylized) for injecting a small amount of charges one by one into the charge storage layer 47 of the memory cell. In this Foggy-Fine programming, after writing to a memory cell in the first stage (Foggy stage), write to an adjacent cell, and then return to the original memory cell place, and write in the second phase (Fine phase). Each stage in this case is the execution unit of programming, and the programming of the memory cell corresponding to one word line WLi is completed by executing two programming stages.

不論是在第1個的階段之程式化中或者是在第2個的階段之程式化中,均係使用16個的臨限值區域而實行程式化。在第1個的階段之程式化結束時的臨限值區域之臨限值分布,係具備有較在最終的資料編碼中之臨限值區域之臨限值分布而更廣的寬幅。亦即是,在Foggy階段中,係進行Foggy(粗略)之寫入。在此Foggy階段之程式化中,輸入資料係4個頁面全部均為必要。Foggy階段之程式化後的臨限值分布,由於係身為相鄰接之分布為相互重疊的中間狀態,因此係並無法進行資料的讀出。在身為第2個的階段之Fine階段的程式化中,係使Foggy階段之程式化後之臨限值區域移動至在最終的資料編碼中之臨限值區域處。亦即是,在Fine階段中,係進行Fine之寫入。此Fine階段之程式化,亦同樣的,輸入資料係4個頁面全部均為必要。Fine階段之程式化後的臨限值分布,由於係身為相鄰接之分布為相互分離了的最終狀態,因此在Fine階段之程式化後,係能夠進行資料的讀出。No matter in the stylization of the first stage or the stylization of the second stage, the stylization is carried out using 16 threshold value areas. The threshold distribution of the threshold region at the end of the programming of the first stage has a wider width than the threshold distribution of the threshold region in the final data encoding. That is, in the Foggy stage, Foggy (rough) writing is performed. In this Foggy stage of programming, all 4 pages of input data are necessary. The stylized threshold distribution in the Foggy stage is in an intermediate state where adjacent distributions overlap each other, so data cannot be read out. In the programming of the Fine stage which is the second stage, the programmed threshold area of the Foggy stage is moved to the threshold area in the final data code. That is, in the Fine stage, writing of Fine is performed. The stylization of this Fine stage is also the same, and all 4 pages of input data are necessary. The threshold value distribution after programming in the Fine stage is the final state where adjacent distributions are separated from each other, so data can be read out after programming in the Fine stage.

在4-4-3-4資料編碼的情況時,雖然邊界數量之偏頗係為少,但是,在Foggy-Fine程式化之資料輸入中,於各階段處係需要進行4個頁面之量的資料輸入。此係會導致在資料輸入中所耗費的時間之增大,並使相對於從主機4而來之寫入要求的記憶體系統1之回應性能惡化。又,在記憶體系統1內,會使用以將為了對於NAND記憶體5作輸入的資料預先作保持之寫入緩衝(第1記憶部)的緩衝量(寫入緩衝量)增大。此寫入緩衝,一般而言,係為被分配有記憶體系統1內之RAM6的一部分之區域者。In the case of 4-4-3-4 data encoding, although the deviation of the number of boundaries is small, in the Foggy-Fine stylized data input, 4 pages of data are required at each stage enter. This will increase the time spent in data input and deteriorate the response performance of the memory system 1 to the write request from the host computer 4 . Also, in the memory system 1, the buffer size (write buffer size) of the write buffer (first storage unit) used to hold data for input to the NAND memory 5 is increased. Generally speaking, this write buffer is an area allocated to a part of the RAM 6 in the memory system 1 .

作為針對此些問題之對策,在本實施形態中,記憶體系統1,係對於具有3維構造之非揮發性記憶體3,而採用1-4-5-5資料編碼,並進而以2個的階段來實施頁面單位(page by page)之寫入。藉由此,在本實施形態中,就算是於具備有3維構造之非揮發性記憶體3中,亦能夠對於胞間相互干涉和各頁面間之位元錯誤率之偏頗作抑制,並同時將記憶體控制器2之寫入緩衝量降低。本實施形態之寫入緩衝,係將第1~第4位元(Lower頁面、Middle頁面、Upper頁面以及Top頁面之各資料)中的於第1程式化以及第2程式化時會被重複輸入的位元之資料,在開始了第2程式化之後設為能夠廢棄或無效化,並將其以外的位元之資料,在開始了第1程式化之後設為能夠廢棄或無效化。As a countermeasure against these problems, in the present embodiment, the memory system 1 adopts 1-4-5-5 data encoding for the non-volatile memory 3 having a three-dimensional structure, and further uses two stage to implement the page unit (page by page) write. Thus, in this embodiment, even in the non-volatile memory 3 having a three-dimensional structure, it is possible to suppress inter-cell interference and bias in the bit error rate between pages, and at the same time Reduce the write buffer size of the memory controller 2. The write buffer in this embodiment is to repeatedly input data in the first to fourth bits (the data of the Lower page, Middle page, Upper page, and Top page) during the first programming and the second programming The data of the bit is set to be discardable or invalid after the second programming is started, and the data of the other bits is set to be discardable or invalid after the first programming is started.

於此,針對鄰接記憶體胞間干涉作說明。被積蓄在某1個的記憶體胞之電荷積蓄層47中的電荷,係會對於相鄰接之記憶體胞的電場造成擾亂,其結果,會賦予使在將相鄰接之記憶體胞讀出時的臨限值電壓產生變動之雜訊。起因於「在某一電場條件下而被實施有程式化(program)和驗證(verify),並在程式化結束之後,相鄰接之記憶體胞被程式化為相異之電荷」一事,讀出精確度係會成為有所劣化。此鄰接記憶體胞間干涉,係隨著記憶體裝置之製造技術的微細化而記憶體胞之間隔縮小一事,而變得顯著。又,此鄰接記憶體胞間干涉,若是有所擴大,則會在被與同一字元線WLi上之相異之位元線作連接的鄰接記憶體胞彼此之間而產生。Here, the inter-cell interference of adjacent memory is described. The charge accumulated in the charge accumulation layer 47 of a certain memory cell will cause disturbance to the electric field of the adjacent memory cell, and as a result, it will give the next adjacent memory cell The noise of the threshold voltage changes when output. It originated from the fact that "programming and verification are carried out under a certain electric field condition, and after the programming is completed, the adjacent memory cells are programmed into different charges", read The output accuracy system will become somewhat degraded. This interference between adjacent memory cells becomes significant as the distance between memory cells shrinks with the miniaturization of the manufacturing technology of memory devices. Also, if the interference between adjacent memory cells is enlarged, it will occur between adjacent memory cells connected to different bit lines on the same word line WLi.

鄰接記憶體胞間干涉,係能夠藉由將在「程式化以及驗證時」和「相鄰接之記憶體胞被作了程式化之後的讀出時」之間之記憶體胞之電場條件的差異縮小一事,而有所紓緩。作為將在被與同一字元線WLi上之相異之位元線作連接的鄰接記憶體胞彼此之鄰接記憶體胞間干涉作降低的其中一個方法,係存在有將程式化分割成複數之階段並以在各階段之間而不會於電荷積蓄層47內之電荷量處產生大幅度之變化的方式來實行程式化的方法。The interference between adjacent memory cells can be determined by the electric field conditions of the memory cells between "programming and verification" and "reading after adjacent memory cells have been programmed". The fact that the differences narrowed was somewhat relieved. As one of the methods to reduce the interference between adjacent memory cells connected to different bit lines on the same word line WLi, there is a division of programming into plural The method of stylization is carried out in such a way that there is no large change in the amount of charge in the charge storage layer 47 between the stages.

在本實施形態之程式化序列中,1根的字元線WLi上之4位元,係藉由2個的程式化階段、亦即是藉由1st階段和2nd階段,而被程式化。各程式化階段,係身為程式化之實行單位,本實施形態之記憶體系統1,係將對於記憶體胞之4位元資料的寫入,藉由實行2個的程式化階段而結束。又,在本實施形態中,於2個的程式化階段之各者處,係使用有4位元之某些的頁面之資料。具體而言,在1st階段之程式化中,係使用有Lower頁面資料、Middle頁面以及Top頁面之資料,在2nd階段之程式化中,係使用有Middle頁面及Upper頁面以及Top頁面之資料。In the programming sequence of this embodiment, 4 bits on one word line WLi are programmed in two programming stages, that is, in a 1st stage and a 2nd stage. Each programming stage is the execution unit of programming, and the memory system 1 of this embodiment ends by executing 2 programming stages to write 4-bit data to the memory cell. Also, in this embodiment, in each of the two programming stages, the data of some pages having 4 bits is used. Specifically, in the stylization of the 1st stage, the data of the Lower page, Middle page, and Top page are used, and in the stylization of the 2nd stage, the data of the Middle page, Upper page, and Top page are used.

圖7,係為對於第1實施形態中之程式化後的臨限值區域作展示之圖。在圖7中,係展示有在對於記憶體胞而進行了1st階段和2nd階段之程式化之後的臨限值區域。圖7之(T1),係對於身為程式化前之初期狀態的刪除狀態之臨限值區域作展示。圖7之(T2),係對於1st階段之程式化(第1程式化)後的臨限值區域作展示。圖7之(T3),係對於2nd階段之程式化(第2程式化)後的臨限值區域作展示。Fig. 7 is a diagram showing the stylized threshold value area in the first embodiment. In FIG. 7, there is shown the threshold value region after the programming of the 1st stage and the 2nd stage for the memory cell. (T1) of FIG. 7 shows the threshold area of the deleted state which is the initial state before stylization. (T2) in Fig. 7 shows the threshold area after the stylization of the 1st stage (the first stylization). (T3) in Figure 7 shows the threshold area after the stylization of the 2nd stage (second stylization).

如同圖7之(T1)中所示一般,NAND記憶體胞陣列23之所有記憶體胞,在未寫入的狀態(「刪除」之狀態)下,係身為分布S0之狀態。非揮發性記憶體3之控制部22,係如同圖7之(T2)中所示一般,在1st階段之程式化中,係因應於寫入(記憶)至Lower頁面及Middle頁面以及Top頁面中之位元值,來針對各記憶體胞之每一者,而維持於分布S0之狀態,或者是注入電荷而使其移動至較分布S0而更上方之分布處。As shown in (T1) of FIG. 7 , all memory cells of the NAND memory cell array 23 are in the state of distribution S0 in the unwritten state ("delete" state). The control unit 22 of the non-volatile memory 3 is generally shown in (T2) of FIG. For each of the memory cells, the bit value is maintained in the state of the distribution S0, or the charge is injected to move it to a distribution higher than the distribution S0.

具體而言,控制部22,係以「當寫入至Lower頁面及Middle頁面以及Top頁面中之位元值係均為“1”的情況時,係並不注入電荷,當寫入至Lower頁面及Middle頁面以及Top頁面處的位元值只要有任1個為“0”的情況時,則係注入電荷並使臨限值電壓移動至較高處」的方式,來進行程式化。Specifically, the control unit 22 is based on "when the bit values written into the Lower page, the Middle page, and the Top page are all "1", the charge is not injected, and when the bit value written into the Lower page As long as any one of the bit values at the Middle page and the Top page is "0", it is programmed by injecting charge and moving the threshold voltage to a higher level.

亦即是,當寫入至Lower頁面和Middle頁面以及Top頁面處之位元值係身為“011”的情況時,係使其移動至分布S1,又,當寫入至Lower頁面和Middle頁面以及Top頁面處之位元值係身為“101”的情況時,係使其移動至分布S4,又,當寫入至Lower頁面和Middle頁面以及Top頁面處之位元值係身為“001”的情況時,係使其移動至分布S5,又,當寫入至Lower頁面和Middle頁面以及Top頁面處之位元值係身為“100”的情況時,係使其移動至分布S8,又,當寫入至Lower頁面和Middle頁面以及Top頁面處之位元值係身為“110”的情況時,係使其移動至分布S9,又,當寫入至Lower頁面和Middle頁面以及Top頁面處之位元值係身為“000”的情況時,係使其移動至分布S12,又,當寫入至Lower頁面和Middle頁面以及Top頁面處之位元值係身為“010”的情況時,係使其移動至分布S14。That is, when the bit value written to the Lower page, Middle page, and Top page is "011", it is moved to distribution S1, and when written to the Lower page and Middle page And when the bit value at the Top page is "101", it is moved to the distribution S4, and when the bit value written to the Lower page and Middle page and the Top page is "001" In the case of ", it is moved to the distribution S5, and when the bit value written to the Lower page, Middle page, and Top page is "100", it is moved to the distribution S8, Also, when the bit value written to the Lower page, Middle page, and Top page is "110", it is moved to distribution S9, and when written to the Lower page, Middle page, and Top page When the bit value at the page is "000", it is moved to the distribution S12, and when the bit value written to the Lower page, Middle page, and Top page is "010", In this case, it is moved to distribution S14.

於此,較理想,分布S1、分布S4、分布S5、分布S8、分布S9、分布S12、分布S14,係以使臨限值電壓會多少有所降低的方式來將臨限值區域之寬幅擴廣並粗略地進行程式化。亦即是,係將後述之程式化電壓脈衝的上升幅度增大。藉由此,係能夠將在寫入中所需要的時間縮短。又,藉由以使臨限值電壓會多少有所降低的方式來進行程式化,係能夠以在2nd階段之程式化中而最終性地會成為特定之寬幅的方式來將臨限值分布區域之寬幅作寫入。Here, ideally, distribution S1, distribution S4, distribution S5, distribution S8, distribution S9, distribution S12, and distribution S14 are to reduce the width of the threshold value region in such a way that the threshold voltage will be somewhat reduced. Broadened and roughly stylized. That is, the rising range of the programming voltage pulse described later is increased. Thereby, the time required for writing can be shortened. Also, by programming in such a way that the threshold voltage is somewhat lower, it is possible to distribute the threshold value in such a way that it will eventually become a specific width in the programming of the 2nd stage. The width of the area for writing.

又,較理想,相鄰接之分布S8與分布S9、以及相鄰接之臨限值分布S12與分布S14,該些之各者之間隔,係設為較與其他之相鄰接之分布之間之間隔而更窄。此些之將間隔作了縮窄的鄰接臨限值分布彼此之寫入位元值,係Middle頁面之資料為相異。亦即是,1st階段之程式化後的資料,由於看起來係如同二元值(binary)一般,因此,係能夠進行Lower頁面與Middle頁面資料以及Top頁面之讀出,但是,係藉由將Middle頁面之資料為相異的臨限值分布之間隔縮窄,來將Lower頁面與Top頁面之資料為相異的臨限值分布之間隔確保為廣,並使Lower頁面與Top頁面之讀出時的餘裕(margin)增加。圖7之(T2)中所示的臨限值分布S0~S14,係對應於第17~第24臨限值區域。Also, ideally, the adjacent distribution S8 and distribution S9, and the adjacent threshold value distribution S12 and distribution S14, the distance between each of these is set to be smaller than that of other adjacent distributions. The intervals are narrower. The write bit values between the adjacent threshold distributions with narrowed intervals are different because the data of the Middle page are different. That is to say, the stylized data in the 1st stage looks like a binary value (binary), so it can be read out from the Lower page, Middle page data, and Top page. However, by adding The interval between different threshold value distributions of the data on the Middle page is narrowed to ensure a wide interval between the different threshold value distributions of the data on the Lower page and the Top page, and the readout of the Lower page and the Top page When the margin (margin) increases. The threshold value distributions S0-S14 shown in (T2) of FIG. 7 correspond to the 17th-24th threshold value regions.

接著,如同圖7之(T3)中所示一般,在2nd階段之程式化中,於資料之寫入中係需要Middle頁面與Upper頁面之2個頁面。又,非揮發性記憶體3之控制部22,係以在2nd階段之程式化後之臨限值分布會以使各鄰接之分布被作了分離的最終狀態而成為16值之準位的方式,來進行程式化。在2nd階段之程式化後,係能夠進行所有的頁面資料之讀出。Next, as shown in ( T3 ) of FIG. 7 , in programming at the 2nd stage, two pages, the Middle page and the Upper page, are required for data writing. In addition, the control unit 22 of the non-volatile memory 3 is such that the threshold value distribution after programming in the 2nd stage becomes a 16-value level in the final state where each adjacent distribution is separated. , to programmatically. After programming in the 2nd stage, all page data can be read out.

在2nd階段之程式化中,若是記憶體胞之臨限值的從1st階段之程式化結束時起的變化幅度越大,則鄰接胞間干涉係會變得越大。故而,較理想,係使記憶體胞之臨限值分布之變化量為最大的臨限值分布之變化量成為最小。若依據本實施例,則此最大的臨限值分布之變化量,係為3個的臨限值分布之量,而身為S0變化為S3的情況和S4變化為S7的情況以及S8變化為S11的情況。圖7之(T3)中所示的臨限值分布S0~S15,係對應於第1~第16臨限值區域。In the programming of the 2nd stage, if the change range of the threshold value of the memory cell from the end of the programming of the 1st stage is larger, the interference between adjacent cells will become larger. Therefore, ideally, the variation of the threshold distribution of the memory cells is minimized when the variation of the threshold distribution of the memory cells is the largest. If according to the present embodiment, then the variation of the maximum threshold value distribution is the amount of 3 threshold value distributions, and as S0 changes to S3, S4 changes to S7 and S8 changes as The case of S11. The threshold value distributions S0-S15 shown in (T3) of FIG. 7 correspond to the first to sixteenth threshold value regions.

另外,典型而言,程式化,係藉由施加1次或複數次之程式化電壓脈衝,而進行之。在複數次之程式化施加脈衝中,係使電壓值階段性地上升。在各程式化電壓脈衝之後,為了對於記憶體胞是否超越臨限值邊界準位地而作了移動一事作確認,係進行有被稱作驗證(verify)之讀出。藉由反覆進行此施加和讀出,係成為能夠使記憶體胞之臨限值移動至特定之臨限值分布的範圍之中。In addition, programming is typically performed by applying one or a plurality of programming voltage pulses. During the programmed application of pulses for multiple times, the voltage value is increased step by step. After each programming voltage pulse, to confirm whether the memory cell has moved beyond a threshold boundary level, a readout called verify is performed. By repeatedly performing this application and reading, it becomes possible to move the threshold value of the memory cell to the range of the specific threshold value distribution.

另外,控制部22,雖然亦可對於1根的字元線WLi,來連續實施1st階段之程式化和2nd階段之程式化,但是,為了將鄰接記憶體胞間干涉之影響降低,係亦可橫跨複數之字元線WLi地,來以非連續性之順序而實施程式化。In addition, although the control unit 22 may continuously implement the programming of the 1st stage and the programming of the 2nd stage for one word line WLi, in order to reduce the influence of interference between adjacent memory cells, it may Programming is performed in non-contiguous order across word lines WLi of the plurality.

圖8A,係為對於第1實施形態之程式化順序的第1例作展示之圖。圖8B,係為對於第1實施形態之程式化順序的第2例作展示之圖。圖8C,係為對於第1實施形態之程式化順序的第3例作展示之圖。在圖8A~圖8C中,為了將鄰接記憶體胞間干涉之影響縮小,係以2個的程式化階段來進行程式化。圖8A,係對於在各區塊內之各字元線處被連接有1個的字串St之NAND記憶體5中的程式化順序之其中一例作展示。又,圖8B以及圖8C,係對於在各區塊內之各字元線處被連接有4個的字串St之NAND記憶體5中的程式化順序之其中一例作展示。另外,在圖8B以及圖8C中,係將被與各字元線作了連接之4個的字串St,標記為String0~3。Fig. 8A is a diagram showing the first example of the stylized sequence of the first embodiment. Fig. 8B is a diagram showing the second example of the stylized sequence of the first embodiment. Fig. 8C is a diagram showing the third example of the stylized sequence of the first embodiment. In FIGS. 8A to 8C , in order to reduce the influence of interference between adjacent memory cells, programming is performed in two programming stages. FIG. 8A shows an example of the programming sequence in the NAND memory 5 in which one word string St is connected to each word line in each block. 8B and 8C show an example of the programming order in the NAND memory 5 in which four word strings St are connected to each word line in each block. In addition, in FIG. 8B and FIG. 8C, the four character strings St connected to each word line are denoted as String0-3.

若是開始進行寫入,則控制部22,係以特定之非連續性之順序來一面橫跨字元線WLi一面進行各程式化階段。亦即是,針對同一字元線之1st階段和2nd階段,係並不被連續性地實行,而是在身對某一字元線而進行了1st階段之程式化之後,針對相異之字元線而進行2nd階段之程式化。If writing is started, the control unit 22 performs each programming stage while straddling the word line WLi in a specific discontinuous order. That is to say, the 1st stage and the 2nd stage for the same character line are not carried out continuously, but after the stylization of the 1st stage is carried out for a certain character line, for different characters The stylization of the 2nd stage is carried out for the element line.

若是在對於某一字元線而直到2nd階段為止地來結束了程式化之後,針對相鄰接之字元線而連續進行1st階段以及2nd階段之程式化,則臨限值電壓之變動量係會變大。而,若是鄰接字元線之臨限值電壓之變動量為大,則字元線間之鄰接記憶體胞間干涉係會變大。故而,為了將字元線間之鄰接記憶體胞間干涉縮小,在使字元線直到2nd階段為止地而結束了程式化之後,將鄰接字元線之臨限值電壓之變動量縮小一事係為有效。若是身為圖8A之序列,則在對於某一字元線而直到2nd階段為止地來結束了程式化之後的鄰接字元線之程式化階段,係成為僅有2nd階段。If the programming of a certain word line is completed up to the 2nd stage, and the programming of the 1st stage and the 2nd stage are continuously performed for the adjacent word line, the fluctuation amount of the threshold voltage is will get bigger. However, if the variation of the threshold voltage of adjacent word lines is large, the interference between adjacent memory cells between the word lines will become larger. Therefore, in order to reduce the interference between adjacent memory cells between word lines, it is necessary to reduce the fluctuation amount of the threshold voltage of adjacent word lines after programming the word lines until the 2nd stage. is valid. In the sequence shown in FIG. 8A , the stylization stage of adjacent word lines after the stylization of a certain word line is completed up to the 2nd stage is only the 2nd stage.

在以圖8A之程式化順序來對於3維構造之NAND記憶體5進行程式化的情況時,若是開始進行寫入,則控制部22,係基於從處理器8而來之指示,而藉由以下之(1)~(9)所示之順序來實行程式化。控制部22,係基於從處理器8而來之指示,而進行對於NAND記憶體5之程式化,但是,以下,係將有關基於從處理器8而來之指示一事的內容之記載省略。When programming the NAND memory 5 with the three-dimensional structure in the programming sequence shown in FIG. Programming is performed in the order shown in (1) to (9) below. The control unit 22 performs programming to the NAND memory 5 based on the instruction from the processor 8, however, the description of the content based on the instruction from the processor 8 is omitted below.

(1)首先,控制部22,係實施字元線WL0之1st階段的程式化ST11。 (2)接著,控制部22,係實施字元線WL1之1st階段的程式化ST12。 (3)接著,控制部22,係實施字元線WL0之2nd階段的程式化ST13。 (4)接著,控制部22,係實施字元線WL2之1st階段的程式化ST14。 (5)接著,控制部22,係實施字元線WL1之2nd階段的程式化ST15。 (6)接著,控制部22,係實施字元線WL3之1st階段的程式化ST16。 (7)接著,控制部22,係實施字元線WL2之2nd階段的程式化ST17。 (8)接著,控制部22,係實施字元線WL4之1st階段的程式化ST18。 (9)接著,控制部22,係實施字元線WL3之2nd階段的程式化ST19。 (1) First, the control unit 22 executes the programming ST11 of the 1st stage of the word line WL0. (2) Next, the control unit 22 executes the programming ST12 of the 1st stage of the word line WL1. (3) Next, the control unit 22 executes programming ST13 of the 2nd stage of the word line WL0. (4) Next, the control unit 22 executes programming ST14 of the 1st stage of the word line WL2. (5) Next, the control unit 22 executes programming ST15 of the 2nd stage of the word line WL1. (6) Next, the control unit 22 executes programming ST16 of the 1st stage of the word line WL3. (7) Next, the control unit 22 executes programming ST17 of the 2nd stage of the word line WL2. (8) Next, the control unit 22 executes programming ST18 of the 1st stage of the word line WL4. (9) Next, the control unit 22 executes programming ST19 of the 2nd stage of the word line WL3.

以下,同樣的,控制部22,係從圖8A之左下起朝向右上地而朝斜上方來使處理進行。如此這般,在圖8A中,非揮發性記憶體3內之複數之記憶體胞,係具備有被與第1字元線作連接的複數之第1記憶體胞、和被與和第1字元線相鄰接之第2字元線作連接的複數之第2記憶體胞,記憶體控制器2,係在對於複數之第1記憶體胞而使其進行了第1程式化之後,對於複數之第2記憶體胞而使其進行第1程式化,接著,在對於複數之第2記憶體胞而使其進行了第1程式化之後,對於複數之第1記憶體胞而使其進行第2程式化。Hereinafter, similarly, the control unit 22 performs processing from the lower left to the upper right in FIG. 8A and then proceeds obliquely upward. In this way, in FIG. 8A, the plurality of memory cells in the non-volatile memory 3 are provided with a plurality of first memory cells connected to the first word line, and and and the first The plurality of second memory cells connected by the second word lines adjacent to the word lines, the memory controller 2, after performing the first programming for the first memory cells of the plurality, The first programming is performed on the plural second memory cells, and then, after the first programming is performed on the plural second memory cells, the plural first memory cells are programmed Proceed to the 2nd stylization.

在以圖8B之程式化順序來對於3維構造之NAND記憶體5進行程式化的情況時,若是開始進行寫入,則控制部22,係藉由以下之(11)~(24)所示之順序來實行程式化。When programming the NAND memory 5 with the three-dimensional structure in the programming sequence of FIG. 8B , if writing is started, the control unit 22 is shown by the following (11)-(24) The sequence to implement the stylization.

(11)首先,控制部22,係實施字串St0_字元線WL0之1st階段的程式化ST21。 (12)接著,控制部22,係實施字串St1_字元線WL0之1st階段的程式化ST22。 (13)接著,控制部22,係實施字串St2_字元線WL0之1st階段的程式化ST23。 (14)接著,控制部22,係實施字串St3_字元線WL0之1st階段的程式化ST24。 (15)接著,控制部22,係實施字串St0_字元線WL1之1st階段的程式化ST25。 (16)接著,控制部22,係實施字串St0_字元線WL0之2nd階段的程式化ST26。 (17)接著,控制部22,係實施字串St1_字元線WL1之1st階段的程式化ST27。 (18)接著,控制部22,係實施字串St1_字元線WL0之2nd階段的程式化ST28。 (19)接著,控制部22,係實施字串St2_字元線WL1之1st階段的程式化ST29。 (20)接著,控制部22,係實施字串St2_字元線WL0之2nd階段的程式化ST210。 (21)接著,控制部22,係實施字串St3_字元線WL1之1st階段的程式化ST211。 (22)接著,控制部22,係實施字串St3_字元線WL0之2nd階段的程式化ST212。 (23)接著,控制部22,係實施字串St0_字元線WL2之1st階段的程式化ST213。 (24)接著,控制部22,係實施字串St0_字元線WL1之2nd階段的程式化ST214。 (11) First, the control unit 22 executes the programming ST21 of the 1st stage of the word string St0_word line WL0. (12) Next, the control unit 22 executes the programming ST22 of the 1st stage of the word string St1_word line WL0. (13) Next, the control unit 22 executes the programming ST23 of the 1st stage of the word string St2_word line WL0. (14) Next, the control unit 22 executes the programming ST24 of the 1st stage of the word string St3_word line WL0. (15) Next, the control unit 22 executes the programming ST25 of the 1st stage of the word string St0_word line WL1. (16) Next, the control unit 22 executes the programming ST26 of the 2nd stage of the word string St0_word line WL0. (17) Next, the control unit 22 executes the programming ST27 of the 1st stage of the word string St1_word line WL1. (18) Next, the control unit 22 executes the programming ST28 of the 2nd stage of the word string St1-word line WL0. (19) Next, the control unit 22 executes the programming ST29 of the 1st stage of the word string St2_word line WL1. (20) Next, the control unit 22 executes the programming ST210 of the 2nd stage of the word string St2_word line WL0. (21) Next, the control unit 22 executes the programming ST211 of the 1st stage of the word string St3_word line WL1. (22) Next, the control unit 22 executes the programming ST212 of the 2nd stage of the word string St3_word line WL0. (23) Next, the control unit 22 executes the programming ST213 of the 1st stage of the word string St0_word line WL2. (24) Next, the control unit 22 executes the programming ST214 of the 2nd stage of the word string St0_word line WL1.

以下,同樣的,控制部22,係從圖8B之左下起朝向右上地而朝斜上方來使處理進行。另外,在圖8B中,雖係針對區塊內之字串St為4個的情況來作了說明,但是,區塊內之字串St,係亦可為3個以下,亦可為5個以上。Hereinafter, similarly, the control unit 22 performs processing from the lower left toward the upper right in FIG. 8B and then proceeds obliquely upward. In addition, in Fig. 8B, although the description is made for the case where there are 4 character strings St in the block, the character string St in the block may also be 3 or less, and may also be 5 above.

在以圖8C之程式化順序來對於3維構造之NAND記憶體5進行程式化的情況時,若是開始進行寫入,則控制部22,係藉由以下之(31)~(50)所示之順序來實行程式化。When programming the NAND memory 5 of the three-dimensional structure with the programming sequence of FIG. 8C , if writing is started, the control unit 22 is shown by the following (31)-(50) The sequence to implement the stylization.

(31)首先,控制部22,係實施字串St0_字元線WL0之1st階段的程式化ST31。 (32)接著,控制部22,係實施字串St1_字元線WL0之1st階段的程式化ST32。 (33)接著,控制部22,係實施字串St2_字元線WL0之1st階段的程式化ST33。 (34)接著,控制部22,係實施字串St3_字元線WL0之1st階段的程式化ST34。 (35)首先,控制部22,係實施字串St0_字元線WL1之1st階段的程式化ST35。 (36)接著,控制部22,係實施字串St1_字元線WL1之1st階段的程式化ST36。 (37)接著,控制部22,係實施字串St2_字元線WL1之1st階段的程式化ST37。 (38)接著,控制部22,係實施字串St3_字元線WL1之1st階段的程式化ST38。 (39)接著,控制部22,係實施字串St0_字元線WL0之2nd階段的程式化ST39。 (40)接著,控制部22,係實施字串St1_字元線WL0之2nd階段的程式化ST310。 (41)接著,控制部22,係實施字串St2_字元線WL0之2nd階段的程式化ST311。 (42)接著,控制部22,係實施字串St3_字元線WL0之2nd階段的程式化ST312。 (43)接著,控制部22,係實施字串St0_字元線WL2之1st階段的程式化ST313。 (44)接著,控制部22,係實施字串St1_字元線WL2之1st階段的程式化ST314。 (45)接著,控制部22,係實施字串St2_字元線WL2之1st階段的程式化ST315。 (46)接著,控制部22,係實施字串St3_字元線WL2之1st階段的程式化ST316。 (47)接著,控制部22,係實施字串St0_字元線WL1之2nd階段的程式化ST317。 (48)接著,控制部22,係實施字串St1_字元線WL1之2nd階段的程式化ST318。 (49)接著,控制部22,係實施字串St2_字元線WL1之2nd階段的程式化ST319。 (50)接著,控制部22,係實施字串St3_字元線WL1之2nd階段的程式化ST320。 (31) First, the control unit 22 executes the programming ST31 of the 1st stage of the word string St0_word line WL0. (32) Next, the control unit 22 executes the programming ST32 of the 1st stage of the word string St1_word line WL0. (33) Next, the control unit 22 executes the programming ST33 of the 1st stage of the word string St2_word line WL0. (34) Next, the control unit 22 executes the programming ST34 of the 1st stage of the word string St3_word line WL0. (35) First, the control unit 22 executes the programming ST35 of the 1st stage of the word string St0_word line WL1. (36) Next, the control unit 22 executes the programming ST36 of the 1st stage of the word string St1_word line WL1. (37) Next, the control unit 22 executes the programming ST37 of the 1st stage of the word string St2_word line WL1. (38) Next, the control unit 22 executes the programming ST38 of the 1st stage of the word string St3_word line WL1. (39) Next, the control unit 22 executes the programming ST39 of the 2nd stage of the word string St0_word line WL0. (40) Next, the control unit 22 executes the programming ST310 of the 2nd stage of the word string St1-word line WL0. (41) Next, the control unit 22 executes the programming ST311 of the 2nd stage of the word string St2_word line WL0. (42) Next, the control unit 22 executes the programming ST312 of the 2nd stage of the word string St3_word line WL0. (43) Next, the control unit 22 executes the programming ST313 of the 1st stage of the word string St0_word line WL2. (44) Next, the control unit 22 executes the programming ST314 of the 1st stage of the word string St1_word line WL2. (45) Next, the control unit 22 executes the programming ST315 of the 1st stage of the word string St2_word line WL2. (46) Next, the control unit 22 executes the programming ST316 of the 1st stage of the word string St3_word line WL2. (47) Next, the control unit 22 executes the programming ST317 of the 2nd stage of the word string St0_word line WL1. (48) Next, the control unit 22 executes the programming ST318 of the 2nd stage of the word string St1_word line WL1. (49) Next, the control unit 22 executes the programming ST319 of the 2nd stage of the word string St2_word line WL1. (50) Next, the control unit 22 executes the programming ST320 of the 2nd stage of the word string St3_word line WL1.

另外,在圖8C中,雖係針對區塊內之字串St為4個的情況來作了說明,但是,區塊內之字串St,係亦可為3個以下,亦可為5個以上。In addition, in Fig. 8C, although the description is made for the case where there are 4 character strings St in the block, the character string St in the block can also be 3 or less, and can also be 5 above.

如此這般,就算是字串St成為複數,在1個的字串St內之字元線WLi的各程式化階段之程式化的順序,亦係與字串St為1個的情況時相同。於在區塊內存在有複數之字串St的3維構造之非揮發性記憶體3的情況時,字元線WLi與字串St之組合位置的程式化,一般而言,係先對於相異之字串St內之同一字元線編號進行程式化,之後前進至下一個的字元線編號處。在依循此種順序的情況時,若是將圖8A作字串St之數量之量的結合,則例如係會成為如同圖8B或圖8C一般的順序。In this way, even if the word string St becomes plural, the stylization order of each stylization stage of the word line WLi in one word string St is the same as when there is one word string St. When there is a non-volatile memory 3 with a 3-dimensional structure of a complex word string St in the block, the stylization of the combined position of the word line WLi and the word string St, generally speaking, first for the relative The same word line number in the different zigzag string St is programmed, and then advances to the next word line number. In the case of following this sequence, if FIG. 8A is combined by the number of character strings St, for example, the sequence will be the same as that of FIG. 8B or FIG. 8C.

於此,針對依循於由第1實施形態所致的程式化順序之寫入程序的其中一例,使用圖9~圖11而作說明。在圖9~圖11中,係對於依循在圖8B或圖8C中所示之程式化順序的情況時之寫入程序作展示。如同前述一般,記憶體控制器2,由於係以非連續性之順序來一面橫跨字元線WLi一面使程式化階段前進,因此,係將某些字元線WLi之整批(於此,係為區塊)作為程式化序列的整體而實行程式化。Here, an example of the writing procedure according to the programming order according to the first embodiment will be described using FIGS. 9 to 11 . In FIGS. 9 to 11, the writing process is shown for the case of following the stylized sequence shown in FIG. 8B or FIG. 8C. As previously mentioned, the memory controller 2 advances the programming stage while crossing the word lines WLi in a discontinuous order, therefore, the entire batch of certain word lines WLi (herein, system as a block) is stylized as a whole of the stylized sequence.

圖9,係為對於由第1實施形態所致的1個區塊之量之全體的寫入程序之第1例作展示之流程圖。於此之1個區塊,假設係具備有字元線WL0~WLn(n為自然數)之n+1根的字元線WLi。圖10,係為對於由第1實施形態所致的1st階段中之寫入程序作展示之流程圖,圖11,係為對於由第1實施形態所致的2nd階段中之寫入程序作展示之流程圖。Fig. 9 is a flow chart showing a first example of the entire write procedure for one block by the first embodiment. Here, one block is assumed to have n+1 word lines WLi of word lines WL0 to WLn (n is a natural number). Fig. 10 is a flow chart showing the writing procedure in the 1st stage caused by the first embodiment, and Fig. 11 is a flow chart showing the writing procedure in the 2nd stage caused by the first embodiment The flow chart.

如同圖9中所示一般,若是開始進行寫入,則控制部22,係實行字串St0_字元線WL0之1st階段的程式化(步驟S10)。接著,控制部22,係實施字串St1_字元線WL0之1st階段的程式化(步驟S20)。之後,控制部22,係對於各字串St而實行與步驟S10、S20相同的處理。接著,控制部22,係實施字串St3_字元線WL0之1st階段的程式化(步驟S30)。As shown in FIG. 9, when writing is started, the control unit 22 executes programming of the 1st stage of the word string St0_word line WL0 (step S10). Next, the control unit 22 executes programming of the 1st stage of the word string St1_word line WL0 (step S20). Thereafter, the control unit 22 executes the same processing as steps S10 and S20 for each character string St. Next, the control unit 22 executes programming of the 1st stage of the word string St3_word line WL0 (step S30).

進而,控制部22,係實施字串St0_字元線WL1之1st階段的程式化(步驟S40)。接著,控制部22,係實施字串St0_字元線WL0之2nd階段的程式化(步驟S50)。接著,控制部22,係實施字串St1_字元線WL1之1st階段的程式化(步驟S60)。之後,控制部22,係對於各字串St之各字元線WLi而反覆進行如同步驟S40、S50、S60一般的處理。Furthermore, the control unit 22 executes programming of the 1st stage of the word string St0_word line WL1 (step S40). Next, the control unit 22 executes programming of the 2nd stage of the word string St0_word line WL0 (step S50). Next, the control unit 22 executes programming of the 1st stage of the word string St1_word line WL1 (step S60). Thereafter, the control unit 22 repeats the general processing of steps S40, S50, and S60 for each word line WLi of each word string St.

接著,控制部22,係實施字串St0_字元線WLn之1st階段的程式化(步驟S70)。接著,控制部22,係實施字串St0_字元線WLn-1之2nd階段的程式化(步驟S80)。之後,控制部22,係對於各字串St之各字元線WLi而反覆進行如同步驟S70、S80一般的處理。Next, the control unit 22 executes programming of the 1st stage of the word string St0_word line WLn (step S70). Next, the control unit 22 executes programming of the 2nd stage of the word string St0_word line WLn-1 (step S80). Thereafter, the control unit 22 repeats the general processing of steps S70 and S80 for each word line WLi of each word string St.

接著,控制部22,係實施字串St3_字元線WLn-1之2nd階段的程式化(步驟S90)。接著,控制部22,係實施字串St0_字元線WLn之2nd階段的程式化(步驟S100)。接著,控制部22,係實施字串St1_字元線WLn之2nd階段的程式化(步驟S110)。之後,控制部22,係對於各字串St而實行與步驟S100、S110相同的處理。接著,控制部22,係實施字串St3_字元線WLn之2nd階段的程式化(步驟S120)。Next, the control unit 22 executes programming of the 2nd stage of the word string St3_word line WLn-1 (step S90). Next, the control unit 22 executes programming of the 2nd stage of the word string St0_word line WLn (step S100). Next, the control unit 22 executes programming of the 2nd stage of the word string St1_word line WLn (step S110). Thereafter, the control unit 22 performs the same processing as steps S100 and S110 for each character string St. Next, the control unit 22 executes programming of the 2nd stage of the word string St3_word line WLn (step S120).

圖10,係為對於1st階段之寫入程序之第1例作展示之流程圖。在1st階段之程式化中,首先,係從記憶體控制器2對於非揮發性記憶體3而被輸入有Lower頁面資料的輸入開始指令(步驟S210)。之後,係從記憶體控制器2對於非揮發性記憶體3而被輸入有Lower頁面資料(步驟S215)。接著,係從記憶體控制器2對於非揮發性記憶體3而被輸入有Middle頁面資料的輸入開始指令(步驟S220)。之後,係從記憶體控制器2對於非揮發性記憶體3而被輸入有Middle頁面資料(步驟S225)。接著,係從記憶體控制器2對於非揮發性記憶體3而被輸入有Top頁面之資料的輸入開始指令(步驟S230)。之後,係從記憶體控制器2對於非揮發性記憶體3而被輸入有Top頁面資料(步驟S235)。進而,係從記憶體控制器2對於非揮發性記憶體3而被輸入有1st階段之程式化實行指令(步驟S240),並藉由此而成為chip_busy(步驟S245)。Fig. 10 is a flow chart showing the first example of the writing program in the 1st stage. In the programming of the 1st stage, first, an input start command of Lower page data is input to the non-volatile memory 3 from the memory controller 2 (step S210). Afterwards, the Lower page data is input from the memory controller 2 to the non-volatile memory 3 (step S215). Next, an input start command of Middle page data is input to the non-volatile memory 3 from the memory controller 2 (step S220). Afterwards, the Middle page data is input from the memory controller 2 to the non-volatile memory 3 (step S225). Next, the memory controller 2 starts inputting the data of the Top page to the non-volatile memory 3 (step S230). Afterwards, the top page data is input to the non-volatile memory 3 from the memory controller 2 (step S235). Furthermore, a programming execution command of the 1st stage is input to the non-volatile memory 3 from the memory controller 2 (step S240), and thus becomes chip_busy (step S245).

在進行資料寫入時,係決定臨限值電壓Vth(步驟S250),並被施加有1~複數次的程式化電壓脈衝(步驟S255)。之後,為了對於記憶體胞是否超越臨限值邊界準位地而作了移動一事作確認,係進行有資料讀出(驗證)(步驟S260)。When data writing is performed, the threshold voltage Vth is determined (step S250 ), and one to a plurality of programming voltage pulses are applied (step S255 ). Afterwards, in order to confirm whether the memory cell has been moved beyond the threshold boundary level, data is read (verified) (step S260).

進而,係判定在Lower頁面及Middle頁面以及Top頁面中之資料的失敗位元(fail-bit)數量是否為較判定基準(criteria)而更小(步驟S265)。當資料的失敗位元數量係為判定基準以上的情況時,從程式化脈衝施加起而至criteria判定為止之處理(步驟S255~S265)係被反覆進行。而,若是資料的失敗位元數量成為較判定基準而更小,則係成為chip_ready(步驟S270)。如此這般,藉由反覆進行施加和讀出以及確認,係成為能夠使記憶體胞之臨限值移動至特定之臨限值分布的範圍之中。Furthermore, it is determined whether the number of fail-bits of the data in the Lower page, Middle page, and Top page is smaller than the criteria (step S265). When the number of failed bits of the data is greater than the judgment criterion, the processing from the application of the programming pulse to the judgment of the criteria (steps S255-S265) is repeated. On the other hand, if the number of failed bits of the data is smaller than the criterion, it becomes chip_ready (step S270). In this way, by repeatedly applying, reading, and confirming, it becomes possible to move the threshold value of the memory cell to the range of the specific threshold value distribution.

另外,如同上述一般,在1st階段寫入時之程式化電壓脈衝施加後的讀出準位,係亦能夠與2nd階段寫入後之讀出準位有些許差異,較理想,係身為較2nd階段寫入後之讀出準位而更低的準位。亦即是,係身為Vr1’≦Vr1、Vr4’≦Vr4、Vr5’≦Vr5、Vr8’≦Vr8、Vr9’≦Vr9、Vr12’≦Vr12、Vr14’≦Vr14。In addition, as mentioned above, the readout level after the programming voltage pulse is applied in the 1st stage of writing can also be slightly different from the readout level after the 2nd stage of writing, which is more ideal. The read level after writing in the 2nd stage is lower. That is, Vr1'≦Vr1, Vr4'≦Vr4, Vr5'≦Vr5, Vr8'≦Vr8, Vr9'≦Vr9, Vr12'≦Vr12, Vr14'≦Vr14.

又,在1st階段寫入中之程式化電壓脈衝施加後的讀出中,係亦可將由Vr9’所致之讀出和由Vr14’所致之讀出省略,Vr9’,係在通過了Vr8’之讀出之後,於施加了某規定次數之程式化電壓脈衝之後,設為寫入結束,Vr14’,係在通過了Vr13’之讀出之後,於施加了某規定次數之程式化電壓脈衝之後,設為寫入結束。In addition, in the readout after the programming voltage pulse application in the 1st stage writing, the readout by Vr9' and the readout by Vr14' can also be omitted, and Vr9' is passed through Vr8 After the reading of ', after applying a certain number of programming voltage pulses, it is set as the end of writing, Vr14' is after the reading of Vr13', after applying a certain number of programming voltage pulses After that, it is assumed that writing is completed.

此係因為,如同上述一般,藉由將在1st階段之程式化後的資料中之Middle頁面之資料為相異的臨限值區域之間隔縮窄,係能夠將在2nd階段寫入時而進行讀出的Lower頁面與Top頁面之資料為相異的臨限值區域之間隔,就算是僅藉由「施加某規定次數之程式化電壓脈衝」的簡單之控制也能夠充分確保為廣。This is because, as mentioned above, by narrowing the interval between the different threshold value regions for the data of the Middle page in the programmed data in the 1st stage, it is possible to write in the 2nd stage. The intervals between the different threshold value regions of the data read out from the Lower page and the Top page can be fully ensured even by simple control of "applying a certain number of programmed voltage pulses".

進而,係亦可將Vr8’和Vr9’和Vr12’以及Vr14’的程式化電壓脈衝施加後之讀出省略,並在通過了Vr5’之讀出之後,於施加了各別之某規定次數之程式化電壓脈衝之後,設為寫入結束。除此之外,進而,係亦可將Vr4’、Vr5’、Vr8’、Vr9’、Vr12’、Vr14’的程式化電壓脈衝施加後之讀出省略,並在通過了Vr1’之讀出之後,於施加了各別之某規定次數之程式化電壓脈衝之後,設為寫入結束。Furthermore, it is also possible to omit the readout after application of the programming voltage pulses of Vr8', Vr9', Vr12', and Vr14', and after passing the readout of Vr5', after applying a certain predetermined number of times After the programming voltage pulse, the programming is considered to be complete. In addition, it is also possible to omit the readout after the programming voltage pulses of Vr4', Vr5', Vr8', Vr9', Vr12', and Vr14' are applied, and after passing the readout of Vr1' , after a predetermined number of programming voltage pulses are applied, the programming is considered to be completed.

圖11,係為對於2nd階段之寫入程序之第1例作展示之流程圖。在2nd階段之程式化中,首先,係從記憶體控制器2對於非揮發性記憶體3而被輸入有Middle頁面之資料的輸入開始指令(步驟S310)。之後,係從記憶體控制器2對於非揮發性記憶體3而被輸入有Middle頁面之資料(步驟S320)。Fig. 11 is a flow chart showing the first example of the writing procedure in the 2nd stage. In the programming of the 2nd stage, firstly, the data of the Middle page is inputted from the memory controller 2 to the non-volatile memory 3 to start commanding (step S310). Afterwards, the data of the Middle page is input to the non-volatile memory 3 from the memory controller 2 (step S320).

接著,係從記憶體控制器2對於非揮發性記憶體3而被輸入有Upper頁面之資料的輸入開始指令(步驟S330)。之後,係從記憶體控制器2對於非揮發性記憶體3而被輸入有Upper頁面之資料(步驟S340)。接著,係從記憶體控制器2對於非揮發性記憶體3而被輸入有2nd階段之程式化實行指令(步驟S350),並藉由此而成為chip_busy(步驟S360)。Next, the memory controller 2 inputs the input data of the Upper page to the non-volatile memory 3 and starts an instruction (step S330). Afterwards, the data of the Upper page is input to the non-volatile memory 3 from the memory controller 2 (step S340). Next, a programming execution command of the 2nd stage is input to the non-volatile memory 3 from the memory controller 2 (step S350), and thus becomes chip_busy (step S360).

之後,控制部22,係進行身為IDL(Internal Data Load)之Lower頁面以及Top頁面資料的讀出(步驟S370)。之後,基於之前所輸入的Middle頁面資料和由IDL所致之Lower頁面以及Top頁面之資料,Upper頁面之程式化目標的Vth(臨限值電壓)係被決定(步驟S380)。之後,使用被決定了的Vth,對於Upper頁面之資料寫入係被進行。更具體而言,係以會成為所被決定了的臨限值電壓的方式,來將複數之程式化脈衝的電壓值逐次些許提高並進行寫入(步驟S390)。到達了目的之臨限值電壓的記憶體胞,係被從寫入對象而去除。After that, the control unit 22 reads the data of the Lower page and the Top page which are IDL (Internal Data Load) (step S370). Afterwards, based on the previously input data of the Middle page and the data of the Lower page and Top page generated by IDL, the Vth (threshold voltage) of the programming target of the Upper page is determined (step S380 ). After that, using the determined Vth, writing of data to the Upper page is performed. More specifically, the voltage values of the plurality of programming pulses are gradually increased and written so as to become the determined threshold voltage (step S390 ). Memory cells that have reached the target threshold voltage are removed from the write target.

之後,係將寫入了的資料讀出(步驟S400),並判定失敗位元數量是否為較判定基準(criteria)而更小(步驟S410)。當資料的失敗位元數量係為判定基準以上的情況時,從程式化脈衝施加起而至criteria判定為止之處理(步驟S390~S410)係被反覆進行。而,若是資料的失敗位元數量成為較判定基準而更小,則係成為chip_ready(步驟S420)。Afterwards, the written data is read (step S400), and it is determined whether the number of failed bits is smaller than the criteria (step S410). When the number of failed bits of the data is greater than the judgment criterion, the processing from the application of the programming pulse to the judgment of the criteria (steps S390-S410) is repeated. On the other hand, if the number of failed bits of the data is smaller than the criterion, it becomes chip_ready (step S420).

於此,在本實施形態中,係具備有2個的特徵。第1特徵係在於,Middle頁面之資料,係在1st階段之程式化中而已被輸入,1st程式化後之臨限值區域,係身為亦包含有Middle頁面之資料的寫入狀態,但是,在2nd階段之程式化中,仍係再度輸入有Middle頁面之資料。第2特徵係在於,在1st階段之程式化中,該Middle頁面之資料所作切換的鄰接臨限值區域彼此,其間隔係變窄,相反的,Lower頁面之資料與Top頁面之資料所作切換的鄰接臨限值分布彼此,其間隔係變廣。藉由此,係能夠將藉由IDL所讀出的Lower頁面以及Top頁面資料之信賴性提高。另一方面,Middle頁面之資料,若是藉由IDL而將資料作了讀出,則係會有信賴性降低之虞,但是,在本實施形態中,由於係將在1st階段程式化中所使用了的Middle頁面之資料再度作輸入,因此係並不會有信賴性降低的問題。Here, in this embodiment, there are two features. The first feature is that the data on the Middle page has already been input in the stylization of the 1st stage, and the threshold area after the 1st stylization is the writing state that also includes the data on the Middle page. However, In the programming of the 2nd stage, the data of the Middle page is still input again. The second feature is that in the stylization of the 1st stage, the interval between the adjacent threshold value areas where the data of the Middle page is switched is narrowed. On the contrary, the data of the Lower page and the data of the Top page are switched. Adjacent threshold values are distributed to each other, and the interval becomes wider. Thereby, the reliability of the data of the lower page and the top page read by IDL can be improved. On the other hand, if the data on the Middle page is read out by IDL, the reliability may be lowered. However, in this embodiment, because it will be used in the 1st stage programming The information on the Middle page that has been entered is re-entered, so there will be no problem of lowering reliability.

進而,控制部22,係亦能夠為了將IDL之讀出資料的信賴性提升,而進行複數次數之讀出,並在晶片內之頁面緩衝處,採用此讀出結果之多數決,而作為接下來的寫入資料而作使用。當然的,控制部22,在通常之讀出動作時,亦能夠進行複數次數之讀出並在晶片內採用此讀出結果之多數決,而作為對於外部之讀出資料而作使用。Furthermore, the control unit 22 can also perform a plurality of readouts in order to improve the reliability of the readout data of the IDL, and use the majority decision of the readout results at the page buffer in the chip as a connection. Write down the data and use it. Of course, the control unit 22 can also perform a plurality of times of readout in normal readout operations and use the majority of the readout results within the wafer as readout data to the outside.

圖12,係為用以對於複數次數之讀出結果的多數決處理作說明的圖。在圖12中,係作為將特定之頁面之資料作了讀出後的結果,而將正確的位元以圈記號(○)來作標示,並將錯誤的位元以叉記號(×)來作標示。又,在圖12中,係對於進行了3次的讀出的情況時之多數決之結果作展示。Fig. 12 is a diagram for explaining the majority decision processing of the reading results of plural times. In Fig. 12, as the result of reading the data of a specific page, the correct bit is marked with a circle mark (○), and the wrong bit is marked with a cross mark (×). Make a mark. In addition, in FIG. 12, the results of the majority vote are shown for the case where reading is performed three times.

在各位元處,多數決之結果被判斷為錯誤的情形,係為(a)3次均為錯誤的情況、和(b)2次為錯誤的情況。若是將各位元為錯誤的機率設為p,則在p=0.2的情況時,(a)3次錯誤的機率,係為p×p×p=0.2×0.2×0.2,(b)2次錯誤的機率,係為(1-p)×p×p=(1-0.2)×0.2×0.2。At each cell, the case where the result of the majority vote is judged to be wrong is (a) the case where all three times are wrong, and (b) the case where two times are wrong. If the probability of each bit being wrong is set to p, then in the case of p=0.2, the probability of (a) 3 times of mistakes is p×p×p=0.2×0.2×0.2, (b) 2 times of mistakes The probability of , is (1-p)×p×p=(1-0.2)×0.2×0.2.

故而,3次之多數決之結果被判斷為錯誤的機率,係為(p×p×p)+3×(1-p)×p×p=0.104。如此這般,控制部22,係藉由在晶片內之頁面緩衝24處進行複數次數之讀出結果之多數決處理,而成為能夠將讀出資料之信賴性提升。Therefore, the probability that the result of three times of majority voting is judged to be wrong is (p×p×p)+3×(1-p)×p×p=0.104. In this way, the control unit 22 can improve the reliability of the read data by performing the majority processing of the read results of a plurality of times at the page buffer 24 in the chip.

進而,控制部22,係亦可為了將在字元線WLn之2nd階段寫入中的IDL之讀出資料之信賴性提升,而因應於在WLn+1之1st階段寫入中而進行了寫入的資料或者是臨限值電壓,來改變在IDL處之字元線WLn之讀出電壓並進行讀出。Furthermore, the control unit 22 may perform writing in response to writing in the 1st stage of WLn+1 in order to improve the reliability of reading data from the IDL that is being written in the 2nd stage of word line WLn. Data or threshold voltage to change the read voltage of the word line WLn at IDL and read.

又,進而,控制部22,係亦可為了將在字元線WLn之2nd階段寫入中的IDL之讀出資料之信賴性提升,而因應於在字元線WLn+1之1st階段寫入中而進行了寫入的資料或者是臨限值電壓,來改變在IDL處之字元線WLn+1之非選擇電壓並進行讀出。此時,係亦可同時地改變字元線WLn之讀出電壓並進行讀出。Furthermore, the control unit 22 may also respond to the writing in the 1st stage of the word line WLn+1 in order to improve the reliability of the read data of the IDL which is being written in the 2nd stage of the word line WLn. The written data or the threshold voltage is read by changing the non-selection voltage of the word line WLn+1 at IDL. At this time, the reading voltage of the word line WLn can also be changed simultaneously to perform reading.

在進行對於Upper頁面之資料寫入時,係被施加有1~複數次的程式化電壓脈衝。之後,為了對於記憶體胞是否超越臨限值邊界準位地而作了移動一事作確認,係進行有Upper頁面之資料讀出(驗證)。此時之讀出準位,係身為特定之準位。When writing data into the Upper page, one to a plurality of programming voltage pulses are applied. Afterwards, in order to confirm whether the memory cell has been moved beyond the threshold boundary level, data reading (verification) with the Upper page is carried out. The readout level at this time is a specific level.

進而,係判定在Upper頁面中之資料的失敗位元數量是否為較判定基準而更小。當在Upper頁面中之資料的失敗位元數量係為判定基準以上的情況時,從程式化電壓脈衝施加起而至驗證為止之處理係被反覆進行。而,若是資料的失敗位元數量成為較判定基準而更小,則係成為chip_ready。Furthermore, it is judged whether the number of failed bits of the data in the Upper page is smaller than the judgment criterion. When the number of failed bits of the data in the upper page exceeds the judgment standard, the process from the application of the programming voltage pulse to the verification is repeated. On the other hand, if the number of failed bits of the data becomes smaller than the criterion, it becomes chip_ready.

於此,針對在圖11中所示的寫入程序之變形例作說明。圖13,係為對於在第1實施形態的2nd階段中之寫入程序之變形例作展示之流程圖。另外,在圖13之流程圖中,係追加有「針對將在1st階段中所作了程式化的資料作了讀出之IDL資料,而進行錯誤訂正,並回送至非揮發性記憶體3處」之程序。具體而言,首先,係從記憶體控制器2對於非揮發性記憶體3而被輸入有Lower頁面之讀出指令(步驟S510)。藉由此,係成為chip_ready(步驟S512)。接著,控制部22,係將Lower頁面資料之讀出藉由Vr8’之臨限值電壓來進行。之後,控制部22,係基於在Vr8’之臨限值電壓下的讀出結果,來將所讀出了的資料之值決定為“0”或“1”(步驟S514)。之後,係成為chip_ready(步驟S516)。Here, a modification example of the writing procedure shown in FIG. 11 will be described. Fig. 13 is a flow chart showing a modified example of the writing process in the 2nd stage of the first embodiment. In addition, in the flow chart of FIG. 13 , it is added that "the IDL data read out of the programmed data in the 1st stage is corrected for errors and sent back to the non-volatile memory 3." program. Specifically, first, a command to read the Lower page is input from the memory controller 2 to the non-volatile memory 3 (step S510). By this, the system becomes chip_ready (step S512). Next, the control unit 22 reads the data of the lower page by using the threshold voltage of Vr8'. After that, the control unit 22 determines the value of the read data to be "0" or "1" based on the read result at the threshold voltage of Vr8' (step S514). After that, the system becomes chip_ready (step S516).

若是將控制部22所讀出了的Lower頁面資料作輸出(步驟S518),則此Lower頁面資料,係被送訊至ECC電路10處(步驟S520)。藉由此,ECC電路10係對於Lower頁面資料進行ECC訂正(步驟S522)。If the Lower page data read by the control unit 22 is output (step S518), then the Lower page data is sent to the ECC circuit 10 (step S520). Thus, the ECC circuit 10 performs ECC correction on the data of the Lower page (step S522).

接著,係從記憶體控制器2對於非揮發性記憶體3而被輸入有Lower頁面之資料的輸入開始指令(步驟S524)。藉由此,ECC電路10係對於非揮發性記憶體3而輸入Lower頁面之資料(步驟S526)。Next, an instruction to start inputting the data of the Lower page is input from the memory controller 2 to the non-volatile memory 3 (step S524). Thus, the ECC circuit 10 inputs the data of the Lower page to the non-volatile memory 3 (step S526).

接著,係從記憶體控制器2對於非揮發性記憶體3而被輸入有Top頁面之讀出指令(步驟S528),並藉由此而成為chip_busy(步驟S530)。之後,控制部22,係將Top頁面資料之讀出藉由Vr2’和Vr10’之臨限值電壓來進行。之後,控制部22,係基於在Vr1’和Vr4’和Vr8’以及Vr12’之臨限值電壓下的讀出結果,來將所讀出了的資料之值決定為“0”或“1”(步驟S532)。之後,係成為chip_ready(步驟S534)。Next, a command to read the Top page is input to the non-volatile memory 3 from the memory controller 2 (step S528), and thus becomes chip_busy (step S530). Afterwards, the control unit 22 reads the top page data by using the threshold voltages of Vr2' and Vr10'. Afterwards, the control unit 22 determines the value of the read data to be "0" or "1" based on the read results at the threshold voltages of Vr1', Vr4', Vr8', and Vr12'. (step S532). Thereafter, the system becomes chip_ready (step S534).

若是將控制部22所讀出了的Top頁面資料作輸出(步驟S536),則此Top頁面資料,係被送訊至ECC電路10處(步驟S538)。藉由此,ECC電路10係對於Top頁面資料進行ECC訂正(步驟S540)。接著,係從記憶體控制器2對於非揮發性記憶體3而被輸入有Top頁面之資料的輸入開始指令(步驟S542)。藉由此,ECC電路10係對於非揮發性記憶體3而輸入Top頁面之資料(步驟S544)。If the Top page data read by the control unit 22 is output (step S536), then the Top page data is sent to the ECC circuit 10 (step S538). Thus, the ECC circuit 10 performs ECC correction on the top page data (step S540). Next, an input start instruction is given from the memory controller 2 to the non-volatile memory 3 with the data of the Top page input (step S542). Thus, the ECC circuit 10 inputs the data of the Top page to the non-volatile memory 3 (step S544).

之後,係從記憶體控制器2對於非揮發性記憶體3而被輸入有Middle頁面資料的輸入開始指令。(步驟S546)。後續之步驟,係與圖11之程序相同。程式化目標之臨限值電壓Vth,係基於從ECC電路10而來之Lower頁面資料以及Top頁面資料、和再度被作了輸入的Middle頁面之資料、以及新輸入了的Upper頁面之資料,來決定程式化目標的臨限值電壓Vth。Afterwards, the non-volatile memory 3 is input with an input start command of the Middle page data from the memory controller 2 . (step S546). Subsequent steps are the same as the procedure shown in FIG. 11 . The threshold voltage Vth of the stylized target is based on the data of the Lower page and the Top page from the ECC circuit 10, the data of the Middle page that has been input again, and the data of the newly input Upper page. Determines the threshold voltage Vth of the programmed target.

在上述之2nd階段之程式化中,對於非揮發性記憶體3之資料輸入,係僅為Middle頁面和Upper頁面之2個頁面。但是,在此2nd階段中,於身為記憶體胞之程式化之目的地的臨限值電壓Vth處,係需要亦包含有Lower頁面、Top頁面(在開始2nd階段之前的臨限值電壓Vth)之4個頁面之量的資料。因此,在此階段之程式化中,作為前置處理,控制部22,係進行「首先將Lower頁面資料和Top頁面資料讀出,並將該資料藉由更進而被作了輸入的Middle頁面與Upper頁面來作合成並決定程式化目標之臨限值電壓Vth」之動作。另外,在2nd階段之驗證時之讀出準位,係亦可為與2nd階段寫入後之讀出準位有些許的差異。In the programming of the above-mentioned 2nd stage, the data input for the non-volatile memory 3 is only 2 pages of the Middle page and the Upper page. However, in this 2nd stage, at the threshold voltage Vth which is the destination of programming the memory cell, it is necessary to also include the Lower page and the Top page (threshold voltage Vth before starting the 2nd stage) ) of 4 pages of information. Therefore, in the stylization at this stage, as a pre-processing, the control unit 22 is to "first read out the Lower page data and the Top page data, and then use the input Middle page and the inputted Middle page for the data." Use the Upper page to synthesize and determine the "threshold voltage Vth" of the stylized target. In addition, the readout level during verification in the 2nd stage may also be slightly different from the readout level after writing in the 2nd stage.

於此,針對採用了4-3-4-4資料編碼之Foggy-Fine程式化的處理程序和本實施形態的程式化處理程序之間之比較作說明。圖14A,係為用以對於在採用了4-3-4-4資料編碼之Foggy-Fine程式化中之寫入緩衝的資料量作說明之圖。圖14B,係為對於在本實施形態中之寫入緩衝的資料量作說明之圖。圖14B,係對於採用了1-4-5-5資料編碼之例作展示。Here, a comparison between the Foggy-Fine stylized processing program using 4-3-4-4 data coding and the stylized processing program of this embodiment will be described. FIG. 14A is a diagram for explaining the amount of data in the write buffer in Foggy-Fine programming using 4-3-4-4 data encoding. Fig. 14B is a diagram for explaining the amount of data in the write buffer in this embodiment. Fig. 14B shows an example of adopting 1-4-5-5 data coding.

在圖14A以及圖14B中,於上段側處,係對於區塊寫入之資料輸入和程式化實行之時序表作展示,於下段側處,係對於為了將資料在寫入緩衝內作資料保持所需要的期間之時序表作展示。另外,在圖14A以及圖14B中,為了使說明簡單化,係針對1個區塊內的字串St之個數為1的情況作展示。當字串St為複數的情況時,係需要字串St之個數倍數的寫入緩衝之資料量。In Fig. 14A and Fig. 14B, at the upper side, the timing table for data input and program execution of block writing is shown, and at the lower side, it is for data retention in order to write data in the buffer A schedule of the required periods is shown. In addition, in FIG. 14A and FIG. 14B , in order to simplify the description, the case where the number of word strings St in one block is 1 is shown. When the strings St are plural, the amount of data to be written into the buffer that is a multiple of the number of strings St is required.

在4-3-4-4資料編碼之Foggy-Fine程式化的情況時,在身為第1個的階段之Foggy階段中,係進行有4個頁面之量的資料輸入、和此4個頁面之量的程式化(Foggy階段之程式化)。又,在4-3-4-4資料編碼之Foggy-Fine程式化的情況時,在身為第2個的階段之Fine階段中,亦係進行有4個頁面之量的資料輸入、和此4個頁面之量的程式化(Fine階段之程式化)。In the case of Foggy-Fine programming of 4-3-4-4 data coding, in the Foggy stage which is the first stage, data input of 4 pages is performed, and these 4 pages The amount of stylization (stylization of the Foggy stage). Also, in the case of Foggy-Fine programming of 4-3-4-4 data coding, in the Fine stage which is the second stage, data input with the amount of 4 pages is also performed, and this Stylization of the amount of 4 pages (stylization of the Fine stage).

而,在各字元線WL0、WL1、WL2、…處,直到於Fine階段處而程式化被開始為止,係有必要將在Foggy階段中而被作了寫入的4個頁面之量之資料,預先儲存在寫入緩衝中。However, at each word line WL0, WL1, WL2, ..., until programming is started at the Fine stage, it is necessary to write the data of 4 pages written in the Foggy stage. , pre-stored in the write buffer.

在Foggy-Fine程式化中,亦同樣的,為了將鄰接記憶體胞間干涉降低,Lower/Middle/Upper/Top之4個頁面之量的資料係並不被連續地作寫入。例如,在對於字元線WL0之Foggy階段被作了實行之後,於對於字元線WL0之Fine階段被實行之前,對於與字元線WL0相鄰接之字元線WL1的Foggy階段係被實行。又,在對於字元線WL0之Foggy階段被作了實行之後,於對於字元線WL1之Fine階段被實行之前,對於與字元線WL1相鄰接之字元線WL2的Foggy階段係被實行。於此方法的情況時,直到最終之身為第2個的Fine階段之資料輸入結束為止,係有必要將Lower/Middle/Upper/Top之4個頁面之量之資料,預先保持在寫入緩衝內。又,為了將鄰接記憶體胞間干涉降低,係有必要將在複數之字元線WLi處的資料預先保持於寫入緩衝內。例如,在對於字元線WL2而Foggy階段被實行時,係有必要使針對字元線WL1之3個頁面之量的資料和針對字元線WL2之3個頁面之量的資料被保持於寫入緩衝內。如此這般,在4-3-4-4資料編碼之Foggy-Fine程式化的情況時,係有必要將最大8個頁面之量的資料保持在寫入緩衝內。In Foggy-Fine programming, similarly, in order to reduce the interference between adjacent memory cells, the data of 4 pages of Lower/Middle/Upper/Top are not continuously written. For example, after the Foggy phase for word line WL0 is performed, before the Fine phase for word line WL0 is performed, the Foggy phase for word line WL1 adjacent to word line WL0 is performed. . Also, after the Foggy phase for word line WL0 is performed, before the Fine phase for word line WL1 is performed, the Foggy phase for word line WL2 adjacent to word line WL1 is performed. . In the case of this method, it is necessary to keep the data of 4 pages of Lower/Middle/Upper/Top in the write buffer in advance until the data input of the second Fine stage is finally completed. Inside. Furthermore, in order to reduce the interference between adjacent memory cells, it is necessary to store the data at the multiple word lines WLi in the write buffer in advance. For example, when the Foggy phase is performed for word line WL2, it is necessary to keep data for 3 pages for word line WL1 and data for 3 pages for word line WL2 during the write process. into the buffer. In this way, in the case of Foggy-Fine programming of 4-3-4-4 data encoding, it is necessary to keep the data of a maximum of 8 pages in the write buffer.

如同圖14B中所示一般,在本實施形態之程式化中,例如係以1-4-5-5資料編碼而使用有2階段的程式化。在本實施形態之程式化中,於1st階段中,係進行有3個頁面之量(Lower頁面和Middle頁面以及Top頁面)的資料輸入、和此3個頁面之量的程式化(1st程式化)。又,在本實施形態之程式化的情況時,於2nd階段中,係進行有2個頁面之量(Middle頁面以及Upper頁面)的資料輸入、和Upper頁面之1個頁面之量的程式化(2nd程式化)。As shown in FIG. 14B, in the stylization of this embodiment, for example, 1-4-5-5 data encoding is used to use 2-stage stylization. In the stylization of this embodiment, in the 1st stage, there are three pages (Lower page, Middle page, and Top page) of data input, and the stylization of these three pages (1st stylization) ). Also, in the case of programming in this embodiment, in the 2nd stage, there are two pages (Middle page and Upper page) of data input and one page of Upper page programming ( 2nd stylized).

而,在各字元線WL0、WL1、WL2、…處,除了在雙方的階段中均被作輸入的Middle頁面以外,係只要在各階段之資料輸入時將資料預先儲存在寫入緩衝中即可,若是程式化被開始,則係亦可將資料從寫入緩衝內而刪除。例如,若是在1st階段處而資料被作輸入,則此資料係被儲存在寫入緩衝內。而,若是在1st階段處而程式化被開始,則係亦可將預先被儲存在寫入緩衝內之Lower頁面與Top頁面之資料刪除。同樣的,若是在2nd階段處而資料被作輸入,則此資料係被儲存在寫入緩衝內。而,若是在2nd階段處而程式化被開始,則係亦可將預先被儲存在寫入緩衝內之資料全部刪除。因此,在本實施形態之程式化的情況時,有必要預先保持在寫入緩衝內之資料,就算是最大亦係僅為4個頁面之量的資料。And, at each word line WL0, WL1, WL2, ..., except for the Middle page that is input in both stages, it is only necessary to store the data in the write buffer in advance when the data is input in each stage. Yes, data can also be deleted from the write buffer if programming is started. For example, if data is input at the 1st stage, the data is stored in the write buffer. And, if programming is started at the 1st stage, the data of the Lower page and the Top page previously stored in the write buffer can also be deleted. Likewise, if data is input at the 2nd stage, the data is stored in the write buffer. And, if programming is started at the 2nd stage, all the data stored in the write buffer in advance can be deleted. Therefore, in the case of programming in this embodiment, it is necessary to hold the data in the write buffer in advance, even if it is a maximum of 4 pages of data.

在本實施形態之程式化中,亦同樣的,為了將鄰接記憶體胞間干涉降低,Lower/Middle/Upper/Top之4個頁面之量的資料係並不被連續地作寫入。例如,在對於字元線WL0之1st階段被作了實行之後,於對於字元線WL0之2nd階段被實行之前,對於與字元線WL0相鄰接之字元線WL1的1st階段係被實行。同樣的,在對於字元線WL1之1st階段被作了實行之後,於對於字元線WL1之2nd階段被實行之前,對於與字元線WL1相鄰接之字元線WL2的1st階段係被實行。In the programming of this embodiment, similarly, in order to reduce the interference between adjacent memory cells, the data of 4 pages of Lower/Middle/Upper/Top are not continuously written. For example, after the 1st phase for word line WL0 is performed, before the 2nd phase for word line WL0 is performed, the 1st phase for word line WL1 adjacent to word line WL0 is performed. . Likewise, after the 1st phase for word line WL1 is performed, before the 2nd phase for word line WL1 is performed, the 1st phase for word line WL2 adjacent to word line WL1 is performed. carry out.

如此這般,在本實施形態中,由於除了Middle頁面以外的頁面資料,係僅在1次的階段之程式化中而為必要,因此,若是該資料輸入結束,則係成為能夠將寫入緩衝內之資料刪除。因此,在本實施形態中,有必要預先同時保持在寫入緩衝內之頁面數量係僅需要少量即可。In this way, in this embodiment, since the page data other than the Middle page are necessary for programming in only one stage, when the input of the data is completed, it becomes possible to write to the buffer The data in it will be deleted. Therefore, in this embodiment, the number of pages that need to be simultaneously held in the write buffer in advance needs to be only a small number.

被對於非揮發性記憶體3而進行程式化的頁面資料,係先在RAM6內之寫入緩衝中暫時被作保持,之後在程式化時被資料輸入至非揮發性記憶體3中。在本實施形態中,由於係成為能夠將此RAM6之必要容量縮小,因此係能夠謀求成本之削減。The page data programmed to the non-volatile memory 3 is temporarily held in the write buffer in the RAM 6, and then the data is input to the non-volatile memory 3 during programming. In this embodiment, since the required capacity of the RAM 6 can be reduced, cost reduction can be achieved.

又,在使用Foggy-Fine程式化時,由於係必須要將所有的頁面資料之資料傳輸進行2次,因此係會耗費傳輸時間,並且亦成為需要更多的傳輸時之消耗電力。在本實施形態中,除了Middle頁面以外的頁面資料,由於各頁面係個別以1次的資料傳輸而結束,因此係成為能夠將傳輸時間以及電力消耗抑制為1/2程度。In addition, when using Foggy-Fine programming, since it is necessary to transfer data of all page data twice, it will consume time for the transfer and also consume power when more transfers are required. In the present embodiment, since data of pages other than the Middle page is individually completed with one data transfer, the transfer time and power consumption can be suppressed to about 1/2.

於此,針對頁面讀出處理作說明。頁面讀出之方法,係基於針對包含有讀出對象頁面之字元線WLi的程式化乃身為2nd階段之寫入前還是寫入後一事而有所相異。Here, the page reading process will be described. The method of page reading differs depending on whether the programming of the word line WLi including the page to be read is before or after writing in the 2nd stage.

在2nd階段寫入前的情況時,所被作記錄之資料係僅有Lower頁面和Middle頁面以及Top頁面為有效。因此,控制部22,在讀出頁面係身為Lower頁面和Middle頁面以及Top頁面的情況時,係從記憶體胞而將資料讀出,但是,在其他之頁面(具體而言,Upper頁面)的情況時,係並不進行記憶體胞讀出動作,並進行作為讀出資料而強制性地全部輸出“1”之控制。In the case of writing before the 2nd stage, only the Lower page, Middle page, and Top page are valid for the recorded data. Therefore, the control unit 22 reads the data from the memory cell when the read page is the Lower page, the Middle page, and the Top page, but the other pages (specifically, the Upper page) In this case, the memory cell read operation is not performed, and control is performed to forcibly output all "1" as read data.

另一方面,在直到2nd階段為止而均結束了的字元線WLi的情況時,控制部22,係不論是讀出頁面為Top/Upper/Middle/Lower頁面之何者,均將記憶體胞讀出。於此情況,由於依存於讀出頁面乃身為何者之頁面一事,所需要的讀出電壓係為相異,因此,控制部22,係依循於被作了選擇的頁面而僅進行必要之讀出。On the other hand, in the case of the word line WLi that has been completed until the 2nd stage, the control unit 22 reads the memory cell regardless of whether the read page is a Top/Upper/Middle/Lower page. out. In this case, since the required read voltages are different depending on what kind of page the read page is, the control unit 22 only performs the necessary read according to the selected page. out.

以下,針對頁面讀出之具體性的處理程序作說明。圖15,係為對於在由第1實施形態所致之記憶體系統1中之於直到1st階段為止之程式化為結束(2nd階段的程式化係尚未結束)的字元線處之頁面讀出的處理程序作展示之流程圖。若依據圖6中所示之1-4-5-5資料編碼,則由於Lower頁面資料所變化的臨限值狀態間之邊界係為1個,因此,控制部22,係根據臨限值為位置於藉由該邊界而被作了分離之2個的範圍之何者處一事,來決定資料。例如,當臨限值電壓為較Vr8’而更小的情況時,控制部22,係進行作為記憶體胞之資料而輸出“1”之控制。另一方面,當臨限值電壓為較Vr8’而更大的情況時,控制部22,係進行作為記憶體胞之資料而輸出“0”之控制。The specific processing procedure for page reading will be described below. Fig. 15 is the reading of the page at the word line where the stylization until the 1st stage is completed (the stylization of the 2nd stage has not yet ended) in the memory system 1 caused by the first embodiment The processing procedure is shown as a flow chart. If according to the 1-4-5-5 data coding shown in Fig. 6, then because the boundary system between the threshold value states that Lower page data changes is 1, therefore, control unit 22, is according to the threshold value The data is determined by which of the two ranges separated by the boundary is located. For example, when the threshold voltage is lower than Vr8', the control unit 22 controls to output "1" as the data of the memory cell. On the other hand, when the threshold voltage is greater than Vr8', the control unit 22 controls to output "0" as the data of the memory cell.

又,由於Middle頁面資料所變化的臨限值狀態間之邊界係為3個,因此,控制部22,係根據臨限值為位置於藉由該些之邊界而被作了分離之4個的範圍之何者之中一事,來決定資料。又,由於Top頁面資料所變化的臨限值狀態間之邊界係為4個,因此,控制部22,係根據臨限值為位置於藉由該些之邊界而被作了分離之5個的範圍之何者之中一事,來決定資料。Also, since there are three boundaries between the threshold states that the Middle page data changes, the control unit 22 is located at the four separated by these boundaries according to the thresholds. One of the ranges determines the data. Also, since there are 4 boundaries between the threshold states that the Top page data changes, the control unit 22 is located at the 5 separated by these boundaries according to the thresholds. One of the ranges determines the data.

如同圖15中所示一般,在2nd階段寫入前之字元線WLi的情況時,控制部22,係對讀出頁面作選擇(步驟S610)。當讀出頁面係為Lower頁面的情況時,控制部22,係藉由1個的讀出電壓而進行讀出(步驟S612)。此電壓,係為Vr8,但是,如同前述一般,在身為2nd階段寫入前之字元線的情況時,如同圖8(T2)中所示一般,係亦可具有讀出電壓與臨限值電壓之餘裕地,而例如為Vr8’。之後,控制部22,係基於在Vr8之臨限值電壓下的讀出結果,來將所讀出了的資料之值決定為“0”或“1”(步驟S614)。As shown in FIG. 15, when the word line WLi before the 2nd stage is written, the control unit 22 selects a read page (step S610). When the page to be read is a Lower page, the control unit 22 performs reading with one read voltage (step S612 ). This voltage is Vr8, but, as mentioned above, in the case of the word line before writing in the 2nd stage, as shown in FIG. 8 (T2), the system may also have a read voltage and a threshold. The spare ground of the value voltage, such as Vr8'. Afterwards, the control unit 22 determines the value of the read data to be "0" or "1" based on the read result at the threshold voltage of Vr8 (step S614).

又,當讀出頁面係為Middle頁面的情況時,控制部22,係藉由3個的讀出電壓而進行讀出(步驟S616、S618、S620)。此電壓,係如同前述一般,而為Vr4和Vr9以及Vr14,但是,在身為2nd階段寫入前之字元線的情況時,如同圖8(T2)中所示一般,係亦可具有讀出電壓與臨限值電壓之餘裕地,而例如替代該些而分別設為Vr4’和Vr9’以及Vr14’。之後,控制部22,係基於在Vr4之臨限值電壓下的讀出結果和在Vr9之臨限值電壓下的讀出結果以及在Vr14之臨限值電壓下的讀出結果,來將所讀出了的資料之值決定為“0”或“1”(步驟S622)。於此,如同前述一般,由於Middle頁面之資料為相異的臨限值分布的間隔係為窄,而Middle頁面之讀出餘裕係變窄,因此,讀出資料之值係會有信賴性顯著地惡化的可能性,而亦可將2nd階段寫入前之Middle頁面資料定義為無效。於此情況,當讀出頁面係為Middle頁面的情況時,控制部22,係亦可進行作為記憶體胞之輸出資料而強制性地全部輸出“1”之控制。Also, when the read page is a Middle page, the control unit 22 reads with three read voltages (steps S616, S618, and S620). This voltage is Vr4, Vr9, and Vr14 as described above, however, in the case of the word line before writing in the 2nd stage, as shown in FIG. 8 (T2), the system may also have a read The margin between the output voltage and the threshold voltage is set to Vr4', Vr9', and Vr14' instead of these, for example. Then, the control unit 22, based on the read results at the threshold voltage of Vr4, the read results at the threshold voltage of Vr9, and the read results at the threshold voltage of Vr14, converts the The value of the read data is determined to be "0" or "1" (step S622). Here, as mentioned above, since the data of the Middle page is different, the interval of the threshold value distribution is narrow, and the read margin of the Middle page is narrowed, so the value of the read data will have a significant reliability. The possibility of ground deterioration, and the Middle page data before the 2nd stage writing can also be defined as invalid. In this case, when the read page is a Middle page, the control unit 22 may perform control to forcibly output all "1" as the output data of the memory cell.

又,當讀出頁面係為Upper頁面的情況時,由於在1st程式化中係並未進行有Upper頁面之程式化,因此,控制部22,係作為輸出資料而強制性地全部輸出“1”(步驟S624)。Also, when the read page is an Upper page, since the programming with the Upper page has not been performed in the 1st programming, the control unit 22 forcibly outputs all "1"s as output data. (step S624).

又,當讀出頁面係為Top頁面的情況時,控制部22,係藉由4個的讀出電壓而進行讀出(步驟S626、S628、S630、S632)。此電壓,係如同前述一般,而為Vr1和Vr4和Vr8以及Vr12,但是,在身為2nd階段寫入前之字元線的情況時,如同圖8(T2)中所示一般,係亦可具有讀出電壓與臨限值電壓之餘裕地,而例如替代該些而分別設為Vr1’和Vr4’和Vr8’以及Vr12’。之後,控制部22,係基於在Vr1之臨限值電壓下的讀出結果和在Vr4之臨限值電壓下的讀出結果和在Vr8之臨限值電壓下的讀出結果以及在Vr12之臨限值電壓下的讀出結果,來將所讀出了的資料之值決定為“0”或“1”(步驟S634)。Also, when the read page is the Top page, the control unit 22 reads with four read voltages (steps S626 , S628 , S630 , and S632 ). This voltage is Vr1, Vr4, Vr8, and Vr12 as described above, however, in the case of the word line before writing in the 2nd stage, as shown in FIG. 8 (T2), it can also be There is a margin for the read voltage and the threshold voltage, and instead of these, Vr1', Vr4', Vr8', and Vr12' are set, respectively. Then, the control unit 22 is based on the read results at the threshold voltage of Vr1, the read results at the threshold voltage of Vr4, the read results at the threshold voltage of Vr8, and the read results at the threshold voltage of Vr12. The value of the read data is determined as "0" or "1" according to the read result under the threshold voltage (step S634).

圖16A,係為對於在第1實施形態之記憶體系統1中的於直到2nd階段為止之程式化為結束的字元線處之頁面讀出的處理程序作展示之流程圖。在直到2nd階段為止地而結束了程式化之字元線WLi的情況時,控制部22,係對讀出頁面作選擇(步驟S650)。當讀出頁面係為Lower頁面的情況時,控制部22,係藉由Vr8之1個的臨限值電壓而進行讀出(步驟S652)。之後,控制部22,係基於在Vr8之1個的臨限值電壓下的讀出結果,來將所讀出了的資料之值決定為“0”或“1”(步驟S654)。FIG. 16A is a flow chart showing the processing procedure of page read at the word line where the programming until the 2nd stage is completed in the memory system 1 of the first embodiment. When the patterned word line WLi is completed until the 2nd stage, the control unit 22 selects a read page (step S650). When the page to be read is the Lower page, the control unit 22 reads the page using one of the threshold voltages of Vr8 (step S652). After that, the control unit 22 determines the value of the read data to be "0" or "1" based on the read result at one threshold voltage of Vr8 (step S654).

又,當讀出頁面係為Middle頁面的情況時,控制部22,係藉由Vr4、Vr9、Vr11以及Vr14之臨限值電壓而進行讀出(步驟S656、S658、S660、S662)。之後,控制部22,係基於在Vr4、Vr9、Vr11以及Vr14之臨限值電壓下的讀出結果,來將所讀出了的資料之值決定為“0”或“1”(步驟S664)。Also, when the read page is a Middle page, the control unit 22 reads the page according to the threshold voltages of Vr4, Vr9, Vr11, and Vr14 (steps S656, S658, S660, and S662). Afterwards, the control unit 22 determines the value of the read data to be "0" or "1" based on the read results of the threshold voltages of Vr4, Vr9, Vr11, and Vr14 (step S664) .

又,當讀出頁面係為Upper頁面的情況時,控制部22,係藉由Vr2、Vr6、Vr10、Vr13以及Vr15之臨限值電壓而進行讀出(步驟S666、S668、S670、S672、S674)。之後,控制部22,係基於在Vr2、Vr6、Vr10、Vr13以及Vr15之臨限值電壓下的讀出結果,來將所讀出了的資料之值決定為“0”或“1”(步驟S676)。Also, when the page to be read is an Upper page, the control unit 22 reads the page according to the threshold voltages of Vr2, Vr6, Vr10, Vr13, and Vr15 (steps S666, S668, S670, S672, S674 ). Afterwards, the control section 22 determines the value of the read data to be "0" or "1" based on the read results under the threshold voltages of Vr2, Vr6, Vr10, Vr13, and Vr15 (step S676).

又,當讀出頁面係為Top頁面的情況時,控制部22,係藉由Vr1、Vr3、Vr5、Vr7以及Vr12之臨限值電壓而進行讀出(步驟S678、S680、S682、S684、S686)。之後,控制部22,係基於在Vr1、Vr3、Vr5、Vr7以及Vr12之臨限值電壓下的讀出結果,來將所讀出了的資料之值決定為“0”或“1”(步驟S688)。Also, when the page to be read is the Top page, the control unit 22 reads the page according to the threshold voltages of Vr1, Vr3, Vr5, Vr7, and Vr12 (steps S678, S680, S682, S684, S686 ). Afterwards, the control unit 22 determines the value of the read data to be "0" or "1" based on the read results under the threshold voltages of Vr1, Vr3, Vr5, Vr7 and Vr12 (step S688).

另外,關於對於字元線WLi的程式化乃身為2nd階段之寫入結束前還是後一事,係能夠以記憶體控制器2來進行管理以及辨識。在記憶體系統1中,由於記憶體控制器2係進行程式化之控制,因此,只要使記憶體控制器2將該進度狀況預先作記錄,則記憶體控制器2係能夠容易地對於非揮發性記憶體3之何者之位址乃是身為何種之程式化狀態一事作參照。於此情況,記憶體控制器2,在從非揮發性記憶體3而進行讀出時,係辨識出包含有對象頁面位址之字元線WLi乃身為何種之程式化狀態,並發行與所辨識出之狀態相對應的讀出指令。又,作為其他方法,係亦能夠在各字元線WLi之每一者處分別設置旗標胞,並在2nd階段寫入時,對旗標胞作寫入,而因應於旗標胞之資料,來藉由非揮發性記憶體3而對於是身為2nd階段寫入結束前還是後一事作管理、辨識。In addition, it can be managed and identified by the memory controller 2 as to whether the programming of the word line WLi is before or after the completion of writing in the 2nd stage. In the memory system 1, since the memory controller 2 performs programmed control, as long as the memory controller 2 records the progress status in advance, the memory controller 2 can easily control the non-volatile The address of what in sexual memory 3 is a reference to the stylized state of what. In this case, the memory controller 2, when reading from the non-volatile memory 3, recognizes the programming state of the word line WLi containing the address of the target page, and issues the same The read command corresponding to the identified state. Also, as another method, it is also possible to set a flag cell at each of the word lines WLi, and write to the flag cell when writing in the 2nd stage, and corresponding to the data of the flag cell , to use the non-volatile memory 3 to manage and identify whether it is before or after the end of writing in the 2nd stage.

以下,針對頁面讀出處理之其中一變形例作說明。由其中一變形例所致之頁面讀出處理,係僅在針對包含有讀出對象頁面之字元線WLi的程式化乃身為進行了2nd階段之寫入之後時才能夠實行。由其中一變形例所致之頁面讀出處理,在將讀出對象之字元線之所有的資料讀出的情況時,讀出速度係會變快,在此點上,係為有效。Hereinafter, one modification example of the page reading process will be described. The page read process by one of the modified examples can be performed only when the programming of the word line WLi including the read target page is performed after the 2nd stage of writing. In the page reading process according to one of the modified examples, when all the data of the word line to be read is read, the reading speed becomes faster, and in this point, it is effective.

適合於由其中一變形例所致之頁面讀出處理的資料編碼,例如係身為如同圖16B一般者。以下,針對在此資料編碼的情況時之由其中一變形例所致之讀出處理作說明。在由其中一變形例所致之頁面讀出處理中,係將Top/Upper/Middle/Lower頁面之所有的頁面讀出。The data encoding suitable for the page reading process caused by one of the modified examples is, for example, the same as that shown in FIG. 16B. Hereinafter, the read processing by one of the modified examples in the case of encoding the data will be described. In the page reading process by one of the modified examples, all the pages of the Top/Upper/Middle/Lower pages are read.

圖16C,係為對於由其中一變形例所致的讀出處理程序作展示之流程圖。又,圖16D,係為選擇字元線、ReadyBusy訊號線、輸出資料線之電壓波形圖。控制部22,係藉由15個的全部的讀出電壓Vr15~Vr1來依序進行讀出。首先,如同圖16D中所示一般,以身為最高的電壓之Vr15來進行讀出(步驟S690),接著,一次作1個階段之降低地來以低的讀出電壓來依序繼續進行讀出(步驟S691~S707)。在為了決定各頁面之讀出資料所需要的讀出為結束時,該頁面之讀出資料係成為能夠輸出。FIG. 16C is a flow chart showing the read processing procedure caused by one of the modified examples. Also, FIG. 16D is a voltage waveform diagram of the selected word line, ReadyBusy signal line, and output data line. The control unit 22 sequentially performs readout using all 15 readout voltages Vr15 - Vr1 . First, as shown in FIG. 16D , reading is performed with Vr15 being the highest voltage (step S690 ), and then reading is sequentially continued with a lower reading voltage by decreasing one step at a time. out (steps S691 to S707). When the reading required to determine the read data of each page is completed, the read data of the page can be output.

在由其中一變形例所致之頁面讀出處理中,於從Vr15起而依序進行讀出並直到Vr8之讀出為止而結束時(步驟S697),Lower頁面之資料係被決定,並成為能夠將此資料輸出(步驟S698)。在此步驟S698中,基於以讀出電壓Vr8所致的讀出資料,Lower頁面之資料係被決定。In the page reading process caused by one of the modified examples, when the reading is performed sequentially from Vr15 until the reading of Vr8 ends (step S697), the data of the Lower page is determined and becomes This data can be output (step S698). In this step S698, based on the read data by the read voltage Vr8, the data of the lower page is determined.

接著,於直到Vr4之讀出為止而結束時(步驟S702),Middle頁面之資料係被決定(步驟S703)。在此步驟S703中,基於以讀出電壓Vr4、Vr9、Vr11以及Vr14所致的讀出資料,Middle頁面之資料係被決定。Next, when the reading of Vr4 ends (step S702), the data of the Middle page is determined (step S703). In this step S703, the data of the Middle page is determined based on the read data caused by the read voltages Vr4, Vr9, Vr11 and Vr14.

接著,於直到Vr2之讀出為止而結束時(步驟S705),Upper頁面之資料係被決定(步驟S706)。在此步驟S706中,基於以讀出電壓Vr2、Vr6、Vr10、Vr13以及Vr15所致的讀出資料,Upper頁面之資料係被決定。Next, when the reading of Vr2 ends (step S705), the data of the Upper page is determined (step S706). In this step S706 , based on the read data caused by the read voltages Vr2 , Vr6 , Vr10 , Vr13 and Vr15 , the data of the upper page is determined.

接著,於直到Vr1之讀出為止而結束時(步驟S707),最終之Top頁面之資料係被決定(步驟S708)。在此步驟S708中,基於以讀出電壓Vr1、Vr3、Vr5、Vr7以及Vr12所致的讀出資料,Top頁面之資料係被決定。Next, when the reading of Vr1 ends (step S707), the data of the last top page is determined (step S708). In this step S708, the data of the Top page is determined based on the read data caused by the read voltages Vr1, Vr3, Vr5, Vr7 and Vr12.

在由其中一變形例所致之頁面讀出處理中,直到能夠將任意之1個頁面之資料作輸出為止的延遲(latency)係變長,但是,將全部4個頁面作讀出的合計時間,係能夠較於前所說明的1次1個頁面地作了讀出的情況時之合計時間而更為縮短。如同圖16D中所示一般,作為讀出準備而將字元線從0來一直充電至身為高電壓之Vr15為止的時間,係僅需要耗費1次即可,又,在使讀出準位變化為下一個的電壓時的電壓變化之振幅係為小,電壓係在短時間內而成為安定,因此,係能夠將直到讀出電壓成為安定為止的待機時間縮短。因此,藉由所有的讀出電壓Vr15~Vr1來進行讀出的情況,選擇字元線之變遷時間的合計係變短,其結果,係能夠使合計的讀出時間高速化。In the page reading process by one of the modified examples, the delay (latency) until the data of any one page can be output is longer, but the total time for reading all four pages is , it is possible to shorten the total time compared to the case where reading is performed one page at a time as described above. As shown in FIG. 16D, the time for charging the word line from 0 to Vr15, which is a high voltage, as read preparation only needs to be spent once. The amplitude of the voltage change when changing to the next voltage is small, and the voltage becomes stable in a short time. Therefore, the standby time until the read voltage becomes stable can be shortened. Therefore, when reading is performed with all the read voltages Vr15 to Vr1, the total transition time of the selected word lines is shortened, and as a result, the total read time can be increased.

另外,於上,雖係以圖16B之資料編碼為例來作了說明,但是,基本上,不論是對於何種資料編碼,均能夠作適用。但是,由於係使讀出電壓從最大電壓起直到最小電壓為止地來依序變化並進行讀出,因此,係依照為了確定資料所需要的電壓之讀出為先結束的頁面之順序,而成為能夠進行資料輸出。因此,需要注意到,依存於資料編碼之形態,係會有並無法以Lower、Middle、Upper、Top之頁面順序來作讀出的情形。In addition, above, although the data encoding in FIG. 16B is taken as an example for explanation, basically, it can be applied to any data encoding. However, since reading is performed while changing the read voltage sequentially from the maximum voltage to the minimum voltage, the reading of the voltage required to determine the data is performed in the order of the page that is completed first. Data output is possible. Therefore, it should be noted that depending on the form of data encoding, there may be cases where the page order of Lower, Middle, Upper, and Top cannot be read.

如此這般,在第1實施形態中,在對於非揮發性記憶體3(具備有3維構造或2維構造之4bit/Cell之NAND記憶體)進行程式化時,係採用1-4-5-5資料編碼,並將程式化之階段設為2階段制。由於係如此這般地以2階段制而被作程式化,因此,在各階段處之資料程式化時所輸入的資料量係減少,而能夠對於在記憶體控制器2中所必要的寫入緩衝之量作抑制。又,由於在各頁面處之臨限值邊界的數量係為均一,因此,係能夠將非揮發性記憶體3之頁面間的位元錯誤率之偏頗降低,並且能夠將在ECC處所耗費的成本降低。又,由於資料傳輸,係除了1個頁面以外,而成為各頁面僅各一次,因此係能夠對於傳輸時間以及電力消耗作抑制。In this way, in the first embodiment, when programming the non-volatile memory 3 (4bit/Cell NAND memory with a three-dimensional structure or a two-dimensional structure), the 1-4-5 method is used. -5 data encoding, and set the stylized stage as 2-stage system. Since it is programmed in a two-stage system in this way, the amount of data input when programming data at each stage is reduced, and the necessary writing in the memory controller 2 can be performed. The amount of buffering is suppressed. Also, since the number of threshold boundaries at each page is uniform, the deviation of the bit error rate between pages of the non-volatile memory 3 can be reduced, and the cost spent at the ECC can be reduced. reduce. Also, since data is transferred only once for each page except for one page, it is possible to suppress transfer time and power consumption.

又,由於係一面橫跨字元線WLi一面實行各程式化階段,因此係能夠將與鄰接字元線WLi之間的鄰接胞間干涉之量降低。又,由於係使用1-4-5-5資料編碼,因此,在2nd程式化中的臨限值分布之變化量係變小,故而係成為能夠對於鄰接胞間干涉量作抑制。又,藉由使1個頁面(具體而言,Middle頁面)在雙方的階段中而將資料作輸入,係能夠將2nd階段之前的IDL餘裕擴大,而成為能夠使寫入序列之信賴性提升。又,由於係使用1-4-5-5資料編碼,因此,在1st階段之程式化時,藉由將在Lower頁面處的臨限值邊界設為1個,並將在Middle頁面處之臨限值邊界設為2個,係能夠將1st階段之程式化、亦即是將Lower頁面以及Middle頁面之程式化高速化。另外,1st階段之程式化的高速化,係能夠藉由像是在反覆進行寫入與寫入驗證時,使寫入電壓逐次些許地階段性提升(step up)並將寫入時之階段電壓設為較2nd階段之程式化而更大之值等,來進行高速化。 (第2實施形態) Also, since each programming stage is executed while straddling the word line WLi, the amount of inter-adjacent cell interference with the adjacent word line WLi can be reduced. Also, since 1-4-5-5 data coding is used, the amount of change in the threshold value distribution in the 2nd programming becomes small, so that it is possible to suppress the amount of interference between adjacent cells. Also, by inputting data in one page (specifically, Middle page) in both stages, the IDL margin before the 2nd stage can be expanded, and the reliability of the writing sequence can be improved. Also, since 1-4-5-5 data encoding is used, when programming in the 1st stage, by setting the threshold boundary at the Lower page to 1, and setting the threshold at the Middle page Setting two limit values can speed up the stylization of the 1st stage, that is, the stylization of the Lower page and the Middle page. In addition, the speed-up of programming in the 1st stage can be achieved by, for example, increasing the write voltage step by step when writing and verifying repeatedly Speed up by setting a larger value than the stylization of the 2nd stage. (Second Embodiment)

在第1實施形態中,雖係以1-4-5-5資料編碼為例來作了說明,但是,係可採用各種的資料編碼之變形。由第2實施形態所致之記憶體系統1的硬體構成,係與由第1實施形態所致之記憶體系統1共通。圖17~圖25,係對於由第2實施形態所致之記憶體系統1的資料編碼之例作展示。由第2實施形態所致之記憶體系統1,係使用1-4-5-5的資料編碼以外的資料編碼。In the first embodiment, although the 1-4-5-5 data coding was described as an example, various modifications of the data coding can be employed. The hardware constitution of the memory system 1 caused by the second embodiment is common to that of the memory system 1 caused by the first embodiment. Figures 17 to 25 show examples of data encoding of the memory system 1 caused by the second embodiment. The memory system 1 resulting from the second embodiment uses a data encoding other than the 1-4-5-5 data encoding.

圖17,係為對於1-5-4-5資料編碼的其中一例作展示之圖。在圖17之例中,在2nd程式化結束時的臨限值區域之變遷數係為最大3個。於此,1st階段之程式化結束時的臨限值區域和2nd階段之程式化結束時的臨限值區域,其電壓分布範圍係並非完全相互一致,但是,在本說明書中,為了方便說明,係對於1st階段之程式化結束時的各臨限值區域而將電壓分布範圍最為接近的2nd階段之程式化結束時之臨限值區域附加對應,並將進行了2nd程式化時而有所變化的臨限值區域之數量,稱作變遷數。於圖17之情況,在1st階段處,係輸入Lower頁面、Middle頁面、Upper頁面之資料而進行程式化,在2nd階段處,係輸入Top頁面與Middle頁面之資料並進行程式化。Middle頁面之資料,係在1st階段與2nd階段處而重複被輸入。在1st階段之程式化結束時間點處而能夠藉由Middle頁面之資料之值來作分離之2個的臨限值區域之間隔,係設為較其他之臨限值區域之間隔而更窄。Fig. 17 is a diagram showing an example of 1-5-4-5 data encoding. In the example of FIG. 17, the number of transitions in the threshold area at the end of the 2nd programming is a maximum of three. Here, the voltage distribution ranges of the threshold area at the end of programming in the 1st stage and the threshold area at the end of programming in the 2nd stage are not completely consistent with each other. However, in this specification, for the convenience of description, For each threshold area at the end of programming in the 1st stage, the threshold area at the end of programming in the 2nd stage that has the closest voltage distribution range is added, and it will change when the 2nd programming is performed The number of threshold regions of is called transition number. In the case of Figure 17, at the 1st stage, the data of the Lower page, Middle page, and Upper page are input and programmed, and at the 2nd stage, the data of the Top page and Middle page are input and programmed. The data on the Middle page is repeatedly input at the 1st stage and the 2nd stage. The interval between the two threshold areas that can be separated by the data value of the Middle page at the programmed end time point of the 1st stage is set to be narrower than the interval between other threshold areas.

圖18,係為對於1-5-4-5資料編碼的其中一例作展示之圖。在圖18之例中,在2nd程式化結束時的臨限值區域之變遷數係為最大3個。於圖18之情況,在1st階段處,係輸入Lower頁面、Middle頁面、Upper頁面之資料而進行程式化,在2nd階段處,係輸入Top頁面與Upper頁面之資料並進行程式化。Upper頁面之資料,係在1st階段與2nd階段處而重複被輸入。在1st階段之程式化結束時間點處而能夠藉由Upper頁面之資料之值來作分離之2個的臨限值區域之間隔,係設為較其他之臨限值區域之間隔而更窄。Fig. 18 is a diagram showing an example of 1-5-4-5 data encoding. In the example of FIG. 18, the number of transitions in the threshold area at the end of the 2nd programming is a maximum of three. In the case of Figure 18, at the 1st stage, the data of the Lower page, Middle page, and Upper page are input and programmed, and at the 2nd stage, the data of the Top page and the Upper page are input and programmed. The data on the Upper page is repeatedly input at the 1st stage and the 2nd stage. At the programmed end time point of the 1st stage, the interval between the two threshold areas that can be separated by the value of the data on the Upper page is set to be narrower than the intervals between other threshold areas.

圖19,係為對於3-5-2-5資料編碼的其中一例作展示之圖。在圖19之例中,在2nd程式化結束時的臨限值區域之變遷數係為最大3個。於圖19之情況,在1st階段處,係輸入Lower頁面、Middle頁面、Upper頁面之資料而進行程式化,在2nd階段處,係輸入Top頁面與Middle頁面之資料並進行程式化。Middle頁面之資料,係在1st階段與2nd階段處而重複被輸入。在1st階段之程式化結束時間點處而能夠藉由Middle頁面之資料之值來作分離之2個的臨限值區域之間隔,係設為較其他之臨限值區域之間隔而更窄。Fig. 19 is a diagram showing an example of 3-5-2-5 data encoding. In the example of FIG. 19, the number of transitions in the threshold area at the end of the 2nd programming is a maximum of three. In the case of Figure 19, at the 1st stage, the data of the Lower page, Middle page, and Upper page are input and programmed, and at the 2nd stage, the data of the Top page and Middle page are input and programmed. The data on the Middle page is repeatedly input at the 1st stage and the 2nd stage. The interval between the two threshold areas that can be separated by the data value of the Middle page at the programmed end time point of the 1st stage is set to be narrower than the interval between other threshold areas.

圖20,係為對於3-3-4-5資料編碼的其中一例作展示之圖。在圖20之例中,在2nd程式化結束時的臨限值區域之變遷數係為最大3個。於圖20之情況,在1st階段處,係輸入Lower頁面、Middle頁面、Upper頁面之資料而進行程式化,在2nd階段處,係輸入Top頁面與Upper頁面之資料並進行程式化。Fig. 20 is a diagram showing an example of 3-3-4-5 data encoding. In the example of FIG. 20, the number of transitions in the threshold area at the end of the 2nd programming is a maximum of three. In the case of Figure 20, at the 1st stage, the data of the Lower page, Middle page, and Upper page are input and programmed, and at the 2nd stage, the data of the Top page and the Upper page are input and programmed.

圖21,係為對於2-3-5-5資料編碼的其中一例作展示之圖。在圖21之例中,在2nd程式化結束時的臨限值區域之變遷數係為最大5個。於圖21之情況,在1st階段處,係輸入Lower頁面、Middle頁面、Top頁面之資料而進行程式化,在2nd階段處,係輸入Top頁面與Upper頁面之資料並進行程式化。Top頁面之資料,係在1st階段與2nd階段處而重複被輸入。於圖21之情況,在1st階段之程式化結束的時間點處,不論Top頁面之資料係為0或是1,3個的臨限值區域係均成為相同,臨限值區域之總數係成為5個。故而,係能夠將各臨限值區域之間隔擴廣,而能夠正確地進行在1st階段之程式化結束的時間點處之資料讀出。Fig. 21 is a diagram showing an example of 2-3-5-5 data encoding. In the example of FIG. 21, the number of transitions in the threshold area at the end of the 2nd programming is a maximum of five. In the case of Figure 21, at the 1st stage, the data of the Lower page, Middle page, and Top page are input and programmed, and at the 2nd stage, the data of the Top page and the Upper page are input and programmed. The data on the Top page is repeatedly input at the 1st stage and the 2nd stage. In the case of Fig. 21, at the time point when the stylization of the 1st stage ends, no matter whether the data on the Top page is 0 or 1, the three threshold value areas are all the same, and the total number of threshold value areas becomes 5. Therefore, it is possible to widen the interval between the respective threshold value regions, and it is possible to accurately perform data reading at the time point when programming in the 1st stage is completed.

圖22,係為對於3-2-5-5資料編碼的其中一例作展示之圖。在圖22之例中,在2nd程式化結束時的臨限值區域之變遷數係為最大5個。於圖22之情況,在1st階段處,係輸入Lower頁面、Middle頁面、Top頁面之資料而進行程式化,在2nd階段處,係輸入Top頁面與Upper頁面之資料並進行程式化。Top頁面之資料,係在1st階段與2nd階段處而重複被輸入。於圖22之情況,在1st階段之程式化結束的時間點處,不論Top頁面之資料係為0或是1,2個的臨限值區域係均成為相同,臨限值區域之總數係成為6個。Fig. 22 is a diagram showing an example of 3-2-5-5 data encoding. In the example of FIG. 22, the number of transitions in the threshold area at the end of the 2nd programming is a maximum of five. In the case of Figure 22, at the 1st stage, the data of the Lower page, Middle page, and Top page are input and programmed, and at the 2nd stage, the data of the Top page and the Upper page are input and programmed. The data on the Top page is repeatedly input at the 1st stage and the 2nd stage. In the case of Fig. 22, at the time point when the stylization of the 1st stage ends, regardless of whether the data on the Top page is 0 or 1, the two threshold areas are all the same, and the total number of threshold areas becomes 6.

圖23,係為對於3-4-4-4資料編碼的其中一例作展示之圖。在圖23之例中,在2nd程式化結束時的臨限值區域之變遷數係為最大7個。於圖23之情況,在1st階段處,係輸入Lower頁面、Middle頁面、Upper頁面之資料而進行程式化,在2nd階段處,係輸入Top頁面與Upper頁面之資料並進行程式化。Upper頁面之資料,係在1st階段與2nd階段處而重複被輸入。在1st階段之程式化結束時間點處而能夠藉由Upper頁面之資料之值來作分離之2個的臨限值區域之間隔,係設為較其他之臨限值區域之間隔而更窄。Fig. 23 is a diagram showing an example of 3-4-4-4 data encoding. In the example of FIG. 23, the number of transitions in the threshold area at the end of the 2nd programming is a maximum of seven. In the case of Figure 23, at the 1st stage, the data of the Lower page, Middle page, and Upper page are input and programmed, and at the 2nd stage, the data of the Top page and the Upper page are input and programmed. The data on the Upper page is repeatedly input at the 1st stage and the 2nd stage. At the programmed end time point of the 1st stage, the interval between the two threshold areas that can be separated by the value of the data on the Upper page is set to be narrower than the intervals between other threshold areas.

圖24,係為對於3-4-4-4資料編碼的其中一例作展示之圖。在圖24之例中,在2nd程式化結束時的臨限值區域之變遷數係為最大8個。於圖24之情況,在1st階段處,係輸入Lower頁面、Middle頁面、Top頁面之資料而進行程式化,在2nd階段處,係輸入Top頁面與Upper頁面之資料並進行程式化。Top頁面之資料,係在1st階段與2nd階段處而重複被輸入。於圖24之情況,在1st階段之程式化結束的時間點處,不論Top頁面之資料係為0或是1,2個的臨限值區域係均成為相同,臨限值區域之總數係成為6個。Fig. 24 is a diagram showing an example of 3-4-4-4 data encoding. In the example of FIG. 24, the number of transitions in the threshold area at the end of the 2nd programming is a maximum of eight. In the case of Figure 24, at the 1st stage, the data of the Lower page, Middle page, and Top page are input and programmed, and at the 2nd stage, the data of the Top page and the Upper page are input and programmed. The data on the Top page is repeatedly input at the 1st stage and the 2nd stage. In the case of Fig. 24, at the point in time when the stylization of the 1st stage ends, regardless of whether the data on the Top page is 0 or 1, the two threshold areas are all the same, and the total number of threshold areas becomes 6.

圖17~圖24,係僅為資料編碼之例,而亦可採用其他的資料編碼。Figures 17 to 24 are just examples of data coding, and other data coding can also be used.

例如,在2nd程式化結束時的臨限值區域之變遷數係成為最大3個之例,除了圖17~圖20以外,係亦存在有以下之圖25~圖27。圖25,係為對於1-4-5-5資料編碼的其中一例作展示之圖。在圖25之例中,在1st程式化結束了的時間點處,係被產生有6個的相異之臨限值區域。其中,Middle頁面為1而Lower頁面為1之臨限值區域、和Middle頁面為0而Lower頁面為1之臨限值區域,係不論Top頁面為0或是1,均成為相同之臨限值區域。因此,雖然原本應該要被產生有8個的臨限值區域,但是係被匯集為6個的臨限值區域。For example, there are examples in which the number of transitions in the threshold value region at the end of the 2nd programming is a maximum of three, in addition to Figs. 17 to 20, there are also the following Figs. 25 to 27. Fig. 25 is a diagram showing an example of 1-4-5-5 data encoding. In the example of FIG. 25, at the time point when the 1st programming is completed, six different threshold value areas are generated. Among them, the threshold area where the Middle page is 1 and the Lower page is 1, and the threshold area where the Middle page is 0 and the Lower page is 1, are the same threshold regardless of whether the Top page is 0 or 1 area. Therefore, although 8 threshold regions should have been generated, they are aggregated into 6 threshold regions.

圖26,係為對於2-5-3-5資料編碼的其中一例作展示之圖。在圖26之例中,在1st程式化結束了的時間點處,係被產生有7個的相異之臨限值區域。其中,Middle頁面為1而Lower頁面為1之臨限值區域,係不論Top頁面為0或是1,均成為相同之臨限值區域。因此,雖然原本應該要被產生有8個的臨限值區域,但是係被匯集為7個的臨限值區域。Fig. 26 is a diagram showing an example of 2-5-3-5 data encoding. In the example of FIG. 26, seven different threshold value regions are generated at the time when the 1st programming is completed. Among them, the threshold area where the Middle page is 1 and the Lower page is 1, no matter whether the Top page is 0 or 1, it becomes the same threshold area. Therefore, although there should have been 8 threshold regions generated, they were aggregated into 7 threshold regions.

圖27,係為對於3-4-5-3資料編碼的其中一例作展示之圖。在圖27之例中,在1st程式化結束了的時間點處,係被產生有7個的相異之臨限值區域。其中,Middle頁面為1而Lower頁面為1之臨限值區域,係不論Top頁面為0或是1,均成為相同之臨限值區域。因此,雖然原本應該要被產生有8個的臨限值區域,但是係被匯集為7個的臨限值區域。Fig. 27 is a diagram showing an example of 3-4-5-3 data encoding. In the example of FIG. 27, seven different threshold value regions are generated at the time when the 1st programming is completed. Among them, the threshold area where the Middle page is 1 and the Lower page is 1, no matter whether the Top page is 0 or 1, it becomes the same threshold area. Therefore, although there should have been 8 threshold regions generated, they were aggregated into 7 threshold regions.

除此之外,係亦可考慮有其他的資料編碼之例。以下,將針對各資料編碼的碼分配作展示之圖作列記。圖28,係對於3-2-5-5資料編碼之其中一例作展示,圖29,係對於3-2-5-5資料編碼之其中一例作展示,圖30,係對於1-5-5-4資料編碼之其中一例作展示。又,圖31,係對於1-5-4-5資料編碼之其中一例作展示,圖32,係對於1-4-5-5資料編碼之其中一例作展示,圖33,係對於1-5-3-6資料編碼之其中一例作展示。又,圖34,係對於1-3-6-5資料編碼之其中一例作展示,圖35,係對於1-2-6-6資料編碼之其中一例作展示,圖36,係對於1-2-6-6資料編碼之其中一例作展示。In addition, other examples of data encoding can also be considered. In the following, the code distribution for each data coding will be shown as a chart. Figure 28 shows one example of 3-2-5-5 data coding, Figure 29 shows one example of 3-2-5-5 data coding, and Figure 30 shows 1-5-5 One example of -4 data encoding is shown. Again, Fig. 31 shows for one example of 1-5-4-5 data coding, and Fig. 32 shows for one example of 1-4-5-5 data coding, and Fig. 33 shows for 1-5 One example of -3-6 data encoding is shown. Again, Fig. 34 shows for one example of 1-3-6-5 data coding, and Fig. 35 shows for one example of 1-2-6-6 data coding, and Fig. 36 shows for 1-2 One of the examples of -6-6 data encoding is shown.

又,圖37,係對於1-2-6-6資料編碼之其中一例作展示,圖38,係對於1-4-6-4資料編碼之其中一例作展示,圖39,係對於1-4-4-6資料編碼之其中一例作展示。又,圖40,係對於1-4-6-4資料編碼之其中一例作展示,圖41,係對於1-4-4-6資料編碼之其中一例作展示,圖42,係對於2-5-2-6資料編碼之其中一例作展示。又,圖43,係對於2-5-2-6資料編碼之其中一例作展示,圖44,係對於2-5-2-6資料編碼之其中一例作展示,圖45,係對於3-3-3-6資料編碼之其中一例作展示。又,圖46,係對於3-3-6-3資料編碼之其中一例作展示,圖47,係對於2-3-4-6資料編碼之其中一例作展示,圖48,係對於3-4-2-6資料編碼之其中一例作展示。Again, Fig. 37 shows for one example of 1-2-6-6 data coding, and Fig. 38 shows for one example of 1-4-6-4 data coding, and Fig. 39 shows for 1-4 One example of -4-6 data encoding is shown. Again, Fig. 40 shows for one example of 1-4-6-4 data coding, and Fig. 41 shows for one example of 1-4-4-6 data coding, and Fig. 42 shows for 2-5 One example of -2-6 data encoding is shown. Again, Fig. 43 shows for one example of 2-5-2-6 data coding, and Fig. 44 shows for one example of 2-5-2-6 data coding, and Fig. 45 shows for 3-3 One example of -3-6 data encoding is shown. Again, Fig. 46 shows for one example of 3-3-6-3 data coding, and Fig. 47 shows for one example of 2-3-4-6 data coding, and Fig. 48 shows for 3-4 One example of -2-6 data encoding is shown.

又,圖49,係對於2-3-4-6資料編碼之其中一例作展示,圖50,係對於3-2-6-4資料編碼之其中一例作展示,圖51,係對於3-2-4-6資料編碼之其中一例作展示。又,圖52,係對於3-2-6-4資料編碼之其中一例作展示,圖53,係對於3-4-2-6資料編碼之其中一例作展示,圖54,係對於3-2-4-6資料編碼之其中一例作展示。又,圖55,係對於5-3-2-5資料編碼之其中一例作展示,圖56,係對於3-5-2-5資料編碼之其中一例作展示,圖57,係對於3-2-5-5資料編碼之其中一例作展示。又,圖58,係對於2-3-5-5資料編碼之其中一例作展示,圖59,係對於2-3-5-5資料編碼之其中一例作展示,圖60,係對於2-3-5-5資料編碼之其中一例作展示。Again, Fig. 49 shows for one example of 2-3-4-6 data coding, and Fig. 50 shows for one example of 3-2-6-4 data coding, and Fig. 51 shows for 3-2 One example of -4-6 data encoding is shown. Again, Fig. 52 shows one example of 3-2-6-4 data coding, Fig. 53 shows one example of 3-4-2-6 data coding, Fig. 54 shows 3-2 One example of -4-6 data encoding is shown. Again, Fig. 55 shows for one example of 5-3-2-5 data coding, and Fig. 56 shows for one example of 3-5-2-5 data coding, and Fig. 57 shows for 3-2 One example of -5-5 data encoding is shown. Again, Fig. 58 shows for one example of 2-3-5-5 data coding, and Fig. 59 shows for one example of 2-3-5-5 data coding, and Fig. 60 shows for 2-3 One example of -5-5 data encoding is shown.

又,圖61,係對於5-4-2-4資料編碼之其中一例作展示,圖62,係對於4-5-2-4資料編碼之其中一例作展示,圖63,係對於5-4-2-4資料編碼之其中一例作展示。又,圖64,係對於2-4-5-4資料編碼之其中一例作展示,圖65,係對於2-4-5-4資料編碼之其中一例作展示,圖66,係對於2-5-4-4資料編碼之其中一例作展示。又,圖67,係對於2-5-4-4資料編碼之其中一例作展示,圖68,係對於2-5-4-4資料編碼之其中一例作展示,圖69,係對於1-5-4-5資料編碼之其中一例作展示。又,圖70,係對於1-4-5-5資料編碼之其中一例作展示,圖71,係對於1-5-5-4資料編碼之其中一例作展示,圖72,係對於1-4-5-5資料編碼之其中一例作展示。Again, Fig. 61 shows for one example of 5-4-2-4 data coding, and Fig. 62 shows for one example of 4-5-2-4 data coding, and Fig. 63 shows for 5-4 One example of -2-4 data encoding is shown. Again, Fig. 64 shows for one example of 2-4-5-4 data coding, and Fig. 65 shows for one example of 2-4-5-4 data coding, and Fig. 66 shows for 2-5 One of the examples of -4-4 data encoding is shown. Again, Fig. 67 shows for one example of 2-5-4-4 data coding, and Fig. 68 shows for one example of 2-5-4-4 data coding, and Fig. 69 shows for 1-5 One of the examples of -4-5 data coding is shown. Again, Fig. 70 shows for one example of 1-4-5-5 data coding, and Fig. 71 shows for one example of 1-5-5-4 data coding, and Fig. 72 shows for 1-4 One example of -5-5 data encoding is shown.

又,圖73,係對於1-5-5-4資料編碼之其中一例作展示,圖74,係對於1-5-4-5資料編碼之其中一例作展示,圖75,係對於1-5-5-4資料編碼之其中一例作展示。又,圖76,係對於1-5-4-5資料編碼之其中一例作展示,圖77,係對於1-4-5-5資料編碼之其中一例作展示,圖78,係對於1-4-5-5資料編碼之其中一例作展示。又,圖79,係對於1-4-5-5資料編碼之其中一例作展示,圖80,係對於1-4-5-5資料編碼之其中一例作展示,圖81,係對於3-5-4-3資料編碼之其中一例作展示。又,圖82,係對於3-4-5-3資料編碼之其中一例作展示,圖83,係對於3-5-3-4資料編碼之其中一例作展示,圖84,係對於3-4-3-5資料編碼之其中一例作展示。Again, Fig. 73 shows for one example of 1-5-5-4 data coding, and Fig. 74 shows for one example of 1-5-4-5 data coding, and Fig. 75 shows for 1-5 One example of -5-4 data encoding is shown. Again, Fig. 76 shows for one example of 1-5-4-5 data coding, and Fig. 77 shows for one example of 1-4-5-5 data coding, and Fig. 78 shows for 1-4 One example of -5-5 data encoding is shown. Again, Fig. 79 shows for one example of 1-4-5-5 data coding, and Fig. 80 shows for one example of 1-4-5-5 data coding, and Fig. 81 shows for 3-5 One example of -4-3 data encoding is shown. Again, Fig. 82 shows for one example of 3-4-5-3 data coding, and Fig. 83 shows for one example of 3-5-3-4 data coding, and Fig. 84 shows for 3-4 One example of -3-5 data encoding is shown.

又,圖85,係對於3-4-5-3資料編碼之其中一例作展示,圖86,係對於3-4-3-5資料編碼之其中一例作展示,圖87,係對於3-3-5-4資料編碼之其中一例作展示。又,圖88,係對於3-3-5-4資料編碼之其中一例作展示,圖89,係對於4-5-3-3資料編碼之其中一例作展示,圖90,係對於3-5-4-3資料編碼之其中一例作展示。又,圖91,係對於3-4-5-3資料編碼之其中一例作展示,圖92,係對於3-3-4-5資料編碼之其中一例作展示,圖93,係對於3-3-4-5資料編碼之其中一例作展示。Again, Fig. 85 shows for one example of 3-4-5-3 data coding, and Fig. 86 shows for one example of 3-4-3-5 data coding, and Fig. 87 shows for 3-3 One example of -5-4 data encoding is shown. Again, Fig. 88 shows for one example of 3-3-5-4 data coding, and Fig. 89 shows for one example of 4-5-3-3 data coding, and Fig. 90 shows for 3-5 One example of -4-3 data encoding is shown. Again, Fig. 91 shows for one example of 3-4-5-3 data coding, and Fig. 92 shows for one example of 3-3-4-5 data coding, and Fig. 93 shows for 3-3 One of the examples of -4-5 data coding is shown.

又,圖94,係對於3-3-4-5資料編碼之其中一例作展示,圖95,係對於3-4-5-3資料編碼之其中一例作展示,圖96,係對於3-3-5-4資料編碼之其中一例作展示。又,圖97,係對於3-3-4-5資料編碼之其中一例作展示,圖98,係對於4-3-4-4資料編碼之其中一例作展示,圖99,係對於3-4-4-4資料編碼之其中一例作展示。又,圖100,係對於3-4-4-4資料編碼之其中一例作展示,圖101,係對於4-3-4-4資料編碼之其中一例作展示,圖102,係對於3-4-4-4資料編碼之其中一例作展示。又,圖103,係對於3-4-4-4資料編碼之其中一例作展示,圖104,係對於3-4-4-4資料編碼之其中一例作展示,圖105,係對於3-4-4-4資料編碼之其中一例作展示。又,圖106,係對於4-4-3-4資料編碼之其中一例作展示,圖107,係對於4-4-3-4資料編碼之其中一例作展示。Again, Fig. 94 shows for one example of 3-3-4-5 data coding, and Fig. 95 shows for one example of 3-4-5-3 data coding, and Fig. 96 shows for 3-3 One example of -5-4 data encoding is shown. Again, Fig. 97 shows for one example of 3-3-4-5 data coding, and Fig. 98 shows for one example of 4-3-4-4 data coding, and Fig. 99 shows for 3-4 One of the examples of -4-4 data encoding is shown. Again, Fig. 100 shows for one example of 3-4-4-4 data coding, and Fig. 101 shows for one example of 4-3-4-4 data coding, and Fig. 102 shows for 3-4 One of the examples of -4-4 data encoding is shown. Again, Fig. 103 shows one example of 3-4-4-4 data coding, Fig. 104 shows one example of 3-4-4-4 data coding, and Fig. 105 shows 3-4 One of the examples of -4-4 data encoding is shown. Also, Fig. 106 shows one example of 4-4-3-4 data coding, and Fig. 107 shows one example of 4-4-3-4 data coding.

如此這般,藉由在1st階段和2nd階段處,將一部分之頁面的資料重複作輸入,並將其他之頁面的資料,僅在1st階段以及2nd階段之其中一方處作輸入而進行程式化,係能夠降低胞間相互干涉,並且亦能夠削減寫入緩衝之容量,並且亦可對於在將各位元資料作寫入時的位元錯誤率之偏頗作抑制。特別是,在1-4-5-5、1-5-4-5、3-3-4-5或者是3-5-2-5資料編碼的情況時,由於各頁面資料之邊界數係為均一,並且在2nd階段之程式化時的臨限值區域之變遷數係為3以下,因此,係能夠對於位元錯誤率之偏頗作抑制,並且能夠降低胞間相互干涉。 (第3實施形態) In this way, by repeatedly inputting the data of some pages at the 1st stage and the 2nd stage, and inputting the data of other pages only at one of the 1st stage and the 2nd stage, it is programmed, The system can reduce the mutual interference between cells, and can also reduce the capacity of the write buffer, and can also suppress the deviation of the bit error rate when writing each bit of metadata. In particular, in the case of 1-4-5-5, 1-5-4-5, 3-3-4-5 or 3-5-2-5 data encoding, due to the boundary number system of each page data It is uniform, and the number of transitions in the threshold region during the programming of the 2nd stage is 3 or less, so it can suppress the bias of the bit error rate and reduce the interference between cells. (third embodiment)

由第3實施形態所致之記憶體系統1,係為將寫入緩衝之容量相較於第1以及第2實施形態而更進一步作了削減者。In the memory system 1 resulting from the third embodiment, the capacity of the write buffer is further reduced compared with the first and second embodiments.

由第3實施形態所致之記憶體系統1的硬體構成,係與由第1以及第2實施形態所致之記憶體系統1共通。在第3實施形態中,係將與1st階段之程式化重複地而亦在2nd階段之程式化中作輸入的頁面之資料,於1st階段之程式化開始後,仍持續保持於非揮發性記憶體3之內部的頁面緩衝24中。藉由此,在2nd階段之程式化中,係能夠省略該頁面之資料輸入的程序,並且成為能夠將所有的頁面之資料輸入設為僅有1次。藉由此,係能夠將寫入緩衝之容量作削減。The hardware configuration of the memory system 1 caused by the third embodiment is common to the memory system 1 caused by the first and second embodiments. In the third embodiment, the data of the page that is repeatedly input in the programming of the 1st stage and also input in the programming of the 2nd stage is kept in the non-volatile memory after the programming of the 1st stage starts. In the page buffer 24 inside the body 3. Thereby, in the programming of the 2nd stage, it becomes possible to omit the process of inputting the data of the page, and it becomes possible to input the data of all the pages only once. By this, the capacity of the write buffer can be reduced.

進而,在本實施形態中,係將字元線WLn-1之2nd階段的程式化和字元線WLn之1st階段的程式化作統整而進行之。如此這般,頁面緩衝24,係將第1~第4位元(Lower頁面、Middle頁面、Upper頁面、Top頁面)中的於1st階段之程式化2nd階段之程式化時會被重複輸入的位元之資料,在開始1st階段之程式化之前而作記憶,並在開始了2nd階段之程式化之後設為能夠廢棄或無效化。以下,在本實施形態中,亦同樣的,係針對使用與第1實施形態之在圖6中所作了說明者相同之1-4-5-5資料編碼之例,來進行說明。Furthermore, in this embodiment, the programming of the 2nd stage of the word line WLn-1 and the programming of the 1st stage of the word line WLn are integrated and performed. In this way, the page buffer 24 is the bit that will be repeatedly input when programming in the 1st stage and 2nd stage in the 1st to 4th bits (Lower page, Middle page, Upper page, Top page) The meta data is memorized before the programming of the 1st stage is started, and it can be discarded or invalidated after the programming of the 2nd stage is started. Hereinafter, also in this embodiment, an example using the same 1-4-5-5 data encoding as that described in FIG. 6 of the first embodiment will be described.

在圖9所示之程式化的流程圖中,1st階段之程式化和2nd階段之程式化,係使實行時序相互偏移,在各者的程式化時,係需要進行各者之程式化指令與程式化資料之輸入。相對於此,在本實施形態中,係將1st階段之程式化和2nd階段之程式化的程式化指令與程式化資料輸入盡可能地作統整而進行之。In the stylized flow chart shown in Figure 9, the stylization of the 1st stage and the stylization of the 2nd stage make the execution timing offset from each other. When each of the stylization is programmed, it is necessary to carry out each of the stylized instructions and stylized data input. On the other hand, in this embodiment, the programming instruction and programming data input of the programming of the 1st stage and the programming of the 2nd stage are integrated as much as possible.

例如,如同在圖8B所示一般,除了區塊之開頭和結束的端部之外,字元線WLn之1st階段和字元線WLn-1之2nd階段的程式化係絕對為連續。因此,在本實施形態中,係將此部份設為統合的指令輸入。亦即是,藉由1次的指令輸入,字元線WLn之Lower頁面、Middle頁面以及Top頁面與字元線WLn-1之Upper頁面之各程式化資料係被整批地輸入。此係身為與採用有Foggy-Fine的情況時之藉由1次的程式化指令而使Lower/Middle/Upper/Top頁面之資料被整批地(但是,於此情況,係為相同字元線WLi內之頁面)作了4個頁面之量之輸入一事相同的資料量之輸入。For example, as shown in FIG. 8B, the stylization of the 1st phase of word line WLn and the 2nd phase of word line WLn-1 is absolutely continuous except for the beginning and end of the block. Therefore, in this embodiment, this part is set as an integrated command input. That is, with one instruction input, the programming data of the Lower page, Middle page, Top page, and Upper page of the word line WLn-1 are input in batches. This is to make the data of the Lower/Middle/Upper/Top pages batched by one programming command when using Foggy-Fine (however, in this case, it is the same character The page in the line WLi) made the input of the amount of 4 pages and the input of the same amount of data.

如此這般,藉由將程式化指令以及程式化資料之輸入作統整,在記憶體控制器2所進行的控制中之指令輸入和輪詢(關於chip busy是否回復到的ready一事的定期性之檢查)之頻度係減少,記憶體系統1之高速化與控制的簡單化係成為可能。In this way, by integrating the input of stylized commands and stylized data, the command input and polling in the control performed by the memory controller 2 (regularity of whether the chip busy returns to ready The frequency of checking) is reduced, and the high speed of the memory system 1 and the simplification of control become possible.

於此,針對依循於由第3實施形態所致的程式化順序之寫入程序的其中一例,使用圖108以及圖109而作說明。在圖108以及圖109中,係對於在依循了圖8B中所示之程式化順序的情況時之寫入程序作展示。Here, an example of the write procedure in accordance with the programming order according to the third embodiment will be described using FIG. 108 and FIG. 109 . In FIG. 108 and FIG. 109, the writing process is shown for the case where the stylized sequence shown in FIG. 8B is followed.

圖108,係為對於由第3實施形態所致的1個區塊之量之全體的寫入程序作展示之流程圖。於此之1個區塊,假設係具備有字元線WL0~WLn(n為自然數)之n+1根的字元線WLi。如同圖108中所示一般,若是開始進行寫入(步驟S710),則係進行字串St0~St3之字元線WL0之1st階段的程式化之處理(步驟S712)。藉由此,控制部22,係實施字串St0~St3之字元線WL0之1st階段的程式化(步驟S714)。Fig. 108 is a flow chart showing the entire write procedure for one block by the third embodiment. Here, one block is assumed to have n+1 word lines WLi of word lines WL0 to WLn (n is a natural number). As shown in FIG. 108, if writing is started (step S710), then the programming process of the 1st stage of word line WL0 of word strings St0-St3 is performed (step S712). As a result, the control unit 22 executes the programming of the 1st stage of the word line WL0 of the word strings St0 to St3 (step S714 ).

又,控制部22,係實施字串St0_字元線WL1之1st階段的程式化和字串St0_字元線WL0之2nd階段的程式化(步驟S716)。Furthermore, the control unit 22 executes the programming of the 1st stage of the word string St0_word line WL1 and the programming of the 2nd stage of the word string St0_word line WL0 (step S716).

接著,控制部22,係實施字串St1_字元線WL1之1st階段的程式化和字串St1_字元線WL0之2nd階段的程式化(步驟S718)。接著,控制部22,係實施字串St2_字元線WL1之1st階段的程式化和字串St2_字元線WL0之2nd階段的程式化(步驟S720)。之後,控制部22,係對於各字串之各字元線WLi而反覆進行同樣的處理。Next, the control unit 22 implements the programming of the 1st stage of the word string St1_word line WL1 and the programming of the 2nd stage of the word string St1_word line WL0 (step S718). Next, the control unit 22 implements the programming of the 1st stage of the word string St2_word line WL1 and the programming of the 2nd stage of the word string St2_word line WL0 (step S720). Thereafter, the control unit 22 repeats the same processing for each word line WLi of each word string.

接著,係實施字串St0_字元線WLn之1st階段的程式化和字串St0_字元線WLn-1之2nd階段的程式化(步驟S722)。接著,控制部22,係實施字串St1_字元線WLn之1st階段的程式化和字串St1_字元線WLn-1之2nd階段的程式化(步驟S724)。之後,控制部22,係對於各字串之各字元線WLi而反覆進行同樣的處理。Next, the programming of the 1st stage of the word string St0_word line WLn and the programming of the 2nd stage of the word string St0_word line WLn-1 are implemented (step S722). Next, the control unit 22 implements the programming of the 1st stage of the word string St1_word line WLn and the programming of the 2nd stage of the word string St1_word line WLn-1 (step S724). Thereafter, the control unit 22 repeats the same processing for each word line WLi of each word string.

接著,控制部22,係實施字串St3_字元線WLn之1st階段的程式化和字串St3_字元線WLn-1之2nd階段的程式化(步驟S726)。接著,控制部22,係實施字串St0~St3之字元線WLn之2nd階段的程式化(步驟S728、S730、S732)。Next, the control unit 22 implements the programming of the 1st stage of the word string St3_word line WLn and the programming of the 2nd stage of the word string St3_word line WLn-1 (step S726). Next, the control unit 22 implements programming in the 2nd stage of the word line WLn of the word strings St0-St3 (steps S728, S730, S732).

如此這般,在區塊之開頭處,係與第1實施形態相同地而被實施僅有1st階段之程式化,在區塊之最後處,係與第1實施形態相同地而被實施僅有2nd階段之程式化。於此情況,僅有1st階段之程式化,係依循於圖8B中所示之程序而被實行,僅有2nd階段之程式化,係依循於圖8C中所示之程序而被實行。又,在圖108之流程圖中,除了區塊之開頭與最後以外,係將字元線WLn之1st階段的程式化和字元線WLn-1之2nd階段的程式化作統整而進行之。藉由此,記憶體控制器2所進行的指令輸入和輪詢之頻度係減少,而能夠將記憶體系統1之處理高速化。In this way, at the beginning of the block, only the stylization of the 1st stage is implemented in the same way as in the first embodiment, and at the end of the block, it is implemented in the same way as in the first embodiment. The stylization of the 2nd stage. In this case, only the programming of the 1st stage is carried out following the procedure shown in FIG. 8B, and only the programming of the 2nd stage is carried out following the procedure shown in FIG. 8C. In addition, in the flow chart of FIG. 108, except for the beginning and the end of the block, the programming of the 1st stage of the word line WLn and the programming of the 2nd stage of the word line WLn-1 are integrated and carried out. . As a result, the frequency of command input and polling performed by the memory controller 2 is reduced, and the processing of the memory system 1 can be accelerated.

圖109,係為對於第3實施形態的1st階段以及2nd階段中之寫入程序作展示之流程圖。如同圖109中所示一般,在1st階段以及2nd階段之程式化中,於1st階段之程式化被作了實行之後,接著2nd階段之程式化係被實行。具體而言,首先,係從記憶體控制器2對於非揮發性記憶體3而被輸入有字元線WLn-1之Upper頁面之資料的輸入開始指令(步驟S750)。之後,係從記憶體控制器2對於非揮發性記憶體3而被輸入有字元線WLn-1之Upper頁面之資料(步驟S752)。Fig. 109 is a flow chart showing the writing procedure in the 1st stage and the 2nd stage of the third embodiment. As shown in FIG. 109, in the stylization of the 1st stage and the stylization of the 2nd stage, after the stylization of the 1st stage is carried out, then the stylization of the 2nd stage is carried out. Specifically, firstly, the memory controller 2 starts the input of the data of the Upper page of the word line WLn-1 inputted to the non-volatile memory 3 (step S750). Afterwards, the data of the Upper page of the word line WLn-1 is input to the non-volatile memory 3 from the memory controller 2 (step S752).

接著,係從記憶體控制器2對於非揮發性記憶體3而被輸入有字元線WLn之Lower頁面之資料的輸入開始指令(步驟S754)。之後,係從記憶體控制器2對於非揮發性記憶體3而被輸入有字元線WLn之Lower頁面之資料(步驟S756)。Next, an instruction to start inputting the data of the Lower page in which the word line WLn is input from the memory controller 2 to the non-volatile memory 3 (step S754). Afterwards, the data of the Lower page of the word line WLn is input to the non-volatile memory 3 from the memory controller 2 (step S756).

接著,係從記憶體控制器2對於非揮發性記憶體3而被輸入有字元線WLn之Middle頁面之資料的輸入開始指令(步驟S758)。之後,係從記憶體控制器2對於非揮發性記憶體3而被輸入有字元線WLn之Middle頁面之資料(步驟S760)。Middle頁面之資料,係並不僅是被輸入至非揮發性記憶體3處,而亦被記憶在頁面緩衝24中。在記憶於頁面緩衝24中之後,係能夠將寫入緩衝內之Middle資料廢棄或無效化。Next, an instruction to start inputting the data of the Middle page in which the word line WLn is inputted from the memory controller 2 to the non-volatile memory 3 (step S758). After that, the data of the Middle page with the word line WLn is input to the non-volatile memory 3 from the memory controller 2 (step S760). The data of the Middle page is not only input to the non-volatile memory 3, but also stored in the page buffer 24. After being stored in the page buffer 24, the Middle data written in the buffer can be discarded or invalidated.

接著,係從記憶體控制器2對於非揮發性記憶體3而被輸入有字元線WLn之Top頁面之資料的輸入開始指令(步驟S762)。之後,係從記憶體控制器2對於非揮發性記憶體3而被輸入有字元線WLn之Top頁面之資料(步驟S764)。Next, an input start instruction is given from the memory controller 2 to the non-volatile memory 3 with respect to the data of the Top page in which the word line WLn is input (step S762). Afterwards, the data of the Top page with the word line WLn is input to the non-volatile memory 3 from the memory controller 2 (step S764).

接著,係從記憶體控制器2對於非揮發性記憶體3而被輸入有1st階段以及2nd階段之程式化實行指令(步驟S766),並藉由此而成為chip_busy(步驟S768)。Next, the programming execution command of the 1st stage and the 2nd stage is input to the non-volatile memory 3 from the memory controller 2 (step S766), and thus becomes chip_busy (step S768).

之後,對於字元線WLn之Lower頁面、Middle頁面以及Top頁面,係被施加有1~複數次的程式化電壓脈衝(步驟S770)。之後,為了對於記憶體胞是否超越臨限值邊界準位地而作了移動一事作確認,係進行有字元線WLn之Lower頁面和Top頁面之資料讀出(步驟S772)。Afterwards, one to a plurality of programming voltage pulses are applied to the Lower page, Middle page, and Top page of the word line WLn (step S770 ). Afterwards, in order to confirm whether the memory cell has been moved beyond the threshold boundary level, the data of the Lower page and the Top page with the word line WLn are read (step S772).

進而,係確認在Lower頁面和Top頁面中之資料的失敗位元數量是否為較判定基準而更小(步驟S774)。當Lower頁面與Top頁面中之資料的失敗位元數量係為判定基準以上的情況時,步驟S770~S774之處理係被反覆進行。而,若是資料的失敗位元數量成為較判定基準而更小,則字元線WLn-1之Lower頁面與Top頁面資料係被讀出(步驟S776)。Furthermore, it is confirmed whether the number of failed bits of the data in the Lower page and the Top page is smaller than the criterion (step S774). When the number of failed bits of the data in the Lower page and the Top page is above the criterion, the processing of steps S770-S774 is repeated. And, if the number of failed bits of the data becomes smaller than the judgment standard, the data of the Lower page and the Top page of the word line WLn-1 are read (step S776).

之後,基於字元線WLn-1之Lower與Top頁面資料和從頁面緩衝24所被讀出的Middle頁面之資料,Upper頁面之程式化目標的臨限值電壓Vth係被決定(步驟S778)。之後,使用被決定了的臨限值電壓Vth,對於字元線WLn-1之Upper頁面之資料寫入係被進行(步驟S780)。Then, based on the data of the Lower and Top pages of the word line WLn-1 and the data of the Middle page read from the page buffer 24, the threshold voltage Vth of the programming target of the Upper page is determined (step S778). Then, using the determined threshold voltage Vth, data writing to the upper page of the word line WLn-1 is performed (step S780).

在對於Upper頁面之資料寫入時,對於字元線WLn-1之Upper頁面,係被施加有1~複數次的程式化電壓脈衝。之後,為了對於記憶體胞是否超越臨限值邊界準位地而作了移動一事作確認,係進行有字元線WLn-1之Upper頁面之資料讀出(步驟S782)。When writing data on the upper page, one to a plurality of programming voltage pulses are applied to the upper page of the word line WLn-1. Afterwards, in order to confirm whether the memory cell has been moved beyond the threshold boundary level, the data of the Upper page with the word line WLn-1 is read (step S782).

進而,係進行有判定在Upper頁面中之資料的失敗位元數量是否為較判定基準而更小之驗證(步驟S784)。當在Upper頁面中之資料的失敗位元數量係為判定基準以上的情況時,程式化電壓脈衝施加和資料讀出、驗證之處理係被反覆進行。而,若是資料的失敗位元數量成為較判定基準而更小,則係成為chip_ready(步驟S786)。Furthermore, a verification is performed to determine whether the number of failed bits of the data in the Upper page is smaller than the determination criterion (step S784). When the number of failed bits of the data in the upper page is above the judgment standard, the processing of programming voltage pulse application, data readout and verification is repeated. On the other hand, if the number of failed bits of the data is smaller than the criterion, it becomes chip_ready (step S786).

另外,在針對同一字元線的1st階段之程式化中,於複數之頁面的資料輸入開始指令與資料輸入處理中之頁面的順序係為任意,不論是何者之頁面先被作輸入均可。又,在針對同一字元線的2nd階段之程式化中,於複數之頁面的資料輸入開始指令與資料輸入處理中之頁面的順序亦為任意。但是,各個的字元線編號和2個的階段之程式化之處理之順序,係絕對需要成為在圖109中所示之順序。In addition, in the programming of the 1st stage for the same character line, the order of the data input start command on the plural pages and the pages in the data input processing is arbitrary, no matter which page is input first. In addition, in the programming of the 2nd stage for the same word line, the order of the data input start command and the pages in the data input processing on plural pages is also arbitrary. However, the order of the respective word line numbers and the programming process of the two stages is absolutely required to be the order shown in FIG. 109 .

如此這般,在圖109中,係針對使字元線WLn之1st階段的程式化在較字元線WLn-1之2nd階段的程式化更之前而被實行的情況作說明。此係為了藉由使字元線WLn之1st階段的程式化先被進行來成為不會使16值之臨限值電壓Vth所被作寫入的字元線WLn-1之胞受到鄰接之胞的影響之故。In this way, in FIG. 109, the case where the 1st stage programming of the word line WLn is performed before the 2nd stage programming of the word line WLn-1 will be described. This is to prevent the cell of the word line WLn-1 in which the 16-value threshold voltage Vth is written from being affected by adjacent cells by making the programming of the 1st stage of the word line WLn be performed first. because of the influence.

如同上述一般,在本實施形態中,字元線WLn-1之Upper頁面之資料和字元線WLn之Lower頁面、Middle頁面以及Top頁面之資料之4個頁面之量的資料,係被連續地輸入。As mentioned above, in this embodiment, the data of the Upper page of the word line WLn-1 and the data of 4 pages of the data of the Lower page, Middle page and Top page of the word line WLn are continuously obtained. enter.

又,作為另一變形例,係亦可在程式化指令之輸入後,作為IDL,而在先進行了字元線WLn-1之Lower頁面、Middle頁面以及Top頁面之資料的讀出之後,進行字元線WLn之Lower頁面、Middle頁面以及Top頁面之程式化,接著,字元線WLn-1之Upper頁面之程式化目標的臨限值電壓Vth被作決定,並藉由所被決定了的臨限值電壓Vth來進行字元線WLn-1之Upper頁面之程式化。若是設為此種構成,則係能夠在受到由字元線WLn之寫入所致的鄰接胞間干涉之影響之前,先進行IDL之字元線WLn-1之Lower頁面、Middle頁面以及Top頁面之資料的讀出。Also, as another modified example, after the input of the programmed command, as IDL, after the reading of the data of the Lower page, Middle page and Top page of the word line WLn-1 is carried out, the The programming of the Lower page, Middle page and Top page of the word line WLn, then, the threshold voltage Vth of the programming target of the Upper page of the word line WLn-1 is determined, and by the determined Threshold voltage Vth is used to program the upper page of word line WLn-1. If this configuration is adopted, the Lower page, Middle page, and Top page of the word line WLn-1 of the IDL can be performed before being affected by the interference between adjacent cells caused by the writing of the word line WLn. The readout of the data.

另外,在本實施形態中的由字元線WLn之1st階段與字元線WLn-1之2nd階段之統整的指令所致之程式化的實際之實行順序,係能夠作變形。亦即是,圖109中所示之字元線WLn之Lower頁面、Middle頁面以及Top頁面的程式化、和作為IDL之字元線WLn-1之Lower頁面、Middle頁面以及Top頁面之資料的讀出,係不論何者為先均可,而可作交換。藉由將字元線WLn-1之Lower頁面、Middle頁面以及Top頁面之資料的讀出在字元線WLn之Lower頁面、Middle頁面以及Top頁面的程式化之前而先進行,係成為能夠並不受到起因於字元線WLn之Lower頁面、Middle頁面以及Top頁面的程式化所致之影響地而進行IDL。In addition, in this embodiment, the programmed actual execution order caused by the integrated commands of the 1st stage of the word line WLn and the 2nd stage of the word line WLn-1 can be modified. That is, the stylization of the Lower page, the Middle page, and the Top page of the word line WLn shown in FIG. No matter which one comes first, it can be exchanged. By reading the data of the Lower page, Middle page, and Top page of word line WLn-1 before programming the Lower page, Middle page, and Top page of word line WLn, it becomes possible and IDL is performed under the influence of the stylization of the Lower page, Middle page, and Top page resulting from the word line WLn.

如此這般,在第3實施形態中,由於係將字元線WLn-1之2nd階段的程式化和字元線WLn之1st階段的程式化作統整而進行之,因此指令輸入和輪詢之頻度係減少。故而,係成為能夠達成記憶體系統1之高速化以及控制之簡單化。In this way, in the third embodiment, since the programming of the 2nd stage of the word line WLn-1 and the programming of the 1st stage of the word line WLn are integrated, the command input and polling The frequency is reduced. Therefore, it becomes possible to increase the speed of the memory system 1 and to simplify the control.

圖110,係為用以對於在第3實施形態之程式化中之寫入緩衝量(緩衝資料量)作說明之圖。在本實施形態中,係以1-4-5-5資料編碼而使用有2階段的程式化。在本實施形態之程式化中,於1st階段中,係進行有3個頁面之量(Lower頁面和Middle頁面以及Top頁面)的資料輸入、和此3個頁面之量的程式化(1st程式化)。又,在本實施形態之程式化的情況時,於2nd階段中,係進行有1個頁面之量(Upper頁面)的資料輸入、和Upper頁面之1個頁面之量的程式化(2nd程式化)。Fig. 110 is a diagram for explaining the write buffer amount (buffer data amount) in programming in the third embodiment. In the present embodiment, 1-4-5-5 data encoding is used and programming with two stages is used. In the stylization of this embodiment, in the 1st stage, there are three pages (Lower page, Middle page, and Top page) of data input, and the stylization of these three pages (1st stylization) ). Also, in the case of programming in this embodiment, in the 2nd stage, there is data input for one page (Upper page), and programming for one page of the Upper page (2nd programming ).

而,在各字元線WL0、WL1、WL2、…處,係只要在各階段之資料輸入時將資料預先儲存在寫入緩衝中即可,若是程式化被開始,則係亦可將資料從寫入緩衝內而刪除。例如,若是在1st階段處而資料被作輸入,則此資料係被儲存在寫入緩衝內。而,若是在1st階段處而程式化被開始,則係亦可將預先被儲存在寫入緩衝內之Lower頁面和Top頁面以及Middle頁面之資料刪除。但是,Middle頁面之資料,由於係在2nd階段處亦被作使用,因此,直到2nd階段處之程式化被開始為止,係有必要預先記憶在頁面緩衝24中。同樣的,若是在2nd階段處而資料被作輸入,則此資料係被儲存在寫入緩衝內。而,若是在2nd階段處而程式化被開始,則係亦可將預先被儲存在寫入緩衝內之資料全部刪除。因此,在本實施形態之程式化的情況時,有必要預先保持在寫入緩衝內之資料,就算是最大亦係僅為3個頁面之量的資料,而可成為較第1實施形態而更為減少。However, at each word line WL0, WL1, WL2, ..., it is only necessary to store the data in the write buffer in advance when the data is input at each stage. If programming is started, the data can also be read from Write to buffer and delete. For example, if data is input at the 1st stage, the data is stored in the write buffer. And, if programming is started at the 1st stage, the data of the Lower page, Top page, and Middle page previously stored in the write buffer can also be deleted. However, since the data of the Middle page is also used at the 2nd stage, it is necessary to store it in the page buffer 24 until the programming at the 2nd stage is started. Likewise, if data is input at the 2nd stage, the data is stored in the write buffer. And, if programming is started at the 2nd stage, all the data stored in the write buffer in advance can be deleted. Therefore, in the case of programming in this embodiment, the data that must be kept in the write buffer in advance, even if it is the data of the maximum amount of 3 pages, can be changed more than that of the first embodiment. for reduction.

在本實施形態之程式化中,亦同樣的,為了將鄰接記憶體胞間干涉降低,Lower/Middle/Upper/Top之4個頁面之量的資料係並不被連續地作寫入。例如,在對於字元線WL0之1st階段被作了實行之後,於對於字元線WL0之2nd階段被實行之前,對於與字元線WL0相鄰接之字元線WL1的1st階段係被實行。同樣的,在對於字元線WL1之1st階段被作了實行之後,於對於字元線WL1之2nd階段被實行之前,對於與字元線WL1相鄰接之字元線WL2的1st階段係被實行。In the programming of this embodiment, similarly, in order to reduce the interference between adjacent memory cells, the data of 4 pages of Lower/Middle/Upper/Top are not continuously written. For example, after the 1st phase for word line WL0 is performed, before the 2nd phase for word line WL0 is performed, the 1st phase for word line WL1 adjacent to word line WL0 is performed. . Likewise, after the 1st phase for word line WL1 is performed, before the 2nd phase for word line WL1 is performed, the 1st phase for word line WL2 adjacent to word line WL1 is performed. carry out.

如此這般,在本實施形態中,由於所有的頁面資料,係僅在1次的階段之程式化中而為必要,因此,若是該資料輸入結束,則係成為能夠將寫入緩衝內之資料刪除。因此,在本實施形態中,有必要預先同時保持在寫入緩衝內之頁面數量,係僅需要較第1實施形態而更少即可。In this way, in this embodiment, since all the page data are necessary for programming in only one stage, when the input of the data is completed, it becomes the data that can be written into the buffer delete. Therefore, in this embodiment, the number of pages that need to be simultaneously held in the write buffer in advance is only required to be less than that in the first embodiment.

被對於非揮發性記憶體3而進行程式化的頁面資料,係先在RAM6內之寫入緩衝中暫時被作保持,之後在程式化時被資料輸入至非揮發性記憶體3中。在本實施形態中,由於係成為能夠將此RAM6之必要容量縮小,因此係成為使成本被削減。The page data programmed to the non-volatile memory 3 is temporarily held in the write buffer in the RAM 6, and then the data is input to the non-volatile memory 3 during programming. In this embodiment, since the required capacity of the RAM 6 can be reduced, the cost can be reduced.

又,在本實施形態中,由於係藉由各頁面之各者的1次之資料傳輸而結束,因此,相較於第1實施形態,係亦僅需要較少的頁面資料之傳輸時間,而成為能夠將傳輸時之消耗電力作削減。Also, in this embodiment, since it is completed by one data transfer of each of the pages, compared with the first embodiment, only less page data transfer time is required, and It becomes possible to reduce power consumption during transmission.

關於在本實施形態中之頁面讀出處理,由於係與在第1實施形態中所作了說明的處理程序相同,故省略其說明。The page read processing in this embodiment is the same as the processing procedure described in the first embodiment, and therefore its description is omitted.

另外,在本實施形態中,為了新的需要繼續作保持之頁面之資料,係需要將NAND快閃記憶體內部之頁面緩衝24作增加。在如同圖8A中所示一般之於區塊內存在有1個的字串之NAND快閃記憶體之程式化中,需要作增加的頁面緩衝24之量,係為1個頁面的資料之量。相對於此,在如同圖8B或圖8C中所示一般之於區塊內存在有4個的字串之NAND快閃記憶體之程式化中,需要作增加的頁面緩衝24之量,係為4個頁面的資料之量。此係因為,在從實行某一個的字串之1st階段之程式化起直到實行相同字串之2nd階段之程式化為止的期間中,係需要實行其他之3個的字串之1st階段之程式化,其結果,係需要針對4個的字串之全部,而分別保持1個頁面之量的資料之故。In addition, in this embodiment, the page buffer 24 inside the NAND flash memory needs to be increased for new page data that needs to be kept. In the programming of the NAND flash memory in which there is one character string in the block as shown in FIG. 8A , the amount of page buffer 24 that needs to be added is the amount of data of one page. . In contrast to this, in the programming of the NAND flash memory that generally has 4 strings in the block as shown in FIG. 8B or FIG. 8C, the amount of page buffer 24 that needs to be increased is: The amount of data for 4 pages. This is because, during the period from the 1st stage programming of a certain character string to the 2nd stage programming of the same character string, it is necessary to execute the 1st stage programming of the other three character strings. As a result, it is necessary to hold data corresponding to one page for all four character strings.

在本實施形態中,雖係以1-4-5-5資料編碼為例來作了說明,但是,係可採用各種的資料編碼之變形,並明顯地能夠實現於上所述之實施形態。In the present embodiment, although the 1-4-5-5 data coding is used as an example to explain, various modifications of the data coding can be adopted, and it is obvious that the above-mentioned embodiment can be realized.

在上述之第1~第3實施形態中,雖係針對使用NAND記憶體5來構成非揮發性記憶體3的情況而作了說明,但是,係亦可使用像是ReRAM(Resistive Random Access Memory)或MRAM6(Magneto-Resistive Random Access Memory)、PRAM(Phase Change Random Access Memory)、FeRAM(Ferroeletric Random Access Memory)等之其他型態的非揮發性記憶體3。In the above-mentioned first to third embodiments, although the description has been made on the use of the NAND memory 5 to form the non-volatile memory 3, a ReRAM (Resistive Random Access Memory) may also be used. Or MRAM6 (Magneto-Resistive Random Access Memory), PRAM (Phase Change Random Access Memory), FeRAM (Ferroeletric Random Access Memory) and other types of non-volatile memory 3 .

在上述之第1~第3實施形態中,雖係針對於1st階段之程式化中係進行3個頁面之量的資料之寫入,於2nd階段之程式化中係進行2個頁面之量的資料之寫入的情況,來作了說明,但是,係亦可對於1st階段之程式化中的頁面數量和2nd階段之程式化中的頁面數量之分配作變更。例如,係亦可構成為在1st階段之程式化中係進行2個頁面之量的資料之寫入,而在2nd階段之程式化中係進行3個頁面之量的資料之寫入。In the above-mentioned first to third embodiments, although it is aimed at writing the data of 3 pages in the programming of the 1st stage, the writing of data of 2 pages in the programming of the 2nd stage The writing of data has been described, but it is also possible to change the allocation of the number of pages in programming in the 1st stage and the number of pages in programming in the 2nd stage. For example, the system may be configured such that two pages of data are written in programming at the 1st stage, and data for three pages are written in the programming at the 2nd stage.

雖係針對本揭示之數種實施形態作了說明,但是,該些實施形態,係僅為作為例子所提示者,而並非為對於本發明之範圍作限定者。此些之新穎的實施形態,係可藉由其他之各種形態來實施,在不脫離發明之要旨的範圍內,係可進行各種之省略、置換、變更。此些之實施形態或其變形,係亦被包含於發明之範圍或要旨中,並且亦被包含在申請專利範圍中所記載的發明及其均等範圍內。Although several embodiments of the present disclosure have been described, these embodiments are only presented as examples and are not intended to limit the scope of the present invention. These novel embodiments can be implemented in other various forms, and various omissions, substitutions, and changes can be made without departing from the gist of the invention. These embodiments and modifications thereof are also included in the scope or gist of the invention, and are also included in the inventions described in the claims and their equivalent scopes.

1:記憶體系統 2:記憶體控制器 3:非揮發性記憶體 4:主機處理器 5:NAND記憶體 6:RAM 7:ROM 8:處理器 9:主機介面 10:ECC電路 11:記憶體介面 12:內部匯流排 21:NAND I/O介面 22:控制部 23:NAND記憶體胞陣列 24:頁面緩衝 31:震盪器 32:序列器 33:指令使用者介面 34:電壓供給部 35:列計數器 36:序列存取控制器 37:行解碼器 38:感測放大器 41:p型井區域 42,43,44:配線層 45:記憶體洞(memory hole) 46:區塊絕緣膜 47:電荷積蓄層 48:閘極絕緣膜 49:導電膜 1: Memory system 2: Memory controller 3: Non-volatile memory 4: Host Processor 5: NAND memory 6: RAM 7:ROM 8: Processor 9: Host interface 10: ECC circuit 11: Memory interface 12:Internal busbar 21:NAND I/O interface 22: Control Department 23: NAND memory cell array 24: Page buffering 31: Oscillator 32: Sequencer 33:Command user interface 34: Voltage supply part 35: column counter 36: Serial access controller 37: row decoder 38: Sense amplifier 41: p-well area 42,43,44: wiring layer 45: memory hole 46: block insulating film 47: Charge storage layer 48: Gate insulating film 49: Conductive film

[圖1]係為對於由第1實施形態所致的記憶體系統之概略構成作展示之區塊圖。 [圖2]係為對於本實施形態的非揮發性記憶體之內部構成之其中一例作展示之區塊圖。 [圖3]係為對於3維構造的NAND記憶體胞陣列之其中一例作展示之電路圖。 [圖4]係為3維構造的NAND記憶體之NAND記憶體胞陣列之一部分區域的剖面圖。 [圖5]係為對於第1實施形態之臨限值區域的其中一例作展示之圖。 [圖6A]係為對於第1實施形態之資料編碼的其中一例作展示之圖。 [圖6B]係為對於第1實施形態之資料編碼的另外一例作展示之圖。 [圖7]係為對於第1實施形態中之程式化後的臨限值區域作展示之圖。 [圖8A]係為對於第1實施形態之程式化順序的第1例作展示之圖。 [圖8B]係為對於第1實施形態之程式化順序的第2例作展示之圖。 [圖8C]係為對於第1實施形態之程式化順序的第3例作展示之圖。 [圖9]係為對於由第1實施形態所致的1個區塊之量之全體的寫入程序之第1例作展示之流程圖。 [圖10]係為對於由第1實施形態所致的1st階段中之寫入程序作展示之流程圖。 [圖11]係為對於2nd階段之寫入程序之第1例作展示之流程圖。 [圖12]係為用以對於複數次數之讀出結果的多數決處理作說明的圖。 [圖13]係為對於在第1實施形態的2nd階段中之寫入程序之變形例作展示之流程圖。 [圖14A]係為用以對於在採用了4-3-4-4資料編碼之Foggy-Fine程式化中之寫入緩衝的資料量作說明之圖。 [圖14B]係為對於在本實施形態中之寫入緩衝的資料量作說明之圖。 [圖15]係為對於在直到1st階段為止之程式化為結束的字元線處之頁面讀出的處理程序作展示之流程圖。 [圖16A]係為對於在直到2nd階段為止之程式化為結束的字元線處之頁面讀出的處理程序作展示之流程圖。 [圖16B]係為針對適合於由其中一變形例所致之頁面讀出處理的資料編碼作展示之圖。 [圖16C]係為對於由其中一變形例所致的讀出處理程序作展示之流程圖。 [圖16D]係為選擇字元線、ReadyBusy訊號線、輸出資料線之電壓波形圖。 [圖17]係為對於1-5-4-5資料編碼的其中一例作展示之圖。 [圖18]係為對於1-5-4-5資料編碼的其中一例作展示之圖。 [圖19]係為對於3-5-2-5資料編碼的其中一例作展示之圖。 [圖20]係為對於3-3-4-5資料編碼的其中一例作展示之圖。 [圖21]係為對於2-3-5-5資料編碼的其中一例作展示之圖。 [圖22]係為對於3-2-5-5資料編碼的其中一例作展示之圖。 [圖23]係為對於3-4-4-4資料編碼的其中一例作展示之圖。 [圖24]係為對於3-4-4-4資料編碼的其中一例作展示之圖。 [圖25]係為對於1-4-5-5資料編碼的其中一例作展示之圖。 [圖26]係為對於2-5-3-5資料編碼的其中一例作展示之圖。 [圖27]係為對於3-4-5-3資料編碼的其中一例作展示之圖。 [圖28]係為對於3-2-5-5資料編碼的其中一例作展示之圖。 [圖29]係為對於3-2-5-5資料編碼的其中一例作展示之圖。 [圖30]係為對於1-5-5-4資料編碼的其中一例作展示之圖。 [圖31]係為對於1-5-4-5資料編碼的其中一例作展示之圖。 [圖32]係為對於1-4-5-5資料編碼的其中一例作展示之圖。 [圖33]係為對於1-5-3-6資料編碼的其中一例作展示之圖。 [圖34]係為對於1-3-6-5資料編碼的其中一例作展示之圖。 [圖35]係為對於1-2-6-6資料編碼的其中一例作展示之圖。 [圖36]係為對於1-2-6-6資料編碼的其中一例作展示之圖。 [圖37]係為對於1-2-6-6資料編碼的其中一例作展示之圖。 [圖38]係為對於1-4-6-4資料編碼的其中一例作展示之圖。 [圖39]係為對於1-4-4-6資料編碼的其中一例作展示之圖。 [圖40]係為對於1-4-6-4資料編碼的其中一例作展示之圖。 [圖41]係為對於1-4-4-6資料編碼的其中一例作展示之圖。 [圖42]係為對於2-5-2-6資料編碼的其中一例作展示之圖。 [圖43]係為對於2-5-2-6資料編碼的其中一例作展示之圖。 [圖44]係為對於2-5-2-6資料編碼的其中一例作展示之圖。 [圖45]係為對於3-3-3-6資料編碼的其中一例作展示之圖。 [圖46]係為對於3-3-6-3資料編碼的其中一例作展示之圖。 [圖47]係為對於2-3-4-6資料編碼的其中一例作展示之圖。 [圖48]係為對於3-4-2-6資料編碼的其中一例作展示之圖。 [圖49]係為對於2-3-4-6資料編碼的其中一例作展示之圖。 [圖50]係為對於3-2-6-4資料編碼的其中一例作展示之圖。 [圖51]係為對於3-2-4-6資料編碼的其中一例作展示之圖。 [圖52]係為對於3-2-6-4資料編碼的其中一例作展示之圖。 [圖53]係為對於3-4-2-6資料編碼的其中一例作展示之圖。 [圖54]係為對於3-2-4-6資料編碼的其中一例作展示之圖。 [圖55]係為對於5-3-2-5資料編碼的其中一例作展示之圖。 [圖56]係為對於3-5-2-5資料編碼的其中一例作展示之圖。 [圖57]係為對於3-2-5-5資料編碼的其中一例作展示之圖。 [圖58]係為對於2-3-5-5資料編碼的其中一例作展示之圖。 [圖59]係為對於2-3-5-5資料編碼的其中一例作展示之圖。 [圖60]係為對於2-3-5-5資料編碼的其中一例作展示之圖。 [圖61]係為對於5-4-2-4資料編碼的其中一例作展示之圖。 [圖62]係為對於4-5-2-4資料編碼的其中一例作展示之圖。 [圖63]係為對於5-4-2-4資料編碼的其中一例作展示之圖。 [圖64]係為對於2-4-5-4資料編碼的其中一例作展示之圖。 [圖65]係為對於2-4-5-4資料編碼的其中一例作展示之圖。 [圖66]係為對於2-5-4-4資料編碼的其中一例作展示之圖。 [圖67]係為對於2-5-4-4資料編碼的其中一例作展示之圖。 [圖68]係為對於2-5-4-4資料編碼的其中一例作展示之圖。 [圖69]係為對於1-5-4-5資料編碼的其中一例作展示之圖。 [圖70]係為對於1-4-5-5資料編碼的其中一例作展示之圖。 [圖71]係為對於1-5-5-4資料編碼的其中一例作展示之圖。 [圖72]係為對於1-4-5-5資料編碼的其中一例作展示之圖。 [圖73]係為對於1-5-5-4資料編碼的其中一例作展示之圖。 [圖74]係為對於1-5-4-5資料編碼的其中一例作展示之圖。 [圖75]係為對於1-5-5-4資料編碼的其中一例作展示之圖。 [圖76]係為對於1-5-4-5資料編碼的其中一例作展示之圖。 [圖77]係為對於1-4-5-5資料編碼的其中一例作展示之圖。 [圖78]係為對於1-4-5-5資料編碼的其中一例作展示之圖。 [圖79]係為對於1-4-5-5資料編碼的其中一例作展示之圖。 [圖80]係為對於1-4-5-5資料編碼的其中一例作展示之圖。 [圖81]係為對於3-5-4-3資料編碼的其中一例作展示之圖。 [圖82]係為對於3-4-5-3資料編碼的其中一例作展示之圖。 [圖83]係為對於3-5-3-4資料編碼的其中一例作展示之圖。 [圖84]係為對於3-4-3-5資料編碼的其中一例作展示之圖。 [圖85]係為對於3-4-5-3資料編碼的其中一例作展示之圖。 [圖86]係為對於3-4-3-5資料編碼的其中一例作展示之圖。 [圖87]係為對於3-3-5-4資料編碼的其中一例作展示之圖。 [圖88]係為對於3-3-5-4資料編碼的其中一例作展示之圖。 [圖89]係為對於4-5-3-3資料編碼的其中一例作展示之圖。 [圖90]係為對於3-5-4-3資料編碼的其中一例作展示之圖。 [圖91]係為對於3-4-5-3資料編碼的其中一例作展示之圖。 [圖92]係為對於3-3-4-5資料編碼的其中一例作展示之圖。 [圖93]係為對於3-3-4-5資料編碼的其中一例作展示之圖。 [圖94]係為對於3-3-4-5資料編碼的其中一例作展示之圖。 [圖95]係為對於3-4-5-3資料編碼的其中一例作展示之圖。 [圖96]係為對於3-3-5-4資料編碼的其中一例作展示之圖。 [圖97]係為對於3-3-4-5資料編碼的其中一例作展示之圖。 [圖98]係為對於4-3-4-4資料編碼的其中一例作展示之圖。 [圖99]係為對於3-4-4-4資料編碼的其中一例作展示之圖。 [圖100]係為對於3-4-4-4資料編碼的其中一例作展示之圖。 [圖101]係為對於4-3-4-4資料編碼的其中一例作展示之圖。 [圖102]係為對於3-4-4-4資料編碼的其中一例作展示之圖。 [圖103]係為對於3-4-4-4資料編碼的其中一例作展示之圖。 [圖104]係為對於3-4-4-4資料編碼的其中一例作展示之圖。 [圖105]係為對於3-4-4-4資料編碼的其中一例作展示之圖。 [圖106]係為對於4-4-3-4資料編碼的其中一例作展示之圖。 [圖107]係為對於4-4-3-4資料編碼的其中一例作展示之圖。 [圖108]係為對於第3實施形態的1個區塊之量之全體的寫入程序作展示之流程圖。 [圖109]係為對於第3實施形態的1st階段以及2nd階段中之寫入程序作展示之流程圖。 [圖110]係為用以對於在第3實施形態之程式化中之寫入緩衝量作說明之圖。 [FIG. 1] is a block diagram showing a schematic configuration of a memory system according to the first embodiment. [FIG. 2] It is a block diagram showing an example of the internal structure of the non-volatile memory of this embodiment. [FIG. 3] is a circuit diagram showing an example of a 3-dimensional NAND memory cell array. [ Fig. 4 ] is a cross-sectional view of a part of a NAND memory cell array of a NAND memory having a three-dimensional structure. [ Fig. 5 ] is a diagram showing an example of the threshold value region in the first embodiment. [FIG. 6A] is a diagram showing an example of data encoding in the first embodiment. [FIG. 6B] is a diagram showing another example of data encoding in the first embodiment. [ Fig. 7 ] is a diagram showing the stylized threshold value region in the first embodiment. [FIG. 8A] is a diagram showing a first example of the stylized sequence of the first embodiment. [FIG. 8B] is a diagram showing a second example of the stylized sequence of the first embodiment. [FIG. 8C] is a diagram showing a third example of the stylized sequence of the first embodiment. [ Fig. 9 ] is a flow chart showing a first example of the entire write procedure for one block by the first embodiment. [ Fig. 10 ] is a flow chart showing the writing procedure in the 1st stage by the first embodiment. [FIG. 11] is a flow chart showing the first example of the write procedure in the 2nd stage. [FIG. 12] It is a figure for explaining the majority decision processing of the reading result of a plural number of times. [ Fig. 13 ] is a flow chart showing a modified example of the writing procedure in the 2nd stage of the first embodiment. [FIG. 14A] is a diagram for explaining the amount of data in the write buffer in Foggy-Fine programming using 4-3-4-4 data encoding. [FIG. 14B] is a diagram for explaining the amount of data in the write buffer in this embodiment. [FIG. 15] It is a flow chart which shows the processing procedure of the page read at the word line which programmed until the 1st stage was completed. [FIG. 16A] is a flow chart showing a processing procedure for page read at a word line where programming ends until the 2nd stage. [FIG. 16B] is a diagram showing data encoding suitable for the page reading process by one of the modified examples. [FIG. 16C] is a flow chart showing the read processing procedure caused by one of the modified examples. [FIG. 16D] is a voltage waveform diagram for selecting word lines, ReadyBusy signal lines, and output data lines. [Fig. 17] is a diagram showing an example of 1-5-4-5 data coding. [Fig. 18] is a diagram showing an example of 1-5-4-5 data coding. [Fig. 19] is a diagram showing an example of 3-5-2-5 data coding. [Fig. 20] is a diagram showing an example of 3-3-4-5 data coding. [Fig. 21] is a diagram showing an example of 2-3-5-5 data coding. [Fig. 22] is a diagram showing an example of 3-2-5-5 data coding. [Fig. 23] is a diagram showing an example of 3-4-4-4 data coding. [Fig. 24] is a diagram showing an example of 3-4-4-4 data encoding. [Fig. 25] is a diagram showing an example of 1-4-5-5 data coding. [Fig. 26] is a diagram showing an example of 2-5-3-5 data coding. [Fig. 27] is a diagram showing an example of 3-4-5-3 data coding. [Fig. 28] is a diagram showing an example of 3-2-5-5 data coding. [Fig. 29] is a diagram showing an example of 3-2-5-5 data coding. [Fig. 30] is a diagram showing an example of 1-5-5-4 data coding. [Fig. 31] is a diagram showing an example of 1-5-4-5 data coding. [Fig. 32] is a diagram showing an example of 1-4-5-5 data coding. [Fig. 33] is a diagram showing an example of 1-5-3-6 data coding. [Fig. 34] is a diagram showing an example of 1-3-6-5 data coding. [Fig. 35] is a diagram showing an example of 1-2-6-6 data coding. [Fig. 36] is a diagram showing an example of 1-2-6-6 data coding. [Fig. 37] is a diagram showing an example of 1-2-6-6 data coding. [Fig. 38] is a diagram showing an example of 1-4-6-4 data encoding. [Fig. 39] is a diagram showing an example of 1-4-4-6 data coding. [Fig. 40] is a diagram showing an example of 1-4-6-4 data coding. [Fig. 41] is a diagram showing an example of 1-4-4-6 data coding. [Fig. 42] is a diagram showing an example of 2-5-2-6 data coding. [Fig. 43] is a diagram showing an example of 2-5-2-6 data coding. [Fig. 44] is a diagram showing an example of 2-5-2-6 data coding. [Fig. 45] is a diagram showing an example of 3-3-3-6 data coding. [Fig. 46] is a diagram showing an example of 3-3-6-3 data coding. [Fig. 47] is a diagram showing an example of 2-3-4-6 data coding. [Fig. 48] is a diagram showing an example of 3-4-2-6 data coding. [Fig. 49] is a diagram showing an example of 2-3-4-6 data coding. [Fig. 50] is a diagram showing an example of 3-2-6-4 data coding. [Fig. 51] is a diagram showing an example of 3-2-4-6 data coding. [Fig. 52] is a diagram showing an example of 3-2-6-4 data coding. [Fig. 53] is a diagram showing an example of 3-4-2-6 data coding. [Fig. 54] is a diagram showing an example of 3-2-4-6 data coding. [Fig. 55] is a diagram showing an example of 5-3-2-5 data coding. [Fig. 56] is a diagram showing an example of 3-5-2-5 data coding. [Fig. 57] is a diagram showing an example of 3-2-5-5 data coding. [Fig. 58] is a diagram showing an example of 2-3-5-5 data coding. [Fig. 59] is a diagram showing an example of 2-3-5-5 data encoding. [Fig. 60] is a diagram showing an example of 2-3-5-5 data encoding. [Fig. 61] is a diagram showing an example of 5-4-2-4 data encoding. [Fig. 62] is a diagram showing an example of 4-5-2-4 data encoding. [Fig. 63] is a diagram showing an example of 5-4-2-4 data coding. [Fig. 64] is a diagram showing an example of 2-4-5-4 data encoding. [Fig. 65] is a diagram showing an example of 2-4-5-4 data encoding. [Fig. 66] is a diagram showing an example of 2-5-4-4 data encoding. [Fig. 67] is a diagram showing an example of 2-5-4-4 data encoding. [Fig. 68] is a diagram showing an example of 2-5-4-4 data encoding. [Fig. 69] is a diagram showing an example of 1-5-4-5 data coding. [Fig. 70] is a diagram showing an example of 1-4-5-5 data coding. [Fig. 71] is a diagram showing an example of 1-5-5-4 data coding. [Fig. 72] is a diagram showing an example of 1-4-5-5 data coding. [Fig. 73] is a diagram showing an example of 1-5-5-4 data coding. [Fig. 74] is a diagram showing an example of 1-5-4-5 data coding. [Fig. 75] is a diagram showing an example of 1-5-5-4 data coding. [Fig. 76] is a diagram showing an example of 1-5-4-5 data coding. [Fig. 77] is a diagram showing an example of 1-4-5-5 data coding. [Fig. 78] is a diagram showing an example of 1-4-5-5 data coding. [Fig. 79] is a diagram showing an example of 1-4-5-5 data coding. [Fig. 80] is a diagram showing an example of 1-4-5-5 data coding. [Fig. 81] is a diagram showing an example of 3-5-4-3 data coding. [Fig. 82] is a diagram showing an example of 3-4-5-3 data coding. [Fig. 83] is a diagram showing an example of 3-5-3-4 data encoding. [Fig. 84] is a diagram showing an example of 3-4-3-5 data coding. [Fig. 85] is a diagram showing an example of 3-4-5-3 data encoding. [Fig. 86] is a diagram showing an example of 3-4-3-5 data coding. [Fig. 87] is a diagram showing an example of 3-3-5-4 data encoding. [Fig. 88] is a diagram showing an example of 3-3-5-4 data coding. [Fig. 89] is a diagram showing an example of 4-5-3-3 data coding. [Fig. 90] is a diagram showing an example of 3-5-4-3 data coding. [Fig. 91] is a diagram showing an example of 3-4-5-3 data coding. [Fig. 92] is a diagram showing an example of 3-3-4-5 data coding. [Fig. 93] is a diagram showing an example of 3-3-4-5 data coding. [Fig. 94] is a diagram showing an example of 3-3-4-5 data encoding. [Fig. 95] is a diagram showing an example of 3-4-5-3 data coding. [Fig. 96] is a diagram showing an example of 3-3-5-4 data encoding. [Fig. 97] is a diagram showing an example of 3-3-4-5 data coding. [Fig. 98] is a diagram showing an example of 4-3-4-4 data encoding. [Fig. 99] is a diagram showing an example of 3-4-4-4 data coding. [Fig. 100] is a diagram showing an example of 3-4-4-4 data coding. [Fig. 101] is a diagram showing an example of 4-3-4-4 data coding. [Fig. 102] is a diagram showing an example of 3-4-4-4 data coding. [Fig. 103] is a diagram showing an example of 3-4-4-4 data coding. [Fig. 104] is a diagram showing an example of 3-4-4-4 data encoding. [Fig. 105] is a diagram showing an example of 3-4-4-4 data coding. [Fig. 106] is a diagram showing an example of 4-4-3-4 data encoding. [Fig. 107] is a diagram showing an example of 4-4-3-4 data coding. [FIG. 108] is a flow chart showing the entire write procedure for one block in the third embodiment. [FIG. 109] is a flow chart showing the writing procedure in the 1st stage and the 2nd stage of the third embodiment. [ Fig. 110 ] is a diagram for explaining the amount of write buffer in programming in the third embodiment.

2:記憶體控制器 2: Memory controller

3:非揮發性記憶體 3: Non-volatile memory

4:主機處理器 4: Host Processor

5:NAND記憶體 5: NAND memory

6:RAM 6: RAM

7:ROM 7:ROM

8:處理器 8: Processor

9:主機介面 9: Host interface

10:ECC電路 10: ECC circuit

11:記憶體介面 11: Memory interface

12:內部匯流排 12:Internal busbar

Claims (16)

一種記憶體系統,係具備有非揮發性半導體記憶裝置和記憶體控制器, 該非揮發性半導體記憶裝置,係包含有: 第1~第n字串,係各別具備有複數之記憶體胞、和被與前述複數之記憶體胞作串聯連接之選擇電晶體,前述複數之記憶體胞,係被作串聯連接,並且各別藉由對於包含有將代表資料為被作刪除的刪除狀態之第1臨限值區域和電壓準位為較前述第1臨限值區域而更高的代表資料被作了寫入的寫入狀態之第2~第16臨限值之16個的臨限值區域而將第1~第4位元附加對應,而能夠記憶4位元之資料,在前述複數之記憶體胞中,係包含有第1~第3記憶體胞;和 位元線,係被與前述第1~第n字串作連接;和 第1~第n之選擇閘極線,係使第k之前述選擇閘極線被與第k之前述字串之前述選擇電晶體之閘極作連接;和 第1字元線,係被與前述第1~第n字串之前述第1記憶體胞之閘極作連接;和 第2字元線,係被與前述第1~第n字串之前述第2記憶體胞之閘極作連接;和 第3字元線,係被與前述第1~第n字串之前述第3記憶體胞之閘極作連接, 前述記憶體控制器,係構成為實行第1~第n寫入處理,並在前述第1~第n寫入處理之實行後,實行第(n+1)~第2n寫入處理,並在前述第(n+1)~第2n寫入處理之實行後,實行第(2n+1)~第3n寫入處理,並在前述第(2n+1)~第3n寫入處理之實行後,實行第(3n+1)~第4n寫入處理,並在前述第(3n+1)~第4n寫入處理之實行後,實行第(4n+1)~第5n寫入處理, 前述第(e+1)寫入處理,係在前述第e寫入處理之後被實行, 前述第(f+1)寫入處理,係在前述第f寫入處理之後被實行, 前述第(g+1)寫入處理,係在前述第g寫入處理之後被實行, 前述第(h+1)寫入處理,係在前述第h寫入處理之後被實行, 前述第(i+1)寫入處理,係在前述第i寫入處理之後被實行, 前述第k寫入處理,係包含有對於前述第k字串之前述第1記憶體胞寫入對應於前述第1、2、4位元之資料之處理, 前述第(n+k)寫入處理,係包含有對於前述第k字串之前述第2記憶體胞寫入對應於前述第1、2、4位元之資料之處理, 前述第(2n+k)寫入處理,係包含有對於前述第k字串之前述第1記憶體胞寫入對應於前述第3位元之資料之處理, 前述第(3n+k)寫入處理,係包含有對於前述第k字串之前述第3記憶體胞寫入對應於前述第1、2、4位元之資料之處理, 前述第(4n+k)寫入處理,係包含有對於前述第k字串之前述第2記憶體胞寫入對應於前述第3位元之資料之處理, 前述記憶體控制器,係以會使在前述記憶體胞中之臨限值區域會因應於前述第1位元、前述第2位元、前述第4位元之資料而成為代表資料為被作了刪除的刪除狀態之第17臨限值區域和電壓準位為較前述第17臨限值區域而更高並代表資料被作了寫入的寫入狀態之第18~第24臨限值區域之其中一者之臨限值區域的方式,來對於前述記憶體胞而實行對應於前述第1、2、4位元之資料之前述寫入, 前述記憶體控制器,係以會使在前述記憶體胞中之臨限值區域會因應於前述第3位元之資料而從前述第17~第24臨限值區域中之任一者之臨限值區域來成為前述第1~第16臨限值區域中之2個的臨限值區域內之任一者之臨限值區域的方式,來對於前述記憶體胞而實行對應於前述第3位元之資料之前述寫入, 其中,n係為2以上之整數,k係為1以上n以下之整數,e係為1以上(n-1)以下之整數,f係為(n+1)以上(2n-1)以下之整數,g係為(2n+1)以上(3n-1)以下之整數,h係為(3n+1)以上(4n-1)以下之整數,i係為(4n+1)以上(5n-1)以下之整數。 A memory system comprising a non-volatile semiconductor memory device and a memory controller, The non-volatile semiconductor memory device includes: The first to nth character strings respectively have a plurality of memory cells and selection transistors connected in series with the plurality of memory cells, the plurality of memory cells are connected in series, and Respectively by writing to the first threshold value area including the deletion state that will represent the data to be deleted and the voltage level is higher than the first threshold value area. The 16th threshold value area of the 2nd to the 16th threshold value of the entry state is added to correspond to the 1st to 4th bits, so that 4-bit data can be stored. In the aforementioned plural memory cells, it is Contains the first to third memory cells; and A bit line is connected with the aforementioned 1st to nth word strings; and The first to nth selection gate lines are such that the kth selection gate line is connected to the gate of the kth selection transistor of the kth word string; and The first word line is connected to the gate of the first memory cell of the first to nth word strings; and The second word line is connected to the gate electrode of the aforementioned second memory cell of the aforementioned 1st to nth word strings; and The 3rd word line is connected with the gate electrode of the aforementioned 3rd memory cell of the aforementioned 1st to nth word strings, The aforementioned memory controller is configured to execute the first to nth writing processes, and after the execution of the first to nth writing processes, to execute the (n+1)th to 2nth writing processes, and After execution of the aforementioned (n+1)th to 2nth write processing, execute the (2n+1)th to 3nth write processing, and after execution of the aforementioned (2n+1)th to 3nth write processing, Execute the (3n+1)th to 4nth write processing, and perform the (4n+1) to 5nth write processing after the execution of the aforementioned (3n+1) to 4nth write processing, The aforementioned (e+1)th writing process is performed after the aforementioned e-th writing process, The aforementioned (f+1)th writing process is performed after the aforementioned fth writing process, The aforementioned (g+1)th writing process is performed after the aforementioned gth writing process, The aforementioned (h+1)th writing process is performed after the aforementioned hth writing process, The aforementioned (i+1)th writing process is performed after the aforementioned i-th writing process, The aforementioned kth writing process includes the process of writing data corresponding to the aforementioned 1st, 2nd, and 4th bits to the aforementioned first memory cell of the aforementioned kth character string, The aforementioned (n+k) writing process includes the process of writing data corresponding to the aforementioned 1st, 2nd, and 4th bits to the aforementioned second memory cell of the aforementioned kth character string, The aforementioned (2n+k) writing process includes the process of writing data corresponding to the aforementioned 3rd bit to the aforementioned 1st memory cell of the aforementioned kth word string, The aforementioned (3n+k) writing process includes the process of writing the data corresponding to the aforementioned 1st, 2nd, and 4th bits to the aforementioned 3rd memory cell of the aforementioned kth character string, The aforementioned (4n+k) writing process includes the process of writing the data corresponding to the aforementioned 3rd bit to the aforementioned 2nd memory cell of the aforementioned kth character string, The aforementioned memory controller is to make the threshold value area in the aforementioned memory cell become representative data corresponding to the data of the aforementioned 1st bit, the aforementioned 2nd bit, and the aforementioned 4th bit. The 17th threshold value area and the voltage level of the erased state are higher than the aforementioned 17th threshold value area and represent the 18th to 24th threshold value areas of the writing state where data has been written. One of the threshold value areas is used to implement the aforementioned writing of the data corresponding to the aforementioned 1st, 2nd, and 4th bits for the aforementioned memory cell, The aforementioned memory controller is such that the threshold area in the aforementioned memory cell will be changed from any one of the aforementioned 17th to 24th threshold areas in response to the data of the aforementioned 3rd bit. The limit value area becomes the threshold value area of any one of the two threshold value areas in the aforementioned 1st to 16th threshold area areas, so that the aforementioned memory cells corresponding to the aforementioned 3rd The aforementioned writing of bit data, Among them, n is an integer not less than 2, k is an integer not less than 1 and not more than n, e is an integer not less than 1 (n-1), and f is an integer not less than (n+1) and not more than (2n-1). Integer, g is an integer from (2n+1) to (3n-1), h is an integer from (3n+1) to (4n-1), and i is an integer from (4n+1) to (5n- 1) The following integers. 如請求項1所記載之記憶體系統,其中,前述第k個的字串之第1記憶體胞與前述第k個的字串之第2記憶體胞,係被作串聯連接,前述第k個的字串之第2記憶體胞與前述第k個的字串之第3記憶體胞,係被作串聯連接。As the memory system described in claim 1, wherein, the first memory cell of the aforementioned k-th word string and the second memory cell of the aforementioned k-th word string are connected in series, and the aforementioned k-th word string is connected in series. The 2nd memory cell of the word string and the 3rd memory cell of the aforementioned k-th word string are connected in series. 如請求項1所記載之記憶體系統,其中,前述記憶體控制器,係構成為在對於前述記憶體胞而寫入對應於前述第3位元之資料的情況時,將對應於前述第2位元之資料與對應於前述第3位元之資料對於前述非揮發性記憶體作輸入。The memory system as described in claim 1, wherein the aforementioned memory controller is configured such that when the data corresponding to the aforementioned third bit is written to the aforementioned memory cell, it will correspond to the aforementioned second bit The bit data and the data corresponding to the aforementioned third bit are input to the aforementioned non-volatile memory. 如請求項1所記載之記憶體系統,其中,在存在於前述第1~第16臨限值區域中之相鄰接之臨限值區域間之15個的邊界中,被使用於前述第1位元之值之判定中的第1邊界之數量、被使用於前述第2位元之值之判定中的第2邊界之數量、被使用於前述第3位元之值之判定中的第3邊界之數量、以及被使用於前述第4位元之值之判定中的第4邊界之數量,此些之中之最大之值係為5,第2大之值係為4。The memory system as described in Claim 1, wherein, among the 15 borders between the adjacent threshold areas existing in the aforementioned 1st to 16th threshold areas, they are used in the aforementioned 1st The number of the first boundary used in the determination of the value of the bit, the number of the second boundary used in the determination of the value of the second bit, the number of the third used in the determination of the value of the third bit Among the number of borders and the number of fourth borders used in determining the value of the fourth bit, the largest value among them is 5, and the second largest value is 4. 如請求項1所記載之記憶體系統,其中,位置於前述2個的臨限值區域之中之電壓準位為最低之臨限值區域與電壓準位為最高之臨限值區域之間的臨限值區域之個數,係為2個以內。The memory system as described in Claim 1, wherein, the area between the threshold area with the lowest voltage level and the threshold area with the highest voltage level in the aforementioned two threshold areas The number of threshold value regions is within 2. 如請求項1所記載之記憶體系統,其中, 係以會使在存在於前述第1~第16臨限值區域中之相鄰接之臨限值區域間之15個的邊界中,前述第1位元之值為相異的前述邊界之數量、前述第2位元之值為相異的前述邊界之數量、前述第3位元之值為相異的前述邊界之數量、以及前述第4位元之值為相異的前述邊界之數量,依序成為(1、4、5、5)、(1、5、4、5)或者是(3、3、4、5)的方式,來實行對於第k個的字串之第1記憶體胞的對應於前述第1、2、4位元之資料之寫入和對於第k個的字串之第1記憶體胞的對應於前述第3位元之資料之寫入。 The memory system as described in Claim 1, wherein, It is the number of the aforementioned borders whose value of the first bit is different among the 15 borders between the adjacent threshold value areas existing in the aforementioned 1st to 16th threshold value areas , the number of the aforementioned borders whose values of the aforementioned second bit are different, the number of the aforementioned borders whose values of the aforementioned third bit are different, and the number of the aforementioned borders whose values of the aforementioned fourth bit are different, Become (1, 4, 5, 5), (1, 5, 4, 5) or (3, 3, 4, 5) in order to implement the first memory for the k-th word string The writing of the data corresponding to the aforementioned 1st, 2nd, and 4th bits of the cell and the writing of the data corresponding to the aforementioned 3rd bit of the first memory cell of the kth character string. 如請求項1所記載之記憶體系統,其中, 係以會使前述第17~第24臨限值區域中之具有前述第2位元之資料之相異之值之2個的臨限值區域之間之電壓準位之差成為較前述第17~第24臨限值區域中之具有前述第1位元之資料之值之相異之值之2個的臨限值區域之間之電壓準位之差而更小並且成為較前述第17~第24臨限值區域中之具有前述第4位元之資料之相異之值之2個的臨限值區域之間之電壓準位之差而更小的方式,來實行對於前述第k字串之第1記憶體胞的對應於前述第1、2、4位元之資料之寫入。 The memory system as described in Claim 1, wherein, In this way, the voltage level difference between the two threshold areas with different values of the aforementioned 2nd bit data in the aforementioned 17th to 24th threshold areas will be higher than that of the aforementioned 17th threshold area. In the 24th threshold area, the voltage level difference between the 2 threshold areas having different values of the data of the aforementioned first bit is smaller and becomes smaller than that of the aforementioned 17th to 1st threshold areas. In the 24th threshold value area, the voltage level difference between the two threshold value areas having different values of the data of the aforementioned 4th bit is smaller, so as to implement the aforementioned kth word Writing of data corresponding to the aforementioned 1st, 2nd, and 4th bits of the first memory cell of the string. 如請求項7所記載之記憶體系統,其中, 前述記憶體控制器,係以會相較於當實行對於前述第k字串之第1記憶體胞的對應於前述第1、2、4位元之資料之寫入時的前述第2位元之資料之值為相異的2個的臨限值區域之間之間隔,而使對於前述2個的臨限值區域而藉由前述第3位元之資料來進行第2程式化所得到的4個的臨限值區域中之相鄰接之臨限值區域之間隔變得更廣的方式,來實行前述第(2n+k)之寫入處理。 The memory system as described in Claim 7, wherein, The aforementioned memory controller is compared with the aforementioned 2nd bit when the data corresponding to the aforementioned 1st, 2nd, and 4th bits are written into the first memory cell of the aforementioned k-th word string The value of the data is the interval between two different threshold value areas, and the second programming is obtained by using the aforementioned third bit data for the aforementioned two threshold value areas. The aforementioned (2n+k)-th writing process is performed so that the intervals between adjacent threshold value regions among the four threshold value regions become wider. 如請求項1所記載之記憶體系統,其中, 前述第1位元,係身為最下位之Lower位元,前述第2位元,係身為第2小之Middle位元,前述第3位元,係身為第2大之Upper位元,前述第4位元,係身為最上位之Top位元。 The memory system as described in Claim 1, wherein, The aforementioned 1st bit is the lower bit, the aforementioned 2nd bit is the second smallest Middle bit, and the aforementioned 3rd bit is the second largest Upper bit. The aforementioned 4th bit is the top bit of the body. 如請求項1所記載之記憶體系統,其中,係更進而具備有: 揮發性之第1記憶部,係記憶前述第1~第4位元之資料, 被記憶在前述揮發性之第1記憶部中的前述第1~第4位元之中之於前述第k寫入處理與前述第(2n+k)寫入處理中而被重複作輸入的位元之資料,係在開始了前述第(2n+k)寫入處理之後而能夠廢棄或無效化,其以外之位元之資料,係在開始了前述第k寫入處理之後而能夠廢棄或無效化。 As the memory system recorded in claim 1, it further has: The volatile first memory unit is used to memorize the aforementioned first to fourth bits of data, Among the 1st to 4th bits stored in the volatile first memory unit, the bits that are repeatedly input in the k-th write process and the (2n+k)-th write process The data of the bit can be discarded or invalidated after starting the aforementioned (2n+k)th writing process, and the data of other bits can be discarded or invalidated after starting the aforementioned kth writing process change. 如請求項1所記載之記憶體系統,其中,係更進而具備有: 揮發性之第1記憶部,係記憶前述第1~第4位元之資料;和 揮發性之第2記憶部,係記憶前述第1~第4位元之資料之中之於前述第k寫入處理與前述第(2n+k)寫入處理中而被重複作輸入的位元之資料, 前述記憶體控制器,係將被記憶在前述揮發性之第1記憶部中的前述第1~第4位元之資料,在開始了前述第k寫入處理之後而設為能夠廢棄或無效化,並將被記憶在前述揮發性之第2記憶部中的前述第1~第4位元之中之於前述第k寫入處理與前述第(2n+k)寫入處理中而被重複作輸入的位元之資料,在開始前述第k寫入處理之前而作記憶,並在開始了前述第(2n+k)寫入處理之後而設為能夠廢棄或無效化。 As the memory system recorded in claim 1, it further has: The volatile first memory part is used to memorize the aforementioned 1st to 4th bit data; and The volatile second memory unit is used to memorize the bits repeatedly input in the kth writing process and the (2n+k) writing process among the aforementioned 1st to 4th bit data the information, The aforementioned memory controller sets the aforementioned 1st to 4th bit data stored in the aforementioned volatile first memory unit to be discardable or invalid after starting the aforementioned kth writing process , and will be memorized in the aforementioned 1st to 4th bits in the aforementioned volatile second memory unit in the aforementioned kth writing process and the aforementioned (2n+k)th writing process and be repeatedly performed The input bit data is memorized before the start of the k-th write process, and can be discarded or invalidated after the start of the (2n+k)-th write process. 如請求項11所記載之記憶體系統,其中, 前述揮發性之第2記憶部,係以字元線作為單位而被作設置。 The memory system as described in Claim 11, wherein, The aforementioned volatile second memory unit is set in units of word lines. 如請求項1所記載之記憶體系統,其中, 前述記憶體控制器,係對於前述非揮發性記憶體,而藉由連續之指令以及資料輸入,來下達將對應於前述第1、2、4位元之資料寫入至前述第k字串之前述第1記憶體胞中並將對應於前述第3位元之資料寫入至前述第k字串之前述第1記憶體胞中之指示。 The memory system as described in Claim 1, wherein, The above-mentioned memory controller is for the above-mentioned non-volatile memory, and through continuous instruction and data input, the data corresponding to the above-mentioned 1st, 2nd, and 4th bits are written into the above-mentioned k-th string. An instruction to write the data corresponding to the aforementioned 3rd bit into the aforementioned first memory cell of the kth word string in the aforementioned first memory cell. 如請求項1所記載之記憶體系統,其中, 前述非揮發性記憶體,係具備有: 控制部,係基於將藉由把對應於前述第1、2、4位元之資料寫入至前述第k字串之前述第1記憶體胞中一事所被作了寫入的資料作讀出所得到之資料、和在前述第k字串之前述第1記憶體胞之對應於前述第1、2、4位元之資料之寫入和前述第k字串之前述第1記憶體胞之對應於前述第3位元的資料之寫入中而被重複作輸入的對應於前述第2位元之資料、以及為了將對應於前述第k字串之前述第1記憶體胞之前述第3位元之資料作入的對應於前述第3位元之輸入資料,來決定在前述第k字串之前述第1記憶體胞處的對應於前述第3位元之資料之臨限值電壓。 The memory system as described in Claim 1, wherein, The aforementioned non-volatile memory has: The control section is based on the data written by writing the data corresponding to the aforementioned 1st, 2nd, and 4th bits into the aforementioned 1st memory cell of the aforementioned k-th word string. The data obtained, and the writing of the data corresponding to the aforementioned 1, 2, and 4 bits in the aforementioned first memory cell of the aforementioned k-th word string and the writing of the aforementioned first memory cell of the aforementioned k-th word string The data corresponding to the aforementioned 2nd bit that is repeatedly input during the writing of the data corresponding to the aforementioned 3rd bit, and the aforementioned 3rd bit corresponding to the aforementioned 1st memory cell corresponding to the aforementioned k-th word string The input data corresponding to the aforementioned 3rd bit of the data of the bit is entered to determine the threshold voltage corresponding to the aforementioned 3rd bit of data at the aforementioned 1st memory cell of the aforementioned k-th word string. 如請求項14所記載之記憶體系統,其中, 前述記憶體控制器,係將藉由把對應於前述第1、2、4位元之資料寫入至前述第k字串之前述第1記憶體胞中一事所被作了寫入的資料作讀出,並對於所讀出之前述資料實行錯誤訂正, 前述控制部,係基於被實行了前述錯誤訂正之前述讀出資料、和對應於前述第2位元之資料、以及對應於前述第3位元之資料,來決定與藉由對於前述第k字串之前述第1記憶體胞而將對應於前述第3位元之資料作寫入一事所被作寫入的位元相對應之資料之前述臨限值電壓。 The memory system as described in Claim 14, wherein, The aforementioned memory controller is to write the data corresponding to the aforementioned 1st, 2nd, and 4th bits into the aforementioned 1st memory cell of the aforementioned k-th word string as the written data. read out, and implement error correction for the aforementioned data read out, The above-mentioned control unit is based on the above-mentioned read data that has been subjected to the above-mentioned error correction, and the data corresponding to the above-mentioned 2nd bit, and the data corresponding to the aforementioned 3rd bit, to determine and pass the k-th word The above-mentioned threshold voltage of the data corresponding to the data corresponding to the written bit is written into the data corresponding to the above-mentioned third bit in the aforementioned first memory cell. 如請求項1所記載之記憶體系統,其中, 在存在於前述第1~第16臨限值區域中之相鄰接之臨限值區域間之15個的邊界中,為了決定前述第1位元之資料之值所被使用的第1邊界之數量、為了決定前述第2位元之資料之值所被使用的第2邊界之數量、為了決定前述第3位元之資料之值所被使用的第3邊界之數量、為了決定前述第4位元之資料之值所被使用的第4邊界之數量,係依序為(3、5、2、5), 在對應於前述第3位元之資料之寫入中,位置於前述2個的臨限值區域之中之具有最小電壓準位之臨限值區域與具有最大電壓準位之臨限值區域之間的臨限值區域之個數,係為2個以內。 The memory system as described in Claim 1, wherein, Among the 15 boundaries existing between the adjacent threshold value areas in the aforementioned 1st to 16th threshold value areas, the first boundary used to determine the value of the aforementioned 1st bit data Quantity, the number of the second boundary used to determine the value of the aforementioned second bit data, the number of the third boundary used to determine the value of the aforementioned third bit data, and the number of the aforementioned fourth bit The number of the fourth boundary used by the value of the element data is (3, 5, 2, 5), In the writing of the data corresponding to the aforementioned third bit, the difference between the threshold area with the minimum voltage level and the threshold area with the maximum voltage level among the aforementioned two threshold areas The number of threshold value regions between is within 2.
TW112113035A 2019-11-21 2020-07-29 memory system TW202331729A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2019210823 2019-11-21
JP2019-210823 2019-11-21
JP2020113206 2020-06-30
JP2020-113206 2020-06-30

Publications (1)

Publication Number Publication Date
TW202331729A true TW202331729A (en) 2023-08-01

Family

ID=75907742

Family Applications (3)

Application Number Title Priority Date Filing Date
TW109125506A TWI752569B (en) 2019-11-21 2020-07-29 memory system
TW112113035A TW202331729A (en) 2019-11-21 2020-07-29 memory system
TW110146228A TWI802140B (en) 2019-11-21 2020-07-29 memory system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW109125506A TWI752569B (en) 2019-11-21 2020-07-29 memory system

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW110146228A TWI802140B (en) 2019-11-21 2020-07-29 memory system

Country Status (3)

Country Link
JP (1) JP7414669B2 (en)
CN (2) CN116954520A (en)
TW (3) TWI752569B (en)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4090570B2 (en) * 1998-06-02 2008-05-28 株式会社ルネサステクノロジ Semiconductor device, data processing system, and nonvolatile memory cell threshold value changing method
JP2013089082A (en) * 2011-10-19 2013-05-13 Toshiba Corp Memory controller, semiconductor storage system and memory control method
US8913437B2 (en) * 2011-12-15 2014-12-16 Marvell World Trade Ltd. Inter-cell interference cancellation
JP6262063B2 (en) * 2014-03-18 2018-01-17 東芝メモリ株式会社 Nonvolatile memory and writing method
US9659636B2 (en) * 2014-07-22 2017-05-23 Peter Wung Lee NAND memory array with BL-hierarchical structure for concurrent all-BL, all-threshold-state program, and alternative-WL program, odd/even read and verify operations
KR102128406B1 (en) * 2014-09-26 2020-07-10 삼성전자주식회사 Storage device and operating emthod of storage device
JP6539608B2 (en) * 2016-03-15 2019-07-03 東芝メモリ株式会社 Semiconductor memory device
JP2018005959A (en) * 2016-06-30 2018-01-11 東芝メモリ株式会社 Memory system and writing method
JP2019057352A (en) * 2017-09-21 2019-04-11 東芝メモリ株式会社 Memory system
JP2019057350A (en) * 2017-09-21 2019-04-11 東芝メモリ株式会社 Semiconductor memory
US20190034105A1 (en) * 2017-12-28 2019-01-31 Intel Corporation Storage device having programmed cell storage density modes that are a function of storage device capacity utilization

Also Published As

Publication number Publication date
TWI802140B (en) 2023-05-11
CN112825026B (en) 2023-08-18
JP7414669B2 (en) 2024-01-16
CN116954520A (en) 2023-10-27
JP2022002160A (en) 2022-01-06
CN112825026A (en) 2021-05-21
TWI752569B (en) 2022-01-11
TW202121426A (en) 2021-06-01
TW202213363A (en) 2022-04-01

Similar Documents

Publication Publication Date Title
US10891188B2 (en) Memory devices having differently configured blocks of memory cells
TWI760795B (en) memory system
JP2020035504A (en) Memory system
US8773907B2 (en) Reading memory cell history during program operation for adaptive programming
JP2018005959A (en) Memory system and writing method
US8964467B1 (en) Systems and methods for partial page programming of multi level cells
US11322206B2 (en) Storage device and operating method thereof
US11967368B2 (en) Nonvolatile memory multilevel cell programming
JP2019164850A (en) Memory system
JP2020047330A (en) Semiconductor storage device
US20090313423A1 (en) Multi-bit flash memory device and method of analyzing flag cells of the same
TWI802140B (en) memory system
TWI777715B (en) semiconductor memory device
JP6759440B2 (en) Memory system
JP2021149990A (en) Memory system