CN106933747B - 基于多流的数据存储系统和数据存储方法 - Google Patents

基于多流的数据存储系统和数据存储方法 Download PDF

Info

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
Application number
CN201610867445.9A
Other languages
English (en)
Chinese (zh)
Other versions
CN106933747A (zh
Inventor
霍囝囝
崔昌皓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN106933747A publication Critical patent/CN106933747A/zh
Application granted granted Critical
Publication of CN106933747B publication Critical patent/CN106933747B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General 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)
CN201610867445.9A 2015-12-30 2016-09-29 基于多流的数据存储系统和数据存储方法 Active CN106933747B (zh)

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 (11)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 키-값 스토리지 장치들에 대한 입출력 성능을 향상을 위한 키 값 객체 입출력들 그룹화
CN113886002A (zh) 2020-06-17 2022-01-04 三星电子株式会社 存储装置和辅助虚拟机迁移的方法
WO2022114900A1 (ko) * 2020-11-27 2022-06-02 한국과학기술원 다중 명령어 큐 스토리지에서 순서 보장 단위를 정하는 방법 및 장치
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
US20250383987A1 (en) * 2024-05-30 2025-12-18 Micron Technology, Inc. Time Estimates of Storage Space Tenants in Reducing Garbage Collection in a Data Storage Device based on Flexible Direct Placement

Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2511304C (en) 2002-12-24 2011-09-20 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
US9134917B2 (en) * 2008-02-12 2015-09-15 Netapp, Inc. Hybrid media storage system architecture
US8677055B2 (en) 2010-04-12 2014-03-18 Sandisk Enterprises IP LLC Flexible way of specifying storage attributes in 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
WO2013022915A1 (en) * 2011-08-09 2013-02-14 Lsi Corporation I/o device and computing host interoperation
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 株式会社東芝 メモリシステムおよび情報処理システム
US20160283125A1 (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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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
CN106933747A (zh) 2017-07-07
JP2017120626A (ja) 2017-07-06
JP6734768B2 (ja) 2020-08-05
US9959046B2 (en) 2018-05-01
TW201723857A (zh) 2017-07-01
KR102412978B1 (ko) 2022-06-24
US20170192687A1 (en) 2017-07-06
TWI702500B (zh) 2020-08-21
KR20170080419A (ko) 2017-07-10

Similar Documents

Publication Publication Date Title
US12332777B2 (en) Garbage collection—automatic data placement
US12399866B2 (en) Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device
TWI702500B (zh) 使用多串流的系統、方法以及製品
TWI706315B (zh) 儲存元件
KR20170008152A (ko) 불휘발성 메모리 장치에서의 데이터 특성 기반 데이터 배치
US10296250B2 (en) Method and apparatus for improving performance of sequential logging in a storage device
CN107391774A (zh) 基于重复数据删除的日志文件系统的垃圾回收方法
KR20160105624A (ko) 데이터 처리 시스템 및 그것의 동작 방법
US20110208898A1 (en) Storage device, computing system, and data management method
CN107203330B (zh) 一种面向读写数据流的闪存数据分布方法
TWI878567B (zh) 用於排序鍵的鍵值儲存裝置及方法
CN114371812B (zh) 控制器及其操作方法
CN112306898A (zh) 存储设备、其操作方法及包括其的电子设备
WO2018171296A1 (zh) 一种文件合并方法及控制器
CN115729461A (zh) 双模式存储设备
CN116257460B (zh) 基于固态硬盘的Trim命令处理方法及固态硬盘
US20140095771A1 (en) Host device, computing system and method for flushing a cache
CN110515861B (zh) 处理刷写命令的存储设备及其方法
WO2024250775A1 (zh) 垃圾回收方法、分布式存储系统及计算机可读存储介质
CN120233943A (zh) 操作存储装置的方法和存储装置
WO2020019173A1 (zh) 一种用于对象存储的存储器控制电路

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