KR101301840B1 - 비휘발성 메모리 장치의 데이터 처리 방법 - Google Patents

비휘발성 메모리 장치의 데이터 처리 방법 Download PDF

Info

Publication number
KR101301840B1
KR101301840B1 KR1020100124977A KR20100124977A KR101301840B1 KR 101301840 B1 KR101301840 B1 KR 101301840B1 KR 1020100124977 A KR1020100124977 A KR 1020100124977A KR 20100124977 A KR20100124977 A KR 20100124977A KR 101301840 B1 KR101301840 B1 KR 101301840B1
Authority
KR
South Korea
Prior art keywords
payload
data
file
file data
positive integer
Prior art date
Application number
KR1020100124977A
Other languages
English (en)
Other versions
KR20120063829A (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 KR1020100124977A priority Critical patent/KR101301840B1/ko
Priority to US13/313,825 priority patent/US8650379B2/en
Publication of KR20120063829A publication Critical patent/KR20120063829A/ko
Application granted granted Critical
Publication of KR101301840B1 publication Critical patent/KR101301840B1/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
    • 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/7207Details relating to flash memory management management of metadata or control data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

본 발명의 비휘발성 메모리 장치의 데이터 처리 방법은, 호스트 중앙처리장치(HOST CPU)와 원디램(oneDRAM), ASIC(Application Specific Integrated Circuit), 플래시 메모리(flash memory)를 포함하는 MLA(Memory Linked Architecture) 간 비휘발성 메모리 장치의 데이터 처리 방법에 있어서, (a) 상기 호스트 중앙처리장치(HOST CPU)에 의해 상기 원디램(oneDRAM)의 공유영역에 저장된 전송할 제0 파일데이터(D0) ~ 제n(n은 양의 정수) 파일데이터(Dn)를 호출하는 단계; (b) 파일 시스템(File system)에 의해 상기 제0 파일데이터(D0) ~ 제n(n은 양의 정수) 파일데이터(Dn) 각각을 분석하여 제0 파일 데이터 정보(D0-inf) ~ 제n (n은 양의 정수) 파일 데이터 정보(Dn-inf) 및 제0 페이로드(Payload_0) ~ 제n(n은 양의 정수) 페이로드(Payload_n)에 대한 논리 주소(Logic address)를 생성하는 단계; (c) 플래시 변환 계층(FTL)에 의해 상기 논리 주소(Logic address)를 상기 플래시 메모리(flash memory)의 물리 주소(Physical address)로 맵핑(mapping) 시키는 단계; (d) 플래시 변환 계층(FTL)에 의해 상기 플래시 메모리(flash memory)의 데이터 블록(Data block)에 상기 제0 파일 데이터 정보(D0-inf) ~ 제n(n은 양의 정수) 파일 데이터 정보(Dn-inf) 및 상기 제0 페이로드(Payload_0) ~ 제n(n은 양의 정수) 페이로드(Payload_n)를 순차적으로 기입(Write)하는 단계; 및 (e) 플래시 변환 계층(FTL)에 의해 전송받은 상기 제0 파일데이터(D0) ~ 제n(n은 양의 정수) 파일데이터(Dn)에 대한 메타 데이터(Meta data)를 상기 플래시 메모리(flash memory)의 메타 블록(Meta block)에 일괄하여 1회 업데이트(update) 하는 단계를 제공함에 기술적 특징이 있다.

Description

비휘발성 메모리 장치의 데이터 처리 방법{METHOD OF DATA PROCESSING FOR NON-VOLATILE MEMORY}
본 발명은 비휘발성 메모리 장치의 데이터 처리 방법에 관한 것으로, 더욱 상세하게는 호스트 중앙처리장치(HOST CPU)와 MLA(Memory Linked Architecture) 간 파일 데이터 전송 완료 후 메타 데이터(Meta data)를 총 1회 업데이트(update) 함으로 펌웨어(firm ware)의 성능을 극대화 할 수 있는 비휘발성 메모리 장치의 데이터 처리 방법에 관한 것이다.
반도체 메모리 장치는 일반적으로 DRAM, SRAM 등과 같은 휘발성 메모리와 EEPROM, FRAM, PRAM, MRAM, Flash Memory 등과 같은 비휘발성 메모리로 분류 된다. 휘발성 메모리는 전원이 차단될 때 저장된 데이터를 잃지만, 비휘발성 메모리는 전원이 차단되더라도 저장된 데이터를 보존한다.
최근 들어 비휘발성 메모리를 사용하는 장치들이 증가하고 있다. 예를 들면, MP3 플레이어, 디지털 카메라(Digital Camera), 휴대전화(Mobile Phone), 캠코더, 플래시 카드(flash card) 및 SSD(Solid State Disk) 등은 저장장치로 비휘발성 메모리를 사용하고 있다.
특히, 플래시 메모리(Flash Memory)는 높은 프로그래밍속도, 낮은 전력 소비, 대용량 데이터 저장 등의 장점을 가지므로, 컴퓨터 시스템 등에서 저장 매체로 광범위하게 사용되고 있다.
도 1은 종래의 플래시 메모리를 사용하는 비휘발성 메모리 장치의 구성을 도시한 것이다.
도 1을 참조하면, 종래의 플래시 메모리를 사용하는 비휘발성 메모리 장치(100)는 호스트 중앙처리장치(HOST CPU, 110), 디램(DRAM, 120), ASIC(Application Specific Integrated Circuit, 130) 및 플래시 메모리(flash memory, 140)를 포함한다.
호스트 중앙처리장치(HOST CPU, 110)는 ASIC(Application Specific Integrated Circuit, 130)와 호스트 인터페이스(Host interface)를 통해 플래시 메모리(flash memory, 340)에 읽기(Read), 쓰기(Write) 등 일련의 명령을 한다.
ASIC(Application Specific Integrated Circuit, 130)는 일종의 컨트롤러(Controller)로써, 이를 테면 호스트 중앙처리장치(HOST CPU, 110)로부터 쓰기 명령 신호를 수신하는 경우 플래시 인터페이스(flash interface)를 통해 플래시 메모리(flash memory, 140)에 파일 데이터(file data) 등을 기입(Write)하도록 하는 작업을 수행한다.
도 2a는 종래의 파일 시스템(File system)과 플래시 변환 계층(FTL) 사이의 인터페이싱 관계를 설명하기 위해 도시한 것이다.
도 2a를 참조하면, 호스트 중앙처리장치(HOST CPU, 110)는 파일(file) 관리를 수행할 수 있는 파일 시스템(File system, 115)을 포함하고, ASIC(130)는 플래시 변환 계층(Flash translation layer, FTL, 135)을 포함한다.
파일 시스템(File system, 115)은 호스트 중앙처리장치(HOST CPU, 110)로부터 전달된 명령(command)에 응답하여 플래시 메모리(flash memory, 140)를 관리하는데 사용된다.
플래시 변환 계층(FTL, 135)은 플래시 메모리(flash memory, 140)에 데이터 기입(Write) 동작 시, 파일 시스템(File system, 115)이 생성한 논리 주소(Logic address)를 삭제 연산이 수행된 플래시 메모리(flash memory, 140)의 물리 주소(Physical address)로 맵핑(mapping)시켜 주는 역할을 수행한다.
도 2b는 종래 기술에 의한 플래시 메모리에 파일 데이터의 쓰기동작 및 메타 데이터 업데이트 동작을 구현하는 일실시예를 도시한 것이다.
이하 도1 ~도 2b를 참조하여 종래 기술에 의한 플래시 메모리(flash memory, 140)에 기입(Write) 할 파일 데이터(file data)가 D0, D1~ D7 인 경우 파일 데이터(file data)의 쓰기 및 메타 데이터(meta data)의 업데이트(update) 동작에 대해 설명한다.
호스트 중앙처리장치(HOST CPU, 110)에 의해 디램(DRAM, 120)에 저장된 플래시 메모리에 전송할 파일 데이터(D0, D1~ D7)를 호출한다.
파일 시스템(File system, 115)은 호스트 중앙처리장치(HOST CPU, 110)로부터 파일 데이터(D0, D1~ D7)에 대해 쓰기 요청을 받고 파일 데이터(D0, D1~ D7)에 대한 논리 주소(Logic address)를 생성한다.
플래시 변환 계층(FTL, 135)은 상기 파일 시스템(File system, 115)에서 생성한 논리 주소(Logic address)를 플래시 메모리(flash memory, 140)의 물리 주소(Physical address)로 맵핑(mapping) 시킨다.
플래시 변환 계층(FTL, 135)은 플래시 메모리(flash memory, 140)에 제0 파일 데이터(D0) 기입 후 메타 데이터(Meta data)를 업데이트(update) 한다. 마찬 가지 방식으로 플래시 변환 계층(FTL, 135)은 제1 파일 데이터(D1)~ 제7 파일 데이터(D7)에 대해서 각각의 파일 데이터(file data)를 기입(Write)한 후 메타 데이터(Meta data)를 각각 업데이트(update) 한다. 이 경우 전송할 파일 데이터(file data)의 수가 8개이므로 총 8번의 메타 데이터(Meta data)를 업데이트(update) 하게 된다.
하지만, 종래 기술은 전송할 파일 데이터(file data)의 수만큼 메타 데이터(Meta data)를 매번 업데이트(update) 해야 함으로써 플래시 메모리에 데이터 기입(Write) 시 시간이 많이 소요하게 되어 펌웨어(firm ware)의 성능을 저하하는 문제점이 있었다.
본 발명이 해결하고자 하는 기술적 과제는, 호스트 중앙처리장치(HOST CPU)와 MLA(Memory Linked Architecture)간 파일 데이터 전송 완료 후 메타 데이터(Meta data)를 총 1회 업데이트(update) 함으로 펌웨어(firm ware)의 성능을 극대화 할 수 있는 비휘발성 메모리 장치의 데이터 처리 방법을 제공하는데 있다.
상기 기술적 과제를 이루기 위한 본 발명에 따른 비휘발성 메모리 장치의 데이터 처리 방법은, 호스트 중앙처리장치(HOST CPU)와 원디램(oneDRAM), ASIC(Application Specific Integrated Circuit), 플래시 메모리(flash memory)를 포함하는 MLA(Memory Linked Architecture) 간 비휘발성 메모리 장치의 데이터 처리 방법에 있어서, (a) 상기 호스트 중앙처리장치(HOST CPU)에 의해 상기 원디램(oneDRAM)의 공유영역에 저장된 전송할 제0 파일데이터(D0) ~ 제n(n은 양의 정수) 파일데이터(Dn)를 호출하는 단계; (b) 파일 시스템(File system)에 의해 상기 제0 파일데이터(D0) ~ 제n(n은 양의 정수) 파일데이터(Dn) 각각을 분석하여 제0 파일 데이터 정보(D0-inf) ~ 제n (n은 양의 정수) 파일 데이터 정보(Dn-inf) 및 제0 페이로드(Payload_0) ~ 제n(n은 양의 정수) 페이로드(Payload_n)에 대한 논리 주소(Logic address)를 생성하는 단계; (c) 플래시 변환 계층(FTL)에 의해 상기 논리 주소(Logic address)를 상기 플래시 메모리(flash memory)의 물리 주소(Physical address)로 맵핑(mapping) 시키는 단계; (d) 플래시 변환 계층(FTL)에 의해 상기 플래시 메모리(flash memory)의 데이터 블록(Data block)에 상기 제0 파일 데이터 정보(D0-inf) ~ 제n(n은 양의 정수) 파일 데이터 정보(Dn-inf) 및 상기 제0 페이로드(Payload_0) ~ 제n(n은 양의 정수) 페이로드(Payload_n)를 순차적으로 기입(Write)하는 단계; 및 (e) 플래시 변환 계층(FTL)에 의해 전송받은 상기 제0 파일데이터(D0) ~ 제n(n은 양의 정수) 파일데이터(Dn)에 대한 메타 데이터(Meta data)를 상기 플래시 메모리(flash memory)의 메타 블록(Meta block)에 일괄하여 1회 업데이트(update) 하는 단계를 제공한다.
본 발명은 호스트 중앙처리장치(HOST CPU)와 MLA(Memory Linked Architecture)간 파일 데이터 전송 완료 후 메타 데이터(Meta data)를 총 1회 업데이트(update) 함으로 펌웨어(firm ware)의 성능을 극대화 할 수 있는 장점이 있다.
도 1은 종래의 플래시 메모리를 사용하는 비휘발성 메모리 장치의 구성을 도시한 것이다.
도 2a는 종래의 파일 시스템(File system)과 플래시 변환 계층(FTL) 사이의 인터 페이싱 관계를 설명하기 위해 도시한 것이다.
도 2b는 종래 기술에 의한 플래시 메모리에 파일 데이터의 쓰기동작 및 메타 데이터 업데이트 동작을 구현하는 일실시예를 도시한 것이다.
도 3은 본 발명의 플래시 메모리를 사용하는 비휘발성 메모리 장치의 구성을 도시한 것이다.
도 4a는 본 발명의 파일시스템(File system)과 플래시 변환 계층(FTL) 사이의 관계를 설명하기 위해 도시한 것이다.
도 4b는 본 발명에 의해 플래시 메모리에 파일 데이터를 기입할 경우 원디램과 플래시 메모리의 어드레스를 도시한 것이다.
도 4c는 본 발명에 의한 플래시 메모리에 파일 데이터의 쓰기동작 및 메타 데이터 업데이트 동작을 구현하는 일실시예를 도시한 것이다.
도 5는 본 발명에 의해 구현되는 플래시 메모리에 파일 데이터의 쓰기동작 및 메타 데이터 업데이트 동작에 대한 순서도를 도시한 것이다.
이하에서는 본 발명의 구체적인 실시 예를 도면을 참조하여 상세히 설명하도록 한다.
도 3은 본 발명의 플래시 메모리를 사용하는 비휘발성 메모리 장치의 구성을 도시한 것이다.
도 3을 참조하면, 본 발명의 플래시 메모리를 사용하는 비휘발성 메모리 장치(300)는, 호스트 중앙처리장치(HOST CPU, 310) 및 원디램(oneDRAM, 320), ASIC(Application Specific Integrated Circuit, 330), 플래시 메모리(flash memory, 340)가 통합되어 하나의 원 칩(one chip) 형태를 갖는 MLA(Memory Linked Architecture)를 포함한다.
호스트 중앙처리장치(HOST CPU, 310)는 ASIC(Application Specific Integrated Circuit, 330)와 호스트 인터페이스(Host interface)를 통해 플래시 메모리(flash memory, 340)에 읽기(Read), 쓰기(Write) 등 일련의 명령을 한다.
원디램(oneDRAM, 320)은 각각 다른 기능을 하는 중앙처리장치(Central Processing Unit)를 하나의 디램으로 연결해 동작할 수 있도록 하는 디램 타입의 퓨전 메모리로서, CPU 엑세스 영역(321), ASIC 엑세스 영역(323) 및 공유영역(325)을 포함한다.
CPU 엑세스 영역(321)은 호스트 중앙처리장치(HOST CPU, 310)가 전용하여 엑세스(access) 할 수 있도록 하는 메모리 영역이다. ASIC 엑세스 영역(323)은 ASIC(330)가 전용하여 엑세스(access) 할 수 있도록 하는 메모리 영역이다. 공유영역(325)은 호스트 중앙처리장치(HOST CPU, 310) 또는 ASIC(330) 중 어느 하나가 배타적으로 엑세스(access) 할 수 있도록 하는 메모리 영역이다.
본 발명의 경우 종래의 디램(DRAM) 대신 원디램(oneDRAM)을 사용함으로 모바일 디바이스 내에서 프로세서들 간의 데이터를 단일 칩을 통하여 라우팅(Routing) 할 수 있기 때문에, 2개의 메모리 버퍼들에 대한 필요성을 제거할 수 있을 뿐 아니라, 듀얼 포트 어프로치(dual port approach)를 취함으로 모바일 디바이스 내에서 통신 프로세서와 미디어 프로세서 간 데이터 처리 속도를 현저히 증가시킬 수 있다.
ASIC(Application Specific Integrated Circuit, 330)는 일종의 컨트롤러(Controller)로써, 이를 테면 호스트 중앙처리장치(HOST CPU, 310)로부터 쓰기 명령 신호를 수신하는 경우 플래시 인터페이스(flash interface)를 통해 플래시 메모리(flash memory, 340)에 파일 데이터(file data) 등을 기입(Write)하도록 작업을 수행한다.
플래시 메모리(Flash memory, 340)는 비휘발성 메모리로서 낸드 플래시(NAND Flash) 또는 노아 플래시(NOR Flash) 형태를 사용할 수 있다. 낸드 플래시(NAND Flash)는 노아 플래시(NOR Flash)와 달리 바이트(byte) 단위로 읽고, 쓰는 것이 불가능하며, 페이지(page) 단위로 읽고 쓰고, 블록(block) 단위로 지우기만 가능하다는 특징이 있다.
도 4a는 본 발명의 파일시스템(File system)과 플래시 변환 계층(FTL) 사이의 관계를 설명하기 위해 도시한 것이다.
도 4a를 참조하면, 호스트 중앙처리장치(HOST CPU, 310)는 파일(file) 관리를 수행할 수 있는 파일 시스템(File system, 315)을 포함하고, ASIC(330)는 플래시 변환 계층(flash translation layer, FTL)을 포함한다.
파일 시스템(File system, 315)은 호스트 중앙처리장치(HOST CPU, 310)로부터 전달되는 명령(command)에 응답하여 플래시 메모리(flash memory, 340)를 관리하는데 사용된다.
파일 시스템(File system, 315)은 호스트 중앙처리장치(HOST CPU, 310)가 사용하는 운영 체제(OS)에 따라 그 종류가 매우 다양하다. 이를테면, 마이크로소프트(Microsoft) 사의 윈도(Windows) 계열의 운영 체제에서는 FAT(File Allocation Table) 또는 NTFS(New Technology File System) 라는 파일 시스템이, 유닉스/리눅스(Unix/Linux) 계열의 운영 체제에서는 UFS(Unix File System), EXT2(Extended 2), EXT3(Extended 3), JFS(Journaling File System) 등 다양한 파일 시스템이 존재한다.
플래시 변환 계층(FTL, 335)은 플래시 메모리(flash memory, 340)에 데이터 기입(Write) 동작 시, 파일 시스템(File system, 315)이 생성한 논리 주소(Logic address)를 삭제 연산이 수행된 플래시 메모리(flash memory, 340)의 물리 주소(Physical address)로 맵핑(mapping)시켜 주는 역할을 수행한다.
이로 인해, 호스트 중앙처리장치(HOST CPU, 310)는 플래시 메모리 장치를 하드디스크 드라이버(또는 SRAM)로 인식하고, 하드디스크 드라이버와 동일한 방식으로 플래시 메모리 장치를 엑세스할 수 있게 된다.
도 4b는 본 발명에 의해 플래시 메모리에 파일 데이터를 기입할 경우 원디램과 플래시 메모리의 어드레스를 도시한 것이다.
도 4b를 참조하면, 원디램(oneDRAM, 320)의 공유영역(325)에는 파일 데이터 정보(Data-inf)와 제0 페이로드(Payload_0) ~ 제n 페이로드(Payload_n)가 저장되어 있다.
파일 데이터 정보(Data-inf)는 파일 데이터에 대한 읽기/쓰기(R/W) 명령, 주소(Address), 데이터의 크기(Size) 등의 정보를 포함한다.
제0 페이로드(Payload_0) ~ 제n 페이로드(Payload_n)는 사용자 데이터(user data)가 연속하여 순차적으로 플렉시블(flexible) 하게 관리되도록 한다. 이를 테면, 제0 페이로드(Payload_0) ~ 제n 페이로드(Payload_n) 각각 4 KB(Kilo byte)를 사용할 경우 총 4 * (n + 1) KB에 대해 일괄해서 플래시 메모리에 전송, 기입하는 등 동작이 구현된다.
한편, 파일 시스템(File system, 315)은 호스트 중앙처리장치(HOST CPU, 310)로부터 파일 데이터(D0, D1~ Dn)에 대해 쓰기 요청을 받으면, 파일 데이터(D0, D1~ Dn) 각각을 분석하여 파일 데이터 정보(Data-inf)와 제0 페이로드(Payload_0) ~ 제n (n은 양의 정수) 페이로드(Payload_n)에 대한 논리 주소(Logic address)를 생성한다.
플래시 변환 계층(FTL, 335)은 상기 파일 시스템(File system, 315)에서 생성한 논리 주소(Logic address)를 플래시 메모리(flash memory, 340)의 물리 주소(Physical address)로 맵핑(mapping) 시켜 파일 데이터(D0, D1~ Dn)를 저장한다.
이때 플래시 메모리(flash memory, 340)는 파일 데이터 정보(Data-inf)와 제0 페이로드(Payload_0) ~ 제n 페이로드(Payload_n)가 저장되는 데이터 블록(Data block) 및 메타 데이터(Meta data)가 저장되는 메타 블록(Meta block)을 포함한다.
메타 데이터(Meta data)는 실제로 저장되는 데이터를 위한 데이터로서, 이를 테면 논리 블록 주소(Logical Block Address, LBA)와 물리 블록 주소(Physical Block Address, PBA)를 포함하는 주소 맵핑 테이블(address mapping table), 해당 물리 블록의 지우기 횟수(Erase Count), 프리 블록 정보(free block information), 배드 블록 정보(bad block information) 등 플래시 메모리의 상태를 파악하거나 효율적으로 관리하는데 필요한 데이터이다.
도 4c 및 도 5는 본 발명에 의한 플래시 메모리에 파일 데이터의 쓰기동작 및 메타 데이터 업데이트 동작을 구현하는 일실시예 및 순서도를 도시한 것이다.
이하 도 4a~ 도 4c 및 도 5를 참조하여 플래시 메모리(flash memory, 340)에 기입(Write) 할 파일 데이터(file data)가 D0, D1~ D7 인 경우 파일 데이터(file data)의 쓰기 및 메타 데이터(mata data)의 업데이트(update) 동작에 대해 설명한다.
호스트 중앙처리장치(HOST CPU, 310)는 원디램(oneDRAM, 320)의 공유영역(325)에 저장된 전송할 파일 데이터(D0, D1~ D7)를 호출하는 제1 단계(S10)를 갖는다.
파일 시스템(File system, 315)은 호스트 중앙처리장치(HOST CPU, 310)로부터 파일 데이터(D0, D1~ D7)에 대해 쓰기 요청을 받으면, 파일 데이터(D0, D1~ D7)각각을 분석하여 파일 데이터 정보(D0-inf, D1-inf ~ D7-inf)와 제0 페이로드(Payload_0) ~ 제7 페이로드(Payload_7)에 대한 논리 주소(Logic address)를 생성하는 제2 단계(S20)를 갖는다.
플래시 변환 계층(FTL, 335)은 상기 파일 시스템(File system, 315)에서 생성한 논리 주소(Logic address)를 플래시 메모리(flash memory, 340)의 물리 주소(Physical address)로 맵핑(mapping) 시키는 제3 단계(S30)를 갖는다.
플래시 변환 계층(FTL, 335)은 플래시 메모리(flash memory, 340)의 데이터 블록(Data block)에 파일 데이터 정보(D0-inf, D1-inf ~ D7-inf) 및 제0 페이로드(Payload_0) ~ 제7 페이로드(Payload_7)를 순차적으로 기입(Write) 하는 제4 단계(S40)를 갖는다.
여기서 제0 페이로드(Payload_0) ~ 제7 페이로드(Payload_7) 각각 4KB의 사용자 데이터를 사용하여 총 32KB를 전송하는 과정을 예시 하였지만, 이에 한정 되지 아니하고 필요에 따라 8KB, 12KB 등을 사용할 수 있음은 당연하다.
플래시 변환 계층(FTL, 335)은 플래시 메모리(flash memory, 340)의 메타 블록(Meta block)에 전송받은 파일 데이터(D0, D1~ D7)에 대하여 메타 데이터(Meta data)를 일괄하여 1회 업데이트(update) 하는 제5 단계(S50)를 갖는다.
여기서 메타 데이터(Meta data)는 플래시 메모리(flash memory, 340)에 새로 저장된 파일 데이터(D0, D1~ D7)에 대한 파일 위치 정보, 파일 수정 시간 등을 포함한다.
이로써, 본 발명은 종래의 파일 데이터(D0, D1~ D7) 전송 시 매번 메타 데이터(Meta data)를 업데이트(update) 하는(총 8회) 기술에 비해 업데이트 회수(총 1회)를 줄임으로 펌웨어(firm ware)의 성능을 극대화 할 수 있게 된다.
이상에서는 본 발명에 대한 기술사상을 첨부 도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시 예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 이라면 누구나 본 발명의 기술적 사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
310 : 호스트 중앙처리장치(HOST CPU)
320 : 원디램(oneDRAM)
321 : CPU 엑세스 영역
323 : ASIC 엑세스 영역
325 : 공유영역
330 : ASIC(Application Specific Integrated Circuit)
340 : 플래시 메모리(flash memory)

Claims (5)

  1. 호스트 중앙처리장치(HOST CPU)와
    원디램(oneDRAM), ASIC(Application Specific Integrated Circuit), 플래시 메모리(flash memory)가 통합되어 하나의 원 칩(one chip) 형태를 갖는 MLA(Memory Linked Architecture) 간 비휘발성 메모리 장치의 데이터 처리 방법에 있어서,
    (a) 호스트 중앙처리장치(HOST CPU)에 의해 상기 원디램(oneDRAM)의 공유영역에 저장된 전송할 제0 파일데이터(D0) ~ 제n(n은 양의 정수) 파일데이터(Dn)를 호출하는 단계;
    (b) 호스트 중앙처리장치(HOST CPU)의 파일 시스템(File system)에 의해 상기 제0 파일데이터(D0) ~ 제n(n은 양의 정수) 파일데이터(Dn) 각각을 분석하여 제0 파일 데이터 정보(D0-inf) ~ 제n (n은 양의 정수) 파일 데이터 정보(Dn-inf) 및 제0 페이로드(Payload_0) ~ 제n(n은 양의 정수) 페이로드(Payload_n)에 대한 논리 주소(Logic address)를 생성하는 단계;
    (c) ASIC(Application Specific Integrated Circuit)의 플래시 변환 계층(FTL)에 의해 상기 논리 주소(Logic address)를 상기 플래시 메모리(flash memory)의 물리 주소(Physical address)로 맵핑(mapping) 시키는 단계;
    (d) ASIC(Application Specific Integrated Circuit)의 플래시 변환 계층(FTL)에 의해 상기 플래시 메모리(flash memory)의 데이터 블록(Data block)에 상기 제0 파일 데이터 정보(D0-inf) ~ 제n(n은 양의 정수) 파일 데이터 정보(Dn-inf) 및 상기 제0 페이로드(Payload_0) ~ 제n(n은 양의 정수) 페이로드(Payload_n)를 순차적으로 기입(Write)하는 단계; 및
    (e) ASIC(Application Specific Integrated Circuit)의 플래시 변환 계층(FTL)에 의해 전송받은 상기 제0 파일데이터(D0) ~ 제n(n은 양의 정수) 파일데이터(Dn)에 대한 메타 데이터(Meta data)를 상기 플래시 메모리(flash memory)의 메타 블록(Meta block)에 일괄하여 1회 업데이트(update) 하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 데이터 처리 방법.
  2. 제 1항에 있어서,
    상기 (b)단계의 상기 제0 페이로드(Payload_0) ~ 제n(n은 양의 정수) 페이로드(Payload_n) 각각은, 4KB의 사용자 데이터를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 데이터 처리 방법.
  3. 제 1항에 있어서, 상기 (e)단계의 상기 메타 데이터(Meta data)는,
    새로 저장되는 상기 제0 파일데이터(D0) ~ 제n(n은 양의 정수) 파일데이터(Dn)에 대한 파일 위치 정보를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 데이터 처리 방법.
  4. 제 1항에 있어서, 상기 (b)단계의 상기 호스트 중앙처리장치(HOST CPU)의 파일 시스템(File system)은,
    FAT(File Allocation Table), NTFS(New Technology File System), UFS(Unix File System), EXT2(Extended 2), EXT3(Extended 3), JFS(Journaling File System) 중 어느 하나를 사용하는 것을 특징으로 하는 비휘발성 메모리 장치의 데이터 처리 방법.
  5. 제 1항에 있어서, 상기 (a)단계의 상기 원디램(oneDRAM)은,
    상기 호스트 중앙처리장치(HOST CPU)가 전용하여 엑세스(access) 할 수 있도록 하는 CPU 엑세스 영역;
    상기 ASIC(Application Specific Integrated Circuit)가 전용하여 엑세스(access) 할 수 있도록 하는 ASIC 엑세스 영역; 및
    상기 호스트 중앙처리장치(HOST CPU) 또는 상기 ASIC(Application Specific Integrated Circuit) 중 어느 하나가 배타적으로 엑세스(access) 할 수 있도록 하는 공유영역을 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 데이터 처리 방법.
KR1020100124977A 2010-12-08 2010-12-08 비휘발성 메모리 장치의 데이터 처리 방법 KR101301840B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100124977A KR101301840B1 (ko) 2010-12-08 2010-12-08 비휘발성 메모리 장치의 데이터 처리 방법
US13/313,825 US8650379B2 (en) 2010-12-08 2011-12-07 Data processing method for nonvolatile memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100124977A KR101301840B1 (ko) 2010-12-08 2010-12-08 비휘발성 메모리 장치의 데이터 처리 방법

Publications (2)

Publication Number Publication Date
KR20120063829A KR20120063829A (ko) 2012-06-18
KR101301840B1 true KR101301840B1 (ko) 2013-08-29

Family

ID=46200576

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100124977A KR101301840B1 (ko) 2010-12-08 2010-12-08 비휘발성 메모리 장치의 데이터 처리 방법

Country Status (2)

Country Link
US (1) US8650379B2 (ko)
KR (1) KR101301840B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9940063B2 (en) 2015-06-05 2018-04-10 SK Hynix Inc. Memory system and operating method thereof
US10146474B2 (en) 2015-12-23 2018-12-04 SK Hynix Inc. Memory system and operating method of memory system
US10671528B2 (en) 2018-03-28 2020-06-02 SK Hynix Inc. Memory system and operating method thereof
US10678476B2 (en) 2017-11-13 2020-06-09 SK Hynix Inc. Memory system with host address translation capability and operating method thereof
US10754768B2 (en) 2018-03-07 2020-08-25 SK Hynix Inc. Memory system using descriptor lookup tables to access setting information for a non-volatile memory, and an operating method thereof
US10831671B2 (en) 2018-01-03 2020-11-10 SK Hynix Inc. Controller for managing sequence for map data, operating method thereof and memory system
US11586379B2 (en) 2021-03-18 2023-02-21 SK Hynix Inc. Memory system and method of operating the same

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9424027B2 (en) * 2013-07-29 2016-08-23 Ralph Moore Message management system for information transfer within a multitasking system
KR20150041873A (ko) * 2013-10-10 2015-04-20 에스케이하이닉스 주식회사 데이터 처리 시스템
KR102156222B1 (ko) * 2013-12-24 2020-09-15 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것을 포함하는 데이터 처리 시스템
CN105917308B (zh) * 2014-01-22 2019-02-12 惠普发展公司,有限责任合伙企业 分区为包括元数据区域的多个区域的字节可寻址非易失性读写主存储器
WO2016122520A1 (en) * 2015-01-29 2016-08-04 Hewlett-Packard Development Company, L.P. Resuming a system-on-a-chip device
WO2016122518A1 (en) 2015-01-29 2016-08-04 Hewlett-Packard Development Company, L.P. Booting a system-on-a-chip device
US20170286090A1 (en) * 2016-03-31 2017-10-05 Microsoft Technology Licensing, Llc High performance mobile device flashing
US11289137B2 (en) 2017-11-16 2022-03-29 Micron Technology, Inc. Multi-port storage-class memory interface
CN110780810B (zh) * 2018-07-31 2023-06-27 爱思开海力士有限公司 用于彼此接合多个存储器系统以存储数据的设备和方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090046567A (ko) * 2007-11-06 2009-05-11 삼성전자주식회사 반도체 디스크 및 그것의 동작 방법
KR20100022811A (ko) * 2008-08-20 2010-03-03 주식회사 셀픽 플래시메모리 저장장치 및 그에 따른 관리 방법
KR20100114381A (ko) * 2009-04-15 2010-10-25 삼성전자주식회사 동작 수행 중 다른 요청을 우선 처리할 수 있는 비휘발성 메모리 컨트롤러, 이를 포함하는 시스템 및 그 관리 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100672996B1 (ko) 2005-02-07 2007-01-24 삼성전자주식회사 메타 데이터가 저장되는 에프램을 포함하는 메모리 장치
KR101543431B1 (ko) 2008-11-20 2015-08-11 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 액세스 방법
KR20110013867A (ko) * 2009-08-04 2011-02-10 삼성전자주식회사 메모리 링크 아키텍쳐에서 플래시 레스 부팅 기능을 갖는 멀티 프로세서 시스템
KR20110013868A (ko) * 2009-08-04 2011-02-10 삼성전자주식회사 멀티 코멘드 셋 동작 및 우선처리 동작 기능을 갖는 멀티 프로세서 시스템
KR20110019491A (ko) * 2009-08-20 2011-02-28 삼성전자주식회사 데이터 처리 방법 및 데이터 처리 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090046567A (ko) * 2007-11-06 2009-05-11 삼성전자주식회사 반도체 디스크 및 그것의 동작 방법
KR20100022811A (ko) * 2008-08-20 2010-03-03 주식회사 셀픽 플래시메모리 저장장치 및 그에 따른 관리 방법
KR20100114381A (ko) * 2009-04-15 2010-10-25 삼성전자주식회사 동작 수행 중 다른 요청을 우선 처리할 수 있는 비휘발성 메모리 컨트롤러, 이를 포함하는 시스템 및 그 관리 방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9940063B2 (en) 2015-06-05 2018-04-10 SK Hynix Inc. Memory system and operating method thereof
US10146474B2 (en) 2015-12-23 2018-12-04 SK Hynix Inc. Memory system and operating method of memory system
US10678476B2 (en) 2017-11-13 2020-06-09 SK Hynix Inc. Memory system with host address translation capability and operating method thereof
US10831671B2 (en) 2018-01-03 2020-11-10 SK Hynix Inc. Controller for managing sequence for map data, operating method thereof and memory system
US10754768B2 (en) 2018-03-07 2020-08-25 SK Hynix Inc. Memory system using descriptor lookup tables to access setting information for a non-volatile memory, and an operating method thereof
US10671528B2 (en) 2018-03-28 2020-06-02 SK Hynix Inc. Memory system and operating method thereof
US11586379B2 (en) 2021-03-18 2023-02-21 SK Hynix Inc. Memory system and method of operating the same

Also Published As

Publication number Publication date
KR20120063829A (ko) 2012-06-18
US20120151125A1 (en) 2012-06-14
US8650379B2 (en) 2014-02-11

Similar Documents

Publication Publication Date Title
KR101301840B1 (ko) 비휘발성 메모리 장치의 데이터 처리 방법
US10564872B2 (en) System and method for dynamic allocation to a host of memory device controller memory resources
US9857977B2 (en) Physical address management in solid state memory
JP5636034B2 (ja) データ利用についてのマウント時間の調停
CN110730945B (zh) 可扩展的低时延存储接口
US8417875B2 (en) Non-volatile memory controller processing new request before completing current operation, system including same, and method
US11010079B2 (en) Concept for storing file system metadata within solid-stage storage devices
US11675698B2 (en) Apparatus and method and computer program product for handling flash physical-resource sets
US20140281158A1 (en) File differentiation based on data block identification
US11334493B2 (en) Memory system and operating method thereof
US11210226B2 (en) Data storage device and method for first processing core to determine that second processing core has completed loading portion of logical-to-physical mapping table thereof
US20110320689A1 (en) Data Storage Devices and Data Management Methods for Processing Mapping Tables
US10606744B2 (en) Method for accessing flash memory module and associated flash memory controller and electronic device
KR20200072639A (ko) 저장 장치 및 그것의 동작 방법
KR20200121372A (ko) 하이브리드 메모리 시스템
CN112988060A (zh) 键值存储装置和用于操作键值存储装置的方法
US10776280B1 (en) Data storage device and method for updating logical-to-physical mapping table
KR102443593B1 (ko) 하이브리드 메모리 시스템
US9727453B2 (en) Multi-level table deltas
KR20190051530A (ko) 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법
KR20220090020A (ko) 비휘발성 메모리 시스템이 생성한 메타데이터를 전송하는 장치 및 방법
US20190227740A1 (en) Atomic write method for multi-transaction
CN111913892B (zh) 使用cmb提供开放通道存储设备
KR20210142863A (ko) 데이터 처리 시스템의 동작 효율성을 높이기 위한 장치 및 방법
KR20210043001A (ko) 하이브리드 메모리 시스템 인터페이스

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161230

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee