KR101676175B1 - 전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법 - Google Patents

전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법 Download PDF

Info

Publication number
KR101676175B1
KR101676175B1 KR1020150085378A KR20150085378A KR101676175B1 KR 101676175 B1 KR101676175 B1 KR 101676175B1 KR 1020150085378 A KR1020150085378 A KR 1020150085378A KR 20150085378 A KR20150085378 A KR 20150085378A KR 101676175 B1 KR101676175 B1 KR 101676175B1
Authority
KR
South Korea
Prior art keywords
block
blocks
page
map
user
Prior art date
Application number
KR1020150085378A
Other languages
English (en)
Inventor
송용호
정상혁
Original Assignee
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Priority to KR1020150085378A priority Critical patent/KR101676175B1/ko
Priority to US15/736,607 priority patent/US20180189144A1/en
Priority to PCT/KR2016/006392 priority patent/WO2016204529A1/ko
Application granted granted Critical
Publication of KR101676175B1 publication Critical patent/KR101676175B1/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
    • 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/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법이 개시된다. 메모리 관리 방법은 데이터가 기록될 복수의 사용자 블록들 중 기록할 예정인 제1 사용자 블록들을 결정하는 단계; 상기 결정된 제1 사용자 블록들에 대한 기록 순서 정보를 시스템 블록의 시스템 페이지에 저장하는 단계; 상기 순서 정보에 대응하는 제1 사용자 블록들 전부에 데이터가 기록되면, 상기 제1 사용자 블록들에 대한 매핑 테이블을 맵 블록의 맵 페이지에 저장하는 단계를 포함할 수 있다.

Description

전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법{APPARATUS AND METHOD FOR MEMORY STORAGE TO PROTECT DATA-LOSS AFTER POWER LOSS}
본 발명은 전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법에 관한 것으로, 보다 구체적으로는 데이터가 기록될 복수의 사용자 블록들 중 기록할 예정인 사용자 블록들에 대한 기록 순서 정보가 저장된 시스템 페이지를 이용하여 메모리를 저장하는 장치 및 방법에 관한 것이다.
최근 플래시 메모리 기반 저장 장치는 모바일 시스템, 개인 휴대용 컴퓨터 시스템의 주요 저장매체로 각광받고 있다. 이러한 플래시 메모리 기반 저장 장치는 앞으로도 기존의 하드디스크를 대체하는 차세대 저장매체로 꾸준히 사용될 것으로 예상된다.
하지만 플래시 메모리는 플래시 메모리를 구성하는 반도체 소자의 특성에 따라 많은 단점이 존재하므로 이를 효과적으로 분석하고 해결하기 위한 메커니즘이 필요하다. 이를 위해, 플래시 메모리 기반 저장 장치는 컨트롤러(controller)를 통해 장착된 플래시 메모리의 단점을 보완하여 사용된다. 플래시 메모리의 단점으로는 덮어쓰기가 불가능하며, 삭제 횟수에도 제한이 있다는 점이다. 따라서, 이러한 단점을 극복하고 기존의 하드디스크와 같은 인터페이스를 제공하기 위해 데이터가 저장되는 플래시 메모리의 영역을 유연하게 접근할 수 있는 매핑(mapping) 기법이 필요하다. 이러한 매핑 테이블(mapping table)은 빈번하게 변경되며, 또한 빠르게 접근되어야 하기 때문에 플래시 메모리 이외에 SRAM 혹은 DRAM과 같은 휘발성 메모리에 보관된다.
그러나, 이러한 SRAM 혹은 DRAM과 같은 휘발성 메모리는 전원이 손실될 경우 저장데이터가 증발하는 문제가 있다. 이를 해결하기 위하여 플래시 메모리 기반 저장 장치는 SRAM 혹은 DRAM과 같은 휘발성 메모리에 보관된 매핑 테이블을 전체, 혹은 부분 별로 나누어 별도의 플래시 메모리에 저장하는 기법을 사용하여야 한다.
이때, 지나치게 빈번히 매핑 테이블을 플래시 메모리에 저장하면 이를 처리하기 위한 추가 저장 공간이 크게 확보되어야 하고, 지연 시간이 크게 발생한다는 측면에서 플래시 메모리 기반 저장 장치의 성능을 저하시킬 수 있다. 전원 손실 이후 재부팅 시간은 전원 손실 이전의 상태로 복구하기 위하여 저장영역을 검사하고 매핑 테이블을 복구하는데 걸리지만, 사용자가 수긍할 수 있는 정도의 지연만 발생하도록 관리하여야 한다. 결과적으로, 매핑 테이블의 저장빈도와 전원 손실 이후 재부팅 시간은 trade-off 관계가 성립하며 이를 균형 있게 관리할 수 있는 방법이 사용되어야 한다.
그러나, 종래의 기술들은 이러한 매핑 테이블의 저장빈도와 전원 손실 이후 재부팅 시간 간의 trade-off 관계에 대한 정확한 분석을 기반으로 제작되지 않았다. 또한, 전원 손실 이후 재부팅 시에 마지막으로 사용된 사용된 사용자 블록(user block)을 검색하기 위해 매우 큰 지연시간을 초래하였다.
본 발명은 전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법에 관한 것으로, 데이터가 기록될 복수의 사용자 블록들 중 기록할 예정인 사용자 블록들에 대한 기록 순서 정보가 저장된 시스템 페이지를 이용함으로써 비정상적인 종료 직전에 사용된 사용자 블록을 빠르게 찾아 매핑 테이블을 복구하는 장치 및 방법을 제공한다.
본 발명의 일실시예에 따른 메모리 저장 방법은 데이터가 기록될 복수의 사용자 블록들 중 기록할 예정인 제1 사용자 블록들을 결정하는 단계, 상기 결정된 제1 사용자 블록들에 대한 기록 순서 정보를 시스템 블록의 시스템 페이지에 저장하는 단계 및 상기 기록 순서 정보에 대응하는 제1 사용자 블록들 전부에 데이터가 기록되면, 상기 제1 사용자 블록들에 대한 매핑 테이블을 맵 블록의 맵 페이지에 저장하는 단계를 포함할 수 있다.
상기 복수의 사용자 블록들 중 현재 데이터가 기록된 제2 사용자 블록들에 대한 기록 순서 정보를 시스템 블록의 시스템 페이지에 저장하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 메모리 저장 방법은 복수의 맵 블록들 중에서 비정상적인 종료 직전에 사용된 맵 블록을 확인하는 단계, 상기 확인된 맵 블록의 맵 페이지에 저장된 매핑 테이블(mapping table)을 복원하는 단계, 복수의 시스템 블록에서 비정상적인 종료 직전에 사용된 시스템 블록을 결정하는 단계 및 상기 결정된 시스템 블록의 시스템 페이지에 저장된 제1 사용자 블록들에 대한 정보를 이용하여 매핑 테이블을 업데이트하는 단계를 포함할 수 있다.
상기 확인하는 단계는 상기 복수의 맵 블록들 각각의 첫 번째 페이지 정보 및 마지막 페이지 정보를 이용하여 비정상적인 종료 직전에 사용된 맵 블록을 확인할 수 있다.
상기 복수의 맵 블록들 각각의 첫 번째 페이지 정보는 맵 블록이 할당되어 사용되는 시점에서 상기 맵 블록의 할당 순서 정보를 포함하고, 상기 복수의 맵 블록들 각각의 마지막 페이지 정보는 맵 블록의 페이지가 모두 사용되면 상기 맵 블록의 삭제 여부를 확인할 수 있는 정보를 포함할 수 있다.
상기 복원하는 단계는 비정상적인 종료 직전에 사용된 맵 블록의 맵 페이지에 저장된 매핑 테이블을 캐시 메모리로 전송할 수 있다.
상기 결정하는 단계는 상기 복수의 시스템 블록들 각각의 첫 번째 페이지 정보 및 마지막 페이지 정보를 이용하여 비정상적인 종료 직전에 사용된 시스템 블록을 확인할 수 있다.
상기 복수의 시스템 블록들 각각의 첫 번째 페이지 정보는 시스템 블록이 할당되어 사용되는 시점에서 상기 시스템 블록의 할당 순서 정보를 포함하고, 상기 복수의 시스템 블록들 각각의 마지막 페이지 정보는 시스템 블록의 페이지가 모두 사용되면 상기 시스템 블록의 삭제 여부를 확인할 수 있는 정보를 포함할 수 있다.
상기 업데이트하는 단계는 상기 비정상적인 종료 직전에 사용된 시스템 블록 중에서 마지막으로 사용된 시스템 페이지를 확인하는 단계, 상기 확인된 시스템 페이지에 저장된 제1 사용자 블록들에 대한 정보를 이용하여 상기 제1 사용자 블록들의 첫 번째 페이지 및 마지막 페이지를 검색함으로써 비정상적인 종료 직전에 사용된 제1 사용자 블록을 결정하는 단계 및 상기 결정된 비정상적인 종료 직전에 사용된 제1 사용자 블록을 이용하여 캐시 메모리에 저장된 매핑 테이블을 수정하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른 메모리 저장 장치는 데이터가 기록될 복수의 사용자 블록들 중 기록할 예정인 제1 사용자 블록들을 결정하고, 상기 결정된 제1 데이터 블록들에 대한 기록 순서 정보를 시스템 블록의 시스템 페이지에 저장하며, 상기 순서 정보에 대응하는 제1 사용자 블록들 전부에 데이터가 기록되면, 상기 제1 사용자 블록들에 대한 매핑 테이블을 맵 블록의 맵 페이지에 저장하는 컨트롤러를 포함할 수 있다.
상기 컨트롤러는 상기 복수의 사용자 블록들 중 현재 데이터가 기록된 제2 사용자 블록들에 대한 순서 정보를 시스템 블록의 시스템 페이지에 더 저장할 수 있다.
본 발명의 일실시예에 따른 메모리 저장 장치는 복수의 맵 블록 중에서 비정상적인 종료 직전에 사용된 맵 블록을 확인하고, 상기 확인된 맵 블록의 맵 페이지에 저장된 매핑 테이블(mapping table)을 복원하며, 복수의 시스템 블록에서 비정상적인 종료 직전에 사용된 시스템 블록을 결정하고, 상기 결정된 시스템 블록의 시스템 페이지에 저장된 제1 사용자 블록들에 대한 정보를 이용하여 매핑 테이블을 업데이트하는 컨트롤러를 포함할 수 있다.
상기 컨트롤러는 상기 복수의 맵 블록들 각각의 첫 번째 페이지 정보 및 마지막 페이지 정보를 이용하여 비정상적인 종료 직전에 사용된 맵 블록을 확인할 수 있다.
상기 복수의 맵 블록들 각각의 첫 번째 페이지 정보는 맵 블록이 할당되어 사용되는 시점에서 상기 맵 블록의 할당 순서 정보를 포함하고, 상기 복수의 맵 블록들 각각의 마지막 페이지 정보는 맵 블록의 페이지가 모두 사용되면 상기 맵 블록의 삭제 여부를 확인할 수 있는 정보를 포함할 수 있다.
상기 컨트롤러는 비정상적인 종료 직전에 사용된 맵 블록의 맵 페이지에 저장된 매핑 테이블을 캐시 메모리로 전송할 수 있다.
상기 컨트롤러는 상기 복수의 시스템 블록들 각각의 첫 번째 페이지 정보 및 마지막 페이지 정보를 이용하여 비정상적인 종료 직전에 사용된 시스템 블록을 확인할 수 있다.
상기 복수의 시스템 블록들 각각의 첫 번째 페이지 정보는 시스템 블록이 할당되어 사용되는 시점에서 상기 시스템 블록의 할당 순서 정보를 포함하고, 상기 복수의 시스템 블록들 각각의 마지막 페이지 정보는 시스템 블록의 페이지가 모두 사용되면 상기 시스템 블록의 삭제 여부를 확인할 수 있는 정보를 포함할 수 있다.
상기 컨트롤러는 상기 비정상적인 종료 직전에 사용된 시스템 블록 중에서 마지막으로 사용된 시스템 페이지를 확인하고, 상기 확인된 시스템 페이지에 저장된 제1 사용자 블록들에 대한 정보를 이용하여 상기 제1 사용자 블록들의 첫 번째 페이지 및 마지막 페이지를 검색함으로써 비정상적인 종료 직전에 사용된 제1 사용자 블록을 결정하며, 상기 결정된 비정상적인 종료 직전에 사용된 제1 사용자 블록을 이용하여 캐시 메모리에 저장된 매핑 테이블을 수정할 수 있다.
본 발명의 일실시예에 따르면, 데이터가 기록될 복수의 사용자 블록들 중 기록할 예정인 사용자 블록들에 대한 기록 순서 정보가 저장된 시스템 페이지를 이용함으로써 비정상적인 종료 직전에 사용된 사용자 블록을 빠르게 찾아 매핑 테이블을 복구할 수 있다.
도 1은 본 발명의 일실시예에 따른 메모리 저장 장치를 도시한 도면이다.
도 2은 본 발명의 일실시예에 따른 플래시 메모리의 구성을 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 플래시 메모리 내의 데이터 블록을 도시한 도면이다.
도 4은 본 발명의 일실시예에 따른 시스템 페이지의 구성을 도시한 도면이다.
도 5은 본 발명의 일실시예에 따른 메모리 관리 방법을 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 메모리 복원 방법을 도시한 도면이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 메모리 저장 장치를 도시한 도면이다.
메모리 저장 장치(100)는 컨트롤러(110), 캐시 메모리(120), 및 플래시 메모리(130)로 구성될 수 있다. 컨트롤러(110)는 플래시 메모리(130)에 데이터를 저장하거나, 저장된 데이터를 읽고 삭제할 수 있다. 본 발명에서 컨트롤러(130)는 시스템 페이지를 이용하여 플래시 메모리(130)에 데이터를 저장하고, 비정상적인 전원 손실 이후 빠르게 매핑 테이블을 복구하는 방법을 제공한다. 이때, 시스템 페이지에는 데이터가 기록될 복수의 사용자 블록들 중 기록할 예정인 사용자 블록들에 대한 기록 순서 정보가 저장 될 수 있다. 자세한 내용은 이하 도면을 통해 설명하도록 한다.
캐시 메모리(120)는 매핑 테이블을 보관 할 수 있다. 매핑 테이블은 입력 데이터가 플래시 메모리(130)에 저장될 때마다 빈번하게 변경되어야 하며, 또한, 빠르게 접근되어야 하기 때문에 SRAM 또는 DRAM과 같은 휘성발 메모리에 보관 될 수 있다. 그러나, 이러한 휘발성 메모리는 전원이 손실될 경우 메모리 내에 저장된 데이터가 증발하는 문제가 발생할 수 있다. 따라서, 캐시 메모리(120) 내에 저장된 매핑 테이블은 전체가 별도의 플래시 메모리(130)에 저장되거나, 변경된 부분을 나누어 별도의 플래시 메모리(130)에 저장될 필요가 있다.
플래시 메모리(130)는 복수의 데이터 블록들로 구성될 수 있다. 각각의 데이터 블록들은 복수의 페이지로 구성되며, 각각의 페이지에 데이터가 저장될 수 있다. 데이터 블록들은 데이터 블록 내의 페이지에 저장하는 정보에 따라 시스템 블록, 맵 블록 및 사용자 블록으로 표현될 수 있다. 플래시 메모리(130)의 자세한 구성은 도 2를 통해 설명하도록 한다.
도 2은 본 발명의 일실시예에 따른 플래시 메모리의 구성을 도시한 도면이다.
플래시 메모리(130)는 복수의 데이터 블록들로 구성될 수 있다. 이때, 시스템 페이지가 저장된 데이터 블록은 시스템 블록으로 정의하고, 매핑 테이블이 저장된 데이터 블록은 맵 블록으로 정의할 수 있다. 또한, 입력 데이터가 저장된 데이터 블록은 사용자 블록으로 정의할 수 있다. 플래시 메모리(130)는 복수의 시스템 블록들로 구성된 시스템 블록 영역(210), 맵 블록들로 구성된 맵 블록 영역(220), 및 사용자 블록들로 구성된 사용자 블록 영역(230)으로 구성될 수 있다.
시스템 블록 영역(210) 내의 시스템 블록은 시스템 페이지를 저장 할 수 있다. 시스템 페이지는 데이터가 기록될 복수의 사용자 블록들 중 기록할 예정인 사용자 블록들에 대한 기록 순서 정보를 포함할 수 있다. 메모리 저장 장치(100)는 시스템 페이지를 이용하여 비정상적인 종료 직전에 사용된 사용자 블록을 빠르게 찾음으로써 전원 손실 이후 매핑 테이블을 복구하는 시간을 줄일 수 있다. 메모리 저장 장치(100)는 비정상적인 전원 손실 이후 매핑 테이블을 복구하기 위하여 매핑 테이블이 저장되어 있는 맵 블록과 비정상적인 종료 직전에 사용 중이었던 사용자 블록을 확인할 수 있다. 이때, 맵 블록 및 사용자 블록들의 첫 번째 페이지에 저장된 할당 순서와 마지막 페이지에 저장된 해당 맵 블록 및 사용자 블록들의 삭제 여부에 대해 확인할 수 있는 정보를 확인함으로써 비정상적인 종료 직전에 사용 중이었던 맵 블록 및 사용자 블록을 확인할 수 있다.
맵 블록 영역(220) 내의 맵 블록은 매핑 테이블을 저장할 수 있다. 매핑 테이블은 컨트롤러(110) 내의 플래시 변환 계층(Flash translation layer)을 통해 생성될 수 있다. 플래시 변환 계층은 데이터의 논리적인 주소(Logical address)를 플래시 메모리(130)내의 물리적인 데이터 블록과 페이지에 대한 주소(Physical address)로 변환하여 논리적인 주소와 물리적인 주소를 서로 연결해 줄 수 있다. 이러한 매핑 테이블은 데이터가 플래시 메모리(130)에 저장될 때마다 빈번하게 변경되어야 하며, 또한 빠르게 접근되어야 하기 때문에 SRAM 또는 DRAM과 같은 캐시 메모리에 보관 될 수 있다. 그러나, 이러한 SRAM 또는 DRAM과 같은 캐시 메모리는 전원이 손실될 경우 저장 데이터가 증발하는 문제가 발생할 수 있다. 따라서, 컨트롤러(110)는 캐시 메모리(120) 내에 저장된 매핑 테이블 전체를 플래시 메모리(130)에 저장하거나, 매핑 테이블 중 변경된 부분을 나누어 별도의 방법에 따라 플래시 메모리(130)의 맵 블록에 저장할 필요가 있다.
사용자 블록 영역(230) 내의 사용자 블록은 데이터를 저장할 수 있다. 사용자 블록은 복수의 페이지로 구성될 수 있으며, 데이터는 복수의 페이지에 순서대로 저장될 수 있다.
도 3은 본 발명의 일실시예에 따른 플래시 메모리 내의 데이터 블록을 도시한 도면이다.
데이터 블록(300)은 복수의 페이지로 구성될 수 있다. 하나의 페이지는 데이터 영역(310)과 스페어(spare) 영역(320)으로 구분될 수 있다. 데이터 영역(310)에는 데이터가 저장 될 수 있으며, 스페어 영역(320)에는 해당 페이지에 대한 매핑 테이블 및 에러 정정 코드(Error correction code, ECC) 등이 저장될 수 있다. 예를 들어, 데이터 블록(300) 중 맵 블록의 페이지를 구성하는 데이터 영역에는 현재 플래시 메모리(130)에 존재하는 데이터들의 매핑 테이블에 대한 데이터가 저장되어 있으며, 스페어 영역에는 해당 맵 블록의 페이지에 대한 매핑 테이블 및 에러 정정 코드가 저장될 수 있다. 또는, 데이터 블록(300) 중 사용자 블록의 페이지를 구성하는 데이터 영역에는 데이터가 저장되어 있으며, 스페어 영역에는 해당 사용자 블록의 페이지에 대한 매핑 테이블 및 에러 정정 코드가 저장될 수 있다.
데이터 블록(300)은 컨트롤러(110)에 의해 입력 데이터를 저장하도록 할당되어 사용되는 시점에서 해당 데이터 블록의 첫 번째 페이지에 할당 순서를 저장할 수 있다. 데이터는 데이터 블록의 첫 번째 페이지에서 마지막 페이지까지 순서대로 저장될 수 있으며, 마지막 페이지(330)에는 해당 데이터 블록(300) 내에 포함된 모든 페이지들 각각의 스페어 영역(320)에 저장된 매핑 테이블이 저장 될 수 있다. 이때, 데이터 블록(300)은 해당 데이터 블록의 모든 페이지가 사용되면 마지막 페이지(330)에 데이터 블록의 삭제 여부에 대해 확인할 수 있는 정보를 포함할 수 있다.
도 4은 본 발명의 일실시예에 따른 시스템 페이지의 구성을 도시한 도면이다.
메모리 저장 장치(100)는 비정상적인 전원 손실 이후 매핑 테이블을 복구하기 위하여 매핑 테이블이 저장되어 있는 맵 블록과 비정상적인 종료 직전에 사용 중이었던 사용자 블록을 확인할 수 있다. 또한, 사용자 블록에 저장된 데이터의 최신 정보를 확인하기 위하여 모든 사용자 블록을 할당 된 순서대로 정렬하는 작업도 필요하다.
본 발명에서는 비정상적인 종료 직전에 사용 중이었던 사용자 블록을 확인하는 시간 및 모든 사용자 블록을 할당된 순서대로 정렬하는 시간을 획기적으로 줄이는 방법을 제안한다. 본 발명에서 메모리 저장 장치(100)는 시스템 페이지(400)를 이용하여 상기 확인하는 시간 및 정렬하는 시간을 획기적으로 줄이는 방법을 제공한다.
시스템 페이지(400)는 제1 사용자 블록 리스트(410), 제2 사용자 블록 리스트(420), 및 제3 사용자 블록 리스트(430)를 포함할 수 있다. 플래시 메모리(130)에는 데이터를 기록될 수 있도록 비어있는 상태(Free)의 사용자 블록들이 존재한다. 메모리 저장 장치(100) 비어있는 상태(Free)의 사용자 블록들 중에서 앞으로 기록할 예정인 사용자 블록들을 결정할 수 있다. 이때, 앞으로 기록할 예정인 사용자 블록들을 제1 사용자 블록으로 정의할 수 있다. 도 4의 Open list가 제1 사용자 블록에 대응할 수 있다.
예를 들어, 메모리 저장 장치(100)가 제1 사용자 블록을 결정하는 방법은 사용자 블록들의 재기록 횟수에 기초할 수 있다. 플래시 메모리(130)는 재기록 가능 횟수가 정해져 있고, 상기 재기록 가능 횟수만큼 재기록되면 더 이상 사용할 수가 없다. 따라서, 메모리 저장 장치(100)는 사용자 블록들의 재기록 횟수를 관리하며, 재기록 횟수가 작은 사용자 블록부터 제1 사용자 블록으로 결정할 수 있다. 이때, 메모리 저장 장치(100)는 결정된 제1 사용자 블록들에 대한 기록 순서 정보를 시스템 페이지(400)의 제1 사용자 블록 리스트(410)에 저장할 수 있다.
또한, 메모리 저장 장치(100)는 데이터가 기록된 상태의 사용자 블록들을 제2 사용자 블록으로 정의할 수 있다. 도4 의 Closed list가 제2 사용자 블록에 대응할 수 있다. 이때, 컨트롤러(110)는 제2 사용자 블록들에 대한 기록 순서 정보를 시스템 페이지(400)의 제2 사용자 블록 리스트(420)에 저장 할 수 있다. 도 4의 제2 사용자 블록 리스트(420)는 두 개의 사용자 블록들을 포함하고 있지만 시스템 페이지의 유휴 공간을 이용하여 더 많은 제2 사용자 블록 리스트(420)를 저장할 수 있다.
메모리 저장 장치(100)는 제1 사용자 블록 및 제2 사용자 블록을 제외하고 데이터가 기록될 수 있도록 비어있는 상태(Free)의 사용자 블록들을 제3 사용자 블록으로 정의할 수 있다. 도 4의 Free list가 제3 사용자 블록에 대응할 수 있다. 이때, 메모리 저장 장치(100)는 제3 사용자 블록들에 대한 기록 순서 정보를 시스템 페이지(400)의 제3 사용자 블록 리스트(430)에 저장 할 수 있다. 메모리 저장 장치(100)는 제3 사용자 블록 리스트(430)를 이용하여 이후 형성될 시스템 페이지(400)에 저장될 제1 사용자 블록 리스트(410)를 결정할 수 있다.
예를 들어, 도 4의 a에는 시스템 페이지(0)이 존재한다. 시스템 페이지(0)는 제1 사용자 블록 리스트(410)와 같이 메모리 저장 장치(100)가 5번 사용자 블록, 2번 사용자 블록, 6번 사용자 블록 및 9번 사용자 블록 순으로 데이터를 저장할 수 있도록 제1 사용자 블록들에 대한 기록 순서 정보를 포함하고 있다. 이때, 제2 사용자 블록 리스트(420)에 저장된 4번 사용자 블록과 7번 사용자 블록은 이미 데이터가 기록된 사용자 블록임을 알 수 있다.
메모리 저장 장치(100)는 제1 사용자 블록 리스트(410)에 포함된 사용자 블록들에 데이터가 모두 저장되면, 상기 제1 사용자 블록들에 대한 매핑 테이블을 맵 블록의 페이지에 저장할 수 있다. 이후 메모리 저장 장치(100)는 도 4의 b와 같이 새로운 시스템 페이지(1)을 할당할 수 있으며, 시스템 페이지(0)과 같이 데이터를 기록할 예정인 제1 사용자 블록들에 대한 순서 정보를 저장할 수 있다. 도 4의 b에서 메모리 저장 장치(100)는 3번 사용자 블록, 8번 사용자 블록, 1번 사용자 블록 및 0번 사용자 블록 순으로 데이터를 저장할 수 있도록 제1 사용자 블록들에 대한 기록 순서 정보를 시스템 페이지(1)에 저장할 수 있다. 또한, 메모리 저장 장치(100) 이미 시스템 페이지(0)을 통해 데이터가 저장된 사용자 블록들에 대한 기록 순서 정보를 제2 사용자 블록 리스트(420)에 업데이트할 수 있다.
한편, 컨트롤러(110)는 앞으로 매핑 테이블을 기록할 예정인 맵 블록들에 대한 기록 순서 정보 역시 시스템 페이지(400)의 맵 블록 리스트(440)에 저장할 수 있다.
도 5은 본 발명의 일실시예에 따른 메모리 관리 방법을 도시한 도면이다.
단계(510)에서, 메모리 저장 장치(100)는 데이터가 기록될 복수의 사용자 블록들 중에서 앞으로 기록할 예정인 제1 사용자 블록들을 결정할 수 있다. 이때, 메모리 저장 장치(100)가 제1 사용자 블록들을 결정하는 방법에는 다양한 방법이 있을 수 있다. 예를 들어, 메모리 저장 장치(100)는 데이터가 기록될 복수의 사용자 블록들 각각의 재기록 횟수를 관리하여 가장 적은 재기록 횟수를 가지는 사용자 블록을 제1 사용자 블록으로 결정할 수 있다.
단계(520)에서, 메모리 저장 장치(100)는 결정된 제1 사용자 블록들에 대한 기록 순서 정보를 시스템 블록 내의 시스템 페이지에 저장할 수 있다. 즉, 메모리 저장 장치(100)는 시스템 페이지에 저장된 제1 사용자 블록들에 대한 기록 순서 정보를 이용하여 이후 데이터를 기록할 사용자 블록을 결정할 수 있다.
이와는 별도로 메모리 저장 장치(100)는 복수의 사용자 블록들 중에서 현재 데이터가 기록된 제2 사용자 블록들에 대한 기록 순서 정보를 시스템 블록의 시스템 페이지에 저장할 수 있다. 즉, 메모리 저장 장치(100)는 제2 사용자 블록 리스트(420)를 통해 현재까지 데이터가 기록된 사용자 블록들을 확인하는 것이 가능하다.
또한, 메모리 저장 장치(100)는 복수의 사용자 블록들 중에서 제1 사용자 블록 및 제2 사용자 블록을 제외하고 데이터가 기록될 수 있도록 비어있는 상태(Free)의 사용자 블록들을 제3 사용자 블록들로 결정할 수 있다. 제3 사용자 블록은 데이터가 기록 가능한 사용자 블록이지만, 메모리 저장 장치(100)에 의해 제1 사용자 블록으로 결정되지 않은 사용자 블록을 의미한다.
메모리 저장 장치(100)는 매핑 테이블이 기록될 복수의 맵 블록들 중에서 앞으로 기록할 예정인 맵 블록들을 결정할 수 있다. 메모리 저장 장치(100)는 결정된 맵 블록들에 대한 기록 순서 정보를 시스템 블록 내의 시스템 페이지에 저장할 수 있다. 즉, 메모리 저장 장치(100)는 시스템 페이지에 저장된 맵 블록들에 대한 기록 순서 정보를 이용하여 이후 매핑 테이블을 기록할 맵 블록을 결정할 수 있다.
단계(530)에서, 메모리 저장 장치(100)는 시스템 페이지에 저장된 제1 사용자 블록들에 대한 기록 순서 정보에 대응하여 제1 사용자 블록들 전부에 데이터가 기록되면, 캐시 메모리(120)에 저장된 제1 사용자 블록들에 대한 매핑 테이블을 맵 블록의 맵 페이지에 저장 할 수 있다. 이때, 전체 맵 테이블 중 상기 제1 사용자 블록들에 대한 매핑 테이블이 변경되었기 때문에 메모리 저장 장치(100)는 변경된 제1 사용자 블록들에 대한 매핑 테이블만 맵 블록의 맵 페이지에 저장할 수 있다.
이후 메모리 저장 장치(100)는 시스템 페이지를 새로 할당할 수 있으며, 제3 사용자 블록들 중에서 앞으로 기록할 예정인 사용자 블록들을 새로운 제1 사용자 블록으로 결정할 수 있다. 메모리 저장 장치(100)는 새로운 제1 사용자 블록들에 대한 기록 순서 정보를 시스템 블록 내의 시스템 페이지에 저장할 수 있다.
이와는 별도로 메모리 저장 장치(100)는 단계(510)에서 단계(530)을 통해 데이터가 기록된 제1 사용자 블록들에 대한 기록 순서 정보를 이용하여 새로 할당된 시스템 페이지의 제2 사용자 블록들에 대한 기록 순서 정보를 갱신할 수 있다.
도 6은 본 발명의 일실시예에 따른 메모리 복원 방법을 도시한 도면이다.
단계(610)에서, 메모리 저장 장치(100)는 복수의 맵 블록들 중에서 비정상적인 종료 직전에 사용된 맵 블록을 확인할 수 있다. 각각의 맵 블록의 첫 번째 페이지에는 해당 맵 블록이 메모리 저장 장치(100)에 의해 할당되어 사용되는 시점에서의 할당된 순서 정보가 포함될 수 있다. 또한, 각각의 맵 블록의 마지막 페이지에는 해당 맵 블록의 페이지가 모두 사용되었을 경우, 맵 블록의 삭제 여부를 확인할 수 있는 정보가 포함될 수 있다. 따라서, 메모리 저장 장치(100)는 복수의 맵 블록들의 첫 번째 페이지 및 마지막 페이지를 검색함으로써 비정상적인 종료 직전에 사용된 맵 블록을 확인할 수 있다.
단계(620)에서, 메모리 저장 장치(100)는 단계(610)에서 확인된 맵 블록의 맵 페이지에 저장된 매핑 테이블을 복원할 수 있다. 메모리 저장 장치(100)는 맵 블록의 맵 페이지에 저장된 매핑 테이블을 캐시 메모리로 전송할 수 있다. 예를 들어, 도 4의 b에 존재하는 시스템 페이지(1)에 의해 데이터가 사용자 블록에 저장하는 과정에서 비정상적인 전원 손실이 있었다고 가정하자. 메모리 저장 장치(100)는 상기 확인된 맵 블록의 맵 페이지에 저장된 매핑 테이블을 복원할 수 있다. 이때, 메모리 저장 장치(100)에 의해 캐시 메모리로 전송되는 매핑 테이블은 시스템 페이지(0)에 의해 데이터가 저장된 제1 사용자 블록들에 대한 매핑 테이블까지 저장되어 있다. 즉, 상기 확인된 맵 블록의 맵 페이지에 저장된 매핑 테이블은 아직 최신의 정보가 부족한 상황이다.
따라서, 메모리 저장 장치(100)는 비정상적인 종료 직전에 사용 중인 시스템 페이지(1)의 정보에 따라서 저장되고 있던 제1 사용자 블록들에 대한 매핑 테이블을 캐시 메모리에 업데이트함으로써 최신 상태의 매핑 테이블을 복원할 수 있다.
이를 위해, 메모리 저장 장치(100)는 단계(630)에서, 비정상적인 종료 직전에 사용된 시스템 블록을 결정할 수 있다. 이때, 메모리 저장 장치(100)는 단계(610)과 같은 방법을 이용할 수 있다. 즉, 메모리 저장 장치(100)는 복수의 시스템 블록들의 첫 번째 페이지 및 마지막 페이지를 검색함으로써 비정상적인 종료 직전에 사용된 시스템 블록을 확인할 수 있다.
단계(640)에서, 메모리 저장 장치(100)는 단계(630)에서 결정된 비정상적인 종료 직전에 사용된 시스템 블록을 이용하여 캐시 메모리에 복원된 매핑 테이블을 업데이트 할 수 있다. 구체적으로 메모리 저장 장치(100)는 비정상적인 종료 직전에 사용된 시스템 블록 중에서 마지막으로 사용된 시스템 페이지를 확인할 수 있다.
이때, 메모리 저장 장치(100)는 확인된 시스템 페이지에 저장된 제1 사용자 블록들에 대한 정보를 이용하여 비정상적인 종료 직전에 사용된 제1 사용자 블록을 결정할 수 있다. 메모리 저장 장치(100)는 상기 제1 사용자 블록들의 첫 번째 페이지 정보 및 마지막 페이지 정보를 검색함으로써 비정상적인 종료 직전에 사용된 제1 사용자 블록을 결정할 수 있다.
메모리 저장 장치(100)는 비정상적인 종료 직전에 사용된 제1 사용자 블록 정보를 이용하여 캐시 메모리에 저장된 매핑 테이블을 수정 할 수 있다. 시스템 페이지(1)에는 제1 사용자 블록들에 대한 기록 순서 정보가 저장 되어 있다. 즉, 메모리 저장 장치(100)는 시스템 페이지(1)에 저장된 제1 사용자 블록들에 대한 기록 순서 정보와 비정상적인 종료 직전에 사용된 제1 사용자 블록 정보를 이용하여 매핑 테이블을 업데이트할 수 있다. 이때, 메모리 저장 장치(100)는 제1 사용자 블록들 각각의 스페어 영역에 저장된 매핑 테이블을 캐시 메모리에 업데이트함으로써 최신 상태의 매핑 테이블을 복원할 수 있다.
따라서, 메모리 저장 장치(100)는 비정상적인 전원 손실 이후 시스템을 재부팅하는 과정에서, 제1 사용자 블록들에 대한 기록 순서 정보를 포함하는 시스템 페이지를 이용함으로써 보다 빠르게 최신 상태의 매핑 테이블을 복원할 수 있다. 이는 비정상적인 종료 직전에 사용된 사용자 블록을 찾는 과정에서 시스템 페이지에 저장된 제1 사용자 블록들에 대한 기록 순서 정보를 통해 검색해야 할 사용자 블록의 수를 줄이고, 사용자 블록들의 정렬하는 시간을 감소시킬 수 있기 때문이다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 메모리 저장 장치
110 : 컨트롤러
120 : 캐시 메모리
130 : 플래시 메모리
210 : 시스템 블록 영역
220 : 맵 블록 영역
230 : 사용자 블록 영역
300 : 사용자 블록
310 : 데이터 영역
320 : 스페어 영역
330 : 마지막 페이지
400 : 시스템 페이지
410 : 제1 사용자 블록 리스트
420 : 제2 사용자 블록 리스트
430 : 제3 사용자 블록 리스트
440 : 맵 블록 리스트

Claims (18)

  1. 사용자 블록들의 재기록 횟수에 기초하여 데이터가 기록될 복수의 사용자 블록들 중 기록할 예정인 제1 사용자 블록들을 결정하는 단계;
    상기 결정된 제1 사용자 블록들에 대한 기록 순서 정보를 시스템 블록의 시스템 페이지에 저장하는 단계; 및
    상기 기록 순서 정보에 대응하는 제1 사용자 블록들 전부에 데이터가 기록되면, 상기 제1 사용자 블록들에 대한 매핑 테이블을 맵 블록의 맵 페이지에 저장하는 단계
    를 포함하는 메모리 관리 방법.
  2. 제1항에 있어서,
    상기 복수의 사용자 블록들 중 현재 데이터가 기록된 제2 사용자 블록들에 대한 기록 순서 정보를 시스템 블록의 시스템 페이지에 저장하는 단계
    를 더 포함하는 메모리 관리 방법.
  3. 복수의 맵 블록들 중에서 비정상적인 종료 직전에 사용된 맵 블록을 확인하는 단계;
    상기 확인된 맵 블록의 맵 페이지에 저장된 매핑 테이블(mapping table)을 복원하는 단계;
    복수의 시스템 블록에서 비정상적인 종료 직전에 사용된 시스템 블록을 결정하는 단계; 및
    상기 결정된 시스템 블록의 시스템 페이지에 저장된 제1 사용자 블록들에 대한 정보를 이용하여 매핑 테이블을 업데이트하는 단계
    를 포함하는 메모리 관리 방법.
  4. 제3항에 있어서,
    상기 확인하는 단계는,
    상기 복수의 맵 블록들 각각의 첫 번째 페이지 정보 및 마지막 페이지 정보를 이용하여 비정상적인 종료 직전에 사용된 맵 블록을 확인하는 메모리 관리 방법.
  5. 제3항에 있어서,
    상기 복수의 맵 블록들 각각의 첫 번째 페이지 정보는,
    맵 블록이 할당되어 사용되는 시점에서 상기 맵 블록의 할당 순서 정보를 포함하고,
    상기 복수의 맵 블록들 각각의 마지막 페이지 정보는,
    맵 블록의 페이지가 모두 사용되면 상기 맵 블록의 삭제 여부를 확인할 수 있는 정보를 포함하는 메모리 관리 방법.
  6. 제3항에 있어서,
    상기 복원하는 단계는,
    비정상적인 종료 직전에 사용된 맵 블록의 맵 페이지에 저장된 매핑 테이블을 캐시 메모리로 전송하는 메모리 관리 방법.
  7. 제3항에 있어서,
    상기 결정하는 단계는,
    상기 복수의 시스템 블록들 각각의 첫 번째 페이지 정보 및 마지막 페이지 정보를 이용하여 비정상적인 종료 직전에 사용된 시스템 블록을 확인하는 메모리 관리 방법.
  8. 제7항에 있어서,
    상기 복수의 시스템 블록들 각각의 첫 번째 페이지 정보는,
    시스템 블록이 할당되어 사용되는 시점에서 상기 시스템 블록의 할당 순서 정보를 포함하고,
    상기 복수의 시스템 블록들 각각의 마지막 페이지 정보는,
    시스템 블록의 페이지가 모두 사용되면 상기 시스템 블록의 삭제 여부를 확인할 수 있는 정보를 포함하는 메모리 관리 방법.
  9. 제3항에 있어서,
    상기 업데이트하는 단계는,
    상기 비정상적인 종료 직전에 사용된 시스템 블록 중에서 마지막으로 사용된 시스템 페이지를 확인하는 단계;
    상기 확인된 시스템 페이지에 저장된 제1 사용자 블록들에 대한 정보를 이용하여 상기 제1 사용자 블록들의 첫 번째 페이지 및 마지막 페이지를 검색함으로써 비정상적인 종료 직전에 사용된 제1 사용자 블록을 결정하는 단계; 및
    상기 결정된 비정상적인 종료 직전에 사용된 제1 사용자 블록을 이용하여 캐시 메모리에 저장된 매핑 테이블을 수정하는 단계
    를 포함하는 메모리 관리 방법.
  10. 사용자 블록들의 재기록 횟수에 기초하여 데이터가 기록될 복수의 사용자 블록들 중 기록할 예정인 제1 사용자 블록들을 결정하고, 상기 결정된 제1 데이터 블록들에 대한 기록 순서 정보를 시스템 블록의 시스템 페이지에 저장하며, 상기 순서 정보에 대응하는 제1 사용자 블록들 전부에 데이터가 기록되면, 상기 제1 사용자 블록들에 대한 매핑 테이블을 맵 블록의 맵 페이지에 저장하는 컨트롤러
    를 포함하는 메모리 저장 장치.
  11. 제10항에 있어서,
    상기 컨트롤러는,
    상기 복수의 사용자 블록들 중 현재 데이터가 기록된 제2 사용자 블록들에 대한 순서 정보를 시스템 블록의 시스템 페이지에 더 저장하는 메모리 저장 장치.
  12. 복수의 맵 블록 중에서 비정상적인 종료 직전에 사용된 맵 블록을 확인하고, 상기 확인된 맵 블록의 맵 페이지에 저장된 매핑 테이블(mapping table)을 복원하며, 복수의 시스템 블록에서 비정상적인 종료 직전에 사용된 시스템 블록을 결정하고, 상기 결정된 시스템 블록의 시스템 페이지에 저장된 제1 사용자 블록들에 대한 정보를 이용하여 매핑 테이블을 업데이트하는 컨트롤러
    를 포함하는 메모리 저장 장치.
  13. 제12항에 있어서,
    상기 컨트롤러는,
    상기 복수의 맵 블록들 각각의 첫 번째 페이지 정보 및 마지막 페이지 정보를 이용하여 비정상적인 종료 직전에 사용된 맵 블록을 확인하는 메모리 저장 장치.
  14. 제13항에 있어서,
    상기 복수의 맵 블록들 각각의 첫 번째 페이지 정보는,
    맵 블록이 할당되어 사용되는 시점에서 상기 맵 블록의 할당 순서 정보를 포함하고,
    상기 복수의 맵 블록들 각각의 마지막 페이지 정보는,
    맵 블록의 페이지가 모두 사용되면 상기 맵 블록의 삭제 여부를 확인할 수 있는 정보를 포함하는 메모리 저장 장치.
  15. 제12항에 있어서,
    상기 컨트롤러는,
    비정상적인 종료 직전에 사용된 맵 블록의 맵 페이지에 저장된 매핑 테이블을 캐시 메모리로 전송하는 메모리 저장 장치.
  16. 제12항에 있어서,
    상기 컨트롤러는.
    상기 복수의 시스템 블록들 각각의 첫 번째 페이지 정보 및 마지막 페이지 정보를 이용하여 비정상적인 종료 직전에 사용된 시스템 블록을 확인하는 메모리 저장 장치.
  17. 제12항에 있어서,
    상기 복수의 시스템 블록들 각각의 첫 번째 페이지 정보는,
    시스템 블록이 할당되어 사용되는 시점에서 상기 시스템 블록의 할당 순서 정보를 포함하고,
    상기 복수의 시스템 블록들 각각의 마지막 페이지 정보는,
    시스템 블록의 페이지가 모두 사용되면 상기 시스템 블록의 삭제 여부를 확인할 수 있는 정보를 포함하는 메모리 저장 장치.
  18. 제12항에 있어서,
    상기 컨트롤러는,
    상기 비정상적인 종료 직전에 사용된 시스템 블록 중에서 마지막으로 사용된 시스템 페이지를 확인하고, 상기 확인된 시스템 페이지에 저장된 제1 사용자 블록들에 대한 정보를 이용하여 상기 제1 사용자 블록들의 첫 번째 페이지 및 마지막 페이지를 검색함으로써 비정상적인 종료 직전에 사용된 제1 사용자 블록을 결정하며, 상기 결정된 비정상적인 종료 직전에 사용된 제1 사용자 블록을 이용하여 캐시 메모리에 저장된 매핑 테이블을 수정하는 메모리 저장 장치.
KR1020150085378A 2015-06-16 2015-06-16 전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법 KR101676175B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150085378A KR101676175B1 (ko) 2015-06-16 2015-06-16 전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법
US15/736,607 US20180189144A1 (en) 2015-06-16 2016-06-16 Apparatus and method for memory storage to protect data-loss after power loss
PCT/KR2016/006392 WO2016204529A1 (ko) 2015-06-16 2016-06-16 전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150085378A KR101676175B1 (ko) 2015-06-16 2015-06-16 전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101676175B1 true KR101676175B1 (ko) 2016-11-14

Family

ID=57528497

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150085378A KR101676175B1 (ko) 2015-06-16 2015-06-16 전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101676175B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107402719A (zh) * 2016-11-25 2017-11-28 慧荣科技股份有限公司 可用于数据储存装置的数据储存方法与数据回复程序、以及采用这些方法的数据储存装置
US10824518B2 (en) 2017-09-20 2020-11-03 SK Hynix Inc. Memory system and operating method thereof
US11893272B2 (en) 2021-03-04 2024-02-06 Samsung Electronics Co., Ltd. Memory storage device, method for operating the storage device and method for operating a host device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080037283A (ko) * 2006-10-25 2008-04-30 삼성전자주식회사 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법
KR20110046243A (ko) * 2009-10-27 2011-05-04 삼성전자주식회사 사용자 장치 및 그것의 맵핑 데이터 관리 방법
KR20110096829A (ko) * 2010-02-23 2011-08-31 엘지전자 주식회사 반도체 메모리장치 및 그 제어방법
KR20110139956A (ko) * 2010-06-24 2011-12-30 삼성전자주식회사 맵핑 테이블을 복구하는 데이터 기억 장치 및 데이터 관리 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080037283A (ko) * 2006-10-25 2008-04-30 삼성전자주식회사 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법
KR20110046243A (ko) * 2009-10-27 2011-05-04 삼성전자주식회사 사용자 장치 및 그것의 맵핑 데이터 관리 방법
KR20110096829A (ko) * 2010-02-23 2011-08-31 엘지전자 주식회사 반도체 메모리장치 및 그 제어방법
KR20110139956A (ko) * 2010-06-24 2011-12-30 삼성전자주식회사 맵핑 테이블을 복구하는 데이터 기억 장치 및 데이터 관리 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107402719A (zh) * 2016-11-25 2017-11-28 慧荣科技股份有限公司 可用于数据储存装置的数据储存方法与数据回复程序、以及采用这些方法的数据储存装置
CN107402719B (zh) * 2016-11-25 2020-10-16 慧荣科技股份有限公司 可用于数据储存装置的数据储存方法与数据回复方法、以及采用这些方法的数据储存装置
US10824518B2 (en) 2017-09-20 2020-11-03 SK Hynix Inc. Memory system and operating method thereof
US11893272B2 (en) 2021-03-04 2024-02-06 Samsung Electronics Co., Ltd. Memory storage device, method for operating the storage device and method for operating a host device

Similar Documents

Publication Publication Date Title
US9767035B2 (en) Pass-through tape access in a disk storage environment
US9817588B2 (en) Memory device and operating method of same
CN105843551B (zh) 高性能和大容量储存重复删除中的数据完整性和损耗电阻
US8478796B2 (en) Uncorrectable error handling schemes for non-volatile memories
US9104329B2 (en) Mount-time reconciliation of data availability
KR101870521B1 (ko) 스토리지 저널링을 개선하는 방법 및 시스템
US10261704B1 (en) Linked lists in flash memory
US11106362B2 (en) Additive library for data structures in a flash memory
KR101933766B1 (ko) 플래시 메모리 플러싱을 개선하는 방법 및 시스템
US20110320689A1 (en) Data Storage Devices and Data Management Methods for Processing Mapping Tables
US20180189144A1 (en) Apparatus and method for memory storage to protect data-loss after power loss
US10817624B2 (en) Memory system and storage device capable of permanently deleting data stored in a non-volatile memory
US20230244382A1 (en) Deallocated Block Determination
CN103559139A (zh) 一种数据存储方法及装置
KR101676175B1 (ko) 전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법
US10942811B2 (en) Data processing method for solid state drive
KR100954603B1 (ko) 파일 시스템의 로그 파일 및 상기 파일 시스템의 오류 복구방법
JP6988445B2 (ja) ストレージシステム、制御装置及び制御方法
US9760485B2 (en) Fast write and management of persistent cache in a system that includes tertiary storage
CN103389943A (zh) 控制装置、存储装置及存储控制方法
KR101608623B1 (ko) 전원 손실 이후 효과적인 데이터 복구를 위한 메모리 복구 장치 및 방법
US12039193B2 (en) Apparatus, method and computer program for managing memory page updates within non-volatile memory
US20220164135A1 (en) Apparatus, method and computer program for managing memory page updates within non-volatile memory
US10817215B2 (en) Data storage system and control method for non-volatile memory
US10740015B2 (en) Optimized management of file system metadata within solid state storage devices (SSDs)

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190905

Year of fee payment: 4