KR101893064B1 - Ldpc 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법 - Google Patents

Ldpc 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법 Download PDF

Info

Publication number
KR101893064B1
KR101893064B1 KR1020170014952A KR20170014952A KR101893064B1 KR 101893064 B1 KR101893064 B1 KR 101893064B1 KR 1020170014952 A KR1020170014952 A KR 1020170014952A KR 20170014952 A KR20170014952 A KR 20170014952A KR 101893064 B1 KR101893064 B1 KR 101893064B1
Authority
KR
South Korea
Prior art keywords
decoding
wear
cnt
recording
monitoring
Prior art date
Application number
KR1020170014952A
Other languages
English (en)
Other versions
KR20180090414A (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 KR1020170014952A priority Critical patent/KR101893064B1/ko
Publication of KR20180090414A publication Critical patent/KR20180090414A/ko
Application granted granted Critical
Publication of KR101893064B1 publication Critical patent/KR101893064B1/ko

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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 바람직한 실시예에 따른 LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법에 관한 것으로서, 데이터 읽기 동작마다 복호 반복 횟수 정보를 획득하고 이를 블록 단위로 저장하는 복호 반복 횟수 기록부 및 실제로 수행된 쓰기 및 지우기 횟수와 상기 복호 반복 횟수를 바탕으로 마모도를 구하는 마모도 모니터링부를 포함함으로써, SSD의 전체적인 수명을 연장하여 SSD의 신뢰성을 높이고 SSD 교체에 드는 비용을 낮출 수 있다.

Description

LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법{SYSTEM AND METHOD FOR IMPROVING THE RELIABILITY OF WEAR-LEVELING BY RECORDING AND MONITORING THE NUMBER OF LDPC DECODING INTERATIONS}
본 발명은 웨어-레벨링 신뢰도 향상 시스템 및 방법에 관한 것으로, 더욱 상세하게는 LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법에 관한 것이다.
고체 상태 드라이브(SSD; Solid-State-Drive)는 플래시 메모리 기반 저장장치로서 고속 입출력, 저전력 등의 장점을 가지고 있다. 하지만, 플래시 메모리는 쓰고 지우는 횟수에 한계가 있다는 단점을 가지고 있다. 데이터를 저장하는 기본 단위인 셀(cell)의 플로팅 게이트(floating gate)는 전자를 가두고 내보내는 쓰기 및/또는 지우기 과정을 반복하면 마모가 생겨 결국에는 더 이상 사용할 수 없는 고장 상태에 이른다. 이 때문에 플래시 메모리의 수명은 제한적이다. 플래시 메모리는 다수의 블록으로 구성되어 있고 각 블록은 페이지라는 단위로 구분된다. 쓰기 동작은 페이지 단위로, 지우기 동작은 블록 단위로 수행되는데, 이 때문에 쓰기 또는 지우기 동작이 특정 블록이나 특정 페이지에 집중될 경우 더 빠르게 고장 상태에 이르게 된다. 이를 방지하고 플래시 메모리의 전체적인 수명을 늘이기 위하여 웨어-레벨링(Wear-Leveling)이라는 기술이 SSD에 적용된다. 웨어-레벨링은 블록별로 수행되었던 쓰기 및/또는 지우기 동작 횟수에 관련된 정보를 기록하여 가능한 한 모든 블록을 고르게 사용하도록 동작 횟수를 평준화하는 것이다. 하지만, 복잡한 반도체 제조 공정이 복잡하고 미세하기 때문에 같은 공정을 거쳐 생산된 플래시 메모리라 할지라도 서로 마모 정도가 같을 수는 없다. 또한 사용되는 하나의 플래시 메모리 내에서도 블록 간, 페이지 간 마모 정도가 다를 수 있다. 다시 말하자면, 같은 SSD 내에서도 블록별, 페이지별 최대 쓰기 및/또는 지우기 동작 횟수가 다를 수 있다는 것이다. 따라서, 단순히 쓰기 및/또는 지우기 동작 횟수만을 고려하는 것이 아니라 실제 마모 진행 정도를 파악할 필요가 있다. 즉, 플래시 메모리를 구성하고 있는 블록 또는 페이지별로 마모도를 모니터링하고 상대적으로 마모가 빠르게 진행된 부분의 사용을 제한해야 하는 것이다.
SSD의 신뢰성을 위하여 오류정정코드(ECC; Error Correction Code)가 필수적으로 사용된다. 오류정정코드는 크게 두 가지 과정으로 나눌 수 있다. 첫 번째, 부호 과정에서는 실제 데이터(메세지)를 메모리에 저장하기 전에 오류정정을 위한 추가 데이터(리던던시)를 생성하고 이 두 가지를 합한 데이터(코드워드)를 메모리에 저장한다. 두 번째, 복호 과정에서는 데이터를 읽을 때 오류가 발생하였을 경우 부호 과정에서 생성한 리던던시를 활용하여 오류를 제거한다. 일반적으로 SSD에 적용되는 오류정정코드는 BCH(Bose, Chaudhri, Hocquenghem) 코드인데 최근에는 더 높은 오류정정률이 증명된 LDPC(Low-Density Parity-Check) 코드의 적용이 고려되고 있다. LDPC 코드는 기존의 오류정정코드와 달리 복호할 코드워드를 확률적인 정보로 변경한 뒤 일련의 과정을 반복한다. 그 일련의 과정은 다음과 같다.
① 초기화: 복호할 코드워드를 확률 정보로 변경하여 복호 회로의 메모리에 설정
② 체크-노드 업데이트: 해당 LDPC 코드의 패리티-체크 행렬 구성을 바탕으로 확률 정보를 업데이트
③ 변수-노드 업데이트: ②에서 업데이트한 정보를 바탕으로 코드워드의 각 비트를 결정
④ 패리티-체크: 결정된 코드워드가 유효한 코드워드인지(오류가 모두 제거되었는지) 검사
SSD의 오류 정정을 위한 기존의 BCH 코드와 달리 LDPC 코드는 복호 작업을 시작한 뒤 최초로 한번 ①을 수행한 뒤, 유효한 코드워드가 생성될 때까지 ②, ③ 및 ④를 반복 한다. 위 복호 과정을 반복할 수 있는 횟수는 제한되어 있으며 제한된 수만큼 복호를 반복했음에도 유효한 코드워드를 생성하지 못한다면 복호 실패를 선언하고 복호를 중단한다.
일반적으로 코드워드에 포함된 오류가 많을수록 복호 반복 횟수가 증가하게 된다. 따라서 LDPC 코드를 SSD에 적용하였을 때 복호 반복 횟수의 증가는 해당 블록 또는 페이지에 오류가 다수 포함되어 있다는 것을 나타내며 마모가 진행되었음을 나타내는 데 근거가 될 수 있다.
대한민국 공개특허공보 제10-2015-0024489호(공개일자: 2015.03.09) 대한민국 등록특허공보 제10-1484066호(등록일자: 2015.01.13) 대한민국 등록특허공보 제10-1466555호(등록일자: 2014.11.24)
SSD의 오류정정코드로써 LDPC 코드를 적용하였을 때, 플래시 메모리의 읽기 동작의 데이터 복호 과정에서 복호 반복 횟수를 얻을 수 있다. LDPC 코드에서 복호 반복 횟수의 의미는 오류를 정정하기 위한 일련의 과정을 모든 오류를 수정할 때까지 몇 번을 반복했는지를 나타낸다. 따라서 읽은 데이터에 오류가 많이 포함되어 있을수록 복호 반복 횟수도 증가한다. 오류의 발생은 플래시 메모리의 마모도와 직접적인 관련이 있다. 그러므로 복호 반복 횟수는 플래시 메모리의 마모도를 예측할 수 있는 근거가 될 수 있다.
따라서, 본 발명은 상기한 종래 기술의 문제점을 해결하기 위해 이루어진 것으로서, 본 발명의 목적은 쓰기 및 지우기 동작 횟수 뿐만 아니라 LDPC 코드의 복호 반복 횟수에 관련된 정보를 획득하고 이를 통해 각 블록의 실제 마모도를 예측하여 상대적으로 마모가 빠르게 진행된 블록의 사용을 제한하는 유연한 웨어-레벨링을 수행할 수 있는 LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템은, 블록 또는 페이지 단위로 동작하고 LDPC 코드를 이용하여 오류 여부를 확인하는 플래시 메모리 기반 저장 장치에 있어서, 데이터 읽기 동작마다 복호 반복 횟수 정보를 획득하고 이를 블록 단위로 저장하는 복호 반복 횟수 기록부 및 실제로 수행된 쓰기 및 지우기 횟수와 상기 복호 반복 횟수를 바탕으로 마모도를 구하는 마모도 모니터링부를 포함한다.
한편, 본 발명의 LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 방법은, 블록 또는 페이지 단위로 동작하고 LDPC 코드를 이용하여 오류 여부를 확인하는 플래시 메모리 기반 저장 장치에 있어서, 데이터 읽기 동작마다 복호 반복 횟수 정보를 획득하고 이를 블록 단위로 저장하는 복호 반복 횟수 기록 단계 및 실제로 수행된 쓰기 및 지우기 횟수와 상기 복호 반복 횟수를 바탕으로 마모도를 구하는 마모도 모니터링 단계를 포함한다.
상술한 바와 같이, 본 발명에 의한 LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법은 다음과 같은 효과를 제공한다.
본 발명의 LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법에 따르면 블록 단위의 유연한 웨어-레벨링이 가능하다. 또한, 읽기 과정 속 LDPC 코드의 복호 과정에서 자연스럽게 발생하는 복호 반복 횟수를 활용하기 때문에 오류율 또는 오류 개수를 측정해야 하는 오버헤드를 감수하지 않을 수 있다. 그리고, 복호 반복 횟수를 고려한 웨어-레벨링과 함께 LDPC 코드의 높은 오류정정율까지 고려한다면 SSD의 높은 수명을 기대할 수 있다.
도 1은 본 발명의 LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법이 적용되는 플래시 메모리의 플래시 변환 계층 전체의 구성을 개략적으로 나타낸 블록도이다.
도 2는 본 발명의 바람직한 실시예에 따른 LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템의 구성을 개략적으로 나타낸 블록도이다.
도 3은 본 발명의 바람직한 실시예에 따른 LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 방법의 전체 흐름을 개략적으로 나타낸 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
도 1은 본 발명의 LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법이 적용되는 플래시 메모리의 플래시 변환 계층 전체의 구성을 개략적으로 나타낸 블록도이다.
이하에서 제시될 본 발명에 의한 웨어-레벨링 신뢰도 향상 시스템 및 방법은 플래시 메모리와 파일 시스템 사이에 위치하면서 매핑, 웨어-레벨링, 가비지 컬렉션, 배드 블록 매니지먼트, 오류정정정코드를 수행하는 구성들로 이루어져, 플래시 메모리를 디스크처럼 사용할 수 있게 해주는 사상 기술을 수행할 뿐만 아니라, 플래시 메모리 섹터들의 최대 쓰기/지우기 횟수가 유한한 결점을 보완하는 역할을 하는 플래시 변환 계층(FTL; Flash Translation Layer)을 바탕으로 하는 경우를 바람직한 실시예로서 제안한다.
또한, 본 명세서에서는 설명의 편의를 위해 본 발명의 바람직한 실시예에 따른 웨어-레벨링 시스템 및 방법이 SSD에 적용되는 것을 예시하나, 해당 기술분야의 통상의 기술자들은 본 발명이 이에 한정되지 않고 그러한 SSD 뿐만 아니라, SSD와 같이 블록 또는 페이지 단위로 동작하는 임의의 다른 플래시 메모리 기반 저장 장치들에 적용 가능하다는 것을 이해할 것이다.
이하 본 발명의 바람직한 실시예에 따른 LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 2는 본 발명의 바람직한 실시예에 따른 LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템의 구성을 개략적으로 나타낸 블록도이다.
도 2에 도시된 바와 같이, 본 발명의 바람직한 실시예에 따른 웨어-레벨링 시스템(100)은 데이터 읽기 동작마다 복호 반복 횟수 정보를 획득하고, 이를 블록 단위로 저장하는 복호 반복 횟수 기록부(110) 및 실제로 수행된 쓰기 및 지우기 횟수와 복호 반복 횟수를 바탕으로 마모도를 구하는 마모도 모니터링부(120)를 포함하여 이루어진다.
플래시 메모리를 구성하는 작은 단위는 셀이며 각 셀의 마모도 즉, 최대 쓰기 및 지우기 동작 횟수는 다를 수 있다. 따라서 이 셀들이 모여 구성되는 페이지별로, 그리고 페이지가 모여 구성되는 블록별로 그 마모 진행의 정도가 다를 수 있다. 보통 웨어-레벨링은 플래시 메모리의 블록 단위로 수행되므로 이에 따라 마모도 감시를 위한 복호 반복 횟수도 블록 단위로 기록될 필요가 있다. 그에 따라, 복호 반복 횟수 기록부(110)는 오류정정코드 확인 구성(도 1)으로부터 데이터 읽기 동작마다의 복호 반복 횟수 정보를 획득하고, 이를 도 2에서와 같은 블록 단위의 복호 반복 횟수 테이블에 저장한다.
복호 반복 횟수에 대한 정보는 플래시 메모리의 읽기 동작에서 얻을 수 있으며, 보통 읽기 동작은 블록이 아닌 페이지 단위로 수행된다. 따라서, 복호 반복 횟수 기록부(110)는 페이지 단위로 얻은 복호 반복 횟수를 블록 단위로 일반화한다. 블록 단위의 복호 반복 횟수 테이블에 기록되는 정보는 해당 블록의 평균 복호 반복 횟수(cnti )이고 cnti 를 구하는 식은 다음과 같다:
Figure 112017011185233-pat00001
복호 반복 횟수 기록부(110)는 먼저 최초(해당 블록에서 가장 처음의 읽기 동작 전)의 해당 블록의 평균 복호 반복 횟수(cnti ) 값을 기본 값(예를 들어, 1 또는 0)으로 설정한다. 이후 페이지 단위 읽기 동작으로부터 얻은 복호 반복 횟수(cntipage )와 이전까지 가지고 있었던 cnti 를 바탕으로 수학식 1과 같이 cnti 를 갱신한다. 여기서, a는 해당 블록의 평균 복호 반복 횟수와 해당 페이지의 복호 반복 횟수 가중치를 조절하는 역할을 한다. 예를 들어, 해당 블록에서 쓰기 및 지우기 그리고 읽기 동작이 빈번하게 발생된다면 cnti 에 의존할 수 있고, 그렇지 않다면 cntipage 의 가중치가 높아지게 할 수 있다. 또한, 플래시 메모리에서 블록은 다수의 페이지 단위로 구성되어 있으며 읽기 동작은 쓰기 및 지우기 동작보다 일반적으로 빈번하게 일어난다. 따라서, 페이지의 읽기 동작이 발생할 때마다 cnti 값을 갱신하는 것은 성능적인 오버헤드를 발생시킬 수 있기 때문에, a 값을 통해 cnti 값을 갱신하는 주기를 조절하거나 cnti 값을 갱신하는 특정 페이지를 설정할 필요가 있다.
그 다음 마모도 모니터링부(120)가 실제로 수행된 쓰기 및 지우기 횟수와 수학식 1에서 계산된 복호 반복 횟수를 바탕으로 블록별 마모도를 구하고, 이를 웨어-레벨링 구성(도 1)에 제공하여 블록 또는 페이지별 쓰기 및 지우기 동작 횟수를 제어하는 유연한 웨어-레벨링을 수행하게 한다. 각 블록의 마모도 수치(age)는 다음 수학식 2와 같이 표현된다.
Figure 112017011185233-pat00002
블록별 마모도를 구하기 위한 상기 수학식 2에서 cnt pe 해당 블록의 현재까지 실제로 수행된 쓰기 및 지우기 횟수, cnt i 해당 블록의 평균 복호 반복 횟수, 그리고 cnt imax 는 해당 SSD에 적용된 LDPC 코드에서 설정된 최대 복호 반복 횟수를 나타낸다. 여기서, b는 마모도를 구하는 실제 쓰기 및 지우기 횟수와 복호 반복 횟수 사이에서 가중치를 조절하기 위한 변수이다. 예를 들어, b 값이 1일 경우 마모도는 실제 쓰기 및 지우기 횟수에만 의존하게 되고 0일 경우에는 복호 반복 횟수에만 의존하게 된다. 따라서, b 값의 설정은 해당 SSD와 플래시 메모리의 특성 그리고 사용된 기간이나 주변 환경에 따라서 조절될 수 있다.
cnt imax 에 대해 보다 상세하게 살펴보면, cnt imax 는 LDPC 코드 복호 과정에서 상기 발명의 배경이 되는 기술 섹션에서 살펴본 일련의 과정을 반복할 수 있는 최대 횟수를 나타낸다. LDPC 코드에서는 오류율이 높거나 오류의 패턴에 따라서 복호 과정을 무한히 반복하여도 오류를 정정할 수 없는 상태가 나타날 수 있는데 이를 막기 위해서 이러한 최대 복호 반복 횟수가 존재한다. 즉, 복호의 반복이 최대 복호 반복 횟수에 도달하였을 경우에는 복호 실패를 선언하고 복호를 중단하는 것이다.
결론적으로 블록별 마모도를 나타내는 age는 블록 간의 마모도를 비교하기 위한 값이며 쓰기 및 지우기 동작이 어느 블록에 수행되어야 할지를 결정하는 데 사용되는 것이며, 블록 자체의 수명(최대 쓰기 및 지우기 횟수)을 판단하는 데 쓰이진 않는다.
그러면, 여기서 상기와 같이 구성된 시스템을 이용한 본 발명의 바람직한 실시예에 따른 LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 방법에 대해 설명하기로 한다. 이를 상세히 설명하면 다음과 같다.
도 3은 본 발명의 바람직한 실시예에 따른 LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 방법의 전체 흐름을 개략적으로 나타낸 순서도이다.
도 3을 참조하면, 본 발명의 바람직한 실시예에 따른 웨어-레벨링 방법에서 본 발명의 웨어-레벨링 신뢰도 향상 시스템(100)은 먼저 데이터 읽기 동작마다 복호 반복 횟수 정보를 획득하고 이를 블록 단위로 저장하는 복호 반복 횟수 기록 단계를 수행한다(단계 S310). 해당 단계에서 복호 반복 횟수를 갱신하는 동작에 대한 상세한 설명은 복호 반복 횟수 기록부(110)에 대하여 위에서 설명된 바와 같다.
다음으로, 웨어-레벨링 신뢰도 향상 시스템(100)은 실제로 수행된 쓰기 및 지우기 횟수와 단계 S310에서 구해진 복호 반복 횟수를 바탕으로 마모도를 구하는 마모도 모니터링 단계를 수행한다(단계 S320). 해당 단계에서 마모도를 구하는 동작에 대한 상세한 설명은 마모도 모니터링부(120)에 대하여 위에서 설명된 바와 같다.
이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다.
100 : 웨어-레벨링 신뢰도 향상 시스템
110 : 복호 반복 횟수 기록부
120 : 마모도 모니터링부

Claims (6)

  1. LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템에 있어서,
    데이터 읽기 동작마다 복호 반복 횟수 정보를 획득하고 이를 블록 단위로 저장하는 복호 반복 횟수 기록부; 및
    실제로 수행된 쓰기 및 지우기 횟수와 상기 복호 반복 횟수를 바탕으로 마모도를 구하는 마모도 모니터링부;를 포함하고
    상기 복호 반복 횟수 기록부는 하기 식을 통해 페이지 단위의 복호 반복 횟수를 블록 단위의 복호 반복 횟수로 일반화하는 것을 특징으로 하는 웨어-레벨링 신뢰도 향상 시스템:
    Figure 112018070233109-pat00003
    Figure 112018070233109-pat00004

    상기 식에서, cnti 는 해당 블록의 평균 복호 반복 횟수이고, cntipage 는 페이지 단위 복호 반복 횟수이며, a는 해당 블록의 평균 복호 반복 횟수와 해당 페이지의 복호 반복 횟수 가중치를 조절하는 변수이다.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 마모도 모니터링부는 하기 식을 통해 마모도를 구하는, 웨어-레벨링 신뢰도 향상 시스템:
    Figure 112018020983094-pat00005
    Figure 112018020983094-pat00006

    상기 식에서, age는 마모도이고, cntpe 해당 블록의 현재까지 실제로 수행된 쓰기 및 지우기 횟수이고, cnti 해당 블록의 평균 복호 반복 횟수이고, cntimax 는 해당 저장 장치에 적용된 LDPC 코드에서 설정된 최대 복호 반복 횟수이며, b는 마모도를 구하는 실제 쓰기 및 지우기 횟수와 복호 반복 횟수 사이에서 가중치를 조절하기 위한 변수이다.
  4. LDPC 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 방법에 있어서,
    데이터 읽기 동작마다 복호 반복 횟수 정보를 획득하고 이를 블록 단위로 저장하는 복호 반복 횟수 기록 단계; 및
    실제로 수행된 쓰기 및 지우기 횟수와 상기 복호 반복 횟수를 바탕으로 마모도를 구하는 마모도 모니터링 단계;를 포함하고,
    상기 복호 반복 횟수 기록 단계는 하기 식을 통해 페이지 단위의 복호 반복 횟수를 블록 단위의 복호 반복 횟수로 일반화하는 것을 특징으로 하는 웨어-레벨링 신뢰도 향상 방법:
    Figure 112018070233109-pat00007
    Figure 112018070233109-pat00008

    상기 식에서, cnti 는 해당 블록의 평균 복호 반복 횟수이고, cntipage 는 페이지 단위 복호 반복 횟수이며, a는 해당 블록의 평균 복호 반복 횟수와 해당 페이지의 복호 반복 횟수 가중치를 조절하는 변수이다.
  5. 삭제
  6. 청구항 4에 있어서,
    상기 마모도 모니터링 단계는 하기 식을 통해 마모도를 구하는, 웨어-레벨링 신뢰도 향상 방법:
    Figure 112018020983094-pat00009
    Figure 112018020983094-pat00010

    상기 식에서, age는 마모도이고, cntpe 해당 블록의 현재까지 실제로 수행된 쓰기 및 지우기 횟수이고, cnti 해당 블록의 평균 복호 반복 횟수이고, cntimax 는 해당 저장 장치에 적용된 LDPC 코드에서 설정된 최대 복호 반복 횟수이며, b는 마모도를 구하는 실제 쓰기 및 지우기 횟수와 복호 반복 횟수 사이에서 가중치를 조절하기 위한 변수이다.
KR1020170014952A 2017-02-02 2017-02-02 Ldpc 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법 KR101893064B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170014952A KR101893064B1 (ko) 2017-02-02 2017-02-02 Ldpc 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170014952A KR101893064B1 (ko) 2017-02-02 2017-02-02 Ldpc 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20180090414A KR20180090414A (ko) 2018-08-13
KR101893064B1 true KR101893064B1 (ko) 2018-08-30

Family

ID=63250690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170014952A KR101893064B1 (ko) 2017-02-02 2017-02-02 Ldpc 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101893064B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100974954B1 (ko) 2008-06-26 2010-08-10 에스디씨마이크로 주식회사 플래시 메모리를 이용한 저장장치에서의 읽기 웨어 레벨링방법
JP2013546039A (ja) 2010-09-29 2013-12-26 インターナショナル・ビジネス・マシーンズ・コーポレーション ソリッド・ステート・メモリ・デバイスにおける復号

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110016320A (ko) * 2009-08-11 2011-02-17 주식회사 유니듀 플래시 메모리를 블록 그룹으로 구분하여 관리하는 방법
KR101541040B1 (ko) 2010-03-12 2015-08-03 엘에스아이 코포레이션 플래시 메모리들을 위한 ldpc 소거 디코딩
KR20110139178A (ko) * 2011-11-16 2011-12-28 한양대학교 산학협력단 반복 복호수 설정 방법, ldpc 복호화 장치 및 그 방법
KR20150024489A (ko) 2013-08-26 2015-03-09 삼성전자주식회사 메모리 시스템에서의 ldpc 디코딩 방법 및 이를 이용한 ldpc 디코더
KR101484066B1 (ko) 2013-11-29 2015-01-19 한국과학기술원 엘디피시 부호의 디코딩 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100974954B1 (ko) 2008-06-26 2010-08-10 에스디씨마이크로 주식회사 플래시 메모리를 이용한 저장장치에서의 읽기 웨어 레벨링방법
JP2013546039A (ja) 2010-09-29 2013-12-26 インターナショナル・ビジネス・マシーンズ・コーポレーション ソリッド・ステート・メモリ・デバイスにおける復号
US9176814B2 (en) 2010-09-29 2015-11-03 International Business Machines Corporation Decoding in solid state memory devices

Also Published As

Publication number Publication date
KR20180090414A (ko) 2018-08-13

Similar Documents

Publication Publication Date Title
US9857986B2 (en) Wear leveling of a memory array
US9176814B2 (en) Decoding in solid state memory devices
US9639419B2 (en) Read voltage level estimating method, memory storage device and memory control circuit unit
US9685242B2 (en) Memory system
US9583217B2 (en) Decoding method, memory storage device and memory control circuit unit
US20190252035A1 (en) Decoding method, memory storage device and memory control circuit unit
US9529666B2 (en) Decoding method, memory storage device and memory controlling circuit unit
US9543983B2 (en) Decoding method, memory storage device and memory control circuit unit
US9471421B2 (en) Data accessing method, memory storage device and memory controlling circuit unit
US10103748B2 (en) Decoding method, memory control circuit unit and memory storage device
JP2012137994A (ja) メモリシステムおよびその制御方法
JP7039298B2 (ja) メモリシステム
US10193569B2 (en) Decoding method, memory storage device and memory control circuit unit
US10009045B2 (en) Decoding method, memory controlling circuit unit and memory storage device
JP2015133161A (ja) 半導体記憶装置
US10324787B2 (en) Decoding method, memory storage device and memory control circuit unit
JP2009271852A (ja) 半導体記憶装置
US20190074852A1 (en) Decoding method, memory storage device and memory control circuit unit
CN105304143B (zh) 解码方法、存储器控制电路单元及存储器存储装置
US20180046542A1 (en) Decoding method, memory storage device and memory control circuit unit
JP7177338B2 (ja) メモリコントローラ装置、メモリコントローラ装置を有するメモリ装置及びメモリコントロール方法
KR101893064B1 (ko) Ldpc 복호 반복 횟수 기록 및 모니터링을 통한 웨어-레벨링 신뢰도 향상 시스템 및 방법
KR101871682B1 (ko) 페이지 단위의 ldpc 복호 반복 횟수 기록 및 마모도 모니터링을 통한 신뢰도 높은 웨어-레벨링 수행방법
US11373713B1 (en) Memory control method, memory storage device, and memory control circuit unit
CN111258791B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元

Legal Events

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