KR20120082218A - 파티션 정보를 기초로 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 - Google Patents

파티션 정보를 기초로 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 Download PDF

Info

Publication number
KR20120082218A
KR20120082218A KR1020110003595A KR20110003595A KR20120082218A KR 20120082218 A KR20120082218 A KR 20120082218A KR 1020110003595 A KR1020110003595 A KR 1020110003595A KR 20110003595 A KR20110003595 A KR 20110003595A KR 20120082218 A KR20120082218 A KR 20120082218A
Authority
KR
South Korea
Prior art keywords
partition
storage device
write request
read
host
Prior art date
Application number
KR1020110003595A
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 KR1020110003595A priority Critical patent/KR20120082218A/ko
Priority to PCT/KR2012/000254 priority patent/WO2012096503A2/ko
Priority to US13/978,276 priority patent/US20140059277A1/en
Publication of KR20120082218A publication Critical patent/KR20120082218A/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Abstract

파티션 정보를 기초로 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법이 제공된다. 스토리지 장치는 호스트로부터 읽기 또는 쓰기 요청을 수신함에 응답하여, 스토리지 장치에 저장된 각 파티션이 차지하는 블록 주소들에 대한 정보를 기초로 호스트의 요청에 대응하는 파티션을 파악한다. 그리고 스토리지 장치는 해당 파티션의 미리 정해진 속성에 기초하여 호스트의 요청에 대한 처리 기법을 적응적으로 결정한다.

Description

파티션 정보를 기초로 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법{STORAGE DEVICE OF ADAPTIVELY DETERMINING PROCESSING SCHEME WITH RESPECT TO REQUEST OF HOST BASED ON PARTITION INFORMATION AND OPERATING METHOD THEREOF}
본 발명은 고체 상태 디스크(Solid State Disk; SSD)와 같이 플래시 메모리를 이용한 스토리지 장치의 내부 동작 방식 및 스토리지 장치와 호스트 사이의 상호 작용 방식에 관한 것이다. 구체적으로 본 발명은 파티션 정보를 기초로 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법에 관한 것이다.
SSD는 블록 주소(Block Address; BA)에 의하여 구분되는 복수의 블록들을 SSD와 연결된 외부 호스트에게 제공한다. SSD는 호스트로부터 블록 주소 및 데이터를 포함하는 쓰기 요청을 수신함에 응답하여, 해당 데이터를 해당 블록에 저장한다. 또한 SSD는 호스트로부터 블록 주소를 포함하는 읽기 요청을 수신함에 응답하여, 해당 블록에 존재하는 데이터를 호스트로 전송한다.
호스트의 운영 체제(Operating System; OS)는 SSD의 저장 공간을 적어도 하나의 파티션으로 분할하고, 각 파티션이 시작되는 블록 주소 및 각 파티션의 크기(즉, 블록 수)를 나타내는 파티션 테이블을 SSD에 저장한다. 하지만 SSD는 파티션 테이블을 저장하기만 할 뿐, 파티션 테이블의 내용은 검사하지 않는다. 따라서 SSD는 호스트로부터 읽기 또는 쓰기 요청을 수신하였을 때에 요청에 대응하는 블록 주소가 어떤 파티션에 속하는지 판단하지 못한다. 이에 따라 호스트의 요청에 대한 SSD의 내부 동작 방식은 모든 파티션에 대해 동일하게 적용될 수 있다.
사용자는 각 파티션들의 데이터 신뢰도, 처리 속도 및 용량에 대한 성능이 서로 다르다면 보다 효율적으로 SSD를 이용할 수 있다. 하지만 위와 같은 방법에 의하면 SSD는 사용자에게 각 파티션마다 다른 성능을 제공하기 어렵다.
본 발명의 실시예들은 호스트로부터 읽기 또는 쓰기 요청을 수신하는 경우, 각 파티션이 차지하는 블록 주소들에 대한 정보를 기초로 호스트의 요청에 대응하는 파티션을 판단하고 해당 파티션의 속성에 따라 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치를 제공한다.
본 발명의 일 실시예에 따른, 호스트 및 적어도 하나의 디스크를 갖는 스토리지 장치를 포함하는 스토리지 시스템에서, 상기 스토리지 장치의 동작 방법은 상기 적어도 하나의 디스크에 대한 적어도 하나의 파티션 각각의 속성에 대한 정보를 저장하는 단계; 상기 호스트로부터 수신되는 읽기 또는 쓰기 요청에 대응하는 블록 주소가 상기 적어도 하나의 파티션 중 어느 파티션에 속하는지 판단하는 단계; 및 상기 읽기 또는 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 속성에 따라 상기 읽기 또는 쓰기 요청에 대한 처리 기법을 적응적으로 결정하는 단계를 포함한다.
상기 스토리지 장치의 동작 방법은 상기 적어도 하나의 파티션 각각이 차지하는 블록 주소들에 대한 정보를 미리 저장하는 단계를 더 포함할 수 있다.
상기 적어도 하나의 파티션 각각이 차지하는 블록 주소들에 대한 정보를 미리 저장하는 단계는 파티션 테이블에 대한 쓰기 요청을 수신하는 경우, 상기 파티션 테이블에 대한 쓰기 요청에 대응하여 기록되는 데이터를 기초로 상기 적어도 하나의 파티션 각각에 대한 블록 주소들에 대한 정보를 획득하는 단계를 포함할 수 있다.
상기 적어도 하나의 디스크에 대한 적어도 하나의 파티션 각각의 속성에 대한 정보를 저장하는 단계는 상기 호스트로부터 상기 적어도 하나의 파티션 각각의 속성에 대한 사용자의 설정을 수신하는 단계를 포함할 수 있다.
상기 적어도 하나의 파티션 각각의 속성에 대한 정보는 상기 적어도 하나의 파티션 각각의 데이터 신뢰성, 처리 속도 또는 용량 중 적어도 하나에 부여되는 가중치에 대한 정보를 포함할 수 있다.
상기 읽기 또는 쓰기 요청에 대한 처리 기법을 적응적으로 결정하는 단계는 상기 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 데이터 신뢰성에 대한 가중치에 기초하여 상기 쓰기 요청에 해당하는 데이터를 상기 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 서로 다른 두 위치에 중복하여 저장할지 여부를 결정하는 단계를 포함할 수 있다.
상기 읽기 또는 쓰기 요청에 대한 처리 기법을 적응적으로 결정하는 단계는 상기 스토리지 장치가 멀티 레벨 셀(Multi Level Cell; MLC) 플래시 메모리를 포함하는 경우, 상기 읽기 또는 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 데이터 신뢰성 및 처리 속도에 대한 가중치에 기초하여 상기 멀티 레벨 셀 플래시 메모리를 싱글 레벨 셀(Single Level Cell; SLC) 방식 또는 멀티 레벨 셀 방식 중 어느 방식으로 동작할지를 결정하는 단계를 포함할 수 있다.
상기 읽기 또는 쓰기 요청에 대한 처리 기법을 적응적으로 결정하는 단계는 상기 읽기 또는 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 순차적 읽기 및 쓰기(sequential read and write)와 무작위 읽기 및 쓰기(random read and write) 대한 가중치에 기초하여 주소 사상(address mapping) 기법을 결정하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 호스트 및 적어도 하나의 디스크를 갖는 스토리지 장치를 포함하는 스토리지 시스템의 상기 스토리지 장치는 상기 적어도 하나의 디스크에 대한 적어도 하나의 파티션 각각의 속성에 대한 정보를 저장하는 저장모듈; 및 상기 호스트로부터 수신되는 읽기 또는 쓰기 요청에 대응하는 블록 주소가 상기 적어도 하나의 파티션 중 어느 파티션에 속하는지 판단하고, 상기 읽기 또는 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 속성에 따라 상기 읽기 또는 쓰기 요청에 대한 처리 기법을 적응적으로 결정하는 제어 모듈을 포함한다.
상기 저장 모듈은 상기 적어도 하나의 파티션 각각이 차지하는 블록 주소들에 대한 정보를 미리 저장할 수 있다.
상기 저장 모듈은 파티션 테이블에 대한 쓰기 요청을 수신하는 경우, 상기 파티션 테이블에 대응하여 기록되는 데이터를 기초로 상기 적어도 하나의 파티션 각각에 대한 블록 주소들에 대한 정보를 획득할 수 있다.
상기 저장 모듈은 상기 호스트로부터 상기 적어도 하나의 파티션 각각의 속성에 대한 사용자의 설정을 수신할 수 있다.
상기 적어도 하나의 파티션 각각의 속성에 대한 정보는 상기 적어도 하나의 파티션 각각의 데이터 신뢰성, 처리 속도 또는 용량 중 적어도 하나에 부여되는 가중치에 대한 정보를 포함할 수 있다.
상기 제어 모듈은 상기 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 데이터 신뢰성에 대한 가중치에 기초하여 상기 쓰기 요청에 해당하는 데이터를 상기 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 서로 다른 두 위치에 중복하여 저장할지 여부를 결정할 수 있다.
상기 제어 모듈은 상기 스토리지 장치가 멀티 레벨 셀(Multi Level Cell; MLC) 플래시 메모리를 포함하는 경우, 상기 읽기 또는 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 데이터 신뢰성 및 처리 속도에 대한 가중치에 기초하여 상기 멀티 레벨 셀 플래시 메모리를 싱글 레벨 셀(Single Level Cell; SLC) 방식 또는 멀티 레벨 셀 방식 중 어느 방식으로 동작할지를 결정할 수 있다.
상기 제어 모듈은 상기 읽기 또는 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 순차적 읽기 및 쓰기(sequential read and write)와 무작위 읽기 및 쓰기(random read and write) 대한 가중치에 기초하여 주소 사상(address mapping) 기법을 결정할 수 있다.
본 발명의 일 실시예에 따른 스토리지 장치(예를 들어, SSD)는 호스트로부터 읽기 또는 쓰기 요청을 수신함에 응답하여, 스토리지 장치에 저장된 각 파티션이 차지하는 블록 주소들에 대한 정보를 기초로 호스트의 요청에 대응하는 블록 주소가 속하는 파티션을 스스로 파악하고 스토리지 장치에 저장된 해당 파티션의 속성(데이터 신뢰도, 속도 및 용량에 대한 가중치)에 대한 정보에 따라 호스트의 요청에 대한 처리 기법을 적응적으로 결정할 수 있다. 이를 통해 스토리지 장치는 호스트로부터 별도의 정보를 수신하지 않고도 단지 블록 주소를 수신함으로써 해당 호스트의 요청에 대한 최적의 처리 방법을 결정할 수 있다.
본 발명의 일 실시예에 따른 스토리지 장치는 사용자 등에 의해 미리 정해진 파티션들의 속성에 대한 정보를 저장하고 각 파티션의 속성에 따라 처리 방법을 달리 결정함으로써, 파티션들이 서로 다른 성능을 가지도록 동작할 수 있다. 따라서 사용자는 각 파티션의 속성에 따라 파티션들을 서로 다른 용도로 이용할 수 있다.
도 1은 본 발명의 일 실시예에 따른 스토리지 시스템을 나타낸 블록도이다.
도 2는 플래시 메모리가 중요시하는 속성에 따른 SSD의 내부 동작 방식을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 컨트롤러를 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 SSD의 디스크들이 분할된 파티션들 및 블록 주소들을 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 호스트 및 적어도 하나의 디스크를 갖는 스토리지 장치를 포함하는 스토리지 시스템에서, 스토리지 장치 스토리지 장치의 동작 방법을 나타낸 동작 흐름도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 실시예를 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 스토리지 시스템을 나타낸 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 스토리지 시스템은 호스트(110) 및 스토리지 장치(120)를 포함한다.
스토리지 장치(120)는 컨트롤러 및 복수의 채널들(채널1 내지 채널3)과 연결된 복수의 디스크들(디스크1 내지 디스크9)을 포함한다.
컨트롤러와 호스트(110)는 컨트롤러 인터페이스 및 호스트 인터페이스를 통하여 여러 신호들을 송수신한다. 구체적으로, 컨트롤러는 컨트롤러 인터페이스를 통하여 호스트 인터페이스로부터 호스트(110)의 읽기 또는 쓰기 요청을 수신한다. 그리고 컨트롤러는 호스트(110)의 읽기 또는 쓰기 요청에 응답하여 복수의 디스크들에 대한 읽기 동작 또는 쓰기 동작을 제어한다.
디스크에는 자기 디스크 또는 고체 상태의 반도체 디스크가 포함될 수 있고, 반도체 디스크에는 비휘발성 메모리 또는 휘발성 메모리가 포함될 수 있다. 비휘발성 메모리의 예로 NAND 플래시, NOR 플래시와 같은 플래시 메모리가 있다.
여기서, 복수의 디스크들 각각에는 플래시 메모리가 설치될 수 있으며, 이 경우 스토리지 장치(120)는 고체 상태 디스크(Solid State Disk; SSD)일 수 있다.
복수의 디스크들은 서로 독립적인 복수의 채널들(채널1 내지 채널3)과 연결된다. 그리고 컨트롤러는 복수의 채널들 각각에 연결된 복수의 디스크들에 대한 읽기 또는 쓰기 동작을 제어할 수 있다.
복수의 채널들은 서로 독립적으로 운용된다. 따라서, 본 발명의 일 실시예에 따른 스토리지 장치(120)는 서로 독립적으로 운용되는 복수의 채널들을 이용함으로써, 병렬적으로 읽기 동작 또는 쓰기 동작을 수행할 수 있다. 즉, 컨트롤러는 채널1과 연결된 디스크1, 디스크2 및 디스크3, 채널2와 연결된 디스크4, 디스크5 및 디스크6, 채널3과 연결된 디스크7, 디스크8 및 디스크9에 대해 독립적으로 읽기 동작 또는 쓰기 동작을 제어할 수 있다.
또한 복수의 디스크들은 적어도 하나의 파티션으로 분할될 수 있다. 호스트는 적어도 하나의 파티션이 차지하는 블록 주소 및 각 파티션의 크기(즉, 블록 수)를 나타내는 파티션 테이블을 스토리지 장치(120)로 전송하고, 스토리지 장치(120)는 파티션 테이블을 특정 디스크에 저장할 수 있다.
본 발명의 실시예에 따른 스토리지 장치는 SSD뿐만 아니라 다른 장치들인 경우에도 적용될 수 있으나, 설명의 편의를 위해 스토리지 장치가 SSD인 경우를 중심으로 설명한다.
SSD의 저장매체로 사용되는 플래시 메모리는 SSD의 내부 동작 방식에 따라 데이터 신뢰도, 속도 및 저장 용량 등이 조절될 수 있다. 도 2를 통해 구체적인 동작 방식들을 설명한다.
도 2는 플래시 메모리가 중요시하는 속성에 따른 SSD의 내부 동작 방식을 나타낸 도면이다.
도 2를 참조하면, 플래시 메모리는 싱글 레벨 셀(Single Level Cell; SLC) 방식으로 동작하는 경우, 높은 데이터 신뢰도 및 빠른 처리 속도를 가질 수 있으나 큰 저장 용량을 가지지는 못한다. 반면 플래시 메모리가 멀티 레벨 셀(Multi Level Cell; MLC) 방식으로 동작하는 경우, 데이터 신뢰도 및 속도는 SLC의 경우보다 떨어지지만 큰 저장 용량은 확보할 수 있다.
또한 데이터의 신뢰도를 향상하는 방법으로 플래시 메모리에 데이터를 중복하여 저장하는 방법이 있다. 구체적으로, SSD가 호스트의 쓰기 요청을 처리할 때에 플래시 메모리의 서로 다른 두 위치에 해당 데이터가 중복하여 존재하도록 해당 데이터를 저장할 수 있다. 이를 통해 데이터의 손실 가능성을 줄일 수 있다. 그러나, 데이터를 중복하여 저장하기 때문에 많은 저장 용량이 확보되지는 못할 수 있다.
그리고 처리 속도 면에 있어서, 주소 사상(Address Mapping) 기법에 따라서 순차적 읽기 및 쓰기(sequential read and write)와 무작위 읽기 및 쓰기(random read and write) 각각에 대한 속도가 달라질 수 있다. 따라서 주소 사상 기법을 적절히 결정함으로써 순차적 읽기 및 쓰기와 무작위 읽기 및 쓰기 중 어느 하나의 속도가 더 빨라질 수 있다.
또한 ECC(Error Correcting Code)에 따라서도 속성이 달라질 수 있다. 정정 능력이 높은 ECC를 사용하는 경우 데이터의 신뢰도는 향상되지만 처리 속도는 떨어질 수 있고, 반대로 정정 능력이 낮은 ECC를 사용하는 경우 데이터의 신뢰도는 떨어지지만 처리 속도는 빨라질 수 있다.
동작 방식에 따른 플래시 메모리의 특성이 각 파티션마다 독립적으로 설정될 수 있도록, 사용자는 각 파티션의 속성(즉, 데이터 신뢰도, 속도 및 용량에 대한 중요도)을 설정할 수 있다. 그리고 각 파티션의 속성에 대한 정보는 호스트로부터 SSD로 전달될 수 있다. 그리고 SSD는 각 파티션의 속성에 대한 정보를 저장하고, 호스트로부터 읽기 또는 쓰기 요청을 수신하는 경우 해당 파티션의 속성에 대한 정보를 참조하여 호스트의 요청에 대한 처리 기법을 적응적으로 결정할 수 있다. 이러한 동작은 SSD의 컨트롤러에서 수행될 수 있으며, 도 3을 통해 컨트롤러의 구체적인 구조 및 동작을 설명한다.
도 3은 본 발명의 일 실시예에 따른 컨트롤러를 나타낸 블록도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 컨트롤러는 저장 모듈(310) 및 제어 모듈(320)을 포함한다.
저장 모듈(310)은 SSD의 각 파티션의 속성에 대한 정보를 저장한다. 여기서 파티션의 속성은 선술한 바와 같이 데이터 신뢰도, 처리 속도 및 용량 등에 부여되는 가중치에 대한 정보를 포함할 수 있다. 구체적으로, 사용자는 각 파티션의 속성을 설정할 수 있고, 저장 모듈(310)은 호스트로부터 각 파티션의 속성에 대한 사용자의 설정을 수신하여 저장할 수 있다.
그리고 저장 모듈(310)은 각 파티션이 차지하는 블록 주소들에 대한 정보를 미리 저장할 수 있다. 블록 주소들에 대한 정보는 각 파티션의 시작 블록 및 각 파티션의 크기(즉, 블록 수)에 대한 정보를 포함할 수 있다. 구체적으로, 저장 모듈(310)은 호스트로부터 파티션 테이블에 대한 쓰기 요청(예를 들어, 마스터 부트 레코드(Master Boot Record; MBR)나 블록 주소 0번지에 대한 쓰기 요청 등)을 수신하는 경우, 쓰기 요청에 대응하여 기록되는 데이터를 기초로 각 파티션에 대한 블록 주소들에 대한 정보를 획득하여 저장할 수 있다.
제어 모듈(320)은 호스트로부터 읽기 또는 쓰기 요청을 수신함에 응답하여, 호스트의 읽기 또는 쓰기 요청에 대응하는 블록 주소가 어느 파티션에 속하는지 판단한다. 구체적으로, 호스트의 읽기 요청은 해당되는 블록 주소를 포함하고, 호스트의 쓰기 요청은 해당되는 블록 주소 및 데이터를 포함한다. 따라서 제어 모듈(320)은 호스트로부터 읽기 또는 쓰기 요청을 수신하는 경우, 저장 모듈(310)에 저장된 각 파티션에 대한 블록 주소들에 대한 정보를 기초로 호스트의 요청에 포함되는 블록 주소가 어느 파티션에 속하는지를 판단할 수 있다.
그리고 제어 모듈(320)은 호스트의 읽기 또는 쓰기 요청에 대응하는 블록 주소가 속하는 파티션을 판단한 이후, 저장 모듈(320)에 저장된 해당 파티션의 속성에 따라 호스트의 읽기 또는 쓰기 요청에 대한 처리 기법을 적응적으로 결정한다. 즉, 제어 모듈(320)은 해당 파티션이 중요시하는 성능이 높게 나타나도록 하는 처리 기법을 이용하여 호스트의 읽기 또는 쓰기 요청을 처리할 수 있다.
결과적으로, 본 발명의 일 실시예에 따른 컨트롤러를 포함하는 SSD는 호스트로부터 읽기 또는 쓰기 요청이 있을 때마다 해당 요청에 대응하는 파티션 정보나 해당 파티션의 속성에 대한 정보를 호스트로부터 수신하지 않고, 단지 블록 주소에 대한 정보를 수신한다. 그리고 블록 주소를 기초로 SSD는 스스로 해당 블록 주소가 어느 파티션에 속하는지 판단하고, 해당 파티션의 속성에 따른 처리 기법을 적응적으로 결정할 수 있다. 따라서 본 발명의 일 실시예에 따른 SSD는 추측이나 통계에 의존하지 않고도 호스트의 요청에 대한 최적의 동작 방식을 결정할 수 있다.
도 4는 본 발명의 일 실시예에 따른 SSD의 디스크들이 분할된 파티션들 및 블록 주소들을 도시한 도면이다.
도 4를 참조하면, SSD에 포함되는 디스크들은 블록 주소를 가진다. 선술한 바와 같이 사용자는 디스크들을 분할하여 파티션들을 생성할 수 있다. 도 4에는, 디스크들의 블록들 중 1번지부터 4000번지까지가 파티션 C, 4000번지부터 7000번지까지가 파티션 D, 그리고 7001번지부터 9000번지까지가 파티션 E로 설정된 예가 논리적 블록 주소들의 집합(410)으로 도시되어 있다.
0번지(즉, MBR)에는 각 파티션이 시작되는 블록 주소 및 각 파티션의 크기(즉, 블록 수)를 나타내는 파티션 테이블이 저장될 수 있다. SSD는 호스트로부터 0번지에 대한 쓰기 요청을 수신하는 경우, 해당 데이터를 분석하여 각 파티션이 차지하는 블록 주소들에 대한 정보를 획득할 수 있다.
이하에서, 파티션들(파티션 C 내지 파티션 E)에 대응하는 속성들(속성 C 내지 속성 E)에 따라 SSD가 호스트의 요청에 대한 처리 방법을 적응적으로 결정하는 예들을 설명한다.
1) 첫 번째 케이스는 파티션 C가 데이터 신뢰성을 극대화하는 대신 속도 및 저장 용량을 희생하도록 설정되고, 파티션 D 및 파티션 E는 속성이 지정되지 않은 경우이다.
파티션 C에 대한 쓰기 요청이 수신된 경우, SSD는 파티션 C에 속하는 디스크들(즉, 플래시 메모리들)의 서로 다른 두 위치(즉, 서로 다른 두 블록 주소)에 해당 데이터를 중복하여 저장할 수 있다. 예를 들어, 호스트의 쓰기 요청에 대응하는 블록 주소가 1001번지인 경우, SSD는 해당 요청이 파티션 C에 관한 것으로 판단하고, 해당 데이터를 저장 매체의 서로 다른 두 물리적 위치에 중복하여 저장할 수 있다. 이를 통해 데이터 손실 가능성이 줄어들 수 있다.
반면 파티션 D 또는 파티션 E에 대한 쓰기 요청이 수신된 경우, SSD는 해당 데이터를 중복하여 저장하지 않을 수 있다.
2) 두 번째 케이스는 SSD가 SLC 플래시 메모리 및 MLC 플래시 메모리를 모두 포함하고, 파티션 C가 데이터 신뢰도 및 속도를 중요시하도록, 파티션 D가 사용 가능한 저장 용량을 중요시하도록 설정된 경우이다. 이 경우, SSD는 호스트의 읽기 또는 쓰기 요청이 파티션 C에 대한 것이면 SLC 플래시 메모리를 동작시키고 파티션 D에 대한 것이면 MLC 플래시 메모리를 동작시킴으로써 사용자가 설정한 파티션 C 및 파티션 D의 속성에 부합하도록 동작할 수 있다.
3) 세 번째 케이스는 SSD가 MLC 플래시 메모리로 구성되고, 파티션 C는 신뢰도 및 속도를 중요시하도록, 파티션 D가 사용 가능한 저장 용량을 중요시하도록 설정된 경우이다. 이 경우, SSD는 호스트로부터의 읽기 또는 쓰기 요청이 파티션 C에 대한 것이면 MLC 플래시 메모리의 일부 공간을 SLC 방식으로 동작시키고, 파티션 D에 대한 것이면 MLC 플래시 메모리의 또 다른 공간을 MLC 방식으로 동작시킴으로써 사용자가 설정한 파티션 C 및 파티션 D의 속성에 부합하도록 동작할 수 있다. 즉, MLC 플래시 메모리만을 가지고도, SSD는 동작 방법을 MLC 방식과 SLC 방식 중에서 적응적으로 선택함으로써 서로 다른 속성을 가지는 파티션의 요구를 충족시킬 수 있다.
4) 네 번째 케이스는 파티션 C가 순차적 읽기 및 쓰기에 최적화되고, 파티션 D가 무작위 읽기 및 쓰기에 최적화되도록 설정된 경우이다. 이 경우, SSD는 각 파티션에 대한 호스트의 요청에 따라 서로 다른 주소 사상 기법을 이용함으로써 각 파티션의 속성에 부합하도록 동작할 수 있다.
5) 다섯 번째 케이스는 파티션 C가 데이터 신뢰도를 중요시하도록, 파티션 E가 속도를 중요시하도록 설정된 경우이다.
이 경우, SSD는 호스트로부터 파티션 C에 대한 요청을 수신하면 정정 능력이 높은 ECC를 사용하고, 파티션 D에 대한 요청을 수신하면 정정 능력이 낮은 ECC를 사용하도록 동작할 수 있다. 이로써 SSD는 각 파티션의 신뢰도 및 속도에 대한 설정에 부합하도록 동작할 수 있다.
파티션의 속성에 부합하도록 동작하는 다른 처리 방법들에도 본 발명의 실시예들이 적용될 수 있음은 물론이다.
도 5는 본 발명의 일 실시예에 따른 호스트 및 적어도 하나의 디스크를 갖는 스토리지 장치를 포함하는 스토리지 시스템에서, 스토리지 장치 스토리지 장치의 동작 방법을 나타낸 동작 흐름도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 스토리지 장치는 적어도 하나의 디스크에 대한 적어도 하나의 파티션 각각이 차지하는 블록 주소들에 대한 정보를 저장한다(510).
스토리지 장치는 적어도 하나의 디스크에 대한 적어도 하나의 파티션 각각의 속성에 대한 정보를 저장한다(520).
스토리지 장치는 호스트로부터 읽기 또는 쓰기 요청을 수신할 때마다, 호스트로부터 수신되는 읽기 또는 쓰기 요청에 대응하는 블록 주소가 적어도 하나의 파티션 중 어느 파티션에 속하는지 판단한다(530).
스토리지 장치는 호스트의 읽기 또는 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 속성에 따라 읽기 또는 쓰기 요청에 대한 처리 기법을 적응적으로 결정한다(540). 스토리지 장치는 호스트의 읽기 또는 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 속성을 스토리지 장치에 저장된 적어도 하나의 파티션 각각의 속성에 대한 정보로부터 획득할 수 있다.
그리고 스토리지 장치는 결정된 처리 기법을 이용하여 호스트의 읽기 또는 쓰기 요청을 처리한다(550).
지금까지 본 발명에 따른 스토리지 장치의 동작 방법에 대해 설명하였다. 본 스토리지 장치의 동작 방법에는 앞서 도 1 내지 도 4와 관련하여 다양한 실시예를 통하여 상술한 내용이 그대로 적용될 수 있으므로, 더 이상의 상세한 설명은 생략하도록 한다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.

Claims (17)

  1. 호스트 및 적어도 하나의 디스크를 갖는 스토리지 장치를 포함하는 스토리지 시스템에서, 상기 스토리지 장치의 동작 방법에 있어서,
    상기 적어도 하나의 디스크에 대한 적어도 하나의 파티션 각각의 속성에 대한 정보를 저장하는 단계;
    상기 호스트로부터 수신되는 읽기 또는 쓰기 요청에 대응하는 블록 주소가 상기 적어도 하나의 파티션 중 어느 파티션에 속하는지 판단하는 단계; 및
    상기 읽기 또는 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 속성에 따라 상기 읽기 또는 쓰기 요청에 대한 처리 기법을 적응적으로 결정하는 단계
    를 포함하는 스토리지 장치의 동작 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 파티션 각각이 차지하는 블록 주소들에 대한 정보를 미리 저장하는 단계
    를 더 포함하는 스토리지 장치의 동작 방법.
  3. 제2항에 있어서,
    상기 적어도 하나의 파티션 각각이 차지하는 블록 주소들에 대한 정보를 미리 저장하는 단계는
    파티션 테이블에 대한 쓰기 요청을 수신하는 경우, 상기 파티션 테이블에 대한 쓰기 요청에 대응하여 기록되는 데이터를 기초로 상기 적어도 하나의 파티션 각각에 대한 블록 주소들에 대한 정보를 획득하는 단계
    를 포함하는 스토리지 장치의 동작 방법.
  4. 제1항에 있어서,
    상기 적어도 하나의 디스크에 대한 적어도 하나의 파티션 각각의 속성에 대한 정보를 저장하는 단계는
    상기 호스트로부터 상기 적어도 하나의 파티션 각각의 속성에 대한 사용자의 설정을 수신하는 단계
    를 포함하는 스토리지 장치의 동작 방법.
  5. 제1항에 있어서,
    상기 적어도 하나의 파티션 각각의 속성에 대한 정보는
    상기 적어도 하나의 파티션 각각의 데이터 신뢰성, 처리 속도 또는 용량 중 적어도 하나에 부여되는 가중치에 대한 정보
    를 포함하는 스토리지 장치의 동작 방법.
  6. 제1항에 있어서,
    상기 읽기 또는 쓰기 요청에 대한 처리 기법을 적응적으로 결정하는 단계는
    상기 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 데이터 신뢰성에 대한 가중치에 기초하여 상기 쓰기 요청에 해당하는 데이터를 상기 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 서로 다른 두 위치에 중복하여 저장할지 여부를 결정하는 단계
    를 포함하는 스토리지 장치의 동작 방법.
  7. 제1항에 있어서,
    상기 읽기 또는 쓰기 요청에 대한 처리 기법을 적응적으로 결정하는 단계는
    상기 스토리지 장치가 멀티 레벨 셀(Multi Level Cell; MLC) 플래시 메모리를 포함하는 경우, 상기 읽기 또는 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 데이터 신뢰성 및 처리 속도에 대한 가중치에 기초하여 상기 멀티 레벨 셀 플래시 메모리를 싱글 레벨 셀(Single Level Cell; SLC) 방식 또는 멀티 레벨 셀 방식 중 어느 방식으로 동작할지를 결정하는 단계
    를 포함하는 스토리지 장치의 동작 방법.
  8. 제1항에 있어서,
    상기 읽기 또는 쓰기 요청에 대한 처리 기법을 적응적으로 결정하는 단계는
    상기 읽기 또는 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 순차적 읽기 및 쓰기(sequential read and write)와 무작위 읽기 및 쓰기(random read and write) 대한 가중치에 기초하여 주소 사상(address mapping) 기법을 결정하는 단계
    를 포함하는 스토리지 장치의 동작 방법.
  9. 제1항 내지 제8항 중 어느 한 항의 방법을 수행하기 위한 프로그램이 기록되어 있는 컴퓨터로 판독 가능한 기록 매체.
  10. 호스트 및 적어도 하나의 디스크를 갖는 스토리지 장치를 포함하는 스토리지 시스템의 상기 스토리지 장치에 있어서,
    상기 적어도 하나의 디스크에 대한 적어도 하나의 파티션 각각의 속성에 대한 정보를 저장하는 저장모듈; 및
    상기 호스트로부터 수신되는 읽기 또는 쓰기 요청에 대응하는 블록 주소가 상기 적어도 하나의 파티션 중 어느 파티션에 속하는지 판단하고, 상기 읽기 또는 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 속성에 따라 상기 읽기 또는 쓰기 요청에 대한 처리 기법을 적응적으로 결정하는 제어 모듈
    을 포함하는 스토리지 장치.
  11. 제10항에 있어서,
    상기 저장 모듈은
    상기 적어도 하나의 파티션 각각이 차지하는 블록 주소들에 대한 정보를 미리 저장하는 스토리지 장치.
  12. 제11항에 있어서,
    상기 저장 모듈은
    파티션 테이블에 대한 쓰기 요청을 수신하는 경우, 상기 파티션 테이블에 대한 쓰기 요청에 대응하여 기록되는 데이터를 기초로 상기 적어도 하나의 파티션 각각에 대한 블록 주소들에 대한 정보를 획득하는 스토리지 장치.
  13. 제10항에 있어서,
    상기 저장 모듈은
    상기 호스트로부터 상기 적어도 하나의 파티션 각각의 속성에 대한 사용자의 설정을 수신하는 스토리지 장치.
  14. 제10항에 있어서,
    상기 적어도 하나의 파티션 각각의 속성에 대한 정보는
    상기 적어도 하나의 파티션 각각의 데이터 신뢰성, 처리 속도 또는 용량 중 적어도 하나에 부여되는 가중치에 대한 정보
    를 포함하는 스토리지 장치.
  15. 제10항에 있어서,
    상기 제어 모듈은
    상기 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 데이터 신뢰성에 대한 가중치에 기초하여 상기 쓰기 요청에 해당하는 데이터를 상기 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 서로 다른 두 위치에 중복하여 저장할지 여부를 결정하는 스토리지 장치.
  16. 제10항에 있어서,
    상기 제어 모듈은
    상기 스토리지 장치가 멀티 레벨 셀(Multi Level Cell; MLC) 플래시 메모리를 포함하는 경우, 상기 읽기 또는 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 데이터 신뢰성 및 처리 속도에 대한 가중치에 기초하여 상기 멀티 레벨 셀 플래시 메모리를 싱글 레벨 셀(Single Level Cell; SLC) 방식 또는 멀티 레벨 셀 방식 중 어느 방식으로 동작할지를 결정하는 스토리지 장치.
  17. 제10항에 있어서,
    상기 제어 모듈은
    상기 읽기 또는 쓰기 요청에 대응하는 블록 주소가 속하는 파티션의 순차적 읽기 및 쓰기(sequential read and write)와 무작위 읽기 및 쓰기(random read and write) 대한 가중치에 기초하여 주소 사상(address mapping) 기법을 결정하는 스토리지 장치.
KR1020110003595A 2011-01-13 2011-01-13 파티션 정보를 기초로 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 KR20120082218A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020110003595A KR20120082218A (ko) 2011-01-13 2011-01-13 파티션 정보를 기초로 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
PCT/KR2012/000254 WO2012096503A2 (ko) 2011-01-13 2012-01-11 파티션 정보를 기초로 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US13/978,276 US20140059277A1 (en) 2011-01-13 2012-01-11 Storage for adaptively determining a processing technique with respect to a host request based on partition data and operating method for the storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110003595A KR20120082218A (ko) 2011-01-13 2011-01-13 파티션 정보를 기초로 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법

Publications (1)

Publication Number Publication Date
KR20120082218A true KR20120082218A (ko) 2012-07-23

Family

ID=46507565

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110003595A KR20120082218A (ko) 2011-01-13 2011-01-13 파티션 정보를 기초로 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법

Country Status (3)

Country Link
US (1) US20140059277A1 (ko)
KR (1) KR20120082218A (ko)
WO (1) WO2012096503A2 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180015565A (ko) * 2016-08-03 2018-02-13 삼성전자주식회사 메모리 모듈 및 그것의 동작 방법
KR20190106544A (ko) * 2018-03-09 2019-09-18 한국과학기술원 사용자 데이터 보호를 제공하는 데이터 가용성 ssd 아키텍처
US10789160B2 (en) 2013-08-08 2020-09-29 Samsung Electronics Co., Ltd. Utilizing different data storage policies in response to different characteristics of data
US11940910B1 (en) 2023-03-20 2024-03-26 Metisx Co., Ltd. Byte-addressable device and computing system including same

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140033964A (ko) * 2012-09-11 2014-03-19 삼성전자주식회사 단말기의 데이터 저장장치 및 방법
CN104903864B (zh) * 2012-11-02 2018-09-04 慧与发展有限责任合伙企业 选择性错误校正码和存储器访问粒度切换
US9710275B2 (en) * 2012-11-05 2017-07-18 Nvidia Corporation System and method for allocating memory of differing properties to shared data objects
US8918583B2 (en) * 2012-12-20 2014-12-23 Virtium Technology, Inc. Adapting behavior of solid-state drive using real usage model
KR102039537B1 (ko) 2013-03-15 2019-11-01 삼성전자주식회사 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법
US20150169228A1 (en) * 2013-12-12 2015-06-18 Sandisk Technologies Inc. System and method of storing data at a non-volatile memory
JP6141240B2 (ja) * 2014-08-14 2017-06-07 キヤノン株式会社 印刷装置、印刷装置に接続されたストレージの制御装置、印刷装置の制御方法及びプログラム
US9836108B2 (en) 2014-09-10 2017-12-05 Toshiba Memory Corporation Memory system and controller
JP6486723B2 (ja) 2015-01-21 2019-03-20 東芝メモリ株式会社 メモリシステムおよび処理装置
US10289475B2 (en) * 2015-01-21 2019-05-14 Toshiba Memory Corporation Memory system
US10008250B2 (en) * 2015-03-27 2018-06-26 Intel Corporation Single level cell write buffering for multiple level cell non-volatile memory
CN106445676B (zh) * 2015-08-05 2019-10-22 杭州海康威视系统技术有限公司 一种分布式数据计算的任务分配方法和任务分配装置
TWI687809B (zh) * 2018-02-13 2020-03-11 點序科技股份有限公司 快閃記憶體儲存裝置與寫入管理方法
US10949110B2 (en) * 2018-06-29 2021-03-16 Seagate Technology Llc Configurable mapping system in a non-volatile memory
US10725705B1 (en) * 2019-01-16 2020-07-28 Western Digital Technologies, Inc. System and method for storage system property deviation
US11163486B2 (en) * 2019-11-25 2021-11-02 Micron Technology, Inc. Memory sub-system-bounded memory function
KR20210147132A (ko) 2020-05-27 2021-12-07 삼성전자주식회사 메모리 장치 및 메모리 장치를 포함하는 메모리 모듈
CN114579051B (zh) * 2022-02-25 2024-04-23 阿里巴巴(中国)有限公司 识别硬盘读模式的方法以及装置
CN114594908A (zh) * 2022-02-25 2022-06-07 阿里巴巴(中国)有限公司 基于固态硬盘ssd的数据处理方法、设备及存储介质
CN115857826B (zh) * 2022-12-27 2023-09-22 铭派技术开发有限公司 一种船舶工控软件数据存储显示系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0778766B2 (ja) * 1992-09-25 1995-08-23 インターナショナル・ビジネス・マシーンズ・コーポレイション ランダム・アクセス可能かつ書換え可能メモリを用いる外部記憶装置におけるプログラム直接実行の制御方法および装置
JP4585276B2 (ja) * 2004-11-01 2010-11-24 株式会社日立製作所 ストレージシステム
US20070079103A1 (en) * 2005-10-05 2007-04-05 Yasuyuki Mimatsu Method for resource management in a logically partitioned storage system
JP2008181243A (ja) * 2007-01-23 2008-08-07 Hitachi Ltd ストレージシステムのキャッシュパーティション領域の設定を制御するデータベース管理システム
JP2009230407A (ja) * 2008-03-21 2009-10-08 Toshiba Corp データの更新方法、メモリシステムおよびメモリデバイス
US8954821B2 (en) * 2009-12-29 2015-02-10 Microntechnology, Inc. Memory device having address and command selectable capabilities
US8892820B2 (en) * 2010-03-19 2014-11-18 Netapp, Inc. Method and system for local caching of remote storage data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10789160B2 (en) 2013-08-08 2020-09-29 Samsung Electronics Co., Ltd. Utilizing different data storage policies in response to different characteristics of data
KR20180015565A (ko) * 2016-08-03 2018-02-13 삼성전자주식회사 메모리 모듈 및 그것의 동작 방법
KR20190106544A (ko) * 2018-03-09 2019-09-18 한국과학기술원 사용자 데이터 보호를 제공하는 데이터 가용성 ssd 아키텍처
US11940910B1 (en) 2023-03-20 2024-03-26 Metisx Co., Ltd. Byte-addressable device and computing system including same

Also Published As

Publication number Publication date
WO2012096503A3 (ko) 2012-11-22
US20140059277A1 (en) 2014-02-27
WO2012096503A2 (ko) 2012-07-19

Similar Documents

Publication Publication Date Title
KR20120082218A (ko) 파티션 정보를 기초로 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US11409651B2 (en) Host accelerated operations in managed NAND devices
US11650931B2 (en) Hybrid logical to physical caching scheme of L2P cache and L2P changelog
KR102098697B1 (ko) 비휘발성 메모리 시스템, 이를 포함하는 시스템 및 상기 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법
US10007442B2 (en) Methods, systems, and computer readable media for automatically deriving hints from accesses to a storage device and from file system metadata and for optimizing utilization of the storage device based on the hints
US20150169465A1 (en) Method and system for dynamic compression of address tables in a memory
US20180232314A1 (en) Method for storing data by storage device and storage device
US20160054936A1 (en) Information processing system and nonvolatile storage unit
US11704254B2 (en) Host side caching security for flash memory
US20160313921A1 (en) Memory device that controls timing of receiving write data from a host
US9122586B2 (en) Physical-to-logical address map to speed up a recycle operation in a solid state drive
JP2013544414A (ja) トランザクションログの復元
US9904472B2 (en) Memory system and method for delta writes
JP2015026379A (ja) 磁気ランダムアクセスメモリ(mram)を使用する記憶デバイスのメモリアレイのコントローラ管理
US11687469B2 (en) Host-resident translation layer validity check techniques
CN114761931A (zh) 有限ram系统中的逻辑到物理转译技术
JP2022522595A (ja) ホストベースのフラッシュメモリメンテナンス技術
JP2021530152A (ja) 安全な論理対物理キャッシング
WO2019203915A1 (en) Storage cache management
WO2020068669A1 (en) Host-resident translation layer validity check techniques
KR20210028264A (ko) 호스트 상주 변환 레이어 유효성 검사
US10013174B2 (en) Mapping system selection for data storage device
US20140219041A1 (en) Storage device and data processing method thereof
CN115390747A (zh) 存储设备及其操作方法
EP4202631A1 (en) Storage device including memory controller and operating method of the same

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application