KR20170056411A - 저장 매체를 다중 모드로 동작시키는 관리 시스템, 그것을 포함하는 저장 시스템, 및 그것을 이용하여 저장 매체를 관리하는 방법 - Google Patents
저장 매체를 다중 모드로 동작시키는 관리 시스템, 그것을 포함하는 저장 시스템, 및 그것을 이용하여 저장 매체를 관리하는 방법 Download PDFInfo
- Publication number
- KR20170056411A KR20170056411A KR1020160074698A KR20160074698A KR20170056411A KR 20170056411 A KR20170056411 A KR 20170056411A KR 1020160074698 A KR1020160074698 A KR 1020160074698A KR 20160074698 A KR20160074698 A KR 20160074698A KR 20170056411 A KR20170056411 A KR 20170056411A
- Authority
- KR
- South Korea
- Prior art keywords
- storage
- sue
- manager
- address space
- selective
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
Description
도 1은 본 발명의 실시 예에 따른 선별 잠재 노출(Selective Underlying Exposure, 이하 SUE) 저장 파티션(Partition)을 포함하는 예시적인 저장 장치를 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 예시적인 다중 모드 저장 장치(Multimode Storage Device)를 보여주는 블록도이다.
도 3은 본 발명의 실시 예에 따른 다른 예시적인 다중 모드 저장 장치를 보여주는 블록도이다.
도 4는 본 발명의 실시 예에 따른 예시적인 다중 모드 솔리드 스테이트 드라이브(Multimode Solid State Drive)를 보여주는 블록도이다.
도 5는 본 발명의 실시 예에 따라 어드레스 공간 정보를 논리 어드레스 공간 정보로 변환하는 예시적인 과정을 보여주는 개념도이다.
도 6은 본 발명의 실시 예에 따른 시스템을 보여주는 블록도이다.
도 7은 본 발명의 실시 예에 따른 시스템을 보여주는 블록도이다.
도 8은 본 발명의 실시 예에 따라 다중 모드 선별 잠재 노출을 구동하는 방법을 설명하는 흐름도이다.
도 9는 본 발명의 실시 예에 따른 다중 모드 솔리드 스테이트 드라이브를 예시적으로 보여주는 블록도이다.
도 10은 본 발명의 실시 예에 따른 다중 모드 저장 장치의 사용자 영역에의 저장을 위한 예시적인 SUE 블록 및 대응하는 SUE 페이지를 보여주는 블록도이다.
도 11은 본 발명의 실시 예에 따른 다중 모드 저장 장치의 사용자 영역에의 저장을 위한 사용자 저장 공간의 예시적인 SUE 블록 및 대응하는 SUE 페이지들을 보여주는 블록도이다.
도 12는 본 발명의 실시 예에 따른 다중 모드 저장 장치의 사용자 영역에의 저장을 위한 예시적인 SUE 메타 페이지 및 대응하는 SUE 페이지들을 보여주는 블록도이다.
도 13은 본 발명의 실시 예에 따른 다중 모드 저장 장치의 사용자 영역에의 저장을 위한 예시적인 SUE 메타 블록 및 대응하는 SUE 메타 페이지들을 보여주는 블록도이다.
도 14는 본 발명의 실시 예에 따른 다중 모드 저장 장치의 사용자 영역에의 저장을 위한 다른 예시적인 SUE 메타 블록 및 대응하는 SUE 블록들을 보여주는 블록도이다.
도 15는 본 발명의 실시 예에 따라 논리 어드레스로부터 SUE 어드레스로의 어드레스 맵핑을 제공하기 위해 다중 모드 저장 시스템에 의해 구현될 수 있는 예시적인 SUE 맵핑 스킴을 보여주는 개념도이다.
도 16은 도 15의 SUE 맵핑 스킴을 구현할 수 있는 예시적인 저장 시스템을 보여주는 블록도이다.
도 17은 본 발명의 실시 예에 따라 논리 어드레스 공간을 SUE 어드레스 공간으로 맵핑하는 예시적인 방법을 설명하는 흐름도이다.
도 18은 저장 시스템이 본 발명의 실시 예에 따라 저장 장치에서 논리 및 SUE 저장 공간들을 다룰 수 있게 하기 위해 SUE 어드레스 스킴을 채용한 예시적인 다중 모드 저장 관리 시스템을 보여주는 블록도이다.
도 19는 저장 시스템이 본 발명의 실시 예에 따라 저장 장치에서 논리 및 SUE 저장 공간들을 다룰 수 있게 하기 위해 SUE 어드레스 스킴을 채용한 다른 예시적인 다중 모드 저장 관리 시스템을 보여주는 블록도이다.
도 20은 저장 시스템이 본 발명의 실시 예에 따라 저장 장치에서 논리 및 SUE 저장 공간들을 다룰 수 있게 하기 위해 SUE 어드레스 스킴을 채용한 또 다른 예시적인 다중 모드 저장 관리 시스템을 보여주는 블록도이다.
도 21은 본 발명의 실시 예에 따른 다중 모드 저장 관리 시스템에 의해 구현될 수 있는 사용자 영역 액세스 관리기를 보여주는 블록도이다.
도 22는 본 발명의 실시 예에 따른 다중 모드 저장 관리 시스템에 의해 구현될 수 있는 사용자 영역 맵핑 엔진을 보여주는 블록도이다.
도 23은 본 발명의 실시 예에 따른 다중 모드 저장 관리 시스템에 의해 구현될 수 있는 메타 블록 관리기를 보여주는 블록도이다.
도 24는 본 발명의 실시 예에 따른 다중 모드 저장 관리 시스템에 의해 구현될 수 있는 저장 장치 제어 관리기를 보여주는 블록도이다.
도 25는 본 발명의 실시 예에 따른 다중 모드 저장 관리 시스템에 의해 구현될 수 있는 저장 장치 액세스 관리기를 보여주는 블록도이다.
도 26은 본 발명의 실시 예에 따른 다중 모드 저장 관리 시스템에 의해 구현될 수 있는 전역 상태 관리기를 보여주는 블록도이다.
102 : 선별 잠재 노출 인터페이스 103 : 잠재 저장 영역
220 : 다중 모드 저장 장치
230 : 제 1 파티션 231 : 제 1 유형의 인터페이스
233 : 잠재 저장 영역 240 : 제 2 파티션
241 : 제 2 유형의 인터페이스 243 : 잠재 저장 영역
350 : 다중 모드 저장 장치
371 : 제 1 파티션 372 : 제 1 파티션 관련 활동
373 : 잠재 저장 영역 380 : 제 2 파티션
381 : 선별 잠재 노출 인터페이스 383 : 잠재 저장 영역
400 : 다중 모드 솔리드 스테이트 드라이브
410 : 논리 어드레스 공간 파티션 411 : 논리 인터페이스
412 : 잠재 물리 어드레스 공간 413 : 플래시 변환 로직
420 : 선별 잠재 노출 어드레스 공간 파티션
421 : 선별 잠재 노출 인터페이스 423 : 잠재 물리 어드레스 공간
470 : 다이
471, 472, 473, 474, 479 : 잠재 물리 어드레스 블록
501 : 선별 잠재 노출 인터페이스 502 : 물리 어드레스 공간
503 : 선별 잠재 노출 어드레스 블록
505, 507, 508 : 정보
511, 512, 513, 514, 521, 522, 523, 524, 531, 532, 533, 534, 541, 542, 543, 544 : 다이
515, 517, 519, 528, 539 : 물리 어드레스 기반의 블록
600 : 시스템
610 : 다중 모드 저장 관리 시스템 611 : 컨트롤러
620, 630, 640, 650 : 다중 모드 솔리드 스테이트 드라이브
621, 631, 641, 651 : 컨트롤러 671, 672, 673 : 볼륨
700 : 시스템 710 : 기기
720 : 다중 모드 저장 관리 시스템
730 : 메타데이터 740 : 사용자 데이터
741 : 사용자 데이터를 위한 플래시 관리 시스템
742 : 선별 잠재 노출 맵퍼 745 : 컨트롤러
750 : 다중 모드 솔리드 스테이트 드라이브
770 : 논리 어드레스 공간 파티션
771 : 메타데이터를 위한 플래시 관리 시스템
772 : 논리 인터페이스 773 : 플래시 변환 로직
775 : 컨트롤러 777 : 물리 어드레스 공간
780 : 선별 잠재 노출 어드레스 공간 파티션
782 : 선별 잠재 노출 인터페이스
787 : 물리 어드레스 공간 791, 792, 797 : 논리 어드레스 블록
793, 799 : 물리 어드레스 블록 798 : 선별 잠재 노출 어드레스 블록
910 : 논리 어드레스 기반의 솔리드 스테이트 드라이브
911 : 논리 인터페이스 912 : 플래시 변환 로직
913 : 논리 어드레스 공간
920 : 다중 모드 솔리드 스테이트 드라이브
921 : 논리 인터페이스(921) 922 : 플래시 변환 로직
923 : 논리 어드레스 공간 924 : 선별 잠재 노출 인터페이스
925 : 물리 어드레스 공간
930 : 물리 어드레스 기반의 솔리드 스테이트 드라이브
931 : 물리 인터페이스 932 : 물리 어드레스 공간
1010 : SUE 블록 1012, 1014, 1016, 1018 : 물리 블록
1021, 1022, 1023, 1024 : 물리 페이지
1030 : SUE 페이지
1032, 1034, 1036, 1038 : 물리 페이지
1110 : SUE 블록 1121, 1122, 1123, 1124 : SUE 페이지
1210 : 메타 페이지
1211, 1212, 1213, 1214, 1215 : SUE 페이지
1310 : 메타 블록
1311, 1312, 1313, 1314 : 메타 페이지
1410 : 메타 블록
1411, 1412, 1413, 1414, 1415 : SUE 블록
1500 : 선별 잠재 노출 맵핑 스킴 1502 : 사용자 데이터
1503, 1504, 1505 : SUE 어드레스를 갖는 단위
1507, 1508, 1509 : SUE 어드레스를 갖는 압축된 단위
1511, 1512, 1513 : 헤더 섹션
1515, 1517 : 솔리드 스테이트 드라이브 전송 블록
1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578 : 논리 블록 어드레스
1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588 : 논리 어드레스 기반의 블록
1591, 1592, 1593, 1594 : SUE 페이지
1602 : 저장 시스템 1604 : 프로세서
1606 : 메모리 1608 : 네트워크 인터페이스
1610 : 입출력 장치 1612 : 표시 장치
1614 : 버스 1616 : 불휘발성 메모리 장치
1618 : 로컬 데이터 링크
1802 : 다중 모드 저장 관리 시스템 1804 : 선별 잠재 노출 저장 관리기
1806 : 논리 저장 관리기 1808 : 반환 관리기
1810 : 저장 어레이 관리기
1902 : 다중 모드 저장 관리 시스템 1904 : 데이터 정렬기
1906 : SUE 저장 액세스 관리기 1908 : 데이터 압축 관리기
1910 : 볼륨 맵핑 엔진 1912 : 버퍼 관리기
1914 : 메타 블록 관리기 1916 : 반환 관리기
1918 : 저장 어레이 관리기 1920 : 논리 저장 액세스 관리기
2002 : 다중 모드 저장 관리 시스템 2004 : 데이터 정렬기
2006 : 사용자 영역 액세스 관리기 2008 : 사용자 영역 맵핑 엔진
2010 : 버퍼 관리기 2012 : 시스템 영역 액세스 관리기
2014 : 메타 블록 관리기 2016 : 메타 블록 정보 관리기
2018 : 저장 장치 제어 관리기 2020 : 저장 장치 액세스 관리기
2022 : 전역 상태 관리기 2024 : 전역 오류 관리기
2026 : 시스템 상태 관리기 2028 : 시스템 로그 및 통계 관리기
2030 : 타겟 장치 2032 : 불휘발성 메모리 장치
2102 : 읽기 관리기 2104 : 쓰기 관리기(2104)
2106 : 데이터 압축 관리기 2108 : 데이터 압축 해제 관리기
2110 : 반환 관리기 2112 : 남는 공간 기록 관리기
2114 : 흐름 제어 관리기 2116 : 서비스 품질 관리기
2202 : 볼륨 관리기 2204 : 맵 페이지 읽기 관리기
2206 : 맵 페이지 쓰기 관리기 2208 : 맵 페이지 캐시 관리기
2302 : 반환 메타 블록 선택기 2304 : 메타 블록 상태 관리기
2402 : 저장 장치 로그 및 통계 관리기
2404 : 선별 잠재 노출 블록 소거 엔진
2406 : 저장 장치 오류 관리기
2502 : 논리 액세스 관리기 2504 : RAID 관리기
2506 : 읽기 룩-업 엔진 2508 : 저장 초기화 관리기
2602 : 전력 중단 관리기 2604 : 오류 및 충돌 관리기
Claims (20)
- 기본 유형의 인터페이스로 다루어지는 제 1 파티션(Partition), 및 선별 잠재 노출(Selective Underlying Exposure) 인터페이스로 다루어지는 제 2 파티션을 포함하는 복수의 저장 장치; 및
상기 복수의 저장 장치로의 정보의 전달을 지시하기 위한 다중 모드(Multimode) 저장 관리 시스템을 포함하되,
상기 제 2 파티션의 선별된 잠재적인 양상(Selected Underlying Aspect)이 노출되고,
상기 다중 모드 저장 관리 시스템은 상기 선별 잠재 노출 인터페이스 및 상기 제 2 파티션의 상기 선별된 잠재적인 양상을 통해 상기 제 2 파티션의 활동(Activity)들을 지시하기 위한 컨트롤러를 포함하는 저장 시스템. - 제 1 항에 있어서,
상기 제 2 파티션의 상기 선별된 잠재적인 양상은 잠재 물리 어드레스 공간(Underlying Physical Address Space)의 대표 기하 구조(Representative Geometry)를 포함하는 저장 시스템. - 제 1 항에 있어서,
상기 기본 유형의 인터페이스는 논리 인터페이스를 포함하는 저장 시스템. - 제 1 항에 있어서,
상기 다중 모드 저장 관리 시스템은 선별 잠재 노출 어드레스를 갖는 단위를 생성하기 위해 복수의 논리 어드레스 기반의 블록을 결합하는 저장 시스템. - 제 4 항에 있어서,
상기 복수의 저장 장치는 선별 잠재 노출 어드레스를 갖는 제 1 단위의 제 1 크기와 관련되는 제 1 볼륨, 및 선별 잠재 노출 어드레스를 갖는 제 2 단위의 제 2 크기와 관련되는 제 2 볼륨을 포함하고,
상기 선별 잠재 노출 어드레스를 갖는 상기 제 1 단위의 상기 제 1 크기는 상기 선별 잠재 노출 어드레스를 갖는 상기 제 2 단위의 상기 제 2 크기와 상이한 저장 시스템. - 제 4 항에 있어서,
상기 복수의 저장 장치는 복수의 볼륨을 포함하고,
상기 복수의 볼륨 중 제 1 볼륨 및 제 2 볼륨은 동일한 크기의 선별 잠재 노출 어드레스를 갖는 단위들과 관련되는 저장 시스템. - 저장 시스템과 관련되는 저장 장치들의 어레이(Array)에서 저장 매체를 관리하기 위한 방법에 있어서,
프로세서를 이용하여, 사용자 데이터를, 상기 저장 시스템과 관련되는 상기 저장 장치들의 상기 어레이에서의 물리적인 저장 영역(Physical Storage Area)의 대표 기하 구조(Representative Geometry)에 대응하는 선별 잠재 노출 어드레스 공간(Selective Underlying Exposure Address Space)으로 맵핑(Mapping)하는 단계를 포함하는 방법. - 제 7 항에 있어서,
상기 사용자 데이터를 상기 선별 잠재 노출 어드레스 공간으로 맵핑하는 단계는 상기 사용자 데이터와 관련되는 복수의 논리 어드레스를 상기 선별 잠재 노출 어드레스 공간에서의 어드레스들의 선별 잠재 노출 블록으로 맵핑하는 단계를 포함하고,
상기 선별 잠재 노출 블록은 상기 저장 시스템과 관련되는 개별적인 저장 장치에서 단일 단위로서 함께 관리되는 메모리 셀들의 여러 물리 블록에 대응하는 방법. - 제 8 항에 있어서,
상기 사용자 데이터를 상기 선별 잠재 노출 어드레스 공간으로 맵핑하는 단계는 상기 사용자 데이터와 관련되는 상기 복수의 논리 어드레스의 부분 집합을 상기 선별 잠재 노출 블록에서의 어드레스들의 선별 잠재 노출 페이지로 맵핑하는 단계를 더 포함하고,
상기 선별 잠재 노출 페이지는 상기 메모리 셀들의 상기 여러 물리 블록 각각에서의 물리 페이지에 대응하는 방법. - 제 7 항에 있어서,
상기 사용자 데이터를 상기 선별 잠재 노출 어드레스 공간으로 맵핑하는 단계는 상기 사용자 데이터와 관련되는 복수의 논리 어드레스를 상기 선별 잠재 노출 어드레스 공간에서의 어드레스들의 메타 블록(Metablock)으로 맵핑하는 단계를 포함하고,
상기 메타 블록은 상기 어레이의 상기 저장 장치들 각각에서 단일 단위로서 함께 관리되는 메모리 셀들의 여러 물리 블록에 대응하고,
상기 저장 장치들 각각의 상기 메모리 셀들의 상기 여러 물리 블록은 상기 선별 잠재 노출 어드레스 공간에서의 어드레스들의 별개의 선별 잠재 노출 블록에 대응하는 방법. - 제 10 항에 있어서,
상기 사용자 데이터를 상기 선별 잠재 노출 어드레스 공간으로 맵핑하는 단계는 상기 사용자 데이터와 관련되는 상기 복수의 논리 어드레스의 부분 집합을 상기 메타 블록에서의 어드레스들의 메타 페이지(Metapage)로 맵핑하는 단계를 더 포함하고,
상기 메타 페이지는 상기 별개의 선별 잠재 노출 블록의 선별 잠재 노출 페이지에 대응하는 방법. - 제 7 항에 있어서,
상기 사용자 데이터와 상기 선별 잠재 노출 어드레스 공간 사이의 맵핑 관계를 저장하는 테이블을 유지시키는 단계를 더 포함하는 방법. - 제 7 항에 있어서,
상기 선별 잠재 노출 어드레스 공간에서의 남는 공간(Free Space)을 관리하는 단계를 더 포함하되,
상기 선별 잠재 노출 어드레스 공간에서의 상기 남는 공간을 관리하는 단계는 상기 선별 잠재 노출 어드레스 공간에서의 어드레스들의 메타 블록과 관련되는 유효 데이터(Valid Data)의 양(Quantity)에 기초하여 반환(Reclamation)을 위한 상기 선별 잠재 노출 어드레스 공간에서의 상기 어드레스들의 상기 메타 블록을 선택하는 단계를 포함하고,
상기 메타 블록은 상기 어레이의 상기 저장 장치들 각각에서 단일 단위로서 함께 관리되는 메모리 셀들의 여러 물리 블록에 대응하는 방법. - 제 13 항에 있어서,
상기 선별 잠재 노출 어드레스 공간에서의 상기 남는 공간을 관리하는 단계는:
상기 메타 블록과 관련되는 상기 유효 데이터를 이동시키는 단계;
상기 메타 블록에 대응하는 상기 메모리 셀들의 상기 여러 물리 블록의 소거를 요청하는 단계; 및
상기 메타 블록을 상기 남는 공간으로서 지정하는 단계를 더 포함하는 방법. - 제 14 항에 있어서,
상기 선별 잠재 노출 어드레스 공간에서의 상기 남는 공간을 관리하는 단계는 현재 상기 남는 공간으로서 지정된 메타 블록들의 목록을 유지시키는 단계를 더 포함하는 방법. - 제 14 항에 있어서,
논리 어드레스 기반의 블록을 식별하기 위해 헤더(Header)로 액세스하는 단계; 및
상기 식별된 논리 어드레스 기반의 블록의 논리 블록 어드레스가 포인터(Pointer)와 관련되는지 여부를 판별하는 단계를 더 포함하는 방법. - 제 7 항에 있어서,
상기 선별 잠재 노출 어드레스 공간에서의 어드레스들의 메타 페이지에 대응하는 상기 사용자 데이터를 저장하는 단계를 더 포함하되,
상기 메타 페이지는 상기 어레이의 상기 저장 장치들 각각에서 단일 단위로서 함께 관리되는 메모리 셀들의 여러 물리 블록 각각의 물리 페이지에 대응하는 방법. - 제 17 항에 있어서,
상기 메타 페이지에 대응하는 상기 사용자 데이터에 대해 압축 알고리즘을 수행하는 단계를 더 포함하는 방법. - 저장 시스템과 관련되는 저장 장치들의 어레이(Array)에서 저장 매체를 관리하기 위한 시스템에 있어서,
기계 명령어(Machine Instruction)들을 저장하기 위한 메모리; 및
상기 기계 명령어들을 실행하여, 사용자 데이터를 선별 잠재 노출(Selective Underlying Exposure) 어드레스 공간으로 맵핑하기 위한 프로세서를 포함하되,
상기 선별 잠재 노출 어드레스 공간은 상기 저장 시스템과 관련되는 상기 저장 장치들의 상기 어레이에서의 물리적인 저장 영역의 대표 기하 구조(Representative Geometry)에 대응하는 시스템. - 제 19 항에 있어서,
상기 프로세서는 상기 기계 명령어들을 더 실행하여, 상기 사용자 데이터와 상기 선별 잠재 노출 어드레스 공간 사이의 맵핑 관계를 저장하는 테이블을 유지시키는 시스템.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/941,512 | 2015-11-13 | ||
| US14/941,512 US9990304B2 (en) | 2015-11-13 | 2015-11-13 | Multimode storage management system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20170056411A true KR20170056411A (ko) | 2017-05-23 |
| KR102586805B1 KR102586805B1 (ko) | 2023-10-11 |
Family
ID=56235655
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020160074698A Active KR102586805B1 (ko) | 2015-11-13 | 2016-06-15 | 저장 매체를 다중 모드로 동작시키는 관리 시스템, 그것을 포함하는 저장 시스템, 및 그것을 이용하여 저장 매체를 관리하는 방법 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US9990304B2 (ko) |
| EP (1) | EP3168734A1 (ko) |
| JP (2) | JP2017091524A (ko) |
| KR (1) | KR102586805B1 (ko) |
| CN (1) | CN106708423B (ko) |
| TW (1) | TWI716416B (ko) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20200121986A (ko) * | 2019-04-17 | 2020-10-27 | 주식회사 티맥스티베로 | 데이터베이스 관리 시스템에서 데이터 저장을 위한 공간 관리를 제공하는 컴퓨터 프로그램 |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108959108B (zh) | 2017-05-26 | 2021-08-24 | 上海宝存信息科技有限公司 | 固态硬盘访问方法以及使用该方法的装置 |
| JP6785205B2 (ja) | 2017-09-21 | 2020-11-18 | キオクシア株式会社 | メモリシステムおよび制御方法 |
| US10437476B2 (en) * | 2017-10-23 | 2019-10-08 | Micron Technology, Inc. | Namespaces allocation in non-volatile memory devices |
| JP2019079464A (ja) * | 2017-10-27 | 2019-05-23 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
| JP6982468B2 (ja) | 2017-10-27 | 2021-12-17 | キオクシア株式会社 | メモリシステムおよび制御方法 |
| US11580034B2 (en) | 2017-11-16 | 2023-02-14 | Micron Technology, Inc. | Namespace encryption in non-volatile memory devices |
| US10678703B2 (en) | 2017-11-16 | 2020-06-09 | Micron Technology, Inc. | Namespace mapping structual adjustment in non-volatile memory devices |
| US11520696B2 (en) * | 2018-06-28 | 2022-12-06 | Seagate Technology Llc | Segregating map data among different die sets in a non-volatile memory |
| KR102596964B1 (ko) * | 2018-07-31 | 2023-11-03 | 에스케이하이닉스 주식회사 | 맵 캐시 버퍼 크기를 가변시킬 수 있는 데이터 저장 장치 |
| CN109688117B (zh) * | 2018-12-11 | 2021-10-15 | 国家电网公司信息通信分公司 | 一种大容量ip地址拦截方法和设备 |
| CN111951845B (zh) * | 2019-05-15 | 2022-06-03 | 上海磁宇信息科技有限公司 | 一种分级管理冗余存储的mram芯片 |
| US11704059B2 (en) * | 2020-02-07 | 2023-07-18 | Samsung Electronics Co., Ltd. | Remote direct attached multiple storage function storage device |
| US11561713B2 (en) * | 2021-03-11 | 2023-01-24 | Western Digital Technologies, Inc. | Simplified high capacity die and block management |
| KR20220133003A (ko) * | 2021-03-24 | 2022-10-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
| US20230030168A1 (en) * | 2021-07-27 | 2023-02-02 | Dell Products L.P. | Protection of i/o paths against network partitioning and component failures in nvme-of environments |
| US12314613B2 (en) | 2022-06-21 | 2025-05-27 | Samsung Electronics Co., Ltd | Method and system for solid state drive (SSD)-based redundant array of independent disks (RAID) |
| TWI820994B (zh) * | 2022-11-01 | 2023-11-01 | 大陸商星宸科技股份有限公司 | 指令壓縮方法、指令解壓縮方法及流程壓縮方法 |
| US12405739B1 (en) * | 2024-02-29 | 2025-09-02 | SanDisk Technologies, Inc. | Multi-protocol data storage device and method for sustained write performance |
| CN121008744A (zh) * | 2024-05-23 | 2025-11-25 | 华为技术有限公司 | 一种存储系统以及数据存储方法 |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005100262A (ja) * | 2003-09-26 | 2005-04-14 | Seiko Epson Corp | メモリ管理装置およびメモリ管理プログラム、並びにメモリ管理方法 |
| US20070113030A1 (en) * | 2005-11-14 | 2007-05-17 | Sandisk Corporation | Methods for the management of erase operations in non-volatile memories |
| JP2008198184A (ja) * | 2007-02-15 | 2008-08-28 | Hitachi Ltd | 連続的なデータ保護のためにジャーナル領域を調節するための方法および装置 |
| KR20110041843A (ko) * | 2009-10-16 | 2011-04-22 | 엘지전자 주식회사 | 하이브리드 저장장치 및 그 동작방법 |
| KR20120131579A (ko) * | 2011-05-26 | 2012-12-05 | 에스코어 주식회사 | 플래시 파일 시스템 |
| JP2014123254A (ja) * | 2012-12-21 | 2014-07-03 | International Business Maschines Corporation | メディア上のファイルをユーザ単位で分割管理する方法、プログラム、及びストレージ・システム |
| KR20150099834A (ko) * | 2012-12-26 | 2015-09-01 | 웨스턴 디지털 테크놀로지스, 인코포레이티드 | 데이터 저장 시스템들을 위한 동적 오버프로비저닝 |
| KR20150110577A (ko) * | 2013-01-08 | 2015-10-02 | 라이브 마인즈, 아이엔씨. | 스토리지 네트워크 데이터 할당 |
Family Cites Families (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6658528B2 (en) | 2001-07-30 | 2003-12-02 | International Business Machines Corporation | System and method for improving file system transfer through the use of an intelligent geometry engine |
| US6775751B2 (en) * | 2002-08-06 | 2004-08-10 | International Business Machines Corporation | System and method for using a compressed main memory based on degree of compressibility |
| WO2005124530A2 (en) | 2004-06-21 | 2005-12-29 | Kabushiki Kaisha Toshiba | Method for controlling memory card and method for controlling nonvolatile semiconductor memory |
| JP4362549B1 (ja) * | 2006-08-04 | 2009-11-11 | サンディスク コーポレイション | 段階的ガーベッジコレクション |
| JP4895718B2 (ja) * | 2006-08-14 | 2012-03-14 | 株式会社リコー | 画像形成装置、データ復旧方法および記録媒体 |
| KR100809320B1 (ko) | 2006-09-27 | 2008-03-05 | 삼성전자주식회사 | 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑정보 관리 장치 및 방법 |
| US8312247B2 (en) | 2008-06-20 | 2012-11-13 | Panasonic Corporation | Plural-partitioned type nonvolatile storage device and system |
| US8094500B2 (en) | 2009-01-05 | 2012-01-10 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partitioning |
| JP5325637B2 (ja) * | 2009-04-01 | 2013-10-23 | 株式会社アイ・オー・データ機器 | 情報処理プログラムおよび情報処理装置 |
| CN101604226B (zh) * | 2009-07-14 | 2010-12-01 | 浪潮电子信息产业股份有限公司 | 一种基于虚拟raid构建动态缓存池提高存储系统性能的方法 |
| US9134918B2 (en) | 2009-12-31 | 2015-09-15 | Sandisk Technologies Inc. | Physical compression of data with flat or systematic pattern |
| WO2012051600A2 (en) | 2010-10-15 | 2012-04-19 | Kyquang Son | File system-aware solid-state storage management system |
| US9176864B2 (en) * | 2011-05-17 | 2015-11-03 | SanDisk Technologies, Inc. | Non-volatile memory and method having block management with hot/cold data sorting |
| US20120297121A1 (en) * | 2011-05-17 | 2012-11-22 | Sergey Anatolievich Gorobets | Non-Volatile Memory and Method with Small Logical Groups Distributed Among Active SLC and MLC Memory Partitions |
| JP5750513B2 (ja) * | 2011-09-30 | 2015-07-22 | 株式会社日立製作所 | 不揮発半導体記憶媒体を有するストレージシステム |
| US8775904B2 (en) * | 2011-12-07 | 2014-07-08 | International Business Machines Corporation | Efficient storage of meta-bits within a system memory |
| US8639669B1 (en) | 2011-12-22 | 2014-01-28 | Emc Corporation | Method and apparatus for determining optimal chunk sizes of a deduplicated storage system |
| KR20130096881A (ko) * | 2012-02-23 | 2013-09-02 | 삼성전자주식회사 | 플래시 메모리 장치 |
| US8954694B2 (en) * | 2012-11-15 | 2015-02-10 | Western Digital Technologies, Inc. | Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive |
| US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
| US9804960B2 (en) | 2013-03-14 | 2017-10-31 | Western Digital Technologies, Inc. | Overprovision capacity in a data storage device |
| US9141626B2 (en) * | 2013-03-14 | 2015-09-22 | Microsoft Technology Licensing, Llc | Volume having tiers of different storage traits |
| US9727255B2 (en) * | 2013-07-19 | 2017-08-08 | Hitachi, Ltd. | Storage apparatus and storage control method |
| US9535628B2 (en) * | 2013-10-10 | 2017-01-03 | Apple Inc. | Memory system with shared file system |
| US9727456B2 (en) * | 2014-11-03 | 2017-08-08 | Pavilion Data Systems, Inc. | Scheduled garbage collection for solid state storage devices |
| US9626312B2 (en) | 2015-07-17 | 2017-04-18 | Sandisk Technologies Llc | Storage region mapping for a data storage device |
-
2015
- 2015-11-13 US US14/941,512 patent/US9990304B2/en active Active
-
2016
- 2016-06-15 KR KR1020160074698A patent/KR102586805B1/ko active Active
- 2016-06-23 EP EP16175873.5A patent/EP3168734A1/en not_active Ceased
- 2016-06-28 TW TW105120232A patent/TWI716416B/zh active
- 2016-08-18 CN CN201610685502.1A patent/CN106708423B/zh active Active
- 2016-11-02 JP JP2016215540A patent/JP2017091524A/ja active Pending
-
2022
- 2022-05-25 JP JP2022085166A patent/JP7404442B2/ja active Active
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005100262A (ja) * | 2003-09-26 | 2005-04-14 | Seiko Epson Corp | メモリ管理装置およびメモリ管理プログラム、並びにメモリ管理方法 |
| US20070113030A1 (en) * | 2005-11-14 | 2007-05-17 | Sandisk Corporation | Methods for the management of erase operations in non-volatile memories |
| JP2008198184A (ja) * | 2007-02-15 | 2008-08-28 | Hitachi Ltd | 連続的なデータ保護のためにジャーナル領域を調節するための方法および装置 |
| KR20110041843A (ko) * | 2009-10-16 | 2011-04-22 | 엘지전자 주식회사 | 하이브리드 저장장치 및 그 동작방법 |
| KR20120131579A (ko) * | 2011-05-26 | 2012-12-05 | 에스코어 주식회사 | 플래시 파일 시스템 |
| JP2014123254A (ja) * | 2012-12-21 | 2014-07-03 | International Business Maschines Corporation | メディア上のファイルをユーザ単位で分割管理する方法、プログラム、及びストレージ・システム |
| KR20150099834A (ko) * | 2012-12-26 | 2015-09-01 | 웨스턴 디지털 테크놀로지스, 인코포레이티드 | 데이터 저장 시스템들을 위한 동적 오버프로비저닝 |
| KR20150110577A (ko) * | 2013-01-08 | 2015-10-02 | 라이브 마인즈, 아이엔씨. | 스토리지 네트워크 데이터 할당 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20200121986A (ko) * | 2019-04-17 | 2020-10-27 | 주식회사 티맥스티베로 | 데이터베이스 관리 시스템에서 데이터 저장을 위한 공간 관리를 제공하는 컴퓨터 프로그램 |
Also Published As
| Publication number | Publication date |
|---|---|
| TWI716416B (zh) | 2021-01-21 |
| JP2022111153A (ja) | 2022-07-29 |
| US20170139837A1 (en) | 2017-05-18 |
| JP2017091524A (ja) | 2017-05-25 |
| TW201723816A (zh) | 2017-07-01 |
| KR102586805B1 (ko) | 2023-10-11 |
| CN106708423B (zh) | 2021-08-17 |
| US9990304B2 (en) | 2018-06-05 |
| EP3168734A1 (en) | 2017-05-17 |
| JP7404442B2 (ja) | 2023-12-25 |
| CN106708423A (zh) | 2017-05-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7404442B2 (ja) | 格納媒体を多重モードで動作させる管理システム、それを含む格納システム、及びそれを利用して格納媒体を管理する方法 | |
| KR102725910B1 (ko) | 사용자 데이터에 대해 선별 잠재 노출 맵핑을 수행하기 위한 장치, 방법, 및 다중 모드 저장 장치 | |
| KR102541492B1 (ko) | 다중 모드 동작들을 위해 다중 파티션을 포함하는 저장 장치, 및 그것의 동작 방법 | |
| KR102728151B1 (ko) | 분산 다중 모드 저장 관리 | |
| US11249951B2 (en) | Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device | |
| US9170885B2 (en) | Independent management of data and parity logical block addresses | |
| JP2016170583A (ja) | メモリシステムおよび情報処理システム | |
| TWI874641B (zh) | 儲存元件以及管理儲存元件中命名空間之系統與方法 | |
| US11422931B2 (en) | Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20160615 |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20210602 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20160615 Comment text: Patent Application |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20221117 Patent event code: PE09021S01D |
|
| E90F | Notification of reason for final refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Final Notice of Reason for Refusal Patent event date: 20230314 Patent event code: PE09021S02D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20230707 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20231004 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20231005 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration |