KR20170096444A - 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법 및 그 장치 - Google Patents

플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법 및 그 장치 Download PDF

Info

Publication number
KR20170096444A
KR20170096444A KR1020160017827A KR20160017827A KR20170096444A KR 20170096444 A KR20170096444 A KR 20170096444A KR 1020160017827 A KR1020160017827 A KR 1020160017827A KR 20160017827 A KR20160017827 A KR 20160017827A KR 20170096444 A KR20170096444 A KR 20170096444A
Authority
KR
South Korea
Prior art keywords
block
blocks
pages
migration
migrated
Prior art date
Application number
KR1020160017827A
Other languages
English (en)
Other versions
KR101811444B1 (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 KR1020160017827A priority Critical patent/KR101811444B1/ko
Publication of KR20170096444A publication Critical patent/KR20170096444A/ko
Application granted granted Critical
Publication of KR101811444B1 publication Critical patent/KR101811444B1/ko

Links

Images

Classifications

    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0669Configuration or reconfiguration with decentralised address assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems

Landscapes

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

Abstract

본 발명은 읽기 간섭 오류를 최소화하고 성능 저하를 줄이고, SSD를 적용한 각종 시스템에 대한 신뢰성을 향상시키며 SSD를 교체하는 시기를 늦춤으로써 시스템 관리 비용을 절감하는 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법 및 그 장치를 제공하기 위한 것으로서, 플래시 메모리에서 데이터의 논리적인 위치와 물리적인 위치간의 매핑 정보를 제어하고 관리하는 FTL(Flash Translation Layer)의 제어를 통해, (A) 공지되어 있는 SSD 제조업체의 예측 알고리즘을 이용하여 이주될 새로운 블록들에 대한 후보군을 선별하는 단계와, (B) 검출된 블록 이주 페이지들을 상기 선별된 후보군 블록들로 이주할 때 각각의 후보군 블록에 이주될 페이지의 평균 개수를 산출하는 단계와, (C) 상기 블록 이주 페이지 별로 요청되는 읽기 요청 빈도를 누적하여 읽기 수행 가중치로 검출하는 단계와, (D) 상기 블록 이주 페이지 별로 검출된 읽기 수행 가중치를 기반으로 각 후보군 블록의 부하 평준화를 고려하여 읽기 수행 빈도가 일정하도록 상기 선별된 후보군 블록마다 블록 이주 페이지를 분산 이주하는 단계를 포함하여 이루어지는데 있다.

Description

플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법 및 그 장치{Method and apparatus of migrating data distribution for decreasing read interference error in flash memory}
본 발명은 플래시 메모리의 데이터 분산이주 방법에 관한 것으로, 특히 플래시 메모리에서 발생할 수 있는 다양한 물리적인 문제점들 중에서 읽기 간섭(read disturbance) 오류를 감소시킬 수 있는 방법 및 그 장치에 관한 것이다.
플래시 메모리는 기본적으로 도 1(a)에서 도시하고 있는 것과 같이, 블록(block)(10)과 페이지(page)(20) 단위로 구성되어 읽기, 쓰기, 삭제의 세 가지의 동작을 수행한다. 그리고 각각의 페이지(20)는 다시 셀(cell)로 구성되어 있고, 데이터를 저장하기 위해서 셀 내에 전하를 저장하는 방식을 사용한다. 이때, 셀의 전하량에 따라서 0 또는 1 비트(bit)로 표현한다.
또한 플래시 메모리 읽기/쓰기는 페이지(20) 단위로, 삭제는 블록(10) 단위로 이루어진다. 그리고 플래시 메모리는 여러 칩들이 모여 다중 채널(channel)과 웨이(way)를 구성하기도 한다.
플래시 메모리는 칩 레벨에서 다양한 오류가 발생될 수 있다. 즉, 시간이 지남에 따라 셀 내에 저장되어 있는 전하가 감소하거나(retention error), 읽기/쓰기 수행 시 인접한 셀에 소량의 전하가 추가적으로 저장되는 현상(program/read disturb)이 발생하며, 이러한 현상이 누적되면 셀을 읽을 때 잘못된 정보를 가져올 수 있다.
특히, 최근 플래시 메모리의 특징인 MLC(Multi-Level Cell)의 발전과 집적도 확대는 이러한 에러들의 발생 가능성을 급격히 증가시키고 있으며, 이들을 해결하여 플래시 메모리 신뢰성을 향상시킬 수 있는 기술 개발의 필요성을 증가시키고 있다.
이러한 오류를 감소시키기 위해서 플래시 메모리 기반의 저장장치 개발자들은 소프트웨어에서 이를 해결하고자 한다. 즉, 플래시 메모리는 물리적인 특성 상 한번 저장한 데이터를 수정할 수 없고, 데이터를 다른 위치에 다시 저장해야 한다. 그렇기 때문에 데이터의 논리적인 위치와 물리적인 위치간의 매핑 정보가 필요하며, 이러한 정보를 제어하고 관리하기 위해서 FTL(Flash Translation Layer)(30)이라는 소프트웨어가 필요하다.
이 외에도 FTL(30)의 역할은 다양한데, 최근에는 읽기 간섭이 발생할 수 있는 블록(10)을 예상하여 문제가 발생하기 전에 도 1(b)에서 도시하고 있는 것과 같이, 제 1 블록(10a)에서 제 2 블록(10b)인 미리 다른 블록으로 이주하는 기능도 상당수의 플래시 메모리 기반의 저장장치에 적용되어 있다. 하지만 블록 이주 동작이 수행되는 중에는 다른 읽기, 쓰기를 수행할 수 없기 때문에 성능저하가 발생하며, 이주된 이후에 기존의 블록은 삭제를 수행하게 된다. 그렇기 때문에 반복적인 블록 이주 기법은 성능 저하 및 수명 저하를 가져오는 문제점이 있다.
최근 수많은 업계에서 클라우드 서비스를 제공하며, 고품질의 클라우드 서비스를 제공하기 위해서 기존의 저장장치를 플래시 메모리 기반의 저장장치인 SSD(Solid State Drive)로 교체함으로써, 더욱 빠른 성능의 읽기, 쓰기 서비스를 제공한다. 하지만 대부분의 사용자들은 최초 한 번 대용량의 데이터를 저장한 뒤 반복적으로 접근하여 읽기만을 수행한다.
이 경우 반복적인 읽기는 플래시 메모리의 특정 블록들에서만 발생할 가능성이 매우 높으며, SSD의 FTL은 읽기 간섭이 발생할 가능성이 높은 블록들을 반복적으로 이주하게 된다. 이는 극심한 성능 저하를 발생할 수 있으며, 수명에도 큰 영향을 미치게 된다.
결국, 읽기 간섭을 감소시키기 위한 새로운 블록 이주 기법이 필요하다.
등록특허공보 제10-0882841호 (등록일자 2009.02.03)
따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서, 읽기 간섭 오류를 최소화하고 성능 저하를 줄이고, SSD를 적용한 각종 시스템에 대한 신뢰성을 향상시키며 SSD를 교체하는 시기를 늦춤으로써 시스템 관리 비용을 절감하는 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법 및 그 장치를 제공하는데 그 목적이 있다.
본 발명의 다른 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법의 특징은 플래시 메모리에서 데이터의 논리적인 위치와 물리적인 위치간의 매핑 정보를 제어하고 관리하는 FTL(Flash Translation Layer)의 제어를 통해, (A) 공지되어 있는 SSD 제조업체의 예측 알고리즘을 이용하여 이주될 새로운 블록들에 대한 후보군을 선별하는 단계와, (B) 검출된 블록 이주 페이지들을 상기 선별된 후보군 블록들로 이주할 때 각각의 후보군 블록에 이주될 페이지의 평균 개수를 산출하는 단계와, (C) 상기 블록 이주 페이지 별로 요청되는 읽기 요청 빈도를 누적하여 읽기 수행 가중치로 검출하는 단계와, (D) 상기 블록 이주 페이지 별로 검출된 읽기 수행 가중치를 기반으로 각 후보군 블록의 부하 평준화를 고려하여 읽기 수행 빈도가 일정하도록 상기 선별된 후보군 블록마다 블록 이주 페이지를 분산 이주하는 단계를 포함하여 이루어지는데 있다.
바람직하게 상기 (A) 단계는 삭제된 블록과 함께 사용 중인 블록들 중 클린 페이지(clean or empty page)가 가장 많은 블록들을 기준으로 선별하여 후보군으로 선별하는 것을 특징으로 한다.
바람직하게 상기 (B) 단계는 총 이주할 페이지 개수를 후보군 블록 개수로 나누어서 나온 값을 각 블록마다 이주되는 페이지 개수로 산출하는 것을 특징으로 한다.
바람직하게 상기 (D) 단계는 각각의 후보군 블록 이주 시 인터리빙(interleaving) 기법을 이용하여 각각의 채널에 있는 블록들에 페이지를 저장하는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 장치의 특징은 공지되어 있는 SSD 제조업체의 예측 알고리즘을 이용하여 이주될 새로운 블록들에 대한 후보군을 선별하는 블록 선별부와, 블록 이주 페이지들의 개수를 검출하여 상기 선별된 후보군 블록 개수에 대응되어 각 후보군 블록별로 이주 가능한 페이지의 개수를 산출하는 페이지 산출부와, 상기 블록 이주 페이지 별로 읽기 수행 빈도의 누적치를 기반으로 읽기 수행 가중치를 검출하는 가중치 검출부와, 상기 가중치 검출부에서 검출된 가중치를 기반으로 부하 평준화를 고려하여 읽기 수행 빈도가 일정하도록 상기 선별된 후보군 블록마다 블록 이주 페이지를 분산 이주시키는 분산 이주부를 포함하여 구성되는데 있다.
바람직하게 상기 블록 선별부는 삭제된 블록과 함께 사용 중인 블록들도 후보군으로 선별되며, 상기 사용 중인 블록들은 클린 페이지(clean or empty page)가 가장 많은 블록들을 기준으로 선별되는 것을 특징으로 한다.
바람직하게 상기 데이터 분산이주 장치는 플래시 메모리에서 데이터의 논리적인 위치와 물리적인 위치간의 매핑 정보를 제어하고 관리하는 FTL(Flash Translation Layer)로부터 제어되는 것을 특징으로 한다.
이상에서 설명한 바와 같은 본 발명에 따른 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법 및 그 장치는 다음과 같은 효과가 있다.
첫째, 기존의 기법은 데이터를 반복적으로 접근하는 경우에 다른 블록으로 이주를 하여도 다시 재이주(re-migration)할 가능성이 높다. 하지만 본 발명의 방법은 자주 접근하는 페이지를 분산하여 배치함으로써 읽기 간섭에 의한 블록 이주를 최소화할 수 있다.
둘째, 특정 데이터에 반복적으로 접근할 경우 인터리빙에 의한 성능 이득을 가져올 수 없고 특정 채널만 반복적으로 사용하게 된다. 본 발명의 방법은 분산 배치된 데이터를 병렬로 접근함으로써 성능 향상에 효과를 얻을 수 있다.
셋째, 재이주가 반복될수록 수명 저하가 발생할 가능성이 있지만, 본 발명의 방법은 재이주를 최소화하기 때문에 수명 저하를 감소시킬 수 있다.
넷째, SSD를 적용한 각종 시스템에 대한 신뢰성을 향상시킬 수 있으며, SSD를 교체하는 시기를 늦춤으로써 시스템 관리 비용 절감 효과를 가져올 수 있다.
도 1 은 종래의 플래시 메모리의 구조와 블록 이주 방법을 설명하기 위한 구성도
도 2 는 본 발명의 실시예에 따른 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법을 설명하기 위한 흐름도
도 3 은 도 2에서 데이터 분산 이주 방법을 설명하기 위한 구성도
도 4 는 본 발명의 실시예에 따른 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 장치를 나타낸 블록도
본 발명의 다른 목적, 특성 및 이점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
본 발명에 따른 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법 및 그 장치의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도 2 는 본 발명의 실시예에 따른 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법을 설명하기 위한 흐름도이고, 도 3 은 도 2에서 데이터 분산 이주 방법을 설명하기 위한 구성도이다.
도 2 및 도 3을 참조하여 설명하면, 먼저 이주될 새로운 블록들에 대한 후보군(10c)(10d)(10e)을 선별한다(S10). 이때, 후보군의 선별은 이미 공지되어 있는 SSD 제조업체의 예측 알고리즘에 의해서 선택된다.
한편, 기존의 블록 이주 방법은 가비지 컬렉션(Garbage Collection)에 의해서 삭제 연산이 수행된 이후의 깨끗한 블록들 중 하나를 선택해서 기존의 데이터들을 기록한다. 그렇기 때문에 깨끗한 블록들이 없는 경우 오랜 시간동안 가비지 컬렉션을 수행해야 하며 그 동안 요청된 I/O를 처리하지 못하는 프리징(Freezing) 현상이 발생한다. 본 발명은 삭제된 블록들뿐만 아니라 기존에 사용 중인 블록들도 후보군으로 선별한다. 이때 사용 중인 블록들은 클린 페이지(clean or empty page)가 가장 많은 블록들을 기준으로 선별함으로써 불필요한 가비지 컬렉션을 수행하지 않도록 한다. 이러한 블록들을 모아서 블록 이주 수행 시 후보군 블록 리스크로 관리하게 된다.
이어, 블록 이주 페이지들(20a)(20b)(20c)의 개수를 검출한 후(S20), 검출된 블록 이주 페이지들(20a)(20b)(20c)을 상기 선별된 새로운 후보군 블록들(10c)(10d)(10e)로 이주할 때 각각의 후보군 블록에 이주될 페이지의 평균 개수를 산출한다(S30).
이는 총 이주할 페이지 개수를 후보군 블록 개수로 나누어서 나온 값을 각 블록마다 이주되는 페이지 개수로 산출한다. 한편, 상기 후보군 블록들은 최소한의 이주 페이지 개수만큼의 클린 페이지를 가지고 있어야 한다.
예를 들어, 블록 이주 페이지들의 개수가 20개이고, 후보군 블록들이 5개이면, 각 후보군 블록에 이주할 페이지의 개수를 4개로 산출한다.
다음으로 블록 이주 페이지(20a)(20b)(20c) 별로 읽기 수행 가중치를 검출한다(S40). 이는 일반적으로 요청되는 읽기 요청에 대해서 각 페이지마다의 누적시키는 방식으로 가중치를 설정하여 이용한다.
그리고 상기 블록 이주 페이지(20a)(20b)(20c) 별로 검출된 읽기 수행 가중치를 기반으로 각 후보군 블록(10c)(10d)(10e)의 부하 평준화를 고려하여 읽기 수행 빈도가 일정하도록 상기 선별된 후보군 블록마다 블록 이주 페이지를 분산 이주시킨다(S50).(도 3 참조)
예를 들어서, 0~5번의 페이지를 3개의 후보군 블록으로 이주해야 할 때 각 페이지마다 읽기 수행이 얼마나 집중적으로 수행되었는지에 대한 가중치가 120, 100, 200, 150, 90, 180 이라고 가정하자.
이 경우 각각의 후보군 블록에 이동해야 하는 페이지는 2, 4번(총 가중치 290)을 하나의 그룹으로 1, 5번(총 가중치 280)을 하나의 그룹으로, 나머지 0, 3번(총 가중치 270)을 하나의 그룹으로 선별해서 각각의 블록에 분산 이주시킨다.
이렇게 이주가 된 이후에는 읽기 수행에 대한 부하가 각 블록별로 골고루 분산되는 효과를 얻을 수 있다.
한편, 각각의 후보군 블록 이주 시 성능 저하를 막기 위해서 인터리빙(interleaving) 기법을 적용할 수 있다. 상기 인터리빙 기법은 각 채널마다 동시에 읽기/쓰기 동작을 수행하는 것으로써, 본 발명에서도 후보군 블록 리스트 선택 시 각 채널마다 골고루 블록들을 선별한다. 그래서 실제 블록 이주를 수행할 때 각각의 채널에 있는 블록들에 페이지들을 저장함으로써 병렬적으로 수행이 가능하도록 한다.
도 4 는 본 발명의 실시예에 따른 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 장치를 나타낸 블록도이다.
도 4에서 도시하고 있는 것과 같이, 데이터 분산이주 장치(100)는 이미 공지되어 있는 SSD 제조업체의 예측 알고리즘을 이용하여 이주될 새로운 블록들에 대한 후보군을 선별하는 블록 선별부(110)와, 블록 이주 페이지들의 개수를 검출하여 상기 선별된 후보군 블록 개수에 대응되어 각 후보군 블록별로 이주 가능한 페이지의 개수를 산출하는 페이지 산출부(120)와, 상기 블록 이주 페이지 별로 읽기 수행 빈도의 누적치를 기반으로 읽기 수행 가중치를 검출하는 가중치 검출부(130)와, 상기 가중치 검출부(130)에서 검출된 가중치를 기반으로 부하 평준화를 고려하여 읽기 수행 빈도가 일정하도록 상기 선별된 후보군 블록마다 블록 이주 페이지를 분산 이주시키는 분산 이주부(140)로 구성된다.
이때, 상기 블록 선별부(110)는 삭제된 블록들뿐만 아니라 기존에 사용 중인 블록들도 후보군으로 선별되며, 상기 사용 중인 블록들은 클린 페이지(clean or empty page)가 가장 많은 블록들을 기준으로 선별한다. 그리고 이렇게 선별된 블록들을 모아서 블록 이주 수행 시 후보군 블록 리스크로 관리하게 된다.
이렇게 구성되는 데이터 분산이주 장치(100)는 플래시 메모리에서 데이터의 논리적인 위치와 물리적인 위치간의 매핑 정보를 제어하고 관리하는 FTL(Flash Translation Layer)(30)이라는 소프트웨어에서 관리하도록 한다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시예에서 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술적 분야의 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (7)

  1. 플래시 메모리에서 데이터의 논리적인 위치와 물리적인 위치간의 매핑 정보를 제어하고 관리하는 FTL(Flash Translation Layer)의 제어를 통해,
    (A) 공지되어 있는 SSD 제조업체의 예측 알고리즘을 이용하여 이주될 새로운 블록들에 대한 후보군을 선별하는 단계와,
    (B) 검출된 블록 이주 페이지들을 상기 선별된 후보군 블록들로 이주할 때 각각의 후보군 블록에 이주될 페이지의 평균 개수를 산출하는 단계와,
    (C) 상기 블록 이주 페이지 별로 요청되는 읽기 요청 빈도를 누적하여 읽기 수행 가중치로 검출하는 단계와,
    (D) 상기 블록 이주 페이지 별로 검출된 읽기 수행 가중치를 기반으로 각 후보군 블록의 부하 평준화를 고려하여 읽기 수행 빈도가 일정하도록 상기 선별된 후보군 블록마다 블록 이주 페이지를 분산 이주하는 단계를 포함하여 이루어지는 것을 특징으로 하는 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법.
  2. 제 1 항에 있어서, 상기 (A) 단계는
    삭제된 블록과 함께 사용 중인 블록들 중 클린 페이지(clean or empty page)가 가장 많은 블록들을 기준으로 선별하여 후보군으로 선별하는 것을 특징으로 하는 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법.
  3. 제 1 항에 있어서,
    상기 (B) 단계는 총 이주할 페이지 개수를 후보군 블록 개수로 나누어서 나온 값을 각 블록마다 이주되는 페이지 개수로 산출하는 것을 특징으로 하는 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법.
  4. 제 1 항에 있어서, 상기 (D) 단계는
    각각의 후보군 블록 이주 시 인터리빙(interleaving) 기법을 이용하여 각각의 채널에 있는 블록들에 페이지를 저장하는 것을 특징으로 하는 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법.
  5. 공지되어 있는 SSD 제조업체의 예측 알고리즘을 이용하여 이주될 새로운 블록들에 대한 후보군을 선별하는 블록 선별부와,
    블록 이주 페이지들의 개수를 검출하여 상기 선별된 후보군 블록 개수에 대응되어 각 후보군 블록별로 이주 가능한 페이지의 개수를 산출하는 페이지 산출부와,
    상기 블록 이주 페이지 별로 읽기 수행 빈도의 누적치를 기반으로 읽기 수행 가중치를 검출하는 가중치 검출부와,
    상기 가중치 검출부에서 검출된 가중치를 기반으로 부하 평준화를 고려하여 읽기 수행 빈도가 일정하도록 상기 선별된 후보군 블록마다 블록 이주 페이지를 분산 이주시키는 분산 이주부를 포함하여 구성되는 것을 특징으로 하는 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 장치.
  6. 제 5 항에 있어서,
    상기 블록 선별부는 삭제된 블록과 함께 사용 중인 블록들도 후보군으로 선별되며, 상기 사용 중인 블록들은 클린 페이지(clean or empty page)가 가장 많은 블록들을 기준으로 선별되는 것을 특징으로 하는 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 장치.
  7. 제 5 항에 있어서,
    상기 데이터 분산이주 장치는 플래시 메모리에서 데이터의 논리적인 위치와 물리적인 위치간의 매핑 정보를 제어하고 관리하는 FTL(Flash Translation Layer)로부터 제어되는 것을 특징으로 하는 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 장치.
KR1020160017827A 2016-02-16 2016-02-16 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법 및 그 장치 KR101811444B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160017827A KR101811444B1 (ko) 2016-02-16 2016-02-16 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160017827A KR101811444B1 (ko) 2016-02-16 2016-02-16 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20170096444A true KR20170096444A (ko) 2017-08-24
KR101811444B1 KR101811444B1 (ko) 2017-12-22

Family

ID=59758160

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160017827A KR101811444B1 (ko) 2016-02-16 2016-02-16 플래시 메모리의 읽기 간섭 오류 감소를 위한 데이터 분산이주 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR101811444B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112783802A (zh) * 2021-01-29 2021-05-11 山东华芯半导体有限公司 一种ssd中优化读干扰处理的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112783802A (zh) * 2021-01-29 2021-05-11 山东华芯半导体有限公司 一种ssd中优化读干扰处理的方法

Also Published As

Publication number Publication date
KR101811444B1 (ko) 2017-12-22

Similar Documents

Publication Publication Date Title
US10275162B2 (en) Methods and systems for managing data migration in solid state non-volatile memory
US9021231B2 (en) Storage control system with write amplification control mechanism and method of operation thereof
US8200904B2 (en) System and method for clearing data from a cache
KR102114256B1 (ko) 플래시 메모리 디바이스 액세스 방법 및 장치
US10956317B2 (en) Garbage collection in non-volatile memory that fully programs dependent layers in a target block
US11157209B2 (en) Storage allocation techniques using logical region I/O access information and temporal trend prediction
US9513822B2 (en) Unmap storage space
US8335887B2 (en) Solid state storage systems and methods for flexibly controlling wear leveling
CN111194438B (zh) 扩展ssd长久性
US11216368B2 (en) Memory system for garbage collection using page offsets, invalid offset ratio, sequential ratio, and logical address prediction
KR20130078973A (ko) 메모리 장치의 불량 저장 영역 관리 방법 및 이를 이용한 저장 장치
CN113015965A (zh) 基于小计写入计数器执行混合损耗均衡操作
US10126970B2 (en) Paired metablocks in non-volatile storage device
TWI644209B (zh) 記憶體管理
US10884669B2 (en) Controller, operation method of the controller and memory system
US11188261B2 (en) Memory controllers for solid-state storage devices
US9372804B2 (en) Cache memory for hybrid disk drives
US11609848B2 (en) Media management based on data access metrics
US10929033B2 (en) Allocating variable media types of memory devices in a memory system
US11409441B2 (en) Operation method of a storage controller configured to control a nonvolatile memory device
KR20100028022A (ko) 제어된 스크럽 데이터 판독에 의해 트리거되는 플래시 메모리 리프레시 기술
US20170255636A1 (en) Method and system for storing metadata of log-structured file system
US11042307B1 (en) System and method for facilitating improved utilization of NAND flash based on page-wise operation
KR20180003692A (ko) 메모리 시스템 및 그의 동작방법
KR101103061B1 (ko) 반도체 스토리지 시스템 및 그 제어 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal