KR20100097960A - 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법 - Google Patents

메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법 Download PDF

Info

Publication number
KR20100097960A
KR20100097960A KR1020090016867A KR20090016867A KR20100097960A KR 20100097960 A KR20100097960 A KR 20100097960A KR 1020090016867 A KR1020090016867 A KR 1020090016867A KR 20090016867 A KR20090016867 A KR 20090016867A KR 20100097960 A KR20100097960 A KR 20100097960A
Authority
KR
South Korea
Prior art keywords
data
memory
block
input data
stored
Prior art date
Application number
KR1020090016867A
Other languages
English (en)
Other versions
KR101581859B1 (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 KR1020090016867A priority Critical patent/KR101581859B1/ko
Priority to US12/654,393 priority patent/US8688895B2/en
Publication of KR20100097960A publication Critical patent/KR20100097960A/ko
Application granted granted Critical
Publication of KR101581859B1 publication Critical patent/KR101581859B1/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/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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

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)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 실시 예에 따른, 플래시 변환 계층의 데이터 관리 방법은, 입력 데이터의 크기를 판별하는 단계, 및 상기 판별 결과로써 상기 입력 데이터의 크기가 쓰기 단위이면 로그 블록에 저장하고, 상기 입력 데이터의 크기가 상기 쓰기 단위보다 작으면 파샬 블록에 저장하는 단계를 포함하되, 상기 로그 블록은 동일한 주소의 데이터가 저장되는 임시 블록이고, 상기 파샬 블록은 주소에 상관없이 데이터가 저장되는 임시 블록이다.
본 발명의 실시 예에 따른 메모리 시스템은, 비휘발성 메모리, 및 상기 비휘발성 메모리를 제어하는 메모리 제어기를 포함하되, 상기 메모리 제어기는 쓰기 단위보다 작은 입력 데이터는 주소가 동일하지 않더라도 어느 하나의 메모리 블록에 임시로 저장한다.
플래시 변환 계층, 데이터, 크기, 머지

Description

메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법{MEMORY SYSTEM AND DATA MANAGING METHOD OF FLASH TRANSLATION LAYER THEROF}
본 발명은 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법에 관한 것이다.
일반적으로 메모리 시스템은 데이터를 저장하기 위한 메모리 장치와 메모리 장치의 동작을 제어하기 위한 호스트를 포함한다. 메모리 장치는 DRAM, SRAM 등과 같은 휘발성 메모리와 EEPROM, FRAM, PRAM, MRAM, Flash Memory 등과 같은 비휘발성 메모리로 분류된다.
휘발성 메모리는 전원이 차단될 때 저장된 데이터를 잃지만, 비휘발성 메모리는 전원이 차단되더라도 저장된 데이터를 보존한다. 비휘발성 메모리 중에서 플래시 메모리는 높은 프로그래밍 속도, 낮은 전력 소비, 대용량 데이터 저장 등의 장점 때문에 데이터 저장 매체로 광범위하게 사용되고 있다.
고집적화가 요구되는 메모리 장치는 제조 공정이 가지는 다수의 제약 요건에 의해 불량을 유발한다. 메모리 장치의 고집적화에 따른 수율의 저하 및 불량을 개선하기 위한 여러 시도들이 진행되고 있다. 그러나 메모리 장치가 메모리 시스템 내에 장착이 되어 사용 중에 있으면, 사용자 입장에서는 메모리 장치의 불량을 판단하기가 쉽지 않다.
플래시 메모리 카드 혹은 SSD(Solid State Disk)와 같은 대용량의 저장 장치는 일반적으로 복수의 플래시 메모리 칩들을 포함하는 구조이다. 이때, 일부 플래시 메모리 칩에서 프로그램/소거 폐일 등에 의해 배드 블록의 수가 급격히 증가되어 미리 예약해 둔 대체용 블록을 모두 소진하고 나면, 더 이상의 서비스가 불가능하게 된다.
반도체 메모리 장치는 데이터를 저장해 두고 필요할 때 읽어볼 수 있는 기억장치이다. 반도체 메모리 장치는 크게 램(Random Access Memory: RAM)과 롬(Read Only Memory: ROM)으로 나뉠 수 있다. 램에 저장된 데이터는 전원 공급이 중단되면 소멸된다. 이러한 타입의 메모리를 휘발성(volatile) 메모리라고 한다. 반면에, 롬에 저장된 데이터는 전원 공급이 중단되더라도 소멸되지 않는다. 이러한 타입의 메모리를 비휘발성(nonvolatile) 메모리라고 한다.
비휘발성 메모리 장치의 일종으로 플래시(flash) 메모리 장치가 있다. 최근 디지털 카메라, MP3 플레이어, 핸드폰, PDA 등과 같은 휴대용 전자 장치가 많이 사용되고 있다. 이러한 휴대용 전자 장치에는 플래시 메모리가 주로 사용되고 있다. 이는 플래시 메모리가 저전력 및 고집적 등의 특성을 갖는 비휘발성 소자이기 때문이다. 플래시 메모리는 휴대용 전자 장치에 사용되기 때문에 플래시 메모리의 신뢰성 및 수명은 휴대용 전자 장치의 신뢰성 및 수명과 밀접한 관계를 가진다. 따라서, 플래시 메모리의 신뢰성 및 수명을 향상시키는 것이 중요하다.
반도체 메모리 장치(semiconductor memory device)는 데이터를 저장해 두고 필요할 때 꺼내어 읽어볼 수 있는 기억장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile memory device)와 비휘발성 메모리 장치(Nonvolatile mmory device)로 구분된다.
휘발성 메모리 장치는 전원 공급이 차단되면 저장하고 있던 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리 장치에는 SRAM, DRAM, SDRAM 등이 있다. 비휘발성 메모리 장치는 전원 공급이 차단되어도 저장하고 있던 데이터가 소멸하지 않는 메모리 장치이다. 비휘발성 메모리 장치에는 ROM, PROM, EPROM, EEPROM, 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등이 있다. 플래시 메모리 장치는 크게 노어 타입과 낸드 타입으로 구분된다.
근래에, 반도체 메모리 장치를 이용한 반도체 디스크 장치가 개발되고 있다. 반도체 디스크 장치는 신뢰성 및 속도 측면에서 회전식 디스크를 이용하는 하드 디스크보다 우수하다. 따라서, 하드 디스크를 대신하여 반도체 디스크 장치를 저장 장치로 사용하는 컴퓨팅 시스템이 개발되고 있다.
본 발명의 목적은 타임 아웃을 회피하면서 전체적인 쓰기 성능이 향상된 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법을 제공하는데 있다.
본 발명의 목적은 쓰기 동작시 머지 동작의 회수를 줄일 수 있는 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른, 플래시 변환 계층의 데이터 관리 방법은, 입력 데이터의 크기를 판별하는 단계, 및 상기 판별 결과로써 상기 입력 데이터의 크기가 쓰기 단위이면 로그 블록에 저장하고, 상기 입력 데이터의 크기가 상기 쓰기 단위보다 작으면 파샬 블록에 저장하는 단계를 포함하되, 상기 로그 블록은 동일한 주소의 데이터가 저장되는 임시 블록이고, 상기 파샬 블록은 주소에 상관없이 데이터가 저장되는 임시 블록이다.
실시 예에 있어서, 상기 로그 블록이 존재하지 않을 경우에, 상기 로그 블록과 데이터 블록 사이에 머지 동작이 수행된다.
실시 예에 있어서, 상기 파샬 블록에 일정량의 데이터가 저장될 경우에는, 상기 파샬 블록과 데이터 블록 사이에 머지 동작이 수행된다.
실시 예에 있어서, 상기 로그 블록의 머지 동작이 수행되지 않을 때, 상기 파샬 블록의 머지 동작이 수행된다.
실시 예에 있어서, 상기 머지 동작은 점진적 머지 동작이고, 상기 점진적 머지 동작은 새로운 파샬 블록에 데이터가 적어도 한번 이상 저장될 때마다 수행된다.
실시 예에 있어서, 상기 점진적 머지 동작의 수행 회수는 쓰기 타임 아웃 시간을 고려하여 결정된다.
실시 예에 있어서, 상기 입력 데이터의 크기가 상기 쓰기 단위보다 작을 경우에는 상기 입력 데이터는 제 1 맵핑 테이블에 따라 관리되고, 상기 입력 데이터 의 크기가 상기 쓰기 단위일 때에는 상기 입력 데이터는 제 2 맵핑 테이블에 따라 관리된다.
실시 예에 있어서, 상기 제 1 맵핑 테이블 및 상기 제 2 맵핑 테이블은 물리적으로 서로 다른 비휘발성 메모리에 저장된다.
본 발명의 실시 예에 따른 메모리 시스템은, 비휘발성 메모리, 및 상기 비휘발성 메모리를 제어하는 메모리 제어기를 포함하되, 상기 메모리 제어기는 쓰기 단위보다 작은 입력 데이터는 주소가 동일하지 않더라도 어느 하나의 메모리 블록에 임시로 저장한다.
실시 예에 있어서, 상기 어느 하나의 메모리 블록이 일정량 이상 채워질 경우에는, 타임 아웃을 회피하면서 점진적 머지 동작이 수행된다.
상술한 바와 같이 본 발명에 따른 메모리 시스템은 쓰기 동작시 입력 데이터의 크기에 따라 서로 다른 방법으로 입력 데이터를 관리할 것이다. 특히, 크기가 작은 입력 데이터는 주소에 상관없이 하나의 메모리 블록에 저장하도록 구현될 것이다. 이로써, 본 발명의 메모리 시스템은 머지 동작 회수를 줄일 수 있게 된다. 그 결과로써, 메모리 시스템의 전체적인 쓰기 성능이 향상될 것이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시 예를 첨부된 도면을 참조하여 설명할 것이다.
본 발명에 따른 메모리 시스템은 입력 데이터의 크기에 따라 데이터 관리를 방법을 다르게 함으로써 최소 성능을 보장하는 플래시 변환 계층을 포함할 것이다. 특히, 쓰기 동작시 크기가 작은 데이터는 주소에 상관없이 하나의 메모리 블록에 임시로 저장시켜 관리하도록 구현될 것이다. 이로써, 쓰기 동작시 크기가 작은 데이터, 예를 들어, 파일 시스템 데이터의 입력으로 말미암아 발생할 수 있는 머지 동작의 수행 회수가 줄어들게 된다. 그 결과로써, 본 발명의 메모리 시스템은 종래의 그것보다 쓰기 동작 성능이 향상될 것이다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템의 하드웨어 구조를 보여주는 블록도이다. 도 1을 참조하면, 본 발명의 메모리 시스템(100)은 중앙처리장치(110), 램(120), 메모리 제어기(130), 및 플래시 메모리(140)를 포함할 것이다. 본 발명의 메모리 제어기(130)는 쓰기 동작시 입력 데이터의 크기에 따라 서로 다른 방법으로 관리되도록 구현될 것이다. 예를 들어, 입력 데이터의 크기가 소정의 쓰기 단위(예를 들어, 페이지)일 때에는 제 1 맵핑 테이블에 따라 관리되고, 입력 데이터의 크기가 소정의 쓰기 단위(페이지) 보다 작을 때에는 제 2 맵핑 테이블에 따라 관리될 것이다. 이러한 관리 방법에 대한 자세한 설명은 도 3 및 도 4에서 하도록 하겠다.
도 1에 도시된, 메모리 시스템(100)은 플래시 메모리를 갖는 시스템이다. 그러나 본 발명의 메모리 시스템이 반드시 플래시 메모리를 갖는 시스템에 한정될 필요는 없다. 본 발명의 메모리 시스템은 다양한 비휘발성 메모리(예를 들어, NAND FLASH, NOR FLASH, MRAM, PRAM, FRAM 등)를 갖는 시스템에 적용가능하다. 본 발명 의 메모리 시스템은 입력 데이터의 크기에 따라 서로 다른 방법으로 데이터를 관리할 수 있는 어떠한 시스템에도 적용가능하다.
중앙처리장치(110)는 메모리 시스템(100)의 전반적인 동작을 제어할 것이다.
램(120)은 메모리 시스템(100)의 작업시 필요한 데이터를 임시로 저장하는데 이용될 것이다. 이러한 램(120)은 휘발성 메모리로써, 디램(DRAM), 에스램(SRAM) 등이 사용될 수 있을 것이다. 본 발명의 메모리 시스템(100)은 전원 공급 중단이 예상될 때 램(120)에 저장된 데이터를 플래시 메모리(140)에 저장되도록 구현될 수 있을 것이다. 본 발명의 메모리 시스템(100)에서는 램(120)을 사용하여, 임시 데이터를 저장하였다. 그러나 본 발명의 메모리 시스템은 임시 데이터를 저장하기 위하여 램을 사용할 필요는 없다. 본 발명의 메모리 시스템은 램을 대신하여 피램(PRAM)을 사용할 수도 있을 것이다.
메모리 제어기(130)는 호스트(도시되지 않음)의 읽기/쓰기 요청에 따라 플래시 메모리(140)를 제어할 것이다. 또한, 메모리 제어기(130)는 비휘발성 메모리(140)의 에러 정정을 위한 ECC 엔진을 장착할 수도 있다.
메모리 제어기(130)는 쓰기 요청시 입력 데이터의 크기를 소정의 값(예를 들어, 쓰기 단위)과 비교하고, 비교 결과에 따라 로그 블록에 저장할지 혹은 파샬 블록에 저장할지를 결정할 것이다. 여기서, 로그 블록은 소정의 값의 크기를 갖는 입력 데이터가 임시로 저장되는 메모리 블록이다. 로그 블록에는 동일한 주소의 데이터가 저장될 것이다. 한편, 파샬 블록은 논리 주소와 상관없이 소정의 값 미만의 크기를 갖는 입력 데이터가 순차적으로 임시로 저장되는 메모리 블록이다. 아래에 서는 설명의 편의를 위하여, 소정의 값인 크기를 갖는 데이터를 전체 페이지 데이터라고 하고, 소정의 값 미만의 크기를 갖는 데이터를 부분 페이지 데이터라고 하겠다.
메모리 제어기(130)는 로그 블록에 저장된 데이터를 관리하는 제 1 맵핑 테이블과 파샬 블록에 저장된 데이터를 관리하는 제 2 맵핑 테이블에 따라 입력 데이터를 관리할 것이다. 여기서 제 1 맵핑 테이블 및 제 2 맵핑 테이블은 플래시 메모리(140)의 메타 영역(도시되지 않음)에 저장될 것이다. 이러한 제 1 맵핑 테이블 및 제 2 맵핑 테이블은 메모리 시스템(100)의 초기화 동작시 램(120)으로 로딩될 것이다.
플래시 메모리(140)는 플래시 메모리(140)를 관리하는 데 필요한 관리 정보(예를 들어, 제 1 및 제 2 맵핑 테이블)를 저장하는 메타 영역(도시되지 않음), 및 사용자 데이터를 저장하는 데이터 영역을 포함할 것이다. 도 1에 도시된 플래시 메모리는 하나이다. 그러나 본 발명의 플래시 메모리가 반드시 하나로 구성될 필요는 없다. 본 발명의 플래시 메모리는 적어도 하나 이상의 플래시 메모리이면 될 것이다.
일반적으로 쓰기 요청시 크기가 작은 파일 시스템 데이터 및 사용자 데이터가 임의의 순서로 전송된다. 그런데 일반적인 메모리 시스템에서는 시스템 데이터(부분 페이지 데이터) 및 사용자 데이터를 모두 로그 블록에 저장하였다. 로그 블록은 동일한 주소의 데이터만 저장하도록 구현되기 때문에, 주소가 다른 복수의 시스템 데이터에 의해 한정된 로그 블록이 빨리 소진될 것이다. 이에, 로그 블록의 머지 연산 회수가 늘어나게 된다. 이러한 점은 곧 쓰기 동작 성능의 저하로 이어지고 있다.
반면에, 본 발명의 메모리 시스템(100)에서는 파일 시스템 데이터, 즉, 부분 페이지 데이터는 파샬 블록에 별도로 저장하고, 크기가 큰 전체 페이지 데이터는 로그 블록에 저장하며, 파샬 블록과 로그 블록을 각각 별도로 관리할 것이다. 특히, 부분 페이지 데이터는 주소에 상관없이 하나의 파샬 블록에 저장되도록 구현될 것이다. 이 경우, 사용자 데이터의 쓰기 동작시 머지 연산 없이 쓰기 작업이 완료될 수도 있다. 왜냐하면, 파샬 블록에는 논리 주소에 상관없이 부분 페이지 데이터를 순차적으로 저장되기 때문이다. 이로써, 본 발명의 메모리 시스템(100)은 전체적인 쓰기 동작 성능이 향상될 것이다.
도 2는 본 발명의 실시 예에 따른 메모리 시스템의 소프트웨어 구조를 보여주는 블록도이다. 도 2를 참조하면, 플래시 변환 계층(FTL)은 파일 시스템으로부터 전달받은 논리 주소 및 개수를 파라미터로 하여 플래시 메모리의 읽기/쓰기 동작을 위한 주소 변환 과정을 수행할 것이다. 파일 시스템으로부터 전달받은 주소 등은 호스트(도시되지 않음)로부터 요청될 것이다. 본 발명의 플래시 변환 계층은 입력 데이터의 크기에 따라 데이터 관리 정책을 다르게 함으로써 최소 성능을 보장하도록 구현될 것이다.
도 2를 다시 참조하면, 플래시 변환 계층(FTL)은 크게 주소 변환 계층(Address Translation Layer), 가상 플래시 계층(Virtual Flash Layer), 및 플래시 인터페이스 계층(Flash Interface Layer)로 구분될 것이다.
주소 변환 계층은 파일 시스템으로부터 전송된 논리 주소를 논리 페이지 주소(Logical Page Address)로 변환할 것이다. 주소 변환 계층은 호스트에서 전송된 논리 주소에 대하여 플래시 메모리의 논리 페이지 주소가 맵핑되는 맵핑 정보에 의거하여 주소 변환 과정을 수행할 것이다. 이러한 맵핑 정보는 플래시 메모리의 메타 영역에 저장될 것이다. 본 발명에서는 주소 맵핑 방법으로 혼합 맵핑 방법(hybrid mapping method)이 적용될 것이다.
혼합 맵핑 방법은 페이지 맵핑 방법과 블록 맵핑 방법을 절충한 맵핑 방법이다. 여기서 페이지 맵핑 방법은 페이지 단위로 주소 맵핑 동작을 수행하고, 블록 맵핑 방법은 메모리 블록 단위로 주소 맵핑 동작을 수행한다. 혼합 맵핑 방법은 맵핑 테이블의 사이즈를 작게 하면서 머지 연산을 줄이기 위해 적용될 것이다.
본 발명의 주소 변환 계층에서는 제 1 맵핑 테이블에 따라 전체 페이지 데이터가 관리되고, 제 2 맵핑 테이블에 따라 부분 페이지 데이터가 관리될 것이다.
파일 시스템으로부터 입력 데이터의 크기가 소정의 값(예를 들어, 페이지)일 때, 제 1 맵핑 테이블에 따라 입력 데이터는 로그 블록에 저장될 것이다. 이때, 로그 브록에 저장되는 전체 페이지 데이터는 파일 시스템으로부터 전달되는 주소에 따라 다르게 저장될 것이다. 예를 들어, 동일한 주소의 전체 페이지 데이터는 하나의 물리적 로그 블록에 저장되고, 서로 다른 주소가 전체 페이지 데이터는 서로 다른 물리적 로그 블록에 저장될 것이다. 한편, 전체 페이지 데이터를 쓸 로그 블록이 존재하지 않을 경우, 데이터 블록과 로그 블록 사이에 머지 동작을 수행할 것이다.
반면에, 파일 시스템으로부터 입력 데이터의 크기가 소정의 값 미만일 때, 제 2 맵핑 테이블에 따라 입력 데이터는 파샬 블록에 저장될 것이다. 이때, 파샬 블록에 저장되는 부분 페이지 데이터는 파일 시스템으로부터 전달되는 논리 주소에 상관없이 동일한 파샬 블록에 순차적으로 저장될 것이다. 한편, 파샬 블록에 저장된 데이터가 일정 수준 이상 저장된 경우에는, 데이터 블록과 파샬 블록 사이에 점진적 머지(incermental merge) 동작을 수행할 것이다.
또한, 본 발명의 어드레스 변환 계층에서는 복수의 논리 주소 데이터가 하나의 메모리 블록에서 관리되도록 구현될 것이다.
본 발명의 어드레스 변환 계층에 따르면, 입력 데이터의 크기에 따라 서로 다른 관리 정책으로 데이터가 관리될 것이다. 특히, 부분 페이지 데이터는 파일 시스템에서 전송되는 주소에 상관없이 파샬 블록에 순차적으로 저장되도록 구현될 것이다. 이로써, 쓰기 동작시 데이터 크기가 작은 부분 페이지 데이터로 인하여 발생될 수 있는 머지 연산 회수를 줄일 수 있게 된다. 그 결과, 메모리 시스템의 쓰기 동작 성능이 향상될 것이다.
가상 플래시 계층은 주소 변환 계층으로부터 변환된 논리 페이지 주소(LPA)을 가상 페이지 주소(Virtual Page Address:VPA)로 변환할 것이다. 여기서 가상 페이지 주소(VPA)는 가상의 플래시 메모리의 물리적 주소에 대응할 것이다. 가상의 플래시 메모리에는 플래시 메모리의 배드 블록 처리 과정을 완료함으로써 배드 블록이 존재하지 않는다. 즉, 가상 페이지 주소는 배드 블록을 제외한 플래시 메모리의 물리적 블록에 대응할 것이다.
가상 플래시 계층은 도 1에 도시된 메모리 제어기(130)에서 수행되는 주소 변환 계층 및 기타의 인터페이싱 동작시 소거 연산이 필요한 플래시 메모리를 대신하여 플래시 제어기 상에서 이루어지는 제어 동작을 담당할 것이다.
플래시 인터페이스 계층은 가상 플래시 계층의 가상 페이지 주소(Virtual Page Address)을 플래시 메모리의 물리 페이지 주소(Physical Page Address)로 변환할 것이다. 플래시 인터페이스 계층은 플래시 메모리와의 인터페이싱 동작을 수행하는 위한 로우 레벨 동작을 수행할 것이다. 예를 들어, 플래시 메모리의 하드웨어를 제어하기 위한 로우 레벨 드라이버, 플래시 메모리로부터 읽혀진 데이터의 에러를 정정하기 위한 에러 정정코드(Error Correction Code: ECC) 및 오류 블록 관리 모듈(Bad Block Management :BBM) 등이 플래시 인터페이스 계층에 포함될 것이다.
본 발명에 따른 플래시 변환 계층은 파일 시스템으로부터 입력 데이터의 크기에 따라 분류하고, 분류된 데이터에 따라 별도로 관리하도록 구현될 것이다. 이로써, 파일 시스템으로부터 전송되는 주소가 서로 다른 부분 페이지 데이터가 전송되더라도, 즉, 빈번하게 파일 시스템 데이터가 전송되더라도, 쓰기 동작시 로그 블록에서 발생되는 머지 연산 회수가 줄어들게 될 것이다.
도 2에 도시된 플래시 변환 계층은 상술 된 가상 플래시 계층을 포함하고 있다. 하지만, 본 발명의 플래시 변환 계층은 이러한 가상 플래시 계층을 포함하지 않도록 구현될 수도 있다.
도 3은 본 발명의 실시 예에 따른 메모리 시스템의 데이터 저장 방법을 보여 주는 흐름도이다. 도 1 및 도 3을 참조하면, 데이터 저장 방법은 다음과 같다.
호스트의 쓰기 요청에 따라 데이터가 입력될 것이다(S110). 메모리 제어기(130)는 입력 데이터가 부분 페이지 데이터인지 판별할 것이다(S120). 여기서 입력 데이터가 부분 페이지 데이터인지의 판별은, 호스트로부터 전송되는 입력 데이터의 크기 정보를 이용하여 결정되거나 혹은 호스트로부터 전송되는 스탑 커맨드(stop command)의 유무에 따라 결정될 것이다. 스탑 커맨드는 전송되는 데이터가 소정의 값 이상일 때마다 호스트로부터 주기적으로 전송되는 명령이다.
만약, 입력 데이터가 부분 페이지 데이터이면, 입력 데이터는 제 2 맵핑 테이블에 따라 파샬 블록에 저장될 것이다(S130). 만약, 입력 데이터가 부분 페이지 데이터가 아니라면, 입력 데이터는 제 1 맵핑 테이블에 따라 로그 블록에 저장될 것이다(S140).
본 발명에서는 부분 페이지 데이터가 저장되는 메모리 블록과 전체 페이지 데이터가 저장되는 메모리 블록이 하나의 플래시 메모리에 포함될 것이다. 하지만, 본 발명이 반드시 여기에 국한될 필요는 없다. 본 발명의 메모리 시스템은 복수의 플래시 메모리들을 포함하되, 부분 페이지 데이터가 저장되는 플래시 메모리와 전체 페이지 데이터가 저장되는 플래시 메모리가 물리적으로 구분될 수도 있다.
도 4는 본 발명의 파샬 블록 머지 알고리즘을 설명하기 위해 16개의 논리 주소의 데이터가 쓰기 동작을 요청하였을 때 실행되는 점진적 머지 동작을 설명한 도면이다. 도 4를 참조하면, 16개의 논리 주소에 해당하는 부분 페이지 데이터가 들어올 경우, 부분 페이지 데이터는 하나의 물리적 메모리 블록(PB0)에 저장되고, 메 모리 블록(PB0)를 모두 사용한 경우에는 파샬 블록 머지를 위해 점진적 머지 동작이 수행될 것이다.
본 발명의 메모리 시스템에서는 부분 페이지 데이터를 저장할 경우에 전체 페이지 데이터와 구분된 새로운 메모리 블록(파샬 블록)에 저장함으로 효율적으로 머지 동작을 수행할 수 있다.
도 4에 도시된 바와 같이, 16개의 논리 주소를 갖는 부분 페이지 데이터는 하나의 물리적 메모리 블록(PB0)에 저장에 저장될 것이다. 만일, 부분 페이지 데이터를 저장하는 메모리 블록(PB0)을 모두 사용할 경우에는, 점진적 머지 동작이 수행될 것이다.
여기서 점진적 머지 동작의 수행 회수는, 하나의 물리적 메모리 블록을 전체 머지하는 시간을 유추하고, 유추된 전체 머지 시간을 최소 성능 보장 시간으로 나누어 결정될 것이다. 전체 머지하는 시간은 플래시 메모리의 프로그램 시간, 읽기 시간, 블록당 페이지 개수 등을 고려하여 유추될 것이다. 여기서 최소 성능 보장 시간은 쓰기 시간의 타임 아웃을 회피하는 시간이다.
예를 들어, 점진적 머지 동작의 수행 회수가 4일 때, 부분 페이지 데이터가 하나의 메모리 블록(PB0)을 채운 후에 또 다른 메모리 블록(PB1)에 한 개의 페이지를 저장할 때마다 점진적 머지 동작이 수행될 것이다. 따라서 총 4개의 페이지가 저장될 때 논리 주소(0)의 블록의 머지 동작이 완료될 것이다.
그 다음 4개의 페이지가 메모리 블록(PB1)에 저장되면, 논리 주소(1)의 머지 동작이 완료될 것이다. 만일, 소정의 개수의 메모리 블록 확보가 가능하다면, 소정 개수의 메모리 블록 안에서 부분 페이지 데이터 머지 동작을 수행하면서 최소 성능이 보장될 수 있다.
도 4에 도시된 점진적 머지 동작은 부분 페이지 데이터가 하나의 메모리 블록(PB0)을 채운 후에 메모리 블록(PB1)에 한 개의 페이지가 저장될 때마다 수행되었다. 그러나 본 발명의 점진적 머지 동작이 반드시 여기에 국한될 필요는 없다. 본 발명의 점진적 머지 동작은 부분 페이지 데이터가 하나의 메모리 블록(PB0)을 채운 후에 메모리 블록(PB1)에 적어도 하나의 페이지가 저장될 때마다 수행될 수 있다. 한편, 도 4에 도시된 쓰기 단위는 슈퍼 페이지(super page)이다. 여기서 슈퍼 페이지는 플레인 단위로 쓰기 동작을 수행하기 위한 데이터 크기이다.
도 4에서 쓰기 동작시 16개의 논리 주소를 사용한다(로그 블록의 개수가 16개이다)는 것은 점진적 머지 방법을 설명하기 위한 실시 예일 뿐이다. 본 발명은 메타 블록 크기를 고려하여 쓰기 동작시 다양한 개수의 논리 주소가 사용되도록 가변될 수있다.
본 발명에 따른 메모리 시스템은 호스트로부터 전송되는 입력 데이터의 형식에 따라 다양하게 구현가능하다. 예를 들어, 본 발명의 메모리 시스템은 데이터의 크기 정보가 입력 데이터의 전단에 위치하느냐 혹은 입력 데이터의 후단에 위치하느냐에 따라 다르게 구현될 것이다.
도 5는 입력 데이터의 전단에 크기 정보가 위치하는 경우 본 발명의 메모리 시스템(200)을 보여주는 도면이다. 도 5를 참조하면, 메모리 시스템(200)은 플래시 메모리(220) 및 그것을 제어하는 메모리 제어기(240)를 포함할 것이다. 본 발명의 메모리 제어기(240)는 입력 데이터의 전단에 위치한 크기 정보를 통하여 입력 데이터를 파샬 블록에 저장할지 혹은 로그 블록에 저장할지를 결정할 것이다. 메모리 제어기(240)는 파샬 블록에 저장된 데이터와 로그 블록에 저장될 데이터를 각각 서로 다른 방법으로 관리할 것이다.
도 6은 입력 데이터의 후단에 크기 정보가 위치하는 경우 본 발명의 메모리 시스템(300)을 보여주는 도면이다. 도 6을 참조하면, 메모리 시스템(300)은 플래시 메모리(320) 및 그것을 제어하는 메모리 제어기(340)를 포함할 것이다. 본 발명의 메모리 제어기(340)는 스탑 커맨드의 전송 여부에 따라 입력 데이터를 파샬 블록에 저장할지 혹은 로그 블록에 저장할지를 결정할 것이다. 여기서 스탑 커맨드는 호스트로부터 전송되며, 전송되는 입력 데이터의 크기가 소정의 값(예를 들어, 페이지) 이상일 때마다 전송될 것이다.
도 7은 본 발명에 따른 또 다른 메모리 시스템을 보여주는 블록도이다. 도 7을 참조하면, 메모리 시스템(400)은 복수의 낸드 플래시 메모리들(421~424) 및 낸드 플래시 메모리를 제어하는 메모리 제어기(440)를 포함할 것이다. 본 발명의 메모리 제어기(440)는 도 1에 도시된 메모리 제어기(130)와 동일한 기능을 수행할 것이다.
제 1 낸드 플래시 메모리(421)은 부분 페이지 데이터를 관리하기 위한 맵핑 테이블 및 부분 페이지 데이터가 저장될 것이다. 한편, 제 2 내지 제 4 낸드 플래시 메모리들(422~424) 중 적어도 하나는 전체 페이지 데이터를 관리하기 위한 맵핑 테이블 및 전체 페이지 데이터가 저장될 것이다.
도 7에 도시된 낸드 플래시 메모리는 4개이지만, 본 발명의 메모리 시스템이 반드시 여기에 국한될 필요는 없다. 본 발명의 메모리 시스템은 적어도 2개 이상의 낸드 플래시 메모리들을 포함하되, 부분 페이지 데이터를 관리하기 위한 맵핑 테이블을 저장하는 낸드 플래시 메모리와 전체 페이지 데이터를 관리하기 위한 맵핑 테이블을 저장하는 적어도 하나의 낸드 플래시 메모리가 포함될 것이다.
도 1 내지 도 7에 상술된 메모리 시스템에서는 데이터의 크기에 따라 서로 다른 두개의 방법으로 데이터를 관리하도록 기술되었다. 그러나 본 발명의 메모리 시스템이 반드시 여기에 국한될 필요는 없다. 본 발명의 메모리 시스템은 데이터의 크기에 따라 적어도 두개 이상의 방법으로 데이터를 관리하도록 구현될 수도 있다. 즉, 적어도 2개 이상의 데이터 관리 방법들 중 어느 하나가 입력 데이터의 크기에 대응하는 관리 방법으로 선택됨으로써, 데이터 관리가 수행될 것이다.
본 발명의 메모리 시스템은 메모리 카드에도 적용 가능하다.
도 8은 본 발명의 실시 예에 따른 메모리 카드를 보여주는 블록도이다. 도 8를 참조하면, 메모리 카드(500)는 데이터를 저장하는 플래시 메모리(520) 및 플래시 메모리를 제어하는 메모리 제어기(540)를 포함할 것이다. 본 발명의 메모리 제어기(540)는 입력 데이터의 크기에 따라 서로 다른 방법으로 데이터가 관리되도록 구현될 것이다.
본 발명의 메모리 카드(500)는 SD(Secure Digital) 카드, MMC(Multi Media Card), xD(eXtereme Digital) 카드, CF(Compact Flash) 카드, SM(Smart Media) 카드, 메모리 스틱 등에 사용될 수 있을 것이다.
본 발명의 메모리 시스템은 SSD에 적용가능하다.
도 9은 본 발명에 따른 SSD 메모리 시스템(600)을 보여주는 도면이다. 도 9를 참조하면, SSD 메모리 시스템(600)은 SSD 제어기(650)와 플래시 메모리들(660)을 포함할 것이다. SSD 제어기(650)는, 도 1에 도시된 플래시 제어기(130)의 기능을 갖고, 도 1 내지 도 8에 상술된 바와 같이 쓰기 동작시 데이터의 크기에 따라 서로 다른 방법으로 관리될 것이다.
다시 도 9를 참조하면, 프로세서(610)는 호스트로부터 명령어를 전달받아 호스트로부터의 데이터를 플래시 메모리에 저장할지 혹은 플래시 메모리의 저장 데이터를 읽어 호스트로 전송할 지의 여부를 결정하고 제어할 것이다.
ATA 호스트 인터페이스(620)는 상술한 프로세서(610)의 제어에 따라 호스트 측과 데이터를 교환할 것이다. ATA 호스트 인터페이스(620)는 호스트측으로부터 명령어 및 주소를 패치하여 CPU 버스를 통해서 프로세서(610)로 전달할 것이다. 여기서 ATA 호스트 인터페이스(620)는 SATA 인터페이스, PATA 인터페이스, 및 ESATA(External SATA) 인터페이스 등 중에서 어느 하나일 것이다.
ATA 호스트 인터페이스(620)를 통해 호스트로부터 입력 데이터나 호스트로 전송되어야 할 데이터는 프로세서(610)의 제어에 따라 CPU 버스를 경유하지 않고 캐시 버퍼 램(640)를 통해 전달될 것이다.
램(630)은 플래시 메모리 시스템(600)의 동작에 필요한 데이터를 임시로 저장하는데 이용될 것이다. 이러한 램(630)는 휘발성 메모리 장치로써, DRAM, SRAM 등이 될 수 있다.
캐시 버퍼 램(640)는 호스트와 플래시 메모리들(660) 간의 이동 데이터를 일시 저장할 것이다. 또한 캐시 버퍼 램(640)는 프로세서(610)에 의해서 운용될 프로그램을 저장하는 데에도 사용될 것이다. 캐시 버퍼 램(640)는 일종의 버퍼 메모리로 간주할 수 있으며, SRAM으로 구현될 수 있다.
SSD 제어기(650)는 저장 장치로 사용되는 플래시 메모리들과 데이터를 주고받을 것이다. SSD 제어기(650)는 낸드 플래시 메모리, 원내드(One-NAND) 플래시 메모리, 멀티 레벨 플래시 메모리, 싱글 레벨 플래시 메모리를 지원하도록 구성될 수 있다.
본 발명에 따른 플래시 메모리 시스템은 이동형 저장 장치로서 사용될 수 있다. 따라서, MP3, 디지털 카메라, PDA, e-Book의 저장 장치로서 사용될 수 있다. 또한, 디지털 TV나 컴퓨터 등의 저장 장치로서 사용될 수 있다.
본 발명에 따른 메모리 시스템 또는 저장 장치는 다양한 형태들의 패키지를 이용하여 실장 될 수 있다. 예를 들면, 본 발명에 따른 메모리 시스템 또는 저장 장치는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장될 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템의 하드웨어 구성도.
도 2는 본 발명의 실시 예에 따른 메모리 시스템의 소프트웨어 구성도.
도 3은 본 발명의 실시 예에 따른 메모리 시스템의 쓰기 동작을 보여주는 흐름도.
도 4는 본 발명의 실시 예에 따른 메모리 시스템의 머지 동작을 보여주는 도면.
도 5는 입력 데이터의 전단에 크기 정보가 위치하는 경우 본 발명의 메모리 시스템을 보여주는 도면.
도 6은 입력 데이터의 후단에 크기 정보가 위치하는 경우 본 발명의 메모리 시스템을 보여주는 도면.
도 7은 본 발명의 실시 예에 따른 또 다른 메모리 시스템에 대한 블록도.
도 8은 본 발명의 실시 예에 따른 메모리 카드를 보여주는 블록도.
도 9는 본 발명에 따른 메모리 시스템을 SSD에 적용한 실시 예를 보여주는 도면.
*도면의 주요부분에 대한 부호의 설명*
100,200,300,400,600: 메모리 시스템 500: 메모리 카드
110: 중앙처리장치 120: 램
130: 메모리 제어기 140: 플래시 메모리
220,320,420: 플래시 메모리 240,340,440: 메모리 제어기
421~421: 플래시 메모리

Claims (10)

  1. 플래시 변환 계층의 데이터 관리 방법에 있어서:
    입력 데이터의 크기를 판별하는 단계; 및
    상기 판별 결과로써 상기 입력 데이터의 크기가 쓰기 단위이면 로그 블록에 저장하고, 상기 입력 데이터의 크기가 상기 쓰기 단위보다 작으면 파샬 블록에 저장하는 단계를 포함하되,
    상기 로그 블록은 동일한 주소의 데이터가 저장되는 임시 블록이고, 상기 파샬 블록은 주소에 상관없이 데이터가 저장되는 임시 블록인 데이터 관리 방법.
  2. 제 1 항에 있어서,
    상기 로그 블록이 존재하지 않을 경우에, 상기 로그 블록과 데이터 블록 사이에 머지 동작이 수행되는 데이터 관리 방법.
  3. 제 2 항에 있어서,
    상기 파샬 블록에 일정량의 데이터가 저장될 경우에는, 상기 파샬 블록과 데이터 블록 사이에 머지 동작이 수행되는 데이터 관리 방법.
  4. 제 3 항에 있어서,
    상기 로그 블록의 머지 동작이 수행되지 않을 때, 상기 파샬 블록의 머지 동 작이 수행되는 데이터 관리 방법.
  5. 제 3 항에 있어서,
    상기 머지 동작은 점진적 머지 동작이고,
    상기 점진적 머지 동작은 새로운 파샬 블록에 데이터가 적어도 한번 이상 저장될 때마다 수행되는 데이터 관리 방법.
  6. 제 5 항에 있어서,
    상기 점진적 머지 동작의 수행 회수는 쓰기 타임 아웃 시간을 고려하여 결정되는 데이터 관리 방법.
  7. 제 1 항에 있어서,
    상기 입력 데이터의 크기가 상기 쓰기 단위보다 작을 경우에는 상기 입력 데이터는 제 1 맵핑 테이블에 따라 관리되고,
    상기 입력 데이터의 크기가 상기 쓰기 단위일 경우에는 상기 입력 데이터는 제 2 맵핑 테이블에 따라 관리되는 데이터 관리 방법.
  8. 제 7 항에 있어서,
    상기 제 1 맵핑 테이블 및 상기 제 2 맵핑 테이블은 물리적으로 서로 다른 비휘발성 메모리에 저장되는 데이터 관리 방법.
  9. 비휘발성 메모리; 및
    상기 비휘발성 메모리를 제어하는 메모리 제어기를 포함하되,
    상기 메모리 제어기는 쓰기 단위보다 작은 입력 데이터는 주소가 동일하지 않더라도 어느 하나의 메모리 블록에 임시로 저장하는 메모리 시스템.
  10. 제 9 항에 있어서,
    상기 어느 하나의 메모리 블록이 일정량 이상 채워질 경우에는, 타임 아웃을 회피하면서 점진적 머지 동작이 수행되는 메모리 시스템.
KR1020090016867A 2009-02-27 2009-02-27 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법 KR101581859B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090016867A KR101581859B1 (ko) 2009-02-27 2009-02-27 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법
US12/654,393 US8688895B2 (en) 2009-02-27 2009-12-18 Memory system and data management method of flash translation layer thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090016867A KR101581859B1 (ko) 2009-02-27 2009-02-27 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법

Publications (2)

Publication Number Publication Date
KR20100097960A true KR20100097960A (ko) 2010-09-06
KR101581859B1 KR101581859B1 (ko) 2016-01-21

Family

ID=42667750

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090016867A KR101581859B1 (ko) 2009-02-27 2009-02-27 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법

Country Status (2)

Country Link
US (1) US8688895B2 (ko)
KR (1) KR101581859B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013176376A1 (ko) * 2012-05-23 2013-11-28 아주대학교산학협력단 칩 레벨 평행 플래시 메모리를 위한 정보 분별 방법 및 장치

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012113789A (ja) * 2010-11-26 2012-06-14 Buffalo Inc ハードディスクドライブ装置およびその処理装置
TWI448892B (zh) * 2011-09-06 2014-08-11 Phison Electronics Corp 資料搬移方法、記憶體控制器與記憶體儲存裝置
US9146856B2 (en) 2012-04-10 2015-09-29 Micron Technology, Inc. Remapping and compacting in a memory device
TWI479313B (zh) * 2012-07-11 2015-04-01 Phison Electronics Corp 資料寫入方法、記憶體控制器與記憶體儲存裝置
TWI489274B (zh) * 2012-09-11 2015-06-21 Etron Technology Inc 能夠提升記憶體效能的方法和相關的記憶體系統
KR20150065435A (ko) * 2013-12-05 2015-06-15 삼성전자주식회사 저장 장치 및 컴퓨팅 시스템
TWI559139B (zh) * 2015-09-15 2016-11-21 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
KR20180031412A (ko) 2016-09-20 2018-03-28 삼성전자주식회사 메모리 컨트롤러의 동작 방법과, 이를 포함하는 장치들의 동작 방법들
TWI604373B (zh) * 2016-12-13 2017-11-01 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
TWI643067B (zh) * 2017-04-14 2018-12-01 國立臺灣科技大學 三維非及閘快閃記憶體及其記憶體管理方法
JP6767532B2 (ja) 2019-03-11 2020-10-14 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060001393A (ko) * 2004-06-30 2006-01-06 삼성전자주식회사 점진적 머지 방법 및 그것을 이용한 메모리 시스템
KR20080075751A (ko) * 2007-02-13 2008-08-19 삼성전자주식회사 불휘발성 메모리 장치의 부분 페이지 데이터 기입 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319645A (ja) 1996-05-24 1997-12-12 Nec Corp 不揮発性半導体記憶装置
JPH1153235A (ja) * 1997-08-08 1999-02-26 Toshiba Corp ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム
US6185663B1 (en) * 1998-06-15 2001-02-06 Compaq Computer Corporation Computer method and apparatus for file system block allocation with multiple redo
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
JP2006228138A (ja) 2005-02-21 2006-08-31 Canon Inc 半導体記憶装置、記憶制御方法および情報機器
US7971778B2 (en) * 2006-02-22 2011-07-05 Alan Kissick Transaction data capture system and method therefor
JP2007279873A (ja) 2006-04-04 2007-10-25 Matsushita Electric Ind Co Ltd データ記録装置
KR100771521B1 (ko) * 2006-10-30 2007-10-30 삼성전자주식회사 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법
US7953954B2 (en) * 2007-01-26 2011-05-31 Micron Technology, Inc. Flash storage partial page caching
KR100885181B1 (ko) * 2007-02-06 2009-02-23 삼성전자주식회사 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법
US8095723B2 (en) * 2007-02-16 2012-01-10 Electronics And Telecommunications Research Institute Log-based flash translation layer and operating method thereof
US7814300B2 (en) * 2008-04-30 2010-10-12 Freescale Semiconductor, Inc. Configurable pipeline to process an operation at alternate pipeline stages depending on ECC/parity protection mode of memory access
KR101028929B1 (ko) * 2008-12-31 2011-04-12 성균관대학교산학협력단 실시간 시스템을 위한 로그 블록 연관성 분산 방법 및 이를수행하는 플래시 메모리 장치
TWI451249B (zh) * 2011-12-15 2014-09-01 Phison Electronics Corp 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060001393A (ko) * 2004-06-30 2006-01-06 삼성전자주식회사 점진적 머지 방법 및 그것을 이용한 메모리 시스템
KR20080075751A (ko) * 2007-02-13 2008-08-19 삼성전자주식회사 불휘발성 메모리 장치의 부분 페이지 데이터 기입 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013176376A1 (ko) * 2012-05-23 2013-11-28 아주대학교산학협력단 칩 레벨 평행 플래시 메모리를 위한 정보 분별 방법 및 장치

Also Published As

Publication number Publication date
KR101581859B1 (ko) 2016-01-21
US20100223420A1 (en) 2010-09-02
US8688895B2 (en) 2014-04-01

Similar Documents

Publication Publication Date Title
KR101581859B1 (ko) 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법
US10621081B2 (en) Storage device and global garbage collection method of data storage system including the same
US8918580B2 (en) Storage device with buffer memory including non-volatile RAM and volatile RAM
US8984219B2 (en) Data storage device and method of writing data in the same
KR101739556B1 (ko) 데이터 저장 장치, 사용자 장치 및 그것의 주소 맵핑 방법
US10884630B2 (en) Storage system
US11336305B2 (en) Memory system
KR20100097456A (ko) 메모리 시스템 및 그것의 플래시 변화 계층의 주소 할당 방법
US20180121354A1 (en) Memory system
US20160117099A1 (en) Tracking Intermix of Writes and Un-Map Commands Across Power Cycles
US9304911B2 (en) Semiconductor storage device and buffer operation method thereof
US20150349805A1 (en) Method of Handling Error Correcting Code in Non-volatile Memory and Non-volatile Storage Device Using the Same
US10817418B2 (en) Apparatus and method for checking valid data in memory system
WO2016069188A1 (en) Processing of un-map commands to enhance performance and endurance of a storage device
CN109408417B (zh) 存储装置的地址映射方法和操作方法
KR20100039181A (ko) 예비 영역을 가지는 반도체 메모리 장치
KR20100133710A (ko) 메모리 시스템 및 그것의 코드 데이터 로딩 방법
US9734057B2 (en) Semiconductor storage device and buffer operation method thereof
JP2018160189A (ja) メモリシステム
US10942848B2 (en) Apparatus and method for checking valid data in memory system
US11281381B2 (en) Storage node of distributed storage system and method of operating the same
US11886741B2 (en) Method and storage device for improving NAND flash memory performance for intensive read workloads
KR20140094186A (ko) 호스트의 리퀘스트 처리 방법
KR20240019429A (ko) 스토리지 장치 및 이를 포함하는 전자 장치와 그 동작 방법
KR20220108342A (ko) 메모리 시스템 내 프리 블록을 확보하는 장치 및 방법

Legal Events

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