Memory system and its operating method

The memory controller uses scanning voltages and data management to quickly assess memory block degradation, ensuring reliable data transfer and maintaining data integrity by identifying and moving data from deteriorating blocks.

JP7833315B2Active Publication Date: 2026-03-19SK HYNIX INC
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-03-18
Publication Date
2026-03-19

AI Technical Summary

Technical Problem

Existing memory systems face challenges in quickly and accurately determining the degradation state of memory blocks, leading to reduced data reliability due to changes in threshold voltages of memory cells caused by factors like time retention and temperature rise, especially with increasing memory cell density.

Method used

A memory controller applies multiple scanning voltages to memory pages, counts memory cells within defined scanning intervals, and manages data transfer to maintain reliability by saving data from deteriorating blocks to other blocks based on the number of cells with threshold voltages within these intervals.

Benefits of technology

This approach allows for rapid and precise determination of memory block degradation, enhancing data reliability by efficiently transferring data before it becomes unreadable, thus improving the accuracy and efficiency of degradation state assessment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007833315000001
    Figure 0007833315000001
  • Figure 0007833315000002
    Figure 0007833315000002
  • Figure 0007833315000003
    Figure 0007833315000003
Patent Text Reader

Abstract

To provide an electronic device.SOLUTION: A memory controller according to the present technology includes: a scan voltage control unit for controlling a memory device to apply a plurality of scan voltages to any one of a plurality of pages; a counter for obtaining the number of memory cells having a threshold voltage included in at least one of scan intervals defined by the plurality of scan voltages among a plurality of memory cells in any one of the pages, based on sensing data that has read any one of the pages by the plurality of scan voltages; and a data management unit for controlling the memory device to store data stored in a memory block in which any one of the pages is included to another memory block based on the number of the memory cells.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an electronic device, and more particularly to a memory system including a memory device and a memory controller, and an operating method thereof.

Background Art

[0002] A memory system is a device that stores data in accordance with the control of a host device such as a computer or a smartphone. The memory system may include a memory device that stores data and a memory controller that controls the memory device. The memory device can be divided into a volatile memory device and a non-volatile memory device.

[0003] A volatile memory device may be a memory device that stores data only while power is supplied, and the stored data is erased when the power is turned off. Examples of volatile memory devices include a static random access memory (SRAM), a dynamic random access memory (DRAM), and the like.

[0004] A non-volatile memory device is a memory device in which data is not erased even when the power is turned off, and includes a read only memory (ROM), a programmable ROM (PROM), an electrically programmable ROM (EPROM), an electrically erasable and programmable ROM (EEPROM (registered trademark)), and a flash memory.

Summary of the Invention

Problems to be Solved by the Invention

[0005] Embodiments of the present invention provide a memory system and a method of operation thereof that can quickly and accurately determine the degradation state of a memory block in order to maintain data reliability. [Means for solving the problem]

[0006] A memory controller according to an embodiment of the present invention may include: a scanning voltage control unit that controls the memory device to apply a plurality of scanning voltages to any one of a plurality of pages; a counter that obtains the number of memory cells among a plurality of memory cells contained in any one of the pages that have a threshold voltage included in at least one scanning interval defined by the plurality of scanning voltages, based on sensing data obtained by reading any one of the pages with the plurality of scanning voltages; and a data management unit that controls the memory device to save the data stored in the memory block containing any one of the pages to another memory block, based on the number of memory cells.

[0007] An operation method for a memory controller according to one embodiment of the present invention may include the steps of: controlling the memory device to apply a plurality of scanning voltages to any one of a plurality of pages; obtaining the number of memory cells among a plurality of memory cells contained in any one page that have a threshold voltage included in at least one scanning interval defined by the plurality of scanning voltages, based on sensing data obtained by reading any one of the pages with the plurality of scanning voltages; and controlling the memory device to save the data stored in the memory block containing any one of the pages to another memory block, based on the number of memory cells. [Effects of the Invention]

[0008] This technology provides a memory system and its operating method that can quickly and accurately determine the degradation state of memory blocks in order to maintain data reliability. [Brief explanation of the drawing]

[0009] [Figure 1]This figure illustrates a memory system according to an embodiment of the present invention. [Figure 2] This figure illustrates the structure of a memory device according to an embodiment of the present invention. [Figure 3] This is a diagram illustrating the structure of a memory block according to an embodiment of the present invention. [Figure 4] This figure illustrates the threshold voltage of a memory cell according to an embodiment of the present invention. [Figure 5] This is a diagram illustrating the scanning interval according to an embodiment of the present invention. [Figure 6] This diagram illustrates the scanning interval in Figure 5. [Figure 7] This figure illustrates the number of memory cells in a scanning interval according to an embodiment of the present invention. [Figure 8a] This figure illustrates a method for counting the number of memory cells in a scanning interval according to an embodiment of the present invention. [Figure 8b] This figure illustrates a method for counting the number of memory cells in a scanning interval according to an embodiment of the present invention. [Figure 8c] This figure illustrates a method for counting the number of memory cells in a scanning interval according to an embodiment of the present invention. [Figure 9] This is a flowchart illustrating the operation method of a memory controller according to an embodiment of the present invention. [Figure 10] This figure illustrates the operation method of a memory controller according to an embodiment of the present invention. [Figure 11] This figure illustrates the operation method of a memory controller according to an embodiment of the present invention. [Figure 12] This is a block diagram showing a memory card to which a memory system according to an embodiment of the present invention is applied. [Figure 13] This is a block diagram showing an SSD (Solid State Drive) system to which the memory system according to an embodiment of the present invention is applied. [Figure 14]This is a block diagram showing a user system to which the memory system according to an embodiment of the present invention is applied. [Modes for carrying out the invention]

[0010] The specific structural or functional descriptions of embodiments of the concept of the present invention disclosed herein or in the application are merely illustrative for illustrating embodiments of the concept of the present invention, and embodiments of the concept of the present invention may be carried out in various forms and should not be construed as being limited to the embodiments described herein or in the application.

[0011] Figure 1 is a diagram illustrating a memory system according to an embodiment of the present invention.

[0012] Referring to Figure 1, the memory system 1000 according to an embodiment of the present invention may include at least one memory device 100 and a memory controller 200.

[0013] The memory system 1000 is a semiconductor-based storage device. The memory system 1000 can store data in accordance with the control of the host 300. The memory system 1000 can provide the stored data to the host 300 in accordance with the control of the host 300.

[0014] The memory system 1000 may be composed of any one of various types of storage devices according to the host interface which is a communication method with the host 300. For example, the memory system 1000 may be composed of any one of various types of storage devices such as SSD (Solid State Disk), MMC (Multi Media Card), eMMC (embedded MMC), RS-MMC (Reduced-Size MMC), micro-MMC, SD (Secure Digital) card, mini-SD card, micro-SD card, USB (universal serial bus) type storage device, UFS (universal flash storage), PCMCIA (personal computer memory card international association), PCI (peripheral component interconnection), PCI-E (PCI express), CF (compact flash) card, smart media card, memory stick, etc.

[0015] The memory system 1000 may be manufactured in any one of various types of package forms. For example, the memory system 1000 may be manufactured in any one of various types of package forms such as POP (package on package), SIP (system in package), SOC (system on chip), MCP (multi-chip package), COB (chip on board), WFP (wafer-level fabricated package), WSP (wafer-level stack package), etc.

[0016] The memory device 100 can store data. Specifically, the memory device 100 may include a plurality of memory blocks. Each of the plurality of memory blocks may include a plurality of pages. That is, one memory block can include a plurality of pages. Here, a page may be a unit in which a program operation (or write operation) for storing data is performed. Also, a page may be a unit in which a read operation for reading the stored data is performed. A memory block may be a unit in which an erase operation for erasing the stored data is performed. Each of the plurality of pages may include a plurality of memory cells. Independent data may be stored in each of the plurality of memory cells. The data may be a value in units of one or more bits. The data can represent various types of information such as characters, numbers, symbols, images, and sounds.

[0017] The memory device 100 can operate according to the control of the memory controller 200. When the memory device 100 receives a command from the memory controller 200, it can perform an operation corresponding to the command. Here, the command may be any one of a program command, a read command, and an erase command.

[0018] In one embodiment, the memory device 100 may be embodied in any one of the following: NAND flash memory, vertical NAND flash memory, NOR flash memory, SRAM (Static Random Access Memory, Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous Dynamic RAM), DDR (Double Data Rate) SDRAM, LPDDR (Low Power DDR) SDRAM, GDRAM (Graphics DRAM), RDRAM (Rambus DRAM), ferroelectric memory (FeRAM), magnetoresistive RAM (MRAM), phase change memory (PCM), spin transfer torque magnetoresistive RAM (STT-RAM), resistive memory (ReRAM), etc. For the sake of explanation, this specification will assume that the memory device 100 is a NAND flash memory.

[0019] The memory controller 200 can control the overall operation of the memory system 1000.

[0020] When power is applied to the memory system 1000, the memory controller 200 can execute firmware (FW). The firmware may include a Host Interface Layer (HIL) that controls communication with the host 300, a Flash Translation Layer (FTL) that controls communication between the host 300 and the memory device 100, and a Flash Interface Layer (FLA) that controls communication with the memory device 100. The memory controller 200 may be located outside the memory device 100. The memory controller 200 may be connected to the memory device 100 via a channel.

[0021] The memory controller 200 can control the memory device 100. In one embodiment, the memory controller 200 can control the memory device 100 in response to a request received from the host 300. In another embodiment, the memory controller 200 can control the memory device 100 on its own, regardless of a request from the host 300.

[0022] The memory controller 200 can control the memory device 100 to perform one of the following operations: program operation, read operation, or erase operation.

[0023] During program operation, the memory controller 200 can provide program commands, addresses, and data to the memory device 100. In response, the memory device 100 can store the data in the page selected by the address.

[0024] In the case of a read operation, the memory controller 200 can provide a read command and address to the memory device 100. In response, the memory device 100 can provide the data stored in the page selected by the address to the memory controller 200 or the host 300.

[0025] In the case of an erase operation, the memory controller 200 can provide an erase command and address to the memory device 100. In response, the memory device 100 can erase the data stored in the memory block selected by the address.

[0026] The host 300 can control the memory system 1000. For example, the host 300 can provide the memory system 1000 with a command instructing it to save data and the data itself. In response, the memory system 1000 can save the data to the memory device 100. As another example, the host 300 can provide the memory system 1000 with a command requesting the saved data. In response, the memory system 1000 can provide the host 300 with the data saved in the memory device 100. As yet another example, the host 300 can provide the memory system 1000 with a command instructing it to delete the saved data. In response, the memory system 1000 can delete the data saved in the memory device 100.

[0027] Host 300 can communicate with memory system 1000 using at least one of various communication methods, such as USB (Universal Serial Bus), SATA (Serial AT Attachment), SAS (Serial Attached SCSI), HSIC (High Speed ​​Interchip), SCSI (Small Computer System Interface), PCI (Peripheral Component Interconnection), PCIe (PCI express), NVMe (NonVolatile Memory express), UFS (Universal Flash Storage), SD (Secure Digital), MMC (MultiMedia Card), eMMC (embedded MMC), DIMM (Dual In-line Memory Module), RDIMM (Registered DIMM), and LRDIMM (Load Reduced DIMM).

[0028] The host 300 may be one of various electronic devices such as a mobile phone, smartphone, MP3 player, laptop computer, desktop computer, game console, TV (Tevelison), tablet PC or in-vehicle infotainment system, or wearable device. The memory system 1000 may be embodied in a separate device from the host 300, or it may be embodied in a form built into the host 300.

[0029] Data stored in the memory blocks of the memory device 100 can degrade due to various causes such as time retention, read disturbance, and temperature rise. Specifically, the threshold voltage of the memory cells representing the data may change unintentionally, which may reduce the reliability of the stored data. As technology advances, the number of memory cells contained in a single memory block is increasing, making it difficult to inspect the degree of data degradation for all memory cells contained in a single memory block, in terms of resource constraints, reduced speed, and increased power consumption.

[0030] According to one embodiment of the present invention, the memory controller 200 can control the memory device 100 to save (or move) data stored in a memory block to another memory block before the data stored in the memory block deteriorates to the point where it can no longer be read normally.

[0031] Therefore, the memory controller 200 can control the memory device 100 to apply multiple scanning voltages to any one of multiple pages. Here, each of the multiple scanning voltages may be a voltage that defines at least one scanning interval. For example, the multiple scanning voltages may include a first and a second scanning voltage, where the first scanning voltage is the maximum value of the first scanning interval and the second scanning voltage is the minimum value of the first scanning interval. The one page to which the scanning voltage is applied may be any one of the multiple pages contained in the memory block, or it may be a pre-set page.

[0032] The memory controller 200 can obtain, based on sensing data obtained by reading any one page using multiple scanning voltages, the number of memory cells among the multiple memory cells contained in any one page that have a threshold voltage that falls within at least one scanning interval defined by the multiple scanning voltages. Here, the sensing data may be data indicating the number of memory cells that have a threshold voltage lower than the scanning voltage. The at least one scanning interval may consist of one or more intervals. For example, the at least one scanning interval may include a first scanning interval and a second scanning interval.

[0033] The memory controller 200 can control the memory device 100 to save data stored in a memory block containing any one page to another memory block, based on the number of memory cells. For example, if the number of memory cells is greater than a preset threshold, the memory controller 200 can control the memory device 100 to save data stored in a memory block containing any one page to another memory block.

[0034] This technology provides a memory system 1000 and its operating method that can quickly and accurately determine the degradation state of a memory block in order to maintain data reliability. As described above, any one page contained in a memory block may be scanned on behalf of another page contained in the same memory block. This utilizes the fact that after a program is executed on each of the multiple memory cells contained in a memory block, the threshold voltages of the multiple memory cells change in a similar direction and at a similar rate. Therefore, the degradation state of the memory block can be estimated by scanning only some of the pages rather than all of them, thereby improving the efficiency and accuracy of the scan. The following will explain this in more detail with reference to the attached diagrams.

[0035] Figure 2 is a diagram illustrating the structure of a memory device according to an embodiment of the present invention.

[0036] Referring to Figure 2, the memory device 100 may include a memory cell array 110, a voltage generation unit 120, an address decoder 130, an input / output circuit 140, and a control logic 150.

[0037] The memory cell array 110 may include multiple memory blocks BLK1 to BLKi. Multiple memory blocks BLK1 to BLKi may be connected to the address decoder 130 via row lines RL. Multiple memory blocks BLK1 to BLKi may be connected to the input / output circuit 140 via column lines CL. In this embodiment, row lines RL may include word lines, source selection lines, and drain selection lines, and column lines CL may include bit lines.

[0038] Each of the multiple memory blocks BLK1 to BLKi may contain multiple memory cells.

[0039] Multiple memory cells may each store data. For example, each of the multiple memory cells can store a different number of bits of data depending on the configuration, such as a single-level cell (SIC) storing 1 bit, a multi-level cell (MLC) storing 2 bits, a triple-level cell (TLC) storing 3 bits, or a quad-level cell (QLC) storing 4 bits. Here, multiple memory cells connected to the same word line can be defined as a single page.

[0040] In the embodiment, each of the multiple memory cells may be a non-volatile memory cell. For example, each of the multiple memory cells may include a floating gate on which charge can be stored. Each of the multiple memory cells can represent a specific value of data depending on the amount of charge stored in the floating gate.

[0041] In this embodiment, the voltage generation unit 120, the address decoder 130, and the input / output circuit 140 can be referred to as peripheral circuits. The peripheral circuits can drive the memory cell array 110 in accordance with the control logic 150. The peripheral circuits can drive the memory cell array 110 to perform program operations, read operations, and erase operations.

[0042] The voltage generation unit 120 may be configured to generate multiple operating voltages using the external power supply voltage supplied to the memory device 100. The voltage generation unit 120 can operate in response to the control logic 150.

[0043] As an example, the voltage generation unit 120 can regulate an external power supply voltage to generate an internal power supply voltage. The internal power supply voltage generated by the voltage generation unit 120 may be used as the operating voltage of the memory device 100.

[0044] As an example, the voltage generation unit 120 can generate multiple operating voltages using an external power supply voltage or an internal power supply voltage. The voltage generation unit 120 may be configured to generate various voltages required by the memory device 100. For example, the voltage generation unit 120 can generate multiple erase voltages, multiple program voltages, multiple path voltages, multiple selected read voltages, and multiple unselected read voltages. For this reason, the voltage generation unit 120 may include multiple pumping capacitors that receive the internal power supply voltage. The voltage generation unit 120 can generate multiple operating voltages by selectively activating the multiple pumping capacitors in response to the control logic 150.

[0045] Multiple operating voltages generated by the voltage generation unit 120 may be supplied to the memory cell array 110 by the address decoder 130.

[0046] The address decoder 130 may be connected to the memory cell array 110 via a row line RL. The address decoder 130 may be configured to operate in response to control logic 150. The address decoder 130 can receive address ADDR from the control logic 150. The address decoder 130 can decode the block address from the received address ADDR. The address decoder 130 can select at least one memory block from memory blocks BLK1 to BLKi according to the decoded block address. The address decoder 130 can decode the row address from the received address ADDR. The address decoder 130 can select at least one word line from the word lines of the selected memory block according to the decoded row address. In this embodiment, the address decoder 130 can decode the column address from the received address ADDR. The address decoder 130 can connect the input / output circuit 140 to the memory cell array 110 according to the decoded column address.

[0047] For example, the address decoder 130 may include components such as a row decoder, a column decoder, and an address buffer.

[0048] The input / output circuit 140 may include multiple page buffers. These multiple page buffers may be connected to the memory cell array 110 via bit lines. During program operation, data stored in the multiple page buffers may be provided to a selected page via bit lines, and the provided data may be stored in the memory cells contained in the selected page. During read operation, data stored in the memory cells contained in the selected page may be sensed via bit lines, and the sensed data may be stored in the page buffer.

[0049] The control logic 150 can control the address decoder 130, the voltage generation unit 120, and the input / output circuit 140. The control logic 150 can operate in response to a command CMD transmitted from an external device. The control logic 150 can generate control signals in response to the command CMD and address ADDR, and control the peripheral circuits.

[0050] Figure 3 is a diagram illustrating the structure of a memory block according to an embodiment of the present invention.

[0051] Referring to Figure 3, a memory block BLKi may include multiple strings connected between bit lines BL1~BLn and source line SL. The description of memory block BLKi can be applied to each of the multiple memory blocks BLK1~BLKi.

[0052] Multiple strings may be connected one by one to bit lines BL1 to BLn. Multiple strings may also be connected in common to source line SL. Since multiple strings may be configured similarly to each other, we will explain in detail using string ST, which is connected to the first bit line BL1, as an example. The explanation for string ST can be applied similarly to the other strings.

[0053] The string ST may include a source selection transistor SST connected in series with each other between the source line SL and the first bit line BL1, a plurality of memory cells MC1 to MC16, and a drain selection transistor DST.

[0054] Multiple memory cells MC1 to MC16 may be connected in series between the source selection transistor SST and the drain selection transistor DST. The gates of multiple memory cells MC1 to MC16 may be connected one by one to multiple word lines WL1 to WL16. The number of memory cells MC1 to MC16 included in a single string ST may be more or less than the number shown in the diagram.

[0055] The drain of the drain-selection transistor DST may be connected to the first bit line BL1. The gate of the drain-selection transistor DST may be connected to the drain-selection line DSL. The source of the source-selection transistor SST may be connected to the source line SL. The gate of the source-selection transistor SST may be connected to the source-selection line SSL. The number of source-selection transistors SST and drain-selection transistors DST in a single string ST may be one or more.

[0056] Multiple word lines WL1 to WL16, source selection line SSL, and drain selection line DSL may be arranged parallel to each other. Multiple word lines WL1 to WL16, source selection line SSL, and drain selection line DSL may be arranged perpendicular to the direction in which string ST is arranged.

[0057] A memory block BLKi may contain multiple pages. A page can be a group of memory cells connected to the same word line. In this case, the memory block BLKi may contain the same number of pages as the number of word lines WL1 to WL16. Since multiple pages may be configured similarly to each other, we will specifically explain using page PG, which is connected to the third word line WL3, as an example. The explanation for page PG can be applied similarly to other pages.

[0058] Page PG may include memory cells connected to the third word line WL3 from among the multiple memory cells contained in memory block BLKi. Each of the memory cells contained in page PG may be a memory cell contained in a different string from one another.

[0059] In the case of programmed operation, the memory device 100 can store data in the page PG by applying a program voltage to the page PG. Specifically, the memory device 100 can apply the program voltage to the third word line WL3. In this case, the program voltage applied to the third word line WL3 can be transmitted to the gates of each memory cell contained in the page PG connected to the third word line WL3. When the program voltage is applied to the gates of each memory cell contained in the page PG, charge can be injected into the floating gates of each memory cell contained in the page PG by tunneling. The threshold voltage of the memory cell can change depending on the amount of charge accumulated in the floating gates. Here, the threshold voltage can be the voltage applied to the gate when a channel is formed between the source and drain of the memory cell through which current can flow.

[0060] Here, the program operation may use the ISPP (Incremental step pulse program) method. The ISPP method may include multiple program loops. Each of the multiple program loops may include a PGM pulse stage (or PGM pulse operation) in which a predetermined level of program voltage is applied to the word line, and a verification stage (or verification operation) in which a predetermined level of verification voltage is applied to the word line to identify the pass or failure of the program loop.

[0061] In a read operation, the memory device 100 can output data stored in the page PG by applying a read voltage to the page PG. Specifically, the memory device 100 can apply a read voltage to the third word line WL3. In this case, the read voltage applied to the third word line WL3 can be transmitted to the gates of each memory cell included in the page PG connected to the third word line WL3. If the read voltage applied to the gate of any one of the memory cells included in the page PG is greater than the threshold voltage of that memory cell, current can flow through the bit line to which that memory cell is connected. If the read voltage applied to the gate is less than the threshold voltage of that memory cell, current does not need to flow through the bit line to which that memory cell is connected. The system can sense whether or not current flows through the bit line to which each memory cell is connected, and output data that can be identified differently depending on the magnitude of the read voltage and the sensing result.

[0062] Figure 4 is a diagram illustrating the threshold voltage of a memory cell according to an embodiment of the present invention.

[0063] Referring to Figure 4, the memory device 100 according to one embodiment of the present invention may include a plurality of memory cells. Each of the plurality of memory cells can be in one of a plurality of program states E0, P1, P2, and P3, which are distinguished by a threshold voltage.

[0064] Here, each of the multiple program states E0, P1, P2, and P3 can represent a specific data. For example, the multiple program states E0, P1, P2, and P3 may include erase state E0, first program state P1, second program state P2, and third program state P3 by a multilevel cell scheme. Each of the erase state E0, first program state P1, second program state P2, and third program state P3 can represent one of the data such as 00, 01, 10, and 11. Each of the erase state E0, first program state P1, second program state P2, and third program state P3 may be read via at least one of the multiple default read voltages R1, R2, and R3.

[0065] To this end, the memory device 100 can change the threshold voltage of the memory cell in response to a control command (e.g., an erase command or a program command) from the memory controller 200. Here, the threshold voltage of the memory cell can change depending on the amount of charge stored in the floating gate of the memory cell. For example, the memory device 100 can change the threshold voltage of the memory cell to the erased state E0 through an erase operation, and can change the threshold voltage of the memory cell to one of the first program state P1, the second program state P2, or the third program state P3 through a program operation.

[0066] However, this is only one embodiment, and the multiple program states E0, P1, P2, P3 and the multiple default read voltages R1, R2, R3 may include various numbers of program states and various numbers of default read voltages depending on the type of cell, such as single-level cell, triple-level cell, or quad-level cell. For the sake of explanation, in the following, we will assume that the multiple program states E0, P1, P2, P3 of the present invention include program states based on a multi-level cell system.

[0067] Specifically, when the memory device 100 receives a program command from the memory controller 200, it can program multiple memory cells to one of the multiple program states E0, P1, P2, and P3 such that each of the multiple program states E0, P1, P2, and P3 contains a corresponding number of memory cells. Here, the corresponding numbers can be substantially the same within an error range.

[0068] For example, consider a scenario where one page contains 100 memory cells. In that page, each of the erase state E0, first program state P1, second program state P2, and third program state P3 can contain 25 memory cells.

[0069] The data stored in the memory blocks of the memory device 100 may degrade due to various causes such as time retention, read disturbance, and temperature rise. In other words, the threshold voltage of the memory cells may change. For example, the threshold voltage distribution of a memory cell in the erased state E0 may change depending on the degree of degradation, such as to the first state E0-1 or the second state E0-2. Just as the threshold voltage distribution of the memory cell in the erased state E0 changes, the threshold voltage distributions of the memory cells in the first programmed state P1, the second programmed state P2, and the third programmed state P3 may also change simultaneously.

[0070] A memory controller 200 according to one embodiment of the present invention can control the memory device 100 to save data stored in one memory block to another memory block before the data deteriorates to the point where it can no longer be read properly. This will be explained in detail with reference to Figure 1.

[0071] The memory controller 200 may include a scanning voltage control unit 210, a counter 220, and a data management unit 230.

[0072] The scanning voltage control unit 210 can control the memory device 100 to apply multiple scanning voltages to any one of multiple pages. In the following operation, "any one page" refers to a page to which multiple scanning voltages have been applied.

[0073] Here, the multiple scanning voltages may have voltage values ​​of different magnitudes. The multiple scanning voltages can define a scanning interval. The scanning interval will be explained in detail with reference to Figure 5.

[0074] The counter 220 can obtain the number of memory cells among the multiple memory cells contained in any one page that have a threshold voltage that falls within at least one scanning interval defined by the multiple scanning voltages, based on sensing data obtained by reading any one page with multiple scanning voltages. Here, the sensing data may include information indicating the number of memory cells that have a threshold voltage lower than each scanning voltage. The method for obtaining the number of memory cells will be specifically described with reference to Figures 7 to 8C.

[0075] The data management unit 230 can control the memory device 100 to save data stored in a memory block containing any one page to another memory block, based on the number of memory cells.

[0076] According to one embodiment, the data management unit 230 can control the memory device 100 to save data stored in a memory block containing any one page to another memory block if the number of memory cells is equal to or greater than a reference value. That is, the data management unit 230 can transmit a command to the memory device 100 to control it to save data stored in a memory block containing one page to another memory block. Here, the other memory block may be another memory block in the same memory device 100 or a memory block in a different memory device.

[0077] Alternatively, the data management unit 230 can control the memory device 100 to retain the data stored in the memory block containing any one page if the number of memory cells is below a reference value. That is, the data management unit 230 can terminate the scanning operation that detects the degradation of the memory block. Here, the reference value may be a critical value for the Error Correction Code (ECC), which may be the number of memory cells that can be corrected by the Error Correction Code.

[0078] In yet another embodiment of the present invention, at least one scanning interval may include two or more scanning intervals. This will be specifically described below with reference to Figure 5.

[0079] Figure 5 is a diagram illustrating the scanning interval according to an embodiment of the present invention.

[0080] Referring to Figure 5, at least one scanning interval can be defined by multiple scanning voltages V1, V2, and V3.

[0081] Here, the multiple scanning voltages V1, V2, and V3 can correspond to either the maximum or minimum value of at least one scanning interval. Each of the multiple scanning voltages V1, V2, and V3 may be a voltage of a different magnitude than the default read voltages R1, R2, and R3 used to read data stored in the memory cell.

[0082] In one embodiment, at least one scanning interval may include one scanning interval S defined by a first scanning voltage V1 and a second scanning voltage V2. That is, the scanning interval S can be defined as the interval (or range) between the maximum value corresponding to the first scanning voltage V1 and the minimum value corresponding to the second scanning voltage V2.

[0083] In this case, the multiple scanning voltages V1 and V2 may include a first scanning voltage V1 and a second scanning voltage V2 having a voltage value smaller than the first scanning voltage V1. On the other hand, the scanning interval S may include boundary values ​​of the scanning interval S (e.g., maximum and minimum values).

[0084] In another embodiment, at least one scanning interval may include a first scanning interval A and a second scanning interval B. Here, the first scanning voltage V1 may correspond to the maximum value of the first scanning interval A, the third scanning voltage V3 may correspond to the minimum value of the first scanning interval A and the maximum value of the second scanning interval B, and the second scanning voltage V2 may correspond to the minimum value of the second scanning interval B. That is, the first scanning interval A can be defined as the interval between the maximum value corresponding to the first scanning voltage V1 and the minimum value corresponding to the third scanning voltage V3. The second scanning interval B can be defined as the interval between the maximum value corresponding to the third scanning voltage V3 and the minimum value corresponding to the second scanning voltage V2. That is, the first scanning interval A and the second scanning interval B may be continuous intervals with the third scanning voltage V3 as the boundary.

[0085] In this case, the multiple scanning voltages V1, V2, and V3 may include a first scanning voltage V1, a second scanning voltage V2, and a third scanning voltage V3. Here, the magnitude of the voltage values ​​may be such that the first scanning voltage V1 is the largest, the third scanning voltage V3 is the next largest, and the second scanning voltage V2 is the smallest. On the other hand, the first scanning interval A may include the boundary values ​​of the first scanning interval A (e.g., the maximum and minimum values). The second scanning interval B may include the boundary values ​​of the second scanning interval B (e.g., the maximum and minimum values).

[0086] Although not shown in Figure 5, in other embodiments, the scanning intervals defined by multiple scanning voltages may be intervals that are far apart from each other. For example, the first scanning interval may be defined as the interval between the maximum value corresponding to the first scanning voltage and the minimum value corresponding to the second scanning voltage, and the second scanning interval may be defined as the interval between the maximum value corresponding to the third scanning voltage and the minimum value corresponding to the fourth scanning voltage. Here, the magnitude of the voltage values ​​may be largest for the first scanning voltage, and decreasing in the order of the second scanning voltage, third scanning voltage, and fourth scanning voltage.

[0087] In the following description, unless otherwise specified, it is assumed that at least one scanning interval of the present invention includes a first scanning interval A and a second scanning interval B.

[0088] Figure 6 is a diagram illustrating the scanning interval shown in Figure 5.

[0089] Referring to Figures 5 and 6, at least one scanning interval A, B may be included in the interval between the maximum value E0_max of the initial threshold voltage of an erase cell contained in any one page and the voltage value of the smallest default read voltage R1 among at least one preset default read voltage R1, R2, R3 of the memory device 100.

[0090] Here, the erase cell refers to a memory cell that has entered the erased state E0 when an erase operation is performed on multiple memory cells contained in a memory block. The initial threshold voltage of the erase cell can mean the threshold voltage of the erase cell when the erase operation is performed. That is, it can indicate the threshold voltage of the erase cell before the threshold voltage changes. The maximum value E0_max of the initial threshold voltage of the erase cell may be a predetermined value or an estimated value. For example, the maximum value E0_max of the initial threshold voltage of the erase cell may be a voltage value 300mv smaller than the voltage value of the smallest default read voltage R1.

[0091] Furthermore, the number and magnitude of the default read voltages of the memory device 100 may vary depending on the data storage method, such as single-level cells, multi-level cells, triple-level cells, and quad-level cells. For example, in the case of SLC, the at least one default read voltage may include a first default read voltage R1. As another example, in the case of MLC, the at least one default read voltage may include a first default read voltage R1, a second default read voltage R2, and a third default read voltage R3. In this case, the first default read voltage R1 may be the smallest voltage value.

[0092] Thus, the interval between the maximum value E0_max of the initial threshold voltage of the erase cell in erase state E0 and the voltage value of the smallest default read voltage R1 may include at least one scan interval A, B. That is, each of the multiple scan voltages V1, V2, and V3 can have a magnitude between the maximum value E0_max of the initial threshold voltage of the erase cell in erase state E0 and the voltage value of the smallest default read voltage R1.

[0093] In one embodiment, assuming that the maximum value E0_max of the initial threshold voltage of the erase cell in erase state E0 and the voltage value of the smallest default read voltage R1 are 0% and 100%, respectively, the first scan voltage V1 can be set to a voltage value of 75% relative to the first scan voltage V1, and the second scan voltage V2 can be set to a voltage value of 25% relative to the first scan voltage V1 and the second scan voltage V2. The third scan voltage V3 may be set to a voltage value of 50%, which is the intermediate or average value of the first scan voltage V1 and the second scan voltage V2. However, this is only one embodiment, and the voltage values ​​of the multiple scan voltages V1, V2, and V3 can vary in various ways.

[0094] On the other hand, in another embodiment, at least one scanning interval A, B may be included in the interval between the maximum value E0_max of the initial threshold voltage of the erase cell in erase state E0 and the minimum value P1_min of the initial threshold voltage of the memory cell in first program state P1. That is, each of the multiple scanning voltages V1, V2, V3 can have a magnitude between the maximum value E0_max of the initial threshold voltage of the erase cell in erase state E0 and the minimum value P1_min of the initial threshold voltage of the memory cell in first program state P1.

[0095] Figure 7 is a diagram illustrating the number of memory cells in a scanning interval according to an embodiment of the present invention.

[0096] Referring to Figure 7, the memory cell in erase state E0 may have a changed threshold voltage distribution as in the second state E0-2. Here, at least one scan interval A, B may include a first scan interval A and a second scan interval B. The first scan interval A and the second scan interval B may be intervals for detecting changes in the threshold voltage of the erase cell. The plurality of scan voltages V1, V2, V3 may include a first scan voltage V1 corresponding to the maximum value of the first scan interval A, a second scan voltage V2 corresponding to the minimum value of the second scan interval B, and a third scan voltage V3 corresponding to the minimum value of the first scan interval A and the maximum value of the second scan interval B.

[0097] In this case, the data management unit 230 can control the memory device 100 to save data stored in one memory block to another memory block based on the number of first memory cells a1 and the number of second memory cells b1. Here, the number of first memory cells a1 may be the number of memory cells in which the threshold voltage is included in the first scan interval A, and the number of second memory cells b1 may be the number of memory cells in which the threshold voltage is included in the second scan interval B.

[0098] Here, the data management unit 230 can control the memory device 100 to save data stored in one memory block to another memory block if the number a1 of the first memory cells is equal to or greater than the first reference number. Here, the first reference number may be the critical value of the error correction code.

[0099] On the other hand, the data management unit 230 can control the memory device 100 to save data stored in one memory block to another memory block if the number a1 of the first memory cells is less than the first reference number and the number b1 of the second memory cells is equal to or greater than the second reference number. Here, the second reference number may be a value greater than the first reference number. For example, the second reference number may be set to various values ​​such as two or three times the critical value of the first reference number or the error correction code.

[0100] On the other hand, if the number a1 of the first memory cells is less than the first reference number and the number b1 of the second memory cells is less than the second reference number, the data management unit 230 can control the memory device 100 to retain the data stored in the memory block containing either one page. In other words, the data management unit 230 can terminate the scanning operation that detects the degradation of the memory block.

[0101] According to one embodiment, the data management unit 230 can control the memory device 100 to save data stored in a memory block to another memory block if the ratio of the number of first memory cells a1 to the number of second memory cells b1 is equal to or greater than a reference ratio. Here, the ratio of the number of first memory cells a1 to the number of second memory cells b1 may be the value obtained by dividing the number of second memory cells b1 by the number of first memory cells a1. The reference ratio may be set to various values ​​such as 2 or 3.

[0102] According to one embodiment, the data management unit 230 can control the scanning voltage control unit 210 to apply a test read voltage to each of the multiple pages contained in the memory block if the ratio of the number of first memory cells to the number of second memory cells is equal to or greater than a reference ratio. The test read voltage may be a voltage used to read the number of memory cells that have an abnormal threshold voltage, where the change in threshold voltage falls outside the reference range. That is, the memory device 100 can apply a test read voltage to all word lines connected to a single memory block and output sensing data indicating the number of memory cells with an abnormal threshold voltage to the memory controller 200.

[0103] The data management unit 230 can then obtain, based on the sensing data received from the memory device 100, the number of memory cells with abnormal threshold voltages among the multiple memory cells contained in each of the multiple pages via the counter 220. Furthermore, if the number of memory cells with abnormal threshold voltages is equal to or greater than the third reference number, the data management unit 230 can control the memory device 100 to save the data stored in one memory block to another memory block. Here, the third reference number may be set to a value proportional to the number of pages contained in the memory block and the critical value of the error correction code.

[0104] Figures 8a to 8c illustrate a method for counting the number of memory cells in a scanning interval according to an embodiment of the present invention.

[0105] Referring to Figures 8a to 8c, at least one scanning interval A, B may include the first scanning interval A and the second scanning interval B.

[0106] In this case, the counter 220 can obtain the number a1 of first memory cells that have a threshold voltage included in the first scanning interval A and the number b1 of second memory cells that have a threshold voltage included in the second scanning interval B, from among the multiple memory cells included in any one page.

[0107] In one specific embodiment, the counter 220 can obtain the number of first memory cells a1 by subtracting the number of memory cells having a threshold voltage lower than the third scanning voltage V3 from the number of memory cells having a threshold voltage lower than the first scanning voltage V1.

[0108] Referring to Figure 8a, the memory device 100 can apply a first scanning voltage V1 to the word line connected to the corresponding page. By applying the first scanning voltage V1, the memory device 100 can turn on memory cells having a threshold voltage lower than the first scanning voltage V1. For example, memory cells included in the ON region of Figure 8a can be turned on. The memory device 100 can output first sensing data c1 indicating the number of turned-on memory cells to the memory controller 200.

[0109] Referring to Figure 8c, the memory device 100 can apply a third scanning voltage V3 to the word line connected to the page. By applying the third scanning voltage V3, the memory device 100 can turn on memory cells having a threshold voltage lower than the third scanning voltage V3. For example, memory cells included in the ON region of Figure 8c can be turned on. The memory device 100 can output third sensing data c3 indicating the number of turned-on memory cells to the memory controller 200.

[0110] In this case, the counter 220 can obtain the number of first memory cells a1 by subtracting the number of turn-on memory cells c3 having a threshold voltage lower than the third scanning voltage V3 from the number of turn-on memory cells c1 having a threshold voltage lower than the first scanning voltage V1.

[0111] In one specific embodiment, the counter 220 can obtain the number of second memory cells b1 by subtracting the number of memory cells having a threshold voltage lower than the second scanning voltage V2 from the number of memory cells having a threshold voltage lower than the third scanning voltage V3.

[0112] Referring to Figure 8b, the memory device 100 can apply a second scanning voltage V2 to the word line connected to the corresponding page. By applying the second scanning voltage V2, the memory device 100 can turn on memory cells having a threshold voltage lower than the second scanning voltage V2. For example, memory cells included in the ON region of Figure 8b can be turned on. The memory device 100 can output second sensing data c2 indicating the number of turned-on memory cells to the memory controller 200.

[0113] In this case, the counter 220 can obtain the number of second memory cells b1 by subtracting the number of turn-on memory cells c2 having a threshold voltage lower than the second scanning voltage V2 from the number of turn-on memory cells c3 having a threshold voltage lower than the third scanning voltage V3, based on the third sensing data and second sensing data output from the memory device 100.

[0114] Figure 9 is a flowchart illustrating the operation method of the memory controller according to an embodiment of the present invention.

[0115] Referring to Figure 9, the operation method of the memory controller 200 may include: step S910 controlling the memory device 100 to apply a plurality of scanning voltages V1, V2, V3 to any one of a plurality of pages; step S920 obtaining the number of memory cells among a plurality of memory cells contained in any one page that have a threshold voltage included in at least one scanning interval A, B defined by the plurality of scanning voltages V1, V2, V3, based on sensing data obtained by reading any one of the pages with the plurality of scanning voltages V1, V2, V3; and step S930 controlling the memory device 100 to save the data stored in the memory block containing any one of the pages to another memory block, based on the number of memory cells.

[0116] Specifically, the memory controller 200 can control the memory device 100 to apply multiple scanning voltages V1, V2, and V3 to any one of multiple pages S910.

[0117] In one embodiment, at least one scanning interval A, B may include a first scanning interval A and a second scanning interval B.

[0118] In one embodiment, the plurality of scanning voltages V1, V2, and V3 may include a first scanning voltage V1 corresponding to the maximum value of the first scanning interval A, a second scanning voltage V2 corresponding to the minimum value of the second scanning interval B, and a third scanning voltage V3 corresponding to the minimum value of the first scanning interval A and the maximum value of the second scanning interval B. That is, the first scanning interval A and the second scanning interval B may be continuous intervals with the third scanning voltage V3 as the boundary. Here, the voltage values ​​can have magnitudes that decrease in the order of the first scanning voltage V1, the third scanning voltage V3, and the second scanning voltage V2.

[0119] In one embodiment, each of the multiple pages may contain multiple memory cells. The multiple memory cells may be programmed into any one of the multiple program states E0, P1, P2, P3, which are distinguished by a threshold voltage, such that each program state contains a corresponding number of memory cells.

[0120] S920 then obtains the number of memory cells among the multiple memory cells contained in any one page that have a threshold voltage included in at least one scanning interval A or B defined by the multiple scanning voltages V1, V2, and V3, based on the sensing data obtained by reading any one page with multiple scanning voltages V1, V2, and V3.

[0121] In one embodiment, at least one scan interval A, B may be included in the interval between the maximum value E0_max of the initial threshold voltage of an erase cell contained in any one page and the voltage value of the smallest default read voltage R1 among at least one preset default read voltage of the memory device 100.

[0122] S930 can then control the memory device 100 to save data stored in a memory block containing any one page to another memory block, based on the number of memory cells.

[0123] Subsequently, the memory controller 200 can perform operations from S910 as described above at predetermined intervals.

[0124] Figure 10 is a diagram illustrating the operation method of a memory controller according to an embodiment of the present invention.

[0125] Referring to Figure 10, the memory controller 200 can control the memory device 100 to apply multiple scanning voltages V1, V2, and V3 to any one of the multiple pages of the memory device 100 S1010.

[0126] The memory controller 200 can obtain the number a1 of first memory cells having a threshold voltage included in the first scanning interval A and the number b1 of second memory cells having a threshold voltage included in the second scanning interval B, from among a plurality of memory cells included in any one page of the memory device 100 S1020.

[0127] In one embodiment, the memory controller 200 can obtain the number of first memory cells a1 by subtracting the number of memory cells having a threshold voltage lower than the third scanning voltage V3 from the number of memory cells having a threshold voltage lower than the first scanning voltage V1. The memory controller 200 can then obtain the number of second memory cells b1 by subtracting the number of memory cells having a threshold voltage lower than the second scanning voltage V2 from the number of memory cells having a threshold voltage lower than the third scanning voltage V3.

[0128] The memory controller 200 can control the memory device 100 to save data stored in one memory block to another memory block, based on the number of first memory cells a1 and the number of second memory cells b1. Here, the number of first memory cells a1 may be the number of memory cells in which the threshold voltage is included in the first scan interval A, and the number of second memory cells b1 may be the number of memory cells in which the threshold voltage is included in the second scan interval B.

[0129] Specifically, the memory controller 200 can determine whether the number a1 of the first memory cells is greater than or equal to the first criterion number (S1030, Yes). If the number a1 of the first memory cells is greater than or equal to the first criterion number (S1030, Yes), the memory controller 200 can control the memory device 100 to save the data stored in one memory block to another memory block (S1050). Here, the first criterion number may be a critical value for the error correction code.

[0130] Then, the memory controller 200 can determine in S1040 whether the number a1 of the first memory cells is less than the first criterion number (S1030, No), and whether the number b1 of the second memory cells is greater than or equal to the second criterion number. Here, the second criterion number may be greater than the first criterion number. For example, the second criterion number may be a variety of numbers such as a multiple of the first criterion number or a multiple of the first criterion number.

[0131] The memory controller 200 can control the memory device 100 to save data stored in a memory block to another memory block if the number a1 of the first memory cells is less than the first reference number (S1030, No) and the number b1 of the second memory cells is equal to or greater than the second reference number (S1040, Yes) (S1050).

[0132] The memory controller 200 can control the memory device 100 to retain the data stored in the memory block containing either one page if the number a1 of the first memory cells is less than the first reference number (S1030, No) and the number b1 of the second memory cells is less than the second reference number (S1040, No). In other words, the memory controller 200 can terminate the scanning operation that detects the degradation of the memory block.

[0133] Subsequently, the memory controller 200 can repeatedly perform the S1010 operation described above at predetermined intervals.

[0134] Figure 11 is a diagram illustrating the operation method of a memory controller according to an embodiment of the present invention.

[0135] Referring to Figure 11, the memory controller 200 can control the memory device 100 to apply multiple scanning voltages V1, V2, and V3 to any one of the multiple pages of the memory device 100 S1110.

[0136] The memory controller 200 can obtain the number a1 of first memory cells having a threshold voltage included in the first scanning interval A and the number b1 of second memory cells having a threshold voltage included in the second scanning interval B, from among a plurality of memory cells included in any one page of the memory device 100 S1120.

[0137] The memory controller 200 can determine whether the ratio of the number of first memory cells a1 to the number of second memory cells b1 is greater than or equal to a reference ratio S1130. Here, the ratio of the number of first memory cells a1 to the number of second memory cells b1 may be the value obtained by dividing the number of second memory cells b1 by the number of first memory cells a1. The reference ratio may be various values ​​such as 2 or 3.

[0138] Furthermore, if the ratio of the number of first memory cells a1 to the number of second memory cells b1 is less than a reference ratio (S1130, No), the memory controller 200 can control the memory device 100 to retain the data stored in the memory block containing either one page. In other words, the memory controller 200 can terminate the scanning operation that detects the degradation of the memory block.

[0139] In one embodiment, the memory controller 200 can control the memory device 100 to save data stored in a memory block to another memory block if the ratio of the number of first memory cells a1 to the number of second memory cells b1 is equal to or greater than a reference ratio (S1130, Yes) S1160.

[0140] In one embodiment, the memory controller 200 can control the memory device 100 to apply a test read voltage to each of the multiple pages contained in the memory block if the ratio of the number of first memory cells a1 to the number of second memory cells b1 is equal to or greater than a reference ratio (S1130, Yes). The memory controller 200 can then obtain the number of memory cells that have an abnormal threshold voltage among the multiple memory cells contained in each of the multiple pages.

[0141] Then, the memory controller 200 can determine whether the number of memory cells having an abnormal threshold voltage is equal to or greater than the third criterion number (S1150). Here, the third criterion number may be set to a value proportional to the number of pages included in the memory block and the critical value of the error correction code.

[0142] Then, if the number of memory cells having an abnormal threshold voltage is equal to or greater than the third criterion number (S1150, Yes), the memory controller 200 can control the memory device 100 to save the data stored in a memory block to another memory block (S1160). Conversely, if the number of memory cells having an abnormal threshold voltage is less than the third criterion number (S1150, No), the memory controller 200 can control the memory device 100 to retain the data stored in the memory block containing any one page. In other words, the memory controller 200 can terminate the scanning operation that detects the degradation of the memory block. On the other hand, the embodiments described above in Figures 10 and 11 can be combined with each other.

[0143] Figure 12 is a block diagram showing a memory card to which the memory system according to an embodiment of the present invention is applied.

[0144] Referring to Figure 12, the memory card 2000 may include a memory device 2100, a memory controller 2200, and a connector 2300.

[0145] The memory device 2100 can perform programmed operations to save data. For example, the memory device 2100 may consist of various non-volatile memory elements such as EEPROM (Electrically Erasable and Programmable ROM), NAND flash memory, NOR flash memory, PRAM (Phase-change RAM), ReRAM (Resistive RAM), FRAM® (Ferroelectric RAM), and STT-MRAM (Spin Transfer Torque Magnetic RAM). The description of the memory device 100, as explained with reference to Figure 1, may also apply to the memory device 2100, so redundant content will be omitted below.

[0146] The memory controller 2200 may be configured to access the memory device 2100. For example, the memory controller 2200 may be configured to control the program, read, and erase operations of the memory device 2100. The memory controller 2200 is configured to provide an interface between the memory device 2100 and the host. The memory controller 2200 is configured to drive firmware for controlling the memory device 2100. The memory controller 2200 may be implemented similarly to the memory controller 200 described with reference to Figure 1.

[0147] For example, the memory controller 2200 may include components such as RAM (Random Access Memory), a processing unit, a host interface, a memory interface, and an error correction unit.

[0148] The memory controller 2200 can communicate with an external device via the connector 2300. The memory controller 2200 can communicate with an external device (e.g., a host) according to a specific communication standard. For example, the memory controller 2200 is configured to communicate with an external device via at least one of various communication standards such as USB (Universal Serial Bus), MMC (multimedia card), eMMC (embedded MMC), PCI (peripheral component interconnection), PCI-E (PCI-express), ATA (Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI (small computer system interface), ESDI (enhanced small disk interface), IDE (Integrated Drive Electronics), Firewire, UFS (Universal Flash Storage), WIFI, Bluetooth®, and NVMe. For example, the connector 2300 may be defined by at least one of the various communication standards mentioned above.

[0149] The memory device 2100 and the memory controller 2200 can be integrated into a single semiconductor device to constitute a memory card. For example, the memory device 2100 and the memory controller 2200 can be integrated into a single semiconductor device to constitute memory cards such as PC cards (PCMCIA, personal computer memory card international association), CompactFlash® cards (CF), SmartMedia cards (SM, SMC), Memory Sticks, Multimedia cards (MMC, RS-MMC, MMCmicro, eMMC), SD cards (SD, miniSD, microSD, SDHC), and general-purpose flash memory devices (UFS).

[0150] Figure 13 is a block diagram showing an SSD system to which the memory system according to an embodiment of the present invention is applied.

[0151] Referring to Figure 13, the SSD system 3000 may include a plurality of flash memories 3100_1 to 3100_n, an SSD controller 3200, an auxiliary power supply 3030, and a buffer memory 3040.

[0152] The SSD system 3000 can send and receive signals with the host 3300 via the signal connector 3010 and receive power input via the power connector 3020.

[0153] Each of the multiple flash memories 3100_1 to 3100_n can perform a program operation to save data. For example, each of the multiple flash memories 3100_1 to 3100_n may consist of various non-volatile memory elements such as EEPROM (Electrically Erasable and Programmable ROM), NAND flash memory, NOR flash memory, PRAM (Phase-change RAM), ReRAM (Resistive RAM), FRAM (Ferroelectric RAM), and STT-MRAM (Spin Transfer Torque Magnetic RAM). The description of the memory device 100 described with reference to Figure 1, etc., may also be applied similarly to each of the multiple flash memories 3100_1 to 3100_n, and redundant content will be omitted below.

[0154] The SSD controller 3200 can control multiple flash memories 3100_1 to 3100_n in response to signals received from the host 3300. For example, the signals may be based on the interface between the host 3300 and the SSD system 3000. For example, the signals may be defined by at least one of the following interfaces: USB (Universal Serial Bus), MMC (multimedia card), eMMC (embedded MMC), PCI (peripheral component interconnection), PCI-E (PCI-express), ATA (Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI (small computer system interface), ESDI (enhanced small disk interface), IDE (Integrated Drive Electronics), Firewire, UFS (Universal Flash Storage), WIFI, Bluetooth, NVMe, etc. According to an embodiment of the present invention, the SSD controller 3200 can perform the functions of the memory controller 200 described with reference to Figure 1.

[0155] The auxiliary power supply unit 3030 may be connected to the host 3300 via the power connector 3020. The auxiliary power supply unit 3030 can receive power input from the host 3300 and be charged. The auxiliary power supply unit 3030 can supply power to the SSD system 3000 if the power supply from the host 3300 is not smooth. For example, the auxiliary power supply unit 3030 may be located inside the SSD system 3000 or outside the SSD system 3000. For example, the auxiliary power supply unit 3030 may be located on the main board and provide auxiliary power to the SSD system 3000.

[0156] The buffer memory 3040 may operate as a buffer memory for the SSD system 3000. For example, the buffer memory 3040 can temporarily store data received from the host 3300 or data received from multiple flash memories 3100_1 to 3100_n, or it can temporarily store metadata (e.g., mapping tables) of the flash memories 3100_1 to 3100_n. The buffer memory 3040 may include volatile memory such as DRAM, SDRAM, DDR SDRAM, LPDDR SDRAM, GRAM, or non-volatile memory such as FRAM, ReRAM, STT-MRAM, PRAM.

[0157] Figure 14 is a block diagram showing a user system to which the memory system according to an embodiment of the present invention is applied.

[0158] Referring to Figure 14, the user system 4000 may include an application processor 4100, a memory module 4200, a network module 4300, a storage module 4400, and a user interface 4500.

[0159] The application processor 4100 can drive components, operating systems (OS), or user programs included in the user system 4000. For example, the application processor 4100 may include controllers, interfaces, and graphics engines that control components included in the user system 4000. The application processor 4100 may be provided as a system-on-a-chip (SoC).

[0160] The memory module 4200 can function as the main memory, operating memory, buffer memory, or cache memory of the user system 4000. The memory module 4200 may include volatile random access memory such as DRAM, SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, LPDDR SDRAM, LPDDR2 SDRAM, or LPDDR3 SDRAM, or non-volatile random access memory such as PRAM, ReRAM, MRAM, or FRAM. For example, the application processor 4100 and the memory module 4200 may be packaged on a POP (Package on Package) basis and provided as a single semiconductor package.

[0161] The network module 4300 can communicate with external devices. For example, the network module 4300 can support wireless communication such as CDMA (Code Division Multiple Access), GSM (Global System for Mobile Communication), WCDMA (wideband CDMA), CDMA-2000, TDMA (Time Division Multiple Access), LTE (Long Term Evolution), WiMAX, WLAN, UWB, Bluetooth, and Wi-Fi. For example, the network module 4300 may be included in the application processor 4100.

[0162] The storage module 4400 can store data. For example, the storage module 4400 can store data received from the application processor 4100. Alternatively, the storage module 4400 can transmit data stored in the storage module 4400 to the application processor 4100. For example, the storage module 4400 may be embodied in non-volatile semiconductor memory elements such as PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Registered Trademark) (Resistive RAM), NAND flash, NOR flash, or 3D structured NAND flash. For example, the storage module 4400 may be provided as a removable drive, such as a memory card or external drive, for the user system 4000.

[0163] For example, the storage module 4400 may include multiple non-volatile memory devices, and these multiple non-volatile memory devices can operate in the same manner as the memory device 100 described with reference to Figure 1. The storage module 4400 can operate in the same manner as the memory system 1000 described with reference to Figure 1.

[0164] The user interface 4500 may include an interface for inputting data or instructions to the application processor 4100 or outputting data to an external device. For example, the user interface 4500 may include user input interfaces such as a keyboard, keypad, buttons, touch panel, touchscreen, touchpad, touch ball, camera, microphone, gyroscope sensor, vibration sensor, and piezoelectric element. The user interface 4500 may also include user output interfaces such as an LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diode) display device, AMOLED (Active Matrix OLED) display device, LED, speaker, and monitor. [Explanation of Symbols]

[0165] 1000 memory system 100 memory devices 110 memory cell array 120 Voltage generation unit 130 Address Decoder 140 Input / Output Circuits 150 Control Logic 200 memory controllers 210 Scanning Voltage Control Unit 220 counters 230 Data Management Department

Claims

1. A memory controller for controlling a memory device that includes multiple memory blocks, each containing multiple pages, A scanning voltage control unit controls the memory device to apply multiple scanning voltages to any one of the multiple pages, A counter that obtains the number of memory cells among the plurality of memory cells contained in the plurality of memory cells that have a threshold voltage included in at least one scanning interval defined by the plurality of scanning voltages, based on sensing data obtained by reading any one of the plurality of scanning voltages from any one of the plurality of scanning voltages, A data management unit controls the memory device to save data stored in a memory block containing any one of the pages to another memory block, based on the number of memory cells. The at least one scanning interval includes a first scanning interval and a second scanning interval. The aforementioned counter is Obtain the number of first memory cells having a threshold voltage included in the first scanning interval and the number of second memory cells having a threshold voltage included in the second scanning interval from among the multiple memory cells included in any one of the aforementioned pages. The aforementioned data management unit, A memory controller characterized by controlling the memory device to save data stored in the memory block to another memory block based on the number of the first memory cells and the number of the second memory cells.

2. The aforementioned at least one scanning interval is The memory controller according to claim 1, characterized in that it falls within the interval between the maximum value of the initial threshold voltage of an erase cell included in any one of the aforementioned pages and the smallest default read voltage value among at least one default read voltage of the memory device.

3. The plurality of scanning voltages are, The memory controller according to claim 1, characterized in that it includes a first scanning voltage corresponding to the maximum value of the first scanning interval, a second scanning voltage corresponding to the minimum value of the second scanning interval, and a third scanning voltage corresponding to the minimum value of the first scanning interval and the maximum value of the second scanning interval.

4. The aforementioned data management unit, The memory controller according to claim 3, characterized in that if the number of the first memory cells is equal to or greater than a first reference number, the memory device is controlled to save the data stored in the memory block to the other memory block.

5. The aforementioned data management unit, If the number of the first memory cells is less than the first reference number and the number of the second memory cells is equal to or greater than the second reference number, the memory device is controlled to save the data stored in the memory block to the other memory block. The aforementioned second reference number is, The memory controller according to claim 4, characterized in that it is larger than the first reference number.

6. The aforementioned data management unit, The memory controller according to claim 3, characterized in that if the ratio of the number of first memory cells to the number of second memory cells is equal to or greater than a reference ratio, the memory device is controlled to save the data stored in the memory block to the other memory block.

7. The aforementioned data management unit, If the ratio of the number of first memory cells to the number of second memory cells is equal to or greater than a reference ratio, the scanning voltage control unit is controlled to apply a test read voltage to each of the plurality of pages contained in the memory block. The counter is used to obtain the number of memory cells having an abnormal threshold voltage among the multiple memory cells contained in each of the multiple pages, The memory controller according to claim 3, characterized in that if the number of memory cells having the abnormal threshold voltage is equal to or greater than the third reference number, the memory device is controlled to save the data stored in the memory block to the other memory block.

8. The aforementioned counter is The number of first memory cells is obtained by subtracting the number of memory cells having a threshold voltage lower than the third scanning voltage from the number of memory cells having a threshold voltage lower than the first scanning voltage. The memory controller according to claim 3, characterized in that the number of second memory cells is obtained by subtracting the number of memory cells having a threshold voltage lower than the second scanning voltage from the number of memory cells having a threshold voltage lower than the third scanning voltage.

9. Each of the aforementioned pages contains multiple memory cells, The aforementioned plurality of memory cells are The memory controller according to claim 1, characterized in that a program state is programmed such that a plurality of program states, distinguished by a threshold voltage, each include a corresponding number of memory cells.

10. A method for controlling a memory controller that controls a memory device containing multiple memory blocks, each containing multiple pages, A step of controlling the memory device to apply multiple scanning voltages to any one of the multiple pages, A step of obtaining, based on sensing data obtained by reading any one of the pages by the plurality of scanning voltages, the number of memory cells among the plurality of memory cells contained in any one page that have a threshold voltage included in at least one scanning interval defined by the plurality of scanning voltages, The process includes the step of controlling the memory device to save the data stored in a memory block containing any one of the pages to another memory block, based on the number of memory cells, The at least one scanning interval includes a first scanning interval and a second scanning interval. The step of obtaining the number of the aforementioned medicinal cells is, Obtain the number of first memory cells having a threshold voltage included in the first scanning interval and the number of second memory cells having a threshold voltage included in the second scanning interval from among the multiple memory cells included in any one of the aforementioned pages. The step of controlling the memory device based on the number of memory cells is: An operating method characterized by controlling the memory device to save data stored in the memory block to another memory block based on the number of the first memory cells and the number of the second memory cells.

11. The aforementioned at least one scanning interval is The operating method according to claim 10, characterized in that it falls within the interval between the maximum value of the initial threshold voltage of an erase cell included in any one of the aforementioned pages and the smallest default read voltage value among at least one default read voltage of the memory device.

12. The plurality of scanning voltages are, The operating method according to claim 10, characterized in that it includes a first scanning voltage corresponding to the maximum value of the first scanning interval, a second scanning voltage corresponding to the minimum value of the second scanning interval, and a third scanning voltage corresponding to the minimum value of the first scanning interval and the maximum value of the second scanning interval.

13. The step of controlling the memory device is: The operation method according to claim 12, characterized in that if the number of the first memory cells is equal to or greater than a first reference number, the memory device is controlled to save the data stored in the memory block to the other memory block.

14. The step of controlling the memory device is: If the number of the first memory cells is less than the first reference number and the number of the second memory cells is equal to or greater than the second reference number, the memory device is controlled to save the data stored in the memory block to the other memory block. The aforementioned second reference number is, The operating method according to claim 13, characterized in that it is greater than the first reference number.

15. The step of controlling the memory device is: The operation method according to claim 12, characterized in that if the ratio of the number of first memory cells to the number of second memory cells is equal to or greater than a reference ratio, the memory device is controlled to save the data stored in the memory block to the other memory block.

16. The step of controlling the memory device is: If the ratio of the number of first memory cells to the number of second memory cells is equal to or greater than a reference ratio, the memory device is controlled to apply a test read voltage to each of the plurality of pages contained in the memory block. The steps include obtaining the number of memory cells having an abnormal threshold voltage among the multiple memory cells contained in each of the aforementioned multiple pages, The operating method according to claim 12, characterized in that if the number of memory cells having the abnormal threshold voltage is equal to or greater than a third reference number, the memory device is controlled to save the data stored in the memory block to another memory block.

17. The step of obtaining the number of the aforementioned medicinal cells is, The number of first memory cells is obtained by subtracting the number of memory cells having a threshold voltage lower than the third scanning voltage from the number of memory cells having a threshold voltage lower than the first scanning voltage. The operating method according to claim 12, characterized in that the number of second memory cells is obtained by subtracting the number of memory cells having a threshold voltage lower than the second scanning voltage from the number of memory cells having a threshold voltage lower than the third scanning voltage.

18. Each of the aforementioned pages contains multiple memory cells, The aforementioned plurality of memory cells are The operation method according to claim 10, characterized in that a program state is programmed such that a plurality of program states, distinguished by a threshold voltage, each include a corresponding number of memory cells.

Citation Information

Patent Citations

  • NAND flash memory and memory system

    JP2009140564A

  • Nonvolatile semiconductor storage device

    JP2012216269A

  • Identification of hazardous data in non-volatile storage devices

    JP2013504836A

  • Memory system

    JP2018160065A

  • Non-volatile semiconductor memory device

    US20120250420A1