KR20100107281A - 레이드를 사용한 장치들과 방법들 - Google Patents

레이드를 사용한 장치들과 방법들 Download PDF

Info

Publication number
KR20100107281A
KR20100107281A KR1020090025494A KR20090025494A KR20100107281A KR 20100107281 A KR20100107281 A KR 20100107281A KR 1020090025494 A KR1020090025494 A KR 1020090025494A KR 20090025494 A KR20090025494 A KR 20090025494A KR 20100107281 A KR20100107281 A KR 20100107281A
Authority
KR
South Korea
Prior art keywords
raid
controller
raid level
nonvolatile memory
data
Prior art date
Application number
KR1020090025494A
Other languages
English (en)
Other versions
KR101504632B1 (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 KR1020090025494A priority Critical patent/KR101504632B1/ko
Priority to US12/713,559 priority patent/US8301835B2/en
Publication of KR20100107281A publication Critical patent/KR20100107281A/ko
Priority to US13/626,077 priority patent/US8631202B2/en
Application granted granted Critical
Publication of KR101504632B1 publication Critical patent/KR101504632B1/ko

Links

Images

Classifications

    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

RAID를 적용한 SSD 컨트롤러가 개시된다. 상기 SSD 컨트롤러는 다수의 채널들과, 호스트와 데이터를 주거나 받고 RAID 레벨 정보에 기초하여 다수의 RAID 레벨들 중에서 하나의 RAID 레벨을 선택하기 위한 RAID 컨트롤러와, 상기 RAID 컨트롤러에 접속되고 선택된 어느 하나의 RAID 레벨에 따라 상기 데이터를 처리하기 위하여 상기 다수의 채널들 각각에 접속된 다수의 비휘발성 메모리 칩들 각각을 액세스하기 위한 액세스 컨트롤러를 포함한다.
Figure P1020090025494
RAID, SSD, 비휘발성 메모리

Description

레이드를 사용한 장치들과 방법들{Apparatuses and methods for using redundant array of independent disks}
본 발명의 개념에 따른 실시 예는 데이터 처리 기술에 관한 것으로, 특히 레이드(Redundant Array of Independent/Inexpensive] Disks(RAID)) 기법을 사용한 장치들과 방법들에 관한 것이다.
RAID는 중요한 데이터를 가지고 있는 서버에 주로 사용되며, 여러 대의 하드디스크가 있을 때 동일한 데이터를 다른 위치에 중복해서 저장하는 방법이다. 데이터를 여러 대의 하드 디스크에 저장함에 따라 입출력 작업이 균형을 이루며 겹치게 되어 전체적인 성능이 개선된다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 데이터의 신뢰성을 증가시키기 위하여 레이드 기법을 사용한 장치들과 방법들을 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 SSD 컨트롤러는 다수의 채널들과, 호스트 와 데이터를 주거나 받고 RAID 레벨 정보에 기초하여 다수의 RAID 레벨들 중에서 하나의 RAID 레벨을 선택하기 위한 RAID 컨트롤러와, 상기 RAID 컨트롤러에 접속되고 선택된 어느 하나의 RAID 레벨에 따라 상기 데이터를 처리하기 위하여 상기 다수의 채널들 각각에 접속된 다수의 비휘발성 메모리 칩들 각각을 액세스하기 위한 액세스 컨트롤러를 포함한다.
상기 RAID 컨트롤러는 각각이 상기 다수의 RAID 레벨들 각각을 지원하기 위한 다수의 RAID 레벨 로직들과, 상기 RAID 레벨 정보에 따라 상기 다수의 RAID 레벨들 중에서 상기 어느 하나의 RAID 레벨을 선택적으로 인에이블시키기 위한 컨트롤 로직을 포함한다.
상기 기술적 과제를 달성하기 위한 SSD 컨트롤러는 다수의 채널들과, 파티션 정보를 저장하기 위한 저장 장치와, 상기 저장 장치에 저장된 상기 파티션 정보에 기초하여 상기 다수의 채널들 각각에 접속된 다수의 비휘발성 메모리 칩들 각각을 정상 파티션 영역과 RAID 레벨을 적용할 수 있는 RAID 레벨 파티션 영역으로 논리적으로 파티션하기 위한 메인 프로세서를 포함한다.
상기 SSD 컨트롤러는 호스트와 데이터를 주거나 받고 상기 파티션 정보와 RAID 레벨 정보에 기초하여 다수의 RAID 레벨들 중에서 하나의 RAID 레벨을 선택하기 위한 RAID 컨트롤러와, 상기 RAID 컨트롤러에 접속되고 상기 선택된 어느 하나의 RAID 레벨에 따라 상기 데이터를 처리하기 위하여 상기 다수의 비휘발성 메모리 칩들 중에서 상기 RAID 레벨 분할 영역에 속하는 적어도 하나의 비휘발성 메모리 칩을 액세스하기 위한 액세스 컨트롤러를 포함한다.
상기 기술적 과제를 달성하기 위한 데이터 저장 시스템은 다수의 채널들과, 상기 다수의 채널들 각각에 접속된 다수의 비휘발성 메모리 칩들과, 호스트와 데이터를 주거나 받고 RAID 레벨 정보에 기초하여 다수의 RAID 레벨들 중에서 하나의 RAID 레벨을 선택하기 위한 RAID 컨트롤러와, 상기 RAID 컨트롤러에 접속되고 선택된 어느 하나의 RAID 레벨에 따라 상기 데이터를 처리하기 위하여 상기 다수의 비휘발성 메모리 칩들 각각을 액세스하기 위한 액세스 컨트롤러를 포함한다.
상기 기술적 과제를 달성하기 위한 데이터 저장 시스템은 다수의 채널들과, 상기 다수의 채널들 각각에 접속된 다수의 비휘발성 메모리 칩들과, 파티션 정보를 저장하기 위한 저장 장치와, 상기 저장 장치에 저장된 상기 파티션 정보에 기초하여 상기 다수의 비휘발성 메모리 칩들 각각을 정상 파티션 영역과 RAID 레벨을 적용할 수 있는 RAID 레벨 파티션 영역으로 논리적으로 파티션하기 위한 메인 프로세서를 포함한다.
상기 데이터 저장 시스템은 호스트와 데이터를 주거나 받고 상기 파티션 정보와 RAID 레벨 정보에 기초하여 다수의 RAID 레벨들 중에서 하나의 RAID 레벨을 선택하기 위한 RAID 컨트롤러와, 상기 RAID 컨트롤러에 접속되고 상기 선택된 어느 하나의 RAID 레벨에 따라 상기 데이터를 처리하기 위하여 상기 다수의 비휘발성 메모리 칩들 중에서 상기 RAID 레벨 분할 영역에 속하는 적어도 하나의 비휘발성 메모리 칩을 액세스하기 위한 액세스 컨트롤러를 더 포함한다.
상기 기술적 과제를 달성하기 위한 SSD 컨트롤러의 데이터 처리 방법은 SSD 컨트롤러가 저장 장치에 저장된 RAID 레벨 정보에 기초하여 다수의 RAID 레벨들 중 에서 어느 하나의 RAID 레벨을 선택하는 단계와, 상기 SSD 컨트롤러가 선택된 어느 하나의 RAID 레벨에 기초하여 다수의 채널들 각각에 접속된 다수의 비휘발성 메모리 장치들 각각을 액세스하는 단계를 포함한다.
상기 기술적 과제를 달성하기 위한 SSD 컨트롤러의 데이터 처리 방법은 SSD 컨트롤러가 저장 장치에 저장된 파티션 정보를 리드하는 단계와, 상기 SSD 컨트롤러가 리드된 파티션 정보에 기초하여 다수의 채널들 각각에 접속된 다수의 비휘발성 메모리 칩들 각각을 정상 파티션 영역과 RAID 레벨을 적용할 수 있는 RAID 레벨 파티션 영역으로 논리적으로 파티션하는 단계를 포함한다.
상기 SSD 컨트롤러의 데이터 처리 방법은 상기 SSD 컨트롤러가 상기 저장 장치에 저장된 RAID 레벨 정보와 상기 파티션 정보에 기초하여 다수의 RAID 레벨들 중에서 어느 하나의 RAID 레벨을 선택하는 단계와, 상기 SSD 컨트롤러가 선택된 어느 하나의 RAID 레벨에 따라서 상기 다수의 비휘발성 메모리 칩들 중에서 상기 RAID 레벨 분할 영역에 속하는 적어도 하나의 비휘발성 메모리 칩을 액세스하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 레이드 기법을 사용한 장치들과 방법들 데이터의 신뢰성을 높일 수 있고 제조 원가를 줄일 수 있는 효과가 있다.
본 명세서 또는 출원에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예 를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니된다.
본 발명의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에" 와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 데이터 저장 시스템의 블락도를 나타낸다. 도 1을 참조하면 데이터 저장 시스템(10)은 컨트롤러(100)와 비휘발성 메모리 장치 (150)를 포함할 수 있다.
라이트 동작시(또는 프로그램 동작시) 컨트롤러(100)는, 호스트로부터 출력된 라이트 명령(또는 프로그램 명령)에 응답하여, 상기 호스트로부터 출력된 라이트 데이터(또는 프로그램 데이터)를 RAID 레벨 정보에 기초하여 다수의 RAID 레벨들 중에서 선택된 어느 하나의 RAID 레벨(또는 RAID 프로토콜)에 따라 비휘발성 메모리 장치(150)에 라이트(또는 프로그램)할 수 있다.
또한, 리드 동작시 컨트롤러(100)는, 호스트로부터 출력된 리드 명령에 응답하여, RAID 레벨 정보에 기초하여 다수의 RAID 레벨들 중에서 선택된 어느 하나의 RAID 레벨(또는 RAID 프로토콜)에 따라 비휘발성 메모리 장치(150)로부터 리드된 리드 데이터를 상기 호스트로 전송할 수 있다.
비휘발성 메모리 장치(150)는 다수의 메모리 블럭들(151, 161, 및 171)을 포함하고, 다수의 메모리 블럭들(151, 161, 및 171) 각각은 다수의 웨이(way)을 포함할 수 있다. 여기서 웨이는 하나의 채널에 접속될 수 있는 독립적인 반도체 칩을 의미할 수 있다. 따라서 M(M은 자연수)-웨이는 하나의 채널에 M개의 반도체 칩이 접속됨을 의미할 수 있다.
다수의 메모리 블럭들(151, 161, 및 171) 각각은 대응되는 채널(CH1, CH2, 및 CHn)에 접속될 수 있다. 여기서 채널은 RAID 데이터가 전송되는 적어도 하나의 데이터 라인을 의미할 수 있다.
예컨대, 적어도 하나의 메모리 블럭(151, 161, 및 171)은 SSD(solid state disk 또는 solid state drive)를 구성할 수 있다.
상기 웨이는 다수의 비휘발성 메모리 셀들을 포함할 수 있다. 상기 다수의 메모리 셀들 각각은 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(flash memory), MRAM(Magnetic RAM), 스핀전달토크 MRAM (Spin-Transfer Torque MRAM), Conductive bridging RAM(CBRAM), FeRAM (Ferroelectric RAM), OUM(Ovonic Unified Memory)라고도 불리는 PRAM(Phase change RAM), 저항 메모리(Resistive RAM: RRAM 또는 ReRAM), 나노퓨브 RRAM (Nanotube RRAM), 폴리머 RAM(Polymer RAM: PoRAM), 나노 부유 게이트 메모리(Nano Floating Gate Memory: NFGM), 홀로그래픽 메모리 (holographic memory), 분자 전자 메모리 소자(Molecular Electronics Memory Device), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)로 구현될 수 있다. 상기 비휘발성 메모리 셀들 각각은 1-비트 데이터 또는 2-비트 이상의 데이터를 저장할 수 있다.
실시 예에 따라 데이터 저장 시스템(10)은 휘발성 메모리 장치를 더 포함할 수 있다. 상기 휘발성 메모리 장치는 호스트와 비휘발성 메모리 장치(150) 사이에서 주고받는 데이터를 버퍼링할 수 있다. 상기 휘발성 메모리 장치는 DRAM, SRAM, 또는 SDRAM으로 구현될 수 있다.
상기 웨이 또는 상기 휘발성 반도체 장치는 PoP(Package On Package), BGAs (Ball Grid Arrays), CSPs(Chip Scale Packages), PLCC(Plastic Leaded Chip Carrier), PDIP(Plastic Dual In-Line Package), Die in Waffle Pack, Din in Wafer Form, COB(Chip On Board), CERDIP(CERamic Dual In-Line Package), MQFP(plastic metric quad flat pack), TQFP(Thin Quad FlatPack), SOIC(small outline), SSOP(shrink small outline package), TSOP(thin small outline), SIP(system in package), MCP(multi chip package), WFP(wafer-level fabricated package), 또는 WSP(wafer-level processed stack package) 등으로 패키지될 수 있다.
SSD 컨트롤러로 구현될 수 있는 컨트롤러(100)는 RAID 레벨 정보 및/또는 파티션 정보를 저장하기 위한 저장 장치(101), 메인 프로세서 인터페이스(103), 메인 프로세서(105), 호스트 인터페이스(107), 버퍼 컨트롤러(109), RAID 컨트롤러 (110), 및 액세스 컨트롤러(140)를 포함할 수 있다.
데이터 패스(DATA PATH)는 비휘발성 메모리 장치(150)와 호스트 사이에서 데이터를 전송할 수 있다.
저장 장치(101)는 ROM과 같은 비휘발성 메모리 장치로 구현될 수 있다. 또한, 상기 저장 장치(101)는 웨이와 같은 비휘발성 메모리 셀들로 구현될 수 있다.
메인 프로세서(105)는 호스트로부터 출력된 액세스 명령, 예컨대 라이트 명령, 프로그램 명령, 리드 명령, 또는 이레이즈 명령을 해석하고 해석 결과에 따라 각 구성 요소(107, 109, 110, 및 140)의 동작을 제어할 수 있다.
또한, 메인 프로세서(105)는 호스트로부터 출력된 RAID 레벨 정보 및/또는 파티션 정보를 저장 장치(101)에 라이트하거나 또는 저장 장치(101)에 저장된 RAID 레벨 정보 및/또는 파티션 정보를 리드하고 리드된 정보를 RAID 컨트롤러(110)로 전송할 수 있다.
컨트롤러(100)가 버퍼 컨트롤러(109)를 포함하지 않을 때, 호스트 인터페이스(107)는 호스트와 RAID 컨트롤러(110) 사이에서 주고받는 데이터 신호들을 인터 페이싱할 수 있다. 또한, 컨트롤러(100)가 버퍼 컨트롤러(190)를 포함할 때, 호스트 인터페이스(107)는 호스트와 버퍼 컨트롤러(109) 사이에서 주고받는 데이터 신호들을 인터페이싱할 수 있다. 이 경우 메모리 인터페이스는 버퍼 컨트롤러(109)와 휘발성 메모리 장치 사이에서 주고받는 데이터 신호들을 인터페이싱할 수 있다.
RAID 컨트롤러(110)는 RAID 레벨 정보에 따라 다수의 RAID 레벨들 중에서 선택된 하나의 RAID 레벨을 인에이블시키고 인에이블된 RAID 레벨(또는 RAID 프로토콜)에 따라 액세스 컨트롤러(140)와 버퍼 컨트롤러(109) 사이에서 주고받는 데이터 신호들을 인터페이싱할 수 있다.
실시 예에 따라 RAID 컨트롤러(110)는 RAID 레벨 정보와 파티션 정보 중에서 적어도 하나에 기초하여 다수의 RAID 레벨들 중에서 선택된 하나의 RAID 레벨을 인에이블시키고 인에이블된 RAID 레벨(또는 RAID 프로토콜)에 따라 액세스 컨트롤러(140)와 버퍼 컨트롤러(109) 사이에서 주고받는 데이터 신호들을 인터페이싱할 수 있다.
액세스 컨트롤러(140)는 RAID 컨트롤러(110)로부터 출력된 액세스 명령(예컨대, 라이트 명령, 프로그램 명령, 또는 이레이즈 명령)과 어드레스에 기초하여 RAID 컨트롤러(110)로부터 출력된 데이터(예컨대, 라이트 데이터, 프로그램 데이터, 또는 이레이즈 데이터)를 RAID 컨트롤러(110)에 의하여 선택된 RAID 레벨에 적합하게 처리하기 위하여 다수의 채널들(CH1, CH2, 및 CHn) 각각에 접속된 다수의 비휘발성 메모리 칩들(153, 155, 157, 163, 165, 167, 173, 175, 및 177) 중에서 적어도 하나를 액세스할 수 있다.
실시 예에 따라 액세스 컨트롤러(140)는 채널별로 또는 웨이별로 액세스 동작을 수행할 수 있다.
또한, 액세스 컨트롤러(140)는, RAID 컨트롤러(110)로부터 출력된 액세스 명령(예컨대, 리드 명령)과 어드레스에 기초하여, RAID 컨트롤러(110)에 의하여 선택된 RAID 레벨에 적합하게 다수의 채널들(CH1, CH2, 및 CHn) 각각에 접속된 다수의 비휘발성 메모리 칩들(153, 155, 157, 163, 165, 167, 173, 175, 및 177) 중에서 적어도 하나로부터 리드 데이터를 리드할 수 있다.
비휘발성 메모리 장치(150)가 NAND 플래시 메모리로 구현될 때, 액세스 컨트롤러(140)는 NAND 플래시 컨트롤러로 구현될 수 있다.
즉, 웨이(153, 155, 157, 163, 165, 167, 173, 175, 및 177)에 구현된 비휘발성 메모리 셀들의 형태에 따라 액세스 컨트롤러(140)는 다양하게 구현될 수 있다.
도 1에 도시된 바와 같이, 컨트롤러(100)는 선택된 RAID 레벨에 따라 대응되는 적어도 하나의 웨이를 액세스할 수 있다.
예컨대, 라이트 동작 또는 프로그램 동작시 컨트롤러(100)에 구현된 RAID 컨트롤러(110)가 저장 장치(101)에 저장된 RAID 레벨 정보(도 2의 RI)에 따라 RAID 레벨 0(Striped set without parity or Striping), RAID 레벨 1(Mirrored set without parity or Mirroring), RAID 레벨 2(Hamming code parity), RAID 레벨 3(Striped set with dedicated parity, bit interleaved parity, or byte level parity), RAID 레벨 4(Block level parity), RAID 레벨 5(Striped set with distributed parity or interleave parity), RAID 레벨 6(Striped set with dual distributed parity), RAID 레벨 7, RAID 레벨 10, 및 RAID 레벨 53 중에서 어느 하나 또는 상기 RAID 레벨들 중에서 적어도 2개를 혼합한(merged) RAID 레벨(예컨대, RAID 0+1, RAID 1+0, RAID 5+0, RAID 5+1, 또는 RAID 0+1+5)을 선택할 때, 컨트롤러(100)는 선택된 RAID 레벨에 따라 호스트로부터 출력된 데이터를 다수의 웨이들 중에서 적어도 하나의 웨이에 라이트 또는 프로그램할 수 있다.
또한, 리드 동작시 컨트롤러(100)에 구현된 RAID 컨트롤러(110)는 다수의 RAID 레벨들 중에서 RAID 레벨 정보에 기초하여 선택된 RAID 레벨에 따라 다수의 웨이들 중에서 적어도 하나의 웨이에 저장된 데이터를 리드하여 리드된 데이터를 데이터 패스(DATA PATH)를 통하여 호스트로 전송할 수 있다.
실시 예에 따라 버퍼 컨트롤러(109)는 액세스 데이터, 예컨대 라이트 데이터, 프로그램 데이터, 리드 데이터, 또는 이레이즈 데이터를 메모리 인터페이스를 경유하여 휘발성 메모리 장치에 일시적으로 저장할 수 있다.
도 2는 도 1에 도시된 레이드 컨트롤러의 일 실시 예를 나타낸다. 도 2를 참조하면, RAID 컨트롤러(110)는 컨트롤 로직(112)과 다수의 RAID 레벨 로직들(114, 116, 118, 및 120)을 포함할 수 있다. 여기서 로직은 하드웨어로 구현될 수 있고, 소프트웨어가 임베디드된(embeded) 하드웨어로 구현될 수도 있다.
다수의 RAID 레벨 로직들(114, 116, 118, 및 120) 각각은 서로 다른 RAID 레벨을 지원할 수 있다. 상기 서로 다른 RAID 레벨은 하나의 RAID 레벨 또는 두 개 이상의 RAID 레벨들이 병합된 RAID 레벨일 수 있다.
다수의 RAID 레벨 로직들(114, 116, 118, 및 120) 각각은 입력 데이터(DATA)와 입력 어드레스(ADD)를 자신의 RAID 레벨에 적합하도록 변환하고 변환된 데이터 (DATA')와 변환된 어드레스(ADD')를 액세스 컨트롤러(140)로 전송할 수 있다. 따라서, 액세스 컨트롤러(140)는 변환된 데이터(DATA')와 변환된 어드레스(ADD')에 응답하여 적어도 하나의 웨이를 액세스할 수 있다.
예컨대, 제1RAID 레벨 로직(114)은 RAID 레벨 1을 지원하기 위한 로직, 제2RAID 레벨 로직(116)은 RAID 레벨 3을 지원하기 위한 로직, 제3RAID 레벨 로직(118)은 RAID 레벨 5을 지원하기 위한 로직, 그리고 마지막 RAID 레벨 로직(120)은 RAID 레벨 0+1을 지원하기 위한 로직으로 구현될 수 있다.
액세스 동작시 메인 프로세서(105)는 호스트로부터 출력된 액세스 명령에 응답하여 저장 장치(101)에 저장된 RAID 레벨 정보(RI)를 리드하여 이를 RAID 컨트롤러(110)의 컨트롤 로직(112)으로 전송할 수 있다. 따라서, 컨트롤 로직(112)은 어드레스(ADD)와 RAID 레벨 정보(RI) 중에서 적어도 하나에 따라 다수의 RAID 로직 레벨들(114, 116, 118, 및 120) 중에서 어느 하나를 인에이블시킬 수 있다.
따라서, 컨트롤러(100)는 RAID 컨트롤러(110)에 의하여 선택된 RAID 레벨에 따라 호스트와 비휘발성 메모리 장치(150) 사이에서 주고받는 액세스 데이터의 전송을 제어할 수 있다.
도 3은 도 1에 도시된 레이드 컨트롤러의 다른 실시 예를 나타낸다. 도 3에 도시된 RAID 컨트롤러(110)는 도 2에 도시된 RAID 컨트롤러(110)와 달리 제1선택 회로(122)와 제2선택 회로(124)를 더 포함할 수 있다.
컨트롤 로직(112)은 RAID 레벨 정보(RI)에 기초하여 제1선택 회로(122)의 동작을 제어하기 위한 제1선택 신호(SEL1)와 제2선택 회로(124)의 동작을 제어하기 위한 제2선택 신호(SEL2)를 발생할 수 있다. 제1선택 회로(122)와 제2선택 회로 (124) 각각은 제1선택 신호(SEL1)와 제2선택 신호(SEL2) 각각에 따라 데이터 패스를 결정할 수 있다.
도 4는 도 2에 도시된 레이드 컨트롤러의 또 다른 실시 예를 나타낸다. 도 1과 도 4를 참조하면, 컨트롤러(100)의 메인 프로세서(105)는 저장 장치(101)에 저장된 파티션 정보(PI)에 기초하여 다수의 채널들(CH1~CHn) 각각에 접속된 다수의 비휘발성 메모리 칩들(153, 155, 157, 163, 165, 167, 173, 175, 및 177) 각각을 정상 파티션 영역과 RAID 레벨을 적용할 수 있는 RAID 레벨 파티션 영역으로 논리적으로 파티션할 수 있다. 파티션 컨트롤러(130)는 어드레스(ADD)와 파티션 정보 (PI)에 기초하여 새롭게 생성된 파티션 정보(PI')를 컨트롤 로직(112)으로 출력할 수 있다. 실시 예에 따라 파티션 정보(PI)와 새롭게 생성된 파티션 정보(PI')는 서로 동일할 수 있다.
RAID 컨트롤러(110)의 컨트롤 로직(112)은 도 3을 참조하여 설명한 바와 같이 파티션 정보(PI)와 RAID 레벨 정보(RI)에 기초하여 다수의 RAID 레벨들 중에서 하나의 RAID 레벨을 선택할 수 있다.
액세스 컨트롤러(140)는 RAID 컨트롤러(110)에 접속되고 선택된 어느 하나의 RAID 레벨에 따라 데이터를 처리하기 위하여 다수의 비휘발성 메모리 칩들(153, 155, 157, 163, 165, 167, 173, 175, 및 177) 중에서 RAID 레벨 파티션 영역에 속 하는 적어도 하나의 비휘발성 메모리 칩을 액세스할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 파티션 방법을 설명하기 위한 블락도이다. 도 5에는 메인 프로세서(105)에 의하여 정상 파티션 영역과 RAID 레벨을 적용할 수 있는 RAID 레벨 파티션 영역으로 분리된 다수의 비휘발성 메모리 칩들을 나타낸다. 도 5에 도시된 바와 같이 메인 프로세서(105)는 상기 정상 파티션 영역과 상기 RAID 레벨 파티션 영역을 유연하게 분리할 수 있다.
예컨대, 코드 데이터와 OS 등 중요한 데이터는 RAID 레벨을 적용할 수 있는 RAID 레벨 파티션 영역에 저장되고 동영상 또는 이미지 등의 유저 데이터는 정상 파티션 영역에 저장될 수 있다. 이 경우 액세스 컨트롤러(140)는 RAID 컨트롤러 (110)에 의하여 선택된 RAID 레벨에 따라 RAID 레벨 파티션 영역을 액세스할 수 있다.
도 5에 도시된 바와 같이 메인 프로세서(105)는 채널별로 정상 파티션 영역과 RAID 레벨을 적용할 수 있는 RAID 레벨 파티션 영역을 분리할 수 있다. 따라서 상기 정상 파티션 영역과 상기 RAID 레벨 파티션 영역 각각은 적어도 하나의 채널을 포함할 수 있다.
도 6은 본 발명의 다른 실시 예에 따른 파티션 방법을 설명하기 위한 블락도이다. 도 6을 참조하면, 정상 파티션 영역은 각 채널의 첫 번째 웨이부터 (M-1)번째 웨이를 포함하고, RAID 레벨 파티션 영역은 각 채널의 마지막 웨이(WAYM) 만을 포함할 수 있다. 즉, 메인 프로세서(105)는 파티션 정보(PI)에 기초하여 적어도 하나의 웨이를 포함하는 정상 파티션 영역을 설정하고 적어도 하나의 웨이를 포함하 는 RAID 레벨 파티션 영역을 설정할 수 있다.
예컨대, 코드 데이터와 OS 등 중요한 데이터는 RAID 레벨을 적용할 수 있는 RAID 레벨 파티션 영역에 저장되고 동영상 또는 이미지 등의 유저 데이터는 정상 파티션 영역에 저장될 수 있다. 이 경우 액세스 컨트롤러(140)는 RAID 컨트롤러 (110)에 의하여 선택된 RAID 레벨에 따라 RAID 레벨 파티션 영역을 액세스할 수 있다.
도 7은 본 발명의 또 다른 실시 예에 따른 파티션 방법을 설명하기 위한 블락도이다. 도 1과 도 7을 참조하면 메인 프로세서(105)는 파티션 정보(PI)에 따라 적어도 하나의 정상 파티션 영역과 적어도 하나의 RAID 레벨 파티션 영역을 설정할 수 있다.
도 7에 도시된 바와 같이 다수의 RAID 레벨 파티션 영역들 중에서 어느 하나는 RAID 레벨 5가 적용될 수 있는 파티션 영역이고 다수의 RAID 레벨 파티션 영역들 중에서 다른 하나는 RAID 레벨 0+1, & 5가 적용될 수 있는 파티션 영역일 수 있다.
이 경우 도 2에 도시된 바와 같이 다수의 RAID 레벨 로직들 중에서 어느 하나는 RAID 레벨 5를 적용하기 위한 로직으로 구현될 수 있고 상기 다수의 RAID 레벨 로직들 중에서 다른 하나는 RAID 레벨 0+1, & 5를 적용할 수 있는 로직으로 구현될 수 있다.
이때 컨트롤 로직(112)은 RAID 레벨 정보(RI)와 파티션 정보(PI)에 기초하여 제1데이터를 처리하기 위하여 다수의 RAID 레벨 로직들 중에서 RAID 레벨 5를 적용 하기 위한 로직을 선택하고 제2데이터를 처리하기 위하여 상기 다수의 RAID 레벨 로직들 중에서 RAID 레벨 0+1, & 5를 적용할 수 있는 로직을 선택할 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 데이터 저장 시스템의 블락도를 나타낸다.
도 2는 도 1에 도시된 레이드 컨트롤러의 일 실시 예를 나타낸다.
도 3은 도 1에 도시된 레이드 컨트롤러의 다른 실시 예를 나타낸다.
도 4는 도 2에 도시된 레이드 컨트롤러의 또 다른 실시 예를 나타낸다.
도 5는 본 발명의 일 실시 예에 따른 파티션 방법을 설명하기 위한 블락도이다.
도 6은 본 발명의 다른 실시 예에 따른 파티션 방법을 설명하기 위한 블락도이다.
도 7은 본 발명의 또 다른 실시 예에 따른 파티션 방법을 설명하기 위한 블락도이다.

Claims (10)

  1. 다수의 채널들;
    호스트와 데이터를 주거나 받고 RAID 레벨 정보에 기초하여 다수의 RAID 레벨들 중에서 하나의 RAID 레벨을 선택하기 위한 RAID 컨트롤러; 및
    상기 RAID 컨트롤러에 접속되고 선택된 어느 하나의 RAID 레벨에 따라 상기 데이터를 처리하기 위하여 상기 다수의 채널들 각각에 접속된 다수의 비휘발성 메모리 칩들 중에서 적어도 하나를 액세스하기 위한 액세스 컨트롤러를 포함하는 SSD(solid state controller) 컨트롤러.
  2. 제1항에 있어서, 상기 RAID 컨트롤러는,
    각각이 상기 다수의 RAID 레벨들 각각을 지원하기 위한 다수의 RAID 레벨 로직들; 및
    상기 RAID 레벨 정보에 따라 상기 다수의 RAID 레벨들 중에서 상기 어느 하나의 RAID 레벨을 선택적으로 인에이블시키기 위한 컨트롤 로직을 포함하는 SSD 컨트롤러.
  3. 다수의 채널들;
    파티션 정보를 저장하기 위한 저장 장치; 및
    상기 저장 장치에 저장된 상기 파티션 정보에 기초하여 상기 다수의 채널들 각각에 접속된 다수의 비휘발성 메모리 칩들 각각을 정상 파티션 영역과 RAID 레벨을 적용할 수 있는 RAID 레벨 파티션 영역으로 논리적으로 파티션하기 위한 메인 프로세서를 포함하는 SSD 컨트롤러.
  4. 제3항에 있어서, 상기 SSD 컨트롤러는,
    호스트와 데이터를 주거나 받고 상기 파티션 정보와 RAID 레벨 정보에 기초하여 다수의 RAID 레벨들 중에서 하나의 RAID 레벨을 선택하기 위한 RAID 컨트롤러; 및
    상기 RAID 컨트롤러에 접속되고 상기 선택된 어느 하나의 RAID 레벨에 따라 상기 데이터를 처리하기 위하여 상기 다수의 비휘발성 메모리 칩들 중에서 상기 RAID 레벨 분할 영역에 속하는 적어도 하나의 비휘발성 메모리 칩을 액세스하기 위한 액세스 컨트롤러를 더 포함하는 SSD 컨트롤러.
  5. 다수의 채널들;
    상기 다수의 채널들 각각에 접속된 다수의 비휘발성 메모리 칩들;
    호스트와 데이터를 주거나 받고 RAID 레벨 정보에 기초하여 다수의 RAID 레벨들 중에서 하나의 RAID 레벨을 선택하기 위한 RAID 컨트롤러; 및
    상기 RAID 컨트롤러에 접속되고 선택된 어느 하나의 RAID 레벨에 따라 상기 데이터를 처리하기 위하여 상기 다수의 비휘발성 메모리 칩들 중에서 적어도 하나의 메모리 칩을 액세스위한 액세스 컨트롤러를 포함하는 데이터 저장 시스템.
  6. 다수의 채널들;
    상기 다수의 채널들 각각에 접속된 다수의 비휘발성 메모리 칩들;
    파티션 정보를 저장하기 위한 저장 장치; 및
    상기 저장 장치에 저장된 상기 파티션 정보에 기초하여 상기 다수의 비휘발성 메모리 칩들 각각을 정상 파티션 영역과 RAID 레벨을 적용할 수 있는 RAID 레벨 파티션 영역으로 논리적으로 파티션하기 위한 메인 프로세서를 포함하는 데이터 저장 시스템.
  7. 제6항에 있어서, 상기 데이터 저장 시스템은,
    호스트와 데이터를 주거나 받고, 상기 파티션 정보와 RAID 레벨 정보에 기초하여 다수의 RAID 레벨들 중에서 하나의 RAID 레벨을 선택하기 위한 RAID 컨트롤러; 및
    상기 RAID 컨트롤러에 접속되고, 상기 선택된 어느 하나의 RAID 레벨에 따라 상기 데이터를 처리하기 위하여 상기 다수의 비휘발성 메모리 칩들 중에서 상기 RAID 레벨 분할 영역에 속하는 적어도 하나의 비휘발성 메모리 칩을 액세스하기 위한 액세스 컨트롤러를 더 포함하는 데이터 저장 시스템.
  8. SSD 컨트롤러가 저장 장치에 저장된 RAID 레벨 정보에 기초하여 다수의 RAID 레벨들 중에서 어느 하나의 RAID 레벨을 선택하는 단계; 및
    상기 SSD 컨트롤러가 선택된 어느 하나의 RAID 레벨에 기초하여 다수의 채널들 각각에 접속된 다수의 비휘발성 메모리 장치들 각각을 액세스하는 단계를 포함하는 SSD 컨트롤러의 데이터 처리 방법.
  9. SSD 컨트롤러가 저장 장치에 저장된 파티션 정보를 리드하는 단계; 및
    상기 SSD 컨트롤러가 리드된 파티션 정보에 기초하여 다수의 채널들 각각에 접속된 다수의 비휘발성 메모리 칩들 각각을 정상 파티션 영역과 RAID 레벨을 적용할 수 있는 RAID 레벨 파티션 영역으로 논리적으로 파티션하는 단계를 포함하는 SSD 컨트롤러의 데이터 처리 방법.
  10. 제9항에 있어서, 상기 SSD 컨트롤러의 데이터 처리 방법은,
    상기 SSD 컨트롤러가 상기 저장 장치에 저장된 RAID 레벨 정보와 상기 파티션 정보에 기초하여 다수의 RAID 레벨들 중에서 어느 하나의 RAID 레벨을 선택하는 단계; 및
    상기 SSD 컨트롤러가 선택된 어느 하나의 RAID 레벨에 따라서 상기 다수의 비휘발성 메모리 칩들 중에서 상기 RAID 레벨 분할 영역에 속하는 적어도 하나의 비휘발성 메모리 칩을 액세스하는 단계를 포함하는 데이터 처리 방법.
KR1020090025494A 2009-03-25 2009-03-25 레이드를 사용한 장치들과 방법들 KR101504632B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020090025494A KR101504632B1 (ko) 2009-03-25 2009-03-25 레이드를 사용한 장치들과 방법들
US12/713,559 US8301835B2 (en) 2009-03-25 2010-02-26 Apparatuses and methods providing redundant array of independent disks access to non-volatile memory chips
US13/626,077 US8631202B2 (en) 2009-03-25 2012-09-25 Apparatuses and methods providing redundant array of independent disks access to non-volatile memory chips

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090025494A KR101504632B1 (ko) 2009-03-25 2009-03-25 레이드를 사용한 장치들과 방법들

Publications (2)

Publication Number Publication Date
KR20100107281A true KR20100107281A (ko) 2010-10-05
KR101504632B1 KR101504632B1 (ko) 2015-03-20

Family

ID=42785693

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090025494A KR101504632B1 (ko) 2009-03-25 2009-03-25 레이드를 사용한 장치들과 방법들

Country Status (2)

Country Link
US (2) US8301835B2 (ko)
KR (1) KR101504632B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013005995A2 (en) * 2011-07-06 2013-01-10 Taejin Info Tech Co., Ltd. Redundant array of independent disk (raid) controlled semiconductor storage device (ssd)-based system having a high-speed non-volatile host interface
KR20160001911A (ko) * 2014-06-27 2016-01-07 삼성전자주식회사 불휘발성 메모리, 랜덤 액세스 메모리 및 메모리 컨트롤러를 포함하는 솔리드 스테이트 드라이브
US20220318091A1 (en) * 2021-04-06 2022-10-06 SK Hynix Inc. Storage system and operating method thereof
US11782616B2 (en) 2021-04-06 2023-10-10 SK Hynix Inc. Storage 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
KR20100100394A (ko) * 2009-03-06 2010-09-15 삼성전자주식회사 반도체 디스크 장치 그리고 그것의 데이터 기록 및 읽기 방법
US20140075091A1 (en) * 2012-09-10 2014-03-13 Texas Instruments Incorporated Processing Device With Restricted Power Domain Wakeup Restore From Nonvolatile Logic Array
CN102915212B (zh) * 2012-09-19 2015-06-10 记忆科技(深圳)有限公司 一种固态硬盘的raid实现方法、固态硬盘及电子设备
US8966310B2 (en) 2012-11-15 2015-02-24 Elwha Llc Redundancy for loss-tolerant data in non-volatile memory
US20150143027A1 (en) * 2013-11-20 2015-05-21 Sage Microelectronics Corp. Solid state drive with raid functions
KR102417182B1 (ko) 2015-06-22 2022-07-05 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
KR102504293B1 (ko) 2017-11-29 2023-02-27 삼성전자 주식회사 패키지 온 패키지 형태의 반도체 패키지
CN112612660B (zh) * 2020-12-16 2024-02-13 海光信息技术股份有限公司 规格信息数据库创建方法、芯片挑选方法及装置和系统
CN113643739A (zh) * 2021-09-02 2021-11-12 西安紫光国芯半导体有限公司 一种llc芯片及缓存系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275898B1 (en) 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
JP2005539309A (ja) 2002-09-16 2005-12-22 ティギ・コーポレイション 記憶システムアーキテクチャおよび多重キャッシュ装置
KR20070029978A (ko) 2005-09-12 2007-03-15 삼성전자주식회사 이동통신 단말기에서 레이프기술 이용장치 및 방법
TW200828102A (en) 2006-12-28 2008-07-01 Lumos Technology Co Ltd Disk array system
JP5026213B2 (ja) * 2007-09-28 2012-09-12 株式会社日立製作所 ストレージ装置及びデータ重複排除方法
KR100994110B1 (ko) 2008-09-19 2010-11-12 조진영 디스크 모듈
US8010743B2 (en) * 2008-12-12 2011-08-30 Lsi Corporation Automatic raid volume generation and migration based on application type
US8392654B2 (en) * 2009-04-17 2013-03-05 Lsi Corporation Raid level migration for spanned arrays
JP5552924B2 (ja) * 2010-06-30 2014-07-16 富士通株式会社 ストレージ制御プログラム、ストレージシステムおよびストレージ制御方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013005995A2 (en) * 2011-07-06 2013-01-10 Taejin Info Tech Co., Ltd. Redundant array of independent disk (raid) controlled semiconductor storage device (ssd)-based system having a high-speed non-volatile host interface
WO2013005995A3 (en) * 2011-07-06 2013-03-14 Taejin Info Tech Co., Ltd. Redundant array of independent disk (raid) controlled semiconductor storage device (ssd)-based system having a high-speed non-volatile host interface
US9207879B2 (en) 2011-07-06 2015-12-08 Taejin Info Tech Co., Ltd. Redundant array of independent disk (RAID) controlled semiconductor storage device (SSD)-based system having a high-speed non-volatile host interface
KR20160001911A (ko) * 2014-06-27 2016-01-07 삼성전자주식회사 불휘발성 메모리, 랜덤 액세스 메모리 및 메모리 컨트롤러를 포함하는 솔리드 스테이트 드라이브
US20220318091A1 (en) * 2021-04-06 2022-10-06 SK Hynix Inc. Storage system and operating method thereof
US11782616B2 (en) 2021-04-06 2023-10-10 SK Hynix Inc. Storage system and method of operating the same

Also Published As

Publication number Publication date
US20130042061A1 (en) 2013-02-14
US8301835B2 (en) 2012-10-30
US20100250848A1 (en) 2010-09-30
KR101504632B1 (ko) 2015-03-20
US8631202B2 (en) 2014-01-14

Similar Documents

Publication Publication Date Title
KR101504632B1 (ko) 레이드를 사용한 장치들과 방법들
CN111081308B (zh) 用于混合非易失性存储系统的系统和方法
KR102072829B1 (ko) 저장 장치 및 그것을 포함하는 데이터 저장 시스템의 글로벌 가비지 컬렉션 방법
KR101801147B1 (ko) 데이터 신뢰성을 개선하는 데이터 관리 방법 및 그에 따른 데이터 저장 장치
KR102219451B1 (ko) 스토리지 컨트롤러, 이의 동작 방법 및 이를 포함하는 솔리드 스테이트 디스크
US20180088812A1 (en) Methods of operating storage devices and data storage systems including storage devices
US9281068B2 (en) Nonvolatile memory and related reprogramming method
KR20130041341A (ko) 스트라이프-기반 비-휘발성 멀티레벨 메모리 동작
US8593900B2 (en) Method and apparatus for performing multi-block access operation in nonvolatile memory device
WO2011080768A1 (en) Memory devices comprising partitions with particular ecc attributes
KR102238650B1 (ko) 저장 장치, 상기 저장 장치를 포함하는 컴퓨팅 시스템 및 상기 저장 장치의 동작 방법
US20190324903A1 (en) Storage cache management
CN111261212B (zh) 高密度存储系统及其控制方法
KR20220058224A (ko) 메모리 시스템 및 이에 포함된 메모리 컨트롤러의 동작 방법
KR20210151374A (ko) 스토리지 장치 및 그 동작 방법
KR20220079676A (ko) 메모리 서브시스템에 대한 용량 확장
KR102664765B1 (ko) 복수의 채널들의 세미-네트워크(semi-network) 토폴로지(topology)를 포함하는 메모리 시스템
KR20200089547A (ko) 저장 장치 및 그 동작 방법
KR102665270B1 (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20240012787A (ko) 비휘발성 메모리 장치에 데이터를 프로그램하는 장치 및 방법
US11416263B1 (en) Boosted boot procedure by background re-arrangement of read patterns
US11200161B2 (en) Keeping zones open with intermediate padding
US11422921B2 (en) Debug systems for deterministic validation of data storage devices
WO2021216125A1 (en) Storage devices having minimum write sizes of data
CN112328508A (zh) 多层存储器中的层交错

Legal Events

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

Payment date: 20180228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200228

Year of fee payment: 6