KR102412978B1 - 이중 쓰기를 수행하는 스토리지 시스템 및 그것의 이중 쓰기 방법 - Google Patents

이중 쓰기를 수행하는 스토리지 시스템 및 그것의 이중 쓰기 방법 Download PDF

Info

Publication number
KR102412978B1
KR102412978B1 KR1020160098623A KR20160098623A KR102412978B1 KR 102412978 B1 KR102412978 B1 KR 102412978B1 KR 1020160098623 A KR1020160098623 A KR 1020160098623A KR 20160098623 A KR20160098623 A KR 20160098623A KR 102412978 B1 KR102412978 B1 KR 102412978B1
Authority
KR
South Korea
Prior art keywords
data
write request
storage device
journal
request
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
KR1020160098623A
Other languages
English (en)
Korean (ko)
Other versions
KR20170080419A (ko
Inventor
지안지안 후오
최창호
Original Assignee
삼성전자주식회사
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 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20170080419A publication Critical patent/KR20170080419A/ko
Application granted granted Critical
Publication of KR102412978B1 publication Critical patent/KR102412978B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, 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)
KR1020160098623A 2015-12-30 2016-08-02 이중 쓰기를 수행하는 스토리지 시스템 및 그것의 이중 쓰기 방법 Active KR102412978B1 (ko)

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
KR20170080419A KR20170080419A (ko) 2017-07-10
KR102412978B1 true KR102412978B1 (ko) 2022-06-24

Family

ID=59226308

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160098623A Active KR102412978B1 (ko) 2015-12-30 2016-08-02 이중 쓰기를 수행하는 스토리지 시스템 및 그것의 이중 쓰기 방법

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)

* 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 삼성전자주식회사 키-값 스토리지 장치들에 대한 입출력 성능을 향상을 위한 키 값 객체 입출력들 그룹화
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140149473A1 (en) 2012-11-29 2014-05-29 Research & Business Foundation Sungkyunkwan University File system for flash memory
US20140208001A1 (en) 2013-01-23 2014-07-24 Vmware, Inc. Techniques for Achieving Crash Consistency when Performing Write-Behind Caching Using a Flash Storage-Based Cache
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

Family Cites Families (20)

* 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
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 ネットアップ,インコーポレイテッド ハイブリッド媒体ストレージシステムアーキテクチャ
US8949684B1 (en) * 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
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
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140149473A1 (en) 2012-11-29 2014-05-29 Research & Business Foundation Sungkyunkwan University File system for flash memory
US20140208001A1 (en) 2013-01-23 2014-07-24 Vmware, Inc. Techniques for Achieving Crash Consistency when Performing Write-Behind Caching Using a Flash Storage-Based Cache
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

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
CN106933747B (zh) 2019-08-20
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
KR102412978B1 (ko) 이중 쓰기를 수행하는 스토리지 시스템 및 그것의 이중 쓰기 방법
US12321283B2 (en) Memory system and method for controlling nonvolatile memory
US10223254B1 (en) Namespace change propagation in non-volatile memory devices
KR102013430B1 (ko) 어레이 컨트롤러, 솔리드 스테이트 디스크, 및 데이터를 기록하기 위해 솔리드 스테이트 디스크를 제어하는 방법
US12111759B2 (en) Method and storage device for parallelly processing the deallocation command
JP6893897B2 (ja) ソリッドステートドライブ(ssd)、そのガーベッジコレクションに係る方法、及びその具現に係る物品
US8775755B2 (en) Peer-to-peer transcendent memory
CN110618945B (zh) 存储系统
CN107229415B (zh) 一种数据写方法、数据读方法及相关设备、系统
KR20200122086A (ko) 메모리 시스템에서 맵 세그먼트를 전송하는 방법 및 장치
JP6526235B2 (ja) データチェック方法および記憶システム
KR102803739B1 (ko) 메모리 시스템 및 그것의 동작방법
KR20140042518A (ko) 세그먼트 클리닝 장치 및 방법
KR20160105624A (ko) 데이터 처리 시스템 및 그것의 동작 방법
CN110096221A (zh) 存储器系统及其控制方法
US20170160940A1 (en) Data processing method and apparatus of solid state disk
CN117130553A (zh) 固态硬盘的配置方法、固态硬盘及分区存储方法
US20190065395A1 (en) Storage device and data arrangement method
WO2024250775A1 (zh) 垃圾回收方法、分布式存储系统及计算机可读存储介质
US9569113B2 (en) Data storage device and operating method thereof
CN110515861B (zh) 处理刷写命令的存储设备及其方法
JP6215631B2 (ja) コンピュータシステム及びそのデータ管理方法
CN114741342A (zh) 一种映射关系更新的方法以及相关装置
US9563363B2 (en) Flexible storage block for a solid state drive (SSD)-based file system
KR101465426B1 (ko) 익스텐트 매핑 플래시 디바이스

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20160802

PG1501 Laying open of application
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20210628

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20160802

Comment text: Patent Application

PA0302 Request for accelerated examination

Patent event date: 20210628

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20160802

Patent event code: PA03021R01I

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: 20211105

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: 20220323

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20220621

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20220622

End annual number: 3

Start annual number: 1

PG1601 Publication of registration