CN106933747B - 基于多流的数据存储系统和数据存储方法 - Google Patents
基于多流的数据存储系统和数据存储方法 Download PDFInfo
- Publication number
- CN106933747B CN106933747B CN201610867445.9A CN201610867445A CN106933747B CN 106933747 B CN106933747 B CN 106933747B CN 201610867445 A CN201610867445 A CN 201610867445A CN 106933747 B CN106933747 B CN 106933747B
- Authority
- CN
- China
- Prior art keywords
- data
- write request
- storage device
- request
- log
- 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
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/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
- 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/064—Management of blocks
-
- 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/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- 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/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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/1805—Append-only file systems, e.g. using logs or journals to store data
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- 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/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201562273323P | 2015-12-30 | 2015-12-30 | |
| US62/273,323 | 2015-12-30 | ||
| US15/089,237 | 2016-04-01 | ||
| US15/089,237 US9959046B2 (en) | 2015-12-30 | 2016-04-01 | Multi-streaming mechanism to optimize journal based data storage systems on SSD |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN106933747A CN106933747A (zh) | 2017-07-07 |
| CN106933747B true CN106933747B (zh) | 2019-08-20 |
Family
ID=59226308
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201610867445.9A Active CN106933747B (zh) | 2015-12-30 | 2016-09-29 | 基于多流的数据存储系统和数据存储方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US9959046B2 (enExample) |
| JP (1) | JP6734768B2 (enExample) |
| KR (1) | KR102412978B1 (enExample) |
| CN (1) | CN106933747B (enExample) |
| TW (1) | TWI702500B (enExample) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107422992A (zh) * | 2017-07-31 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种SSD运行时Journal保存方法及系统 |
| US11386002B2 (en) * | 2018-10-04 | 2022-07-12 | ScaleFlux, Inc. | Enhancing solid-state storage device speed performance through stream-aware garbage collection |
| CN109491616B (zh) | 2018-11-14 | 2022-05-24 | 三星(中国)半导体有限公司 | 数据的存储方法和设备 |
| KR102850764B1 (ko) | 2019-06-20 | 2025-08-25 | 삼성전자주식회사 | 맵핑 정보를 축약하는 플래시 변환 계층 구조를 이용하여 메모리 리소스를 관리하는 데이터 저장 장치 |
| KR102698959B1 (ko) * | 2020-01-29 | 2024-08-27 | 삼성전자주식회사 | 키-값 스토리지 장치들에 대한 입출력 성능을 향상을 위한 키 값 객체 입출력들 그룹화 |
| KR20210156190A (ko) | 2020-06-17 | 2021-12-24 | 삼성전자주식회사 | 스토리지 장치 지원 실시간 가상 머신 마이그레이션 |
| KR102781592B1 (ko) * | 2020-11-27 | 2025-03-14 | 한국과학기술원 | 다중 명령어 큐 스토리지에서 순서 보장 단위를 정하는 방법 및 장치 |
| KR20220086934A (ko) | 2020-12-17 | 2022-06-24 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 시스템의 저널링 제어 장치 및 방법 |
| WO2024172345A2 (ko) * | 2023-02-15 | 2024-08-22 | 한국과학기술원 | 선행쓰기 기반의 이중쓰기 방법 및 장치 |
| US12411773B2 (en) * | 2023-05-25 | 2025-09-09 | Sk Hynix Nand Product Solutions Corp. | Host bandwidth optimized data stream memory writes |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6128630A (en) * | 1997-12-18 | 2000-10-03 | International Business Machines Corporation | Journal space release for log-structured storage systems |
| US8949684B1 (en) * | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1576593B1 (en) | 2002-12-24 | 2015-10-21 | LG Electronics Inc. | Dual journaling store method and storage medium thereof |
| US7363420B2 (en) * | 2003-12-15 | 2008-04-22 | Nortel Networks Limited | Method and file structures for managing data on a flash disk |
| US7197599B2 (en) * | 2003-12-29 | 2007-03-27 | Intel Corporation | Method, system, and program for managing data updates |
| JP2008165624A (ja) * | 2006-12-28 | 2008-07-17 | Hitachi Ltd | 計算機システム及び第1記憶装置 |
| US20090119352A1 (en) | 2007-11-05 | 2009-05-07 | Steven Joseph Branda | Method for Optimizing Generational Garbage Collection Through Object Life Heuristics |
| WO2009079478A1 (en) * | 2007-12-14 | 2009-06-25 | Virident Systems, Inc. | Distributing metadata across multiple different disruption regions within an asymmetric memory system |
| JP2011515727A (ja) * | 2008-02-12 | 2011-05-19 | ネットアップ,インコーポレイテッド | ハイブリッド媒体ストレージシステムアーキテクチャ |
| US8700842B2 (en) | 2010-04-12 | 2014-04-15 | Sandisk Enterprise Ip Llc | Minimizing write operations to a flash memory-based object store |
| JP2012084127A (ja) | 2010-09-15 | 2012-04-26 | Toshiba Corp | 半導体装置 |
| US8738882B2 (en) | 2011-06-03 | 2014-05-27 | Apple Inc. | Pre-organization of data |
| KR101798036B1 (ko) * | 2011-08-09 | 2017-11-15 | 엘에스아이 코포레이션 | I/o 디바이스 및 컴퓨팅 호스팅 상호동작 |
| US10203881B2 (en) | 2011-12-19 | 2019-02-12 | Apple Inc. | Optimized execution of interleaved write operations in solid state drives |
| KR20140069659A (ko) * | 2012-11-29 | 2014-06-10 | 성균관대학교산학협력단 | 플래시 메모리용 파일 시스템 |
| US9075731B2 (en) * | 2013-01-23 | 2015-07-07 | Vmware, Inc. | Using transaction entries to achieve crash consistency when performing write-behind caching using a flash storage-based cache |
| JP6005566B2 (ja) * | 2013-03-18 | 2016-10-12 | 株式会社東芝 | 情報処理システム、制御プログラムおよび情報処理装置 |
| KR101567134B1 (ko) | 2013-03-29 | 2015-11-09 | 이화여자대학교 산학협력단 | 비휘발성 메모리에 기반하여 저널링 기능을 통합한 버퍼 캐시 장치, 저널링 파일 시스템 및 저널링 방법 |
| US10191822B2 (en) | 2014-02-20 | 2019-01-29 | Rambus Inc. | High performance persistent memory |
| JP2016170583A (ja) | 2015-03-12 | 2016-09-23 | 株式会社東芝 | メモリシステムおよび情報処理システム |
| US20160283124A1 (en) | 2015-03-25 | 2016-09-29 | Kabushiki Kaisha Toshiba | Multi-streamed solid state drive |
| US9696935B2 (en) | 2015-04-24 | 2017-07-04 | Kabushiki Kaisha Toshiba | Storage device that secures a block for a stream or namespace and system having the storage device |
| US20170139825A1 (en) * | 2015-11-17 | 2017-05-18 | HGST Netherlands B.V. | Method of improving garbage collection efficiency of flash-oriented file systems using a journaling approach |
-
2016
- 2016-04-01 US US15/089,237 patent/US9959046B2/en active Active
- 2016-08-02 KR KR1020160098623A patent/KR102412978B1/ko active Active
- 2016-08-12 TW TW105125727A patent/TWI702500B/zh active
- 2016-09-29 CN CN201610867445.9A patent/CN106933747B/zh active Active
- 2016-12-12 JP JP2016240058A patent/JP6734768B2/ja active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6128630A (en) * | 1997-12-18 | 2000-10-03 | International Business Machines Corporation | Journal space release for log-structured storage systems |
| US8949684B1 (en) * | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201723857A (zh) | 2017-07-01 |
| JP2017120626A (ja) | 2017-07-06 |
| US9959046B2 (en) | 2018-05-01 |
| CN106933747A (zh) | 2017-07-07 |
| KR102412978B1 (ko) | 2022-06-24 |
| JP6734768B2 (ja) | 2020-08-05 |
| US20170192687A1 (en) | 2017-07-06 |
| KR20170080419A (ko) | 2017-07-10 |
| TWI702500B (zh) | 2020-08-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106933747B (zh) | 基于多流的数据存储系统和数据存储方法 | |
| US12399866B2 (en) | Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device | |
| US12332777B2 (en) | Garbage collection—automatic data placement | |
| TWI706315B (zh) | 儲存元件 | |
| KR20170008152A (ko) | 불휘발성 메모리 장치에서의 데이터 특성 기반 데이터 배치 | |
| US10296250B2 (en) | Method and apparatus for improving performance of sequential logging in a storage device | |
| CN107391774A (zh) | 基于重复数据删除的日志文件系统的垃圾回收方法 | |
| KR20160105624A (ko) | 데이터 처리 시스템 및 그것의 동작 방법 | |
| CN107203330B (zh) | 一种面向读写数据流的闪存数据分布方法 | |
| CN114371812B (zh) | 控制器及其操作方法 | |
| WO2018171296A1 (zh) | 一种文件合并方法及控制器 | |
| CN112306898A (zh) | 存储设备、其操作方法及包括其的电子设备 | |
| CN115729461A (zh) | 双模式存储设备 | |
| US20140095771A1 (en) | Host device, computing system and method for flushing a cache | |
| WO2024250775A1 (zh) | 垃圾回收方法、分布式存储系统及计算机可读存储介质 | |
| TWI878567B (zh) | 用於排序鍵的鍵值儲存裝置及方法 | |
| CN110515861B (zh) | 处理刷写命令的存储设备及其方法 | |
| WO2020019173A1 (zh) | 一种用于对象存储的存储器控制电路 | |
| CN120233943A (zh) | 操作存储装置的方法和存储装置 | |
| KR20210063814A (ko) | 메모리 시스템의 리드 동작 방법 및 장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |