KR101751407B1 - Analog information based emulation method for investigating reliability of flash memory and apparatus of the same - Google Patents

Analog information based emulation method for investigating reliability of flash memory and apparatus of the same Download PDF

Info

Publication number
KR101751407B1
KR101751407B1 KR1020160017818A KR20160017818A KR101751407B1 KR 101751407 B1 KR101751407 B1 KR 101751407B1 KR 1020160017818 A KR1020160017818 A KR 1020160017818A KR 20160017818 A KR20160017818 A KR 20160017818A KR 101751407 B1 KR101751407 B1 KR 101751407B1
Authority
KR
South Korea
Prior art keywords
cell
amount
charge
threshold voltage
bit
Prior art date
Application number
KR1020160017818A
Other languages
Korean (ko)
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 KR1020160017818A priority Critical patent/KR101751407B1/en
Priority to PCT/KR2016/015240 priority patent/WO2017142185A1/en
Application granted granted Critical
Publication of KR101751407B1 publication Critical patent/KR101751407B1/en
Priority to GB1721231.7A priority patent/GB2559272B/en

Links

Images

Classifications

    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K3/00Apparatus or processes for manufacturing printed circuits
    • H05K3/30Assembling printed circuits with electric components, e.g. with resistor
    • H05K3/32Assembling printed circuits with electric components, e.g. with resistor electrically connecting electric components or wires to printed circuits
    • H05K3/321Assembling printed circuits with electric components, e.g. with resistor electrically connecting electric components or wires to printed circuits by conductive adhesives
    • 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/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J7/00Adhesives in the form of films or foils
    • C09J7/20Adhesives in the form of films or foils characterised by their carriers
    • C09J7/21Paper; Textile fabrics
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09JADHESIVES; NON-MECHANICAL ASPECTS OF ADHESIVE PROCESSES IN GENERAL; ADHESIVE PROCESSES NOT PROVIDED FOR ELSEWHERE; USE OF MATERIALS AS ADHESIVES
    • C09J9/00Adhesives characterised by their physical nature or the effects produced, e.g. glue sticks
    • C09J9/02Electrically-conducting adhesives
    • GPHYSICS
    • G02OPTICS
    • G02FOPTICAL DEVICES OR ARRANGEMENTS FOR THE CONTROL OF LIGHT BY MODIFICATION OF THE OPTICAL PROPERTIES OF THE MEDIA OF THE ELEMENTS INVOLVED THEREIN; NON-LINEAR OPTICS; FREQUENCY-CHANGING OF LIGHT; OPTICAL LOGIC ELEMENTS; OPTICAL ANALOGUE/DIGITAL CONVERTERS
    • G02F1/00Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics
    • G02F1/01Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the intensity, phase, polarisation or colour 
    • G02F1/13Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the intensity, phase, polarisation or colour  based on liquid crystals, e.g. single liquid crystal display cells
    • G02F1/133Constructional arrangements; Operation of liquid crystal cells; Circuit arrangements
    • G02F1/1333Constructional arrangements; Manufacturing methods
    • G02F1/1345Conductors connecting electrodes to cell terminals
    • G02F1/13452Conductors connecting driver circuitry and terminals of panels
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • 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
    • 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/26Sensing or reading circuits; Data output circuits
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • 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/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50004Marginal testing, e.g. race, voltage or current testing of threshold voltage
    • 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/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50016Marginal testing, e.g. race, voltage or current testing of retention
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L24/00Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
    • H01L24/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L24/26Layer connectors, e.g. plate connectors, solder or adhesive layers; Manufacturing methods related thereto
    • H01L24/28Structure, shape, material or disposition of the layer connectors prior to the connecting process
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L24/00Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
    • H01L24/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L24/26Layer connectors, e.g. plate connectors, solder or adhesive layers; Manufacturing methods related thereto
    • H01L24/31Structure, shape, material or disposition of the layer connectors after the connecting process
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10KORGANIC ELECTRIC SOLID-STATE DEVICES
    • H10K59/00Integrated devices, or assemblies of multiple devices, comprising at least one organic light-emitting element covered by group H10K50/00
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/75Array having a NAND structure comprising, for example, memory cells in series or memory elements in series, a memory element being a memory cell in parallel with an access transistor

Abstract

본 발명은 실제 플래시 메모리 셀에 아날로그 정보를 저장하는 방법을 에뮬레이션 소프트웨어에 그대로 적용하여 물리적인 문제점을 빠르게 검증할 수 있는 플래시 메모리의 신뢰성 검증을 위한 아날로그 정보 기반 에뮬레이션 방법 및 그 장치를 제공하기 위한 것으로서, (A) 에뮬레이터를 통해 플래시 메모리에 0 또는 1로 이루어지는 비트 데이터가 기록될 때, 각 셀의 비트 데이터에 대응되는 전하량이 기록되는 단계와, (B) 플래시 메모리의 데이터를 읽을 때, 각 셀에 기록된 전하량을 서로 다른 전압(voltage) 분포를 가지고 분류된 임계 전압(threshold voltage)으로 각각 분류하는 단계와, (C) 각 셀에 삽입된 전하량을 상기 설정된 임계 전압으로 분류된 범위와 비교하여 각 셀에 저장된 전하량과 매칭되는 임계 전압의 범위를 검출하여 대응되는 비트로 판별하는 단계를 포함하여 이루어지는데 있다.The present invention provides an analog information-based emulation method and apparatus for verifying reliability of a flash memory that can quickly verify a physical problem by directly applying a method of storing analog information to an actual flash memory cell in an emulation software (A) writing bit data of 0 or 1 into the flash memory through the emulator, the amount of charge corresponding to bit data of each cell being written; (B) when reading data of the flash memory, (C) comparing the amount of charge inserted into each cell with the range classified as the set threshold voltage, and (c) comparing the amount of charge stored in each cell with the threshold voltage The range of the threshold voltage matched with the amount of charge stored in each cell is detected and discriminated as a corresponding bit And a step of performing the steps of:

Description

플래시 메모리의 신뢰성 검증을 위한 아날로그 정보 기반 에뮬레이션 방법 및 그 장치{Analog information based emulation method for investigating reliability of flash memory and apparatus of the same}[0001] The present invention relates to an analog information-based emulation method and apparatus for verifying the reliability of a flash memory,

본 발명은 플래시 메모리에서 발생할 수 있는 다양한 물리적인 문제점들을 연구할 수 있는 플래시 메모리 에뮬레이션 방법에 관한 것으로, 특히 실제 플래시 메모리에서 아날로그 정보인 전하량을 저장하는 방식을 사용하는 새로운 구조의 플래시 메모리 에뮬레이션 방법 및 그 장치에 관한 것이다.The present invention relates to a flash memory emulation method capable of studying various physical problems that may occur in a flash memory, and more particularly, to a flash memory emulation method of a new structure using a method of storing charge amount, which is analog information, And the device.

플래시 메모리는 셀(cell)로 구성되어 있고, 데이터를 저장하기 위해서 셀 내에 전하를 저장하는 방식을 사용한다. 셀에 저장된 전하량에 따라서 0 또는 1 비트(bit)로 표현한다. 많은 셀들이 서로 연결되어 페이지(page), 블록(block) 등의 플래시 메모리 읽기/쓰기와 삭제 단위를 구성한다. 플래시 메모리는 여러 칩들이 모여 다중 채널(channel)과 웨이(way)를 구성하기도 한다.The flash memory is made up of cells and stores the charge in the cell to store data. It is represented by 0 or 1 bit according to the amount of charge stored in the cell. Many cells are connected to each other to form flash memory read / write and erase units such as pages, blocks, and the like. The flash memory is composed of several chips to form multiple channels and ways.

플래시 메모리 에뮬레이터란 플래시 메모리의 동작을 소프트웨어적으로 모의 실험할 수 있도록 구현하는 것이다. 셀에 데이터 저장 및 페이지/블록 접근 등의 인터페이스를 제공하며, 이를 통해 실제 하드웨어 없이 플래시 메모리의 특성 분석과 FTL(Flash Translation Layer)과 갖은 펌웨어의 동작 분석을 가능하게 한다.The flash memory emulator is a software implementation of the flash memory. It provides data storage and page / block access interface to the cell. It enables analysis of characteristics of flash memory, analysis of FTL (Flash Translation Layer) and operation of all firmware without actual hardware.

기존에 존재하는 모든 에뮬레이터는 플래시 메모리의 데이터 저장을 에뮬레이션하기 위해 셀에 데이터를 저장할 때 0 또는 1이라는 디지털 형태로 저장하고 읽어 들이는 방법을 사용한다. 사실, FTL의 동작 검증이나 성능 분석을 위해서는 이러한 디지털 형태의 저장으로도 충분하다. 이때, 실제 플래시 메모리는 아날로그 형태의 전하는 저장하고, 저장된 전하량에 의해 0과 1을 구분한다.All existing emulators use a method of storing data in a cell to emulate the data storage of the flash memory and storing it in a digital form of 0 or 1. In fact, this type of digital storage is sufficient for FTL operation verification and performance analysis. At this time, the actual flash memory stores the analog charge, and distinguishes between 0 and 1 by the stored charge amount.

하지만 실제 플래시 메모리에서는 시간이 지남에 따라 셀 내에 저장되어 있는 전하가 감소하거나(retention error), 읽기/쓰기 수행 시 인접한 셀에 소량의 전하가 추가적으로 저장되는 현상(read/program disturb)이 발생하며, 이러한 현상이 누적되면 셀을 읽을 때 잘못된 정보를 가져올 수 있다. 특히, 최근 플래시 메모리의 특징인 MLC(Multi-Level Cell)의 발전과 집적도 확대는 이러한 에러들의 발생 가능성을 급격히 증가시키고 있으며, 이들을 해결하여 플래시 메모리의 신뢰성을 향상시킬 수 있는 기술 개발의 필요성을 증가시키고 있다. 하지만 현재의 에뮬레이터로는 이러한 에러들을 실험할 수 없다.However, in a real flash memory, there is a phenomenon (read / program disturb) that a charge stored in a cell decreases (retention error) or a small amount of charge is additionally stored in an adjacent cell during a read / write operation, This accumulation can lead to incorrect information when reading the cell. Particularly, the development of multi-level cell (MLC), which is a characteristic of flash memory, and the increase of integration density are increasing the possibility of occurrence of such errors, and there is a need to develop a technology capable of improving the reliability of flash memory by solving these problems I have to. However, current emulators can not test these errors.

이에 따라, 신뢰성 분석이 필요한 경우, 대다수의 개발자들은 이 문제점을 검증하기 위해서 실제 물리적인 장비들을 준비하고, 증상들이 발생될 때 까지 반복된 실험을 지속적으로 진행하고 있다.Thus, when a reliability analysis is required, most developers are preparing real physical equipment to verify this problem, and are continuing to experiment repeatedly until symptoms occur.

하지만, 기존처럼 디지털 형태로 데이터를 저장하면, 플래시 메모리의 물리적인 특성에 기인한 오류, 구체적으로 데이터 유지 오류(retention error), 쓰기 간섭(write disturb), 읽기 간섭(read disturb)은 시간이 어느 정도 지난 이후에 플래시 메모리에서 발생하기 때문에 실제 하드웨어로 실험하여 오류를 검증할 수 없다는 문제점이 존재한다. 결국 플래시 메모리의 물리적인 특성에 기인한 문제점들을 실험할 수 있는 새로운 형태의 에뮬레이션 방법이 필요하다. However, when data is stored in the digital form as in the conventional method, errors caused by the physical characteristics of the flash memory, specifically, retention errors, write disturbances, and read disturbances, Since it occurs in the flash memory after a certain amount of time, there is a problem that the error can not be verified by experimenting with the actual hardware. Finally, a new type of emulation method is needed to test the problems caused by the physical characteristics of the flash memory.

공개특허공보 제10-2015-0099795호 (공개일자 2015.09.01)Published Japanese Patent Application No. 10-2015-0099795 (Publication date 2015.09.01)

따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서, 실제 플래시 메모리 셀에 아날로그 정보를 저장하는 방법을 에뮬레이션 소프트웨어에 그대로 적용하여 물리적인 문제점을 빠르게 검증할 수 있는 플래시 메모리의 신뢰성 검증을 위한 아날로그 정보 기반 에뮬레이션 방법 및 그 장치를 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made in order to solve the above problems, and it is an object of the present invention to provide a method and apparatus for verifying the reliability of a flash memory capable of quickly verifying a physical problem by directly applying a method of storing analog information in a flash memory cell to emulation software An analog information based emulation method and a device therefor.

본 발명의 다른 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.Other objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood by those skilled in the art from the following description.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 플래시 메모리의 신뢰성 검증을 위한 아날로그 정보 기반 에뮬레이션 방법 및 그 장치의 특징은 (A) 에뮬레이터를 통해 플래시 메모리에 0 또는 1로 이루어지는 비트 데이터가 기록될 때, 각 셀의 비트 데이터에 대응되는 전하량이 기록되는 단계와, (B) 플래시 메모리의 데이터를 읽을 때, 각 셀에 기록된 전하량을 서로 다른 전압(voltage) 분포를 가지고 분류된 임계 전압(threshold voltage)으로 각각 분류하는 단계와, (C) 각 셀에 삽입된 전하량을 상기 설정된 임계 전압으로 분류된 범위와 비교하여 각 셀에 저장된 전하량과 매칭되는 임계 전압의 범위를 검출하여 대응되는 비트로 판별하는 단계를 포함하여 이루어지는데 있다.According to another aspect of the present invention, there is provided an analog information-based emulation method for verifying reliability of a flash memory, including: (A) when bit data consisting of 0 or 1 is written to a flash memory through an emulator (B) storing the amount of charge corresponding to the bit data of each cell, and (B) reading the data of the flash memory, the amount of charge stored in each cell is divided into a threshold voltage (C) comparing the amount of charge inserted in each cell with the range classified as the set threshold voltage, detecting a range of threshold voltages matched with the amount of charge stored in each cell, and determining the corresponding range of bits .

바람직하게 상기 (A) 단계는 셀이 유지할 수 있는 최대 전하량을 검출하는 단계와, 상기 검출된 최대 전하량을 기반으로 각 셀에 저장되는 비트에 대응되는 개수의 평균값으로 분류된 일정 범위를 갖는 임계 전압(threshold voltage)을 설정하는 단계와, 상기 설정된 임계 전압으로 분류된 범위를 기반으로 기록될 비트 데이터에 대응되는 전하량을 각 셀에 기록하는 단계를 포함하여 이루어지는 것을 특징으로 한다.Preferably, the step (A) includes the steps of: detecting a maximum amount of charge that can be held by the cell; determining a threshold voltage having a predetermined range classified into a number of average values corresponding to bits stored in each cell based on the detected maximum amount of charge; and setting a threshold voltage of each of the cells to be written based on the threshold voltage and recording the amount of charge corresponding to bit data to be written in each cell based on the range classified as the set threshold voltage.

바람직하게 상기 셀은 워드 라인과 비트 라인으로 연결되어 있으며, 워드 라인에는 주소(페이지 번호)가 들어가고, 비트 라인에는 해당 주소로 쓸 데이터 또는 주소에서 읽은 데이터가 전달되는 것을 특징으로 한다.Preferably, the cell is connected to a word line and a bit line, and an address (page number) is included in the word line, and data to be written to the corresponding address or data read from the address is transferred to the bit line.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 플래시 메모리의 신뢰성 검증을 위한 아날로그 정보 기반 에뮬레이션 장치의 특징은 셀이 유지할 수 있는 최대 전하량을 검출하는 최대 전하량 검출부와, 상기 검출된 최대 전하량을 각 셀에 저장되는 비트 데이터에 대응되는 개수의 평균값으로 분류한 일정한 범위를 갖는 임계 전압을 설정하는 범위 설정부와, 상기 설정된 임계 전압으로 분류된 범위를 기반으로 기록되는 데이터에 대응되는 전하량을 각 셀에 기록하는 셀 기록부와, 상기 각 셀에 기록된 전하량을 서로 다른 전압(voltage) 분포를 가지는 임계 전압(threshold voltage)으로 각각 분류하는 임계전압 분류부와, 상기 임계전압 분류부에서 분류된 각 셀에 기록된 전하량을 임계전압 범위에 대응되는 비트 데이터와 매칭시키는 매칭부와, 상기 매칭부에서 매칭되는 비트 데이터를 판별하는 비트 판별부를 포함하여 구성되는데 있다.According to another aspect of the present invention, there is provided an analog information-based emulation apparatus for verifying reliability of a flash memory, comprising: a maximum charge amount detector for detecting a maximum charge amount that can be held by a cell; A threshold setting unit configured to set a threshold voltage having a predetermined range classified into a number of average values corresponding to bit data to be stored in each cell; A threshold voltage classifying unit for classifying each of the cells into a threshold voltage having a voltage distribution having a different voltage distribution; A matching unit for matching the recorded charge amount with bit data corresponding to the threshold voltage range, Bit determination to determine the bit data to be matched in unit may consists including parts.

바람직하게 상기 임계전압 분류부는 셀이 유지할 수 있는 최대 전하량을 각 셀에 저장되는 비트에 대응되는 개수의 평균값으로 분류한 일정한 범위로 분류되는 것을 특징으로 한다.Preferably, the threshold voltage classifier is classified into a range in which the maximum amount of charge that the cell can hold is classified into an average value corresponding to bits stored in each cell.

이상에서 설명한 바와 같은 본 발명에 따른 플래시 메모리의 신뢰성 검증을 위한 아날로그 정보 기반 에뮬레이션 방법 및 그 장치는 다음과 같은 효과가 있다.As described above, the analog information based emulation method and apparatus for verifying the reliability of the flash memory according to the present invention have the following effects.

첫째, 아날로그 정보 기반의 플래시 메모리 에뮬레이션 기법은 기존의 물리적인 특성에 기인한 에러들을 빠르고 쉽게 검증할 수 있으며, FTL과 같은 다양한 소프트웨어를 적용해 봄으로써 물리적인 문제점에 대한 개선점을 제시할 수 있다.First, the flash memory emulation technique based on analog information can quickly and easily verify errors due to the existing physical characteristics, and can apply various software such as FTL to improve the physical problems.

둘째, 아날로그 정보들의 변화를 관찰함으로써 효과적인 플래시 메모리 기반의 저장장치 개발이 가능하도록 한다.Second, by observing the change of analog information, it is possible to develop effective flash memory based storage device.

셋째, SSD 기업 또는 USB, SD카드 등의 개발 기업으로 기술 이전이 가능하고, 플래시 메모리 관련 교육 기관 또는 대학교의 컴퓨터 전공 학과에 기술 이전으로 통하여 교육 자료로도 활용이 가능하다.Third, it is possible to transfer technology to SSD companies or development companies such as USB and SD card, and it can be used as education data through technology transfer to educational institutions related to flash memory or computer department of universities.

도 1 은 본 발명의 실시예에 따른 플래시 메모리의 신뢰성 검증을 위한 아날로그 정보 기반 에뮬레이션 방법을 설명하기 위한 흐름도
도 2 는 도 1에서 각 셀의 비트 데이터에 대응되는 전하량이 기록되는 단계를 상세히 설명하기 위한 흐름도
도 3 은 기존의 플래시 메모리 구조와 본 발명에 따른 에뮬레이션 방법에 따른 에뮬레이션 소프트웨어의 구조를 비교하기 위한 구성도
도 4 는 도 3에서 쓰기와 읽기 과정을 의사 코드로 표현한 알고리즘
도 5 는 본 발명의 실시예에 따른 플래시 메모리의 신뢰성 검증을 위한 아날로그 정보 기반 에뮬레이션 장치를 나타낸 블록도
1 is a flowchart for explaining an analog information based emulation method for reliability verification of a flash memory according to an embodiment of the present invention;
FIG. 2 is a flowchart for describing in detail the step of recording the amount of charge corresponding to the bit data of each cell in FIG.
FIG. 3 is a block diagram for comparing the structure of the emulation software according to the conventional flash memory structure and the emulation method according to the present invention.
FIG. 4 is a flowchart illustrating an algorithm
5 is a block diagram illustrating an analog information-based emulation apparatus for reliability verification of a flash memory according to an embodiment of the present invention.

본 발명의 다른 목적, 특성 및 이점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the detailed description of the embodiments with reference to the accompanying drawings.

본 발명에 따른 플래시 메모리의 신뢰성 검증을 위한 아날로그 정보 기반 에뮬레이션 방법 및 그 장치의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.An analog information-based emulation method for verifying reliability of a flash memory according to the present invention and a preferred embodiment thereof will be described with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. It is provided to let you know. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention and are not intended to represent all of the technical ideas of the present invention. Therefore, various equivalents It should be understood that water and variations may be present.

도 1 은 본 발명의 실시예에 따른 플래시 메모리의 신뢰성 검증을 위한 아날로그 정보 기반 에뮬레이션 방법을 설명하기 위한 흐름도이다.FIG. 1 is a flowchart illustrating an analog information-based emulation method for reliability verification of a flash memory according to an exemplary embodiment of the present invention.

도 1을 참조하여 설명하면, 먼저 에뮬레이터를 통해 플래시 메모리에 0 또는 1로 이루어지는 비트 데이터가 기록될 때, 각 셀의 비트 데이터에 대응되는 전하량이 기록된다(S100). 이때, 정확하게는 플래시 메모리 셀을 구성하고 있는 플로팅 게이트(floating gate)에 전하가 삽입된다.Referring to FIG. 1, when bit data of 0 or 1 is written in the flash memory through the emulator, the amount of charge corresponding to bit data of each cell is recorded (S100). At this time, charges are inserted into the floating gate which constitutes the flash memory cell precisely.

이때, 각 셀에 전하량을 기록하는 방법으로, 도 2에서 도시하고 있는 것과 같이 먼저 셀이 유지할 수 있는 최대 전하량을 검출한 후(S101), 상기 검출된 최대 전하량을 기반으로 각 셀에 저장되는 비트에 대응되는 개수의 평균값으로 분류된 일정 범위를 갖는 임계 전압(threshold voltage)을 설정한다(S102). 그리고 상기 설정된 임계 전압으로 분류된 범위를 기반으로 기록될 비트 데이터에 대응되는 전하량을 각 셀에 기록한다(S103).In this case, as shown in FIG. 2, the maximum amount of charge that can be held by the cell is detected (S101), and a bit stored in each cell based on the detected maximum amount of charge A threshold voltage having a certain range classified into a number of average values corresponding to the threshold voltage is set (S102). The amount of charge corresponding to the bit data to be written is recorded in each cell based on the range classified as the set threshold voltage (S103).

예를 들어 셀이 유지할 수 있는 최대 전하량의 400이라고 하면, 각 셀은 0~400 사이의 아날로그 값을 갖는다. 그리고 한 셀에 저장되는 비트가 1 비트인 경우, 1 비트에 대응되는 개수는 2개(0, 1)이므로 설정되는 임계 전압은 평균값이 200을 단위로 0~200, 201~400으로 각각 분류되어 '0'은 0~200 사이의 전하량으로 해당 셀에 기록되고, '1'은 201~400 사이의 전하량으로 해당 셀에 기록된다. 한편, 각 셀에 저장되는 비트가 2 비트인 경우, 1 비트에 대응되는 개수는 4개(00, 01, 10, 11)이므로 임계 전압은 100 단위로 0~100, 101~200, 201~300, 301~400으로 각각 분류되어 '00'은 0~100 사이의 전하량으로 해당 셀에 기록되고, '01'은 101~200 사이의 전하량으로 해당 셀에 기록되고, '10'은 201~300 사이의 전하량으로 해당 셀에 기록되며, '11'은 301~400 사이의 전하량으로 해당 셀에 기록된다.For example, if the cell has a maximum charge quantity of 400 that can be held, each cell has an analog value between 0 and 400. When a bit stored in one cell is 1 bit, the number corresponding to one bit is 2 (0, 1). Therefore, the threshold voltage to be set is divided into 200 to 200 and 201 to 400, respectively, '0' is recorded in the corresponding cell with an amount of charge between 0 and 200, and '1' is recorded in the corresponding cell with the amount of charge between 201 and 400. When the number of bits to be stored in each cell is 2, the number of bits corresponding to one bit is four (00, 01, 10, 11), so the threshold voltage is 0 to 100, 101 to 200, 201 to 300 , '00' is recorded in the corresponding cell with a charge amount between 0 and 100, '01' is recorded in the corresponding cell with a charge amount between 101 and 200, '10' is recorded between 201 and 300 '11' is recorded in the corresponding cell with a charge amount between 301 and 400. In this case,

이어 플래시 메모리의 데이터를 읽을 때, 각 셀에 기록된 전하량을 서로 다른 전압(voltage) 분포를 가지고 분류된 임계 전압(threshold voltage)으로 각각 분류한다(S200). 이때 상기 임계 전압의 분류는 셀이 유지할 수 있는 최대 전하량을 각 셀에 저장되는 비트에 대응되는 개수의 평균값으로 분류한 범위로 분류된다. When the data of the flash memory is read, the amount of charge stored in each cell is classified into threshold voltages classified with different voltage distributions (S200). At this time, the threshold voltage is classified into a range in which the maximum amount of charge that the cell can hold is classified into an average value corresponding to the number of bits stored in each cell.

예를 들어, 셀이 유지할 수 있는 최대 전하량이 400이라고 하면, 각 셀은 0~400 사이의 아날로그 값을 갖는다. 그리고 각 셀에 저장되는 비트가 1 비트인 경우, 1 비트에 대응되는 개수는 0, 1로 2개 이므로 임계 전압은 200 단위로 0~200, 201~400으로 각각 분류된다. 한편, 각 셀에 저장되는 비트가 2 비트인 경우, 1 비트에 대응되는 개수는 00, 01, 10, 11로 4개 이므로 임계 전압은 100 단위로 0~100, 101~200, 201~300, 301~400으로 각각 분류된다.For example, if the maximum amount of charge that a cell can sustain is 400, each cell has an analog value between 0 and 400. When the bits stored in each cell are 1 bit, the number corresponding to one bit is 0, and the number corresponding to 1 bit is 2, so the threshold voltage is divided into 200 to 200 and 201 to 400, respectively. When the number of bits stored in each cell is two, the number of bits corresponding to one bit is four, i.e., 00, 01, 10 and 11. Therefore, the threshold voltage is set to 0 to 100, 101 to 200, 201 to 300, 301 to 400, respectively.

그리고 각 셀에 삽입된 전하량을 상기 설정된 임계 전압으로 분류된 범위와 비교하여 각 셀에 저장된 전하량과 매칭되는 임계 전압의 범위를 검출하여 대응되는 비트로 판별한다(S300). 결국 셀에 들어있는 전하량에 따라 0 또는 1을 판별하는 것이다. Then, a range of the threshold voltage matching with the amount of charge stored in each cell is detected by comparing the amount of charge inserted into each cell with the range classified by the set threshold voltage, and discriminated as a corresponding bit (S300). And eventually determines 0 or 1 according to the amount of charge in the cell.

도 3 은 기존의 플래시 메모리 구조와 본 발명에 따른 에뮬레이션 방법에 따른 에뮬레이션 소프트웨어의 구조를 비교하기 위한 구성도이다.3 is a block diagram for comparing the structure of the emulation software according to the conventional flash memory structure and the emulation method according to the present invention.

도 3에서 도시하고 있는 것과 같이, 셀은 워드 라인과 비트 라인으로 연결되어 있으며, 워드 라인에는 주소(페이지 번호)가 들어가고, 비트 라인에는 해당 주소로 쓸 데이터 또는 주소에서 읽은 데이터가 전달된다.As shown in FIG. 3, a cell is connected to a word line by a bit line, an address (page number) is inserted into the word line, and data to be written to the corresponding address or data read from the address is transferred to the bit line.

한편, 도 4 는 도 3에서 쓰기와 읽기 과정을 의사 코드로 표현한 알고리즘이다.Meanwhile, FIG. 4 shows an algorithm in which the writing and reading processes are represented by a pseudo code in FIG.

도 4에서 나타내고 있는 것과 같이, 쓰기의 경우 해당 주소에 쓰려는 비트에 대응되는 전하량을 기록하고, 읽기의 경우 전하량의 범위를 인식하고 대응되는 비트로 판별한다.As shown in FIG. 4, in the case of writing, the amount of charge corresponding to the bit to be written in the address is recorded. In the case of reading, the range of the amount of charge is recognized and discriminated by the corresponding bit.

이렇게 각 셀이 디지털 값이 아닌 아날로그 값을 가지면 기존의 에뮬레이터처럼 플래시에서 FTL이나 펌웨어(firmware)의 동작 분석이나 쓰기/읽기 회수 등과 같은 성능 분석에 활용될 수 있을 뿐만 아니라 플래시 메모리의 물리적인 특성에 기인한 신뢰성 분석에도 활용될 수 있다.If each cell has an analog value instead of a digital value, it can be used for performance analysis such as analysis of FTL or firmware operation or write / read times of flash as in the existing emulator, And can be used for reliability analysis.

구체적으로 시간이 지남에 따라 각 셀에 저장된 전하량을 조금씩 감소시킴으로써 유지 오류(retention error)를 모의실험 할 수 있다. 또한 셀이 읽히거나 기록되었을 때 인접한 셀에 전하량을 증가시켜주면 읽기/쓰기 간섭(read/program disturb)을 실험할 수 있다.Specifically, retention errors can be simulated by gradually decreasing the amount of charge stored in each cell over time. It is also possible to test read / program disturb by increasing the amount of charge in adjacent cells when the cell is read or written.

또한 각 셀마다 전하가 추가되거나 빠지는 비율을 다르게 하여 에러에 강건한 슬로우 셀(slow cell)과 페스트 셀(fast cell)을 에뮬레이션할 수 있으며, 내구성(endurance)의 변화에 따른 에러의 변화 양상도 분석할 수 있다. 뿐만 아니라 이러한 에러를 해결할 수 있는 새로운 기법을 설계했을 때 발명된 에뮬레이터에서 검증할 수 있다.In addition, it is possible to emulate a slow cell and a fast cell which are robust against errors by changing the ratio of addition or removal of charge for each cell. Also, it is possible to emulate a slow cell and a fast cell according to the change of endurance, . In addition, when designing a new technique to address these errors, it can be verified in the invented emulator.

이와 같은 기능을 수행하는 플래시 메모리의 신뢰성 검증을 위한 아날로그 정보 기반 에뮬레이션 장치는 도 5에서 도시하고 있다.An analog information based emulation apparatus for verifying the reliability of a flash memory performing such a function is shown in FIG.

도 5에서 도시하고 있는 것과 같이, 셀이 유지할 수 있는 최대 전하량을 검출하는 최대 전하량 검출부(10)와, 상기 검출된 최대 전하량을 각 셀에 저장되는 비트 데이터에 대응되는 개수의 평균값으로 분류한 일정한 범위를 갖는 임계 전압을 설정하는 범위 설정부(20)와, 상기 설정된 임계 전압으로 분류된 범위를 기반으로 기록되는 데이터에 대응되는 전하량을 각 셀에 기록하는 셀 기록부(30)와, 상기 각 셀에 기록된 전하량을 서로 다른 전압(voltage) 분포를 가지는 임계 전압(threshold voltage)으로 각각 분류하는 임계전압 분류부(40)와, 상기 임계전압 분류부(40)에서 분류된 각 셀에 기록된 전하량을 임계전압 범위에 대응되는 비트 데이터와 매칭시키는 매칭부(50)와, 상기 매칭부(50)에서 매칭되는 비트 데이터를 판별하는 비트 판별부(60)로 구성된다.As shown in FIG. 5, a maximum charge amount detecting section 10 for detecting a maximum charge amount that can be held by a cell, and a constant charge amount detecting section 10 for dividing the detected maximum charge amount into average values corresponding to bit data stored in each cell A cell writing unit 30 for writing a charge amount corresponding to data recorded on the basis of the range classified as the set threshold voltage into each cell; A threshold voltage classifying unit 40 for classifying the amount of charges recorded in the threshold voltage classifying unit 40 into a threshold voltage having a different voltage distribution, And a bit discrimination unit 60 for discriminating the bit data matched by the matching unit 50. The bit discrimination unit 60 discriminates the bit data of the matching unit 50 with the bit data corresponding to the threshold voltage range.

이때, 상기 임계전압 분류부(40)는 셀이 유지할 수 있는 최대 전하량을 각 셀에 저장되는 비트에 대응되는 개수의 평균값으로 분류한 일정한 범위로 분류된다. At this time, the threshold voltage classifying unit 40 classifies the maximum amount of charge that the cell can hold into a predetermined range classified into a number average value corresponding to bits stored in each cell.

예를 들어, 셀이 유지할 수 있는 최대 전하량이 400이라고 하면, 각 셀은 0~400 사이의 아날로그 값을 갖는다. 그리고 각 셀에 저장되는 비트가 1 비트인 경우, 1 비트에 대응되는 개수는 0, 1로 2개 이므로 임계 전압은 200 단위로 0~200, 201~400으로 각각 분류된다. 한편, 각 셀에 저장되는 비트가 2 비트인 경우, 1 비트에 대응되는 개수는 00, 01, 10, 11로 4개 이므로 임계 전압은 100 단위로 0~100, 101~200, 201~300, 301~400으로 각각 분류된다.For example, if the maximum amount of charge that a cell can sustain is 400, each cell has an analog value between 0 and 400. When the bits stored in each cell are 1 bit, the number corresponding to one bit is 0, and the number corresponding to 1 bit is 2, so the threshold voltage is divided into 200 to 200 and 201 to 400, respectively. When the number of bits stored in each cell is two, the number of bits corresponding to one bit is four, i.e., 00, 01, 10 and 11. Therefore, the threshold voltage is set to 0 to 100, 101 to 200, 201 to 300, 301 to 400, respectively.

실시예Example

에뮬레이션 소프트웨어는 실제 플래시 메모리와 동일하게 채널(channel), 웨이(way), 블록(block), 페이지(page)로 구성된다. 각 페이지는 4KB 또는 8KB 크기의 데이터를 저장할 수 있으며, 결국 16KB 또는 32KB 개의 셀이 존재하게 된다.Emulation software consists of channel, way, block, and page just like real flash memory. Each page can store 4KB or 8KB of data, resulting in 16KB or 32KB of cells.

예를 들어서 한 페이지의 크기가 4KB이고 한 블록에 1024개의 페이지가 존재한다면, 총 셀의 개수는 16,777,216개의 셀이 존재하게 되며, 에뮬레이션 소프트웨어는 채널과 웨이까지 모두 고려하여 메모리 공간을 생성한다.For example, if the size of one page is 4KB and there are 1024 pages in one block, 16,777,216 total cells exist, and the emulation software creates a memory space considering both the channel and the way.

본 발명의 에뮬레이터는 디지털이 아닌 아날로그 값을 기록하기 때문에 데이터 유지 오류(retention error)를 구현할 수 있다. The emulator of the present invention can implement a retention error because it records an analog non-digital value.

예를 들어 MLC 플래시 메모리에서 최대 전하량이 400이라고 가정하자. 그리고 '00', '01', '10', '11' 비트가 각각 0~100, 101~200, 201~300, 301~400 전하량에 대응된다고 가정하자.For example, suppose that the maximum charge in an MLC flash memory is 400. Assume that the bits 00, 01, 10, and 11 correspond to 0 to 100, 101 to 200, 201 to 300, and 301 to 400, respectively.

그럼 '01'이라는 비트를 셀에 써 달라고 요청이 왔을 때, 발명한 에뮬레이터에서는 셀에 150이라는 값을 기록한다. 이 셀을 읽으면 150의 전하량을 인식할 수 있으며, 결국 대응되는 '01'비트로 판별할 수 있다.So when a request to write a bit of '01' to a cell comes in, the inventor's emulator writes a value of 150 to the cell. When this cell is read, the charge amount of 150 can be recognized, and it can be finally determined as a corresponding '01' bit.

한편, 발명한 에뮬레이터에서는 시간이 지남에 따라 유지 오류를 반영하기 위해 전하량을 적절하게 감소시킨다. 예를 들어 1일이 지나면 전하량을 146으로 감소시키며, 7일이 지나면 135로 감소시킨다. 하지만 이 전하량이 101~200의 범위에 있기 때문에 여전히 '01' 비트로 판별된다. 하지만 만일 30일이 지나고 이때 전하량이 98로 감소되었다면, 이때는 '01'로 판별되는 것이 아니라 '00'으로 잘못 판별된다. 결국 유지 오류(retention error)가 발생하는 것이다.Meanwhile, the invented emulator appropriately reduces the charge amount to reflect the maintenance error over time. For example, after one day, the charge is reduced to 146, and after 7 days the charge is reduced to 135. However, since this charge amount is in the range of 101 to 200, it is still determined as a '01' bit. However, if 30 days have elapsed and the charge is reduced to 98, then it is incorrectly determined to be '00' instead of '01'. Eventually a retention error will occur.

전하량의 감소는 다양한 방법으로 구현 가능하다. 본 실시예에서는 지수함수를 사용하여 시간이 지남에 따라 감소를 구현하였다. 또한 유지된 전하량의 초기값, 셀의 마모 정도에 따라 서로 다른 감소율을 갖도록 구현하였다. 그리고 포아송 분포를 따르는 확률 변수를 기반으로 빠르게 감소되는 셀과 그렇지 않은 셀을 구분하였다.The reduction of the charge amount can be realized by various methods. In the present embodiment, the exponential function is used to implement the reduction over time. It is also implemented to have a different rate of reduction depending on the initial value of the amount of charge retained and the degree of wear of the cell. And we distinguish between rapidly decreasing cells and non - decreasing cells based on probability variables following Poisson distribution.

한편, 전하량을 증가시키는 읽기/쓰기 간섭도 유사한 방법으로 구현 가능하다. 한 가지 분명하게 언급하고 싶은 것은 위에서 가정한 전하량의 최대값, 전하량과 비트의 매핑 관계, 그리고 유지 오류에 사용한 함수가 바뀐다고 할지라도 발명한 에뮬레이터에서는 모두 실현 가능하다.On the other hand, read / write interference that increases the amount of charge can be implemented in a similar manner. One thing I would like to mention is that the maximum value of the charge assumed above, the mapping relationship between the charge and the bit, and the function used for the hold error are all possible in the invented emulator.

본 발명의 에뮬레이션 소프트웨어는 플래시 메모리 셀의 구조 이외에도 플래시 메모리 구동에 필요한 다양한 계층들을 지원한다. 플래시 메모리 기반의 SSD(Solid State Drive)의 구조를 그대로 적용하였으며, 실제 환경에서 발생하는 읽기/쓰기 정보를 토대로 검증을 진행할 수 있다. 또한 SSD에서 가장 중요한 소프트웨어인 FTL(Flash Translation Layer)를 올려 동작할 수 있도록 하여, 실제 환경에서 물리적인 장비를 이용하여 테스트 하는 것과 동일한 결과를 얻을 수 있도록 한다. The emulation software of the present invention supports various layers required for flash memory driving in addition to the structure of flash memory cells. The structure of the solid state drive (SSD) based on the flash memory is applied as it is, and the verification can be performed based on the read / write information generated in the actual environment. In addition, it enables users to upload and operate the Flash Translation Layer (FTL), which is the most important software in the SSD, to achieve the same results as those using physical equipment in a real environment.

이러한 에뮬레이션 소프트웨어를 사용하여 플래시 메모리 기반의 저장장치를 개발하는 경우, 예측하기 어려운 상황을 미리 인식하고 FTL 등과 같은 다양한 소프트웨어의 문제점을 미리 파악할 수 있으며, 또한 물리적인 오류 개선을 위한 다양한 소프트웨어 개선점을 제시할 수 있다.When developing a storage device based on a flash memory using such an emulation software, it is possible to recognize a situation which is difficult to predict in advance, to grasp problems of various software such as FTL and the like, and to provide various software improvement points for physical error improvement can do.

상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시예에서 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술적 분야의 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. It will be apparent to those skilled in the art that various modifications may be made without departing from the scope of the present invention. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

Claims (5)

(A) 에뮬레이터를 통해 플래시 메모리에 0 또는 1로 이루어지는 비트 데이터가 기록될 때, 최대 전하량에서 분류된 범위 내로 각 셀의 비트 데이터에 대응되는 범위 내로 아날로그 형태의 전하량이 기록되는 단계와,
(B) 플래시 메모리의 데이터를 읽을 때, 각 셀에 기록된 전하량을 서로 다른 전압(voltage) 분포를 가지고 분류된 임계 전압(threshold voltage)으로 각각 분류하는 단계와,
(C) 각 셀에 삽입된 전하량을 상기 임계 전압으로 분류된 범위와 비교하여 각 셀에 저장된 전하량과 매칭되는 임계 전압의 범위를 검출하여 대응되는 비트로 판별하는 단계를 포함하여 이루어지는 것을 특징으로 하는 플래시 메모리의 신뢰성 검증을 위한 아날로그 정보 기반 에뮬레이션 방법.
(A) recording an amount of charge in analog form within a range corresponding to bit data of each cell within a range classified by the maximum charge amount when bit data consisting of 0 or 1 is recorded in the flash memory through the emulator;
(B) classifying charge amounts recorded in each cell into threshold voltages classified with different voltage distributions when reading data from the flash memory,
(C) comparing the amount of charge inserted in each cell with a range classified as the threshold voltage, and detecting a range of threshold voltages matched with the amount of charge stored in each cell, and determining the corresponding bit as a corresponding bit An Analog Information Based Emulation Method for Memory Reliability Verification.
제 1 항에 있어서, 상기 (A) 단계는
셀이 유지할 수 있는 최대 전하량을 검출하는 단계와,
상기 검출된 최대 전하량을 기반으로 각 셀에 저장되는 비트에 대응되는 개수의 평균값으로 분류된 일정 범위를 갖는 임계 전압(threshold voltage)을 설정하는 단계와,
상기 설정된 임계 전압으로 분류된 범위를 기반으로 기록될 비트 데이터에 대응되는 전하량을 각 셀에 기록하는 단계를 포함하여 이루어지는 것을 특징으로 하는 플래시 메모리의 신뢰성 검증을 위한 아날로그 정보 기반 에뮬레이션 방법.
The method of claim 1, wherein the step (A)
Detecting a maximum amount of charge the cell can sustain;
Setting a threshold voltage having a certain range classified into a number of average values corresponding to bits stored in each cell based on the detected maximum charge amount;
And recording the amount of charge corresponding to the bit data to be written in each cell based on the range classified as the set threshold voltage, in each cell.
제 1 항에 있어서,
상기 셀은 워드 라인과 비트 라인으로 연결되어 있으며, 워드 라인에는 주소(페이지 번호)가 들어가고, 비트 라인에는 해당 주소로 쓸 데이터 또는 주소에서 읽은 데이터가 전달되는 것을 특징으로 하는 플래시 메모리의 신뢰성 검증을 위한 아날로그 정보 기반 에뮬레이션 방법.
The method according to claim 1,
Wherein the cell is connected to a word line and a bit line, an address (page number) is entered into the word line, and data read from the address or data to be written to the address line is transferred to the bit line. An analog information based emulation method for.
셀이 유지할 수 있는 최대 전하량을 검출하는 최대 전하량 검출부와,
상기 검출된 최대 전하량을 각 셀에 저장되는 비트 데이터에 대응되는 개수의 평균값으로 분류한 일정한 범위를 갖는 임계 전압을 설정하는 범위 설정부와,
상기 설정된 임계 전압으로 분류된 범위를 기반으로 기록되는 데이터에 대응되는 범위 내의 아날로그 형태의 전하량을 각 셀에 기록하는 셀 기록부와,
상기 각 셀에 기록된 전하량을 서로 다른 전압(voltage) 분포를 가지는 임계 전압(threshold voltage)으로 각각 분류하는 임계전압 분류부와,
상기 임계전압 분류부에서 분류된 각 셀에 기록된 전하량을 임계전압 범위에 대응되는 비트 데이터와 매칭시키는 매칭부와,
상기 매칭부에서 매칭되는 비트 데이터를 판별하는 비트 판별부를 포함하여 구성되는 것을 특징으로 하는 플래시 메모리의 신뢰성 검증을 위한 아날로그 정보 기반 에뮬레이션 장치.
A maximum charge amount detection unit for detecting a maximum charge amount that the cell can sustain,
A range setting unit for setting a threshold voltage having a predetermined range classified into the average value of the number corresponding to the bit data stored in each cell,
A cell recorder for recording, in each cell, an analog charge amount within a range corresponding to data to be recorded based on the range classified by the set threshold voltage;
A threshold voltage classifying unit for classifying the amount of charges recorded in each cell into a threshold voltage having a different voltage distribution;
A matching unit for matching the amount of charges recorded in each cell classified by the threshold voltage classifying unit with bit data corresponding to a threshold voltage range;
And a bit discrimination unit for discriminating bit data matched in the matching unit.
제 4 항에 있어서,
상기 임계전압 분류부는 셀이 유지할 수 있는 최대 전하량을 각 셀에 저장되는 비트에 대응되는 개수의 평균값으로 분류한 일정한 범위로 분류되는 것을 특징으로 하는 플래시 메모리의 신뢰성 검증을 위한 아날로그 정보 기반 에뮬레이션 장치.
5. The method of claim 4,
Wherein the threshold voltage classifying unit classifies the maximum charge amount that the cell can hold into a predetermined range classified into a mean value corresponding to a bit stored in each cell.
KR1020160017818A 2016-02-16 2016-02-16 Analog information based emulation method for investigating reliability of flash memory and apparatus of the same KR101751407B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160017818A KR101751407B1 (en) 2016-02-16 2016-02-16 Analog information based emulation method for investigating reliability of flash memory and apparatus of the same
PCT/KR2016/015240 WO2017142185A1 (en) 2016-02-16 2016-12-23 Analog information-based emulation method for verifying reliability of flash memory and apparatus therefor
GB1721231.7A GB2559272B (en) 2016-02-16 2017-12-19 Electronic device and display device including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160017818A KR101751407B1 (en) 2016-02-16 2016-02-16 Analog information based emulation method for investigating reliability of flash memory and apparatus of the same

Publications (1)

Publication Number Publication Date
KR101751407B1 true KR101751407B1 (en) 2017-07-11

Family

ID=59354638

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160017818A KR101751407B1 (en) 2016-02-16 2016-02-16 Analog information based emulation method for investigating reliability of flash memory and apparatus of the same

Country Status (3)

Country Link
KR (1) KR101751407B1 (en)
GB (1) GB2559272B (en)
WO (1) WO2017142185A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684150B (en) * 2018-12-24 2022-04-26 北京得瑞领新科技有限公司 Performance test system, test method and simulation platform of storage particle controller

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100655849B1 (en) 2005-09-20 2006-12-11 후지쯔 가부시끼가이샤 Semiconductor storage device
US20070143528A1 (en) 2003-12-08 2007-06-21 Piotr Przybylek A software method of emulation of eeprom memory
JP2008077176A (en) * 2006-09-19 2008-04-03 Seiko Epson Corp Emulation system and emulation method

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU572615B2 (en) * 1983-12-27 1988-05-12 Sony Corporation Electrically conductive adhesive sheet circuit board and electrical connection structure
JPS62115678A (en) * 1985-11-13 1987-05-27 信越ポリマ−株式会社 Connector
JPS6340216A (en) * 1986-08-05 1988-02-20 住友スリ−エム株式会社 Conductive tape
JP2907808B1 (en) * 1998-03-31 1999-06-21 三洋電機株式会社 Flash memory emulation device and debug system using the same
JP3613098B2 (en) * 1998-12-21 2005-01-26 セイコーエプソン株式会社 Circuit board and display device and electronic device using the same
KR20060085750A (en) * 2005-01-25 2006-07-28 삼성전자주식회사 Display apparatus
KR20080020858A (en) * 2006-09-01 2008-03-06 삼성전자주식회사 Chip film package and display panel assembly having the same
US7515456B2 (en) * 2006-09-11 2009-04-07 Infineon Technologies Ag Memory circuit, a dynamic random access memory, a system comprising a memory and a floating point unit and a method for storing digital data
KR20080027051A (en) * 2006-09-22 2008-03-26 삼성전자주식회사 Gasket and display apparatus having the same
KR20080030851A (en) * 2006-10-02 2008-04-07 삼성전자주식회사 Gasket and display apparatus having the same
US7719901B2 (en) * 2007-06-05 2010-05-18 Micron Technology, Inc. Solid state memory utilizing analog communication of data values
CN102439516B (en) * 2010-01-20 2013-01-23 深圳超多维光电子有限公司 Twisted nematic liquid crystal cell and 2d-3d stereoscopic display apparatus including the same
KR102143373B1 (en) * 2013-12-11 2020-08-12 엘지디스플레이 주식회사 Switchable lens device, and 2-dimensional and 3-dimensional image display device using the same
KR102303956B1 (en) * 2014-09-30 2021-09-27 엘지디스플레이 주식회사 Switchable polarization lens, the method of manufacturing the same, and 2-dimensional and 3-dimensional image display device using the same
KR101668259B1 (en) * 2014-11-17 2016-10-24 (주)유니즌이엠씨 Environment-friendly double-sided adhesive tape preventing oxidation of adherend

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070143528A1 (en) 2003-12-08 2007-06-21 Piotr Przybylek A software method of emulation of eeprom memory
KR100655849B1 (en) 2005-09-20 2006-12-11 후지쯔 가부시끼가이샤 Semiconductor storage device
JP2008077176A (en) * 2006-09-19 2008-04-03 Seiko Epson Corp Emulation system and emulation method

Also Published As

Publication number Publication date
GB2559272A (en) 2018-08-01
GB201721231D0 (en) 2018-01-31
WO2017142185A1 (en) 2017-08-24
GB2559272B (en) 2020-04-29

Similar Documents

Publication Publication Date Title
US10579468B2 (en) Temperature related error management
US8458417B2 (en) Garbage collection in a storage device
KR102470726B1 (en) Non-volatile memory device
CN109671462A (en) Storage equipment and its operating method with parametric calibration function
CN112166472A (en) Memory subsystem with dynamic calibration using component-based functionality
CN111564173A (en) Memory system and operating method thereof
KR20100067942A (en) Access method of non-volatile memory device
KR20110004100A (en) Read method of non-volatile memory device and memory system having the same
KR20210027783A (en) Storage device and operating method thereof
KR20150073718A (en) Nonvolatile memory device and driving method of the same
JP2011510428A5 (en)
EP3736814B1 (en) Erasing blocks with few programmed pages
CN110534151B (en) Method and device for realizing erasing before writing, computer equipment and storage medium
CN109815160A (en) It is ultimately written page search
US20130159798A1 (en) Non-volatile memory device and operating method thereof
US20130151764A1 (en) Systems and methods for storing data in a multi-level cell solid state storage device
KR101028901B1 (en) Memory device, device and method for memory management
CN107958680A (en) The edge word lines management method of storage arrangement and the method for operating storage arrangement
US8090999B2 (en) Memory media characterization for development of signal processors
CN111736759B (en) Secure data removal
EP3663926B1 (en) Open channel solid state drive, nonvolatile memory system including the same and method of power loss protection of open channel solid state drive
CN112735502B (en) Threshold distribution fitting method, device and system for flash memory
KR101751407B1 (en) Analog information based emulation method for investigating reliability of flash memory and apparatus of the same
KR20180041473A (en) Method And Computer Program of Implementing Virtual NAND Flash
Prodromakis et al. MLC NAND flash memory: Aging effect and chip/channel emulation

Legal Events

Date Code Title Description
GRNT Written decision to grant