KR102728151B1 - 분산 다중 모드 저장 관리 - Google Patents
분산 다중 모드 저장 관리 Download PDFInfo
- Publication number
- KR102728151B1 KR102728151B1 KR1020160109259A KR20160109259A KR102728151B1 KR 102728151 B1 KR102728151 B1 KR 102728151B1 KR 1020160109259 A KR1020160109259 A KR 1020160109259A KR 20160109259 A KR20160109259 A KR 20160109259A KR 102728151 B1 KR102728151 B1 KR 102728151B1
- Authority
- KR
- South Korea
- Prior art keywords
- storage
- sue
- block
- manager
- information
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2069—Management of state, configuration or failover
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
- 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 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/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/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- 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
- 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/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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
- 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/0689—Disk arrays, e.g. RAID, JBOD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- 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
-
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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/1056—Simplification
-
- 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/154—Networked environment
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- 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/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- 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/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- 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/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
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)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (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은 본 발명의 실시 예에 따른 다중 모드 저장 관리 시스템에 의해 구현될 수 있는 전역 상태 관리기를 보여주는 블록도이다.
도 27은 본 발명의 실시 예에 따라 네트워크에 연결되는 예시적인 기기를 보여주는 블록도이다.
도 28은 본 발명의 실시 예에 따른 분산 시스템을 보여주는 블록도이다.
도 29는 본 발명의 실시 예에 따른 분산 시스템을 보여주는 블록도이다.
도 30은 본 발명의 실시 예에 따른 블록 라이프사이클의 흐름도이다.
도 31은 본 발명의 실시 예에 따른 분산 시스템 메타 블록을 보여주는 블록도이다.
도 32는 본 발명의 실시 예에 따라 노드들을 추가하고 제거하는 데에 활용되는 일치하는 해시를 설명하기 위한 개념도이다.
도 33은 본 발명의 실시 예에 따른 예시적인 쓰기 과정을 설명하는 흐름도이다.
도 34는 본 발명의 실시 예에 따른 예시적인 쓰기 할당 처리를 설명하는 흐름도이다.
도 35는 본 발명의 실시 예에 따른 쓰기 할당 처리 동작들을 구현한 분산 시스템의 예시적인 구현을 보여주는 블록도이다.
도 36은 본 발명의 실시 예에 따른 예시적인 쓰기 데이터 전송 처리를 설명하는 흐름도이다.
도 37은 본 발명의 실시 예에 따른 쓰기 데이터 전송 처리 동작들을 구현한 분산 시스템의 예시적인 구현을 보여주는 블록도이다.
도 38은 본 발명의 실시 예에 따른 예시적인 쓰기 맵핑 갱신 처리를 설명하는 흐름도이다.
도 39는 본 발명의 실시 예에 따른 쓰기 맵핑 갱신 처리 동작들의 예시적인 시스템 구현을 보여주는 블록도이다.
도 40은 본 발명의 실시 예에 따른 예시적인 쓰기 남는 공간의 기록 처리를 설명하는 흐름도이다.
도 41은 본 발명의 실시 예에 따른 쓰기 남는 공간의 기록 처리 동작들을 구현한 예시적인 시스템을 보여주는 블록도이다.
도 42는 본 발명의 실시 예에 따른 예시적인 쓰기 완료 처리를 설명하는 흐름도이다.
도 43은 본 발명의 실시 예에 따른 쓰기 완료 처리 동작들을 구현한 예시적인 시스템을 보여주는 블록도이다.
도 44는 본 발명의 실시 예에 따른 예시적인 반환 초기화 처리를 설명하는 흐름도이다.
도 45는 본 발명의 실시 예에 따른 예시적인 반환 처리를 설명하는 흐름도이다.
도 46 내지 도 51은 본 발명의 실시 예에 따른 예시적인 반환의 구현을 보여주는 블록도들이다.
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 : 오류 및 충돌 관리기
2701 : 기기 또는 시스템 2705 : 네트워크
2710 : 다중 모드 저장 관리 시스템
2711, 2712 : 포트 2713 : 프로세서
2714, 2715, 2717, 2718 : 메모리
2719 : 버스
2720, 2730, 2740, 2750 : 저장 장치
2800 : 분산 시스템
2810, 2820, 2830, 2840, 2850, 2860, 2870, 2880 : 기기
2890 : 네트워크 2891, 2892, 2893, 2894 : 저장 장치
2900 : 분산 시스템 2911, 2912, 2913, 2914 : 저장 노드
2920 : 전역 네임스페이스 2930 : 외부 연결 메커니즘
2941 : FTP 클라이언트 2942 : ISCI 구성 요소
2943 : NFS 구성 요소 2944 : CIFS 구성 요소
2945 : 웹 구성 요소
2950 : 노드에서 노드로의 연결 메커니즘
3110, 3120, 3130, 3140 : 노드
3111, 3112, 3113, 3114, 3121, 3122, 3123, 3124, 3131, 3132, 3133, 3134, 3141, 3142, 3143, 3144 : 솔리드 스테이트 드라이브
3151 : SUE 메타 블록
3152, 3153, 3154, 3155 : 새로운 블록
3500 : 분산 시스템
3510, 3520, 3530, 3540, 3550, 3560, 3570, 3580 : 기기
3590 : 네트워크 3591, 3592, 3593, 3594 : 저장 장치
3599 : 분산 어레이
Claims (20)
- 제 1 유형의 인터페이스, 및 제 1 유형의 정보를 저장하도록 구성되는 제 1 정보 저장 영역을 포함하는 제 1 저장 파티션(Partition); 및
선별 잠재 노출(Selective Underlying Exposure) 인터페이스, 및 제 2 유형의 정보를 저장하도록 구성되는 제 2 정보 저장 영역을 포함하는 제 2 저장 파티션을 포함하되,
상기 선별 잠재 노출 인터페이스는 상기 제 2 정보 저장 영역의 양상(Aspect)을 노출하고,
상기 양상은 소거 커맨드를 포함하는 단일 관리 커맨드들에 응답하여 복수의 잠재 물리 어드레스 블록을 분류하는 것을 포함하는 저장 장치. - 제 1 항에 있어서,
상기 양상은 상기 제 2 저장 파티션의 특성, 특징, 기능, 대표 기하 구조, 차원, 및 관리 동작을 포함하는 상기 분류된 잠재 어드레스 블록 중 하나를 포함하는 저장 장치. - 제 1 항에 있어서,
상기 제 1 저장 파티션의 파일 저장 관리 동작들은 상기 제 1 유형의 인터페이스에 의해 지시되고, 그리고
상기 제 2 저장 파티션의 파일 저장 관리 동작들은 상기 선별 잠재 노출 인터페이스를 통해 상기 제 2 파티션으로부터 외부적으로 지시되는 저장 장치. - 제 1 항에 있어서,
상기 제 1 저장 파티션의 크기와 상기 제 2 저장 파티션의 크기는 서로 다른 저장 장치. - 제 1 항에 있어서,
상기 제 1 저장 파티션의 동작들의 그래뉼래러티(granularity)와 상기 제 2 저장 파티션의 동작들의 그래뉼래러티는 서로 다른 저장 장치. - 제 1 항에 있어서,
상기 제 1 저장 파티션 및 상기 제 2 저장 파티션의 결합은 상기 제 1 저장 파티션 단독에 비해 개선된 성능을, 상기 제 2 저장 파티션 단독에 비해 감소된 복잡성을 가능하게 하는 저장 장치. - 제 1 항에 있어서,
상기 제 1 저장 파티션에서 오버 프로비저닝(over-provisioning)의 퍼센티지와 상기 제 2 저장 파티션에서 오버 프로비저닝의 퍼센티지는 서로 다른 저장 장치. - 장치의 일부를 제 1 유형의 정보의 저장을 위한 제 1 영역으로 구성하는 단계;
제 1 어드레스 공간 정보에 기반하여 제 1 유형 인터페이스 동작들에 참여하는 단계;
상기 장치의 일부를 제 2 유형의 정보의 저장을 위한 제 2 영역으로 구성하는 단계;
제 2 어드레스 공간 정보에 기반하여 제 2 유형 인터페이스 동작들에 참여하는 단계를 포함하되,
상기 제 2 유형 인터페이스는 선별적으로 잠재 양상(Aspect)을 노출하고,
잠재 물리 어드레스 공간의 차원들은 선별 잠재 노출(Selective Underlying Exposure) 어드레스 공간을 통해 감소한 개수의 차원들로 추출되고,
상기 차원들은 상기 제 2 영역의 물리 구성 특성들에 대응하는 방법. - 제 8 항에 있어서,
상기 잠재 양상은 잠재 물리 어드레스와 관련 있고,
상기 잠재 양상의 선별 노출은 상기 잠재 물리 어드레스 공간 구성의 관리 동작 특성을 노출하는 동안, 물리 어드레스 공간과 관련된 복잡도를 완전히 제거하는 방법. - 제 8 항에 있어서,
상기 잠재 양상은 선별 잠재 노출 어드레스 페이지 및 선별 잠재 노출 어드레스 블록에 의해 추상화되는 방법. - 제 8 항에 있어서,
상기 잠재 양상은 잠재 시스템 관리 동작들과 관련 있는 방법. - 제 8 항에 있어서,
상기 잠재 양상은 남는 공간 관리, 남는 공간의 사용을 위한 반환 및 환경 설정, 오버 프로비저닝, 트림 동작들, 및 파워 사이클링 중 하나를 수행하는 데 사용되는 방법. - 제 8 항에 있어서,
상기 제 1 유형의 정보는 메타데이터이고, 상기 제 2 유형의 정보는 사용자 데이터인 방법. - 제 8 항에 있어서,
상기 제 2 유형 인터페이스 동작들에 참여하는 단계는:
상기 제 2 유형의 정보 및 어드레스들을 수신하는 단계; 및
제 2 어드레스 유형과 잠재 어드레스 유형 간의 변환을 수행하는 단계를 포함하는 방법. - 논리 어드레스 인터페이스, 및 메타데이터를 저장하는 제 1 데이터 저장 영역을 포함하는 제 1 저장 파티션(Partition); 및
선별 잠재 노출(Selective Underlying Exposure) 인터페이스, 및 사용자 데이터를 저장하는 제 2 데이터 저장 영역을 포함하는 제 2 저장 파티션을 포함하되,
상기 논리 어드레스 인터페이스는 상기 제 1 데이터 저장 영역에 대한 플래시 관리 시스템 및 논리 어드레스들을 대응하는 상기 제 1 데이터 저장 영역의 물리 어드레스들로 변환하는 플래시 변환 로직(flash translation logic)을 포함하고. 그리고
상기 선별 잠재 노출 인터페이스는 데이터를 선별 잠재 노출 어드레스를 갖는 단위로 맵핑하는 것에 기반하여 상기 제 2 데이터 저장 영역의 대표 기하 구조를 노출하는 솔리드 스테이트 저장 장치. - 제 15 항에 있어서,
상기 선별 잠재 노출 인터페이스의 펌웨어는 직접적인 물리 인터페이스 노출을 처리하는 복잡도를 추상화하는 동안 물리 인터페이스 노출과 유사한 인터페이스 노출을 제공하도록 구성되는 솔리드 스테이트 저장 장치. - 제 15 항에 있어서,
상기 솔리드 스테이트 저장 장치는 솔리드 스테이트 드라이브인 솔리드 스테이트 저장 장치. - 제 15 항에 있어서,
상기 선별 잠재 노출 인터페이스는:
선별 잠재 노출 어드레스 공간 정보와 데이터를 수신하는 포트; 및
상기 선별 잠재 노출 어드레스 공간 정보를 물리 어드레스 공간 정보로 변환하고, 상기 물리 어드레스 공간 정보에 따라 상기 데이터의 저장을 지시하는 컨트롤러를 포함하되,
상기 선별 잠재 노출 어드레스 공간의 상기 대표 기하 구조는 잠재 물리 어드레스 공간의 상기 대표 기하 구조와 일치하는 솔리드 스테이트 저장 장치. - 제 15 항에 있어서,
선별 잠재 노출 어드레스 공간 블록은 상기 장치가 단위로서 관리하는 물리 블록들에 대응하는 솔리드 스테이트 저장 장치. - 삭제
Applications Claiming Priority (8)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/941,512 US9990304B2 (en) | 2015-11-13 | 2015-11-13 | Multimode storage management system |
| US14/941,525 | 2015-11-13 | ||
| US14/941,517 | 2015-11-13 | ||
| US14/941,525 US9940028B2 (en) | 2015-11-13 | 2015-11-13 | Multimode storage device |
| US14/941,517 US9996473B2 (en) | 2015-11-13 | 2015-11-13 | Selective underlying exposure storage mapping |
| US14/941,512 | 2015-11-13 | ||
| US14/947,931 US9946642B2 (en) | 2015-11-13 | 2015-11-20 | Distributed multimode storage management |
| US14/947,931 | 2015-11-20 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20170056418A KR20170056418A (ko) | 2017-05-23 |
| KR102728151B1 true KR102728151B1 (ko) | 2024-11-11 |
Family
ID=56990228
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020160109259A Active KR102728151B1 (ko) | 2015-11-13 | 2016-08-26 | 분산 다중 모드 저장 관리 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US9946642B2 (ko) |
| EP (1) | EP3168737A3 (ko) |
| JP (1) | JP2017091548A (ko) |
| KR (1) | KR102728151B1 (ko) |
| CN (1) | CN106708425B (ko) |
| TW (1) | TWI709073B (ko) |
Families Citing this family (50)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180150256A1 (en) * | 2016-11-29 | 2018-05-31 | Intel Corporation | Technologies for data deduplication in disaggregated architectures |
| EP3646206B1 (en) | 2017-06-30 | 2024-08-28 | Microsoft Technology Licensing, LLC | Staging anchor trees for improved concurrency and performance in page range index management |
| WO2019000386A1 (en) * | 2017-06-30 | 2019-01-03 | Microsoft Technology Licensing, Llc | CHANGING THE ONLINE DIAGRAM OF AN INDEX PARTITIONED BY INTERVALS IN A DISTRIBUTED STORAGE SYSTEM |
| US11042512B1 (en) * | 2017-08-02 | 2021-06-22 | EMC IP Holding Company LLC | Enabling granular snapshots and provisioning in NAS (network attached storage) clusters |
| US10067719B1 (en) * | 2017-08-30 | 2018-09-04 | Xanadu Big Data, Llc | Methods and systems for storing and accessing data in a distributed data storage system |
| KR102457564B1 (ko) | 2017-09-20 | 2022-10-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
| JP6785205B2 (ja) | 2017-09-21 | 2020-11-18 | キオクシア株式会社 | メモリシステムおよび制御方法 |
| US10970226B2 (en) * | 2017-10-06 | 2021-04-06 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
| JP7032908B2 (ja) * | 2017-10-24 | 2022-03-09 | 株式会社Nobori | 医療情報転送システム及び医療情報転送方法 |
| JP6982468B2 (ja) | 2017-10-27 | 2021-12-17 | キオクシア株式会社 | メモリシステムおよび制御方法 |
| JP2019079464A (ja) | 2017-10-27 | 2019-05-23 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
| CN107967124B (zh) * | 2017-12-14 | 2021-02-05 | 南京云创大数据科技股份有限公司 | 一种分布式持久性内存存储系统及方法 |
| US11210166B1 (en) * | 2017-12-22 | 2021-12-28 | Pliops Ltd. | Efficient redundancy management in key-value NAND flash storage |
| KR102603245B1 (ko) * | 2018-01-11 | 2023-11-16 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
| CN108595731B (zh) * | 2018-01-23 | 2022-02-08 | 苏州盛科通信股份有限公司 | 一种以太网芯片中动态表项的设计方法及装置 |
| US20210357497A9 (en) | 2018-02-02 | 2021-11-18 | Dover Microsystems, Inc. | Systems and methods for transforming instructions for metadata processing |
| WO2019152792A1 (en) | 2018-02-02 | 2019-08-08 | Dover Microsystems, Inc. | Systems and methods for policy linking and/or loading for secure initialization |
| CN110275757B (zh) * | 2018-03-16 | 2024-12-27 | 北京忆恒创源科技股份有限公司 | 利用系统抽象层提供多协议存储设备 |
| US11151037B2 (en) | 2018-04-12 | 2021-10-19 | International Business Machines Corporation | Using track locks and stride group locks to manage cache operations |
| US10831597B2 (en) | 2018-04-27 | 2020-11-10 | International Business Machines Corporation | Receiving, at a secondary storage controller, information on modified data from a primary storage controller to use to calculate parity data |
| US10884849B2 (en) | 2018-04-27 | 2021-01-05 | International Business Machines Corporation | Mirroring information on modified data from a primary storage controller to a secondary storage controller for the secondary storage controller to use to calculate parity data |
| TW201945971A (zh) | 2018-04-30 | 2019-12-01 | 美商多佛微系統公司 | 用於檢查安全性能的系統和方法 |
| CN109144413A (zh) * | 2018-07-27 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种元数据管理方法及装置 |
| US10884662B2 (en) | 2018-08-06 | 2021-01-05 | Silicon Motion, Inc. | Method for performing storage control in a storage server, associated memory device and memory controller thereof, and associated storage server |
| CN119556852A (zh) | 2018-10-03 | 2025-03-04 | 谷歌有限责任公司 | 使用自由存储空间维护块级快照 |
| KR20200044460A (ko) * | 2018-10-19 | 2020-04-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
| TW202022678A (zh) | 2018-11-06 | 2020-06-16 | 美商多佛微系統公司 | 用於停滯主處理器的系統和方法 |
| US12124566B2 (en) | 2018-11-12 | 2024-10-22 | Dover Microsystems, Inc. | Systems and methods for metadata encoding |
| US11841956B2 (en) | 2018-12-18 | 2023-12-12 | Dover Microsystems, Inc. | Systems and methods for data lifecycle protection |
| EP3912061A1 (en) | 2019-01-18 | 2021-11-24 | Dover Microsystems, Inc. | Systems and methods for metadata classification |
| US10884642B2 (en) | 2019-03-27 | 2021-01-05 | Silicon Motion, Inc. | Method and apparatus for performing data-accessing management in a storage server |
| US11074124B2 (en) * | 2019-07-23 | 2021-07-27 | Alibaba Group Holding Limited | Method and system for enhancing throughput of big data analysis in a NAND-based read source storage |
| US20210042255A1 (en) * | 2019-08-09 | 2021-02-11 | Sony Interactive Entertainment LLC | Methods for Using High-Speed Data Communication Fabric to Enable Cross-System Command Buffer Writing for Data Retrieval in Cloud Gaming |
| US12079197B2 (en) | 2019-10-18 | 2024-09-03 | Dover Microsystems, Inc. | Systems and methods for updating metadata |
| US11210002B2 (en) * | 2020-01-29 | 2021-12-28 | Samsung Electronics Co., Ltd. | Offloaded device-driven erasure coding |
| US12253944B2 (en) | 2020-03-03 | 2025-03-18 | Dover Microsystems, Inc. | Systems and methods for caching metadata |
| US11005936B1 (en) * | 2020-03-10 | 2021-05-11 | Mediatek Inc. | Security mechanism for multi-client access to a single storage device through a single controller |
| US11481273B2 (en) | 2020-08-17 | 2022-10-25 | Micron Technology, Inc. | Partitioned memory having error detection capability |
| CN112394884B (zh) * | 2020-11-18 | 2025-02-18 | 珠海全志科技股份有限公司 | 减少ubi子系统管理开销的方法、ubi子系统及介质 |
| US12124576B2 (en) | 2020-12-23 | 2024-10-22 | Dover Microsystems, Inc. | Systems and methods for policy violation processing |
| CN112817730B (zh) * | 2021-02-24 | 2022-08-16 | 上海交通大学 | 深度神经网络服务批处理调度方法、系统及gpu |
| JP2022147909A (ja) * | 2021-03-24 | 2022-10-06 | キオクシア株式会社 | メモリシステム |
| US11662922B2 (en) | 2021-10-18 | 2023-05-30 | Hewlett Packard Enterprise Development Lp | Shared storage allocation among data services |
| US12111776B2 (en) * | 2021-11-01 | 2024-10-08 | Samsung Electronics Co., Ltd. | Multi-dimensional memory cluster |
| CN113973087B (zh) * | 2021-11-24 | 2024-01-05 | 中国银联股份有限公司 | 一种网页访问限流方法、装置及计算机可读存储介质 |
| US12019899B2 (en) * | 2022-03-03 | 2024-06-25 | Western Digital Technologies, Inc. | Data relocation with protection for open relocation destination blocks |
| JP2023137910A (ja) | 2022-03-18 | 2023-09-29 | キオクシア株式会社 | メモリシステムおよび制御方法 |
| 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) |
| KR102762174B1 (ko) * | 2022-11-29 | 2025-02-04 | 주식회사 더블오 | 분리형 메모리 장치 및 그 제어방법 |
| US12405739B1 (en) * | 2024-02-29 | 2025-09-02 | SanDisk Technologies, Inc. | Multi-protocol data storage device and method for sustained write performance |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070113030A1 (en) | 2005-11-14 | 2007-05-17 | Sandisk Corporation | Methods for the management of erase operations in non-volatile memories |
| JP2008046826A (ja) | 2006-08-14 | 2008-02-28 | Ricoh Co Ltd | 画像形成装置、データ復旧方法および記録媒体 |
| JP2010244109A (ja) | 2009-04-01 | 2010-10-28 | I-O Data Device Inc | 情報処理プログラムおよび情報処理装置 |
| US20120297122A1 (en) | 2011-05-17 | 2012-11-22 | Sergey Anatolievich Gorobets | Non-Volatile Memory and Method Having Block Management with Hot/Cold Data Sorting |
Family Cites Families (19)
| 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 |
| US7631245B2 (en) | 2005-09-26 | 2009-12-08 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
| 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 |
| 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 |
| US8849825B1 (en) * | 2010-12-23 | 2014-09-30 | Amazon Technologies, Inc. | System and method for clustering distributed hash table entries |
| US8886910B2 (en) * | 2011-09-12 | 2014-11-11 | Microsoft Corporation | Storage device drivers and cluster participation |
| 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 | 삼성전자주식회사 | 플래시 메모리 장치 |
| US8880838B2 (en) * | 2013-01-08 | 2014-11-04 | Lyve Minds, Inc. | Storage network data allocation |
| US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
| US9141626B2 (en) * | 2013-03-14 | 2015-09-22 | Microsoft Technology Licensing, Llc | Volume having tiers of different storage traits |
| US9804960B2 (en) | 2013-03-14 | 2017-10-31 | Western Digital Technologies, Inc. | Overprovision capacity in a data storage device |
| 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-20 US US14/947,931 patent/US9946642B2/en active Active
-
2016
- 2016-08-26 KR KR1020160109259A patent/KR102728151B1/ko active Active
- 2016-09-08 EP EP16187726.1A patent/EP3168737A3/en not_active Ceased
- 2016-09-12 TW TW105129518A patent/TWI709073B/zh active
- 2016-10-21 CN CN201610921162.8A patent/CN106708425B/zh active Active
- 2016-11-14 JP JP2016221231A patent/JP2017091548A/ja active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070113030A1 (en) | 2005-11-14 | 2007-05-17 | Sandisk Corporation | Methods for the management of erase operations in non-volatile memories |
| JP2008046826A (ja) | 2006-08-14 | 2008-02-28 | Ricoh Co Ltd | 画像形成装置、データ復旧方法および記録媒体 |
| JP2010244109A (ja) | 2009-04-01 | 2010-10-28 | I-O Data Device Inc | 情報処理プログラムおよび情報処理装置 |
| US20120297122A1 (en) | 2011-05-17 | 2012-11-22 | Sergey Anatolievich Gorobets | Non-Volatile Memory and Method Having Block Management with Hot/Cold Data Sorting |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20170056418A (ko) | 2017-05-23 |
| EP3168737A2 (en) | 2017-05-17 |
| EP3168737A3 (en) | 2017-08-02 |
| US20170139823A1 (en) | 2017-05-18 |
| CN106708425A (zh) | 2017-05-24 |
| US9946642B2 (en) | 2018-04-17 |
| TWI709073B (zh) | 2020-11-01 |
| CN106708425B (zh) | 2021-10-22 |
| JP2017091548A (ja) | 2017-05-25 |
| TW201729068A (zh) | 2017-08-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102728151B1 (ko) | 분산 다중 모드 저장 관리 | |
| KR102725910B1 (ko) | 사용자 데이터에 대해 선별 잠재 노출 맵핑을 수행하기 위한 장치, 방법, 및 다중 모드 저장 장치 | |
| KR102541492B1 (ko) | 다중 모드 동작들을 위해 다중 파티션을 포함하는 저장 장치, 및 그것의 동작 방법 | |
| JP7404442B2 (ja) | 格納媒体を多重モードで動作させる管理システム、それを含む格納システム、及びそれを利用して格納媒体を管理する方法 | |
| US12067256B2 (en) | Storage space optimization in a system with varying data redundancy schemes | |
| KR20170008153A (ko) | 비휘발성 장치에서 데이터 속성 기반 데이터 배치를 활용하기 위해 컴퓨터를 구동하는 경험적 인터페이스 | |
| US12045517B1 (en) | Storage allocation techniques for large writes based on reserving one or more additional chunks of a block |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20160826 |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20210727 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20160826 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: 20231222 Patent event code: PE09021S01D |
|
| 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: 20240807 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20241105 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20241106 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration |