KR20220161895A - 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치 및 방법 - Google Patents
멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치 및 방법 Download PDFInfo
- Publication number
- KR20220161895A KR20220161895A KR1020210070199A KR20210070199A KR20220161895A KR 20220161895 A KR20220161895 A KR 20220161895A KR 1020210070199 A KR1020210070199 A KR 1020210070199A KR 20210070199 A KR20210070199 A KR 20210070199A KR 20220161895 A KR20220161895 A KR 20220161895A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- storage
- type
- stream
- target data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000000926 separation method Methods 0.000 claims description 25
- 239000002932 luster Substances 0.000 claims description 12
- 239000007787 solid Substances 0.000 claims description 8
- 101150023408 mdt-21 gene Proteins 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 241000051616 Ulmus minor Species 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1858—Parallel file systems, i.e. file systems supporting multiple processors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치 및 방법이 개시되며, 본원의 일 실시예에 따른 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 방법은, (a) 클라이언트로부터 대상 데이터에 대한 입출력 요청을 수신하는 단계, (b) 상기 대상 데이터의 유형을 판단하는 단계 및 (c) 상기 판단 결과에 기초하여, 멀티스트림을 통해 복수의 블록 그룹으로 분리된 스토리지의 상기 복수의 블록 그룹 중 어느 하나의 블록 그룹에 상기 대상 데이터를 저장하는 단계를 포함할 수 있다.
Description
본원은 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치 및 방법에 관한 것이다. 예를 들면, 본원은 SSD(Solid State Drive) 기반의 대규모 분산/병렬 파일시스템의 메타데이터 서버에서 발생할 수 있는 쓰기 증폭(Write Amplification Factor, WAF)에 의한 파일 I/O 성능 저하를 해결하기 위하여 멀티스트림 기술을 활용한 메타데이터 서버에서의 데이터 분리 저장 기법에 관한 것이다.
도 1은 서로 다른 컴퓨터들 사이에 네트워크를 통하여 파일을 공유할 수 있도록 하는 클라이언트/서버 기반의 어플리케이션인 분산 병렬 시스템의 구조를 예시적으로 나타낸 도면이다. 도 1을 참조하면, 분산/병렬 파일 시스템(Distributed File System)은 러스터 파일 시스템(Lustre filesystem)일 수 있다.
이와 관련하여, 종래에는 고성능 컴퓨팅(High Performance Computing, HPC)환경의 슈퍼컴퓨터, 클라우드 컴퓨팅 시스템의 백앤드 병렬파일시스템은 상대적으로 저성능, 저가의 하드디스크로 구성되었으나, 최근의 NAND-flash 기반 SSD(Solid State Drive)의 가격이 낮아지는 등의 이유로, 하드디스크가 아닌 SSD(Solid State Drive)로 All-flash parallel filesystem을 구성하는 경향이 커지고 있으며, 특히 HPC 환경에서는 병렬파일시스템으로 러스터 파일 시스템(Lustre filesystem)이 주로 사용된다.
또한, 도 1을 참조하면, 러스터 파일 시스템(Lustre filesystem)은 크게 메타데이터 서버(Metadata Server, MDS; 2), 오브젝트 스토리지 서버(Object Storage Server, OSS; 3) 및 클라이언트(Client; 1)의 세 가지 구성요소를 가지며, MDS(2)에는 러스터 파일 시스템을 통해 저장되는 데이터에 대하여 소정의 데이터가 저장되는 OSS에 대한 정보 등과 같은 메타데이터가 저장된다. 한편, MDS(2)에서 관리하는 메타데이터는 MDS(2)에 정착된 스토리지 디바이스인 MDT(Metadata Target; 21)에 저장된다. 또한, OSS(3)에는 실제 데이터가 저장되며, 구체적으로 실제 데이터는 OSS(3)에 장착된 스토리지 디바이스인 OST(Object Storage Target; 31)에 저장된다. 또한, 클라이언트(1)는 네트워크(20)를 통해 러스터 파일 시스템을 마운트하여 사용하는 주체를 의미한다.
한편, MDS(2)와 OSS(3)는 물리적으로 다른 머신으로서 네트워크(20)를 통해 통신하기 때문에, 클라이언트(1)가 러스터 파일 시스템에 소정의 파일을 생성하고, 쓰고, 읽는 등의 작업을 수행할 경우 MDS(2)와 OSS(3) 사이에서 이루어지는 통신에 의한 오버헤드가 발생할 수 있다.
이와 관련하여, 도 2는 DoM(Data-on-MDT) 기능을 설명하기 위한 개념도이다. 도 2를 참조하면, 최근의 러스터 파일 시스템은 전술한 통신 오버헤드를 줄이기 위해, 상대적으로 작은 크기를 갖는 파일들은 OSS(3) 측의 OST(31)로 보내 저장하지 않고, MDS(2) 측의 MDT(21)에 직접 저장하는 DoM(Data-on-MDT) 기능을 제공하고 있다. 이러한 DoM 기능을 사용하면 실제로 작은 크기의 파일(Small file)에 대한 I/O 성능이 두 배 가까이 향상될 수 있다는 것이 실험적으로 확인된바 있다.
그러나, DoM 기능을 활용하게 되면, 그렇지 않은 경우보다 MDT에 저장되는 데이터의 양과 복잡성이 급격히 증가할 수 있고, 이는 특히 SSD(Solid State Drive)기반의 MDT(21)의 WAF값을 증가시켜 I/O 성능 및 SSD의 수명을 오히려 저하시킬 수 있다. 구체적으로, MDT(21)에 저장되는 스몰 파일들의 수가 과도하게 많아져 MDT(21)의 스토리지 용량이 소정 수준(예를 들면, 60 내지 70% 수준 등)이상 채워지게 되면 NAND-flash SSD의 특성상 SSD 내부 garbage collection 및 높은 WAF로 인해 성능이 저하되기 때문에, DoM의 이점을 살리지 못하고 오히려 DoM을 사용하지 않는 경우보다 낮은 I/O 성능을 보일 수 있다.
본원의 배경이 되는 기술은 한국등록특허공보 제10-1092658호에 개시되어 있다.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, DoM(Data-on-MDT) 기능의 이점을 충분히 살리고, 슈퍼컴퓨팅 환경 등의 워크로드에서 지배적으로 발생하는 스몰 파일의 I/O 성능을 향상시키도록 메타데이터 서버와 연계된 DoM 데이터와 일반 메타데이터를 멀티스트림을 활용하여 스토리지 내의 서로 다른 블록에 분리하여 저장하는 분산 병렬 시스템의 데이터 분리 저장 장치 및 방법을 제공하려는 것을 목적으로 한다.
다만, 본원의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본원의 일 실시예에 따른 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 방법은, (a) 클라이언트로부터 대상 데이터에 대한 입출력 요청을 수신하는 단계, (b) 상기 대상 데이터의 유형을 판단하는 단계 및 (c) 상기 판단 결과에 기초하여, 멀티스트림을 통해 복수의 블록 그룹으로 분리된 스토리지의 상기 복수의 블록 그룹 중 어느 하나의 블록 그룹에 상기 대상 데이터를 저장하는 단계를 포함할 수 있다.
또한, 상기 대상 데이터는, 상기 분산 병렬 시스템의 메타데이터 서버에 대응하는 저장 디바이스인 상기 스토리지에 대하여 저장되는 데이터일 수 있다.
또한, 상기 (b) 단계는, 상기 대상 데이터를 상기 분산 병렬 시스템을 통해 저장되는 실제 데이터 중 미리 설정된 파일 사이즈 미만의 데이터인 제1유형 데이터 및 상기 실제 데이터에 대응하는 메타 데이터인 제2유형 데이터 중 어느 하나로 판단할 수 있다.
또한, 상기 (c) 단계는, 상기 제1유형 데이터와 상기 제2유형 데이터를 서로 다른 상기 블록 그룹에 대하여 저장할 수 있다.
또한, 상기 (c) 단계는, (c1) 상기 제1유형 데이터 및 상기 제2유형 데이터 각각에 대응하는 스트림 식별자를 할당하는 단계, (c2) 상기 스트림 식별자 및 상기 대상 데이터를 커널 블록 I/O 레이어를 통해 상기 스토리지로 전달하는 단계 및 (c3) 상기 스트림 식별자에 기초하여 상기 스토리지에서 상기 대상 데이터를 상기 어느 하나의 블록 그룹에 대하여 저장하는 단계를 포함할 수 있다.
또한, 상기 (c2) 단계는, 상기 커널 블록 I/O 레이어로부터 상기 스토리지의 펌웨어로 상기 스트림 식별자를 전달하도록 수정된 커널을 이용하여 수행될 수 있다.
또한, 상기 분산 병렬 시스템은 러스터 파일 시스템(Lustre File System)일 수 있다.
또한, 상기 스토리지는 SSD(Solid State Drive)일 수 있다.
한편, 본원의 일 실시예에 따른 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치는, 클라이언트로부터 대상 데이터에 대한 입출력 요청을 수신하는 요청 수신부, 상기 대상 데이터의 유형을 판단하는 유형 판단부 및 상기 판단 결과에 기초하여, 멀티스트림을 통해 복수의 블록 그룹으로 분리된 스토리지의 상기 복수의 블록 그룹 중 어느 하나의 블록 그룹에 상기 대상 데이터를 저장하는 블록 저장부를 포함할 수 있다.
또한, 상기 유형 판단부는, 상기 대상 데이터를 상기 분산 병렬 시스템을 통해 저장되는 실제 데이터 중 미리 설정된 파일 사이즈 미만의 데이터인 제1유형 데이터 및 상기 실제 데이터에 대응하는 메타 데이터인 제2유형 데이터 중 어느 하나로 판단할 수 있다.
또한, 상기 블록 저장부는, 상기 제1유형 데이터와 상기 제2유형 데이터를 서로 다른 상기 블록 그룹에 대하여 저장할 수 있다.
또한, 상기 블록 저장부는, 상기 제1유형 데이터 및 상기 제2유형 데이터 각각에 대응하는 스트림 식별자를 할당하고, 상기 스트림 식별자 및 상기 대상 데이터를 커널 블록 I/O 레이어를 통해 상기 스토리지로 전달하고, 상기 스트림 식별자에 기초하여 상기 스토리지에서 상기 대상 데이터를 상기 어느 하나의 블록 그룹에 대하여 저장할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본원을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 추가적인 실시예가 존재할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, DoM(Data-on-MDT) 기능의 이점을 충분히 살리고, 슈퍼컴퓨팅 환경 등의 워크로드에서 지배적으로 발생하는 스몰 파일의 I/O 성능을 향상시키도록 메타데이터 서버와 연계된 DoM 데이터와 일반 메타데이터를 멀티스트림을 활용하여 스토리지 내의 서로 다른 블록에 분리하여 저장하는 분산 병렬 시스템의 데이터 분리 저장 장치 및 방법을 제공할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 상대적으로 빈번히 변경되는 핫 데이터(Hot data)인 일반 메타데이터와 상대적으로 잘 변경되지 않는 콜드 데이터(Cold data)인 DoM 데이터를 멀티스트림을 통해 서로 다른 블록에 분리하여 저장함으로써 WAF 값 및 SSD 기반의 스토리지 내부의 garbage collection 오버헤드를 낮추어 메타데이터 성능 및 작은 파일에 대한 I/O 성능을 개선할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, small file I/O가 지배적으로 이루어지는 복잡한 연산을 수행하는 슈퍼컴퓨팅 워크로드를 가속화하고, 이러한 워크로드를 수행하는 슈퍼컴퓨팅 I/O 시스템에 보다 높은 안정성을 부여할 수 있다.
다만, 본원에서 얻을 수 있는 효과는 상기된 바와 같은 효과들로 한정되지 않으며, 또 다른 효과들이 존재할 수 있다.
도 1은 분산 병렬 시스템의 구조를 예시적으로 나타낸 도면이다.
도 2는 DoM(Data-on-MDT) 기능을 설명하기 위한 개념도이다.
도 3은 본원의 일 실시예에 따른 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치의 개략적인 구성도이다.
도 4는 본원의 일 실시예에 따른 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치와 연계된 메타데이터 서버의 레이어 구조를 예시적으로 나타낸 도면이다.
도 5는 본원의 일 실시예에 따른 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 기법의 동작 흐름 및 멀티스트림 SSD의 내부 구조를 도시한 개념도이다.
도 6은 본원의 일 실시예에 따른 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 방법에 대한 동작 흐름도이다.
도 7은 스토리지의 복수의 블록 그룹 중 어느 하나의 블록 그룹에 대하여 대상 데이터를 저장하는 프로세스에 대한 세부 동작 흐름도이다.
도 2는 DoM(Data-on-MDT) 기능을 설명하기 위한 개념도이다.
도 3은 본원의 일 실시예에 따른 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치의 개략적인 구성도이다.
도 4는 본원의 일 실시예에 따른 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치와 연계된 메타데이터 서버의 레이어 구조를 예시적으로 나타낸 도면이다.
도 5는 본원의 일 실시예에 따른 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 기법의 동작 흐름 및 멀티스트림 SSD의 내부 구조를 도시한 개념도이다.
도 6은 본원의 일 실시예에 따른 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 방법에 대한 동작 흐름도이다.
도 7은 스토리지의 복수의 블록 그룹 중 어느 하나의 블록 그룹에 대하여 대상 데이터를 저장하는 프로세스에 대한 세부 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결" 또는 "간접적으로 연결"되어 있는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부재가 다른 부재 "상에", "상부에", "상단에", "하에", "하부에", "하단에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
본원은 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치 및 방법에 관한 것이다. 예를 들면, 본원은 SSD(Solid State Drive) 기반의 대규모 분산/병렬 파일시스템의 메타데이터 서버에서 발생할 수 있는 쓰기 증폭(Write Amplification Factor, WAF)에 의한 파일 I/O 성능 저하를 해결하기 위하여 멀티스트림 기술을 활용한 메타데이터 서버에서의 데이터 분리 저장 기법에 관한 것이다.
도 3은 본원의 일 실시예에 따른 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치의 개략적인 구성도이다.
도 3을 참조하면, 본원의 일 실시예에 따른 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치(100)(이하, '분리 저장 장치(100)'라 한다.)는, 요청 수신부(110), 유형 판단부(120) 및 블록 저장부(130)를 포함할 수 있다.
한편, 본원에서 개시하는 분리 저장 장치(100)는 분산 병렬 시스템(10)의 메타데이터 서버(MDS, 2)에 대응하는 스토리지 디바이스인 MDT(21)에 대상 데이터를 저장하는 프로세스를 관리하는 디바이스 또는 서버로서, 분산 병렬 시스템을 이루는 MDS(2) 또는 MDT(21)에 대하여 탑재(설치)되는 것이거나, 본원의 구현예에 따라 MDS(2) 및 MDT(21)와 별개로 구비되는 디바이스 또는 서버일 수 있다.
또한, 본원의 실시예에 관한 설명에서 분산 병렬 시스템(10)은 클라이언트(1), MDS(2), OSS(3) 등의 하위 구성을 포함하는 러스터 파일 시스템(Lustre File System)일 수 있다.
또한, 전술한 도 1을 참조하면, 러스터 파일 시스템(Lustre File System)에는 메타데이터를 관리하는 메타데이터 서버인 MDS(2)와 메타데이터가 실제로 저장되는 MDT(21) 뿐만 아니라, 하나의 서비스 도메인 내에서 여러 개의 러스터 파일 시스템을 제공하기 위한 관리 서버(Management Server; 4)가 존재할 수 있다.
이와 관련하여, 일반적으로 관리 서버(4)는 별도의 머신으로서 마련되는 것이 아니라, MDS(2)에 포함된 구조를 가지기 때문에 도 1에는 점선으로 표시되어 있다. 한편, 러스터 파일 시스템(Lustre File System)을 통해 저장되는 실제 파일 또는 실제 데이터는 오브젝트 스토리지 서버인 OSS(3)의 Object Storage Target(31)에 저장된다. 또한, 적어도 하나 이상의 클라이언트(1)는 네트워크(20)를 통해 러스터 파일 시스템(Lustre File System)을 마운트함으로써 러스터 파일 시스템(Lustre File System)에 저장된 파일 또는 데이터 등에 접근할 수 있다.
이와 관련하여, 분리 저장 장치(100), 클라이언트(1), 사용자 단말(200), MDS(2) 및 OSS(3) 상호간은 네트워크(20)를 통해 통신할 수 있다. 네트워크(20)는 단말들 및 서버들과 같은 각각의 노드 상호간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크(20)의 일 예에는, 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5G 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), wifi 네트워크, 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
클라이언트(1)는 예를 들면, 스마트폰(Smartphone), 스마트패드(SmartPad), 태블릿 PC등과 PCS(Personal Communication System), GSM(Global System for Mobile communication), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말기 같은 모든 종류의 무선 통신 장치 또는 사용자 단말일 수 있다.
요청 수신부(110)는 클라이언트(1)로부터 대상 데이터에 대한 입출력 요청을 수신할 수 있다. 구체적으로, 요청 수신부(110)는 네트워크(20)를 통해 소정의 대상 데이터에 대한 I/O 요청(Request)을 클라이언트(1)로부터 수신할 수 있다.
유형 판단부(120)는 대상 데이터의 유형을 판단할 수 있다. 구체적으로, 유형 판단부(120)는 클라이언트(1)로부터 수신된 입출력 요청에 대응하는 대상 데이터를 본원에서의 분산 병렬 시스템을 통해 저장되는 실제 데이터 중 미리 설정된 파일 사이즈 미만의 데이터인 제1유형 데이터(D1) 및 분산 병렬 시스템을 통해 저장되는 실제 데이터에 대응하는 메타 데이터인 제2유형 데이터(D2) 중 어느 하나로 판단할 수 있다.
본원의 일 실시예에 따르면, 유형 판단부(120)가 대상 데이터를 메타데이터가 아닌 실제 데이터 중 제1유형 데이터(D1)에 해당하는 것으로 판단하기 위한 미리 설정된 파일 사이즈는 분산 병렬 시스템(10)에 참여하는 클라이언트(1)의 수, MDT(21)의 스토리지 용량, MDT(21)에 대하여 기 저장된 제2유형 데이터(D2)의 용량 등을 고려하여 소정의 값으로 결정되거나 분산 병렬 시스템(10)의 상황에 따라 가변되는 것일 수 있다.
이하에서는 제1유형 데이터(D1) 및 제2유형 데이터(D2)에 대하여 구체적으로 설명하도록 한다. 참고로, 본원의 실시예에 관한 설명에서 제1유형 데이터(D1)는 메타데이터가 아닌, DoM 기능을 통해 MDT(21)에 직접 저장되는 데이터로서 'DoM 데이터'로 달리 지칭되고, 제2유형 데이터(D2)는 '일반 메타데이터'로 달리 지칭되는 것일 수 있다.
구체적으로, 제1유형 데이터(D1)는 한 번 MDT(21)에 쓰여지고 나면 업데이트, 삭제 작업 외에 파일 내용이 수정되는 작업이 발생하지 않는 반면, 일반 메타데이터인 제2유형 데이터(D2)는 파일 소유자(owner), 권한, 아이노드 상태 정보(state of inode), 링크 카운트(link count), 파일 접근 타임스탬프, 스트라이핑 레이아웃(striping layout) 등에 기초하여, 제2유형 데이터(D2)에 대응되는 실제 데이터를 포함하는 파일의 내용이 직접적으로 변경되지 않아도 업데이트 될 수 있다는 차이가 있다.
이해를 돕기 위해 구체적으로 예시하면, 제1유형 데이터(D1) A에 대한 메타데이터 A'가 존재하는 것을 가정하면, A에 클라이언트(1) 등이 접근하여 파일을 열고 내용을 읽거나, 권한을 바꾸거나, 심볼릭 링크(symbolic link)를 연결하는 등 작업을 수행함에 따라 A의 내용에 대한 직접적인 수정이 발생하지 않더라도, A' 자체는 변경될 수 있다. 또한 A의 내용을 수정하거나 삭제하여 MDT(21)의 페이지에 저장된 A의 내용이 변경되거나 삭제될 경우에는, A'가 저장된 페이지는 당연히 변경되거나 삭제될 수 있다.
즉, 일반 메타데이터인 제2유형 데이터(D2)는 읽기, 쓰기, 업데이트, 권한 변경, 심볼릭 링킹(symbolic linking), 파일 이름 변경, 삭제 등 거의 모든 유형의 파일 작업(file operation)에 의해 빈번히 변경되는 핫 데이터(Hot data)인 반면, DoM 데이터인 제1유형 데이터(D1)는 쓰기, 업데이트, 삭제 작업에 의해서만 변경되는 콜드 데이터(Cold data)일 수 있다.
블록 저장부(130)는 유형 판단부(120)의 판단 결과에 기초하여, 멀티스트림을 통해 복수의 블록 그룹으로 분리된 스토리지의 복수의 블록 그룹 중 어느 하나의 블록 그룹에 대상 데이터를 저장할 수 있다. 구체적으로, 블록 저장부(130)는 대상 데이터가 제1유형 데이터(D1)로 판단된 경우와 대상 데이터가 제2유형 데이터(D2)로 판단된 경우를 구분하여 제1유형 데이터(D1)와 제2유형 데이터(D2)를 스토리지 내의 서로 다른 블록 그룹에 대하여 저장할 수 있다.
이와 관련하여, 블록 저장부(130)는 두 개의 스트림으로 분할하여 제1유형 데이터(D1) 및 제2유형 데이터(D2)를 각각 저장하기 위하여 SSD 기반의 MDT(21)를 멀티 스트림 SSD로 구성할 수 있으나, 이에만 한정되는 것은 아니고, 따라 제1유형 데이터(D1) 또는 제2유형 데이터(D2)를 각각 보다 세분화된 하위 유형으로 구분하여 저장할 수 있도록 블록 저장부(130)는 본원의 구현예에 따라서는 세 개 이상의 스트림으로 스토리지를 분할하여 대상 데이터를 저장하는 것일 수 있다.
이에 따라, 본원에서 개시하는 분리 저장 장치(100)는 상대적으로 변경되는 빈도가 상이한 제1유형 데이터(D1)와 제2유형 데이터(D2)를 분리하여 저장함으로써 WAF 값과 SSD 내부의 garbage collection 오버헤드를 낮추어 높고 안정적인 메타데이터 성능 및 small file I/O 성능을 제공할 수 있게 된다.
SSD의 컨트롤러에는 Flash Translation Layer(FTL)라는 계층이 존재하고, SSD의 File Transfer Protocol(FTP)은 논리주소와 물리주소를 매핑함으로써 섹터기반의 OS, 파일시스템, 어플리케이션으로부터 SSD를 사용할 수 있게 해주는데, SSD의 경우, 쓰기(write) 단위와 삭제(erase) 단위가 상이하여 FTP는 Garbage Collection 및 Wear Leveling을 제공함으로써 SSD의 상태와 수명을 관리하는데, Garbage Collection 작업에 대한 오버헤드는 SSD의 성능에 주된 영향을 미치는 요소이다.
구체적으로, Garbage Collection 작업은 SSD 내에 invalid 페이지가 일정량 쌓인 경우 수행되어, 기존의 데이터에 대한 업데이트가 발생했을 때 FTP의 Wear Leveling으로 업데이트된 데이터가 다른 페이지에 쓰여지고, 기존의 데이터의 페이지를 invalid하게 전환함으로써 수행된다. 즉, Garbage Collection은 업데이트 작업이 많이 일어나는 환경에서 자주 발생하게 되며, 이와 관련하여 멀티스트림 SSD은 데이터의 업데이트 빈도에 따라 스트림을 나누어 Garbage Collection에 대한 오버헤드를 줄이는 기법을 의미한다.
도 4는 본원의 일 실시예에 따른 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치와 연계된 메타데이터 서버의 레이어 구조를 예시적으로 나타낸 도면이다.
도 4를 참조하면, 멀티스트림을 사용하려면 Block I/O layer에서 SSD의 펌웨어 측까지 스트림 식별자(Stream ID)를 전달하도록 수정한 커널(modified kernel)을 사용해야 한다.
즉, 블록 저장부(130)는 MDT(21)에 저장될 대상 데이터에 대하여, 해당 대상 데이터가 제1유형 데이터(D1)인지 또는 제2유형 데이터(D2)인지에 대한 유형 판단부(120)의 판단 결과에 기초하여 스트림 식별자(Stream ID)를 할당하고, 할당된 스트림 식별자와 함께 커널에 Block I/O를 발생시킴으로써 MDT(21)에서 대상 데이터를 데이터 유형에 따라 분리 저장할 수 있다.
종합하면, 블록 저장부(130)는 구체적으로 제1유형 데이터(D1) 및 제2유형 데이터(D2) 각각에 대응하는 스트림 식별자를 할당할 수 있다. 또한, 블록 저장부(130)는 할당된 스트림 식별자 및 대상 데이터를 커널 블록 I/O 레이어를 통해 스토리지로 전달할 수 있다. 또한, 블록 저장부(130)는 스트림 식별자에 기초하여 스토리지에서 멀티스트림을 통해 분할된 어느 하나의 블록 그룹에 대상 데이터를 저장할 수 있다.
도 5는 본원의 일 실시예에 따른 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 기법의 동작 흐름 및 멀티스트림 SSD의 내부 구조를 도시한 개념도이다.
도 5를 참조하면, 분리 저장 장치(100)는 네트워크(20)를 통해 클라이언트(1)에서 대상 데이터에 대한 I/O request가 수신되면, 서버 단(Server side)의 메타데이터 서버(2)에서 MDT(21)에 데이터를 저장하기 전에, 해당 데이터가 제1유형 데이터(D1)인지 또는 제2유형 데이터(D2)인지 판단하여 스트림 식별자(Stream ID)를 할당한 후, 할당된 스트림 식별자와 대상 데이터를 함께 커널의 Block I/O layer를 거쳐 MDT(21)로 전달하고, MDT(21)의 멀티스트림 SSD 내부에서는 스트림을 두 개로 나누어 제1유형 데이터(D1)와 제2유형 데이터(D2)를 각각 다른 블록에 저장할 수 있다.
또한, 도 5를 참조하면, 제1유형 데이터(D1) 및 제2유형 데이터(D2)에 대응하여 부여되는 스트림 식별자는 제1유형 데이터(D1)에 대하여 '1'이 할당되고, 제2유형 데이터(D2)에 대하여 '2'가 할당되는 것일 수 있으나, 이에만 한정되는 것은 아니다. 이와 관련하여, MDT(21)에 대한 멀티스트림을 통해 세 개 이상의 스트림으로 스토리지가 분할되는 경우, 대상 데이터에 대하여 부여되는 스트림 식별자는 스토리지의 분할 수에 대응하여 마찬가지로 세 개 이상의 식별자로 구분될 수 있다.
이하에서는 상기에 자세히 설명된 내용을 기반으로, 본원의 동작 흐름을 간단히 살펴보기로 한다.
도 6은 본원의 일 실시예에 따른 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 방법에 대한 동작 흐름도이다.
도 6에 도시된 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 방법은 앞서 설명된 분리 저장 장치(100)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 분리 저장 장치(100)에 대하여 설명된 내용은 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 방법에 대한 설명에도 동일하게 적용될 수 있다.
도 6을 참조하면, 단계 S11에서 요청 수신부(110)는 (a) 클라이언트(1)로부터 대상 데이터에 대한 입출력 요청을 수신할 수 있다.
다음으로, 단계 S12에서 유형 판단부(120)는 (b) 수신한 대상 데이터의 유형을 판단할 수 있다.
구체적으로, 단계 S12에서 유형 판단부(120)는 대상 데이터를 분산 병렬 시스템을 통해 저장되는 실제 데이터 중 미리 설정된 파일 사이즈 미만의 데이터인 제1유형 데이터(D1) 및 실제 데이터에 대응하는 메타 데이터인 제2유형 데이터(D2) 중 어느 하나로 판단할 수 있다.
다음으로, 단계 S13에서 블록 저장부(130)는 단계 S12의 판단 결과에 기초하여 (c) 멀티스트림을 통해 복수의 블록 그룹으로 분리된 스토리지의 복수의 블록 그룹 중 어느 하나의 블록 그룹에 대상 데이터를 저장할 수 있다.
구체적으로, 단계 S13에서 블록 저장부(130)는 단계 S12를 통해 판단된 제1유형 데이터(D1)와 제2유형 데이터(D2)를 서로 다른 블록 그룹에 대하여 분리하여 저장할 수 있다.
상술한 설명에서, 단계 S11 내지 S13은 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
도 7은 스토리지의 복수의 블록 그룹 중 어느 하나의 블록 그룹에 대하여 대상 데이터를 저장하는 프로세스에 대한 세부 동작 흐름도이다.
도 7에 도시된 스토리지의 복수의 블록 그룹 중 어느 하나의 블록 그룹에 대하여 대상 데이터를 저장하는 프로세스는 앞서 설명된 분리 저장 장치(100)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도 분리 저장 장치(100)에 대하여 설명된 내용은 도 7에 대한 설명에도 동일하게 적용될 수 있다.
도 7을 참조하면, 단계 S131에서 블록 저장부(130)는 단계 S12의 판단 결과에 기초하여 파악된 대상 데이터의 유형 정보에 기초하여 대상 데이터에 대하여 (c1) 제1유형 데이터(D1) 및 제2유형 데이터(D2) 각각에 대응하는 스트림 식별자를 할당할 수 있다.
다음으로, 단계 S132에서 블록 저장부(130)는 (c2) 할당된 스트림 식별자 및 대상 데이터를 커널 블록 I/O 레이어를 통해 스토리지(예를 들면, MDS(2) 측의 MST(21)인 Multi-stream SSD 스토리지 등)로 전달할 수 있다.
다음으로, 단계 S133에서 블록 저장부(130)는 (c3) 스트림 식별자에 기초하여 스토리지에서 대상 데이터를 어느 하나의 블록 그룹에 대하여 저장할 수 있다.
상술한 설명에서, 단계 S131 내지 S133은 본원의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
본원의 일 실시예에 따른 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 전술한 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 방법은 기록 매체에 저장되는 컴퓨터에 의해 실행되는 컴퓨터 프로그램 또는 애플리케이션의 형태로도 구현될 수 있다.
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.
10: 분산 병렬 시스템
100: 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치
110: 요청 수신부
120: 유형 판단부
130: 블록 저장부
1: 클라이언트
2: 메타데이터 서버
3: 오브젝트 스토리지 서버
20: 네트워크
100: 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치
110: 요청 수신부
120: 유형 판단부
130: 블록 저장부
1: 클라이언트
2: 메타데이터 서버
3: 오브젝트 스토리지 서버
20: 네트워크
Claims (15)
- 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 방법에 있어서,
(a) 클라이언트로부터 대상 데이터에 대한 입출력 요청을 수신하는 단계;
(b) 상기 대상 데이터의 유형을 판단하는 단계; 및
(c) 상기 판단 결과에 기초하여, 멀티스트림을 통해 복수의 블록 그룹으로 분리된 스토리지의 상기 복수의 블록 그룹 중 어느 하나의 블록 그룹에 상기 대상 데이터를 저장하는 단계,
를 포함하는, 분리 저장 방법. - 제1항에 있어서,
상기 대상 데이터는,
상기 분산 병렬 시스템의 메타데이터 서버에 대응하는 저장 디바이스인 상기 스토리지에 대하여 저장되는 데이터인 것인, 분리 저장 방법. - 제2항에 있어서,
상기 (b) 단계는,
상기 대상 데이터를 상기 분산 병렬 시스템을 통해 저장되는 실제 데이터 중 미리 설정된 파일 사이즈 미만의 데이터인 제1유형 데이터 및 상기 실제 데이터에 대응하는 메타 데이터인 제2유형 데이터 중 어느 하나로 판단하는 것인, 분리 저장 방법. - 제3항에 있어서,
상기 (c) 단계는,
상기 제1유형 데이터와 상기 제2유형 데이터를 서로 다른 상기 블록 그룹에 대하여 저장하는 것인, 분리 저장 방법. - 제3항에 있어서,
상기 (c) 단계는,
(c1) 상기 제1유형 데이터 및 상기 제2유형 데이터 각각에 대응하는 스트림 식별자를 할당하는 단계;
(c2) 상기 스트림 식별자 및 상기 대상 데이터를 커널 블록 I/O 레이어를 통해 상기 스토리지로 전달하는 단계; 및
(c3) 상기 스트림 식별자에 기초하여 상기 스토리지에서 상기 대상 데이터를 상기 어느 하나의 블록 그룹에 대하여 저장하는 단계,
를 포함하는 것인, 분리 저장 방법. - 제5항에 있어서,
상기 (c2) 단계는,
상기 커널 블록 I/O 레이어로부터 상기 스토리지의 펌웨어로 상기 스트림 식별자를 전달하도록 수정된 커널을 이용하여 수행되는 것인, 분리 저장 방법. - 제2항에 있어서,
상기 분산 병렬 시스템은 러스터 파일 시스템(Lustre File System)인 것을 특징으로 하는, 분리 저장 방법. - 제7항에 있어서,
상기 스토리지는 SSD(Solid State Drive)인 것을 특징으로 하는, 분리 저장 방법. - 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치에 있어서,
클라이언트로부터 대상 데이터에 대한 입출력 요청을 수신하는 요청 수신부;
상기 대상 데이터의 유형을 판단하는 유형 판단부; 및
상기 판단 결과에 기초하여, 멀티스트림을 통해 복수의 블록 그룹으로 분리된 스토리지의 상기 복수의 블록 그룹 중 어느 하나의 블록 그룹에 상기 대상 데이터를 저장하는 블록 저장부,
를 포함하는, 분리 저장 장치. - 제9항에 있어서,
상기 대상 데이터는,
상기 분산 병렬 시스템의 메타데이터 서버에 대응하는 저장 디바이스인 상기 스토리지에 대하여 저장되는 데이터인 것인, 분리 저장 장치. - 제10항에 있어서,
상기 유형 판단부는,
상기 대상 데이터를 상기 분산 병렬 시스템을 통해 저장되는 실제 데이터 중 미리 설정된 파일 사이즈 미만의 데이터인 제1유형 데이터 및 상기 실제 데이터에 대응하는 메타 데이터인 제2유형 데이터 중 어느 하나로 판단하는 것인, 분리 저장 장치. - 제11항에 있어서,
상기 블록 저장부는,
상기 제1유형 데이터와 상기 제2유형 데이터를 서로 다른 상기 블록 그룹에 대하여 저장하는 것인, 분리 저장 장치. - 제11항에 있어서,
상기 블록 저장부는,
상기 제1유형 데이터 및 상기 제2유형 데이터 각각에 대응하는 스트림 식별자를 할당하고, 상기 스트림 식별자 및 상기 대상 데이터를 커널 블록 I/O 레이어를 통해 상기 스토리지로 전달하고, 상기 스트림 식별자에 기초하여 상기 스토리지에서 상기 대상 데이터를 상기 어느 하나의 블록 그룹에 대하여 저장하는 것인, 분리 저장 장치. - 제10항에 있어서,
상기 분산 병렬 시스템은 러스터 파일 시스템(Lustre File System)이고, 상기 스토리지는 SSD(Solid State Drive)인 것을 특징으로 하는, 분리 저장 장치. - 제1항 내지 제8항 중 어느 한 항에 따른 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터에서 판독 가능한 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210070199A KR102652396B1 (ko) | 2021-05-31 | 2021-05-31 | 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210070199A KR102652396B1 (ko) | 2021-05-31 | 2021-05-31 | 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220161895A true KR20220161895A (ko) | 2022-12-07 |
KR102652396B1 KR102652396B1 (ko) | 2024-03-28 |
Family
ID=84441069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210070199A KR102652396B1 (ko) | 2021-05-31 | 2021-05-31 | 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102652396B1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180045786A (ko) * | 2016-10-26 | 2018-05-04 | 삼성전자주식회사 | 멀티-스트림이 가능한 솔리드 스테이트 드라이브들을 위하여 데이터 스트림들을 통합하는 방법 |
US20180307598A1 (en) * | 2017-04-25 | 2018-10-25 | Samsung Electronics Co., Ltd. | Methods for multi-stream garbage collection |
KR20190056211A (ko) * | 2017-11-16 | 2019-05-24 | 삼성전자주식회사 | 가비지 컬렉션 방법, 이를 수행하는 저장 장치 및 이를 포함하는 컴퓨팅 시스템 |
US20190171564A1 (en) * | 2019-02-07 | 2019-06-06 | Intel Corporation | Selection of mass storage device streams for garbage collection based on logical saturation |
US20200401334A1 (en) * | 2019-06-19 | 2020-12-24 | Western Digital Technologies, Inc. | Multi-stream non-volatile storage system |
-
2021
- 2021-05-31 KR KR1020210070199A patent/KR102652396B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180045786A (ko) * | 2016-10-26 | 2018-05-04 | 삼성전자주식회사 | 멀티-스트림이 가능한 솔리드 스테이트 드라이브들을 위하여 데이터 스트림들을 통합하는 방법 |
US20180307598A1 (en) * | 2017-04-25 | 2018-10-25 | Samsung Electronics Co., Ltd. | Methods for multi-stream garbage collection |
KR20190056211A (ko) * | 2017-11-16 | 2019-05-24 | 삼성전자주식회사 | 가비지 컬렉션 방법, 이를 수행하는 저장 장치 및 이를 포함하는 컴퓨팅 시스템 |
US20190171564A1 (en) * | 2019-02-07 | 2019-06-06 | Intel Corporation | Selection of mass storage device streams for garbage collection based on logical saturation |
US20200401334A1 (en) * | 2019-06-19 | 2020-12-24 | Western Digital Technologies, Inc. | Multi-stream non-volatile storage system |
Also Published As
Publication number | Publication date |
---|---|
KR102652396B1 (ko) | 2024-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593319B2 (en) | Virtualized data storage system architecture | |
US10296494B2 (en) | Managing a global namespace for a distributed filesystem | |
US10013317B1 (en) | Restoring a volume in a storage system | |
US9811662B2 (en) | Performing anti-virus checks for a distributed filesystem | |
US8788628B1 (en) | Pre-fetching data for a distributed filesystem | |
US9804928B2 (en) | Restoring an archived file in a distributed filesystem | |
US11347443B2 (en) | Multi-tier storage using multiple file sets | |
US9811532B2 (en) | Executing a cloud command for a distributed filesystem | |
US8504670B2 (en) | Virtualized data storage applications and optimizations | |
US10180953B2 (en) | Receiver-side data deduplication in data systems | |
US9852149B1 (en) | Transferring and caching a cloud file in a distributed filesystem | |
US9792298B1 (en) | Managing metadata and data storage for a cloud controller in a distributed filesystem | |
US9015131B2 (en) | Information management method, and computer for providing information | |
US9824095B1 (en) | Using overlay metadata in a cloud controller to generate incremental snapshots for a distributed filesystem | |
US9678968B1 (en) | Deleting a file from a distributed filesystem | |
US9679040B1 (en) | Performing deduplication in a distributed filesystem | |
US9678981B1 (en) | Customizing data management for a distributed filesystem | |
US12067236B2 (en) | Data stability in data storage system | |
US8510499B1 (en) | Solid state drive caching using memory structures to determine a storage space replacement candidate | |
US20130232215A1 (en) | Virtualized data storage system architecture using prefetching agent | |
CN109697016B (zh) | 用于改进容器的存储性能的方法和装置 | |
US10108644B1 (en) | Method for minimizing storage requirements on fast/expensive arrays for data mobility and migration | |
US9524300B2 (en) | Heterogenic volume generation and use system | |
KR102652396B1 (ko) | 멀티스트림을 활용한 분산 병렬 시스템의 데이터 분리 저장 장치 및 방법 | |
US8943019B1 (en) | Lookup optimization during online file system migration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |