TWI771383B - 固態驅動機、其方法及物品 - Google Patents

固態驅動機、其方法及物品 Download PDF

Info

Publication number
TWI771383B
TWI771383B TW107107148A TW107107148A TWI771383B TW I771383 B TWI771383 B TW I771383B TW 107107148 A TW107107148 A TW 107107148A TW 107107148 A TW107107148 A TW 107107148A TW I771383 B TWI771383 B TW I771383B
Authority
TW
Taiwan
Prior art keywords
block
valid data
state drive
data
logic
Prior art date
Application number
TW107107148A
Other languages
English (en)
Chinese (zh)
Other versions
TW201839612A (zh
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 TW201839612A publication Critical patent/TW201839612A/zh
Application granted granted Critical
Publication of TWI771383B publication Critical patent/TWI771383B/zh

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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
    • 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
    • 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
    • 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/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/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Vending Machines For Individual Products (AREA)
  • Die Bonding (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Computer Security & Cryptography (AREA)
TW107107148A 2017-04-25 2018-03-05 固態驅動機、其方法及物品 TWI771383B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762490027P 2017-04-25 2017-04-25
US62/490,027 2017-04-25
US15/620,814 2017-06-12
US15/620,814 US10698808B2 (en) 2017-04-25 2017-06-12 Garbage collection—automatic data placement

Publications (2)

Publication Number Publication Date
TW201839612A TW201839612A (zh) 2018-11-01
TWI771383B true TWI771383B (zh) 2022-07-21

Family

ID=63853844

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107107148A TWI771383B (zh) 2017-04-25 2018-03-05 固態驅動機、其方法及物品

Country Status (5)

Country Link
US (4) US10698808B2 (enExample)
JP (1) JP6893897B2 (enExample)
KR (1) KR102615007B1 (enExample)
CN (1) CN108733321B (enExample)
TW (1) TWI771383B (enExample)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10761750B2 (en) * 2017-03-09 2020-09-01 Netapp Inc. Selectively storing data into allocation areas using streams
JP2018160195A (ja) * 2017-03-23 2018-10-11 東芝メモリ株式会社 メモリシステムおよび不揮発性メモリの制御方法
KR102708925B1 (ko) * 2019-01-11 2024-09-25 에스케이하이닉스 주식회사 메모리 시스템에서의 유효 데이터 체크 방법 및 장치
CN118605797A (zh) * 2019-10-28 2024-09-06 华为技术有限公司 访问固态硬盘的方法及装置
US11379359B2 (en) * 2020-02-11 2022-07-05 Micron Technology, Inc. Selecting data transfer units associated with a data stream for garbage collection
KR102701111B1 (ko) 2020-08-18 2024-09-02 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
KR20220041593A (ko) 2020-09-25 2022-04-01 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
KR20220049329A (ko) 2020-10-14 2022-04-21 삼성전자주식회사 스토리지 컨트롤러, 스토리지 장치, 및 스토리지 장치의 동작 방법
US11500587B2 (en) 2020-11-20 2022-11-15 Samsung Electronics Co., Ltd. System and method for in-SSD data processing engine selection based on stream IDs
US11822478B2 (en) * 2021-04-16 2023-11-21 Micron Technology, Inc. Cache allocation techniques
US11907123B2 (en) 2021-04-20 2024-02-20 International Business Machines Corporation Flash memory garbage collection
CN114327254A (zh) 2021-11-16 2022-04-12 三星(中国)半导体有限公司 存储数据的方法和装置
KR20230097866A (ko) * 2021-12-24 2023-07-03 삼성전자주식회사 메모리 컨트롤러를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법
US12260093B2 (en) * 2022-12-28 2025-03-25 Sk Hynix Nand Product Solutions Corp. Systems and methods for eliminating garbage collection in solid-state drives (SSDs)
KR20250045776A (ko) 2023-09-26 2025-04-02 삼성전자주식회사 스토리지 장치 및 이의 동작 방법
WO2025244953A1 (en) * 2024-05-22 2025-11-27 Micron Technology, Inc. Garbage collection with isolation of data placed according to flexible data placement by different reclaim unit handles
US12436882B1 (en) 2024-06-25 2025-10-07 Silicon Motion, Inc. Control method of flash memory controller

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201601062A (zh) * 2014-06-20 2016-01-01 慧榮科技股份有限公司 快閃記憶體控制裝置、快閃記憶體控制系統以及快閃記憶體控制方法
US20160266792A1 (en) * 2015-03-12 2016-09-15 Kabushiki Kaisha Toshiba Memory system and information processing system
US20160283124A1 (en) * 2015-03-25 2016-09-29 Kabushiki Kaisha Toshiba Multi-streamed solid state drive

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5913049A (en) 1997-07-31 1999-06-15 Texas Instruments Incorporated Multi-stream complex instruction set microprocessor
US7380067B2 (en) 2004-07-19 2008-05-27 Infortrend Technology, Inc. IO-stream adaptive write caching policy adjustment
JP2006235960A (ja) 2005-02-24 2006-09-07 Fujitsu Ltd ガーベッジコレクション高速化方法
US20090119352A1 (en) 2007-11-05 2009-05-07 Steven Joseph Branda Method for Optimizing Generational Garbage Collection Through Object Life Heuristics
US20090150556A1 (en) 2007-12-06 2009-06-11 Kim Moon J Memory to storage communication for hybrid systems
US8429658B2 (en) 2008-10-16 2013-04-23 International Business Machines Corporation Lock deferral for real-time garbage collection
EP2455865B1 (en) 2009-07-17 2020-03-04 Toshiba Memory Corporation Memory management device
US8688894B2 (en) 2009-09-03 2014-04-01 Pioneer Chip Technology Ltd. Page based management of flash storage
KR101643273B1 (ko) 2010-04-09 2016-08-01 삼성전자주식회사 저장 매체에 데이터를 저장하는 방법, 그를 이용한 데이터 저장 장치, 및 그것을 포함한 시스템
WO2012020544A1 (ja) 2010-08-11 2012-02-16 日本電気株式会社 データ処理システム、データ処理方法、およびプログラム
JP2012084127A (ja) 2010-09-15 2012-04-26 Toshiba Corp 半導体装置
US20120110239A1 (en) 2010-10-27 2012-05-03 Seagate Technology Llc Causing Related Data to be Written Together to Non-Volatile, Solid State Memory
US9665304B2 (en) 2011-09-07 2017-05-30 Nec Corporation Storage system with fast snapshot tree search
US10203881B2 (en) 2011-12-19 2019-02-12 Apple Inc. Optimized execution of interleaved write operations in solid state drives
JP5723812B2 (ja) 2012-03-16 2015-05-27 株式会社 日立産業制御ソリューションズ ファイルサーバ、データ入出力方法、i/oフックモジュールプログラム及びi/o代行デーモンプログラム
US8886880B2 (en) 2012-05-29 2014-11-11 Dot Hill Systems Corporation Write cache management method and apparatus
US20140122774A1 (en) * 2012-10-31 2014-05-01 Hong Kong Applied Science and Technology Research Institute Company Limited Method for Managing Data of Solid State Storage with Data Attributes
US9158687B2 (en) 2013-03-04 2015-10-13 Dot Hill Systems Corporation Method and apparatus for processing fast asynchronous streams
US20160196076A1 (en) 2013-07-08 2016-07-07 Wilus Institute Of Standards And Technology Inc. Memory system and method for controlling same
KR102074329B1 (ko) 2013-09-06 2020-02-06 삼성전자주식회사 데이터 저장 장치 및 그것의 데이터 처리 방법
US9854270B2 (en) 2013-12-19 2017-12-26 Qualcomm Incorporated Device and method for scalable coding of video information
US9459810B2 (en) 2013-12-30 2016-10-04 Sandisk Technologies Llc Storage module and method for configuring command attributes
US8874835B1 (en) 2014-01-16 2014-10-28 Pure Storage, Inc. Data placement based on data properties in a tiered storage device system
KR101544309B1 (ko) 2014-02-26 2015-08-12 한양대학교 산학협력단 스트림 기반의 비휘발성 메모리 제어 방법 및 장치
EP3021208B1 (en) 2014-11-14 2019-01-09 Dot Hill Systems Corporation Method and apparatus for processing fast asynchronous streams
US9519429B2 (en) 2014-12-09 2016-12-13 Intel Corporation Techniques to manage multiple sequential write streams to a solid state drive
US10409526B2 (en) * 2014-12-17 2019-09-10 Violin Systems Llc Adaptive garbage collection
KR20160105624A (ko) 2015-02-27 2016-09-07 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그것의 동작 방법
US9760281B2 (en) * 2015-03-27 2017-09-12 Intel Corporation Sequential write stream management
US9996302B2 (en) 2015-04-03 2018-06-12 Toshiba Memory Corporation Storage device writing data on the basis of stream
US10261725B2 (en) 2015-04-10 2019-04-16 Toshiba Memory Corporation Storage system capable of invalidating data stored in a storage device thereof
US10013177B2 (en) 2015-04-20 2018-07-03 Hewlett Packard Enterprise Development Lp Low write amplification in 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
US9594513B1 (en) 2015-06-29 2017-03-14 EMC IP Holding Company LLC Data storage system with file system stream detection
KR102381343B1 (ko) 2015-07-27 2022-03-31 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
JP6403164B2 (ja) * 2015-09-11 2018-10-10 東芝メモリ株式会社 メモリシステム
US9880780B2 (en) 2015-11-30 2018-01-30 Samsung Electronics Co., Ltd. Enhanced multi-stream operations
JP2018022275A (ja) * 2016-08-02 2018-02-08 東芝メモリ株式会社 半導体記憶装置
US10706105B2 (en) * 2017-02-09 2020-07-07 Micron Technology, Inc. Merge tree garbage metrics
JP2018160195A (ja) * 2017-03-23 2018-10-11 東芝メモリ株式会社 メモリシステムおよび不揮発性メモリの制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201601062A (zh) * 2014-06-20 2016-01-01 慧榮科技股份有限公司 快閃記憶體控制裝置、快閃記憶體控制系統以及快閃記憶體控制方法
US20160266792A1 (en) * 2015-03-12 2016-09-15 Kabushiki Kaisha Toshiba Memory system and information processing system
US20160283124A1 (en) * 2015-03-25 2016-09-29 Kabushiki Kaisha Toshiba Multi-streamed solid state drive

Also Published As

Publication number Publication date
JP6893897B2 (ja) 2021-06-23
TW201839612A (zh) 2018-11-01
US12332777B2 (en) 2025-06-17
JP2018185815A (ja) 2018-11-22
US20220171701A1 (en) 2022-06-02
US10698808B2 (en) 2020-06-30
US11630767B2 (en) 2023-04-18
US11194710B2 (en) 2021-12-07
KR102615007B1 (ko) 2023-12-18
US20180307596A1 (en) 2018-10-25
CN108733321B (zh) 2023-05-23
CN108733321A (zh) 2018-11-02
KR20180119470A (ko) 2018-11-02
US20230333977A1 (en) 2023-10-19
US20200293443A1 (en) 2020-09-17

Similar Documents

Publication Publication Date Title
TWI771383B (zh) 固態驅動機、其方法及物品
US8838875B2 (en) Systems, methods and computer program products for operating a data processing system in which a file delete command is sent to an external storage device for invalidating data thereon
US9400744B2 (en) Magnetic random access memory journal for multi-level cell flash memory
US9928167B2 (en) Information processing system and nonvolatile storage unit
US10055143B2 (en) Solid state drive and data programming method thereof
US20150058534A1 (en) Managing method for cache memory of solid state drive
CN106933747B (zh) 基于多流的数据存储系统和数据存储方法
US20150253992A1 (en) Memory system and control method
CN106575260A (zh) 采用数据压缩的高速缓存技术
CN112684976A (zh) 用于执行迁移操作的存储器系统及其操作方法
CN111796760A (zh) 存储器系统及其操作方法
US20210149597A1 (en) Controller and operation method thereof
US20160070648A1 (en) Data storage system and operation method thereof
CN105701035A (zh) 数据储存器件及其操作方法
US11182329B2 (en) Data processing system and operating method thereof
US20160124650A1 (en) Data Storage Device and Flash Memory Control Method
CN114610654B (zh) 一种固态存储设备以及向其写入数据的方法
US11449321B2 (en) Controller and method for installing and executing bridge firmware data
US11392310B2 (en) Memory system and controller
US11249686B2 (en) Controller for handling an abort command using a regeneration queue and operation method thereof
CN114691534A (zh) 控制器以及包括控制器的存储器系统
CN108509295B (zh) 存储器系统的操作方法
US20220164119A1 (en) Controller, and memory system and data processing system including the same
CN105320610A (zh) 数据储存装置及操作数据储存装置的方法