KR101434567B1 - Apparatus and method of managing mapping table of non-volatile memory - Google Patents

Apparatus and method of managing mapping table of non-volatile memory Download PDF

Info

Publication number
KR101434567B1
KR101434567B1 KR1020070048832A KR20070048832A KR101434567B1 KR 101434567 B1 KR101434567 B1 KR 101434567B1 KR 1020070048832 A KR1020070048832 A KR 1020070048832A KR 20070048832 A KR20070048832 A KR 20070048832A KR 101434567 B1 KR101434567 B1 KR 101434567B1
Authority
KR
South Korea
Prior art keywords
mapping table
page
pages
write operation
group
Prior art date
Application number
KR1020070048832A
Other languages
Korean (ko)
Other versions
KR20080101568A (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 KR1020070048832A priority Critical patent/KR101434567B1/en
Priority to US11/947,162 priority patent/US7945723B2/en
Priority to CNA2008100965767A priority patent/CN101308701A/en
Publication of KR20080101568A publication Critical patent/KR20080101568A/en
Application granted granted Critical
Publication of KR101434567B1 publication Critical patent/KR101434567B1/en

Links

Images

Classifications

    • 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
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

Landscapes

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

Abstract

본 발명은 비휘발성 메모리의 맵핑 테이블 관리 장치 및 방법에 관한 것으로서, 더욱 상세하게는 하나의 메모리 셀을 통해 다수의 페이지의 비트 정보를 나타낼 수 있는 비휘발성 메모리에서 메모리 셀을 공유하는 페이지들의 맵핑 관계를 알기 위한 비휘발성 메모리의 맵핑 테이블 관리 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for managing a mapping table of a nonvolatile memory, and more particularly, to a mapping table management method and apparatus for managing mapping tables of pages sharing a memory cell in a nonvolatile memory capable of displaying bit information of a plurality of pages through one memory cell To a non-volatile memory mapping table management apparatus and method.

본 발명의 실시예에 따른 비휘발성 메모리의 맵핑 테이블 관리 장치는, 적어도 2비트로 구현되는 다수개의 상태를 통해 소정 블록에 포함된 다수의 페이지에 데이터 비트를 저장하는 메모리 셀을 포함하는 비휘발성 메모리, 상기 블록에 포함된 다수의 페이지에 대한 쓰기 연산 시간을 측정하는 연산 시간 측정부, 및 상기 측정된 쓰기 연산 시간에 따라 상기 각 페이지들을 다수의 그룹으로 구분하고, 상기 구분된 그룹을 이용하여 맵핑 테이블을 생성하는 맵핑 테이블 생성부를 포함한다.A mapping table management apparatus of a nonvolatile memory according to an embodiment of the present invention includes a nonvolatile memory including a memory cell storing data bits in a plurality of pages included in a predetermined block through a plurality of states implemented with at least two bits, A calculation time measuring unit for measuring a write operation time of a plurality of pages included in the block; and a memory unit for dividing the pages into a plurality of groups according to the measured write operation time, And a mapping table generation unit for generating the mapping table.

비휘발성 메모리, 맵핑 테이블, MLC, 메모리 셀 Non-volatile memory, mapping table, MLC, memory cell

Description

비휘발성 메모리의 맵핑 테이블 관리 장치 및 방법{Apparatus and method of managing mapping table of non-volatile memory}[0001] Apparatus and method for managing mapping table of non-volatile memory [0002]

도 1은 본 발명의 실시예에 따른 비휘발성 메모리의 맵핑 테이블 관리 장치가 도시된 도면.BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram showing an apparatus for managing a mapping table of a nonvolatile memory according to an embodiment of the present invention. FIG.

도 2는 본 발명의 실시예에 따른 MLC 비휘발성 메모리의 상태가 도시된 도면.FIG. 2 illustrates a state of an MLC non-volatile memory according to an embodiment of the present invention; FIG.

도 3은 도 2의 상태에 따른 전압이 도시된 도면.Fig. 3 is a diagram showing voltage according to the state of Fig. 2; Fig.

도 4는 본 발명의 실시예에 따른 비휘발성 메모리의 블록에 포함된 페이지의 구성이 도시된 도면.4 is a diagram showing a configuration of a page included in a block of a non-volatile memory according to an embodiment of the present invention;

도 5는 본 발명의 실시예에 따른 제 1그룹이 도시된 도면.Figure 5 shows a first group according to an embodiment of the present invention.

도 6은 본 발명의 실시예에 따른 제 2그룹이 도시된 도면.Figure 6 shows a second group according to an embodiment of the present invention.

도 7은 본 발명의 실시예에 따른 맵핑 테이블이 도시된 도면.7 illustrates a mapping table according to an embodiment of the present invention.

도 8은 본 발명의 실시예에 따른 비휘발성 메모리의 맵핑 테이블 관리 방법이 도시된 도면.8 is a diagram illustrating a mapping table management method of a nonvolatile memory according to an embodiment of the present invention.

<도면의 주요 부분에 관한 부호의 설명>DESCRIPTION OF THE REFERENCE NUMERALS

110: 비휘발성 메모리 120: 연산 시간 측정부110: nonvolatile memory 120: calculation time measuring unit

130: 맵핑 테이블 생성부 140: 맵핑 테이블 저장부130: mapping table generation unit 140: mapping table storage unit

150: 맵핑 테이블 추출부150: Mapping table extracting unit

본 발명은 비휘발성 메모리의 맵핑 테이블 관리 장치 및 방법에 관한 것으로서, 더욱 상세하게는 하나의 메모리 셀을 통해 다수의 페이지의 비트 정보를 나타낼 수 있는 비휘발성 메모리에서 메모리 셀을 공유하는 페이지들의 맵핑 관계를 알기 위한 비휘발성 메모리의 맵핑 테이블 관리 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for managing a mapping table of a nonvolatile memory, and more particularly, to a mapping table management method and apparatus for managing mapping tables of pages sharing a memory cell in a nonvolatile memory capable of displaying bit information of a plurality of pages through one memory cell To a non-volatile memory mapping table management apparatus and method.

일반적으로, 가전 기기, 통신 기기, 셋탑 박스 등의 내장형 시스템(Embedded System)에서는 데이터를 저장하고 처리하기 위한 저장 매체로 비휘발성 메모리가 많이 사용되고 있다.2. Description of the Related Art In general, non-volatile memory is widely used as a storage medium for storing and processing data in an embedded system such as a home appliance, a communication device, and a set-top box.

비휘발성 메모리 중에서 주로 사용되는 플래시 메모리는 전기적으로 데이터를 삭제하거나 다시 기록할 수 있는 비휘발성 기억 소자로서, 마그네틱 디스크 메모리를 기반으로 하는 저장 매체에 비해 전력 소모가 적으면서도 하드 디스크와 같은 빠른 액세스 타임(Access Time)을 가지며 크기가 작기 때문에 휴대 기기 등에 적합하다.A flash memory, which is mainly used in a nonvolatile memory, is a nonvolatile memory element capable of electrically erasing data or rewriting data. The flash memory consumes less power than a storage medium based on a magnetic disk memory, (Access Time) and is suitable for portable devices because of its small size.

이러한 비휘발성 메모리에 데이터 비트가 저장되는 기본적인 메커니즘은, 메모리 셀이다. 이러한 메모리 셀은 제어 게이트, 플로팅 게이트, 소스, 및 드레인을 포함한 단일 전계 효과 트랜지스터로 구성된다. 이때, 데이터 비트는 메모리 셀의 문턱 전압이 변화되도록 플로트 게이트 상의 전하량을 변경함으로써 저장된다. 또 한, 메모리 셀은 제어 게이트의 워드 라인을 통해 선택 전압을 인가하여 판독된다.The basic mechanism by which data bits are stored in such a non-volatile memory is a memory cell. Such a memory cell consists of a single field effect transistor including a control gate, a floating gate, a source, and a drain. At this time, the data bit is stored by changing the amount of charge on the float gate so that the threshold voltage of the memory cell is changed. In addition, the memory cell is read by applying the selection voltage through the word line of the control gate.

일반적인 메모리 셀은 1비트를 통해 2가지의 상태를 저장하는 저장 능력을 제공한다. 다시 말해서, 메모리 셀은 인가되는 전압에 따라 데이터가 소거된 상태인 비트 1 또는 데이터가 저장된 상태인 비트 0을 저장하는 저장 능력을 제공한다.A typical memory cell provides storage capability to store two states through one bit. In other words, the memory cell provides storage capability to store bit 1, which is the data erased state, or bit 0, which is the state where the data is stored, depending on the applied voltage.

이때, 대용량의 저장 장치일수록 필수적으로 요구되는 조건은 낮은 비트 당 가격을 구현해야 하기 때문에 하나의 메모리 셀에 다수 비트들의 데이터를 저장하는 기술에 대한 연구가 활발히 진행되고 있다.At this time, since a requirement for a large-capacity storage device is a required condition, it is necessary to implement a low bit-rate, so that a technique for storing a plurality of bits of data in one memory cell has been actively researched.

비휘발성 메모리에서 비트 당 가격을 획기적으로 줄일 수 있는 기술이 1995년 2월, IEEE, ISSCC Digest of Technical Papers, pp. 132-133에 M.Bauer 등에 의해 A Multilevel-Cell 32Mb Flash Memory라는 제목으로 개제된 바 있으며, 이 문헌에는 메모리 셀 당 2비트를 통해 4가지 상태들의 저장 능력을 제공하는 기술이 포함되어 있다.A technique capable of drastically reducing the price per bit in nonvolatile memory is described in IEEE, ISSCC Digest of Technical Papers, pp. M.Bauer et al., Entitled A Multilevel-Cell 32 Mb Flash Memory, which includes a technique for providing storage of four states through two bits per memory cell.

이와 같이, 메모리 셀당 2비트를 통해 4가지 상태들을 저장 능력을 가지는 비휘발성 메모리는 일반적으로 다중 레벨 셀(Multi Level Cell, 이하 MLC라 함) 비휘발성 메모리라 하며, 하나의 메모리 셀을 통해 2개의 페이지에 대한 데이터 비트를 저장하게 된다. 또한, 하나의 메모리 셀에 대응되는 2개의 페이지는 각각 LSB 페이지 및 MSB 페이지라 칭하여지며, 데이터 비트는 LSB 페이지부터 저장된다.A non-volatile memory capable of storing four states through two bits per memory cell is generally referred to as a multi-level cell (MLC) non-volatile memory, and two And stores the data bits for the page. Further, two pages corresponding to one memory cell are referred to as an LSB page and an MSB page, respectively, and data bits are stored from an LSB page.

이러한 MLC 비휘발성 메모리를 사용하는 경우, 문제가 되는 것은 비휘발성 메모리에 프로그램을 수행하는 도중 갑작스러운 전원 중단 현상이 발생하였을 경우이다. 이는 MLC 비휘발성 메모리는 대부분 데이터의 중요도가 떨어지는 제품에 채 택되어 왔기 때문이다. 따라서, MLC 비휘발성 메모리에서 안정적인 동작을 보장하기 위하여 다양한 방법들이 제안되어 왔지만, 이는 모두 LSB 페이지 및 MSB 페이지의 맵핑 관계를 이미 알고 있을 경우에 적용이 가능한 것이다.When using such an MLC nonvolatile memory, a problem is that a sudden power interruption occurs while the program is being executed in the nonvolatile memory. This is because most MLC nonvolatile memories have been adopted in products where data importance is low. Therefore, although various methods have been proposed to ensure stable operation in an MLC nonvolatile memory, they can be applied when the mapping relationship of the LSB page and the MSB page is already known.

다시 말해서, 하나의 메모리 셀을 공유하는 LSB 페이지 및 MSB 페이지의 맵핑 관계를 알아야만, MLC 비휘발성 메모리에서 갑작스러운 전원 중단 현상이 발생하여 LSB 페이지 및 MSB 페이지 중 어느 하나의 페이지에 에러가 발생하였을 경우, 메모리 셀을 공유하는 다른 페이지의 에러를 복원하는 것이 가능하게 된다.In other words, if it is necessary to know the mapping relationship between the LSB page and the MSB page sharing one memory cell, if an error occurs in any one of the LSB page and the MSB page due to a sudden power interruption phenomenon in the MLC nonvolatile memory , It becomes possible to recover the error of another page sharing the memory cell.

한국 공개 특허 2004-0034580호는 플래시 디바이스의 기록시 페이지가 동일한 블록에서 기록을 위해 이용될 수 있으면 데이터는 그 페이지에 기록되고, 이러한 페이지는 그 블록내의 이전에 기록된 임의의 페이지보다 상위 주소에 있도록 기록하는 순차적 기록을 사용하는 플래시 관리 시스템이 기재되어 있으나, MLC 비휘발성 메모리에서 LSB 페이지와 MSB 페이지의 맵핑 관계를 알기 위한 방안은 제안되고 있지 않다.Korean Patent Laid-Open Publication No. 2004-0034580 discloses that when a page is recorded in the same block in a flash device, data is written to the page, and the page is stored at a higher address than any previously recorded page in the block However, a method of knowing the mapping relationship between the LSB page and the MSB page in the MLC nonvolatile memory has not been proposed.

본 발명은 MLC 비휘발성 메모리에서 LSB 페이지와 MSB 페이지의 맵핑 관계를 알아내어 하나의 소프트웨어로도 다양한 종류의 비휘발성 메모리를 사용할 수 있도록 하는 비휘발성 메모리의 맵핑 테이블 관리 장치 및 방법을 제공하는데 그 목적이 있다.The present invention provides an apparatus and method for managing a mapping table of a nonvolatile memory in which a mapping relationship between an LSB page and an MSB page in an MLC nonvolatile memory is determined and one type of nonvolatile memory can be used as one software, .

본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어 질 수 있을 것이다.The 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.

상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 비휘발성 메모리의 맵핑 테이블 관리 장치는, 적어도 2비트로 구현되는 다수개의 상태를 통해 소정 블록에 포함된 다수의 페이지에 데이터 비트를 저장하는 메모리 셀을 포함하는 비휘발성 메모리, 상기 블록에 포함된 다수의 페이지에 대한 쓰기 연산 시간을 측정하는 연산 시간 측정부, 및 상기 측정된 쓰기 연산 시간에 따라 상기 각 페이지들을 다수의 그룹으로 구분하고, 상기 구분된 그룹을 이용하여 맵핑 테이블을 생성하는 맵핑 테이블 생성부를 포함한다.According to an aspect of the present invention, there is provided an apparatus for managing a mapping table of a nonvolatile memory, the apparatus comprising: a memory cell storing a data bit in a plurality of pages included in a predetermined block through a plurality of states, A calculation time measuring unit for measuring a write operation time of a plurality of pages included in the block, and a processor for dividing the pages into a plurality of groups according to the measured write operation time, And a mapping table generation unit for generating a mapping table using the group.

또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 비휘발성 메모리의 맵핑 테이블 관리 방법은, 적어도 2비트로 구현되는 다수개의 상태를 통해 소정 블록에 포함된 다수의 페이지에 데이터 비트를 저장하는 메모리 셀을 포함하는 비휘발성 메모리에서 상기 블록에 포함된 다수의 페이지에 대한 쓰기 연산 시간을 측정하는 단계, 상기 측정된 쓰기 연산 시간에 따라 상기 각 페이지들을 다수의 그룹으로 구분하는 단계, 및 상기 구분된 그룹을 이용하여 맵핑 테이블을 생성하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of managing a mapping table of a nonvolatile memory, the method comprising: storing data bits in a plurality of pages included in a predetermined block through a plurality of states, The method of claim 1, further comprising: measuring a write operation time for a plurality of pages included in the block in a nonvolatile memory including a memory cell; dividing each page into a plurality of groups according to the measured write operation time; And generating a mapping table using the group.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.The details of other embodiments are included in the detailed description and drawings.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발 명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범수를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and the manner of achieving them, will be apparent from and elucidated with reference to the embodiments described hereinafter in conjunction with the accompanying drawings. It should be understood, however, that the description herein is not limited to the embodiments disclosed herein but may 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, To fully disclose the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.

이하, 본 발명의 실시예들에 의하여 비휘발성 메모리의 맵핑 테이블 관리 장치 및 방법을 설명하기 위한 블록도 또는 처리 흐름도에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또 는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described with reference to block diagrams or process flowcharts for explaining an apparatus and method for managing a mapping table of a nonvolatile memory according to embodiments of the present invention. At this point, it will be appreciated that the combinations of blocks and flowchart illustrations in the process flow diagrams may be performed by computer program instructions. These computer program instructions may be loaded into a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, so that those instructions, which are executed through a processor of a computer or other programmable data processing apparatus, Thereby creating means for performing functions. These computer program instructions may also be stored in a computer usable or computer readable memory capable of directing a computer or other programmable data processing apparatus to implement the functionality in a particular manner so that the computer usable or computer readable memory The instructions stored in the block diagram (s) are also capable of producing manufacturing items containing instruction means for performing the functions described in the flowchart block (s). The computer program instructions It is also possible to mount on a computer or other programmable data processing equipment, so that a series of operating steps are performed on a computer or other programmable data processing equipment to create a computer-executed process to execute a computer or other programmable data processing equipment The instructions that perform may also provide steps for executing the functions described in the flowchart block (s).

또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative implementations, the functions mentioned in the blocks may occur out of order. For example, two blocks shown in succession may actually be executed substantially concurrently, or the blocks may sometimes be performed in reverse order according to the corresponding function.

도 1은 본 발명의 실시예에 따른 비휘발성 메모리의 맵핑 테이블 관리 장치가 도시된 도면이다.1 is a block diagram of a mapping table management apparatus for a non-volatile memory according to an embodiment of the present invention.

도시된 바와 같이, 본 발명의 실시예에 따른 비휘발성 메모리의 맵핑 테이블 관리 장치(100)는, 비휘발성 메모리(110), 연산 시간 측정부(120), 맵핑 테이블 생성부(130), 맵핑 테이블 저장부(140) 및 맵핑 테이블 추출부(150)를 포함할 수 있다.The mapping table management apparatus 100 of the nonvolatile memory according to the embodiment of the present invention includes a nonvolatile memory 110, an operation time measurement unit 120, a mapping table generation unit 130, A storage unit 140, and a mapping table extracting unit 150.

비휘발성 메모리(110)는 적어도 2비트로 구현되는 다수개의 상태를 통해 다수개의 페이지에 데이터를 저장하는 메모리 셀을 포함하는 MLC 비휘발성 메모리인 경우를 예를 들어 설명하기로 한다.The nonvolatile memory 110 is an MLC nonvolatile memory including a memory cell that stores data in a plurality of pages through a plurality of states implemented with at least two bits.

예를 들어, MLC 비휘발성 메모리에서 메모리 셀이 2비트를 통해 다수개의 페 이지에 데이터를 저장하는 경우, 같은 메모리 셀에 의해 데이터 비트가 저장되는 페이지들은 서로 바인딩되었다고 하며, 메모리 셀은 소정 블록에 포함된 페이지 중 서로 바인딩된 LSB 페이지 및 MSB 페이지에 데이터를 저장할 수 있다. 이때, LSB 페이지와 MSB 페이지는 서로 연속적으로 위치될 수도 있고, 그렇지 않을 수도 있다. 또한, 본 발명의 실시예에서 메모리 셀이 2비트로 구현되는 4가지 상태를 통해 데이터 비트 정보를 저장하는 경우를 예를 들어 설명하고 있으나, 이는 본 발명의 이해를 돕기 위한 일 예에 불과한 것으로 2비트 이상으로 구현되는 다수개의 상태를 통해 다수의 페이지에 데이터 비트를 저장할 수도 있다.For example, in a MLC non-volatile memory, when a memory cell stores data on a plurality of pages through two bits, pages where data bits are stored by the same memory cell are said to be bound to each other, You can store the data on the LSB and MSB pages that are bound to each other among the included pages. At this time, the LSB page and the MSB page may or may not be positioned successively to each other. In the embodiment of the present invention, data bit information is stored through 4 states in which a memory cell is implemented with 2 bits. However, this is only an example for facilitating understanding of the present invention. The data bits may be stored in a plurality of pages through a plurality of states implemented as described above.

연산 시간 측정부(120)는 비휘발성 메모리(110)의 소정 블록에 포함된 다수의 페이지에 대하여 쓰기 연산을 수행하고, 각 페이지에 대해 쓰기 연산이 완료되는 시간을 측정할 수 있다. 연산 시간 측정부(120)가 각 페이지에 대한 쓰기 연산 완료 시간을 측정하는 것은, 전술한 바와 같이 비휘발성 메모리(110)가 MLC 비휘발성 메모리인 경우에 LSB 페이지와 MSB 페이지는 쓰기 연산 완료 시간에 차이가 발생하기 때문에 이를 구분하기 위함이다.The calculation time measuring unit 120 may perform a write operation on a plurality of pages included in a predetermined block of the nonvolatile memory 110 and measure a time at which a write operation is completed for each page. When the nonvolatile memory 110 is an MLC nonvolatile memory as described above, the LSB page and the MSB page are measured at the completion time of the write operation, This is to distinguish them because of differences.

예를 들어, 도 2와 같이 비휘발성 메모리(110)가 메모리 셀이 2비트로 구현되는 4가지의 상태를 통해 LSB 페이지 및 MSB 페이지에 데이터를 비트 정보를 저장하는 경우, LSB 페이지 및 MSB 페이지의 상태는 도 3과 같이 4가지의 전압에 따라 4가지의 상태가 구현될 수 있다.For example, when the nonvolatile memory 110 stores bit information of data on the LSB page and the MSB page through the four states in which the memory cell is implemented as two bits as shown in FIG. 2, the state of the LSB page and the MSB page As shown in FIG. 3, four states can be implemented according to four voltages.

이때, 전술한 도 2 및 도 3을 참조하면, LSB 페이지는 전압을 한 단계만 낮추면 되는 반면, MSB 페이지는 전압을 두 단계 이상 낮춰지게 된다. 따라서, LSB 페이지는 MSB 페이지에 비하여 상대적으로 쓰기 연산 완료 시간이 빠르게 된다. 즉, 연산 시간 측정부(120)는 각 페이지의 쓰기 연산 완료 시간을 측정함으로써, 비휘발성 메모리(110)에서 LSB 페이지와 MSB 페이지를 구분될 수 있도록 하는 것이다.Referring to FIGS. 2 and 3, the LSB page is lowered by one step, while the MSB page is lowered by two or more steps. Therefore, the LSB page is relatively faster in the write operation completion time than the MSB page. That is, the calculation time measuring unit 120 measures the completion time of the write operation of each page so that the LSB page and the MSB page can be distinguished from each other in the nonvolatile memory 110.

맵핑 테이블 생성부(130)는 연산 시간 측정부(120)에 의해 측정된 쓰기 연산 완료 시간에 따라 블록내의 페이지를 LSB 페이지 그룹인 제 1그룹과 MSB 페이지 그룹인 제 2그룹으로 구분하고, 제 1그룹 및 제 2그룹을 이용하여 LSB 페이지와 MSB 페이지 사이의 맵핑 관계를 알 수 있는 맵핑 테이블을 생성할 수 있다. The mapping table generation unit 130 divides pages in a block into a first group, which is an LSB page group, and a second group, which is an MSB page group, according to the write operation completion time measured by the calculation time measuring unit 120, A mapping table can be generated by using the group and the second group to know the mapping relationship between the LSB page and the MSB page.

다시 말해서, 비휘발성 메모리(110)의 페이지 구성이 도 4와 같이 LSB 페이지 0 ~ LSB 페이지 4와 MSB 페이지 0 ~ MSB 페이지 4로 이루어질 때, 연산 시간 측정부(120)는 각 페이지에 대하여 쓰기 연산의 연산 완료 시간을 측정하게 되고, 맵핑 테이블 생성부(130)는 측정된 쓰기 연산 완료 시간에 따라 도 5와 같이, LSB 페이지들의 그룹인 제 1그룹과, 도 6과 같이, MSB 페이지들의 그룹인 제 2그룹으로 구분할 수 있는 것이다. 이때, 제 1그룹 및 제 2그룹에서 페이지들이 순서에 따라 정렬되는 것은, 비휘발성 메모리(110)의 특성상 블록 내의 페이지는 페이지 번호가 증가하는 방향으로 순서대로 프로그램되기 때문이다.In other words, when the page configuration of the nonvolatile memory 110 is made up of the LSB page 0 to the LSB page 4 and the MSB page 0 to the MSB page 4 as shown in FIG. 4, the calculation time measuring unit 120 calculates the write operation And the mapping table generator 130 measures the completion time of the MSB pages, as shown in FIG. 5, according to the measured write operation completion time, and the first group, which is a group of LSB pages, And the second group. At this time, the pages in the first group and the second group are arranged in order because the pages in the blocks are programmed in the order of increasing page numbers due to the nature of the non-volatile memory 110. [

이후, 맵핑 테이블 생성부(130)는 제 1그룹 및 제 2그룹을 이용하여 맵핑 테이블을 생성하게 되며, 본 발명의 실시예에서는 생성된 맵핑 테이블이 도 7과 같이, 페이지 타입 필드(210), 페어 페이지 필드(220) 및 다음 페이지 필드(230)를 가지는 경우를 예를 들어 설명하기로 하며, 이에 한정되지 않는다. 또한, 본 발명 의 실시예에서 생성되는 맵핑 테이블은, 메모리 셀을 공유하는 페이지 사이의 맵핑 관계를 알기 위해 생성되는 것으로 이해될 수 있다. 따라서, 맵핑 테이블에 포함되는 필드의 개수 및 종류는 비휘발성 메모리(110)의 타입 및 규격에 따라 변경될 수 있음은 자명하다.Then, the mapping table generating unit 130 generates the mapping table using the first group and the second group. In the embodiment of the present invention, the generated mapping table is divided into the page type field 210, The page page field 220 and the next page field 230 will be described by way of example, but the present invention is not limited thereto. Further, the mapping table generated in the embodiment of the present invention can be understood to be generated in order to know the mapping relationship between the pages sharing the memory cells. Therefore, it is obvious that the number and type of fields included in the mapping table can be changed according to the type and standard of the nonvolatile memory 110. [

페이지 타입 필드(210)는 해당 페이지가 LSB 페이지인지, MSB 페이지인지를 나타내며, 'L'은 LSB 페이지를 나타내고, 'M'은 MSB 페이지를 나타낸다. 페어 페이지 필드(220)는 해당 페이지와 메모리 셀을 공유하는 페이지를 나타낸다. 즉, 해당 페이지가 LSB 페이지인 경우에는 메모리 셀을 공유하는 MSB 페이지를 나타내고, 해당 페이지가 MSB 페이지인 경우에는 메모리 셀을 공유하는 LSB 페이지를 나타낸다. 다음 페이지 필드(230)는 해당 페이지와 동일한 페이지 타입이며 다음 페이지를 나타낸다. 그리고, 전술한 도 7에서 '-'는 다음 페이지가 존재하지 않는다는 것을 의미한다.The page type field 210 indicates whether the page is an LSB page or an MSB page, 'L' indicates an LSB page, and 'M' indicates an MSB page. The pair page field 220 indicates a page sharing the memory cell with the page. That is, when the page is an LSB page, it indicates an MSB page sharing a memory cell, and when the page is an MSB page, it indicates an LSB page sharing a memory cell. The next page field 230 is the same page type as the page and represents the next page. In FIG. 7, '-' means that the next page does not exist.

맵핑 테이블 저장부(140)는 맵핑 테이블 생성부(130)에 의해 생성된 맵핑 테이블을 저장하게 된다. 본 발명의 실시예에서는 비휘발성 메모리(110)와 맵핑 테이블 저장부(140)가 별도의 구성 요소로 구성된 경우를 예를 들어 설명하고 있으나, 이에 한정되지 않고 맵핑 테이블 저장부(140)는 비휘발성 메모리(110)의 소정 영역으로 대체될 수 있다.The mapping table storage unit 140 stores the mapping table generated by the mapping table generation unit 130. [ In the embodiment of the present invention, the non-volatile memory 110 and the mapping table storage unit 140 are configured as separate components. However, the present invention is not limited thereto, and the mapping table storage unit 140 may store non- And may be replaced with a predetermined area of the memory 110. [

맵핑 테이블 추출부(150)는 맵핑 테이블 저장부(140)에 저장된 맵핑 테이블을 추출할 수 있다. 이와 같이, 맵핑 테이블을 추출하는 것은 하나의 소프트웨어를 이용하여 다양한 종류의 비휘발성 메모리(110)를 사용함에 있어서, MLC 비휘발성 메모리에서 메모리 셀을 공유하는 페이지의 맵핑 관계를 할 수 있기 때문에 MLC 비휘발성 메모리의 구조에 따라 펌웨어를 수정하는 등의 불필요한 시간 및 비용을 감소시키게 된다.The mapping table extracting unit 150 may extract a mapping table stored in the mapping table storage unit 140. [ Since the mapping table can be extracted by using one type of nonvolatile memory 110 by using one software, the mapping relation of the pages sharing the memory cells in the MLC nonvolatile memory can be performed. Therefore, the MLC ratio And unnecessary time and cost such as correcting the firmware according to the structure of the volatile memory are reduced.

도 8은 본 발명의 실시예에 따른 비휘발성 메모리의 맵핑 테이블 관리 방법이 도시된 도면이다.8 is a diagram illustrating a mapping table management method of a nonvolatile memory according to an embodiment of the present invention.

도시된 바와 같이, 본 발명의 실시예에 따른 비휘발성 메모리의 맵핑 테이블 관리 방법은, 먼저 연산 시간 측정부(120)가 비휘발성 메모리(110)에 포함된 소정 블록의 각 페이지에 대하여 쓰기 연산을 수행하여, 쓰기 연산이 완료되는 시간을 측정하게 된다(S110). As shown in the figure, in the mapping table management method of the non-volatile memory according to the embodiment of the present invention, the calculation time measuring unit 120 performs a write operation on each page of a predetermined block included in the non-volatile memory 110 And the time at which the write operation is completed is measured (S110).

맵핑 테이블 생성부(130)는 연산 시간 측정부(120)에 의해 측정된 쓰기 연산 완료 시간에 따라 해당 블록에 포함된 페이지들을 다수의 그룹으로 구분하게 된다(S120). 이때, 본 발명의 실시예에서 비휘발성 메모리(110)의 소정 블록은 8개의 페이지로 이루어져 있으며, 4개의 LSB 페이지 및 4개의 MSB 페이지로 이루어진 경우를 예를 들어 설명하기로 한다. 또한, 맵핑 테이블 생성부(130)에 의해 구분된 그룹은 LSB 페이지들로 이루어진 제 1그룹 및 MSB 페이지들로 이루어진 제 2그룹인 경우를 예를 들어 설명하기로 한다. 이때, 다수의 페이지들을 제 1그룹 및 제 2그룹으로 구분하는 것은, LSB 페이지가 MSB 페이지에 비하여 상대적으로 빠른 시간내에 프로그램이 끝난다는 것에 근거한 것으로서, LSB 페이지에서 프로그램이 끝나는 시간에 따라 정해지는 기준 시간을 기준으로 하여 제 1그룹 및 제 2그룹으로 나뉘어질 수 있다.The mapping table generation unit 130 divides the pages included in the block into a plurality of groups according to the write operation completion time measured by the calculation time measurement unit 120 (S120). In this case, in the embodiment of the present invention, a predetermined block of the nonvolatile memory 110 is composed of 8 pages, and the case of 4 LSB pages and 4 MSB pages will be described as an example. In addition, the group divided by the mapping table generator 130 is a first group of LSB pages and a second group of MSB pages, for example. In this case, dividing the plurality of pages into the first group and the second group is based on the fact that the LSB page ends in a relatively short period of time as compared with the MSB page, and the criteria determined according to the end time of the program in the LSB page And may be divided into a first group and a second group based on time.

이때, 맵핑 테이블 생성부(130)에서 그룹을 구분하는 방법으로는, 다른 페이지에 비하여 쓰기 연산이 상대적으로 빨리 완료되는 페이지들을 LSB 페이지로 설정하여 제 1그룹으로 묶고, 나머지 페이지들을 MSB 페이지로 설정하여 제 2그룹으로 묶게 된다.In this case, the mapping table generation unit 130 divides the groups into the first group by setting LSB pages whose write operations are relatively fast compared with other pages as the LSB pages, and sets the remaining pages as MSB pages And are grouped into a second group.

맵핑 테이블 생성부(130)는 그룹의 구분이 완료되면, 각 그룹에 포함되는 페이지들을 순서대로 정렬하게 된다(S130).After the grouping of the groups is completed, the mapping table generating unit 130 arranges the pages included in each group in order (S130).

맵핑 테이블 생성부(130)는 정렬된 페이지들을 근거로 하여, 각 그룹에 포함된 페이지들의 페어 페이지를 설정하게 된다(S140).The mapping table generation unit 130 sets a pair page of pages included in each group based on the sorted pages (S140).

맵핑 테이블 생성부(130)는 전술한 도 7과 같이 다수의 그룹간의 맵핑 테이블을 생성한다(S150).The mapping table generation unit 130 generates a mapping table between a plurality of groups as described above with reference to FIG. 7 (S150).

이때, 전술한 도 8과 같은 방법은 비휘발성 메모리(110)가 초기화될때마다 수행하는 것은 그 효율이 떨어질 수 있기 때문에 전술한 도 8과 같은 방법으로 생성된 맵핑 테이블은 맵핑 테이블 저장부(140)에 저장될 수 있으며, 필요시 맵핑 테이블 추출부(150)에 의해 추출되어 사용될 수 있다.In this case, since the efficiency of the method shown in FIG. 8 performed every time the non-volatile memory 110 is initialized may decrease, the mapping table generated by the method of FIG. 8 may be stored in the mapping table storage unit 140, And may be extracted and used by the mapping table extracting unit 150 when necessary.

이와 같이, 하나의 메모리 셀로 다수의 페이지에 대한 비트 정보를 표현할 수 있는 MLC 비휘발성 메모리에서 LSB 페이지 및 MSB 페이지간의 맵핑 관계를 맵핑 테이블로 저장하여 이를 사용함으로써, 하나의 소프트웨어로도 다양한 종류의 비휘발성 메모리를 사용할 수 있게 된다. 즉, 업체마다 MLC 비휘발성 메모리의 구조가 상이한 경우, 비휘발성 메모리의 구조에 따라 펌웨어를 수정하는 등의 추가적인 개발 비용이 절감될 수 있는 것이다.By storing the mapping relationship between the LSB page and the MSB page in the MLC nonvolatile memory capable of expressing bit information for a plurality of pages with one memory cell as a mapping table and using it, Volatile memory can be used. That is, if the structure of the MLC nonvolatile memory differs for each company, the additional development cost such as correcting the firmware according to the structure of the nonvolatile memory can be reduced.

상기 '부'는 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)과 같은 하드웨어 구성요소를 의미하며, 부는 어떤 역할들을 수행한다. 그렇지만 부는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 부는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 따라서, 일 예로서 부는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 부들에서 제공되는 기능은 더 작은 수의 구성요소들 및 부들로 결합되거나 추가적인 구성요소들과 부들로 더 분리될 수 있다.Means a hardware component such as software or a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC), and the component performs certain roles. However, booting is not limited to software or hardware. The components may be configured to reside on an addressable storage medium and configured to execute one or more processors. Thus, by way of example, and not limitation, the elements and components such as software components, object-oriented software components, class components and task components, and processes, functions, attributes, procedures, subroutines , Segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functions provided in the components and parts may be combined into a smaller number of components and parts or further separated into additional components and parts.

이상과 같이 본 발명에 따른 비휘발성 메모리의 맵핑 테이블 관리 장치 및 방법을 예시된 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명은 한정되지 않으며 그 발명의 기술사상 범위내에서 당업자에 의해 다양한 변형이 이루어질 수 있음은 물론이다.As described above, the mapping table management apparatus and method of the nonvolatile memory according to the present invention has been described with reference to the drawings. However, the present invention is not limited to the embodiments and drawings disclosed in the present specification, It is to be understood that various modifications may be made by those skilled in the art.

상기한 바와 같은 본 발명의 비휘발성 메모리의 맵핑 테이블 관리 장치 및 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.According to the mapping table management apparatus and method of the nonvolatile memory of the present invention, one or more of the following effects can be obtained.

MLC 비휘발성 메모리에서 LSB 페이지와 MSB 페이지의 맵핑 관계를 파악하여 이를 맵핑 테이블로 저장하여 사용하기 때문에 하나의 소프트웨어로도 다양한 종류의 비휘발성 메모리를 사용할 수 있는 효과가 있다.Since the mapping relationship between the LSB page and the MSB page in the MLC nonvolatile memory is grasped and stored as a mapping table, it is possible to use various kinds of nonvolatile memories as a single software.

또한, 맵핑 테이블로 인해 비휘발성 메모리의 구조에 따라 펌웨어 및 소프트웨어 등을 수정하는 등의 불필요한 개발 비용 및 시간을 절감시킬 수 있는 효과도 있다.In addition, the mapping table can also reduce unnecessary development costs and time such as correcting firmware and software according to the structure of the nonvolatile memory.

Claims (14)

적어도 2비트로 구현되는 다수개의 상태를 통해 소정 블록에 포함된 다수의 페이지에 데이터 비트를 저장하는 메모리 셀을 포함하는 비휘발성 메모리;A nonvolatile memory including a memory cell for storing data bits in a plurality of pages included in a predetermined block through a plurality of states implemented with at least two bits; 상기 블록에 포함된 다수의 페이지에 대한 쓰기 연산 시간을 측정하는 연산 시간 측정부; 및A calculation time measuring unit for measuring a write operation time of a plurality of pages included in the block; And 상기 측정된 쓰기 연산 시간에 따라 상기 각 페이지들을 다수의 그룹으로 구분하고, 상기 구분된 그룹을 이용하여 맵핑 테이블을 생성하는 맵핑 테이블 생성부를 포함하되,And a mapping table generation unit for dividing the pages into a plurality of groups according to the measured write operation time and generating a mapping table using the divided groups, 상기 연산 시간 측정부는, 상기 블록에 포함된 모든 페이지에 대하여 쓰기 연산을 수행하고, 상기 쓰기 연산의 완료 시간을 측정하며,Wherein the calculation time measuring unit performs a write operation on all pages included in the block, measures a completion time of the write operation, 상기 맵핑 테이블 생성부는, 상기 블록에 포함된 각 페이지들을 상기 쓰기 연산 완료 시간이 다른 페이지에 비하여 상대적으로 작은 경우 제 1그룹으로 지정하고, 그렇지 않은 경우 제 2그룹으로 지정하고,Wherein the mapping table generation unit designates each of the pages included in the block as a first group when the write operation completion time is relatively small compared to pages with different write operation completion time, 상기 제 1그룹은, LSB 페이지들의 그룹이고, 상기 제 2그룹은, MSB 페이지들의 그룹인 비휘발성 메모리의 맵핑 테이블 관리 장치.Wherein the first group is a group of LSB pages and the second group is a group of MSB pages. 제 1항에 있어서,The method according to claim 1, 상기 비휘발성 메모리는, 2비트로 구현되는 4가지 상태를 통해 LSB 페이지 및 MSB 페이지의 비트 정보를 표현하는 비휘발성 메모리의 맵핑 테이블 관리 장치.Wherein the nonvolatile memory expresses bit information of an LSB page and an MSB page through four states implemented with two bits. 삭제delete 삭제delete 삭제delete 제 1항에 있어서,The method according to claim 1, 상기 맵핑 테이블 생성부는, 상기 페이지의 타입 필드, 상기 페이지의 페어 페이지 필드 및 상기 페이지와 동일한 타입을 가지는 다음 페이지 필드를 포함하는 상기 맵핑 테이블을 생성하는 비휘발성 메모리의 맵핑 테이블 관리 장치.Wherein the mapping table generation unit generates the mapping table including a type field of the page, a pair page field of the page, and a next page field having the same type as the page. 제 1항에 있어서,The method according to claim 1, 상기 생성된 맵핑 테이블을 저장하는 맵핑 테이블 저장부; 및A mapping table storage unit for storing the generated mapping table; And 상기 저장된 맵핑 테이블을 추출하는 맵핑 테이블 추출부를 더 포함하는 비휘발성 메모리의 맵핑 테이블 관리 장치.And a mapping table extracting unit for extracting the stored mapping table. 적어도 2비트로 구현되는 다수개의 상태를 통해 소정 블록에 포함된 다수의 페이지에 데이터 비트를 저장하는 메모리 셀을 포함하는 비휘발성 메모리에서 상기 블록에 포함된 다수의 페이지에 대한 쓰기 연산 시간을 측정하는 단계;Measuring a write operation time for a plurality of pages included in the block in a nonvolatile memory including a memory cell storing data bits in a plurality of pages included in a predetermined block through a plurality of states implemented with at least two bits, ; 상기 측정된 쓰기 연산 시간에 따라 상기 각 페이지들을 다수의 그룹으로 구분하는 단계; 및 Dividing the pages into a plurality of groups according to the measured write operation time; And 상기 구분된 그룹을 이용하여 맵핑 테이블을 생성하는 단계를 포함하되,And generating a mapping table using the segmented group, 상기 연산 시간을 측정하는 단계는, 상기 블록에 포함된 모든 페이지에 대하여 쓰기 연산을 수행하는 단계; 및 상기 쓰기 연산의 완료 시간을 측정하는 단계를 포함하며,The step of measuring the computation time may include: performing a write operation on all pages included in the block; And measuring a completion time of the write operation, 상기 맵핑 테이블을 생성하는 단계는, 상기 블록에 포함된 각 페이지들을 상기 쓰기 연산 완료 시간이 다른 페이지에 비하여 상대적으로 작은 경우 제 1그룹으로 지정하고, 그렇지 않은 경우 제 2그룹으로 지정하는 단계를 포함하고,The step of generating the mapping table may include designating each of the pages included in the block as a first group when the write operation completion time is relatively small compared to pages having a different write operation completion time, and, 상기 제 1그룹은, LSB 페이지들의 그룹이고, 상기 제 2그룹은, MSB 페이지들의 그룹인 비휘발성 메모리의 맵핑 테이블 관리 방법.Wherein the first group is a group of LSB pages and the second group is a group of MSB pages. 제 8항에 있어서,9. The method of claim 8, 상기 비휘발성 메모리는, 2비트로 구현되는 4가지 상태를 통해 LSB 페이지 및 MSB 페이지의 비트 정보를 표현하는 비휘발성 메모리의 맵핑 테이블 관리 방법.Wherein the nonvolatile memory expresses bit information of an LSB page and an MSB page through four states implemented with two bits. 삭제delete 삭제delete 삭제delete 제 8항에 있어서,9. The method of claim 8, 상기 맵핑 테이블은, 상기 페이지의 타입 필드, 상기 페이지의 페어 페이지 필드 및 상기 페이지와 동일한 타입을 가지는 다음 페이지 필드를 포함하는 비휘발성 메모리의 맵핑 테이블 관리 방법.Wherein the mapping table includes a type field of the page, a pair page field of the page, and a next page field having the same type as the page. 제 8항에 있어서,9. The method of claim 8, 상기 생성된 맵핑 테이블을 저장하는 단계; 및Storing the generated mapping table; And 상기 저장된 맵핑 테이블을 추출하는 단계를 더 포함하는 비휘발성 메모리의 맵핑 테이블 관리 방법.Further comprising the step of extracting the stored mapping table.
KR1020070048832A 2007-05-18 2007-05-18 Apparatus and method of managing mapping table of non-volatile memory KR101434567B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020070048832A KR101434567B1 (en) 2007-05-18 2007-05-18 Apparatus and method of managing mapping table of non-volatile memory
US11/947,162 US7945723B2 (en) 2007-05-18 2007-11-29 Apparatus and method of managing mapping table of non-volatile memory
CNA2008100965767A CN101308701A (en) 2007-05-18 2008-05-16 Apparatus and method of managing mapping table of non-volatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070048832A KR101434567B1 (en) 2007-05-18 2007-05-18 Apparatus and method of managing mapping table of non-volatile memory

Publications (2)

Publication Number Publication Date
KR20080101568A KR20080101568A (en) 2008-11-21
KR101434567B1 true KR101434567B1 (en) 2014-08-27

Family

ID=40028711

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070048832A KR101434567B1 (en) 2007-05-18 2007-05-18 Apparatus and method of managing mapping table of non-volatile memory

Country Status (3)

Country Link
US (1) US7945723B2 (en)
KR (1) KR101434567B1 (en)
CN (1) CN101308701A (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009230414A (en) * 2008-03-21 2009-10-08 Toshiba Corp Storage device having plurality of nonvolatile memory devices
TWI375962B (en) * 2008-06-09 2012-11-01 Phison Electronics Corp Data writing method for flash memory and storage system and controller using the same
KR101541736B1 (en) 2008-09-22 2015-08-04 삼성전자주식회사 LSB page recovering method for multi-level cell flash memory device
KR101606880B1 (en) * 2009-06-22 2016-03-28 삼성전자주식회사 Data storage system and channel driving method thereof
CN102237130B (en) * 2010-04-20 2014-01-29 深圳市江波龙电子有限公司 Method and system for finding least significant bit pages in multi-layer cell flash memory
KR20140147582A (en) * 2013-06-20 2014-12-30 에스케이하이닉스 주식회사 Memory system and operating method thereof
US9442662B2 (en) * 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
TWI664568B (en) * 2016-11-15 2019-07-01 慧榮科技股份有限公司 Operating method of data storage device
TWI626541B (en) * 2017-08-31 2018-06-11 慧榮科技股份有限公司 Method for writing data into flash memory module and associated flash memory controller and electronic device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH117784A (en) * 1997-06-18 1999-01-12 Rohm Co Ltd Eeprom device
JP2000173281A (en) 1998-12-04 2000-06-23 Sony Corp Semiconductor memory

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970008188B1 (en) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 Control method of flash memory and information processing apparatus using the same
JP5136062B2 (en) * 2005-11-16 2013-02-06 株式会社ニコン Camera, electronic still camera, and camera system
KR100771521B1 (en) * 2006-10-30 2007-10-30 삼성전자주식회사 Flash memory device having a multi-leveled cell and programming method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH117784A (en) * 1997-06-18 1999-01-12 Rohm Co Ltd Eeprom device
JP2000173281A (en) 1998-12-04 2000-06-23 Sony Corp Semiconductor memory

Also Published As

Publication number Publication date
KR20080101568A (en) 2008-11-21
US7945723B2 (en) 2011-05-17
CN101308701A (en) 2008-11-19
US20080288743A1 (en) 2008-11-20

Similar Documents

Publication Publication Date Title
KR101434567B1 (en) Apparatus and method of managing mapping table of non-volatile memory
KR100736103B1 (en) Nonvolatile memory, apparatus and method for deciding data validity for the same
JP6298249B2 (en) NONVOLATILE MEMORY DEVICE, MEMORY SYSTEM INCLUDING THE SAME, AND MEMORY BLOCK MANAGEMENT, ERASE AND PROGRAM METHOD THEREOF
US7716413B2 (en) Method of making a multi-bit-cell flash memory
KR101396641B1 (en) Method of storing data on a flash memory device
US5815434A (en) Multiple writes per a single erase for a nonvolatile memory
US20170160942A1 (en) Data storage device and flash memory control method
US10942796B2 (en) Identifying asynchronous power loss
KR102117919B1 (en) Storage device and programming method thereof
US11100997B2 (en) Storage device, controller and method for operating controller for configuring super pages using program timing information
KR20140043500A (en) Wear leveling for a memory device
US8549214B2 (en) Protection against data corruption for multi-level memory cell (MLC) flash memory
KR101270685B1 (en) Apparatus and method for processing data of non-volitaile memory
CN113946283A (en) Partial region memory unit handling in a partition namespace of a memory device
KR100703806B1 (en) Nonvolatile memory, apparatus and method for deciding data validity for the same
KR20080074360A (en) Non-volatile memory device capable of reducing data program time and driving method for the same
US10783970B2 (en) Consolidation of copy-back and write in PRAM blocks
US9507706B2 (en) Memory system controller including a multi-resolution internal cache
CN107507641B (en) Read operation method, device and the relevant device of nonvolatile memory
KR20210028335A (en) Memory system, memory controller, and operating method
US11942160B2 (en) Performing a program operation based on a high voltage pulse to securely erase data
US20230197163A1 (en) Concurrent programming of retired wordline cells with dummy data
US11854644B2 (en) Performing select gate integrity checks to identify and invalidate defective blocks
US20230207019A1 (en) Multi-level cell and multi-sub-block programming in a memory device
KR101003212B1 (en) Nonvolatile memory device and method for program therof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20180731

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 6