KR20090110648A - How to write data to flash memory, how to read data recorded in flash memory, and flash memory system - Google Patents
How to write data to flash memory, how to read data recorded in flash memory, and flash memory system Download PDFInfo
- Publication number
- KR20090110648A KR20090110648A KR1020080036256A KR20080036256A KR20090110648A KR 20090110648 A KR20090110648 A KR 20090110648A KR 1020080036256 A KR1020080036256 A KR 1020080036256A KR 20080036256 A KR20080036256 A KR 20080036256A KR 20090110648 A KR20090110648 A KR 20090110648A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- flash memory
- tcm
- read
- flash
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 132
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000013507 mapping Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 9
- 238000009826 distribution Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본 발명은 TCM(Trellis Coding Modulation)을 이용한 플래시 메모리 시스템 및 플래시 메모리 시스템에 데이터 기록하는 방법과 읽는 방법에 관한 것이다. 플래시 메모리로 데이터를 TCM 부호화한 후 기록한다. 본 발명에 의하면 플래시 메모리에 데이터를 기록하거나 읽는 과정에서 발생하는 오류를 줄일 수 있다.The present invention relates to a flash memory system using Trellis Coding Modulation (TCM) and a method of writing and reading data in a flash memory system. The data is written after TCM encoding the data into the flash memory. According to the present invention, errors occurring during the process of writing or reading data to and from the flash memory can be reduced.
Description
본 발명은 플래시 메모리로 데이터를 기록하는 방법과 플래시 메모리에 기록된 데이터를 읽는 방법 및 플래시 메모리 시스템에 관한 것이다. 본 발명은 집적화된 MLC(Multi Level Cell) 타입 플래시 메모리로 데이터를 기록하거나 데이터를 읽을 때 적용 가능한 데이터 기록/읽기 방법 및 플래시 메모리 시스템에 관한 것이다. The present invention relates to a method of writing data to a flash memory, a method of reading data written to a flash memory, and a flash memory system. The present invention relates to a data writing / reading method and a flash memory system applicable when data is written to or read from an integrated multi-level cell (MLC) type flash memory.
플래시 메모리는 하드 디스크와 같이 비휘발성을 가지면서도 빠른 접근속도를 가지고, 전력을 적게 소비하기 때문에 내장형 시스템이나 이동 디바이스 등에서 많이 사용되고 있다. Flash memory is widely used in embedded systems and mobile devices because it has a non-volatile, fast access speed and consumes less power like a hard disk.
플래시 메모리는 그 하드웨어 특성을 고려할 때, 이미 쓰여진 메모리 섹터에 기록연산을 수행하기 위하여 그 섹터가 포함된 블록 전체를 지우는 연산을 먼저 수행하여야 한다. 플래시 메모리 블록을 구성하는 페이지 일부에만 데이터를 기록하는 일부 기록(Partial Programming)도 가능하다. In consideration of its hardware characteristics, the flash memory must first perform an operation of erasing the entire block containing the sector in order to perform a write operation on an already written memory sector. Partial programming is also possible, where data is written to only part of the pages that make up a flash memory block.
플래시 메모리를 사용하는 장치들은 점차 증가하고 있다. 예를 들면, MP3 플레이어, 디지털 카메라, 휴대 단말기, 캠코더, SSD(Solid State Drive) 등은 저장장치로 플래시 메모리를 사용한다. Devices using flash memory are increasing. For example, MP3 players, digital cameras, portable terminals, camcorders, solid state drives (SSD), and the like use flash memory as storage.
도 1은 일반적인 플래시 메모리 시스템의 구조가 도시된 도이다. 호스트(30)가 기록하고자 하는 데이터가 기록 가능한 복수개의 플래시 메모리(10)와, 플래시 메모리(10)에 엑세스하여 데이터를 기록하거나 읽는 플래시 컨트롤러(20)로 구성된다.1 is a diagram illustrating the structure of a general flash memory system. The
그러나, 플래시 메모리(10)가 집적화됨에 따라 데이터를 기록하는데 에러가 발생하는 경우가 증가하는 문제점이 있다. 또한, 플래시 메모리(10)에 기록된 데이터를 읽을 때 인접한 트랜지스터들간 간섭현상에 의해 에러가 발생하는 경우가 증가하는 문제점이 있다. However, there is a problem that an error occurs in writing data as the
플래시 컨트롤러(20)는 플래시 메모리(10)에 기록된 데이터에 발생한 에러를 정정하기 위하여 플래시 메모리(10)에 ECC를 기록하기도 한다. 그러나, ECC를 기록할 경우, 플래시 메모리(10)에 기록되어야 하는 데이터의 양이 증가하는 문제점이 있다.The
본 발명은 플래시 메모리로 데이터를 기록할 때 오류가 발생할 확률을 감소시킨다. 또한, 본 발명은 플래시 메모리에서 데이터를 읽는 과정에서 오류가 발생할 확률을 감소시킨다. 또한, 본 발명은 플래시 메모리에서 기록된 데이터에 발생 한 오류를 정정하기 위하여 ECC를 사용하지 않아도 된다. The present invention reduces the probability of error occurring when writing data to the flash memory. In addition, the present invention reduces the probability of error in the process of reading data from the flash memory. In addition, the present invention does not need to use ECC to correct an error occurring in the data recorded in the flash memory.
상기한 과제를 해결하기 위한 본 발명에 의한 플래시 메모리 시스템은 플래시 메모리와 상기 플래시 메모리로 데이터를 기록하거나 읽는 플래시 컨트롤러로 구성된 플래시 메모리 시스템에 있어서, 호스트에서 기록 연산요청된 데이터가 TCM(Trellis Coding Modulation) 부호화되어 상기 플래시 메모리에 기록되는 것을 특징으로 한다.The flash memory system according to the present invention for solving the above problems is a flash memory system comprising a flash memory and a flash controller for writing or reading data to and from the flash memory, wherein the data requested by a host is written by Trellis Coding Modulation And encoded in the flash memory.
상기한 과제를 해결하기 위한 본 발명에 의한 플래시 메모리로 데이터를 기록하는 방법은 소정의 수의 섹터로 구성되는 페이지를 갖는 블록을 하나 이상 가지며, 상기 섹터 또는 페이지 단위로 데이터를 기록하고, 상기 블록단위로 데이터를 소거하는 플래시 메모리에 데이터를 기록하는 방법에 있어서, 호스트에서 기록 연산요청한 데이터를 TCM(Trellis Coding Modulation) 부호화하는 단계; 및 상기 부호화된 데이터를 상기 플래시 메모리 페이지 중 주 영역에 기록하는 단계를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, a method of writing data into a flash memory includes at least one block having pages composed of a predetermined number of sectors, and writes data in units of sectors or pages, and blocks the data. A method of writing data to a flash memory for erasing data on a per-unit basis, the method comprising: performing trellis coding modulation (TCM) coding on data requested by a host in a write operation; And writing the encoded data to a main area of the flash memory page.
상기한 과제를 해결하기 위한 본 발명에 의한 플래시 메모리에 기록된 데이터를 읽는 방법은 상기한 방법에 의하여 데이터가 기록된 플래시 메모리에서 데이터를 읽는 방법에 있어서, 호스트에서 읽기 연산요청된 논리 주소에 대응되는 물리 주소를 사상하는 단계; 상기 물리 주소에 기록된 데이터를 독출하는 단계; 및 상기 독출된 데이터를 TCM 복호화하여 상기 호스트로 전송하는 단계를 포함하는 것을 특징으로 한다. According to the present invention, a method of reading data written in a flash memory according to the present invention is a method of reading data from a flash memory in which data is written by the above method, and corresponds to a logical address requested for a read operation from a host. Mapping the resulting physical address; Reading data written to the physical address; And transmitting the read data to the host by TCM decoding.
본 발명에 의하면, 플래시 메모리로 데이터를 기록하기 전에 TCM 부호화한다. TCM 부호화한 데이터를 플래시 메모리에 기록하는 과정에서 기록 데이터 에러 정정에 필요한 ECC 기록을 생략할 수 있다. 또한, 플래시 메모리에서 데이터를 독출한 후 TCM 복호화한다. 따라서, 플래시 메모리가 소형화됨에 따라 데이터를 독출하는 과정에서 에러가 발생하는 것을 방지할 수 있다. According to the present invention, TCM encoding is performed before data is written to the flash memory. In the process of recording the TCM-coded data in the flash memory, ECC recording necessary for correcting the recording data error can be omitted. Also, data is read from the flash memory and then decoded by TCM. Therefore, as the flash memory becomes smaller, it is possible to prevent an error from occurring in the process of reading data.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 결쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various forms, and only the present embodiments are intended to complete the disclosure of the present invention, and the general knowledge in the art to which the present invention pertains. It is provided to fully convey the scope of the invention to those skilled in the art, and the present invention is defined only by the scope of the claims. Like reference numerals refer to like elements throughout the specification.
도 2는 실제 플래시 메모리의 구조를 도시한다. 도시된 바와 같이, 하나의 플래시 메모리는 8192개의 블록으로 구성된다. 블록은 32개의 페이지로 구성되며, 한 페이지는 512B의 주영역과, 16B의 보조영역으로 구분될 수 있다. 주영역에는 보통 유저 데이터가 기록되며 섹터들의 집합으로 볼 수 있다. 보조영역에는 주영역에 기록된 데이터의 유효여부나, ECC, LBA(Logical Block Address) 또는 LSN(Logical Sector Number), 소거횟수 등에 관한 정보가 기록된다.2 shows the structure of an actual flash memory. As shown, one flash memory consists of 8192 blocks. The block is composed of 32 pages, and one page may be divided into a main region of 512B and an auxiliary region of 16B. In the main area, user data is usually recorded and can be viewed as a set of sectors. In the auxiliary area, information on the validity of data recorded in the main area, ECC, Logical Block Address (LBA) or Logical Sector Number (LSN), erase count, and the like are recorded.
본 발명의 경우 데이터를 플래시 메모리에 기록하기 전에 TCM 부호화한다. 따라서, 보조영역에 ECC를 기재하는 과정을 생략할 수 있다.In the present invention, TCM encoding is performed before data is written to the flash memory. Therefore, the process of describing the ECC in the auxiliary region can be omitted.
도 2는 플래시 메모리의 기록/읽기 단위와 외부 호스트에서 요청한 기록/읽기 단위가 일치하는 소블록 플래시 메모리를 도시하고 있다. 그러나, 본 발명은 플래시 메모리의 기록/읽기 단위가 외부 호스트에서 요청한 기록/읽기 단위보다 큰 대블록 플래시 메모리의 경우에도 적용될 수 있다. 대블록 플래시 메모리의 경우 주영역은 4개의 섹터로 이루어진다. 대블록 플래시 메모리에 데이터는 섹터 단위 혹은 페이지 단위로 기록된다.FIG. 2 illustrates a small block flash memory in which a write / read unit of a flash memory and a write / read unit requested by an external host match. However, the present invention can also be applied to a large block flash memory in which the write / read unit of the flash memory is larger than the write / read unit requested by the external host. In the case of large block flash memory, the main area is composed of four sectors. In large block flash memory, data is recorded in sector units or page units.
플래시 메모리의 메모리 셀은 저장할 수 있는 데이터 비트 수에 따라 싱글 레벨 셀(SLC; Single Level Cell) 및 멀티 레벨 셀(MLC; Multi Level Cell)로 구분된다. 싱글 레벨 셀(SLC)은 한 비트 데이터를 저장하고, 멀티 레벨 셀(MLC)는 멀티 비트 데이터를 저장할 수 있다. Memory cells of a flash memory are classified into a single level cell (SLC) and a multi level cell (MLC) according to the number of data bits that can be stored. The single level cell SLC may store one bit data, and the multi level cell MLC may store multi bit data.
멀티 레벨 셀(MLC)은 문턱(드레홀드) 전압 분포에 따라 4개의 상태(11, 10, 01, 00) 중 어느 하나의 상태를 갖도록 프로그래밍된다. 멀티 레벨 셀(MLC)의 문턱 전압 분포에 따라 멀티 레벨 셀로 2비트 데이터가 기록된다. The multi-level cell MLC is programmed to have any one of four
도 3은 멀티 레벨 셀(MLC)의 문턱 전압 분포에 따라 멀티 레벨 셀(MLC)에 저장된 2비트 데이터 정보를 도시한다. FIG. 3 illustrates 2-bit data information stored in the multi-level cell MLC according to the threshold voltage distribution of the multi-level cell MLC.
멀티 레벨 셀(MLC)의 문턱 전압 분포가 각각 -2.7V 이하, 0.3V~0.7V, 1.3V~1.7V, 2.3V~2.7V라고 가정하면, [11]은 -2.7V 이하, [10]은 0.3~0.7V, [01]은 1.3V~1.7V, [00]은 2.3V~2.7V에 대응한다. Assuming that the threshold voltage distributions of the multi-level cell (MLC) are -2.7 V or less, 0.3 V to 0.7 V, 1.3 V to 1.7 V, and 2.3 V to 2.7 V, respectively, [11] is -2.7 V or less, [10] Is 0.3 to 0.7V, [01] corresponds to 1.3V to 1.7V, and [00] corresponds to 2.3V to 2.7V.
멀티 레벨 셀(MLC)을 가지는 플래시 메모리 시스템에서 데이터를 읽기 위하여 일정한 양의 비트 라인 전류와 계단 파형의 워드 라인 전압을 셀 어레이로 인가한다. 멀리 레벨 셀(MLC)의 데이터는 비트 라인 전류와 워드 라인 전압이 선택된 셀을 통하여 흐르면 그 전류 차이에 의하여 감지된다. 데이터를 읽기 위한 독출 동작 동안 워드 라인으로는 높은 전압부터 낮은 전압 순으로 순차적으로 계단 파형의 전압이 인가된다. In a flash memory system having a multi-level cell (MLC), a constant amount of bit line current and a step waveform word line voltage are applied to a cell array to read data. The data of the far-level cell MLC is sensed by the current difference when the bit line current and the word line voltage flow through the selected cell. During a read operation for reading data, voltages of stepped waveforms are sequentially applied to word lines in order from high voltage to low voltage.
본 실시예와 같은 문턱 전압 분포를 가진 멀티 레벨 셀(MLC)에서 데이터를 독출하기 위하여, Vrd3=2V 를 인가한 다음, Vrd2=1V 를 인가하고, 마지막으로 Vrd1=0V 를 인가한다. In order to read data in a multi-level cell (MLC) having a threshold voltage distribution as in the present embodiment, V rd3 = 2V is applied, then V rd2 = 1V, and finally V rd1 = 0V.
도 4는 플래시 메모리로 데이터를 기록하는 방법의 흐름이 도시된 도이다. 도시된 바와 같이, 호스트에서 데이터 기록 연산요청을 하면(S11), 호스트에서 플래시 메모리에 기록하기 위하여 전송되는 데이터를 TCM 부호화한다(S12). 즉, 호스트에서 연산요청된 데이터는 TCM 부호화 과정을 거친 후 플래시 메모리에 기록(프로그래밍)된다(S13).4 is a flowchart illustrating a method of writing data into a flash memory. As shown, when a data write operation request is made by the host (S11), the data transmitted for writing to the flash memory by the host is TCM encoded (S12). That is, the data requested by the host is recorded (programmed) in the flash memory after the TCM encoding process (S13).
본 발명에서와 같이 데이터를 TCM 부호화한 후 플래시 메모리에 기입할 경우 추후 데이터를 읽는 과정에서 에러 정정을 수행하기 위해 부가 비트(ECC 등)를 부가영역에 기록할 필요가 없다. As in the present invention, when data is written to the flash memory after TCM encoding, it is not necessary to write additional bits (ECC, etc.) in the additional area in order to perform error correction in a subsequent data reading process.
즉, 도 5에 도시된 바와 같이, 일반적인 플래시 메모리 페이지(a)의 주영 역(M1)에 호스트가 기록하고자 하는 유저 데이터(User Data)가 기록되고, 보조영역(S1)에 유저 데이터를 호출하는 논리주소(LNA)와 에러 정정 코드(ECC) 등이 기록된다.That is, as shown in FIG. 5, user data to be recorded by the host is recorded in the main area M1 of the general flash memory page a, and user data is called in the auxiliary area S1. The logical address LNA and error correction code ECC are recorded.
본 발명에 의하여 플래시 메모리에 TCM 부호화된 데이터를 기록할 경우 (b)에 도시된 바와 같이, 주영역(M2)에 기록된 유저 데이터를 정정하기 위한 에러 정정 코드를 보조영역(S2)에 기록할 필요가 없다. 물론, 필요에 따라 데이터 기록 또는 읽는 과정에서 발생하는 에러 발생율이 감소하도록 ECC를 보조영역에 기록할 수 있다.In the case of recording the TCM encoded data in the flash memory according to the present invention, as shown in (b), an error correction code for correcting user data recorded in the main area M2 is recorded in the auxiliary area S2. no need. Of course, if necessary, the ECC may be recorded in the auxiliary area so that an error occurrence rate occurring during data writing or reading is reduced.
도 6은 본 발명에 의하여 플래시 메모리에 기록된 데이터를 읽는 과정이 도시된 도이다. 6 is a diagram illustrating a process of reading data written to a flash memory according to the present invention.
호스트에서 데이터 읽기 연산을 요청하면(S21), 호스트에서 호출한 논리 주소에 대응되는 물리 주소가 사상되어 선택되고 해당 물리 주소에 기록된 데이터 읽기 명령이 플래시 메모리로 전송된다(S22).When the host requests a data read operation (S21), the physical address corresponding to the logical address called by the host is mapped and selected, and a data read command written to the physical address is transmitted to the flash memory (S22).
플래시 메모리에서 데이터가 독출되면 TCM 복호화가 수행되고(S23), 복호화된 데이터는 호스트로 전송된다(S24). 본 발명에 의하면 TCM 복호기를 구성하기 위한 참고 전압들은 각 기록 데이터 비트들이 오류 없이 검출될 수 전압의 중간값으로 한다. 즉, 각 데이터 비트를 표현하기 위하여 플래시 메모리로 인가되는 드레솔드 전압 범위의 중간값이 TCM 복호기를 구성하기 위한 참고 전압이다. When data is read from the flash memory, TCM decryption is performed (S23), and the decrypted data is transmitted to the host (S24). According to the present invention, the reference voltages for configuring the TCM decoder are taken as an intermediate value of voltages at which each write data bit can be detected without error. That is, the intermediate value of the threshold voltage range applied to the flash memory to represent each data bit is the reference voltage for configuring the TCM decoder.
또한, 멀티 레벨 셀(MLC)에 축적되는 전자의 양은 쉽게 가별될 수 있기 때문에, 전자의 양의 가변에 대응할 수 있도록 상기 드레솔드 전압 범위의 중간값을 TCM 복호기를 구성하기 위한 참고 전압으로 설정한다. In addition, since the amount of electrons accumulated in the multi-level cell (MLC) can be easily discriminated, the middle value of the threshold voltage range is set as a reference voltage for configuring the TCM decoder so as to correspond to the variable amount of electrons. .
도 7은 본 발명에 의한 플래시 메모리 시스템의 제1 실시예가 도시된 도이다.7 is a diagram showing a first embodiment of a flash memory system according to the present invention.
도시된 바와 같이, 플래시 메모리 시스템은 호스트(300)의 데이터 기록/읽기 연산 요청에 대응하여 플래시 메모리(100)로 데이터를 기록하거나, 플래시 메모리(100)에 기록된 데이터를 읽는 플래시 컨트롤러(200)로 구성된다. As shown, the flash memory system writes data to the
플래시 컨트롤러(200)는 플래시 메모리로 데이터를 기록하거나 데이터를 읽는 과정에서 호스트에서 전송된 데이터를 TCM 부호화하거나 복호화할 수 있는 TCM 부호기(210)와, TCM 복호기(220)를 포함한다. The
플래시 컨트롤러(200)는 데이터의 부호화 또는 복호화가 가능하도록 플래시 컨트롤러로 입출력되는 데이터가 저장되는 버퍼(230)를 더 포함한다. The
플래시 컨트롤러(200)는 호스트(300)에서 입력되는 기록 연산요청에 대응하여 데이터가 플래시 메모리 셀 어레이(110)에 기록되도록 플래시 메모리(100)를 제어한다. 또한, 플래시 컨트롤러(200)는 호스트(300)에서 입력되는 읽기 연산요청에 대응하여 플래시 메모리 셀 어레이(110)에 기록되어 있는 데이터가 읽혀지도록 플래시 메모리(100)를 제어한다. 플래시 컨트롤러(200)의 버퍼(230)는 플래시 메모리(100)에 기록될 데이터 또는 플래시 메모리(100)로부터 읽은 데이터를 임시로 저장한다. The
플래시 메모리(100)는 플래시 메모리 셀 어레이(110), 페이지 버퍼(120), 비트라인 선택부(130), 디코더(140), 데이터 버퍼(150), 제어유닛(160)으로 구성된 다. The
플래시 메모리 셀 어레이(110)는 복수의 메모리 셀로 구성된다. 메모리 셀은 비휘발성으로서, 데이터를 저장한 후 전원이 꺼져도 데이터가 지워지지 않는다. 하나의 메모리 셀은 복수의 메모리 블록으로 구성된다. 각각의 메모리 블록은 복수의 페이지로 구성된다. 낸드 플래시 메모리의 경우에, 소거 동작은 메모리 블록 단위로 수행되며, 기록 및 읽기 단위는 페이지 단위로 수행된다. The flash
디코더(140)는 워드 라인(WL0~WLn)을 통해 플래시 메모리 셀 어레이(110)와 연결되며, 제어 유닛(160)에 의해 제어된다. 디코더(140)는 플래시 컨트롤러(200)를 통해 어드레스(ADD)를 입력받고, 하나의 워드 라인을 선택하거나, 비트 라인(BL0~BLm)을 선택하도록 선택 신호(Yi)를 비트라인 선택부(130)로 입력한다. 페이지 버퍼(120)는 비트 라인(BL0~BLm)을 통해 플래시 메모리 셀 어레이(100)와 연결된다. The
페이지 버퍼(120)는 플래시 컨트롤러(200)로부터 전송된 데이터를 저장한다. 페이지 버퍼(120)에는 한 페이지 분량의 데이터가 로드되며, 로드된 데이터는 프로그램(데이터 기록) 동작 시에 선택된 페이지에 동시에 데이터를 기록한다. 또한, 페이지 버퍼(120)는 읽기 동작 시에 페이지로부터 데이터를 읽고, 읽은 데이터를 저장한다. The
비트 라인 선택부(130)는 선택 신호(Yi)에 응답하여 비트 라인을 선택하기 위한 회로이다. 데이터 버퍼(150)는 플래시 컨트롤러(200)와 플래시 메모리(100) 사이의 데이터 전송에 사용되는 데이터 입출력용 버퍼이다. 제어유닛(160)은 플래 시 컨트롤러(200)로부터 제어 신호를 입력받고, 그에 대응하여 플래시 메모리(100) 내부 동작을 제어한다. The
도 7의 실시예에서 TCM 부호기(210) 및 TCM 복호기(220)는 플래시 컨트롤러(200)에 위치한다. In the embodiment of FIG. 7, the
그러나, 필요에 따라 도 8에 도시된 제2 실시예와 같이, 플래시 메모리(100)의 제어유닛(160)에 TCM 부호기(161)와 TCM 복호기(162)가 포함될 수 있다. However, if necessary, as in the second embodiment of FIG. 8, the
TCM 부호기(161)는 데이터 버퍼(150)에 저장된 데이터를 플래시 메모리 셀 어레이(110)에 기록되기 전에 TCM 부호화한다. 데이터 읽기 동작 시에, TCM 복호기(162)는 데이터 버퍼(150)에 저장된 데이터를 플래시 컨트롤러(200)로 전송하기 전에 TCM 복호화한다.The
도 9와 도 10은 본 발명에 의한 플래시 메모리 시스템의 제3 및 제4 실시예를 도시한다. 9 and 10 show the third and fourth embodiments of the flash memory system according to the present invention.
도시된 바와 같이, 플래시 컨트롤러(200) 내부에 TCM 부호기(240)를 위치시킨다. 따라서, 호스트(300)에서 데이터 기록 연산요청 시 데이터는 TCM 부호기(240)를 통해 부호화되어 플래시 메모리(100)로 전송된다. As shown, the
제어유닛(160)는 데이터 버퍼(150)에 저장된 데이터를 플래시 메모리 셀 어레이(110)로 기록한다. The
호스트(300)에서 데이터 읽기 연산요청 시, 플래시 컨트롤러(200)는 읽기 명령을 플래시 메모리(100)의 제어유닛(160)으로 전송한다. 제어유닛(160)은 디코더(140)와 비트라인 선택부(130)를 통해 데이터를 읽을 페이지를 선택하고 데이터 를 독출한다. When the
제3 실시예에서 TCM 복호기는 독출된 데이터가 페이지 버퍼(120)에 저장되기 전에 TCM 복호화한다. 따라서, 데이터를 독출하는 과정에서 에러가 발생하는 것을 방지할 수 있다. In the third embodiment, the TCM decoder performs TCM decoding before the read data is stored in the
TCM 복호화된 데이터는 페이지 버퍼(120)에 저장되었다가 데이터 버퍼(150)를 통해 플래시 컨트롤러(200)로 전송된다. 플래시 컨트롤러(200)는 전송된 데이터를 호스트(300)로 전송한다. The TCM decoded data is stored in the
도 10은 플래시 메모리(100) 내부에 TCM 부호기(164)와 TCM 복호기(165)가 위치하는 바가 도시된 도이다. FIG. 10 is a diagram illustrating the location of the
도시된 바와 같이, 제어유닛(160) 내부의 TCM 부호기(164)는 데이터 버퍼(150)에 기록된 데이터를 TCM 부호화하여 플래시 메모리 셀 어레이(110)에 기록한다. As shown, the
TCM 부호화된 데이터가 저장된 플래시 메모리의 데이터 읽기 연산이 요청된 경우, 데이터가 플래시 메모리 셀 어레이(110)에서 독출되면, 페이지 버퍼(120)에 저장되기 전에, TCM 복호기(165)를 통해 복호화된다. When a data read operation of a flash memory in which TCM encoded data is stored is requested, when data is read from the flash
TCM 복호화된 데이터는 페이지 버퍼(120)에 저장되었다가 데이터 버퍼(150)를 통해 플래시 컨트롤러(200)로 전송된다. 플래시 컨트롤러(200)는 전송된 데이터를 호스트(300)로 전송한다. The TCM decoded data is stored in the
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수 적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. Although embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing the technical spirit or essential features thereof. You will understand that. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive.
도 1은 본 발명이 적용되는 플래시 메모리 시스템의 구조가 도시된 블록도,1 is a block diagram showing the structure of a flash memory system to which the present invention is applied;
도 2는 본 발명이 적용되는 플래시 메모리의 구조가 도시된 도,2 is a diagram showing the structure of a flash memory to which the present invention is applied;
도 3은 본 발명에 따른 플래시 메모리가 가지는 상태가 도시된 도,3 is a diagram illustrating a state of a flash memory according to the present invention;
도 4는 본 발명에 따라 플래시 메모리로 데이터가 기록되는 방법이 도시된 도,4 illustrates a method of writing data into a flash memory according to the present invention;
도 5는 본 발명에 따라 플래시 메모리 페이지에 데이터가 기록된 바가 도시된 도,5 is a diagram illustrating data written in a flash memory page according to the present invention;
도 6은 본 발명에 따라 플래시 메모리에 기록된 데이터를 읽는 방법이 도시된 도,6 illustrates a method of reading data written to a flash memory according to the present invention;
도 7 내지 도 10는 본 발명에 따른 플래시 메모리 시스템의 구조가 도시된 도이다. 7 to 10 are diagrams showing the structure of a flash memory system according to the present invention.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080036256A KR20090110648A (en) | 2008-04-18 | 2008-04-18 | How to write data to flash memory, how to read data recorded in flash memory, and flash memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080036256A KR20090110648A (en) | 2008-04-18 | 2008-04-18 | How to write data to flash memory, how to read data recorded in flash memory, and flash memory system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20090110648A true KR20090110648A (en) | 2009-10-22 |
Family
ID=41538474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080036256A KR20090110648A (en) | 2008-04-18 | 2008-04-18 | How to write data to flash memory, how to read data recorded in flash memory, and flash memory system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20090110648A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012154397A3 (en) * | 2011-05-12 | 2013-01-10 | Micron Technology, Inc. | Programming memory cells |
KR101250672B1 (en) * | 2010-12-03 | 2013-04-09 | 한국과학기술원 | Trellis coded modulation method for reducing inter-cell interference of flash memory device, trellis coded modulation circuit, error correct circuit and flash memory device using same |
-
2008
- 2008-04-18 KR KR1020080036256A patent/KR20090110648A/en not_active Application Discontinuation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101250672B1 (en) * | 2010-12-03 | 2013-04-09 | 한국과학기술원 | Trellis coded modulation method for reducing inter-cell interference of flash memory device, trellis coded modulation circuit, error correct circuit and flash memory device using same |
WO2012154397A3 (en) * | 2011-05-12 | 2013-01-10 | Micron Technology, Inc. | Programming memory cells |
US8780659B2 (en) | 2011-05-12 | 2014-07-15 | Micron Technology, Inc. | Programming memory cells |
US9030902B2 (en) | 2011-05-12 | 2015-05-12 | Micron Technology, Inc. | Programming memory cells |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI383392B (en) | Method for programming rate identification and control in a non-volatile solid state memory and solid state memory device thereof | |
EP2171722B1 (en) | Refresh of non-volatile memory cells based on fatigue conditions | |
US7545673B2 (en) | Using MLC flash as SLC by writing dummy data | |
US7460398B1 (en) | Programming a memory with varying bits per cell | |
US9047955B2 (en) | Adjusting operating parameters for memory cells based on wordline address and cycle information | |
US8243513B2 (en) | Non-volatile multilevel memory cells with data read of reference cells | |
US12033705B2 (en) | Memory system, control method thereof, and program | |
KR102461447B1 (en) | Nonvolatile memory system | |
KR100902008B1 (en) | Memory system including flash memory to store multi-bit data in memory cells | |
US8611150B2 (en) | Flash memory device including flag cells and method of programming the same | |
KR101772578B1 (en) | Programming method for nonvolatile memory device | |
US11790993B2 (en) | Memory system having a non-volatile memory and a controller configured to switch a mode for controlling an access operation to the non-volatile memory | |
CN110795270B (en) | Solid state storage device and reading retry method thereof | |
KR20140031556A (en) | Flash memory system including flash memory and detecting method of abnormal wordline thereof | |
KR20140096796A (en) | Multi-level Nonvolatile memory and Method of Progmming threrof | |
US11693745B2 (en) | Error-handling flows in memory devices based on bins | |
KR20210101785A (en) | Memory system, memory controller, and operating method of memory system | |
JP7584984B2 (en) | Memory System | |
US11216208B1 (en) | Memory system, memory controller, and operation method of memory system | |
KR20090110648A (en) | How to write data to flash memory, how to read data recorded in flash memory, and flash memory system | |
US20250006292A1 (en) | Stable state error-handling bin selection in memory devices | |
KR20090110650A (en) | How to read data written to flash memory and flash memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20080418 |
|
PG1501 | Laying open of application | ||
PC1203 | Withdrawal of no request for examination | ||
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |