KR100962186B1 - 초저전력 스토리지 시스템 및 그의 데이터 관리방법 - Google Patents

초저전력 스토리지 시스템 및 그의 데이터 관리방법 Download PDF

Info

Publication number
KR100962186B1
KR100962186B1 KR1020080131115A KR20080131115A KR100962186B1 KR 100962186 B1 KR100962186 B1 KR 100962186B1 KR 1020080131115 A KR1020080131115 A KR 1020080131115A KR 20080131115 A KR20080131115 A KR 20080131115A KR 100962186 B1 KR100962186 B1 KR 100962186B1
Authority
KR
South Korea
Prior art keywords
data
low power
storage system
power storage
ultra low
Prior art date
Application number
KR1020080131115A
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 KR1020080131115A priority Critical patent/KR100962186B1/ko
Application granted granted Critical
Publication of KR100962186B1 publication Critical patent/KR100962186B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

본 발명은 초저전력 스토리지 시스템 및 그의 데이터 관리방법에 관한 것이다.
본 발명에 따른 초저전력 스토리지 시스템은, 복수의 SSD가 병렬로 배열되어, 데이터를 저장하는 SSD 어레이, 데이터의 I/O처리를 위하여 버퍼링하며, 각 영역의 매핑 테이블을 저장하는 랜덤 엑세스 메모리, SSD 어레이로의 데이터 저장 및 랜덤 엑세스 메모리에의 매핑 테이블의 저장의 제어를 위한 제어부(CPU)를 포함한다.
SSD, I/O, 랜덤 엑세스 메모리, 매핑 테이블

Description

초저전력 스토리지 시스템 및 그의 데이터 관리방법{ULTRA LOW POWER STORAGE SYSTEM AND DATA MANAGEMENT METHOD THEREOF}
본 발명은 초저전력 스토리지 시스템 및 그의 데이터 관리방법에 관한 것이다.
최근 고성능 낸드 플래시 기반 SSD(Solid state disk)를 이용하여 스토리지 시스템 사용하는 활용 분야가 늘고 있다. SSD는 낸드 플래시를 기본 저장 매체를 사용하여 기존의 하드 디스크보다 데이터 접근 속도가 빠르며, 기계적인 움직임이 없어서 전력소모 역시 작다. 또한, SSD는 진동에 강하기 때문에 모바일 디바이스나 노트북 컴퓨터 시장에서 하드 디스크를 대체하고 있다.
그리고, SSD의 빠른 읽기 속도 및 저전력 특징 때문에 엔터프라이즈 서버 환경, 일반 사용자의 PC등 사용처가 확산되고 있다. 또한, SSD의 임의 쓰기 지연 문제 및 병렬 처리를 통한 최대의 I/O 대역폭을 얻기 위해서 SSD를 기존의 하드웨어 RAID 컨트롤러를 통해서 연결하는 시스템이 사용되고 있다.
한편, 서버 시스템에서는 대용량 처리 및 디스크의 데이터를 SDRAM의 버퍼 캐시에 보관하여 디스크가 가지고 있는 지연 속도에 따른 병목문제를 해결하고 있다. 따라서 이러한 SDRAM을 통한 메모리 버퍼의 사용으로 시스템의 상당부분 전력이 소모된다.
상기 문제를 해결하기 위해 US 특허 2008/115183 A1. Method of Managing a Large Array of Non-volatile Memories에서는 하나의 SSD내에서 병렬 처리 효과를 극대화하기 위해서 모듈, 뱅크 단위의 버츄얼 스트립(virtual strip), 버츄얼 영역(virtual region)단위로 데이터 영역을 관리한다. 기존의 DRAM 기반 버퍼 관리를 하며, 버퍼의 단위 크기는 버츄얼(Virtual region)단위인 4MB(8 module, 8 bank의 경우)로 플러쉬(flush) 대상을 선정한다.
그러나, 버퍼의 데이터를 플래시 메모리로 쓸 때 임의의 버츄얼 영역(virtual region)을 선택하는 단순한 방식을 취하는데, SSD 내장 CPU의 성능이나 DRAM 여유 공간을 고려할 때, 보다 효율적인 버퍼 관리 기법을 추가 할 필요가 있다. 또한, 버츄얼 존(virtual zone), 버츄얼 스트립(virtual strip) 매핑 테이블을 저장하는 방식에 대한 고려가 없어, 이를 저장하고 관리하는 방식을 필요로 한다.
US 특허 PCT/US1996/20498에서는 플래시 메모리가 주 메모리를 보충하도록 하는 메모리 관리자에 관한 것으로서, 스토리지(Storage) 버퍼를 제거하고, 낸드 플래시에서 바로 코드를 실행할 수 있게 하여 플래시 메모리가 주 메모리를 보충하도록 할 수 있는 기법을 제시한다.
US 특허 2008/0162791 A1. Solid State Storage Element and Method에서는 SSD를 구성하는 내부 컴포넌트 디바이스 레벨에서의 데이터 관리 방법을 나타낸다. 그러나, 이 방식에서는 다수의 플래시 메모리 컨트롤러를 고려하지 못하여 최대 병렬 처리 얻기 힘들다는 단점이 있다.
따라서, 상기와 같은 문제점을 해결하기 위하여, 본 발명은 SSD를 메인 메모리 및 데이터 저장에 사용하는 것에 의하여, 전체 시스템의 전력을 감소시킬 수 있는, 초저전력 스토리지 시스템 및 그의 데이터 관리방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은, 병렬적인 SSD 저장장치 관리기법과 비휘발성 램에 작은 단위의 로그를 버퍼링하는 방법을 제공하는 것에 의하여, SSD의 대역폭을 최대로 사용할 수 있는 초저전력 스토리지 시스템 및 그의 데이터 관리방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은, 데이터 I/O 수를 감소시켜 전체적인 성능을 향상시킬 수 있는 초저전력 스토리지 시스템 및 그의 데이터 관리방법을 제공하는 것을 목적으로 한다.
청구항 1에 관한 발명인 초저전력 스토리지 시스템은, 복수의 SSD가 병렬로 배열되어, 데이터를 저장하는 SSD 어레이, 데이터의 I/O처리를 위하여 버퍼링하며, 각 영역의 매핑 테이블을 저장하는 랜덤 엑세스 메모리, SSD 어레이로의 데이터 저장 및 랜덤 엑세스 메모리에의 매핑 테이블의 저장의 제어를 위한 제어부(CPU)를 포함한다.
청구항 2에 관한 발명인 초저전력 스토리지 시스템은, 청구항 1에 관한 발명인 초저전력 스토리지 시스템에 있어서, 랜덤 엑세스 메모리는 MRAM, PRAM, FeRAM 중 어느 하나이다.
청구항 3에 관한 발명인 초저전력 스토리지 시스템은, 청구항 1또는 청구항 2에 관한 발명인 초저전력 스토리지 시스템에 있어서, 랜덤 엑세스 메모리는 슈퍼 블록 및 하이브리드 페이지 매핑 데이터를 저장한다.
청구항 4에 관한 발명인 초저전력 스토리지 시스템은, 청구항 1에 관한 발명인 초저전력 스토리지 시스템에 있어서, 제어부는, SSD 어레이 내에서 파일의 순차적 쓰기 패턴 및 임의적 쓰기 패턴에 대하여 로그 블록 및 데이터 블록을 뱅크별로 할당하여 데이터의 I/O 병렬 처리를 수행하도록 제어한다.
청구항 5에 관한 발명인 초저전력 스토리지 시스템은, 청구항 4에 관한 발명인 초저전력 스토리지 시스템에 있어서, 파일의 순차적 쓰기 패턴에 대하여는, 각 뱅크 별로 페이지를 할당하는 입자 단위의 스트라이핑 방식을 적용한다.
청구항 6에 관한 발명인 초저전력 스토리지 시스템은, 청구항 4에 관한 발명인 초저전력 스토리지 시스템에 있어서, 파일의 임의적 쓰기 패턴에 대하여는, 블록 단위별로 페이지를 스트라이핑하고, 수정빈도가 높은 핫 로그블록과 수정빈도가 낮은 콜드 로그블록으로 분할한 후, 각 뱅크별로 블록을 할당한다.
청구항 7에 관한 발명인 초저전력 스토리지 시스템은, 청구항 1에 관한 발명인 초저전력 스토리지 시스템에 있어서, 제어부는, 랜덤 엑세스 메모리에 각 뱅크별로 로그 페이지를 할당하고, 각 페이지 내에서 데이터의 변경을 인 플레이스(in- place) 업데이트하여 데이터의 I/O의 횟수를 조절한다.
청구항 8에 관한 발명인 초저전력 스토리지 시스템의 데이터 관리방법이고, 청구항 1에 관한 발명인 초저전력 스토리지 시스템을 이용하는 초저전력 스토리지 시스템의 데이터 관리방법이고, SSD 어레이 내에서는, 파일의 순차적 쓰기 패턴 및 임의적 쓰기 패턴에 대하여 로그 블록 및 데이터 블록을 뱅크별로 할당하여 데이터의 I/O 병렬 처리를 수행한다.
청구항 9에 관한 발명인 초저전력 스토리지 시스템의 데이터 관리방법은, 청구항 8에 관한 발명인 초저전력 스토리지 시스템의 데이터 관리방법에 있어서, 파일의 순차적 쓰기 패턴에 대하여는, 각 뱅크별로 페이지를 할당하는 입자 단위의 스트라이핑 방식을 적용한다.
청구항 10에 관한 발명인 초저전력 스토리지 시스템의 데이터 관리방법은, 청구항 8에 관한 발명인 초저전력 스토리지 시스템의 데이터 관리방법에 있어서, 파일의 임의적 쓰기 패턴에 대하여는, 블록 단위별로 페이지를 스트라이핑하고, 수정빈도가 높은 핫 로그블록과 수정빈도가 낮은 콜드 로그블록으로 분할한 후, 각 뱅크별로 블록을 할당한다.
청구항 11에 관한 발명인 초저전력 스토리지 시스템의 데이터 관리방법은, 청구항 1에 관한 발명인 초저전력 스토리지 시스템을 이용하는 초저전력 스토리지 시스템의 데이터 관리방법이고, 랜덤 엑세스 메모리에 각 뱅크별로 로그 페이지를 할당하고, 각 페이지 내에서 데이터의 변경을 인 플레이스(in-place) 업데이트하여 데이터의 I/O의 횟수를 조절한다.
청구항 12에 관한 발명인 초저전력 스토리지 시스템의 데이터 관리방법은, 청구항 11에 관한 발명인 초저전력 스토리지 시스템의 데이터 관리방법에 있어서, 랜덤 엑세스 메모리는 MRAM, PRAM, FeRAM 중 어느 하나이다.
청구항 13에 관한 발명인 초저전력 스토리지 시스템의 데이터 관리방법은, 청구항 11또는 청구항 12에 관한 발명인 초저전력 스토리지 시스템의 데이터 관리방법에 있어서, 랜덤 엑세스 메모리는 슈퍼 블록 및 하이브리드 페이지 매핑 데이터를 저장한다.
상기한 바와 같이, 본 발명에 따른 초저전력 스토리지 시스템 및 그의 데이터 관리방법에 의하면, SSD를 메인 메모리 및 데이터 저장에 사용하는 것에 의하여, 전체 시스템의 전력을 감소시킬 수 있다.
또한, 본 발명에 따르면, 병렬적인 SSD 저장장치 관리기법과 비휘발성 램에 작은 단위의 로그를 버퍼링하는 방법을 제공하는 것에 의하여, SSD의 대역폭을 최대로 사용할 수 있다.
또한, 본 발명에 따르면, 데이터 I/O 수를 감소시켜 전체적인 성능을 향상시킬 수 있다.
이상과 같은 본 발명에 대한 해결하고자 하는 과제, 과제 해결 수단, 효과 외의 구체적인 사항들은 다음에 기재할 실시예 및 도면들에 포함되어 있다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세 하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하 본 발명의 실시예에 대하여 첨부한 도면을 참조하여 상세하게 설명하기로 한다. 다만, 첨부된 도면은 본 발명의 내용을 보다 쉽게 개시하기 위하여 설명되는 것일 뿐, 본 발명의 범위가 첨부된 도면의 범위로 한정되는 것이 아님은 이 기술분야의 통상의 지식을 가진 자라면 용이하게 알 수 있을 것이다.
우선, 본 발명은 SSD 어레이와 비휘발성 램으로의 시스템 구성과 성능 향상을 위한 병렬 처리 기법과 버퍼링 방법으로서, SSD 어레이 및 SSD내에서의 플래시 뱅크 속성을 이용하여 병렬 I/O 처리를 함으로써, 성능 향성을 높이는 것과, 작은 크기의 I/O가 들어왔을 때 비휘발성 램에 플래시 메모리의 페이지 크기가 될 때까지 버퍼링함으로써, I/O 횟수를 줄여 성능을 향상시키는 초저전력 스토리지 시스템 및 그의 데이터 관리방법이다.
도 1은 본 발명의 일 실시예에 따른 초저전력 스토리지 시스템의 구성을 설명하기 위한 블록도이고, 도 2는 본 발명의 다른 실시예에 따른 초저전력 스토리지 시스템의 쓰기 패턴에 따라 가변적 쓰기 단위 변경 및 데이터 배치 기법을 설명하기 위한 도면이며, 도 3은 본 발명의 다른 실시예에 따른 초저전력 스토리지 시스템의 블록 그룹핑을 통한 가변적 쓰기 단위 변경 및 데이터 배치 기법을 설명하기 위한 도면이고, 도 4는 본 발명의 다른 실시예에 따른 초저전력 스토리지 시스템의 쓰기 버퍼 관리 기법을 설명하기 위한 도면이며, 도 5는 본 발명의 다른 실시예에 따른 초저전력 스토리지 시스템의 비휘발성 램을 다수의 로그 영역으로 사용하여 페이지 단위의 I/O가 될 때까지 버퍼링하는 기법을 설명하기 위한 도면이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 초저전력 스토리지 시스템은, 크게 다수의 SSD 어레이(Solid state disk array, 100)와 비휘발성 램(Non-volatile Memory, 이하 랜덤 엑세스 메모리라 한다.)(200)으로 구성된 메모리 소자와, 제어부(CPU, 300)를 포함한다.
SSD어레이(Solid state disk array, 100)는, 복수의 SSD(Solid state disk)인 SSD1~SSDn이 병렬로 배열되어, 데이터를 저장하는 역할을 한다. 여기서, SSD 어레이(100)는 데이터 저장 장소로 사용이 될 뿐만 아니라 전력 소비를 줄이기 위해 기존의 SDRAM(A)이 담당하였던 메인 메모리로서의 역할도 수행한다.
랜덤 엑세스 메모리(Random Access Memory, 200)는, 데이터의 I/O처리를 위하여 버퍼링하며, 각 영역의 매핑 테이블을 저장하는 역할을 수행한다. 이때, 랜덤 엑세스 메모리(200)는 슈퍼 블록 및 하이브리드 페이지 매핑 데이터를 저장한다. 여기서, 랜덤 엑세스 메모리(200)는 페이지 단위보다 작은 I/O를 효율적으로 처리하기 위해서 버퍼링하는 역할을 할 뿐만 아니라 매핑 테이블 등의 정보를 저장하는 역할도 한다. 또한, 랜덤 엑세스 메모리(200)는 MRAM, PRAM, FeRAM 중 어느 하나이다. 즉, 이는, 워드 단위로 읽기, 쓰기 접근이 가능하며 낸드 플래시보다 상대적으로 빠른 I/O성능을 가진 메모리 소자를 의미하는 것이다. 한편, 본 발명의 실시예 에서는 랜덤 엑세스 메모리로서, MRAM, PRAM, FeRAM 중 어느 하나를 그 예로 하여 한정하나, 워드 단위로 읽기, 쓰기 접근이 가능하며 낸드 플래시보다 상대적으로 빠른 I/O성능을 가진 메모리 소자라면, 본 발명에 적용가능하다.
제어부(CPU, 300)는, SSD 어레이(100)로의 데이터 저장 및 랜덤 엑세스 메모리(200)에의 매핑 테이블의 저장하는 동작을 제어한다. 제어부(300)는 SSD 어레이(100) 내에서 파일의 순차적 쓰기 패턴 및 임의적 쓰기 패턴에 대하여 로그 블록 및 데이터 블록을 뱅크별로 할당하여 데이터의 I/O 병렬 처리를 수행하도록 제어한다. 또한, 제어부(300)는, 랜덤 엑세스 메모리(200)에 각 뱅크별로 로그 페이지를 할당하고, 각 페이지 내에서 데이터의 변경을 인 플레이스(in-place) 업데이트하여 데이터의 I/O의 횟수를 조절한다. 제어부(300)의 데이터 관리방법에 대하여는 도 3 내지 도 5에서 상세하게 설명하기로 한다.
도 2에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 초저전력 스토리지 시스템의 쓰기 패턴에 따라 가변적 쓰기 단위 변경 및 데이터 배치 기법을 설명하기 위하여, 하나의 SSD 내에서 블록 매핑과 페이지 매핑을 결합한 하이브리드 매핑 방식을 사용할 때, I/O 병렬 처리를 하기 위해서 파일의 순차적, 임의적 쓰기 패턴에 따라 가변적 쓰기 단위 변경 및 데이터 배치 기법을 그 실시예로 한다.
여기서, 순차적 쓰기 패턴에 대해서는 각 뱅크별(Bank0~Bank3)로 페이지(2KB)를 할당하는 작은 입자 단위인 스트라이핑 방식(Fine grained striping for data)을 적용하여 최대의 병렬 효과를 얻을 수 있고, 임의의 쓰기 패턴에 대해서는 블록 단위 (128KB) 별로 스트라이핑하고 빈번이 수정되는 핫(Hot) 로그(Coarse grained striping for hot log)와 수정 빈도가 낮은 콜드(Cold) 로그(Coarse grained striping for hot log)로 나눠서 각 뱅크별(Bank0~Bank3)로 블락을 할당함으로써, 소거 오버헤드를 줄일 수 있다.
도 3에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 초저전력 스토리지 시스템의 블록 그룹핑을 통한 가변적 쓰기 단위 변경 및 데이터 배치 기법을 설명하기 위하여, 블록 그룹핑을 가변적 쓰기 단위 변경 및 데이터 배치 기법을 사용하여 두 개의 SSD의 병렬효과를 얻는 기법을 그 실시 예로 한다.
여기서, 각각의 SSD는 4개의 모듈, 4개의 뱅크(Bank0~Bank3)로 구성되며, 각 SSD(SSD1, SSD2)마다 최대 16개의 병렬처리 I/O가 발생할 수 있다.
우선, 시스템의 스토리지의 가상 주소(Virtual address space)는 하나의 SSD에서의 최대 병렬 처리 단위인 16블록 단위로 스트라이핑 된다. 유닛 단위는 1, 2, 3, 4가 있을 때 SSD1는 1, 3을 SSD2는 2, 4를 할당한다.
보다 상세하게 설명하자면, 도 3의 SSD에서는 슈퍼 블록 매핑 방식을 취한다. N개의 단위 블록 내에서는 정순서가 되지 않아도 허용하며 최대 K개의 로그 블록을 할당한다. 또한, 로그 블록 할당 시 추후 소거 연산이 최대한 치환 소거가 될 수 있도록 파일의 수정 빈도에 따라 핫 로그, 콜드 로그 블록을 할당한다. 해당 슈퍼블록(super block)내에서 순차적 I/O가 발생할 경우, 각 뱅크별로 순차적으로 페이지를 할당하는 최소 단위로 스트라이핑하여 병렬 처리 효과를 얻는다. 해당 슈퍼블록(super block)내에서 임의 I/O가 발생할 경우 로그 블록을 하나씩 각 뱅크에서 차출하여 할당하며, 이 때 핫(hot) 로그 블록과 콜드(cold) 로그 블록을 구분하여 서 업데이트 빈도가 높은 페이지는 핫(hot) 로그 블록에, 업데이트 빈도가 낮은 페이지는 콜드(cold) 로그 블록에 쓰도록 한다. 로그 블록 할당은 뱅크를 바꾸어가면서 할당하며 최대한 균일하게 블록별로 소거 연산을 하기 위해서 라운드 로빈 방식으로 핫(hot) 로그 블록에는 소거가 많이 된 블록을 할당하고, 콜드(cold) 로그 블록에는 소거 횟수가 적은 블록을 할당한다.
도 4에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 초저전력 스토리지 시스템의 쓰기 버퍼 관리 기법은, 비휘발성 램(Non-volatile Memory, NVRAM)에 각 뱅크별로 크기가 2Kbytes인 로그 페이지를 할당하고, 각 페이지(P1, P2, P3, P4) 내에서 작은 데이터의 변경을 SSD 어레잉에 플레이스(in-place) 업데이트 함으로써, I/O 횟수를 줄여 성능 향상을 할 수 있다.
도 5에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 초저전력 스토리지 시스템의 비휘발성 램을 다수의 로그 영역으로 사용하여 페이지 단위의 I/O가 될 때까지 버퍼링하는 기법은, I/O 검출기(I/O Detector)로부터 I/O의 크기가 플래시 메모리의 페이지 사이즈(즉, 2KBytes)보다 작으면, 읽기, 쓰기 연산 시 비효율적인 문제를 해결하기 위해서 비휘발성 램을 이용해 페이지 단위(500Byte)의 I/O가 될 때까지 버퍼링함으로써, 작은 사이즈의 I/O 횟수를 줄여 성능 향상을 할 수 있다. 그러나, I/O 검출기(I/O Detector)로부터 I/O의 크기가 플래시 메모리의 페이지 사이즈(즉, 2KBytes)보다 크거나 같을 때는, 버퍼링하지 않는다.
따라서, 상기와 같이 구성된 본 발명에 따른 초저전력 스토리지 시스템 및 그의 데이터 관리방법은, 기존의 디스크의 읽기, 쓰기를 하기 위해서 사용되던 버 퍼 사용량을 최소화하여 시스템 전체적으로 필요한 메인 메모리 사용량을 줄이고, SSD 자체를 메인 메모리로 사용하여 초저전력 스토리지 시스템을 구현할 수 있다.
또한, 본 발명은 SDRAM보다 읽기, 쓰기 성능이 현저히 떨어지는 SSD의 특성을 다수의 SSD 어레이 및 SSD내에서의 플래시 뱅크 속성을 이용하여 병렬 I/O 처리 기법 및 제반 버퍼 관리를 통해서 응답 속도 및 쓰기 성능을 향상 시키게 되는데, 쓰기 요청 시 순차적 I/O 및 임의적 I/O를 분리하여 데이터 배치 최소 단위를 가변적으로 변경하고, 순차적 I/O의 경우 데이터의 업데이트 빈도가 낮다고 예상하고 데이터를 조밀한 단위로 스트라이핑하여 SSD 어레이의 최대 대역폭을 사용할 수 있게 한다. 임의쓰기의 경우 각 데이터의 수정될 빈도가 연속 쓰기보다 높다고 예상되므로 이 데이터들은 앞으로 소거될 가능성이 높기 때문에, 이러한 데이터들은 업데이트 예상 빈도에 따라 분류 후, 같은 블록에 배치하여 소거 동작할 때 대부분의 페이지가 무효화 되는 것을 유도하고 병렬 처리 효과를 유도하기 위해서 로그블록을 최소병렬처리단위인 뱅크 단위마다 할당하면서, 쓰기 I/O가 한 쪽 로그블록에 몰리는 것을 해소하기 위해서 쓰기 빈도에 따른 로그 블록을 돌아가면서 균등히 배치하여준다.
이와 같이, 상술한 본 발명의 기술적 구성은 본 발명이 속하는 기술분야의 당업자가 본 발명의 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적 인 것이 아닌 것으로서 이해되어야 하고, 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 본 발명의 일 실시예에 따른 초저전력 스토리지 시스템의 구성을 설명하기 위한 블록도.
도 2는 본 발명의 다른 실시예에 따른 초저전력 스토리지 시스템의 쓰기 패턴에 따라 가변적 쓰기 단위 변경 및 데이터 배치 기법을 설명하기 위한 도면.
도 3은 본 발명의 다른 실시예에 따른 초저전력 스토리지 시스템의 블록 그룹핑을 통한 가변적 쓰기 단위 변경 및 데이터 배치 기법을 설명하기 위한 도면.
도 4는 본 발명의 다른 실시예에 따른 초저전력 스토리지 시스템의 쓰기 버퍼 관리 기법을 설명하기 위한 도면.
도 5는 본 발명의 다른 실시예에 따른 초저전력 스토리지 시스템의 비휘발성 램을 다수의 로그 영역으로 사용하여 페이지 단위의 I/O가 될 때까지 버퍼링하는 기법을 설명하기 위한 도면.

Claims (13)

  1. 복수의 SSD가 병렬로 배열되어, 데이터를 저장하는 SSD 어레이;
    상기 데이터의 I/O처리를 위하여 버퍼링하며, 각 영역의 매핑 테이블을 저장하는 랜덤 엑세스 메모리; 및
    상기 SSD 어레이로의 데이터 저장 및 상기 랜덤 엑세스 메모리에의 매핑 테이블의 저장의 제어를 위한 제어부(CPU)를 포함하는, 초저전력 스토리지 시스템.
  2. 제1항에 있어서,
    상기 랜덤 엑세스 메모리는 MRAM, PRAM, FeRAM 중 어느 하나인,
    초저전력 스토리지 시스템.
  3. 제1항 또는 제2항에 있어서,
    상기 랜덤 엑세스 메모리는 슈퍼 블록 및 하이브리드 페이지 매핑 데이터를 저장하는,
    초저전력 스토리지 시스템.
  4. 제1항에 있어서,
    상기 제어부는, 상기 SSD 어레이 내에서 파일의 순차적 쓰기 패턴 및 임의적 쓰기 패턴에 대하여 로그 블록 및 데이터 블록을 뱅크별로 할당하여 상기 데이터의 I/O 병렬 처리를 수행하도록 제어하는,
    초저전력 스토리지 시스템.
  5. 제4항에 있어서,
    상기 파일의 순차적 쓰기 패턴에 대하여는, 각 뱅크 별로 페이지를 할당하는 입자 단위의 스트라이핑 방식을 적용하는,
    초저전력 스토리지 시스템.
  6. 제4항에 있어서,
    상기 파일의 임의적 쓰기 패턴에 대하여는, 블록 단위 별로 페이지를 스트라이핑하고, 수정빈도가 높은 핫 로그블록과 수정빈도가 낮은 콜드 로그블록으로 분할한 후, 각 뱅크별로 블록을 할당하는,
    초저전력 스토리지 시스템.
  7. 제1항에 있어서,
    상기 제어부는, 상기 랜덤 엑세스 메모리에 각 뱅크별로 로그 페이지를 할당하고, 각 페이지 내에서 데이터의 변경을 인 플레이스(in-place) 업데이트하여 상기 데이터의 I/O의 횟수를 조절하는,
    초저전력 스토리지 시스템.
  8. 제1항에 의한 초저전력 스토리지 시스템을 이용하는 초저전력 스토리지 시스템의 데이터 관리방법이고,
    상기 SSD 어레이 내에서는, 파일의 순차적 쓰기 패턴 및 임의적 쓰기 패턴에 대하여 로그 블록 및 데이터 블록을 뱅크별로 할당하여 상기 데이터의 I/O 병렬 처리를 수행하는, 초저전력 스토리지 시스템의 데이터 관리방법.
  9. 제8항에 있어서,
    상기 파일의 순차적 쓰기 패턴에 대하여는, 각 뱅크 별로 페이지를 할당하는 입자 단위의 스트라이핑 방식을 적용하는,
    초저전력 스토리지 시스템의 데이터 관리방법.
  10. 제8항에 있어서,
    상기 파일의 임의적 쓰기 패턴에 대하여는, 블록 단위 별로 페이지를 스트라이핑하고, 수정빈도가 높은 핫 로그블록과 수정빈도가 낮은 콜드 로그블록으로 분할한 후, 각 뱅크별로 블록을 할당하는,
    초저전력 스토리지 시스템의 데이터 관리방법.
  11. 제1항에 의한 초저전력 스토리지 시스템을 이용하는 초저전력 스토리지 시스템의 데이터 관리방법이고,
    상기 랜덤 엑세스 메모리에 각 뱅크별로 로그 페이지를 할당하고, 각 페이지 내에서 데이터의 변경을 인 플레이스(in-place) 업데이트하여 상기 데이터의 I/O의 횟수를 조절하는,
    초저전력 스토리지 시스템의 데이터 관리방법.
  12. 제11항에 있어서,
    상기 랜덤 엑세스 메모리는 MRAM, PRAM, FeRAM 중 어느 하나인,
    초저전력 스토리초저전력 스토리지 시스템의 데이터 관리방법.
  13. 제11항 또는 제12항에 있어서,
    상기 랜덤 엑세스 메모리는 슈퍼 블록 및 하이브리드 페이지 매핑 데이터를 저장하는,
    초저전력 스토리지 시스템의 데이터 관리방법.
KR1020080131115A 2008-12-22 2008-12-22 초저전력 스토리지 시스템 및 그의 데이터 관리방법 KR100962186B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080131115A KR100962186B1 (ko) 2008-12-22 2008-12-22 초저전력 스토리지 시스템 및 그의 데이터 관리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080131115A KR100962186B1 (ko) 2008-12-22 2008-12-22 초저전력 스토리지 시스템 및 그의 데이터 관리방법

Publications (1)

Publication Number Publication Date
KR100962186B1 true KR100962186B1 (ko) 2010-06-10

Family

ID=42369752

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080131115A KR100962186B1 (ko) 2008-12-22 2008-12-22 초저전력 스토리지 시스템 및 그의 데이터 관리방법

Country Status (1)

Country Link
KR (1) KR100962186B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170081133A (ko) * 2015-11-27 2017-07-11 후아웨이 테크놀러지 컴퍼니 리미티드 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치
CN109074310A (zh) * 2016-03-29 2018-12-21 美光科技公司 包含动态超级块的存储器装置及相关方法以及电子系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100810666B1 (ko) 2006-12-26 2008-03-07 (재)대구경북과학기술연구원 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터색인 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100810666B1 (ko) 2006-12-26 2008-03-07 (재)대구경북과학기술연구원 플래시 메모리를 저장장치로 사용하는 기기를 위한 데이터색인 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170081133A (ko) * 2015-11-27 2017-07-11 후아웨이 테크놀러지 컴퍼니 리미티드 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치
KR20180072855A (ko) * 2015-11-27 2018-06-29 후아웨이 테크놀러지 컴퍼니 리미티드 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치
KR101871471B1 (ko) * 2015-11-27 2018-08-02 후아웨이 테크놀러지 컴퍼니 리미티드 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치
KR101962359B1 (ko) 2015-11-27 2019-03-26 후아웨이 테크놀러지 컴퍼니 리미티드 저장 장치에 의해 데이터를 저장하기 위한 방법 및 저장 장치
CN109074310A (zh) * 2016-03-29 2018-12-21 美光科技公司 包含动态超级块的存储器装置及相关方法以及电子系统

Similar Documents

Publication Publication Date Title
US10649657B2 (en) Log-based storage for different data types in non-volatile memory
EP2715510B1 (en) Method for storage devices to achieve low write amplification with low over provision
JP5823469B2 (ja) 低電力・低遅延・大容量ストレージ・クラス・メモリのための装置および方法
Jo et al. FAB: Flash-aware buffer management policy for portable media players
US9928169B2 (en) Method and system for improving swap performance
EP2513798B1 (en) Reducing access contention in flash-based memory systems
US9128845B2 (en) Dynamically partition a volatile memory for a cache and a memory partition
CN109144887B (zh) 存储器系统及控制非易失性存储器的控制方法
US8966204B2 (en) Data migration between memory locations
KR101083673B1 (ko) 반도체 스토리지 시스템 및 그 제어 방법
KR101297563B1 (ko) 스토리지 관리 방법 및 관리 시스템
Park et al. Design and analysis of flash translation layers for multi-channel NAND flash-based storage devices
Lee et al. Empirical study of NVM storage: an operating system's perspective and implications
Shim et al. An adaptive partitioning scheme for DRAM-based cache in solid state drives
US20100030948A1 (en) Solid state storage system with data attribute wear leveling and method of controlling the solid state storage system
US20140331024A1 (en) Method of Dynamically Adjusting Mapping Manner in Non-Volatile Memory and Non-Volatile Storage Device Using the Same
KR20100012468A (ko) 고속 동작하는 반도체 스토리지 시스템
Yong et al. Design and implementation of virtual stream management for NAND flash-based storage
KR100962186B1 (ko) 초저전력 스토리지 시스템 및 그의 데이터 관리방법
KR101155542B1 (ko) Ssd 장치의 매핑 테이블 관리 방법
Du et al. SSW: A strictly sequential writing method for open-channel SSD
Lee et al. Mapping granularity and performance tradeoffs for solid state drive
US20170052899A1 (en) Buffer cache device method for managing the same and applying system thereof
US10698621B2 (en) Block reuse for memory operations
Lee et al. Accelerating In-Page Logging with Non-Volatile Memory.

Legal Events

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

Payment date: 20130530

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140521

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee