WO2023024383A1 - 一种mlc芯片的错误率分析方法、系统及装置 - Google Patents

一种mlc芯片的错误率分析方法、系统及装置 Download PDF

Info

Publication number
WO2023024383A1
WO2023024383A1 PCT/CN2021/142855 CN2021142855W WO2023024383A1 WO 2023024383 A1 WO2023024383 A1 WO 2023024383A1 CN 2021142855 W CN2021142855 W CN 2021142855W WO 2023024383 A1 WO2023024383 A1 WO 2023024383A1
Authority
WO
WIPO (PCT)
Prior art keywords
page
data block
bit state
data
target
Prior art date
Application number
PCT/CN2021/142855
Other languages
English (en)
French (fr)
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 苏州浪潮智能科技有限公司
Priority to US18/267,438 priority Critical patent/US20240045749A1/en
Publication of WO2023024383A1 publication Critical patent/WO2023024383A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0653Monitoring storage devices or systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Definitions

  • the present application relates to the storage field, in particular to an error rate analysis method, system and device of an MLC chip.
  • NAND Flash non-volatile flash memory
  • SLC Single-Level Cell, single-layer storage unit, which refers to a storage unit that can Store 1 bit of data, there are two cases of 0 and 1
  • MLC Multi-Level Cell, double-layer storage unit, refers to a storage unit that can store 2 bits of data, there are (11, 10, 01 , 00) in four cases
  • TLC Triple-Level Cell, three-layer storage unit, which means that a storage unit can store 3 bits of data, there are (000, 001, 010, 011, 100, 101, 110 , 111) 8 kinds of situations) three kinds.
  • the MLC chip is the current mainstream memory chip, and the performance of the MLC chip mainly depends on the error rate of the data written in the MLC chip (it is understandable that the higher the error rate of the data written in the MLC chip, the lower the performance of the MLC chip is generally. ).
  • the single-bit global analysis method is usually used to calculate the error rate of data written in the MLC chip.
  • the single-bit global analysis method cannot analyze the error rate of specific data blocks (blocks) and pages (pages) of the MLC chip, which is not conducive to a comprehensive analysis of the performance of the MLC chip.
  • the application provides a method for analyzing the error rate of an MLC chip, including:
  • bit status includes a data write Correct first bit state and three second bit states indicating data writing errors
  • the target page is any first page or any second page; the target bit state is any second bit state;
  • the error rate analysis method of the MLC chip while counting the first total quantity of all dibits corresponding to the target page in the target bit state, the error rate analysis method of the MLC chip also includes:
  • the error rate analysis method of the MLC chip while counting the second total quantity of all dibits corresponding to the data block in the target bit state, the error rate analysis method of the MLC chip also includes:
  • the fourth total quantity of all the dibits corresponding to the data block in the first bit state and divide the fourth total quantity by the total number of dibits corresponding to the data block to obtain the fourth total quantity of the data block in the first bit state 2. Accuracy rate.
  • the process of selecting a preset number of data blocks from the MLC chip includes:
  • the process of performing a predetermined number of erasing and writing operations on the data block includes:
  • the process of counting the first total quantity of all dibits corresponding to the target page in the target bit state includes:
  • the bit state includes three second bit states L0, L1, L3 and four kinds of the first bit state L2;
  • the process of counting the second total quantity of all dibits corresponding to the data block in the target bit state includes:
  • the data written in the first page for storing the upper bit in the double bit is the same, and the data written in the second page for storing the lower bit in the double bit is the same ,include:
  • the data block contains 2*N pages, and the 2*N pages are divided into N pairs of pages, and each pair of pages includes the first page for storing the upper bits of the double bits and the second page for storing the lower bits of the double bits. page; the data written in all the first pages in the data block is the same, and the data written in all the second pages is the same; N is an integer greater than 1.
  • the application also provides an error rate analysis system for an MLC chip, including:
  • the erasing and writing module is used to select a preset number of data blocks from the MLC chip, and perform a preset number of erasing and writing operations on the data blocks; wherein, the data block is used to store the first page of the upper bit in the double bit The written data is the same, and the data written in the second page for storing the low bit in the double bit is the same;
  • the state determination module is used to read each group of dibits corresponding to each first page and second page of the data block after the erasing and writing operation is completed, and determine the bit status of each group of dibits; wherein, the bit status It includes a first bit state indicating that the data is written correctly and three second bit states indicating that the data is written incorrectly;
  • the page statistics module is used to count the first total quantity of all dibits corresponding to the target page in the target bit state, and divide the first total quantity by the total quantity of dibits corresponding to the target page to obtain the target page in the target bit state
  • the first error rate under state wherein, target page is any first page or any second page; Target bit state is any second bit state;
  • the data block statistics module is used to count the second total quantity of all dibits corresponding to the data block in the target bit state, and divide the second total quantity by the total quantity of dibits corresponding to the data block to obtain the data block in the target bit state.
  • the second error rate in the bit state is used to analyze the performance of the MLC chip based on the first error rate and the second error rate.
  • the page statistics module is also used for:
  • the third total quantity of all dibits corresponding to the target page in the first bit state is counted, and the third total quantity Divide by the total number of dibits corresponding to the target page to obtain the first accuracy rate of the target page in the first bit state;
  • the data block statistics module is also used to:
  • the fourth total quantity of all the dibits corresponding to the data block in the first bit state is counted, and the fourth total quantity Divide by the total number of dibits corresponding to the data block to obtain the second accuracy rate of the data block in the first bit state.
  • the present application also provides an error rate analysis device for an MLC chip, including a memory and one or more processors, where computer-readable instructions are stored in the memory, and the computer-readable instructions are executed by the one or more processors , causing the one or more processors to execute the steps of any one of the error rate analysis methods for the MLC chip described above.
  • the embodiment of the present application also provides one or more non-volatile computer-readable storage media storing computer-readable instructions.
  • the computer-readable instructions are executed by one or more processors, the one or more A plurality of processors execute the steps of any one of the above error rate analysis methods for MLC chips.
  • FIG. 1 is a flow chart of an error rate analysis method for an MLC chip provided by the present application according to one or more embodiments;
  • Fig. 2 is a schematic diagram of the voltage distribution of a double bit in different bit states provided by the present application according to one or more embodiments;
  • FIG. 3 is a schematic structural diagram of an error rate analysis system for an MLC chip provided by the present application according to one or more embodiments;
  • Fig. 4 is a schematic structural diagram of an error rate analysis device for an MLC chip according to one or more embodiments of the present application.
  • the core of this application is to provide an error rate analysis method, system and device for an MLC chip, which can analyze the error rate of specific data blocks and pages of the MLC chip, and can analyze the errors of specific data blocks and pages in different bit states
  • the rate is conducive to the comprehensive analysis of the performance of the MLC chip.
  • FIG. 1 is a flow chart of an error rate analysis method for an MLC chip provided in an embodiment of the present application.
  • the error rate analysis method of the MLC chip includes:
  • Step S1 Select a preset number of data blocks from the MLC chip, and perform a preset number of erasing and writing operations on the data blocks; wherein, the first page of the data block is used to store the upper bits of the double bits.
  • the data is the same, and the data written in the second page for storing the lower bit in the double bit is the same.
  • the MLC chip includes a plurality of data blocks (the smallest unit of an erase operation), and each data block includes a plurality of pages (the smallest unit of a write operation).
  • double bits two bits (bits) are used as a unit, called double bits, and double bits include MSB (Most Significant Bit, most significant bit) bits and LSB (Least Significant Bit, least significant bit) bits , if the originally written content is MN, then the MSB bit (ie high bit) is M, and the LSB bit (ie low bit) is N.
  • each data block contains two types of pages, called the first page (Upper page, last page) and the second page respectively.
  • Two pages lower page, lower page
  • the first page is used to store the high bit in the double bit
  • the second page is used to store the low bit in the double bit. That is to say, the first page and the second page are a pair of pages, and the high bit in the first page and the corresponding low bit in the second page can form a complete double bit.
  • the application first selects a preset number from the MLC chip (such as accounting for 20% of the total number of chip data blocks, generally all data blocks will not be selected, so the data will be somewhat huge, which is not convenient for error rate analysis) Data blocks, and then stress test these selected data blocks, that is, perform a preset number of erasing and writing operations on these selected data blocks, in order to prepare for the subsequent analysis of the specific data blocks and page error rates of the MLC chip. It should be noted that the data written in multiple first pages in the data block is the same, and the data written in multiple second pages in the data block is the same.
  • Step S2 After the erasing and writing operation is completed, read each group of dibits corresponding to each first page and second page of the data block, and determine the bit status of each group of dibits; wherein, the bit status includes a representation The first bit states that the data is written correctly and the three second bit states that indicate that the data is written incorrectly.
  • the application performs the following operations on any selected data block (taking the first data block as an example): read the first data block
  • Each group of dibits corresponding to each first page and second page read the high bit in a dibit from the first page of the first data block, read from the second page of the first data block
  • the low bits in the dibits can put the data into the buffer for subsequent analysis), and determine the bit status of each group of dibits (there are four situations of 11, 10, 01, and 00), thinking that Follow-up analysis of the specific data block and page error rate of the MLC chip.
  • bit state (called the first bit state) representing data writing is correct and three bit states representing data writing errors (called the second bit state).
  • Step S3 Count the first total quantity of all dibits corresponding to the target page in the target bit state, and divide the first total quantity by the total quantity of dibits corresponding to the target page to obtain the target page in the target bit state The first error rate; wherein, the target page is any first page or any second page; the target bit state is any second bit state.
  • the present application counts all the double bits corresponding to the target page in The first total quantity in the target bit state (referring to any second bit state), and then divide the first total quantity corresponding to the target page in the target bit state by the total quantity of dibits corresponding to the target page to get the target
  • the error rate of the page in the target bit state (referred to as the first error rate), so that the first error rates of the target page in the three second bit states respectively can be obtained.
  • Step S4 Count the second total quantity of all dibits corresponding to the data block in the target bit state, and divide the second total quantity by the total quantity of dibits corresponding to the data block to obtain the data block in the target bit state a second error rate to analyze the performance of the MLC chip based on the first error rate and the second error rate.
  • this application counts the second total of all dibits corresponding to the first data block in the target bit state (referring to any second bit state). Quantity, then divide the second total quantity corresponding to the first data block under the target bit state by the total quantity of double bits corresponding to the first data block, the error rate of the first data block under the target bit state can be obtained (called is the second error rate), so that the second error rate of the first data block in the three second bit states can be obtained, so as to realize the first error rate corresponding to each page of the data block and the second error rate corresponding to the data block
  • the performance of the MLC chip can be comprehensively analyzed.
  • the application provides an error rate analysis method of an MLC chip, which selects a preset number of data blocks from the MLC chip, and performs a preset number of erasing operations on the data blocks; after the erasing operation is completed, read the data blocks Each group of dibits corresponding to each of the first page and the second page, and determine the bit status of each group of dibits; count all the dibits corresponding to the target page under the target bit status indicating data write error The first total number, and divide the first total number by the total number of dibits corresponding to the target page to obtain the first error rate of the target page in the target bit state; all the dibits corresponding to the statistical data block are in the target bit state and divide the second total number by the total number of double bits corresponding to the data block to obtain the second error rate of the data block in the target bit state, based on the first error rate and the second error rate Analyze the performance of the MLC chip. It can be seen that the present application can analyze the error rate of the specific data block and
  • the error rate analysis method of the MLC chip while counting the first total quantity of all dibits corresponding to the target page in the target bit state, the error rate analysis method of the MLC chip also includes:
  • the present application counts the first total quantity of all dibits corresponding to the target page in the target bit state, it also counts the third total quantity of all dibits corresponding to the target page in the first bit state, And divide the third total number corresponding to the target page in the first bit state by the total number of dibits corresponding to the target page to obtain the accuracy rate (called the first accuracy rate) of the target page in the first bit state.
  • the error rate analysis method of the MLC chip while counting the second total quantity of all dibits corresponding to the data block in the target bit state, the error rate analysis method of the MLC chip also includes:
  • the fourth total quantity of all the dibits corresponding to the data block in the first bit state and divide the fourth total quantity by the total number of dibits corresponding to the data block to obtain the fourth total quantity of the data block in the first bit state 2. Accuracy rate.
  • the present application while the present application counts the second total quantity of all dibits corresponding to the first data block in the target bit state, it also counts the first The fourth total quantity of all dibits corresponding to the data block in the first bit state, and divide the fourth total quantity corresponding to the first data block in the first bit state by the total number of dibits corresponding to the first data block Quantity, to obtain the accuracy rate of the first data block in the first bit state (referred to as the second accuracy rate).
  • the process of selecting a preset number of data blocks from the MLC chip includes:
  • the process of performing a predetermined number of erasing and writing operations on the data block includes:
  • the stress test process for the first data block in this application is (refer to Table 1 below): 1) Perform data erasure operation on the first data block ; Wherein, the state of all pages in the first data block after erasing is 11; 2) carry out the data writing operation with the first data block; Wherein, the bit data written in the first page in the first data block are all 1, the bit data written in the second page is 0, that is, the data written in all double bits corresponding to the first data block is 10; 3) repeat the data erasing operation of step 1) and step 2) and data writing operations until the total number of erasing and writing operations of the first data block reaches a preset number of times.
  • MSB&LSB state 11 erased state 10 LSB is written 00 Both LSB and MSB are written 01 MSB is written
  • bit state 11 corresponds to ⁇ voltage corresponding to bit state 01 ⁇ voltage corresponding to bit state 00 ⁇ voltage corresponding to bit state 10.
  • the process of counting the first total quantity of all dibits corresponding to the target page in the target bit state includes:
  • the bit state includes three second bit states L0, L1, L3 and four kinds of the first bit state L2;
  • the bit state of the double bit has four situations: a first bit state (represented by L2) indicating that the data is written correctly and three second bit states (represented by L0, L1, L3) indicating that the data is written incorrectly express). That is, the bit state of the double bit originally written to the data block is L2, and if the bit state of the double bit read from the data block is L2, it means that the data has no error, and there is a situation that the data has no error: The bit state of the double bit is always L2 (in this case, it is represented as L 22 ); if the bit state of the double bit read from the data block is L0, L1, L3, it means that there is an error in the data, and there are three errors in the data.
  • the process of counting the second total quantity of all dibits corresponding to the data block in the target bit state includes:
  • the relational expression of the second total quantity of all dibits corresponding to the statistical data block in the target bit state (referring to any second bit state) in the present application is: in, Indicates the first total number corresponding to the t2th first or second page of the data block, and the maximum value of t2 is the total number of the first page or the second page of the data block (total number of the first or second page) ; blockL 2j is the second total number of all dibits corresponding to the data block in the bit state L j .
  • the present application can draw a table based on the total number of all double bits corresponding to each data block of the MLC chip in each bit state, and based on the total number of all double bits corresponding to each page in the data block in each bit state Quantity draws another table, the purpose is to be able to clearly count the transition rules of the bit state.
  • L06B NAND a non-volatile flash memory chip
  • the chip has 512 blocks, and a single block has 256 pages.
  • Select 40 blocks for testing including 20 odd-numbered blocks and 20 even-numbered blocks, and ensure that the selected blocks are good blocks.
  • Perform a stress test of 1000 times of erasing and writing. The content is L2 10 (write 0 on the second page, write 0 on the second page, Write on one page 1).
  • FIG. 3 is a schematic structural diagram of an error rate analysis system for an MLC chip provided in an embodiment of the present application.
  • the error rate analysis system of the MLC chip includes:
  • the erasing module 1 is used to select a preset number of data blocks from the MLC chip, and perform a preset number of erasing operations on the data blocks; wherein, the data block is used to store the first page of the upper bit in the double bit The written data is the same, and the data written in the second page used to store the lower bit in the double bit is the same;
  • the state determination module 2 is used to read each group of dibits corresponding to each first page and second page of the data block after the erasing and writing operation is completed, and determine the bit state of each group of dibits; wherein, the bit The state includes a first bit state indicating that the data is written correctly and three second bit states indicating that the data is written incorrectly;
  • Page statistics module 3 is used to count the first total quantity of all dibits corresponding to the target page in the target bit state, and divide the first total quantity by the total quantity of dibits corresponding to the target page to obtain the target page in the target The first error rate under the bit state;
  • the target page is any first page or any second page;
  • the target bit state is any second bit state;
  • the data block statistics module 4 is used to count the second total quantity of all dibits corresponding to the data block in the target bit state, and divide the second total quantity by the total quantity of dibits corresponding to the data block to obtain the data block in A second error rate in the target bit state to analyze the performance of the MLC chip based on the first error rate and the second error rate.
  • the page statistics module 3 is also used for:
  • the third total quantity of all dibits corresponding to the target page in the first bit state is counted, and the third total quantity Divide by the total number of dibits corresponding to the target page to obtain the first accuracy rate of the target page in the first bit state;
  • Data block statistics module 4 is also used to:
  • the fourth total quantity of all the dibits corresponding to the data block in the first bit state is counted, and the fourth total quantity Divide by the total number of dibits corresponding to the data block to obtain the second accuracy rate of the data block in the first bit state.
  • a kind of error rate analyzing device of MLC chip is provided, and the error rate analyzing device of this MLC chip can comprise computer equipment, and this computer equipment can be terminal or server, and the inside of the error rate analyzing device of this MLC chip
  • the structure diagram can be shown in FIG. 4 .
  • the error rate analysis device of the MLC chip includes a processor, a memory, a network interface and an input device connected through a system bus. Among them, the processor is used to provide calculation and control capabilities.
  • the memory includes a non-volatile storage medium and an internal memory.
  • the non-volatile storage medium stores an operating system and computer readable instructions.
  • the internal memory provides an environment for the execution of the operating system and computer readable instructions in the non-volatile storage medium.
  • the network interface of the computer device is used to communicate with an external terminal or server through a network connection.
  • the input device may be a touch layer covered on the display screen, or a button, a trackball or a touch pad provided on the casing of the computer equipment, or an external keyboard, touch pad or mouse.
  • FIG. 4 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the equipment to which the solution of the application is applied.
  • the specific equipment may include More or fewer components are shown in the figures, or certain components are combined, or have different component arrangements.
  • the application also provides an error rate analysis device of an MLC chip
  • the error rate analysis device of the MLC chip can be a computer device, and the computer device can be a terminal or a server, and the error rate analysis device of the MLC chip includes:
  • One or more processors configured to execute the computer-readable instructions stored in the memory, and when the computer-readable instructions are executed by the processor, the steps of any one of the error rate analysis methods for the MLC chip described above can be realized.
  • the embodiment of the present application also provides a non-volatile readable storage medium, the non-volatile readable storage medium stores computer-readable instructions, and the computer-readable instruction computer program is executed by one or more processors can realize the steps of the error rate analysis method of any one of the above MLC chips.
  • Nonvolatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
  • Volatile memory can include random access memory (RAM) or external cache memory.
  • RAM random access memory
  • RAM is available in many forms such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced SDRAM (ESDRAM), Synchronous Chain Synchlink DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

Abstract

一种MLC芯片的错误率分析方法、系统及装置,从MLC芯片中选取数据块,并将数据块进行擦写操作;待擦写操作完成后,读取数据块的每个第一页和第二页对应的每组双比特位,并确定每组双比特位的比特状态;统计目标页对应的所有双比特位在表示数据写入错误的目标比特状态下的第一总数量,以此得到目标页在目标比特状态下的第一错误率;统计数据块对应的所有双比特位在目标比特状态下的第二总数量,以此得到数据块在目标比特状态下的第二错误率,基于第一错误率和第二错误率分析芯片性能。

Description

一种MLC芯片的错误率分析方法、系统及装置
相关申请的交叉引用
本申请要求于2021年08月24日提交中国专利局,申请号为202110971258.6,申请名称为“一种MLC芯片的错误率分析方法、系统及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及存储领域,特别是涉及一种MLC芯片的错误率分析方法、系统及装置。
背景技术
目前,NAND Flash(非易失闪存)的使用非常广泛,适用于各种存储场合,就其架构来说,分为SLC(Single-Level Cell,单层存储单元,指的是1个储存单元可存放1个比特的数据,有0和1两种情况)、MLC(Multi-Level Cell,双层存储单元,指的是1个储存单元可存放2个比特的数据,有(11,10,01,00)四种情况)及TLC(Triple-Level Cell,三层存储单元,指的是1个储存单元可存放3个比特的数据,有(000,001,010,011,100,101,110,111)8种情况)三种。其中,MLC芯片是当下主流的存储芯片,MLC芯片的性能主要取决于MLC芯片写入数据的错误率(可以理解的是,MLC芯片写入数据的错误率越高,MLC芯片的性能一般越低)。
发明人意识到,现有技术中,通常采用单比特全局分析法计算MLC芯片写入数据的错误率。具体地,单比特全局分析法的原理为:如果MLC芯片在写入数据时,写入的比特数据发生0到1或者1到0的变化,则认为此比特数据发生错误,总的错误比特数会累计一次,则设定总的错误比特数为M,所有参与比特数据错误分析的总比特数为N,那么对于整个MLC芯片来说,芯片写入数据的BER(Bit Error Ratio,比特出错概率)=M/N。但是,单比特全局分析法无法对MLC芯片的具体数据块(block)和页(page)进行错误率分析,不利于MLC芯片的性能全面分析。
因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。
发明内容
本申请提供了一种MLC芯片的错误率分析方法,包括:
从MLC芯片中选取预设数量的数据块,并将数据块进行预设次数的擦写操作;其中,数据块中用于存储双比特位中高比特位的第一页所写入的数据相同、用于存储双比特位中低比特位的第二页所写入的数据相同;
待擦写操作完成后,读取数据块的每个第一页和第二页对应的每组双比特位,并确定每组双比特位的比特状态;其中,比特状态包括一个表示数据写入正确的第一比特状态及三个表示数据写入错误的第二比特状态;
统计目标页对应的所有双比特位在目标比特状态下的第一总数量,并将第一总数量除以目标页对应的双比特位总数量,得到目标页在目标比特状态下的第一错误率;其中,目标页为任一第一页或任一第二页;目标比特状态为任一第二比特状态;和
统计数据块对应的所有双比特位在目标比特状态下的第二总数量,并将第二总数量除以数据块对应的双比特位总数量,得到数据块在目标比特状态下的第二错误率,以基于第一错误率和第二错误率分析MLC芯片的性能。
在其中一个实施例中,在统计目标页对应的所有双比特位在目标比特状态下的第一总数量的同时,MLC芯片的错误率分析方法还包括:
统计目标页对应的所有双比特位在第一比特状态下的第三总数量,并将第三总数量除以目标页对应的双比特位总数量,得到目标页在第一比特状态下的第一正确率。
在其中一个实施例中,在统计数据块对应的所有双比特位在目标比特状态下的第二总数量的同时,MLC芯片的错误率分析方法还包括:
统计数据块对应的所有双比特位在第一比特状态下的第四总数量,并将第四总数量除以数据块对应的双比特位总数量,得到数据块在第一比特状态下的第二正确率。
在其中一个实施例中,从MLC芯片中选取预设数量的数据块的过程,包括:
将MLC芯片的各数据块按照存储顺序依次进行编号;和
从各数据块中选取无故障的数据块,并从无故障的数据块中选取同等数量的奇数编号的数据块和偶数编号的数据块作为分析错误率的数据块使用。
在其中一个实施例中,将数据块进行预设次数的擦写操作的过程,包括:
将数据块进行数据擦除操作;其中,数据块内所有页在擦除后的状态均为11;
将数据块进行数据写入操作;其中,数据块中第一页所写入的比特数据均为1、第二页所写入的比特数据均为0;和
待数据写入操作完成后,返回执行将数据块进行数据擦除操作的步骤,直至数据块的擦写操作总次数达到预设次数。
在其中一个实施例中,统计目标页对应的所有双比特位在目标比特状态下的第一总数量的过程,包括:
根据
Figure PCTCN2021142855-appb-000001
统计目标页对应的所有双比特位在目标比特状态下的第一总数量;
其中,比特状态包括三个第二比特状态L0、L1、L3和第一比特状态L2四种;L 2j=1表示比特状态由L2变为L j,L 2j=0表示比特状态未由L2变为L j,j=0、1、3;
Figure PCTCN2021142855-appb-000002
表示目标页对应的第t1个双比特位所对应的L 2j数值,t1的最大值为目标页对应的双比特位总数量;pageL 2j为目标页对应的所有双比特位在比特状态L j下的第一总数量。
在其中一个实施例中,统计数据块对应的所有双比特位在目标比特状态下的第二总数量的过程,包括:
根据
Figure PCTCN2021142855-appb-000003
统计数据块对应的所有双比特位在目标比特状态下的第二总数量;
其中,
Figure PCTCN2021142855-appb-000004
表示数据块的第t2个第一页或第二页所对应的第一总数量,t2的最大值为数据块的第一页总数量或第二页总数量;blockL 2j为数据块对应的所有双比特位在比特状态L j下的第二总数量。
在其中一个实施例中,数据块中用于存储双比特位中高比特位的第一页所写入的数据相同、用于存储双比特位中低比特位的第二页所写入的数据相同,包括:
数据块包含2*N页,2*N页分为N对页,每对页均包含用于存储双比特位中高比特位的第一页和用于存储双比特位中低比特位的第二页;数据块中所有第一页所写入的数据相同、所有第二页所写入的数据相同;N为大于1的整数。
本申请还提供了一种MLC芯片的错误率分析系统,包括:
擦写模块,用于从MLC芯片中选取预设数量的数据块,并将数据块进行预设次数的擦写操作;其中,数据块中用于存储双比特位中高比特位的第一页所写入的数据相同、用于存储双比特位中低比特位的第二页所写入的数据相同;
状态确定模块,用于待擦写操作完成后,读取数据块的每个第一页和第二页对应的每组双比特位,并确定每组双比特位的比特状态;其中,比特状态包括一个表示数据写入正确的第一比特状态及三个表示数据写入错误的第二比特状态;
页统计模块,用于统计目标页对应的所有双比特位在目标比特状态下的第一总数量,并将第一总数量除以目标页对应的双比特位总数量,得到目标页在目标比特状态下的第 一错误率;其中,目标页为任一第一页或任一第二页;目标比特状态为任一第二比特状态;
数据块统计模块,用于统计数据块对应的所有双比特位在目标比特状态下的第二总数量,并将第二总数量除以数据块对应的双比特位总数量,得到数据块在目标比特状态下的第二错误率,以基于第一错误率和第二错误率分析MLC芯片的性能。
在其中一个实施例中,页统计模块还用于:
在统计目标页对应的所有双比特位在目标比特状态下的第一总数量的同时,统计目标页对应的所有双比特位在第一比特状态下的第三总数量,并将第三总数量除以目标页对应的双比特位总数量,得到目标页在第一比特状态下的第一正确率;
数据块统计模块还用于:
在统计数据块对应的所有双比特位在目标比特状态下的第二总数量的同时,统计数据块对应的所有双比特位在第一比特状态下的第四总数量,并将第四总数量除以数据块对应的双比特位总数量,得到数据块在第一比特状态下的第二正确率。
本申请还提供了一种MLC芯片的错误率分析装置,包括存储器及一个或多个处理器,存储器中储存有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行上述任一项MLC芯片的错误率分析方法的步骤。
本申请实施例最后还提供了一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行上述任一项MLC芯片的错误率分析方法的步骤。
本申请的一个或多个实施例的细节在下面的附图和描述中提出。本申请的其它特征和优点将从说明书、附图以及权利要求书变得明显。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请根据一个或多个实施例提供的一种MLC芯片的错误率分析方法的流程图;
图2为本申请根据一个或多个实施例提供的一种双比特位在不同比特状态下的电压 分布情况示意图;
图3为本申请根据一个或多个实施例提供的一种MLC芯片的错误率分析系统的结构示意图;
图4为本申请根据一个或多个实施例提供的一种MLC芯片的错误率分析装置的结构示意图。
具体实施方式
本申请的核心是提供一种MLC芯片的错误率分析方法、系统及装置,可对MLC芯片的具体数据块和页进行错误率分析,且可在不同比特状态下分析具体数据块和页的错误率,有利于MLC芯片的性能全面分析。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参照图1,图1为本申请实施例提供的一种MLC芯片的错误率分析方法的流程图。
该MLC芯片的错误率分析方法包括:
步骤S1:从MLC芯片中选取预设数量的数据块,并将数据块进行预设次数的擦写操作;其中,数据块中用于存储双比特位中高比特位的第一页所写入的数据相同、用于存储双比特位中低比特位的第二页所写入的数据相同。
具体地,MLC芯片中包含多个数据块(擦除操作的最小单位),每个数据块内包含多个页(写入操作的最小单位)。对于MLC芯片,两个比特位(bit)作为一个单位,称为双比特位,双比特位包括MSB(Most Significant Bit,最高有效位)比特位和LSB(Least Significant Bit,最低有效位)比特位,若原本写入的内容为MN,则MSB比特位(即高比特位)为M、LSB比特位(即低比特位)为N。需要说明的是,双比特位的高比特位和低比特位会映射到不同的页,即每个数据块内包含两大类页,分别称为第一页(Upper page,上页)和第二页(lower page,下页),第一页用于存储双比特位中的高比特位,第二页用于存储双比特位中的低比特位。也就是说,第一页和第二页为一对页,第一页中的高比特位和第二页中与之对应的低比特位才能组成完整的双比特位。
基于此,本申请首先从MLC芯片中选取预设数量(如占芯片数据块总数的20%,一般不会将所有的数据块都选择在内,那样数据会有些庞大,不便于错误率分析)的数据块,然后对这些选取的数据块进行压力测试,即将这些选取的数据块进行预设次数的擦写操作,以为后续分析MLC芯片的具体数据块和页的错误率做好准备。需要说明的是,数据块中多个第一页所写入的数据相同,且数据块中多个第二页所写入的数据相同。
步骤S2:待擦写操作完成后,读取数据块的每个第一页和第二页对应的每组双比特位,并确定每组双比特位的比特状态;其中,比特状态包括一个表示数据写入正确的第一比特状态及三个表示数据写入错误的第二比特状态。
具体地,本申请在选取的数据块进行预设次数的擦写操作完成后,对选取的任一数据块均进行如下操作(以第一数据块为例说明):读取第一数据块的每个第一页和第二页对应的每组双比特位(从第一数据块的第一页中读取一双比特位中的高比特位,从第一数据块的第二页中读取此双比特位中的低比特位,可将数据放入缓存器中,供后续分析使用),并确定每组双比特位的比特状态(有11、10、01、00四种情况),以为后续分析MLC芯片的具体数据块和页的错误率。
比如,可以理解的是,如果原本向第一数据块的第一页和第二页中写入一组双比特位10,则从第一数据块的第一页和第二页中读取此组双比特位的比特状态应为10,若从第一数据块的第一页和第二页中读取此组双比特位的比特状态为11或01或00,说明此组双比特位出现写入错误。也就是说,第一数据块的所有双比特位的比特状态有四种情况:一个表示数据写入正确的比特状态(称为第一比特状态)及三个表示数据写入错误的比特状态(称为第二比特状态)。
步骤S3:统计目标页对应的所有双比特位在目标比特状态下的第一总数量,并将第一总数量除以目标页对应的双比特位总数量,得到目标页在目标比特状态下的第一错误率;其中,目标页为任一第一页或任一第二页;目标比特状态为任一第二比特状态。
具体地,以目标页(指任一第一页或任一第二页,同一数据块中第一页和第二页的数量相同)为例,本申请统计目标页对应的所有双比特位在目标比特状态(指任一第二比特状态)下的第一总数量,然后将目标页在目标比特状态下对应的第一总数量除以目标页对应的双比特位总数量,便可得到目标页在目标比特状态下的错误率(称为第一错误率),从而可得到目标页分别在三个第二比特状态下的第一错误率。
步骤S4:统计数据块对应的所有双比特位在目标比特状态下的第二总数量,并将第二总数量除以数据块对应的双比特位总数量,得到数据块在目标比特状态下的第二错误率,以基于第一错误率和第二错误率分析MLC芯片的性能。
具体地,以第一数据块为例说明(其余数据块同理),本申请统计第一数据块对应的所有双比特位在目标比特状态(指任一第二比特状态)下的第二总数量,然后将第一数据块在目标比特状态下对应的第二总数量除以第一数据块对应的双比特位总数量,便可得到第一数据块在目标比特状态下的错误率(称为第二错误率),从而可得到第一数据块分别在三个第二比特状态下的第二错误率,以实现基于数据块各页对应的第一错误率和数据块对应的第二错误率全面分析MLC芯片的性能。
本申请提供了一种MLC芯片的错误率分析方法,从MLC芯片中选取预设数量的数据块,并将数据块进行预设次数的擦写操作;待擦写操作完成后,读取数据块的每个第一页和第二页对应的每组双比特位,并确定每组双比特位的比特状态;统计目标页对应的所有双比特位在表示数据写入错误的目标比特状态下的第一总数量,并将第一总数量除以目标页对应的双比特位总数量,得到目标页在目标比特状态下的第一错误率;统计数据块对应的所有双比特位在目标比特状态下的第二总数量,并将第二总数量除以数据块对应的双比特位总数量,得到数据块在目标比特状态下的第二错误率,以基于第一错误率和第二错误率分析MLC芯片的性能。可见,本申请可对MLC芯片的具体数据块和页进行错误率分析,且可在不同比特状态下分析具体数据块和页的错误率,有利于MLC芯片的性能全面分析。
在上述实施例的基础上:
作为一种可选的实施例,在统计目标页对应的所有双比特位在目标比特状态下的第一总数量的同时,MLC芯片的错误率分析方法还包括:
统计目标页对应的所有双比特位在第一比特状态下的第三总数量,并将第三总数量除以目标页对应的双比特位总数量,得到目标页在第一比特状态下的第一正确率。
进一步地,本申请在统计目标页对应的所有双比特位在目标比特状态下的第一总数量的同时,还统计目标页对应的所有双比特位在第一比特状态下的第三总数量,并将目标页在第一比特状态下对应的第三总数量除以目标页对应的双比特位总数量,得到目标页在第一比特状态下的正确率(称为第一正确率)。
作为一种可选的实施例,在统计数据块对应的所有双比特位在目标比特状态下的第二总数量的同时,MLC芯片的错误率分析方法还包括:
统计数据块对应的所有双比特位在第一比特状态下的第四总数量,并将第四总数量除以数据块对应的双比特位总数量,得到数据块在第一比特状态下的第二正确率。
进一步地,以第一数据块为例说明(其余数据块同理),本申请在统计第一数据块对应的所有双比特位在目标比特状态下的第二总数量的同时,还统计第一数据块对应的所有双比特位在第一比特状态下的第四总数量,并将第一数据块在第一比特状态下对应的第四总数量除以第一数据块对应的双比特位总数量,得到第一数据块在第一比特状态下的正确率(称为第二正确率)。
可以理解的是,MLC芯片的各数据块在第一比特状态下的正确率越高、数据块的各页在第一比特状态下的正确率越高,MLC芯片的性能越好。
作为一种可选的实施例,从MLC芯片中选取预设数量的数据块的过程,包括:
将MLC芯片的各数据块按照存储顺序依次进行编号;
从各数据块中选取无故障的数据块,并从无故障的数据块中选取同等数量的奇数编号的数据块和偶数编号的数据块作为分析错误率的数据块使用。
具体地,本申请在从MLC芯片中选取预设数量的数据块时,可先将MLC芯片的各数据块按照存储顺序依次进行编号(1、2、3、4……),然后遵从三个条件进行数据块选择:1)选取的数据块总数量=预设数量;2)选取的数据块为好块(即无故障的数据块),这是因为坏块本身错误率较高,会误判;3)选取的奇数编号的数据块和偶数编号的数据块数量相等,这是因为奇数编号的数据块和偶数编号的数据块在错误分布上有所区别,因此应保证数据块奇数偶数编号均匀分布。则本申请从MLC芯片的各数据块中选取无故障的数据块,并从无故障的数据块中选取同等数量的奇数编号的数据块和偶数编号的数据块作为分析错误率的数据块使用。
作为一种可选的实施例,将数据块进行预设次数的擦写操作的过程,包括:
将数据块进行数据擦除操作;其中,数据块内所有页在擦除后的状态均为11;
将数据块进行数据写入操作;其中,数据块中第一页所写入的比特数据均为1、第二页所写入的比特数据均为0;
待数据写入操作完成后,返回执行将数据块进行数据擦除操作的步骤,直至数据块的擦写操作总次数达到预设次数。
具体地,以第一数据块为例说明(其余数据块同理),本申请对第一数据块的压力测试过程为(参照下表1):1)将第一数据块进行数据擦除操作;其中,第一数据块内所有页在擦除后的状态均为11;2)将第一数据块进行数据写入操作;其中,第一数据块中第一页所写入的比特数据均为1、第二页所写入的比特数据均为0,即第一数据块对应的所有双比特位所写入的数据为10;3)重复步骤1)和步骤2)的数据擦除操作和数据写入操作,直至第一数据块的擦写操作总次数达到预设次数。
表1
MSB&LSB 状态
11 擦除状态
10 LSB被写入
00 LSB和MSB都被写入
01 MSB被写入
需要说明的是,在数据块的页写入数据时,其对应的存储电路的电压有所变化,如图2所示,双比特位在不同比特状态下的电压分布情况为:比特状态11对应的电压<比特状态01对应的电压<比特状态00对应的电压<比特状态10对应的电压。之所以在压力测试时选择11到10的变化,是保证电压有最大的跳变,此时压力最大,损耗最大,从而压力测试更为有效。
作为一种可选的实施例,统计目标页对应的所有双比特位在目标比特状态下的第一总数量的过程,包括:
根据
Figure PCTCN2021142855-appb-000005
统计目标页对应的所有双比特位在目标比特状态下的第一总数量;
其中,比特状态包括三个第二比特状态L0、L1、L3和第一比特状态L2四种;L 2j=1表示比特状态由L2变为L j,L 2j=0表示比特状态未由L2变为L j,j=0、1、3;
Figure PCTCN2021142855-appb-000006
表示目标页对应的第t1个双比特位所对应的L 2j数值,t1的最大值为目标页对应的双比特位总数量;pageL 2j为目标页对应的所有双比特位在比特状态L j下的第一总数量。
具体地,双比特位的比特状态有四种情况:一个表示数据写入正确的第一比特状态(用L2表示)及三个表示数据写入错误的第二比特状态(用L0、L1、L3表示)。即原本向数据块写入的双比特位的比特状态为L2,若从数据块中读取的双比特位的比特状态为L2,说明数据未出现错误,则数据未出现错误存在一种情况:双比特位的比特状态一直是L2(此情况表示为L 22);若从数据块中读取的双比特位的比特状态为L0、L1、L3,说明数据出现错误,则数据出现错误存在三种情况:1)双比特位的比特状态由L2变为L0(此情况表示为L 20);2)双比特位的比特状态由L2变为L1(此情况表示为L 21);3)双比特位的比特状态由L2变为L3(此情况表示为L 23)。
基于此,本申请统计目标页对应的所有双比特位在目标比特状态(指任一第二比特状态)下的第一总数量的关系式为:
Figure PCTCN2021142855-appb-000007
其中,L 2j=1表示比特状态由L2变为L j,L 2j=0表示比特状态未由L2变为L j,j=0、1、3;
Figure PCTCN2021142855-appb-000008
表示目标 页对应的第t1个双比特位所对应的L 2j数值,t1的最大值为目标页对应的双比特位总数量(page比特总数);pageL 2j为目标页对应的所有双比特位在比特状态L j下的第一总数量。
作为一种可选的实施例,统计数据块对应的所有双比特位在目标比特状态下的第二总数量的过程,包括:
根据
Figure PCTCN2021142855-appb-000009
统计数据块对应的所有双比特位在目标比特状态下的第二总数量;
其中,
Figure PCTCN2021142855-appb-000010
表示数据块的第t2个第一页或第二页所对应的第一总数量,t2的最大值为数据块的第一页总数量或第二页总数量;blockL 2j为数据块对应的所有双比特位在比特状态L j下的第二总数量。
具体地,本申请统计数据块对应的所有双比特位在目标比特状态(指任一第二比特状态)下的第二总数量的关系式为:
Figure PCTCN2021142855-appb-000011
其中,
Figure PCTCN2021142855-appb-000012
表示数据块的第t2个第一页或第二页所对应的第一总数量,t2的最大值为数据块的第一页总数量或第二页总数量(第一或第二page总数);blockL 2j为数据块对应的所有双比特位在比特状态L j下的第二总数量。
另外,本申请可基于MLC芯片的各数据块对应的所有双比特位在各比特状态下的总数量绘制一个表格,并基于数据块内各页对应的所有双比特位在各比特状态下的总数量绘制另一个表格,目的是能够清晰地对比特状态的转换规律进行统计。
比如,以L06B NAND(一种非易失闪存芯片)为例进行分析,该芯片有512个block,单个block有256个页。选择40个block进行测试,其中20个奇数块,20个偶数块,并保证选择的块是好块,进行1000次的擦写的压力测试,内容为L2=10(第二页写0,第一页写1)。
数据读取分析并统计,最后得到的结果如下表2(以page 17和page 20为例):
表2
  L20 L21 L22 L23
Page 17 25 30 16312 17
Page 20 41 22 16291 30
可以很清楚的看到比特状态的变化规律,进行百分比的处理,即得到如下表3的结果:
表3
   L20 L21 L22 L23
Page 17 0.15% 0.18% 99.5% 0.1%
Page 20 0.25% 0.13% 99.4% 0.18%
请参照图3,图3为本申请实施例提供的一种MLC芯片的错误率分析系统的结构示意图。
该MLC芯片的错误率分析系统包括:
擦写模块1,用于从MLC芯片中选取预设数量的数据块,并将数据块进行预设次数的擦写操作;其中,数据块中用于存储双比特位中高比特位的第一页所写入的数据相同、用于存储双比特位中低比特位的第二页所写入的数据相同;
状态确定模块2,用于待擦写操作完成后,读取数据块的每个第一页和第二页对应的每组双比特位,并确定每组双比特位的比特状态;其中,比特状态包括一个表示数据写入正确的第一比特状态及三个表示数据写入错误的第二比特状态;
页统计模块3,用于统计目标页对应的所有双比特位在目标比特状态下的第一总数量,并将第一总数量除以目标页对应的双比特位总数量,得到目标页在目标比特状态下的第一错误率;其中,目标页为任一第一页或任一第二页;目标比特状态为任一第二比特状态;
数据块统计模块4,用于统计数据块对应的所有双比特位在目标比特状态下的第二总数量,并将第二总数量除以数据块对应的双比特位总数量,得到数据块在目标比特状态下的第二错误率,以基于第一错误率和第二错误率分析MLC芯片的性能。
作为一种可选的实施例,页统计模块3还用于:
在统计目标页对应的所有双比特位在目标比特状态下的第一总数量的同时,统计目标页对应的所有双比特位在第一比特状态下的第三总数量,并将第三总数量除以目标页对应的双比特位总数量,得到目标页在第一比特状态下的第一正确率;
数据块统计模块4还用于:
在统计数据块对应的所有双比特位在目标比特状态下的第二总数量的同时,统计数据块对应的所有双比特位在第一比特状态下的第四总数量,并将第四总数量除以数据块对应的双比特位总数量,得到数据块在第一比特状态下的第二正确率。
本申请提供的错误率分析系统的介绍请参考上述错误率分析方法的实施例,本申请在此不再赘述。
在一些实施例中,提供了一种MLC芯片的错误率分析装置,该MLC芯片的错误率分析装置可以包括计算机设备,该计算机设备可以是终端或者服务器,该MLC芯片的错 误率分析装置的内部结构图可以如图4所示。该MLC芯片的错误率分析装置包括通过系统总线连接的处理器、存储器、网络接口和输入装置。其中,该处理器用于提供计算和控制能力。该存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令。该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的网络接口用于与外部的终端或者服务器通过网络连接通信。该计算机可读指令被处理器执行时以实现一种MLC芯片的错误率分析方法。该输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请还提供了一种MLC芯片的错误率分析装置,该MLC芯片的错误率分析装置可以为计算机设备,该计算机设备可以为终端或者服务器,该MLC芯片的错误率分析装置包括:
存储器,用于存储计算机可读指令;
一个或多个处理器,用于在执行存储器存储的计算机可读指令,该计算机可读指令被处理器执行时可实现上述任一种MLC芯片的错误率分析方法的步骤。
本申请提供的错误率分析装置的介绍请参考上述错误率分析方法的实施例,本申请在此不再赘述。
本申请实施例还提供了一种非易失性可读存储介质,该非易失性可读存储介质中存储有计算机可读指令,该计算机可读指令计算机程序被一个或多个处理器执行时可实现上述任一种MLC芯片的错误率分析方法的步骤。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (12)

  1. 一种MLC芯片的错误率分析方法,其特征在于,包括:
    从MLC芯片中选取预设数量的数据块,并将所述数据块进行预设次数的擦写操作;其中,所述数据块中用于存储双比特位中高比特位的第一页所写入的数据相同、用于存储所述双比特位中低比特位的第二页所写入的数据相同;
    待擦写操作完成后,读取所述数据块的每个第一页和第二页对应的每组双比特位,并确定所述每组双比特位的比特状态;其中,所述比特状态包括一个表示数据写入正确的第一比特状态及三个表示数据写入错误的第二比特状态;
    统计目标页对应的所有双比特位在目标比特状态下的第一总数量,并将所述第一总数量除以所述目标页对应的双比特位总数量,得到所述目标页在所述目标比特状态下的第一错误率;其中,所述目标页为任一所述第一页或任一所述第二页;所述目标比特状态为任一所述第二比特状态;和
    统计所述数据块对应的所有双比特位在所述目标比特状态下的第二总数量,并将所述第二总数量除以所述数据块对应的双比特位总数量,得到所述数据块在所述目标比特状态下的第二错误率,以基于所述第一错误率和所述第二错误率分析所述MLC芯片的性能。
  2. 如权利要求1所述的MLC芯片的错误率分析方法,其特征在于,在所述统计目标页对应的所有双比特位在目标比特状态下的第一总数量的同时,所述MLC芯片的错误率分析方法还包括:
    统计所述目标页对应的所有双比特位在所述第一比特状态下的第三总数量,并将所述第三总数量除以所述目标页对应的双比特位总数量,得到所述目标页在所述第一比特状态下的第一正确率。
  3. 如权利要求2所述的MLC芯片的错误率分析方法,其特征在于,在所述统计所述数据块对应的所有双比特位在所述目标比特状态下的第二总数量的同时,所述MLC芯片的错误率分析方法还包括:
    统计所述数据块对应的所有双比特位在所述第一比特状态下的第四总数量,并将所述第四总数量除以所述数据块对应的双比特位总数量,得到所述数据块在所述第一比特状态下的第二正确率。
  4. 如权利要求1所述的MLC芯片的错误率分析方法,其特征在于,所述从MLC芯片中选取预设数量的数据块的过程,包括:
    将所述MLC芯片的各数据块按照存储顺序依次进行编号;和
    从所述各数据块中选取无故障的数据块,并从所述无故障的数据块中选取同等数量的奇数编号的数据块和偶数编号的数据块作为分析错误率的数据块使用。
  5. 如权利要求1所述的MLC芯片的错误率分析方法,其特征在于,所述将所述数据块进行预设次数的擦写操作的过程,包括:
    将所述数据块进行数据擦除操作;其中,所述数据块内所有页在擦除后的状态均为11;
    将所述数据块进行数据写入操作;其中,所述数据块中第一页所写入的比特数据均为1、第二页所写入的比特数据均为0;和
    待数据写入操作完成后,返回执行将所述数据块进行数据擦除操作的步骤,直至所述数据块的擦写操作总次数达到预设次数。
  6. 如权利要求1-5任一项所述的MLC芯片的错误率分析方法,其特征在于,统计目标页对应的所有双比特位在目标比特状态下的第一总数量的过程,包括:
    根据
    Figure PCTCN2021142855-appb-100001
    统计所述目标页对应的所有双比特位在目标比特状态下的第一总数量;
    其中,所述比特状态包括三个所述第二比特状态L0、L1、L3和所述第一比特状态L2四种;L 2j=1表示比特状态由L2变为L j,L 2j=0表示比特状态未由L2变为L j,j=0、1、2、3;
    Figure PCTCN2021142855-appb-100002
    表示所述目标页对应的第t1个双比特位所对应的L 2j数值,t1的最大值为所述目标页对应的双比特位总数量;pageL 2j为所述目标页对应的所有双比特位在比特状态L j下的第一总数量。
  7. 如权利要求6所述的MLC芯片的错误率分析方法,其特征在于,统计所述数据块对应的所有双比特位在所述目标比特状态下的第二总数量的过程,包括:
    根据
    Figure PCTCN2021142855-appb-100003
    统计所述数据块对应的所有双比特位在所述目标比特状态下的第二总数量;
    其中,
    Figure PCTCN2021142855-appb-100004
    表示所述数据块的第t2个第一页或第二页所对应的第一总数量,t2的最大值为所述数据块的第一页总数量或第二页总数量;blockL 2j为所述数据块对应的所有双比特位在比特状态L j下的第二总数量。
  8. 如权利要求1所述的MLC芯片的错误率分析方法,其特征在于,所述数据块包含2*N页,2*N页分为N对页,每对页均包含用于存储双比特位中高比特位的第一页和 用于存储所述双比特位中低比特位的第二页;所述数据块中所有所述第一页所写入的数据相同、所有所述第二页所写入的数据相同;N为大于1的整数。
  9. 一种MLC芯片的错误率分析系统,其特征在于,包括:
    擦写模块,用于从MLC芯片中选取预设数量的数据块,并将所述数据块进行预设次数的擦写操作;其中,所述数据块中用于存储双比特位中高比特位的第一页所写入的数据相同、用于存储所述双比特位中低比特位的第二页所写入的数据相同;
    状态确定模块,用于待擦写操作完成后,读取所述数据块的每个第一页和第二页对应的每组双比特位,并确定所述每组双比特位的比特状态;其中,所述比特状态包括一个表示数据写入正确的第一比特状态及三个表示数据写入错误的第二比特状态;
    页统计模块,用于统计目标页对应的所有双比特位在目标比特状态下的第一总数量,并将所述第一总数量除以所述目标页对应的双比特位总数量,得到所述目标页在所述目标比特状态下的第一错误率;其中,所述目标页为任一所述第一页或任一所述第二页;所述目标比特状态为任一所述第二比特状态;和
    数据块统计模块,用于统计所述数据块对应的所有双比特位在所述目标比特状态下的第二总数量,并将所述第二总数量除以所述数据块对应的双比特位总数量,得到所述数据块在所述目标比特状态下的第二错误率,以基于所述第一错误率和所述第二错误率分析所述MLC芯片的性能。
  10. 如权利要求9所述的MLC芯片的错误率分析系统,其特征在于,所述页统计模块还用于:
    在统计目标页对应的所有双比特位在目标比特状态下的第一总数量的同时,统计所述目标页对应的所有双比特位在所述第一比特状态下的第三总数量,并将所述第三总数量除以所述目标页对应的双比特位总数量,得到所述目标页在所述第一比特状态下的第一正确率;
    所述数据块统计模块还用于:
    在统计所述数据块对应的所有双比特位在所述目标比特状态下的第二总数量的同时,统计所述数据块对应的所有双比特位在所述第一比特状态下的第四总数量,并将所述第四总数量除以所述数据块对应的双比特位总数量,得到所述数据块在所述第一比特状态下的第二正确率。
  11. 一种MLC芯片的错误率分析装置,其特征在于,包括存储器及一个或多个处理器,所述存储器中储存有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-8任意一项所述的方法的步骤。
  12. 一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-8任意一项所述的方法的步骤。
PCT/CN2021/142855 2021-08-24 2021-12-30 一种mlc芯片的错误率分析方法、系统及装置 WO2023024383A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/267,438 US20240045749A1 (en) 2021-08-24 2021-12-30 Error rate analysis method, system and apparatus for mlc chip

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110971258.6 2021-08-24
CN202110971258.6A CN113419688B (zh) 2021-08-24 2021-08-24 一种mlc芯片的错误率分析方法、系统及装置

Publications (1)

Publication Number Publication Date
WO2023024383A1 true WO2023024383A1 (zh) 2023-03-02

Family

ID=77719526

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/142855 WO2023024383A1 (zh) 2021-08-24 2021-12-30 一种mlc芯片的错误率分析方法、系统及装置

Country Status (3)

Country Link
US (1) US20240045749A1 (zh)
CN (1) CN113419688B (zh)
WO (1) WO2023024383A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419688B (zh) * 2021-08-24 2021-11-09 苏州浪潮智能科技有限公司 一种mlc芯片的错误率分析方法、系统及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9159423B1 (en) * 2012-09-28 2015-10-13 Cadence Design Systems, Inc. Robust erase page detection logic for NAND flash memory devices
CN105427886A (zh) * 2015-12-01 2016-03-23 清华大学 NAND Flash存储系统保存期间数据分步加重方法
CN111276179A (zh) * 2020-02-14 2020-06-12 苏州浪潮智能科技有限公司 一种NAND Flash错误率的分组测试装置
CN113419688A (zh) * 2021-08-24 2021-09-21 苏州浪潮智能科技有限公司 一种mlc芯片的错误率分析方法、系统及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8464106B2 (en) * 2009-08-24 2013-06-11 Ocz Technology Group, Inc. Computer system with backup function and method therefor
US9298534B2 (en) * 2013-09-05 2016-03-29 Kabushiki Kaisha Toshiba Memory system and constructing method of logical block
US9411669B2 (en) * 2014-09-11 2016-08-09 Sandisk Technologies Llc Selective sampling of data stored in nonvolatile memory
CN107395214B (zh) * 2017-07-12 2019-06-28 华中科技大学 一种基于闪存页错误特性降低ldpc译码延迟的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9159423B1 (en) * 2012-09-28 2015-10-13 Cadence Design Systems, Inc. Robust erase page detection logic for NAND flash memory devices
CN105427886A (zh) * 2015-12-01 2016-03-23 清华大学 NAND Flash存储系统保存期间数据分步加重方法
CN111276179A (zh) * 2020-02-14 2020-06-12 苏州浪潮智能科技有限公司 一种NAND Flash错误率的分组测试装置
CN113419688A (zh) * 2021-08-24 2021-09-21 苏州浪潮智能科技有限公司 一种mlc芯片的错误率分析方法、系统及装置

Also Published As

Publication number Publication date
CN113419688B (zh) 2021-11-09
US20240045749A1 (en) 2024-02-08
CN113419688A (zh) 2021-09-21

Similar Documents

Publication Publication Date Title
CN112166472A (zh) 具有使用基于组件的功能进行的动态校准的存储器子系统
US10133664B2 (en) Method, flash memory controller, memory device for accessing 3D flash memory having multiple memory chips
KR101981355B1 (ko) 메모리 시스템들을 위한 소프트 정보 생성
US8996936B2 (en) Enhanced error correction in memory devices
CN110347528A (zh) 用于坏块管理的存储器系统及方法
US9563498B2 (en) Method for preventing read-disturb errors, memory control circuit unit and memory storage apparatus
US9442797B2 (en) Memory system
US10795770B2 (en) Rearranging data in memory systems
US11853599B2 (en) Memory system and information processing system
CN107748722B (zh) 一种保证固态硬盘中数据持续性的自适应数据刷新方法
WO2023024383A1 (zh) 一种mlc芯片的错误率分析方法、系统及装置
CN107544863B (zh) 一种数据存储方法及装置
JP2018163707A (ja) 半導体記憶装置及びそのリード制御方法
CN107203436B (zh) 一种Nand Flash数据校验的方法与装置
DE102018120964A1 (de) Integrierte Schaltungsspeichervorrichtungen mit verbesserter Pufferspeichernutzung während Lese- und Schreiboperationen
CN109785891A (zh) 一种获取NAND Flash存储器浅擦除特性规律的方法
US20190250831A1 (en) System and method for discovering parallelism of memory devices
US10445014B2 (en) Methods of operating a computing system including a host processing data of first size and a storage device processing data of second size and including a memory controller and a non-volatile memory
CN108572786B (zh) 避免读取扰动的数据搬移方法以及使用该方法的装置
US20210020251A1 (en) Method and apparatus for determining a reference voltage
TW201419284A (zh) 快閃記憶體及其存取方法
CN110908825B (zh) 一种数据读取方法、装置、存储设备及存储介质
US8045374B2 (en) Erase verification method of flash memory by selectively assigning deselected sectors
CN108572920B (zh) 避免读取扰动的数据搬移方法以及使用该方法的装置
CN111899782A (zh) 一种测试方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21954897

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18267438

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE