KR20130084901A - Flash memory device and reading method of flash memory device - Google Patents

Flash memory device and reading method of flash memory device Download PDF

Info

Publication number
KR20130084901A
KR20130084901A KR1020120005837A KR20120005837A KR20130084901A KR 20130084901 A KR20130084901 A KR 20130084901A KR 1020120005837 A KR1020120005837 A KR 1020120005837A KR 20120005837 A KR20120005837 A KR 20120005837A KR 20130084901 A KR20130084901 A KR 20130084901A
Authority
KR
South Korea
Prior art keywords
read
index
flash memory
wear
selection
Prior art date
Application number
KR1020120005837A
Other languages
Korean (ko)
Inventor
이상훈
배성환
백종남
김현석
김성빈
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020120005837A priority Critical patent/KR20130084901A/en
Priority to US13/745,105 priority patent/US20130185612A1/en
Publication of KR20130084901A publication Critical patent/KR20130084901A/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits

Abstract

PURPOSE: A flash memory system and a lead method of the flash memory system are provided to quickly and accurately correct a lead error, thereby reducing the overhead of the system. CONSTITUTION: In a wear-out table which consider each of the block of flash memory as an index, the selection index of the selection block is updated (S120). When the current request of the lead retry of the selection block is received, with reference to the lead retry table which corresponds to the wear-out included in the selection index, the lead level starting the lead retry of the selection block is determined (S140). [Reference numerals] (S120) Update the indexes for selected blocks in a wear-out degree table in which each block of a flash memory serves as an index; (S140) Set a reading level at which a reading re-try is initiated for a selected block based on a reading re-try table corresponding to a wear-out degree included in a selected index when a request for a reading re-try for the selected block is received

Description

플래시 메모리 시스템 및 플래시 메모리 시스템의 리드 방법{Flash memory device and reading method of flash memory device}Flash memory device and reading method of flash memory device

본 발명은 플래시 메모리 시스템 및 플래시 메모리 시스템에서의 리드 방법에 관한 것으로, 특히 리드 오류를 신속하게 정정하여 리드의 신뢰성을 향상시키면서도 시스템의 오버헤드를 줄일 수 있는 플래시 메모리 시스템 및 플래시 메모리 시스템에서의 리드 방법에 관한 것이다.The present invention relates to a flash memory system and a read method in a flash memory system. In particular, the present invention relates to a flash memory system and a read method in a flash memory system that can reduce the overhead of the system while improving read reliability by quickly correcting a read error. It is about a method.

플래시 메모리 시스템은 고집적화의 요구에 따라 스케일링 다운(scaling down)되고, 각 메모리 셀에 저장되는 비트의 수가 증가되고 있다. 따라서, 각 프로그램 스테이트(program state)들 사이의 리드 마진이 줄어들고 있다. 따라서, 리드 오류(read error)의 발생이 빈번하다. 따라서, 리드 오류를 정확하고 빠르게 수행하기 위한 방안들이 논의되고 있다. Flash memory systems are scaled down according to the demand for high integration, and the number of bits stored in each memory cell is increasing. Thus, the lead margin between each program state is decreasing. Therefore, read errors frequently occur. Therefore, methods for accurately and quickly performing read errors have been discussed.

본 발명이 이루고자 하는 기술적 과제는 리드 오류를 빠르고 정확하게 정정하여 시스템의 오버헤드를 줄이고, 리드의 신뢰성을 향상시킬 수 있는 플래시 메모리 시스템 및 플래시 메모리 시스템에서의 리드 방법을 제공하는 것에 있다. SUMMARY OF THE INVENTION The present invention has been made in an effort to provide a flash memory system and a read method in a flash memory system capable of quickly and accurately correcting a read error, thereby reducing overhead of the system and improving read reliability.

본 발명의 실시예에 따른 플래시 메모리(flash memory) 및 메모리 컨트롤러(memory controller)를 포함하는 플래시 메모리 시스템에서의 리드(read) 방법은, 상기 플래시 메모리의 블록들 각각을 인덱스(index)로 하는 마모도 테이블(wear-out table)에서, 상기 인덱스 중 상기 선택 블록에 대한 선택 인덱스를 업데이트(update)하는 단계; 및 상기 선택 블록에 대한 리드 리트라이(read retry)의 현재 요청이 수신되는 때에, 상기 선택 인덱스에 포함된 마모도에 대응되는 리드 리트라이 테이블(read retry table)을 참조하여, 상기 선택 블록에 대한 리드 리트라이를 시작하는 리드 레벨(read level)을 설정하는 단계를 구비한다. A read method in a flash memory system including a flash memory and a memory controller according to an exemplary embodiment of the present invention includes a wear degree in which each of the blocks of the flash memory is an index. Updating a selection index for the selection block of the indexes in a wear-out table; And a read retry table corresponding to the degree of wear included in the selection index when a current request of a read retry for the selection block is received, the read for the selection block. Setting a read level at which to start the retry.

상기 선택 인덱스에 포함된 마모도에 대응되는 리드 리트라이 테이블은, 상기 플래시 메모리의 인듀어런스(endurance) 상태마다 별도로 구비되는 리드 리트라이 테이블들 중 하나일 수 있다. The read retry table corresponding to the wear degree included in the selection index may be one of read retry tables provided separately for each endurance state of the flash memory.

상기 선택 인덱스에 포함된 마모도에 대응되는 리드 리트라이 테이블은, 상기 플래시 메모리의 리드 환경을 인덱스로 가질 수 있다. The read retry table corresponding to the wear degree included in the selection index may have a read environment of the flash memory as an index.

상기 리드 환경은, 상기 플래시 메모리의 리텐션(retention) 특성 및 리드 디스터브(read disturb) 특성 중 적어도 하나 이상일 수 있다. The read environment may be at least one of a retention characteristic and a read disturb characteristic of the flash memory.

상기 선택 인덱스는,The selection index is,

상기 선택 블록의 마모도, 및 상기 리드 리트라이 테이블을 구성하는 인덱스들 중 상기 선택 블록에 대한 리드 리트라이의 이전 요청에 대한 시작 리드 레벨에 대응되는 인덱스의 정보를 포함할 수 있다. The wear degree of the selection block and indexes corresponding to the start read level of the previous request of the read retry for the selection block among the indexes constituting the read retry table may be included.

상기 리드 리트라이의 현재 요청의 근거가 된 에러가 정정될 때까지, 상기 시작 리드 레벨에서부터 상기 선택 인덱스에 포함된 마모도에 대응되는 리드 리트라이 테이블의 마지막 인덱스의 마지막 리드 레벨까지의 전압 레벨로 리드 동작을 반복하는 단계를 더 구비할 수 있다. Read at a voltage level from the starting lead level to the last lead level of the last index of the read retry table corresponding to the wear included in the selection index until the error underlying the current request of the read retry is corrected. The method may further include repeating the operation.

상기 선택 인덱스에 포함된 마모도에 대응되는 리드 리트라이 테이블의 마지막 인덱스의 마지막 리드 레벨에 의한 리드 동작에 의해서도 상기 에러가 정정되지 아니하는 경우, 리드 리트라이와 다른 리드 정정 동작을 시작하는 단계를 더 구비할 수 있다. Starting the read correction operation different from the read retry when the error is not corrected even by the read operation by the last read level of the last index of the read index corresponding to the wear level included in the selection index. It can be provided.

리드 리트라이와 다른 리드 정정 동작은, 저밀도 패리티 체크 코드(Low Density Parity Check Code, LDPC) 방식에 의한 리드 정정 동작일 수 있다. A read correction operation different from the read retry may be a read correction operation using a low density parity check code (LDPC) method.

상기 제1 명령은, 이레이즈 명령일 수 있다. The first command may be an erase command.

상기 플래시 메모리는, 상기 이레이즈 명령에 응답하여 상기 선택 블록이 이레이즈 되는데 소요되는 ISPE 루프 카운트(Incremental Step Pulse Erase Loop Count) 값을 상기 선택 블록에 대한 마모도로, 상기 메모리 컨트롤러로 전송할 수 있다. The flash memory may transmit an incremental step pulse erase loop count (ISPE) value required to erase the selection block in response to the erase command to the memory controller as a wear rate of the selection block.

상기 기술적 과제를 해결하기 위한 본 발명의 실시예에 따른 메모리 시스템은, 다수의 블록들을 포함하고, 제1 명령에 응답하여 선택 블록에 대한 상태 정보를 검출하는 플래시 메모리(flash memory); 및 상기 제1 명령을 상기 플래시 메모리로 전송하고, 상기 선택 블록에 대한 리드 리트라이(read retry)의 현재 요청이 수신되는 때에, 인듀어런스(endurance) 상태마다 별도로 구비되는 리드 리트라이 테이블(read retry table)들 중 상기 상태 정보에 대응되는 리드 리트라이 테이블을 참조하여, 상기 선택 블록에 대한 리드 리트라이를 시작하는 리드 레벨(read level)을 설정하는 메모리 컨트롤러(memory controller)를 구비한다. According to an aspect of the present invention, there is provided a memory system including: a flash memory including a plurality of blocks and detecting state information on a selection block in response to a first command; And a read retry table provided separately for each endurance state when the first command is transmitted to the flash memory and a current request for read retry for the selection block is received. The memory controller may set a read level for starting a read retry of the selection block with reference to a read retry table corresponding to the state information.

상기 메모리 컨트롤러는, 상기 상태 정보에 근거하여, 상기 플래시 메모리의 블록들 각각을 인덱스(index)로 하는 마모도 테이블(wear-out table)에서 상기 인덱스 중 상기 선택 블록에 대한 선택 인덱스를 업데이트(update)하고, 상기 선택 인덱스에 포함된 리드 리트라이의 이전 요청에 대응되는 리드 리트라이 테이블의 인덱스 정보에 근거하여, 상기 선택 블록에 대한 리드 리트라이를 시작하는 리드 레벨을 설정하는 오류 제어부를 구비할 수 있다. The memory controller updates a selection index for the selection block among the indexes in a wear-out table in which each block of the flash memory is an index based on the state information. And an error controller configured to set a read level for starting a read retry for the selection block based on index information of a read retry table corresponding to a previous request of the read retry included in the selection index. have.

상기 메모리 시스템은, 솔리드 스테이트 드라이브(Solid State Drive)에 포함될 수 있다. The memory system may be included in a solid state drive.

본 발명의 실시예에 따른 플래시 메모리 시스템 및 플래시 메모리 시스템에서의 리드 방법에 의하면, 오류가 발생된 메모리 블록에 대한 리드 리트라이를 수행함에 있어, 리드 리트라이를 시도하는 횟수를 최소화할 수 있는 장점이 있다. According to the read method in the flash memory system and the flash memory system according to an embodiment of the present invention, in performing a read retry on a memory block in which an error occurs, an advantage of minimizing the number of attempts to read retry There is this.

따라서, 본 발명의 실시예에 따른 플래시 메모리 시스템 및 플래시 메모리 시스템에서의 리드 방법에 의하면, 고집적화에 따른 리드의 신뢰성 저하를 방지할 수 있다. Therefore, according to the flash memory system and the read method in the flash memory system according to the embodiment of the present invention, it is possible to prevent the reliability of the read due to high integration.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 실시예에 따른 플래시 메모리 시스템에서의 리드 방법을 나타내는 순서도이다.
도 2는 본 발명의 실시예에 따른 플래시 메모리 시스템을 나타내는 블록도이다.
도 3a 및 도 3b는 도 2의 플래시 메모리의 메모리 셀 어레이를 나타내는 도면이다.
도 4는 도 2의 플래시 메모리의 메모리 셀의 산포를 나타내는 도면이다.
도 5는 도 2의 제1 명령 및 상태 정보의 예를 나타내는 도면이다.
도 6은 도 2의 마모도 테이블의 예를 나타내는 도면이다.
도 7은 도 2의 리드 리트라이 테이블의 예를 나타내는 도면이다.
도 8은 도 6의 마모도 테이블의 인덱스의 예를 나타내는 도면이다.
도 9는 도 7의 리드 리트라이 테이블이 다수로 구비되는 예를 나타내는 도면이다.
도 10은 본 발명의 다른 실시예에 따른 플래시 메모리 시스템에서의 리드 방법을 나타내는 순서도이다.
도 11은 본 발명의 실시예에 따른 컴퓨팅 시스템 장치를 나타내는 블럭도이다.
도 12는 본 발명의 실시예에 따른 메모리 카드를 나타내는 블럭도이다.
도 13은 본 발명의 실시예에 따른 솔리드 스테이트 드라이브(SSD: Solid State Drive)를 나타내는 도면이다.
도 14는 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 도면이다.
BRIEF DESCRIPTION OF THE DRAWINGS A brief description of each drawing is provided to more fully understand the drawings recited in the description of the invention.
1 is a flowchart illustrating a read method in a flash memory system according to an exemplary embodiment of the present invention.
2 is a block diagram illustrating a flash memory system according to an exemplary embodiment of the present invention.
3A and 3B are diagrams illustrating a memory cell array of the flash memory of FIG. 2.
4 is a diagram illustrating a distribution of memory cells of the flash memory of FIG. 2.
FIG. 5 is a diagram illustrating an example of the first command and status information of FIG. 2.
6 is a diagram illustrating an example of a wear table of FIG. 2.
FIG. 7 is a diagram illustrating an example of the read retry table of FIG. 2.
8 is a diagram illustrating an example of an index of the wear table of FIG. 6.
FIG. 9 is a diagram illustrating an example in which a plurality of read retry tables of FIG. 7 are provided.
10 is a flowchart illustrating a read method in a flash memory system according to another embodiment of the present invention.
11 is a block diagram illustrating a computing system device according to an exemplary embodiment of the present invention.
12 is a block diagram illustrating a memory card according to an exemplary embodiment of the present invention.
FIG. 13 illustrates a solid state drive (SSD) according to an exemplary embodiment of the present invention.
14 is a diagram illustrating a server system and a network system including an SSD.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 실시예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위하여 제공되는 것이며, 아래의 실시예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 아래의 실시예들로 한정되는 것은 아니다. 오히려, 이들 실시예는 본 개시를 더욱 충실하고 완전하게 하며 당업자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다. Embodiments of the present invention are provided to more fully describe the present invention to those skilled in the art, and the following embodiments may be modified in various other forms, The present invention is not limited to the following embodiments. Rather, these embodiments are provided so that this disclosure will be more thorough and complete, and will fully convey the concept of the invention to those skilled in the art.

본 명세서에서 사용된 용어는 특정 실시예를 설명하기 위하여 사용되며, 본 발명을 제한하기 위한 것이 아니다. 본 명세서에서 사용된 바와 같이 단수 형태는 문맥상 다른 경우를 분명히 지적하는 것이 아니라면, 복수의 형태를 포함할 수 있다. 또한, 본 명세서에서 사용되는 경우 “포함한다(comprise)” 및/또는 “포함하는(comprising)”은 언급한 형상들, 숫자, 단계, 동작, 부재, 요소 및/또는 이들 그룹의 존재를 특정하는 것이며, 하나 이상의 다른 형상, 숫자, 동작, 부재, 요소 및/또는 그룹들의 존재 또는 부가를 배제하는 것이 아니다. 본 명세서에서 사용된 바와 같이, 용어 “및/또는”은 해당 열거된 항목 중 어느 하나 및 하나 이상의 모든 조합을 포함한다. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a", "an," and "the" include plural forms unless the context clearly dictates otherwise. Also, " comprise " and / or " comprising " when used herein should be interpreted as specifying the presence of stated shapes, numbers, steps, operations, elements, elements, and / And does not preclude the presence or addition of one or more other features, integers, operations, elements, elements, and / or groups. As used herein, the term " and / or " includes any and all combinations of one or more of the listed items.

본 명세서에서 제1, 제2 등의 용어가 다양한 부재, 영역 및/또는 부위들을 설명하기 위하여 사용되지만, 이들 부재, 부품, 영역, 층들 및/또는 부위들은 이들 용어에 의해 한정되어서는 안됨은 자명하다. 이들 용어는 특정 순서나 상하, 또는 우열의 의미하지 않으며, 하나의 부재, 영역 또는 부위를 다른 부재, 영역 또는 부위와 구별하기 위하여만 사용된다. 따라서, 이하 상술할 제1 부재, 영역 또는 부위는 본 발명의 가르침으로부터 벗어나지 않고서도 제2 부재, 영역 또는 부위를 지칭할 수 있다. Although the terms first, second, etc. are used herein to describe various elements, regions and / or regions, it should be understood that these elements, components, regions, layers and / Do. These terms are not intended to be in any particular order, up or down, or top-down, and are used only to distinguish one member, region or region from another member, region or region. Thus, the first member, region or region described below may refer to a second member, region or region without departing from the teachings of the present invention.

이하, 본 발명의 실시예들은 본 발명의 실시예들을 개략적으로 도시하는 도면들을 참조하여 설명한다. 도면들에 있어서, 예를 들면, 제조 기술 및/또는 공차에 따라, 도시된 형상의 변형들이 예상될 수 있다. 따라서, 본 발명의 실시예는 본 명세서에 도시된 영역의 특정 형상에 제한된 것으로 해석되어서는 아니 되며, 예를 들면 제조상 초래되는 형상의 변화를 포함하여야 한다. Hereinafter, embodiments of the present invention will be described with reference to the drawings schematically showing embodiments of the present invention. In the figures, for example, variations in the shape shown may be expected, depending on manufacturing techniques and / or tolerances. Accordingly, embodiments of the present invention should not be construed as limited to any particular shape of the regions illustrated herein, including, for example, variations in shape resulting from manufacturing.

도 1은 본 발명의 실시예에 따른 플래시 메모리 시스템에서의 리드(read) 방법을 나타내는 순서도이고, 도 2는 본 발명의 실시예에 따른 플래시 메모리 시스템을 나타내는 블록도이다. 1 is a flowchart illustrating a read method in a flash memory system according to an exemplary embodiment of the present invention, and FIG. 2 is a block diagram illustrating a flash memory system according to an exemplary embodiment of the present invention.

도 1 및 도 2를 참조하면, 본 발명의 실시예에 따른 플래시 메모리 시스템(MSYS)은 플래시 메모리(MEM) 및 컨트롤러(Ctrl)를 구비한다. 그리고 이의 리드 방법은 플래시 메모리(MEM)의 블록들 각각을 인덱스(index)로 하는 마모도 테이블(wear-out table)에서, 선택 블록에 대한 선택 인덱스를 업데이트(update)하는 단계(S120) 및 선택 블록에 대한 리드 리트라이(read retry)의 현재 요청이 수신되는 때에, 선택 인덱스에 포함된 마모도에 대응되는 리드 리트라이 테이블(read retry table)을 참조하여, 선택 블록에 대한 리드 리트라이를 시작하는 리드 레벨(read level, RLEV)을 설정하는 단계(S140)를 구비한다. 이에 대하여 자세히 설명한다. 1 and 2, a flash memory system MSYS according to an embodiment of the present invention includes a flash memory MEM and a controller Ctrl. The read method thereof includes updating a selection index for a selection block (S120) and a selection block in a wear-out table in which each block of the flash memory MEM is an index. When a current request for a read retry for a received is received, a read that starts a read retry for the selection block by referring to a read retry table corresponding to the degree of wear included in the selection index. A step S140 of setting a read level RLEV is provided. This will be described in detail.

플래시 메모리(MEM)는 플래시 메모리(MEM)는 리드 명령(CMD_RD)에 응답하여, 메모리 셀 어레이(미도시)에 저장된 데이터(DTA)를 출력한다. 구체적으로, 플래시 메모리(MEM)는 리드 명령(CMD_RD)의 어드레스(Addr)에 대응되는 메모리 셀들(미도시)에 이니셜 리드 전압(initial read voltage, RV0)을 인가하여, 해당 메모리 셀들에 저장된 데이터(DTA)를, 메모리 컨트롤러(Ctrl)로 출력된다. The flash memory MEM outputs the data DTA stored in the memory cell array (not shown) in response to the read command CMD_RD. In detail, the flash memory MEM applies an initial read voltage RV0 to memory cells (not shown) corresponding to the address Addr of the read command CMD_RD, and stores the data stored in the memory cells. DTA) is output to the memory controller Ctrl.

본 발명의 실시예에 따른 플래시 메모리 시스템(MSYS)의 플래시 메모리(MEM)는 도 3a에 도시되는 구조의 메모리 셀 어레이(MA)를 포함할 수 있다. 메모리 셀 어레이(MA)는 a(a는 2 이상의 정수)개의 블록들(BLK0~BLKa-1)을 구비하고, 각 블록들(BLK0~BLKa-1)은 b(b는 2 이상의 정수)개의 페이지들(PAG0~PAGb-1)을 구비하며, 각 페이지들(PAG0~PAGb-1)은 c(c는 2 이상의 정수)개의 섹터들(SEC0~SECc-1)을 포함할 수 있다. 도 3a에서는 도시의 편의를 위해, 블록 BLK0에 대하여만 페이지들(PAG0~PAGb-1) 및 섹터들(SEC0~SECc-1)을 도시하였으나, 다른 블록들(BLK1~BLKa-1)도 블록 BLK0와 동일한 구조를 가질 수 있다. The flash memory MEM of the flash memory system MSYS according to the embodiment of the present invention may include a memory cell array MA having the structure shown in FIG. 3A. The memory cell array MA includes a (a is an integer of 2 or more) blocks BLK0 to BLKa-1, and each of the blocks BLK0 to BLKa-1 is b And the pages PAG0 to PAGb-1 may include c (c is an integer of 2 or more) sectors (SEC0 to SECc-1). In FIG. 3A, the pages PAG0 to PAGb-1 and the sectors SEC0 to SECC-1 are shown for the block BLK0 only for convenience of illustration, but the other blocks BLK1 to BLKa-1 also block BLK0. It may have the same structure as.

그리고, 본 발명의 실시예에 따른 메모리 셀 어레이(MA)가 전술한 바와 같이 낸드 플래시(NAND flash) 메모리의 메모리 셀 어레이인 경우, 도 3a의 블록들(BLK0~BLKa-1)은 각각, 도 3b와 같은 예로 구비될 수 있다. 도 3b를 참조하면, 각 블록들(BLK0~BLKa-1)은 비트 라인(BL0~BLd-1) 방향으로, 8개의 메모리 셀(MCEL)들이 직렬로 연결되는 d(d는 2 이상의 정수)개의 스트링(STR)들로 구비될 수 있다. 각 스트링(STR)은 또한, 각각 직렬로 연결되는 메모리 셀(MCEL)들의 양 끝에 연결되는, 드레인(drain) 선택 트랜지스터(Str1) 및 소스(source) 선택 트랜지스터(Str2)를 포함할 수 있다. When the memory cell array MA according to the embodiment of the present invention is the memory cell array of the NAND flash memory as described above, the blocks BLK0 to BLKa-1 of FIG. It may be provided as an example such as 3b. Referring to FIG. 3B, each of the blocks BLK0 to BLKa-1 has a number of d (d is an integer of 2 or more) in which eight memory cells MCEL are connected in series in the bit lines BLO to BLD-1. It may be provided as a string (STR). Each string STR may also include a drain select transistor Str1 and a source select transistor Str2 which are connected to both ends of memory cells MCEL connected in series.

도 3b와 같은 구조를 갖는 낸드 플래시 메모리 장치는 블록 단위로 이레이즈가 수행되고, 각 워드 라인(WL0~WL7)에 대응되는 페이지(PAG) 단위로 프로그램을 수행한다. 도 3b는 하나의 블록에 8개의 워드 라인들(WL0~WL7)에 대한 8개의 페이지(PAG)들이 구비되는 예를 도시한다. 다만, 본 발명의 실시예에 따른 메모리 셀 어레이(MA)의 블록들(BLK0~BLKa-1)은 도 3b의 도시되는 메모리 셀(MCEL) 및 페이지(PAG)의 개수와 다른 개수의 메모리 셀 및 페이지를 구비할 수도 있다. 또한, 도 1의 플래시 메모리(MEM)는 이상에서 설명된 메모리 셀 어레이(MA)와 동일한 구조로 동일한 동작을 수행하는 복수개의 메모리 셀 어레이들이 구비될 수도 있다. The NAND flash memory device having the structure as shown in FIG. 3B is erased in units of blocks, and performs a program in units of pages PAG corresponding to each word line WL0 to WL7. 3B shows an example in which eight pages PAG for eight word lines WL0 to WL7 are provided in one block. However, the blocks BLK0 to BLKa-1 of the memory cell array MA according to the embodiment of the present invention may have a different number of memory cells than the number of memory cells MCEL and pages PAG shown in FIG. It may be provided with a page. In addition, the flash memory MEM of FIG. 1 may include a plurality of memory cell arrays that perform the same operation in the same structure as the memory cell array MA described above.

도 3b와 같은 구조의 반도체 메모리 장치의 메모리 셀(MCEL)들은 각각, 프로그램 되어 있는 프로그램 데이터의 비트의 개수에 따라, 도 4와 같은 산포 중 하나의 산포에 포함되는 문턱 전압(Vth)을 가질 수 있다. 도 4의 (a)는 메모리 셀(MCEL)들이 각각 하나의 비트로 프로그램 되는 SLC(Single-Level Cell) 플래시 메모리에서의 셀 산포를 나타내고, 도 4의 (b)는 메모리 셀(MCEL)들이 각각 2 비트로 프로그램 되는 2 비트 MLC(Multi-Level Cell) 플래시 메모리에서의 셀 산포를 나타내며, 도 4의 (c)는 메모리 셀(MCEL)들이 각각 3 비트로 프로그램 되는 3 비트 MLC 플래시 메모리에서의 셀 산포를 나타낸다. Each of the memory cells MCEL of the semiconductor memory device having the structure as shown in FIG. 3B may have a threshold voltage Vth included in one of the distributions as shown in FIG. 4 according to the number of bits of programmed program data. have. FIG. 4A illustrates a cell distribution in a single-level cell (SLC) flash memory in which memory cells MCELs are programmed with one bit, and FIG. 4B illustrates two memory cells MCELs each. 4 shows a cell spread in a 2-bit MLC (multi-level cell) flash memory programmed into bits, and FIG. 4C shows a cell spread in a 3-bit MLC flash memory in which memory cells MCEL are programmed to 3 bits, respectively. .

SLC 플래시 메모리의 경우, 도 3b의 메모리 셀 어레이(MA)의 메모리 셀(MCEL)들 각각은, 프로그램 된 데이터의 값에 따라, 도 4의 (a)와 같이 이레이즈 상태(E) 및 프로그램 상태(P) 중 하나의 상태에 포함되는 문턱 전압을 갖는다. 또는, 2 비트 MLC 플래시 메모리의 경우, 도 3b의 메모리 셀 어레이(MA)의 메모리 셀(MCEL)들 각각은, 이레이즈 상태(E) 및 제1 프로그램 상태(P1) 내지 제3 프로그램 상태(P3) 중 하나의 상태에 포함되는 문턱 전압을 갖는다. 또는, 3 비트 MLC 플래시 메모리의 경우, 도 3b의 메모리 셀 어레이(MA)의 메모리 셀(MCEL)들 각각은, 이레이즈 상태(E) 및 제1 프로그램 상태(P1) 내지 제7 프로그램 상태(P7) 중 하나의 상태에 포함되는 문턱 전압을 갖는다. In the case of the SLC flash memory, each of the memory cells MCEL of the memory cell array MA of FIG. 3B has an erased state E and a program state as shown in FIG. 4A according to a value of programmed data. Has a threshold voltage included in one of (P) states. Alternatively, in the case of a 2-bit MLC flash memory, each of the memory cells MCEL of the memory cell array MA of FIG. 3B has an erased state E and a first program state P1 to a third program state P3. Has a threshold voltage included in one of the states. Alternatively, in the case of a 3-bit MLC flash memory, each of the memory cells MCEL of the memory cell array MA of FIG. 3B has an erased state E and a first program state P1 to a seventh program state P7. Has a threshold voltage included in one of the states.

그러나, 이에 한정되는 것은 아니고, 도 3b의 메모리 셀 어레이(MA)의 메모리 셀(MCEL)들 각각은 도 4에는 도시되지 아니하였으나, 4 비트 이상으로 프로그램 될 수 있다. 또한, 도 1의 플래시 메모리(MEM)는 서로 다른 개수의 비트로 프로그램 되는 메모리 셀(MCEL)들을 포함할 수도 있다. However, the present invention is not limited thereto, and each of the memory cells MCEL of the memory cell array MA of FIG. 3B may be programmed with 4 bits or more although not shown in FIG. 4. In addition, the flash memory MEM of FIG. 1 may include memory cells MCEL programmed with different numbers of bits.

다시 도 2를 참조하면, 플래시 메모리(MEM)는 메모리 컨트롤러(Ctrl)로부터 제1 명령(CMD1)에 수신한다. 제1 명령(CMD1)은 도 5와 같이, 이레이즈(erase) 명령일 수 있다. 이때, 제1 명령(CMD1)에는 이레이즈 하고자 하는 블록의 식별자(예를 들어, 블록의 주소)를 포함한다. 예를 들어, 제1 명령(CMD1)은 도 3a의 블록 BLK0에 대한 이레이즈 명령일 수 있다. 다만, 이에 한정되는 것은 아니고, 제1 명령(CMD1)은 프로그램 명령 등일 수도 있다. Referring back to FIG. 2, the flash memory MEM receives the first command CMD1 from the memory controller Ctrl. The first command CMD1 may be an erase command, as shown in FIG. 5. In this case, the first command CMD1 includes an identifier (eg, an address of a block) of a block to be erased. For example, the first command CMD1 may be an erase command for the block BLK0 of FIG. 3A. However, the present invention is not limited thereto, and the first command CMD1 may be a program command or the like.

플래시 메모리(MEM)는 제1 명령(CMD1)에 응답하여 대응되는 동작을 수행한다. 상기 예에서, 플래시 메모리(MEM)는 도 3a의 블록 BLK0에 대한 이레이즈 동작을 수행할 수 있다. 본 발명의 실시예에 따른 이레이즈 동작은, 이레이즈 하고자 하는 블록의 모든 셀들이 이레이즈 될 때까지, 예를 들어, 해당 블록의 모든 셀들이 도 4의 이레이즈 상태(E)로 될 때까지, 각각 전압 레벨이 순차적으로 증가되는 이레이즈 전압 펄스들을 인가함으로써 수행될 수 있다. 이와 같이, 전압 레벨이 순차적으로 증가하는 이레이즈 전압 펄스들을 이용하여 스킴을 ISPE(Incremental Step Pulse Erase) 방식이라 한다. The flash memory MEM performs a corresponding operation in response to the first command CMD1. In the above example, the flash memory MEM may perform an erase operation on the block BLK0 of FIG. 3A. An erase operation according to an embodiment of the present invention may be performed until all cells of the block to be erased are erased, for example, until all cells of the block are erased (E) of FIG. 4. , By applying erase voltage pulses in which the voltage level is sequentially increased, respectively. As such, the scheme is called an incremental step pulse erase (ISPE) scheme by using the erase voltage pulses in which the voltage level increases sequentially.

플래시 메모리(MEM)는 제1 명령(CMD1)의 수행 결과로부터 상태 정보(Inf_ST)를 검출한다. 상기 예에 대해, 플래시 메모리(MEM)는 도 5와 같이, ISPE 루프 카운트 값을 상태 정보(Inf_ST)로 검출할 수 있다. ISPE 루프 카운트 값은 이레이즈 명령에 응답하여 선택 블록이 이레이즈 되는데 소요되는 이레이즈 전압 펄스들의 개수이다. 예를 들어, 도 3a의 블록 BLK0에 대한 이레이즈를 수행함에 있어, 순차적으로 증가하는 5개의 이레이즈 전압 펄스들이 사용되었다면, 블록 BLK0에 대한 ISPE 루프 카운트 값인 "5"가 블록 BLK0에 대한 상태 정보(Inf_ST)로 검출될 수 있다. 플래시 메모리(MEM)는 상태 정보(Inf_ST)를 레지스터(REG)에 저장할 수 있다. The flash memory MEM detects the state information Inf_ST from the result of the execution of the first command CMD1. For the above example, as shown in FIG. 5, the flash memory MEM may detect the ISPE loop count value as the state information Inf_ST. The ISPE loop count value is the number of erase voltage pulses required for the select block to be erased in response to the erase command. For example, in performing the erase on the block BLK0 of FIG. 3A, if five sequentially erased voltage pulses are used, the ISPE loop count value "5" for the block BLK0 is the state information for the block BLK0. It may be detected as (Inf_ST). The flash memory MEM may store state information Inf_ST in the register REG.

ISPE 루프 카운트 값은 선택 블록에 대한 마모도에 대응될 수 있다. 예를 들어, ISPE 루프 카운트 값이 증가하면, 선택 블록에 대한 마모가 커진 것으로 판단될 수 있다. 다만, 이에 한정되는 것은 아니고, 제1 명령(CMD1)이 프로그램 명령인 경우, 상태 정보(Inf_ST)는 해당 페이지를 ISPP(Incremental Step Pulse Program) 방식으로 프로그램함에 있어 소요되는 프로그램 펄스의 개수일 수도 있다. The ISPE loop count value may correspond to the degree of wear on the selection block. For example, as the ISPE loop count value increases, it may be determined that wear on the selection block is increased. However, the present invention is not limited thereto, and when the first command CMD1 is a program command, the status information Inf_ST may be the number of program pulses required for programming the corresponding page in an incremental step pulse program (ISPP) method. .

계속해서 도 2를 참조하면, 플래시 메모리(MEM)는 상태 정보(Inf_ST)를 메모리 컨트롤러(Ctrl)에 전송한다. 메모리 컨트롤러(Ctrl)는 오류 제어부(ECTU)를 구비할 수 있다. 오류 제어부(ECTU)는 상태 정보(Inf_ST)에 근거하여, 마모도 테이블(TAB1)을 업데이트(update)할 수 있다. 마모도 테이블(TAB1)은 메모리 컨트롤러(Ctrl)에 포함되는 시스템 메모리(예를 들어, SRAM(미도시))에 로딩되어질 수 있다. 2, the flash memory MEM transmits the state information Inf_ST to the memory controller Ctrl. The memory controller Ctrl may include an error controller ETU. The error control unit ETU may update the wear level table TAB1 based on the state information Inf_ST. The wear table TAB1 may be loaded into system memory (eg, SRAM (not shown)) included in the memory controller Ctrl.

마모도 테이블(TAB1)에 대한 일 예가 도 6에 도시된다. 도 6을 참조하면, 본 발명의 실시예에 따른 마모도 테이블(TAB1)은 블록 식별자(블록 어드레스)를 테이블의 인덱스로 할 수 있다. 예를 들어, 마모도 테이블(TAB1)의 인덱스는 도 3a의 블록들 BLK0 내지 BLKa-1에 대한 어드레스 0 내지 a-1일 수 있다. An example for the wear table TAB1 is shown in FIG. 6. Referring to FIG. 6, the wear level table TAB1 according to an embodiment of the present invention may use a block identifier (block address) as an index of the table. For example, the index of the wear table TAB1 may be addresses 0 to a-1 for blocks BLK0 to BLKa-1 of FIG. 3A.

마모도 테이블(TAB1)은 또한, 상태 정보(Inf_ST)에 대응되는 마모도를 포함할 수 있다. 전술된 예에서, 마모도는 선택 블록에 대한 ISPE 루프 카운트 값일 수 있다. 도 6은 마모도 테이블(TAB1)의 인덱스 0의 마모도가 4이고, 인덱스 1의 마모도가 2이며 인덱스 a-1의 마모도가 7인 예를 도시한다. 마모도가 선택 블록에 대한 ISPE 루프 카운트 값을 나타내는 경우, 도 6은 블록 BLK0, 블록 BLK1 및 블록 BLKa-1에 대한 마모도가 각각, 4, 2 및 7인 예를 도시한다. 즉, 도 6은 블록 BLK0, 블록 BLK1 및 블록 BLKa-1을 이레이즈 함에 있어, 각각 4개, 2개 및 7개의 이레이즈 펄스가 소요된 경우를 도시한다. The wear table TAB1 may also include a wear degree corresponding to the state information Inf_ST. In the above example, the wear level may be an ISPE loop count value for the select block. FIG. 6 shows an example in which the wear degree of index 0 of the wear table TAB1 is 4, the wear degree of the index 1 is 2, and the wear degree of the index a-1 is 7. FIG. When the degree of wear represents the ISPE loop count value for the selection block, FIG. 6 shows an example where the degree of wear for blocks BLK0, BLK1, and BLKa-1 is 4, 2, and 7, respectively. That is, FIG. 6 illustrates a case in which four, two, and seven erase pulses are required to erase blocks BLK0, BLK1, and BLKa-1.

도 2의 메모리 컨트롤러(Ctrl)의 오류 제어부(ECTU)는, 상태 정보(Inf_ST)가 수신되면 도 6과 같은 마모도 테이블(TAB1)에서, 상태 정보(Inf_ST)에 대응되는 인덱스의 내용을 업데이트 한다. 예를 들어, 상태 정보(Inf_ST)가 블록 BLKa-1에 대한 제1 명령(CMD1)에 의한 것이라면, 오류 제어부(ECTU)는 마모도 테이블(TAB1)의 블록 BLKa-1에 대한 인덱스의 내용을 업데이트한다. 예를 들어, 오류 제어부(ECTU)는 마모도 테이블(TAB1)의 인덱스 a-1의 마모도 7을 마모도 8로 업데이트할 수 있다. When the state information Inf_ST is received, the error controller ETU of FIG. 2 updates the contents of the index corresponding to the state information Inf_ST in the wear level table TAB1 of FIG. 6. For example, if the state information Inf_ST is due to the first command CMD1 for the block BLKa-1, the error control unit ETU updates the contents of the index for the block BLKa-1 of the wear table TAB1. . For example, the error control unit ETU may update the wear level 7 of the index a-1 of the wear level table TAB1 to the wear level 8.

본 발명의 실시예에 따른 마모도 테이블(TAB1)은 또한, 리드 리트라이 테이블(TAB2)에 대한 인덱스 정보를 포함할 수 있다. 리드 리트라이 테이블(TAB2)은 플래시 메모리(MEM) 또는 메모리 시스템(MSYS)의 리드 환경을 인덱스로 할 수 있다. 플래시 메모리(MEM) 또는 메모리 시스템(MSYS)의 리드 환경은 메모리의 리텐션(retention) 특성 또는 리드 디스터브(read disturb) 특성 등과 같이, 플래시 메모리(MEM)에 프로그램 된 데이터의 리드에 영향을 미치는 특성을 말한다. 예를 들어, 리텐션 도는 리드 디스터브에 의해, 프로그램 된 데이터와 다른, 잘못된 데이터가 리드될 수 있다. 리드 리트라이 테이블(TAB2)도 도 1에 도시된 바와 같이, 메모리 컨트롤러(Ctrl)에 포함되는 시스템 메모리(예를 들어, SRAM(미도시))에 로딩되어질 수 있다. The wear table TAB1 according to an embodiment of the present invention may also include index information for the read retry table TAB2. The read retry table TAB2 may index the read environment of the flash memory MEM or the memory system MSYS. The read environment of the flash memory MEM or the memory system MSYS affects the read of data programmed into the flash memory MEM, such as a retention characteristic or a read disturb characteristic of the memory. Say For example, retention or read disturb may lead to incorrect data, other than the programmed data. As shown in FIG. 1, the read retry table TAB2 may be loaded into a system memory (eg, SRAM (not shown)) included in the memory controller Ctrl.

리드 리트라이 테이블(TAB2)의 일 예가 도 7에 도시된다. 리드 리트라이 테이블(TAB2)의 인덱스 0 내지 n은 각각, 전술된 리드 환경을 나타낼 수 있다. 예를 들어, 인덱스 0은 리드 디스터브에 대한 제1 상태일 수 있고, 인덱스 1은 리드 디스터브에 대한 제2 상태일 수 있다. 그리고, 인덱스 n은 리텐션에 대한 제1 상태일 수 있다. An example of the read retry table TAB2 is shown in FIG. 7. Indexes 0 through n of the read retry table TAB2 may represent the above-described read environment. For example, index 0 may be a first state for read disturb and index 1 may be a second state for read disturb. In addition, the index n may be a first state for retention.

리드 리트라이 테이블(TAB2)은 각 인덱스마다 리드 레벨에 대한 값을 포함한다. 리드 레벨은 선택 블록에 대한, 즉 선택 블록에 포함되는 페이지에 대한 리드 리트라이 동작 시에 해당 페이지로 인가되는 리드 전압의 레벨을 말한다. 리드 리트라이 동작은 플래시 메모리(MEM)에 프로그램 된 데이터의 리드 시에 오류가 검출되는 경우 발생되는 리드 리트라이 요청에 의해, 플래시 메모리(MEM)에서 수행된다. 즉, 설정된 레벨의 리드 전압에 의한 리드 동작에 오류가 발생하였으므로, 리드 레벨을 변경하여 다시 리드 동작을 수행하는 것이 리드 리트라이이다. 참고로, 리드 오류의 검출은 ECC(Error Checking and Correction) 엔진(미도시)에 의해 수행될 수 있다. ECC 엔진은 메모리 컨트롤러(Ctrl)의 내부 또는 외부에 포함될 수 있다. ECC는 도 2의 오류 제어부(ECTU)로 리드 리트라이 요청(RRR)을 전송할 수 있다. The read retry table TAB2 includes a value for the read level for each index. The read level refers to the level of the read voltage applied to the page during the read retry operation for the selection block, that is, the page included in the selection block. The read retry operation is performed in the flash memory MEM by a read retry request generated when an error is detected when reading data programmed into the flash memory MEM. That is, since an error has occurred in the read operation due to the read voltage of the set level, the read retry is performed by changing the read level again. For reference, detection of a read error may be performed by an error checking and correction (ECC) engine (not shown). The ECC engine may be included inside or outside the memory controller Ctrl. The ECC may transmit a read retry request RRR to the error control unit ETU of FIG. 2.

본 발명의 실시예에 따른 오류 제어부(ECTU)는 리드 리트라이 테이블(TAB2)의 정상적으로 리드 동작이 완료될 때까지, 즉 리드 오류가 정정될 때까지, 임의의 인덱스의 리드 레벨에서부터 연속하는 인덱스의 리드 레벨로 리드 전압의 전압 레벨을 변경하여, 리드 리트라이 동작을 수행한다. The error control unit ETU according to an exemplary embodiment of the present invention may determine the successive indexes from the read level of any index until the read operation of the read retry table TAB2 is normally completed, that is, until the read error is corrected. The read retry operation is performed by changing the voltage level of the read voltage to the read level.

리드 리트라이 테이블(TAB2)의 각 인덱스에는 다수의 리드 레벨을 포함할 수 있는데, 이는 MLC 플래시 메모리의 경우 MLC를 판독하는데 다수의 리드 레벨을 요구하기 때문이다. 예를 들어, 도 4의 (b)와 같은 4개의 상태를 구분하기 위해서는 3개의 서로 다른 리드 전압이 요구된다. 도 7은 일 예로 각 인덱스에 3개의 리드 레벨들을 포함하는 예를 도시한다. Each index of the read retry table TAB2 may include a plurality of read levels, because the MLC flash memory requires a plurality of read levels to read the MLC. For example, three different read voltages are required to distinguish four states as shown in FIG. 7 illustrates an example of including three read levels in each index.

도 2, 도 6 및 도 7을 참조하면, 본 발명의 실시예에 따른 오류 제어부(ECTU)는 리드 리트라이를 수행하고자 하는 때에, 즉 리드 오류가 발생한 때에, 마모도 테이블(TAB1)의 선택 인덱스(선택 블록에 대한 인덱스)에 포함된 리드 리트라이 테이블 인덱스를 참조하여, 리드 리트라이를 시작하는 리드 레벨을 설정한다. 2, 6, and 7, the error control unit ETU according to the embodiment of the present invention may perform a read retry, that is, when a read error occurs, the selection index of the wear table TAB1 ( With reference to the read retry table index included in the index of the selection block, the read level at which the read retry is started is set.

리드 명령(CMD_RD)이 블록 BLK1에 대한 경우, 마모도 테이블(TAB1) 상의 선택 인덱스가 인덱스 1이므로, 오류 제어부(ECTU)는 마모도 테이블(TAB1) 상의 인덱스 1에 포함된 리드 리트라이 테이블 인덱스 1을 참조하여, 리드 리트라이 테이블(TAB2)의 인덱스 1에 포함된 리드 레벨로 리드 리트라이를 시작하는 리드 레벨로 설정한다. 도 7의 예에서, 리드 리트라이 테이블(TAB2)의 인덱스 1에는 RV21, RV22 및 RV23의 리드 레벨이 포함되어 있다. If the read command CMD_RD is for the block BLK1, since the selection index on the wear table TAB1 is index 1, the error control unit ECTU refers to the read retry table index 1 included in the index 1 on the wear table TAB1. Thus, the read level of the read retry table TAB2 is set to the read level at which the read retry starts. In the example of FIG. 7, index 1 of the read retry table TAB2 includes read levels of RV21, RV22, and RV23.

이 경우, 오류 제어부(ECTU)는 리드 명령(CMD_RD)에 대해 설정되었던 리드 전압을 리드 리트라이 테이블(TAB2)의 인덱스 1에는 RV21, RV22 및 RV23의 리드 레벨로 변경하여 리드 리트라이 동작을 시작한다. 전술된 바와 같이, 오류 제어부(ECTU)는 리드 리트라이 테이블(TAB2)의 인덱스 1의 리드 레벨로도 리드 오류가 정정되지 아니하면, 리드 리트라이 테이블(TAB2) 상의 다음 인덱스(인덱스 2)의 리드 레벨 RV31, RV32 및 RV33로 다시 리드 리트라이 한다. 오류 제어부(ECTU)는 리드 오류가 정정될 때까지, 리드 리트라이 테이블(TAB2) 상의 마지막 인덱스 n까지 위와 같은 동작을 반복한다. In this case, the error controller ETU changes the read voltage set for the read command CMD_RD to the read levels of RV21, RV22, and RV23 at index 1 of the read retry table TAB2 to start the read retry operation. . As described above, if the read error is not corrected even at the read level of index 1 of the read retry table TAB2, the error control unit ETU reads the next index (index 2) on the read retry table TAB2. The read retry is again performed at the levels RV31, RV32, and RV33. The error control unit ETU repeats the above operation until the last index n on the read retry table TAB2 until the read error is corrected.

도 2는 오류 제어부(ECTU)로부터 직접 리드 리트라이(CMD_RR)가 수행되는 것으로 도시하였으나, 오류 제어부(ECTU)는 메모리 컨트롤러(Ctrl)에 포함되는 리드 제어를 수행하는 별도의 유닛에 리드 리트라이의 리드 레벨에 대한 정보를 제공하기만 할 수도 있다. 또한, 도 2는 리드 리트라이(CMD_RR)가 리드 명령(CMD_RD)과 구분되어 도시하고 있으나, 이는 리드 명령과 리드 리트라이의 구분을 개념적으로 나타내기 위한 것에 불과하다. 즉, 리드 리트라이(CMD_RR)는 이니셜 리드 전압(RV0)이 리드 레벨(RLEV)로 변경된 리드 명령(CMD_RD)일 수 있다. Although FIG. 2 illustrates that the read retry CMD_RR is performed directly from the error control unit ETU, the error control unit ETU may include a read retry in a separate unit that performs read control included in the memory controller Ctrl. It may just provide information about lead levels. In addition, although the read retry CMD_RR is illustrated separately from the read command CMD_RD, this is merely to conceptually distinguish between the read command and the read retry. That is, the read retry CMD_RR may be a read command CMD_RD in which the initial read voltage RV0 is changed to the read level RLEV.

도 8은 본 발명의 실시예에 따른 마모도 테이블 상의 인덱스에 포함된 정보의 예를 나타내는 도면이다. 8 is a diagram illustrating an example of information included in an index on a wear table according to an embodiment of the present invention.

도 6 및 도 8을 참조하면, 마모도 테이블(TAB1) 상의 각 인덱스는 1 Byte의 정보를 포함할 수 있고, 그 중 4 비트는 마모도에 대한 정보를 나타내고, 나머지 4 비트는 리드 리트라이 테이블 인덱스에 대한 정보를 나타낼 수 있다. 도 8은 도 6의 마모도 테이블(TAB1)의 인덱스 a-1의 마모도 7 및 리드 리트라이 테이블 인덱스 3을 각각, 비트 0 내지 비트 3 및 비트 4 내지 비트 7에 나타낸 예를 도시한다. 6 and 8, each index on the wear level table TAB1 may include 1 byte of information, 4 bits of which indicate information on wear level, and the remaining 4 bits indicate read retry table indexes. Information may be indicated. FIG. 8 shows an example in which the wear level 7 and the read retry table index 3 of the index a-1 of the wear table TAB1 of FIG. 6 are shown in bits 0 to 3 and bits 4 to 7, respectively.

다시 도 2를 참조하면, 본 발명의 실시예에 따른 오류 제어부(ECTU)는 리드 리트라이 동작 결과에 따라, 마모도 테이블(TAB1)의 각 인덱스에 포함되는 리드 리트라이 테이블 인덱스 정보(LInd)를 업데이트 한다. 예를 들어, 선택 블록 BLK1에 대한 리드 리트라이가 도 7의 리드 리트라이 테이블(TAB2)의 인덱스 2의 리드 레벨로 완료되었다면, 즉 블록 BLK1에 대한 리드 오류가 도 7의 리드 리트라이 테이블(TAB2)의 인덱스 2의 리드 레벨에 의해 정정되었다면, 오류 제어부(ECTU)는 도 6의 마모도 테이블(TAB1)의 인덱스 1의 리드 리트라이 테이블 인덱스를 1에서 2로 업데이트할 수 있다. Referring back to FIG. 2, the error control unit ETU according to the embodiment of the present invention updates the read retry table index information LInd included in each index of the wear table TAB1 according to the read retry operation result. do. For example, if the read retry for the selection block BLK1 is completed with the read level of the index 2 of the read retry table TAB2 of FIG. 7, that is, the read error for the block BLK1 is read retry table TAB2 of FIG. 7. If corrected by the read level of index 2 of FIG. 2, the error control unit ETU may update the read retry table index of index 1 of the wear table TAB1 of FIG. 6 from 1 to 2.

전술한 바와 같이, 오류 제어부(ECTU)는 리드 리트라이가 재차 요구되는 경우, 즉 리드 리트라이에 대한 현재 요청이 수신되는 경우, 해당 블록에 대한 마모도 테이블(TAB1)의 인덱스에 포함된 리트라이 테이블 인덱스의 리드 레벨로부터 리드 리트라이를 시작한다. 예를 들어, 상기와 같이 블록 BLK1에 대한 도 6의 마모도 테이블(TAB1)의 인덱스 1의 리트라이 테이블 인덱스를 1에서 2로 업데이트한 후, 블록 BLK1에 대한 리드 리트라이가 다시 요구되는 경우, 오류 제어부(ECTU)는 리드 리트라이 테이블(TAB2)의 인덱스 2의 리드 레벨로부터 리드 리트라이를 시작할 수 있다. As described above, when the read retry is requested again, that is, when a current request for the read retry is received, the error control unit ETU is included in the retry table included in the index of the wear table TAB1 for the corresponding block. The read retry starts from the read level of the index. For example, after updating the retry table index of the index 1 of the wear table TAB1 of FIG. 6 for the block BLK1 from 1 to 2, the read retry for the block BLK1 is required again. The controller ETU may start the read retry from the read level of the index 2 of the read retry table TAB2.

이렇듯, 본 발명의 실시예에 따른 메모리 시스템 및 이의 리드 방법에 의하면, 최근의 리드 리트라이 결과를 다음의 리드 리트라이 시에 반영하여 리드 레벨을 설정함으로써, 리드 리트라이 횟수를 최소화할 수 있다. 따라서, 본 발명의 실시예에 따른 메모리 시스템 및 이의 리드 방법에 의하면, 메모리 시스템의 리드 성능을 향상시킬 수 있다. As described above, according to the memory system and the read method thereof according to the exemplary embodiment of the present invention, the number of read retries can be minimized by setting the read level by reflecting the latest read retry result at the next read retry time. Therefore, according to the memory system and the read method thereof according to the embodiment of the present invention, the read performance of the memory system can be improved.

다시 도 2를 참조하면, 본 발명의 실시예에 따른 오류 제어부(ECTU)는 리드 리트라이의 리드 레벨을 설정함에 있어, 먼저 다수의 리드 리트라이 테이블들 중 하나를 선택할 수 있다. 도 9와 같이, 본 발명의 실시예에 따른 메모리 시스템(MSYS)에 3개의 리드 리트라이 테이블들(TAB2A~TAB2C)이 존재한다면, 오류 제어부(ECTU)는 리드 리트라이 테이블들(TAB2A~TAB2C) 중, 마모도 테이블(TAB1)의 선택 인덱스에 포함된 마모도(WO)에 대응되는 리드 리트라이 테이블을 먼저 선택한다. 도 9에서 리드 리트라이 테이블들(TAB2A~TAB2C)의 리드 레벨은 동일한 도면 부호로 도시되었으나, 그 값은 서로 상이하다. Referring back to FIG. 2, in setting the read level of the read retry, the error controller ETU according to an embodiment of the present invention may first select one of a plurality of read retry tables. As shown in FIG. 9, if three read retry tables TAB2A to TAB2C exist in the memory system MSYS according to an exemplary embodiment of the present invention, the error controller ETU may read read retry tables TAB2A to TAB2C. Of these, the lead retry table corresponding to the wear degree WO included in the selection index of the wear degree table TAB1 is first selected. In FIG. 9, read levels of the read retry tables TAB2A to TAB2C are denoted by the same reference numerals, but their values are different from each other.

마모도는 플래시 메모리(MEM) 또는 각 블록의 인듀어런스와 관련된다. 즉, 각 블록의 인듀어런스에 따라 마모도가 달라질 수 있다. Wear is associated with the endurance of the flash memory MEM or each block. That is, the degree of wear may vary according to the endurance of each block.

따라서, 리드 리트라이 테이블들(TAB2A~TAB2C)은 플래시 메모리(MEM)의 인듀어런스(endurance) 상태마다 별도로 구비된다. 플래시 메모리의 인듀어런스는 P/E 사이클(Program/Erase Cycle)로 나타내어 질 수 있다. 예를 들어, 도 9의 제1 리드 리트라이 테이블(TAB2A)은 P/E 사이클(Program/Erase Cycle)이 1K 미만인 경우에 대한 리드 리트라이 테이블이고, 제2 리드 리트라이 테이블(TAB2B)은 P/E 사이클이 1K 이상 2K 미만인 경우에 대한 리드 리트라이 테이블이며, 제3 리드 리트라이 테이블(TAB2C)은 P/E 사이클이 2K 이상 3K 미만인 경우에 대한 리드 리트라이 테이블일 수 있다. 또는, 도 9의 제1 리드 리트라이 테이블(TAB2A)은 P/E 사이클이 1K 미만인 경우에 대한 리드 리트라이 테이블이고, 제2 리드 리트라이 테이블(TAB2B)은 P/E 사이클이 1K 이상 3K 미만인 경우에 대한 리드 리트라이 테이블이며, 제3 리드 리트라이 테이블(TAB2C)은 P/E 사이클이 3K 이상 5K 미만인 경우에 대한 리드 리트라이 테이블일 수 있다. 이에 한정되지 아니하고, 본 발명의 실시예에 따른 리드 리트라이 테이블들은 다른 횟수의 P/E 사이클에 대해 설정될 수 있다. Therefore, the read retry tables TAB2A to TAB2C are separately provided for each endurance state of the flash memory MEM. The endurance of the flash memory can be represented by a P / E cycle (Program / Erase Cycle). For example, the first read retry table TAB2A of FIG. 9 is a read retry table for a case in which a P / E cycle is less than 1K, and the second read retry table TAB2B is P. The read retry table for the case where the / E cycle is 1K or more and less than 2K, and the third read retry table TAB2C may be the read retry table for the case where the P / E cycle is 2K or more and less than 3K. Alternatively, the first read retry table TAB2A of FIG. 9 is a read retry table for a case where the P / E cycle is less than 1K, and the second read retry table TAB2B has a P / E cycle of 1K or more and less than 3K. The read retry table for the case, and the third read retry table (TAB2C) may be a read retry table for the case that the P / E cycle is more than 3K and less than 5K. Without being limited thereto, the read retry tables according to the embodiment of the present invention may be set for different P / E cycles.

본 발명의 실시예에 따른 마모도 테이블(TAB1)의 선택 인덱스에 포함된 마모도(WO)가 변경되어, 변경되기 전의 마모도(WO)에 대응되는 리드 리트라이 테이블(TAB2)과 변경된 마모도(WO)에 대응되는 리드 리트라이 테이블(TAB2)이 다를 수 있다. 예를 들어, 마모도 테이블(TAB1)의 인덱스 0에 대한 변경 이전의 마모도(WO)는 P/E 사이클이 1K 미만이였다가, 마모도 테이블(TAB1)의 인덱스 0에 대응되는 블록에 대한 프로그램/이레이즈 동작의 증가로, 인덱스 0의 마모도(WO)가 P/E 사이클이 1K 이상인 경우를 나타낼 수 있다. 상기 예에서, 오류 제어부(ECTU)는 인덱스 0의 마모도(WO)에 대응되어 검색하고자 하는 리드 리트라이 테이블을, 도 9의 제1 리드 리트라이 테이블(TAB2A)에서 제2 리드 리트라이 테이블(TAB2B)로 변경할 수 있다. 이렇게 리드 리트라이 테이블이 변경되는 경우에는, 마모도 테이블의 인덱스 상의 리드 리트라이 테이블 인덱스 정보(LInd)는 0으로 초기화될 수 있다. The wear degree WO included in the selection index of the wear degree table TAB1 according to the embodiment of the present invention is changed, so that the lead retry table TAB2 and the changed wear degree WO corresponding to the wear degree WO before the change are changed. The corresponding read retry table TAB2 may be different. For example, the wear degree WO before the change to index 0 of the wear table TAB1 had a P / E cycle of less than 1K, and the program / erase for the block corresponding to index 0 of the wear table TAB1. Increasing the operation, the wear index (WO) of the index 0 can represent the case where the P / E cycle is 1K or more. In the above example, the error control unit ETU corresponds to the wear level WO of the index 0, and the second read retry table TAB2B is searched in the first read retry table TAB2A of FIG. 9. Can be changed to When the read retry table is changed in this way, the read retry table index information LInd on the index of the wear degree table may be initialized to zero.

오류 제어부(ECTU)는 선택 블록에 대한 리드 리트라이가 요구되는 경우, 마모도 테이블(TAB1)의 선택 인덱스 상의 마모도에 근거하여, 다수의 리드 리트라이 테이블들 중 하나를 선택한다. 예를 들어, 블록 BLK1에 대한 도 6의 인덱스 1의 마모도가 2라면, 오류 제어부(ECTU)는 도 9의 제1 리드 리트라이 테이블(TAB2A) 내지 제3 리드 리트라이 테이블(TAB2C) 중 P/E 사이클이 1K인 제1 리드 리트라이 테이블(TAB2A)을 참조하여, 블록 BLK1에 대한 리드 리트라이 동작을 수행할 수 있다. The error control unit ETU selects one of the plurality of read retry tables based on the wear degree on the selection index of the wear table TAB1 when a read retry for the selection block is required. For example, if the wear degree of the index 1 of FIG. 6 with respect to the block BLK1 is 2, the error control unit ETU may determine P / P in the first read retry table TAB2A to third read retry table TAB2C of FIG. 9. The read retry operation on the block BLK1 may be performed by referring to the first read retry table TAB2A having an E cycle of 1K.

이렇듯, 본 발명의 실시예에 따른 메모리 시스템 및 이의 리드 방법에 의하면, 플래시 메모리의 고집적화 등에 의해 리드 에러가 증가하고 리드 리트라이 진입 시점이 빨라지는 상황에서, 인듀어런스마다 별도로 구비되는 리드 리트라이 테이블을 참조하여 리드 리트라이를 수행함으로써, 리드 리트라이 횟수를 최소화할 수 있다. 따라서, 리드 레벨의 설정에 따른 시스템 오버헤드를 줄일 수 있다. 이에 따라, 본 발명의 실시예에 따른 메모리 시스템 및 이의 리드 방법에 의하면, 시스템 자원을 아낄 수 있고, 리드 리트라이에 소요되는 시간을 줄일 수 있다. As described above, according to the memory system and the read method thereof according to the embodiment of the present invention, a read retry table provided separately for each endurance is provided in a situation in which a read error increases due to high integration of a flash memory and a read retry entry time is increased. By performing a read retry with reference, the number of read retries can be minimized. Therefore, system overhead due to the setting of the read level can be reduced. Accordingly, according to the memory system and the read method thereof according to the embodiment of the present invention, it is possible to save system resources and reduce the time required for read retry.

도 10은 본 발명의 다른 실시예에 따른 리드 방법을 나타내는 순서도이다. 10 is a flowchart illustrating a read method according to another exemplary embodiment of the present invention.

도 2 및 도 10을 참조하면, 본 발명의 다른 실시예에 따른 리드 방법은 전술된 도 1의 리드 방법으로 리드 리트라이 테이블(TAB2)에 근거하여 리드 리트라이를 수행한다(S1020). 즉, 선택 블록에 대한 선택 인덱스를 업데이트하고, 선택 블록에 대한 리드 리트라이의 현재 요청이 수신되는 때에 선택 인덱스에 포함된 마모도에 대응되는 리드 리트라이 테이블을 참조하여 선택 블록에 대한 리드 리트라이를 시작하는 리드 레벨을 설정한다. 이때, 전술한 바와 같이, 리드 오류가 정정될 때까지 해당 리드 리트라이 테이블의 다른 인덱스의 리드 레벨로 리드 리트라이를 반복한다. 2 and 10, the read method according to another embodiment of the present invention performs the read retry based on the read retry table TAB2 using the read method of FIG. 1 described above (S1020). That is, the read retry for the selection block is updated by referring to the read retry table corresponding to the wear degree included in the selection index when the selection index for the selection block is updated and the current request of the read retry for the selection block is received. Set the starting read level. At this time, as described above, the read retry is repeated at the read level of another index of the corresponding read retry table until the read error is corrected.

그 결과, 리드 오류가 정정되면(S1040의 YES), 리드 오류 정정이 완료된다(S1060). 반면, 해당 리드 리트라이 테이블의 마지막 인덱스의 리드 레벨로도 리드 오류가 정정되지 아니한다면(S1040의 NO), 도 10의 리드 방법은 다른 리드 오류 정정 스킴으로 리드 오류를 정정한다. 예를 들어, 도 10의 리드 방법은 리드 리트라이 테이블의 마지막 인덱스의 리드 레벨로도 리드 오류가 정정되지 아니한다면, 저밀도 패리티 체크 코드(Low Density Parity Check Code, LDPC) 방식 상의 소프트 디시젼(soft decision)에 의한 리드 정정 단계로 넘어갈 수 있다. 저밀도 패리티 체크 코드(LDPC)은 하드 디시젼 리드(Hard Decision Read)를 통해 얻은 하드 디시젼 정보와 소프트 디시젼 리드(Soft Decision Read)를 통해 얻은 신뢰성 정보를 바탕으로 에러를 정정하는 방식이다. As a result, if the read error is corrected (YES in S1040), read error correction is completed (S1060). On the other hand, if the read error is not corrected even at the read level of the last index of the read retry table (NO in S1040), the read method of FIG. 10 corrects the read error using another read error correction scheme. For example, in the read method of FIG. 10, if the read error is not corrected even at the read level of the last index of the read retry table, a soft decision (low density parity check code, LDPC) method may be used. It is possible to move to the read correction step by decision. The low density parity check code (LDPC) is a method of correcting an error based on hard decision information obtained through a hard decision read and reliability information obtained through a soft decision read.

이렇듯, 본 발명의 다른 실시예에 따른 리드 방법에 의하면, 리드 리트라이의 횟수를 최소화하고, 리드 리트라이에 의해 리드 오류가 정정되지 아니하는 경우 다른 리드 오류 정정 스킴으로의 진입을 앞당길 수 있다. 따라서, 메모리 시스템의 전체적인 리드 성능과 신뢰성을 모두 향상시킬 수 있다. As described above, according to the read method according to another exemplary embodiment of the present invention, the number of read retries can be minimized, and if the read error is not corrected by the read retries, the entry into another read error correction scheme can be advanced. Therefore, the overall read performance and the reliability of the memory system can be improved.

도 11은 본 발명의 실시예에 따른 컴퓨팅 시스템 장치를 나타내는 블럭도이다.11 is a block diagram illustrating a computing system device according to an exemplary embodiment of the present invention.

본 발명의 실시예에 따른 컴퓨팅 시스템(CSYS)은 버스(BUS)에 전기적으로 연결된 프로세서(CPU), 사용자 인터페이스(UI) 및 플래시 메모리 시스템(MSYS)을 구비한다. 플래시 메모리 시스템(MSYS)은 메모리 컨트롤러(Ctrl) 및 플래시 메모리(MEM)를 포함한다. 플래시 메모리(MEM)에는 프로세서(CPU)에 의해서 처리된 또는 처리될 N-비트 데이터(N은 1 또는 그 보다 큰 정수)가, 메모리 컨트롤러(Ctrl)를 통해, 저장될 것이다. 도 11의 플래시 메모리 시스템(MSYS)은 도 2 등의 플래시 메모리 시스템(MSYS)과 같을 수 있다. 따라서, 컴퓨팅 시스템(CSYS)에 의하면, 부가적인 모듈의 추가 등이 수반되지 아니하고도 간단한 제어로 플래시 메모리 시스템(MSYS)의 리드의 신뢰성을 향상시킬 수 있다. The computing system CSYS according to an embodiment of the present invention includes a processor (CPU), a user interface (UI), and a flash memory system (MSYS) electrically connected to a bus (BUS). The flash memory system MSYS includes a memory controller Ctrl and a flash memory MEM. In the flash memory MEM, N-bit data (N is an integer of 1 or larger) to be processed or to be processed by the processor CPU will be stored through the memory controller Ctrl. The flash memory system MSYS of FIG. 11 may be the same as the flash memory system MSYS of FIG. 2. Therefore, according to the computing system CSYS, the reliability of the read of the flash memory system MSYS can be improved by simple control without the addition of additional modules or the like.

본 발명의 실시예에 따른 컴퓨팅 시스템(CSYS)는 파워 공급 장치(PS)를 더 구비할 수 있다. 또한, 플래시 메모리(MEM)가 도 2 등의 프로그램 방법으로 프로그램을 수행하는 플래시 메모리 장치일 경우, 본 발명의 실시예에 따른 컴퓨팅 시스템(CSYS)은 휘발성 메모리 장치(예를 들어, RAM)을 더 구비할 수 있다.The computing system CSYS according to an embodiment of the present invention may further include a power supply device PS. In addition, when the flash memory MEM is a flash memory device that executes a program by the program method of FIG. It can be provided.

본 발명의 실시예에 따른 컴퓨팅 시스템(CSYS)이 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리 및 베이스밴드 칩셋(baseband chipset)과 같은 모뎀이 추가적으로 제공될 수 있다. 또한, 본 발명의 실시예에 따른 컴퓨팅 시스템(CSYS)에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명한 사항인 바, 더 자세한 설명은 생략한다. When the computing system CSYS according to the embodiment of the present invention is a mobile device, a modem such as a battery and a baseband chipset for supplying an operating voltage of the computing system may be additionally provided. In addition, it is common knowledge in the art that an application chipset, a camera image processor (CIS), a mobile DRAM, and the like may be further provided in the computing system CSYS according to the embodiment of the present invention. This is obvious to those who have learned, so a detailed description is omitted.

도 12를 본 발명의 실시예에 따른 메모리 카드를 나타내는 블럭도이다.12 is a block diagram illustrating a memory card according to an embodiment of the present invention.

도 12를 참조하면, 본 발명의 실시예에 따른 메모리 카드(MCRD)는, 메모리 컨트롤러(Ctrl) 및 플래시 메모리(MEM)를 구비한다. 메모리 컨트롤러(Ctrl)는 입출력 수단(I/O)를 통해 수신되는 외부의 호스트(미도시)의 요청에 응답하여 플래시 메모리(MEM)로의 데이터 기입 또는 플래시 메모리(MEM)로부터의 데이터 리드를 제어한다. 또한, 메모리 컨트롤러(Ctrl)는 플래시 메모리(MEM)에 대한 소거 동작을 제어한다. 본 발명의 실시예에 따른 메모리 카드(MCRD)의 메모리 컨트롤러(Ctrl)는 상기와 같은 제어 동작을 수행하기 위해, 각각 호스트 및 메모리 장치와의 인터페이스를 수행하는 인터페이스부들(미도시), 및 램(RAM) 등을 구비할 수 있다. 본 발명의 실시예에 따른 메모리 카드(MCRD)는 도 2 등의 플래시 메모리 시스템(MSYS)으로 구현될 수 있다.Referring to FIG. 12, a memory card MCRD according to an embodiment of the present invention includes a memory controller Ctrl and a flash memory MEM. The memory controller Ctrl controls data writing to or reading data from the flash memory MEM in response to a request from an external host (not shown) received through the input / output means I / O. . Also, the memory controller Ctrl controls the erase operation on the flash memory MEM. The memory controller Ctrl of the memory card MCRD according to an exemplary embodiment of the present invention may include interface units (not shown) and RAM (not shown) for performing an interface with a host and a memory device, respectively, in order to perform the above control operations. RAM) and the like. The memory card MCRD according to the exemplary embodiment of the present invention may be implemented with the flash memory system MSYS of FIG. 2.

도 12의 메모리 카드(MCRD)는 컴팩트 플래시 카드(CFC: Compact Flash Card), 마이크로 드라이브(Microdrive), 스마트 미디어 카드(SMC: Smart Media Card) 멀티미디어 카드(MMC: Multimedia Card), 보안 디지털 카드(SDC: Security Digital Card), 메모리 스틱(Memory Stick), 및 USB 플래시 메모리 드라이버 등으로 구현될 수 있다. 따라서, 도 12의 메모리 카드(MCRD)에 의하면, 리드의 신뢰성을 향상시키면서도 시스템의 오버헤드를 줄일 수 있다.The memory card MCRD of FIG. 12 may be a compact flash card (CFC), a microdrive, a smart media card (SMC) multimedia card (MMC), a secure digital card (SDC) : Security Digital Card), a Memory Stick, and a USB flash memory driver. Therefore, according to the memory card MCRD of FIG. 12, the overhead of the system can be reduced while improving the reliability of the read.

도 13은 본 발명의 실시예에 따른 솔리드 스테이트 드라이브(SSD: Solid State Drive)를 나타내는 도면이다. FIG. 13 illustrates a solid state drive (SSD) according to an exemplary embodiment of the present invention.

도 13을 참조하면, 본 발명의 실시예에 따른 SSD는 SSD 컨트롤러(SCTL) 및 플래시 메모리(MEM)를 포함한다. SSD 컨트롤러(SCTL)는 버스(BUS)로 연결되는 프로세서(PROS), 램(RAM), 캐쉬 버퍼(CBUF) 및 메모리 컨트롤러(Ctrl)를 구비할 수 있다. 프로세서(PROS)는 호스트(미도시)의 요청(명령, 어드레스, 데이터)에 응답하여 메모리 컨트롤러(Ctrl)가 플래시 메모리(MEM)와 데이터를 송수신하도록 제어한다. 본 발명의 실시예에 따른 SSD의 프로세서(PROS) 및 메모리 컨트롤러(Ctrl)는 하나의 ARM 프로세서로 구현될 수도 있다. 프로세서(PROS)의 동작에 필요한 데이터는 램(RAM)에 로딩될 수 있다. 예를 들어, 도 2의 테이블(TAB)이 램(RAM)에 로딩될 수 있다. Referring to FIG. 13, an SSD according to an embodiment of the present invention includes an SSD controller SCTL and a flash memory MEM. The SSD controller SCTL may include a processor PROS, a RAM, a cache buffer CBUF, and a memory controller Ctrl connected to a bus BUS. The processor PROS controls the memory controller Ctrl to exchange data with the flash memory MEM in response to a request (command, address, data) of the host (not shown). The processor PROS and the memory controller Ctrl of the SSD according to the embodiment of the present invention may be implemented as one ARM processor. Data necessary for the operation of the processor PROS may be loaded into the RAM. For example, the table TAB of FIG. 2 may be loaded into RAM.

호스트 인터페이스(HOST I/F)는 호스트의 요청을 수신하여 프로세서(PROS)로 전송하거나, 플래시 메모리(MEM)로부터 전송된 데이터를 호스트로 전송한다. 호스트 인터페이스(HOST I/F)는 USB(Universal Serial Bus), MMC(Man Machine Communication), PCI-E(Peripheral Component Interconnect-Express), SATA(Serial Advanced Technology Attachment), PATA(Parallel Advanced Technology Attachment), SCSI(Small Computer System Interface), ESDI(Enhanced Small Device Interface), 그리고 IDE(Intelligent Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜로, 호스트와 인터페이스 할 수 있다. 플래시 메모리(MEM)로 전송하고자 하거나, 플래시 메모리(MEM)로부터 전송된 데이터는 캐쉬 버퍼(CBUF)에 임시로 저장될 수 있다. 캐쉬 버퍼(CBUF)는 SRAM 등일 수 있다. The host interface HOST I / F receives a request from the host and transmits the request to the processor PROS or transmits data transmitted from the flash memory MEM to the host. Host interfaces (HOST I / F) include Universal Serial Bus (USB), Man Machine Communication (MMC), Peripheral Component Interconnect-Express (PCI-E), Serial Advanced Technology Attachment (SATA), Parallel Advanced Technology Attachment (PATA), Various interface protocols, such as Small Computer System Interface (SCSI), Enhanced Small Device Interface (ESDI), and Intelligent Drive Electronics (IDE), can interface with the host. Data to be transferred to the flash memory MEM or data transferred from the flash memory MEM may be temporarily stored in the cache buffer CBUF. The cache buffer CBUF may be an SRAM or the like.

본 발명의 실시예에 따른 SSD는 도 2 등의 플래시 메모리 시스템(MSYS)으로 구현될 수 있다. 따라서, 도 13의 SSD에 의하면, 리드 리트라이의 횟수를 줄여 리드의 신뢰성을 향상시키면서도 시스템의 오버헤드를 줄일 수 있다.The SSD according to the embodiment of the present invention may be implemented by the flash memory system MSYS of FIG. 2. Therefore, according to the SSD of FIG. 13, the overhead of the system can be reduced while improving the reliability of the read by reducing the number of read retries.

도 14는 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 도면이다. 14 is a diagram illustrating a server system and a network system including an SSD.

도 14를 참조하면, 본 발명의 실시예에 따른 네트워크 시스템(NSYS)은 네트워크를 통해 연결되는 서버 시스템(SSYS) 및 다수의 단말들(TEM1~TEMn)을 포함할 수 있다. 본 발명의 실시예에 따른 서버 시스템(SSYS)은 네트워크에 연결되는 다수의 단말들(TEM1~TEMn)로부터 수신되는 요청을 처리하는 서버(SERVER) 및 단말들(TEM1~TEMn)로부터 수신되는 요청에 대응되는 데이터를 저장하는 SSD를 포함하는 구비할 수 있다. 이때, 도 14의 SSD는 도 13의 SSD일 수 있다. 즉, 도 14의 SSD는 SSD 컨트롤러(SCTL) 및 플래시 메모리(MEM)를 포함하고, 플래시 메모리(MEM)는 도 1 등의 리드 방법으로 리드를 수행하는 플래시 메모리 장치일 수 있다. Referring to FIG. 14, a network system NSYS according to an embodiment of the present invention may include a server system SSYS and a plurality of terminals TEM1 to TEMn connected through a network. The server system SSYS according to an embodiment of the present invention responds to a request received from a server SERVER and terminals TEM1 to TEMn processing a request received from a plurality of terminals TEM1 to TEMn connected to a network. And an SSD for storing corresponding data. In this case, the SSD of FIG. 14 may be the SSD of FIG. 13. That is, the SSD of FIG. 14 may include an SSD controller SCTL and a flash memory MEM, and the flash memory MEM may be a flash memory device that performs a read by the read method of FIG. 1.

이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. As described above, optimal embodiments have been disclosed in the drawings and the specification. Although specific terms are employed herein, they are used for purposes of describing the present invention only and are not used to limit the scope of the present invention.

예를 들어, 이상에서는 오류 제어부(ECTU)에 의해 설정되는 리드 레벨(RLEV)에 의해 리드 리트라이(CMD_RR)가 수행되는 예에 대하여 설명하였으나, 이에 한하는 것은 아니다. 본 발명의 실시예에 따르면, 오류 제어부(ECTU)는 도 15와 같이, 리드 레벨(RLEV)과 기준 레벨(Rref)의 차이를 나타내는 오프셋(Offset)을 검출할 수 있다. 전술한 바와 같이, 도 2의 메모리 컨트롤러(Ctrl)는 오류 제어부(ECTU)의 출력에 응답하여 리드 제어를 수행하는 별도의 유닛이 구비될 수 있다. 리드의 제어를 수행하는 유닛은 도 15의 오프셋(Offset)만큼 기준 레벨(Rref)을 변경한 전압 레벨로 리드 리트라이가 수행되도록 제어할 수 있다. For example, an example in which the read retry CMD_RR is performed by the read level RLEV set by the error controller ETU is described, but the present invention is not limited thereto. According to an exemplary embodiment of the present invention, the error controller ETU may detect an offset indicating a difference between the read level RLEV and the reference level Rref, as shown in FIG. 15. As described above, the memory controller Ctrl of FIG. 2 may be provided with a separate unit that performs read control in response to the output of the error controller ETU. The unit performing the read control may control the read retry to be performed at a voltage level of which the reference level Rref is changed by the offset of FIG. 15.

그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.Therefore, those skilled in the art will appreciate that various modifications and equivalent embodiments are possible without departing from the scope of the present invention. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

Claims (10)

플래시 메모리(flash memory) 및 메모리 컨트롤러(memory controller)를 포함하는 플래시 메모리 시스템에서의 리드(read) 방법에 있어서,
상기 플래시 메모리의 블록들 각각을 인덱스(index)로 하는 마모도 테이블(wear-out table)에서, 상기 인덱스 중 상기 선택 블록에 대한 선택 인덱스를 업데이트(update)하는 단계; 및
상기 선택 블록에 대한 리드 리트라이(read retry)의 현재 요청이 수신되는 때에, 상기 선택 인덱스에 포함된 마모도에 대응되는 리드 리트라이 테이블(read retry table)을 참조하여, 상기 선택 블록에 대한 리드 리트라이를 시작하는 리드 레벨(read level)을 설정하는 단계를 구비하는 것을 특징으로 하는 리드 방법.
In a read method in a flash memory system including a flash memory and a memory controller,
Updating a selection index for the selection block of the index in a wear-out table having each of the blocks of the flash memory as an index; And
When a current request for read retry for the selection block is received, the read retry table for the selection block is referred to by referring to a read retry table corresponding to the degree of wear included in the selection index. And setting a read level at which to start the trie.
제1 항에 있어서, 상기 선택 인덱스에 포함된 마모도에 대응되는 리드 리트라이 테이블은,
상기 플래시 메모리의 인듀어런스(endurance) 상태마다 별도로 구비되는 리드 리트라이 테이블들 중 하나인 것을 특징으로 하는 리드 방법.
The lead retry table of claim 1, wherein the read retry table corresponding to the degree of wear included in the selection index includes:
And one of read retry tables provided separately for each endurance state of the flash memory.
제1 항에 있어서, 상기 선택 인덱스에 포함된 마모도에 대응되는 리드 리트라이 테이블은,
상기 플래시 메모리의 리드 환경을 인덱스로 갖는 것을 특징으로 하는 리드 방법.
The lead retry table of claim 1, wherein the read retry table corresponding to the degree of wear included in the selection index includes:
And a read environment of the flash memory as an index.
제3 항에 있어서, 상기 리드 환경은,
상기 플래시 메모리의 리텐션(retention) 특성 및 리드 디스터브(read disturb) 특성 중 적어도 하나 이상인 것을 특징으로 하는 리드 방법.
The method of claim 3, wherein the lead environment,
And at least one of a retention characteristic and a read disturb characteristic of the flash memory.
제1 항에 있어서, 상기 선택 인덱스는,
상기 선택 블록의 마모도, 및 상기 리드 리트라이 테이블을 구성하는 인덱스들 중 상기 선택 블록에 대한 리드 리트라이의 이전 요청에 대한 시작 리드 레벨에 대응되는 인덱스의 정보를 포함하는 것을 특징으로 하는 리드 방법.
The method of claim 1, wherein the selection index,
And information about an index corresponding to a wear level of the selection block and a start lead level for a previous request of a read retry for the selection block among the indexes constituting the read retry table.
제1 항에 있어서,
상기 리드 리트라이의 현재 요청의 근거가 된 에러가 정정될 때까지, 상기 시작 리드 레벨에서부터 상기 선택 인덱스에 포함된 마모도에 대응되는 리드 리트라이 테이블의 마지막 인덱스의 마지막 리드 레벨까지의 전압 레벨로 리드 동작을 반복하는 단계를 더 구비하는 것을 특징으로 하는 리드 방법.
The method according to claim 1,
Read at a voltage level from the starting lead level to the last lead level of the last index of the read retry table corresponding to the wear included in the selection index until the error underlying the current request of the read retry is corrected. And repeating the operation.
제6 항에 있어서,
상기 선택 인덱스에 포함된 마모도에 대응되는 리드 리트라이 테이블의 마지막 인덱스의 마지막 리드 레벨에 의한 리드 동작에 의해서도 상기 에러가 정정되지 아니하는 경우, 리드 리트라이와 다른 리드 정정 동작을 시작하는 단계를 더 구비하는 것을 특징으로 하는 리드 방법.
The method of claim 6,
Starting the read correction operation different from the read retry when the error is not corrected even by the read operation by the last read level of the last index of the read index corresponding to the wear level included in the selection index. The lead method characterized by the above-mentioned.
제7 항에 있어서, 리드 리트라이와 다른 리드 정정 동작은,
저밀도 패리티 체크 코드(Low Density Parity Check Code, LDPC) 방식에 의한 리드 정정 동작인 것을 특징으로 하는 리드 방법.
The method of claim 7, wherein the read correction operation different from the read retry,
And a read correction operation using a Low Density Parity Check Code (LDPC) method.
제1 항에 있어서, 상기 제1 명령은,
이레이즈 명령인 것을 특징으로 하는 리드 방법.
The method of claim 1, wherein the first command comprises:
A read method comprising an erase instruction.
제9 항에 있어서, 상기 플래시 메모리는,
상기 이레이즈 명령에 응답하여 상기 선택 블록이 이레이즈 되는데 소요되는 ISPE 루프 카운트(Incremental Step Pulse Erase Loop Count)를 상기 선택 블록에 대한 마모도로, 상기 메모리 컨트롤러로 전송하는 것을 특징으로 하는 리드 방법.
The method of claim 9, wherein the flash memory,
And a ISPE loop count (Incremental Step Pulse Erase Loop Count) required to erase the selection block in response to the erase command, to the memory controller as a wear rate for the selection block.
KR1020120005837A 2012-01-18 2012-01-18 Flash memory device and reading method of flash memory device KR20130084901A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120005837A KR20130084901A (en) 2012-01-18 2012-01-18 Flash memory device and reading method of flash memory device
US13/745,105 US20130185612A1 (en) 2012-01-18 2013-01-18 Flash memory system and read method of flash memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120005837A KR20130084901A (en) 2012-01-18 2012-01-18 Flash memory device and reading method of flash memory device

Publications (1)

Publication Number Publication Date
KR20130084901A true KR20130084901A (en) 2013-07-26

Family

ID=48995330

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120005837A KR20130084901A (en) 2012-01-18 2012-01-18 Flash memory device and reading method of flash memory device

Country Status (1)

Country Link
KR (1) KR20130084901A (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9443586B2 (en) 2014-04-07 2016-09-13 Samsung Electronics Co., Ltd. Nonvolatile memory device, memory system including the same and method for driving nonvolatile memory device
US9653157B1 (en) 2015-12-02 2017-05-16 SK Hynix Inc. Memory system and operating method thereof
US9799407B2 (en) 2015-09-02 2017-10-24 Samsung Electronics Co., Ltd. Method for operating storage device managing wear level depending on reuse period
US9837167B2 (en) 2015-08-24 2017-12-05 Samsung Electronics Co., Ltd. Method for operating storage device changing operation condition depending on data reliability
US10095577B2 (en) 2016-10-26 2018-10-09 SK Hynix Inc. Memory system and operating method thereof
US10127984B2 (en) 2015-08-24 2018-11-13 Samsung Electronics Co., Ltd. Method for operating storage device determining wordlines for writing user data depending on reuse period
KR20180128235A (en) * 2017-05-23 2018-12-03 삼성전자주식회사 Storage device and Method of operating the storage device
US10170201B2 (en) 2015-11-27 2019-01-01 SK Hynix Inc. Data storage device and operating method thereof
US10311920B2 (en) 2016-12-05 2019-06-04 SK Hynix Inc. Apparatus and method for controlling memory device
US10394652B2 (en) 2015-06-05 2019-08-27 SK Hynix Inc. Memory system for performing read retry operation and operating method thereof
KR20200056880A (en) * 2018-11-15 2020-05-25 에스케이하이닉스 주식회사 Storage device and operating method thereof
CN115295048A (en) * 2022-07-28 2022-11-04 山东华芯半导体有限公司 Screening method for optimal fixed voltage axis of nand flash
US11699490B2 (en) 2020-08-14 2023-07-11 Samsung Electronics Co., Ltd. Non-volatile memory device, operating method thereof, controller for controlling the same, and storage device including the same

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9443586B2 (en) 2014-04-07 2016-09-13 Samsung Electronics Co., Ltd. Nonvolatile memory device, memory system including the same and method for driving nonvolatile memory device
US10394652B2 (en) 2015-06-05 2019-08-27 SK Hynix Inc. Memory system for performing read retry operation and operating method thereof
US9837167B2 (en) 2015-08-24 2017-12-05 Samsung Electronics Co., Ltd. Method for operating storage device changing operation condition depending on data reliability
US10127984B2 (en) 2015-08-24 2018-11-13 Samsung Electronics Co., Ltd. Method for operating storage device determining wordlines for writing user data depending on reuse period
US9799407B2 (en) 2015-09-02 2017-10-24 Samsung Electronics Co., Ltd. Method for operating storage device managing wear level depending on reuse period
US10170201B2 (en) 2015-11-27 2019-01-01 SK Hynix Inc. Data storage device and operating method thereof
US9653157B1 (en) 2015-12-02 2017-05-16 SK Hynix Inc. Memory system and operating method thereof
US10095577B2 (en) 2016-10-26 2018-10-09 SK Hynix Inc. Memory system and operating method thereof
US10311920B2 (en) 2016-12-05 2019-06-04 SK Hynix Inc. Apparatus and method for controlling memory device
KR20180128235A (en) * 2017-05-23 2018-12-03 삼성전자주식회사 Storage device and Method of operating the storage device
KR20200056880A (en) * 2018-11-15 2020-05-25 에스케이하이닉스 주식회사 Storage device and operating method thereof
US10910047B2 (en) 2018-11-15 2021-02-02 SK Hynix Inc. Storage device and method of operating the same
US11699490B2 (en) 2020-08-14 2023-07-11 Samsung Electronics Co., Ltd. Non-volatile memory device, operating method thereof, controller for controlling the same, and storage device including the same
CN115295048A (en) * 2022-07-28 2022-11-04 山东华芯半导体有限公司 Screening method for optimal fixed voltage axis of nand flash

Similar Documents

Publication Publication Date Title
KR101835605B1 (en) Flash memory device and reading method of flash memory device
KR20130084901A (en) Flash memory device and reading method of flash memory device
US20130185612A1 (en) Flash memory system and read method of flash memory system
US9001587B2 (en) Flash memory and reading method of flash memory
US9047972B2 (en) Methods, devices, and systems for data sensing
KR101736792B1 (en) Flash memory and self interleaving method thereof
US11714710B2 (en) Providing data of a memory system based on an adjustable error rate
US9478298B2 (en) Memory system and method of reading data thereof
US11302375B2 (en) Performing an on demand refresh operation of a memory sub-system
KR102083491B1 (en) Memory device, memory system and operating method of the same
WO2015047688A1 (en) Updating read voltages
US11711095B2 (en) Bit flipping low-density parity-check decoders with low error floor
US10915395B2 (en) Read retry with targeted auto read calibrate
US11544008B2 (en) Temperature correction in memory sub-systems
KR20130030099A (en) Flash memory device and reading method of flash memory device
KR20130102397A (en) Flash memory and reading method of flash memory
US11587630B2 (en) Program with consecutive verifies for non-volatile memory

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination