KR101394356B1 - Apparatus and method for managing flash memory by recognizing write data pattern - Google Patents

Apparatus and method for managing flash memory by recognizing write data pattern Download PDF

Info

Publication number
KR101394356B1
KR101394356B1 KR1020110039615A KR20110039615A KR101394356B1 KR 101394356 B1 KR101394356 B1 KR 101394356B1 KR 1020110039615 A KR1020110039615 A KR 1020110039615A KR 20110039615 A KR20110039615 A KR 20110039615A KR 101394356 B1 KR101394356 B1 KR 101394356B1
Authority
KR
South Korea
Prior art keywords
pattern
data
bit storage
flash memory
stored
Prior art date
Application number
KR1020110039615A
Other languages
Korean (ko)
Other versions
KR20120121675A (en
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 KR1020110039615A priority Critical patent/KR101394356B1/en
Publication of KR20120121675A publication Critical patent/KR20120121675A/en
Application granted granted Critical
Publication of KR101394356B1 publication Critical patent/KR101394356B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 장치 및 방법이 개시된다. 데이터 분석부는 플래시 메모리의 각 셀에 저장되는 비트 저장 패턴을 분석하고, 데이터 매칭부는 데이터 분석부의 분석 결과에 따라 비트 저장 패턴에 대응하는 대체 패턴을 매칭시킨다. 본 발명에 따르면, 저장 데이터 패턴 인식 기반 플래시 메모리 비트 패턴 저장 기법에 의해 최대한 적은 수의 "0" 비트를 페이지에 저장함으로써 낸드 플래시 메모리의 신뢰성 및 내구성을 향상시킬 수 있다. 또한 낸드 플래시 디바이스의 구조와 셀 배열을 변화시키지 않고 메모리 제어기에서 관리가 가능하기 때문에 기법의 적용이 쉽고 간단하다.Disclosed is a flash memory management apparatus and method by writing data pattern recognition. The data analysis unit analyzes a bit storage pattern stored in each cell of the flash memory, and the data matching unit matches the replacement pattern corresponding to the bit storage pattern according to the analysis result of the data analysis unit. According to the present invention, the reliability and durability of the NAND flash memory can be improved by storing a minimum number of "0" bits in the page by the flash memory bit pattern storage technique based on the stored data pattern recognition. Also, it is easy and simple to apply the technique because it can be managed by the memory controller without changing the structure and cell arrangement of the NAND flash device.

Description

쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 장치 및 방법{Apparatus and method for managing flash memory by recognizing write data pattern} [0001] Apparatus and method for managing flash memory by writing data pattern recognition [

본 발명은 플래시 메모리 관리 장치 및 방법에 관한 것으로, 보다 상세하게는 플래시 메모리의 신뢰성과 내구성을 향상시키기 위한 플래시 메모리 관리 장치 및 방법에 관한 것이다. The present invention relates to a flash memory management apparatus and method, and more particularly, to a flash memory management apparatus and method for improving the reliability and durability of a flash memory.

플래시 메모리는 저 전력, 소형화 등의 장점으로 인해 디지털 카메라, MP3 플레이어, 핸드폰, PDA 등과 같은 휴대 장치에 많이 사용되고 있다. 최근에는 플래시 메모리의 용량이 크게 늘어나면서 그 사용이 개인 컴퓨터나 서버의 하드 디스크 저장 장치의 사용을 대체하는 수준에 이르고 있다.Flash memory is widely used in portable devices such as digital cameras, MP3 players, mobile phones, and PDAs due to advantages such as low power and miniaturization. Recently, the capacity of flash memory has greatly increased, and its use has reached the level of replacing the use of personal computer or server hard disk storage device.

플래시 메모리는 자체적인 물리적 특성으로 인하여 쓰기 전 소거(erase-before-write) 연산을 수행한다. 플래시 메모리는 페이지에 쓰기 동작을 수행할 경우 만약 그 페이지에 이미 저장된 데이터가 있다면 그 페이지가 속해 있는 블록을 소거한 다음에야 쓰기 동작을 수행할 수 있다. 플래시 메모리는 하드 디스크와 달리 덮어쓰기를 지원하지 않기 때문에 쓰기 동작에 대해 더 많은 시간을 필요로 한다. 덮어쓰기는 공간 쓰레기 수집(Garbage Collection), 합병 연산(Merge Operation) 등을 추가로 발생시키며, 쓰기 증폭 요인(Write Amplification Factor)수치를 급격히 상승시킨다. 또한 플래시 메모리의 동일 블록에 대해 일정 횟수 이상의 소거 동작을 수행하면 해당 블록을 더 이상 사용할 수 없기 때문에 특정 블록에 소거 동작이 반복되는 것을 피해야 한다.The flash memory performs an erase-before-write operation due to its own physical characteristics. When a write operation is performed on a page, the flash memory can perform a write operation only after erasing the block to which the page belongs, if there is data already stored in the page. Unlike hard disks, flash memory does not support overwriting, so it takes more time to write. Overwriting causes Garbage Collection, Merge Operation, and so on, and dramatically increases the Write Amplification Factor. Also, if erase operation is performed more than a predetermined number of times for the same block in the flash memory, the erase operation should be avoided in the specific block because the block can not be used any more.

낸드 플래시 메모리는 하드디스크에 비해 용량당 가격이 비싸기 때문에 가격 경쟁력을 키우기 위해 셀의 집적도를 높이는 기술과 셀 당 저장 비트를 증가시키는 기술을 사용한다. 이러한 기술들은 낸드 플래시 디바이스의 단가를 낮추는데 공헌하였지만, 결과적으로 낸드 플래시 메모리의 내구성과 신뢰성을 크게 낮추는 단점을 초래하였다. Because NAND flash memory is more expensive per capacity than hard disk, it uses technology to increase the density of the cell and to increase the storage bits per cell to increase price competitiveness. These technologies have contributed to lowering the cost of NAND flash devices, but they have resulted in a significant reduction in durability and reliability of NAND flash memories.

낸드 플래시 메모리는 셀 단위로 전자를 관리하는 게이트 구조를 갖는다. 게이트는 제어 게이트(control gate) 와 플로팅 게이트(floating gate) 두 개로 구성이 되며 두 게이트 사이의 얇은 산화 층에서 전자를 보관 및 방출하는 방식으로 데이터를 저장한다. 하지만 이러한 게이트는 한 워드 라인(word line)에 묶여있기 때문에 블록 단위로 내구성이 변이하는 특성이 있다. 따라서 낸드 플래시 메모리의 신뢰성 및 내구성을 향상시키기 위해서는 블록 단위로 프로그램/지우기 싸이클(program/erase cycle)이 관리되어야 한다. 나아가 더욱 세밀한 방식으로 셀 단위 전자 이동을 줄일 수 있는 방법이 제시되어야 한다. The NAND flash memory has a gate structure for managing electrons in units of cells. The gate consists of two control gates and a floating gate, storing data in a way that stores and emits electrons in a thin oxide layer between two gates. However, since these gates are bound to one word line, there is a characteristic that the durability is changed in a block unit. Therefore, in order to improve the reliability and durability of the NAND flash memory, a program / erase cycle must be managed on a block-by-block basis. Furthermore, a method for reducing cell-to-cell electron movement in a more detailed manner should be proposed.

기존의 방법으로 셀 간 간섭 완화 (Cell to cell interference cancellation) 기법이 있다. 낸드 플래시 메모리의 셀 비트 패턴을 바꾸기 위해서는 일정 전압 이상의 큰 전압이 인가되야 한다. 이러한 강력한 전압의 인가는 비트 패턴을 바꾸고자 하는 특정 셀 뿐만 아니라 해당 셀과 같은 워드라인에 속한 모든 셀에 전압 변동의 영향을 주게 된다. 주변 셀의 비트 패턴은 일정한 전압을 유지해야 오류 없이 동작가능하지만 셀 간 신호 잡음으로 낸드 플래시 메모리의 내구성과 신뢰성이 하락하는 문제가 발생한다. 이를 해결하기 위해 주변 셀에 저장된 전압을 인식하여 특정 셀에 신호 잡음을 제거한 전압을 인가하는 셀 간 간섭 완화 (Cell to cell interference cancellation) 기법이 사용된다. 이 기법은 주변 8개의 셀에 주게 되는 전압 변동의 영향을 감소시키는 기법으로 신뢰성과 내구성을 2배 이내로 향상시키지만 전압의 인가에 필요한 연산을 수행하기 위한 복잡도가 증가하게 된다. There is a conventional cell to cell interference cancellation technique. In order to change the cell bit pattern of the NAND flash memory, a large voltage higher than a certain voltage should be applied. The application of such a strong voltage affects not only the specific cell to which the bit pattern is to be changed but also all the cells belonging to the same word line as the corresponding cell. The bit pattern of the neighboring cell can be operated without error by maintaining a constant voltage, but the durability and reliability of the NAND flash memory is deteriorated due to the inter-cell signal noise. In order to solve this problem, a cell to cell interference cancellation scheme is used in which a voltage stored in a neighboring cell is recognized and a voltage obtained by removing signal noise is applied to a specific cell. This technique reduces the influence of voltage fluctuations on the eight surrounding cells, improving the reliability and durability to less than 2 times, but increasing the complexity to perform the operations required for voltage application.

또 다른 기존의 방법으로는 저장 데이터 무작위 배정(randomization) 기법으로, 같은 워드라인에 속한 모든 셀에 주게 되는 영향을 감소시키는 기법이다. 낸드 플래시 메모리의 신뢰성과 내구성은 블록 단위로 고정되지만 최악의 경우 셀 단위의 비트 저장 패턴에 의해 내구성이 크게 저하되는 문제가 발생한다. 한 워드 라인(word line)에서 특정 셀에 반복적으로 "0" 이 저장되는 경우에 전체 블록의 내구성이 하락한다. 이러한 문제를 해결하기 위해 페이지 단위로 저장되는 데이터를 랜덤(random) 하게 전환시켜 저장하는 기법이 사용된다. 이 경우 최악의 상황은 피할 수 있지만 내구성은 평균치로 고정되며 씨드(seed) 값을 통해 데이터를 복구하는 등 연산이 복잡해진다.Another conventional method is a stored data randomization technique, which reduces the influence of all cells belonging to the same word line. Reliability and durability of the NAND flash memory are fixed on a block basis, but in the worst case, there is a problem that durability is largely deteriorated by a bit storage pattern in a cell unit. When "0" is stored repeatedly in a certain cell in a word line, the durability of the whole block is lowered. In order to solve this problem, a technique of randomly switching and storing data stored in units of pages is used. In this case, the worst case can be avoided, but the durability is fixed to the average value and the operation is complicated by recovering the data through the seed value.

이렇듯 최근 출시되는 차세대 낸드 플래시 메모리의 신뢰성과 내구성은 기존 플래시 메모리에 비해 크게 저하되며 기존의 셀 간 간섭 완화(cell to cell interference cancellation) 기법과 저장 데이터 무작위 배정(randomization) 기법은 내구성과 신뢰성을 획기적으로 향상시키지 못하고 있다. The reliability and durability of the next-generation NAND flash memory is significantly lower than that of the conventional flash memory, and the conventional cell-to-cell interference cancellation technique and the storage data randomization technique greatly improve durability and reliability. .

본 발명이 이루고자 하는 기술적 과제는, 플래시 메모리의 신뢰성 및 내구성을 향상시키기 위한 플래시 메모리 관리 장치 및 방법을 제공함에 있다. SUMMARY OF THE INVENTION The present invention provides a flash memory management apparatus and method for improving the reliability and durability of a flash memory.

본 발명이 이루고자 하는 다른 기술적 과제는, 플래시 메모리의 신뢰성 및 내구성을 향상시키기 위한 플래시 메모리 관리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공함에 있다. According to another aspect of the present invention, there is provided a computer readable recording medium storing a program for causing a computer to execute a flash memory management method for improving the reliability and durability of a flash memory.

상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 장치는, 플래시 메모리의 각 셀에 저장되는 비트 저장 패턴을 분석하는 데이터 분석부; 및 상기 데이터 분석부의 분석 결과에 따라 상기 비트 저장 패턴에 대응하는 대체 패턴을 매칭시키는 데이터 매칭부;를 구비한다.According to an aspect of the present invention, there is provided an apparatus for managing a flash memory by recognizing a write data pattern, the apparatus comprising: a data analyzer for analyzing a bit storage pattern stored in each cell of the flash memory; And a data matching unit for matching a replacement pattern corresponding to the bit storage pattern according to an analysis result of the data analysis unit.

상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 방법은, 플래시 메모리의 각 셀에 저장되는 비트 저장 패턴의 형태를 분석하는 데이터 분석단계; 및 상기 데이터 분석단계의 분석 결과에 따라 상기 비트 저장 패턴에 대응하는 대체 패턴을 매칭시키는 데이터 매칭단계;를 갖는다.According to another aspect of the present invention, there is provided a method of managing a flash memory using write data pattern recognition, the method comprising: analyzing a shape of a bit storage pattern stored in each cell of a flash memory; And a data matching step of matching a replacement pattern corresponding to the bit storage pattern according to an analysis result of the data analysis step.

상기의 다른 기술적 과제를 달성하기 위한, 본 발명에 따른 쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 장치는, 플래시 메모리의 각 셀에 저장되는 비트 저장 패턴을 분석하는 데이터 분석부; 및 상기 데이터 분석부의 분석 결과에 따라 상기 비트 저장 패턴에 매칭되는 대체 패턴을 생성하는 데이터 매칭부;를 구비한다.According to another aspect of the present invention, there is provided an apparatus for managing a flash memory by recognizing a write data pattern, comprising: a data analyzer for analyzing a bit storage pattern stored in each cell of a flash memory; And a data matching unit for generating a substitute pattern matching the bit storage pattern according to an analysis result of the data analysis unit.

본 발명에 따른 쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 장치 및 방법에 의하면, 최대한 적은 수의 "0" 비트를 페이지에 저장함으로써 낸드 플래시 메모리의 신뢰성 및 내구성을 향상시킬 수 있다. 또한 낸드 플래시 디바이스의 구조와 셀 배열을 변화시키지 않고 메모리 제어기에서 관리 가능하기 때문에 기법의 적용이 쉽고 간단하다.According to the apparatus and method for managing flash memory according to the present invention, the reliability and durability of the NAND flash memory can be improved by storing a small number of "0" In addition, it is easy and simple to apply the technique because it can be managed by the memory controller without changing the structure and cell arrangement of the NAND flash device.

도 1은 본 발명에 따른 쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 장치에 대한 바람직한 실시예의 구성을 도시한 블록도,
도 2는 전체 시스템에서 본 발명에 따른 쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 장치의 위치에 대한 바람직한 실시예의 구성을 도시한 블록도,
도 3은 쓰기 데이터의 비트 저장 패턴을 인식하여 대체 패턴에 매칭 시키는 경우를 도시한 도면, 그리고
도 4는 본 발명에 따른 쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 장치의 동작에 대한 바람직한 실시예의 수행 과정을 도시한 흐름도이다.
1 is a block diagram showing a configuration of a preferred embodiment of a flash memory management device by recognition of a write data pattern according to the present invention;
FIG. 2 is a block diagram showing a configuration of a preferred embodiment of the position of a flash memory management apparatus by recognition of write data patterns according to the present invention in the entire system;
3 is a diagram illustrating a case where a bit storage pattern of write data is recognized and matched to a replacement pattern, and
4 is a flowchart illustrating an operation of a flash memory management apparatus according to an embodiment of the present invention.

이하에서 첨부된 도면들을 참조하여 본 발명에 따른 쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a preferred embodiment of a flash memory management apparatus and method according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 장치에 대한 바람직한 실시예의 구성을 도시한 블록도이다.FIG. 1 is a block diagram showing a configuration of a preferred embodiment of a flash memory management device by recognition of write data patterns according to the present invention.

도 1을 참조하면, 본 발명에 따른 플래시 메모리 관리 장치는 데이터 입력부(110), 데이터 분석부(120), 데이터 매칭부(130), 메모리 액세스부(140) 및 저장부(150)를 구비한다. 1, a flash memory management apparatus according to the present invention includes a data input unit 110, a data analysis unit 120, a data matching unit 130, a memory access unit 140, and a storage unit 150 .

데이터 입력부(110)에는 외부로부터의 쓰기 요청에 따른 쓰기 대상 데이터가 입력된다.Data to be written in response to a write request from the outside is input to the data input unit 110.

데이터 분석부(120)는 쓰기 요청이 입력된 쓰기 대상 데이터가 플래시 메모리의 각 셀에 저장되는 비트 저장 패턴을 분석한다. 분석 방법의 한 예로 쓰기 대상 데이터의 플래시 메모리의 각 셀에 저장되는 비트 저장 패턴이 반복되는 횟수를 산출하는 분석 방법이 가능하다. The data analysis unit 120 analyzes a bit storage pattern in which write target data to which a write request is input is stored in each cell of the flash memory. As an example of the analysis method, it is possible to calculate the number of times the bit storage pattern stored in each cell of the flash memory of the write target data is repeated.

데이터 매칭부(130)는 쓰기 대상 데이터의 플래시 메모리의 각 셀에 저장되는 비트 저장 패턴에 대응하는 대체 패턴을 매칭시킨다. 예를 들면, 데이터 매칭부(130)는 동일한 형태의 비트 저장 패턴이 반복되는 횟수에 따라 대체 패턴에 포함된 "1" 비트의 개수가 많아지도록 대체 패턴을 결정할 수 있다. 구체적으로, 비트 저장 패턴에 "0100" 이 반복되는 횟수가 가장 많은 경우 비트 저장 패턴 "0100"에 대응하는 대체 패턴을 "1111"로 결정할 수 있다. 또한 비트 저장 패턴에 "0001" 이 반복되는 횟수가 그 다음으로 많은 경우 비트 저장 패턴 "0001"을 "1110","1101","1011","0111" 중 어느 하나의 대체 패턴으로 매칭시킬 수 있다.The data matching unit 130 matches the replacement pattern corresponding to the bit storage pattern stored in each cell of the flash memory of the write target data. For example, the data matching unit 130 may determine a replacement pattern so that the number of "1" bits included in the replacement pattern increases according to the number of times the bit storage pattern of the same type is repeated. Specifically, when the number of times "0100" is repeated in the bit storage pattern is the greatest, the replacement pattern corresponding to the bit storage pattern "0100 " When the number of times of repetition of "0001" in the bit storage pattern is the next, the bit storage pattern "0001" can be matched to any one of "1110 "," 1101 ", " 1011 & have.

데이터 매칭부(130)는 각 비트 저장 패턴에 대응하여 결정된 대체 패턴을 대체 패턴 매칭 테이블의 형태로 정렬하고, 저장부(150)는 데이터 매칭부(130)에서 생성한 대체 패턴 매칭 테이블을 저장한다. 대체 패턴 매칭 테이블의 크기는 메모리의 용량을 고려하여 조절될 수 있다. 즉, 모든 형태의 비트 저장 패턴에 대응하여 대체 패턴을 결정해야 하는 것은 아니며, 반복 횟수가 일정 횟수 이상인 비트 저장 패턴에 대해서만 대체 패턴을 결정할 수도 있다.The data matching unit 130 arranges the replacement patterns determined in correspondence with the respective bit storage patterns in the form of a replacement pattern matching table and the storage unit 150 stores the replacement pattern matching table generated by the data matching unit 130 . The size of the substitute pattern matching table can be adjusted considering the capacity of the memory. That is, it is not necessary to determine a replacement pattern corresponding to all types of bit storage patterns, and a replacement pattern may be determined only for a bit storage pattern having a repetition number of times or more.

한편, 데이터 매칭부(130)는 위와 같이 비트 저장 패턴의 반복 횟수를 분석하여 대체 패턴을 결정할 수도 있고, 비트 저장 패턴의 형태에 따라 사전에 설정된 대체 패턴을 사용할 수도 있다. 이러한 경우에는 저장부(150)에 비트 저장 패턴과 대체 패턴이 매칭된 테이블 또는 비트 저장 패턴의 형태로부터 대체 패턴을 구하는 함수가 사전에 저장되어 있고, 데이터 매칭부(130)는 저장부(150)에 저장된 데이터를 참고하여 비트 저장 패턴으로부터 대체 패턴을 결정한다. Meanwhile, the data matching unit 130 may determine a substitution pattern by analyzing the repetition times of the bit storage pattern as described above, or may use a preset substitution pattern according to the type of the bit storage pattern. In this case, a function of obtaining a substitute pattern from a form of a table or a bit storage pattern matched with a bit storage pattern and a substitute pattern is stored in the storage unit 150 in advance, and the data matching unit 130 stores data The replacement pattern is determined from the bit storage pattern.

마지막으로 메모리 액세스부(140)는 매칭이 이루어진 대체 패턴을 플래시 메모리의 저장 공간에 저장한다. Finally, the memory access unit 140 stores the matched replacement pattern in the storage space of the flash memory.

이후 외부로부터 저장된 쓰기 대상 데이터에 대한 읽기 요청이 입력되면 본 발명에 따른 플래시 메모리 관리 장치는 저장부(150)에 저장된 대체 패턴 매칭 테이블 또는 함수를 이용하여 대체 패턴으로부터 비트 저장 패턴을 생성할 수 있다. When a read request for write target data stored from the outside is input, the flash memory management apparatus according to the present invention can generate a bit store pattern from a substitute pattern using a substitute pattern matching table or function stored in the storage unit 150 .

도 2는 전체 시스템에서 본 발명에 따른 쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 장치의 위치에 대한 바람직한 실시예의 구성을 도시한 블록도이다. FIG. 2 is a block diagram showing a configuration of a preferred embodiment of the position of a flash memory management apparatus by recognition of write data patterns according to the present invention in the entire system.

도 2에서 호스트를 통해 요청된 쓰기/읽기 명령은 낸드 플래시 메모리 기반 저장장치의 커맨트 큐를 거쳐 플래시 변환 레이어에 도달한다. 반면, 요청된 쓰기 데이터는 낸드 플래시 메모리 기반 저장장치의 버퍼에 임시 저장되고 플래시 변환 레이어에 의해 실제 낸드 영역으로 사상되면 플래시 프로그램 동작이 수행된다.In FIG. 2, the write / read command requested through the host reaches the flash conversion layer via the command queue of the NAND flash memory based storage device. On the other hand, when the requested write data is temporarily stored in the buffer of the NAND flash memory based storage device and is mapped to the actual NAND area by the flash conversion layer, the flash program operation is performed.

본 발명에 따른 쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 장치는 플래시 프로그램이 동작하는 컨트롤 레이어에 데이터 패턴 인식 메모리 접근 엔진의 형태로 구현되어 데이터 패턴에 대한 인코딩/디코딩(encoding/decoding)을 수행한다. 낸드 플래시 메모리 디바이스 내부에 제어기가 위치하는 경우에는 해당 칩의 제어기 내부에 본 발명에 따른 쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 장치가 위치할 수도 있다. 또는 데이터 패턴 인식 메모리 접근 엔진을 하드웨어 모듈로서 구현하거나, 엔진에서 참조하는 대체 패턴 매칭 테이블을 SRAM에 두는 것이 가능하다.The flash memory management apparatus according to the present invention performs encoding / decoding of a data pattern by being implemented as a data pattern recognition memory access engine in a control layer in which a flash program operates. When the controller is located inside the NAND flash memory device, the flash memory management device according to the present invention may be located in the controller of the chip. Alternatively, it is possible to implement the data pattern recognition memory access engine as a hardware module, or to place an alternative pattern matching table referenced by the engine in the SRAM.

도 3은 쓰기 데이터의 비트 저장 패턴을 인식하여 대체 패턴에 매칭시키는 경우를 도시한 도면이다. 앞에서 설명한 것과 같이 대체 패턴 매칭 테이블은 본 발명, 즉 데이터 패턴 인식 메모리 접근 엔진 내부의 저장부(150)에 존재하며, 데이터 매칭부(130)는 비트 저장 패턴과 실제 저장될 대체 패턴을 일대일 사상시킨다. 실제 플래시 영역에 저장되는 대체 패턴의 생성 기법으로는 허프만 알고리즘을 확장하여 사용할 수 있다.3 is a diagram illustrating a case where a bit storage pattern of write data is recognized and matched to a replacement pattern. As described above, the substitute pattern matching table exists in the storage unit 150 of the present invention, that is, in the data pattern recognition memory access engine, and the data matching unit 130 maps the bit storage pattern and the substitute pattern to be actually stored one to one . The Huffman algorithm can be used as an alternative pattern generation technique to be stored in the actual flash area.

허프만 코드가 가장 자주 발생하는 데이터 패턴에 대해 가장 짧은 코드부호를 갖도록 코딩하는데 반해, 본 발명에서는 가장 자주 발생하는 데이터 패턴에 대해 가장 "1" 비트가 많은 형태로 패턴을 생성한다. 또한 자주 발생하는 비트 저장 패턴이 아니더라도 "0" 비트의 개수가 지나치게 많은 저장 데이터에 대해서는 반전 등의 기법을 사용하여 오버헤드를 최소화한다. 이런 경우에 반전 플래그 비트 등의 간단한 정보는 낸드 플래시 메모리의 스페어 영역에 저장하도록 유도한다. The Huffman code is coded so as to have the shortest code code with respect to the data pattern that occurs most frequently, whereas in the present invention, the pattern is generated in the form of the most "1" In addition, overhead is minimized by using inversion techniques for stored data where the number of "0" In this case, simple information such as an inversion flag bit is led to be stored in the spare area of the NAND flash memory.

대체 패턴 매칭 테이블의 크기는 메모리의 용량을 고려하여 조절될 수 있으며, 대체 패턴의 형태를 테이블 형식으로 저장하는 대신 비트 저장 패턴에 대한 함수 형태로 나타낼 수도 있음은 앞에서 설명한 것과 같다.The size of the substitute pattern matching table can be adjusted in consideration of the capacity of the memory, and the substitute pattern shape may be expressed as a function form of a bit storage pattern instead of storing the form of the substitute pattern as described above.

쓰기 요청이 입력된 쓰기 대상 데이터에 대한 또 다른 분석 방법으로 쓰기 대상 데이터가 플래시 메모리의 페이지에 저장되는 데이터 패턴에 포함된 "0" 비트의 개수를 산출하는 분석 방법이 있다. Another analysis method for the write target data into which the write request is input is an analysis method for calculating the number of "0" bits included in the data pattern in which the write target data is stored in the page of the flash memory.

이러한 분석 방법에 의해 쓰기 대상 데이터를 저장할 때, 데이터 매칭부(130)는 쓰기 대상 데이터가 플래시 메모리의 페이지에 저장되는 데이터 패턴에 포함된 "0" 비트의 개수가 사전에 설정된 임계 수치 이상이면 메모리 액세스부(140)가 데이터 패턴에 포함된 각 비트를 반전시켜 저장하도록 할 수 있다. 일반적인 경우, 파일 시스템의 메타데이터는 "0" 비트의 개수가 많은 데이터 패턴을 갖는다. 메타데이터에는 파일 시스템의 전반적인 데이터의 맵 테이블과 설정 레지스터가 저장되기 때문에 필요한 부분을 사용하고 그 외 예약된 영역 전체를 "0" 비트로 채우는 방식을 사용하기 때문이다. When storing data to be written by such an analysis method, the data matching unit 130 sets the number of "0" bits included in the data pattern stored in the page of the flash memory to be the write target data, The access unit 140 may cause each bit included in the data pattern to be inverted and stored. In general, the file system metadata has a data pattern with a large number of "0" bits. This is because the meta data stores the map table and the setting register of the overall data of the file system, and uses the necessary part and fills the entire other reserved area with "0" bits.

이러한 특성에 비추어 보면 일정한 임계 수치 이상으로 "0" 비트가 저장되는 데이터 패턴이 발생하는 경우 저장되는 전체 페이지의 비트를 반전시키는 저장 기법은 매우 유용하다. 즉, 페이지에 저장되는 데이터 패턴에 포함된 "0" 비트의 개수가 사전에 설정된 임계 수치 이상이면 "0" 비트는 "1" 비트로 "1" 비트는 "0" 비트로 변환시켜 준다. 페이지를 저장할 시에는 스페어 영역에 "1" 비트 또는 "0" 비트를 저장하여 반전 여부를 표시하는 반전 플래그 비트를 추가할 수 있다.In view of these characteristics, when a data pattern in which a "0" bit is stored at a predetermined threshold value or more occurs, a storage technique of inverting the bits of the entire page stored is very useful. That is, if the number of "0" bits included in the data pattern stored in the page is equal to or greater than a predetermined threshold value, the "0" bit is converted to "1" bit and the "1" bit is converted to "0" bit. When storing a page, a "1" bit or a "0" bit can be stored in the spare area to add an inversion flag bit indicating whether or not to invert.

또 다른 방법으로, 쓰기 대상 데이터가 플래시 메모리의 페이지에 저장되는 데이터 패턴에 연속하는 "0" 비트가 포함되어 있는가를 판단하는 분석 방법이 있다. 분석 결과 쓰기 대상 데이터가 플래시 메모리의 페이지에 저장되는 데이터 패턴에 연속하는 복수의 "0" 비트가 포함되어 있는 경우, 본 발명에 따른 플래시 메모리 관리 장치의 데이터 매칭부(130)는 메모리 액세스부(140)가 복수의 "0" 비트를 반전시켜 플래시 메모리에 저장하도록 할 수 있다. 즉, 저장되는 데이터 패턴을 순차적으로 스캔하면서 "1" 비트가 많은 패턴이 되도록 인코딩하는 것이다. 최악의 경우 "1" 비트, "0" 비트 반전이 지속되면 인코딩된 데이터가 모두 "0" 비트가 될 수도 있지만 이런 경우 앞서 서술한 페이지 전체 비트 반전 기법을 함께 사용하여 "1" 비트의 개수가 많아지도록 할 수 있다.Alternatively, there is an analysis method for determining whether the write target data includes a continuous "0" bit in a data pattern stored in a page of the flash memory. In a case where the data to be written as the analysis result includes a plurality of "0" bits continuous to the data pattern stored in the page of the flash memory, the data matching unit 130 of the flash memory management apparatus according to the present invention includes a memory access unit 140 may cause the plurality of "0" bits to be inverted and stored in the flash memory. That is, the data pattern to be stored is sequentially scanned and encoded so as to have a pattern of a large number of "1" bits. In the worst case, if the "1" bit and the "0" bit inversion continue, the encoded data may be all "0" bits, but in this case the number of "1" Can be increased.

도 4는 본 발명에 따른 쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 장치의 동작에 대한 바람직한 실시예의 수행 과정을 도시한 흐름도이다. 4 is a flowchart illustrating an operation of a flash memory management apparatus according to an embodiment of the present invention.

데이터 입력부(110)에는 외부로부터의 쓰기 요청에 따른 쓰기 대상 데이터가 입력된다(S110).Data to be written in response to a write request from the outside is input to the data input unit 110 (S110).

데이터 분석부(120)는 쓰기 요청이 입력된 쓰기 대상 데이터가 플래시 메모리의 각 셀에 저장되는 비트 저장 패턴을 분석한다(S120). 분석 방법의 한 예로 앞에서 설명한 바와 같이 쓰기 대상 데이터의 플래시 메모리의 각 셀에 저장되는 비트 저장 패턴이 반복되는 횟수를 산출하는 분석 방법이 가능하다. The data analysis unit 120 analyzes the bit storage pattern in which the write target data to which the write request is input is stored in each cell of the flash memory (S120). As an example of the analysis method, an analysis method of calculating the number of times the bit storage pattern stored in each cell of the flash memory of the write target data is repeated can be performed as described above.

데이터 매칭부(130)는 쓰기 대상 데이터의 플래시 메모리의 각 셀에 저장되는 비트 저장 패턴에 대응하는 대체 패턴을 매칭시킨다(S130). 대체 패턴은 동일한 형태의 비트 저장 패턴이 반복되는 횟수에 따라 대체 패턴에 포함된 "1" 비트의 개수가 많아지도록 결정될 수 있다. The data matching unit 130 matches the replacement pattern corresponding to the bit storage pattern stored in each cell of the flash memory of the data to be written (S130). The replacement pattern can be determined so that the number of "1" bits included in the replacement pattern increases according to the number of times the same type of bit storage pattern is repeated.

저장부(150)에는 비트 저장 패턴 또는 데이터 패턴과 대체 패턴이 함께 기록된 대체 패턴 매칭 테이블이 저장된다. 대체 패턴 매칭 테이블의 크기는 메모리의 용량을 고려하여 조절될 수 있다. The storage unit 150 stores an alternative pattern matching table in which a bit storage pattern or a data pattern and a replacement pattern are recorded together. The size of the substitute pattern matching table can be adjusted considering the capacity of the memory.

마지막으로 메모리 액세스부(140)는 매칭이 이루어진 대체 패턴을 플래시 메모리의 저장 공간에 저장한다(S140). Finally, the memory access unit 140 stores the matched replacement pattern in the storage space of the flash memory (S140).

이상에서 설명한 바와 같이 본 발명은 의도적으로 "1" 비트의 개수를 최대화하여 낸드 플래시 메모리에 저장하는 방법을 사용하기 때문에 그렇지 않은 낸드 플래시 메모리에 비해 신뢰성과 내구성을 10배 이상 향상시킬 수 있다.As described above, the present invention intends to maximize the number of "1" bits and store the NAND flash memory in the NAND flash memory. Therefore, the reliability and durability of the NAND flash memory can be improved 10 times or more.

또한 본 발명에 따른 플래시 메모리 관리 기법에 따라 쓰기 대상 데이터를 저장할 때, 쓰기 대상 데이터가 저장될 플래시 메모리의 주소 정보에 대응하는 저장위치에 이미 저장되어 있는 기존 데이터의 패턴과 본 발명에 의해 쓰기 대상 데이터로부터 변환된 패턴 사이에서 변경된 비트만을 별로로 저장하는 방법을 사용할 수도 있다. 본 발명은 플래시 메모리 디바이스의 구조를 변화시키지 않고 구현이 가능하기 때문이다. According to the flash memory management method of the present invention, when data to be written is stored, a pattern of existing data already stored in a storage location corresponding to address information of a flash memory in which data to be written is to be stored, It is also possible to use a method of storing only the changed bits among the patterns converted from the data. Since the present invention can be implemented without changing the structure of the flash memory device.

구체적으로, 기존 데이터의 패턴과 변환된 패턴 사이의 XOR 연산을 수행하여 기존 데이터로부터 변경된 비트를 나타내는 차등값 데이터를 산출할 수 있으며, 차등값 데이터를 압축하여 별도의 저장매체에 저장할 수 있다. Specifically, an XOR operation is performed between a pattern of the existing data and the converted pattern to calculate differential data indicating the changed bit from the existing data, and the differential data may be compressed and stored in a separate storage medium.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may be implemented in the form of a carrier wave (for example, transmission via the Internet) . The computer-readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner.

이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation in the embodiment in which said invention is directed. It will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the scope of the appended claims.

Claims (19)

플래시 메모리의 셀 중에서 사전에 결정되어 있는 복수 개의 셀로 이루어진 분석단위 별로 저장되는 비트 저장 패턴을 분석하는 데이터 분석부; 및
상기 데이터 분석부의 분석 결과에 따라 상기 비트 저장 패턴에 대응하는 대체 패턴을 매칭시키는 데이터 매칭부;를 포함하며,
상기 데이터 분석부는 상기 분석단위 별로 동일한 형태의 비트 저장 패턴이 반복되는 횟수를 산출하고,
상기 데이터 매칭부는 상기 비트 저장 패턴의 반복 횟수에 대응하여 '1' 비트의 개수가 많아지도록 상기 대체 패턴의 형태를 결정하는 것을 특징으로 하는 플래시 메모리 관리 장치.
A data analysis unit for analyzing a bit storage pattern stored for each analysis unit consisting of a plurality of cells determined in advance among the cells of the flash memory; And
And a data matching unit for matching a substitution pattern corresponding to the bit storage pattern according to an analysis result of the data analysis unit,
Wherein the data analyzer calculates the number of times the same type of bit storage pattern is repeated for each analysis unit,
Wherein the data matching unit determines the type of the replacement pattern so that the number of '1' bits increases corresponding to the number of repetition of the bit storage pattern.
제 1항에 있어서,
상기 비트 저장 패턴에 대응하는 대체 패턴이 테이블 형태 또는 상기 비트 저장 패턴에 대한 함수 형태로 사전에 설정되어 저장된 저장부를 더 포함하며,
상기 데이터 매칭부는 상기 저장부에 저장된 대체 패턴을 상기 비트 저장 패턴에 대응시키는 것을 특징으로 하는 플래시 메모리 관리 장치.
The method according to claim 1,
Further comprising a storage unit in which a replacement pattern corresponding to the bit storage pattern is set in advance in a form of a table or a function for the bit storage pattern,
Wherein the data matching unit associates the replacement pattern stored in the storage unit with the bit storage pattern.
삭제delete 제 1항에 있어서,
쓰기 대상 데이터의 각 비트 저장 패턴에 대응하여 결정된 대체 패턴이 저장되는 저장부를 더 포함하는 것을 특징으로 하는 플래시 메모리 관리 장치.
The method according to claim 1,
Further comprising a storage unit for storing a replacement pattern determined corresponding to each bit storage pattern of the write target data.
삭제delete 삭제delete 삭제delete 래시 메모리의 셀 중에서 사전에 결정되어 있는 복수 개의 셀로 이루어진 분석단위 별로 저장되는 비트 저장 패턴을 분석하는 데이터 분석단계; 및
상기 데이터 분석단계의 분석 결과에 따라 상기 비트 저장 패턴에 대응하는 대체 패턴을 매칭시키는 데이터 매칭단계;를 포함하며,
상기 데이터 분석단계에서, 상기 분석단위 별로 동일한 형태의 비트 저장 패턴이 반복되는 횟수를 산출하고,
상기 데이터 매칭단계에서, 상기 비트 저장 패턴의 반복 횟수에 대응하여 '1' 비트의 개수가 많아지도록 상기 대체 패턴의 형태를 결정하는 것을 특징으로 하는 플래시 메모리 관리 방법.
Data analysis step of analyzing the stored bit pattern is stored by each analysis unit comprising a plurality of cells which are determined in advance among the cells of the flash memory; And
And a data matching step of matching a substitution pattern corresponding to the bit storage pattern according to an analysis result of the data analysis step,
Calculating a number of times that the same type of bit storage pattern is repeated for each of the analysis units in the data analysis step,
Wherein the type of the replacement pattern is determined in the data matching step such that the number of '1' bits increases corresponding to the number of repetition of the bit storage pattern.
제 8항에 있어서,
상기 비트 저장 패턴에 대응하는 대체 패턴이 테이블 형태 또는 상기 비트 저장 패턴에 대한 함수 형태로 사전에 설정되어 저장되어 있으며,
상기 데이터 매칭단계에서, 상기 사전에 저장된 대체 패턴을 상기 비트 저장 패턴에 대응시키는 것을 특징으로 하는 플래시 메모리 관리 방법.
9. The method of claim 8,
A replacement pattern corresponding to the bit storage pattern is preset and stored in a form of a table or a function of the bit storage pattern,
And in the data matching step, associating the previously stored replacement pattern with the bit storage pattern.
삭제delete 제 8항에 있어서,
쓰기 대상 데이터의 각 비트 저장 패턴에 대응하여 결정된 대체 패턴을 저장하는 저장단계를 더 포함하는 것을 특징으로 하는 플래시 메모리 관리 방법.
9. The method of claim 8,
Further comprising a storing step of storing a replacement pattern determined in correspondence with each bit storage pattern of the data to be written.
삭제delete 삭제delete 삭제delete 제 8항, 제 9항 또는 제 11항 중 어느 한 항에 기재된 플래시 메모리 관리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium storing a program for causing a computer to execute the flash memory management method according to any one of claims 8, 9, and 11. 플래시 메모리의 셀 중에서 사전에 결정되어 있는 복수 개의 셀로 이루어진 분석단위 별로 저장되는 비트 저장 패턴을 분석하는 데이터 분석부; 및
상기 데이터 분석부의 분석 결과에 따라 상기 비트 저장 패턴에 매칭되는 대체 패턴을 생성하는 데이터 매칭부;를 포함하며,
상기 데이터 분석부는 상기 분석단위 별로 동일한 형태의 비트 저장 패턴이 반복되는 횟수를 산출하고,
상기 데이터 매칭부는 상기 비트 저장 패턴의 반복 횟수에 대응하여 '1' 비트의 개수가 많아지도록 상기 대체 패턴의 형태를 생성하는 것을 특징으로 하는 플래시 메모리 관리 장치.
A data analysis unit for analyzing a bit storage pattern stored for each analysis unit consisting of a plurality of cells determined in advance among the cells of the flash memory; And
And a data matching unit for generating a substitute pattern matching the bit storage pattern according to an analysis result of the data analysis unit,
Wherein the data analyzer calculates the number of times the same type of bit storage pattern is repeated for each analysis unit,
Wherein the data matching unit generates the type of the replacement pattern so that the number of '1' bits increases corresponding to the number of repetition of the bit storage pattern.
삭제delete 삭제delete 삭제delete
KR1020110039615A 2011-04-27 2011-04-27 Apparatus and method for managing flash memory by recognizing write data pattern KR101394356B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110039615A KR101394356B1 (en) 2011-04-27 2011-04-27 Apparatus and method for managing flash memory by recognizing write data pattern

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110039615A KR101394356B1 (en) 2011-04-27 2011-04-27 Apparatus and method for managing flash memory by recognizing write data pattern

Publications (2)

Publication Number Publication Date
KR20120121675A KR20120121675A (en) 2012-11-06
KR101394356B1 true KR101394356B1 (en) 2014-06-03

Family

ID=47508095

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110039615A KR101394356B1 (en) 2011-04-27 2011-04-27 Apparatus and method for managing flash memory by recognizing write data pattern

Country Status (1)

Country Link
KR (1) KR101394356B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101361670B1 (en) * 2012-12-11 2014-02-12 충남대학교산학협력단 The scheme to speed up the processing time for random write operation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005173860A (en) * 2003-12-10 2005-06-30 Sony Corp Data storage device, method for processing stored data, and computer program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005173860A (en) * 2003-12-10 2005-06-30 Sony Corp Data storage device, method for processing stored data, and computer program

Also Published As

Publication number Publication date
KR20120121675A (en) 2012-11-06

Similar Documents

Publication Publication Date Title
EP2565792B1 (en) Block management schemes in hybrid SLC/MLC memory
JP4787266B2 (en) Scratch pad block
KR101491943B1 (en) Transaction log recovery
US8176234B2 (en) Multi-write coding of non-volatile memories
US9772936B2 (en) Data collection and compression in a solid state storage device
US8484432B2 (en) Memory system
Jagmohan et al. Write amplification reduction in NAND flash through multi-write coding
US10719439B2 (en) Garbage collection of a storage device
US8090900B2 (en) Storage device and data management method
US20150103593A1 (en) Method of Writing Data in Non-Volatile Memory and Non-Volatile Storage Device Using the Same
CN111383689B (en) Tunable NAND write performance
CN108027764B (en) Memory mapping of convertible leaves
US20090024787A1 (en) Data writing method and apparatus
US20150178193A1 (en) Apparatus and method for managing flash memory by means of writing data pattern recognition
US10979077B2 (en) Generating hamming weights for data
CN114968096A (en) Control method of memory, memory and storage system
CN114360612A (en) Read voltage level correction method, memory storage device and control circuit unit
CN110532195A (en) The workload sub-clustering of storage system and the method for executing it
US20180275917A1 (en) Memory controller, memory system, and control method
KR101394356B1 (en) Apparatus and method for managing flash memory by recognizing write data pattern
US20230214150A1 (en) Read voltage level correction method, memory storage device, and memory control circuit unit
WO2019007315A1 (en) Data writing method in flash memory device, and device
JP4558054B2 (en) Memory system
KR101996136B1 (en) Data mapping enabling fast read multi-level 3d nand to improve lifetime capacity
CN110008146B (en) Data writing method, effective data identification method and memory storage device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170425

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180509

Year of fee payment: 5

R401 Registration of restoration