SG10201909143XA - Storage device using buffer memory in read reclaim operation - Google Patents

Storage device using buffer memory in read reclaim operation

Info

Publication number
SG10201909143XA
SG10201909143XA SG10201909143XA SG10201909143XA SG10201909143XA SG 10201909143X A SG10201909143X A SG 10201909143XA SG 10201909143X A SG10201909143X A SG 10201909143XA SG 10201909143X A SG10201909143X A SG 10201909143XA SG 10201909143X A SG10201909143X A SG 10201909143XA
Authority
SG
Singapore
Prior art keywords
storage device
buffer memory
reclaim operation
read reclaim
read
Prior art date
Application number
SG10201909143XA
Inventor
Ma Jin-Hee
Lee Sukhee
Kim Jisoo
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 SG10201909143XA publication Critical patent/SG10201909143XA/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/608Details relating to cache mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/7211Wear leveling

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)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
SG10201909143XA 2018-10-05 2019-09-30 Storage device using buffer memory in read reclaim operation SG10201909143XA (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180119087A KR102546229B1 (en) 2018-10-05 2018-10-05 Storage device using buffer memory in read reclaim operation

Publications (1)

Publication Number Publication Date
SG10201909143XA true SG10201909143XA (en) 2020-05-28

Family

ID=68137941

Family Applications (1)

Application Number Title Priority Date Filing Date
SG10201909143XA SG10201909143XA (en) 2018-10-05 2019-09-30 Storage device using buffer memory in read reclaim operation

Country Status (5)

Country Link
US (2) US11301388B2 (en)
EP (1) EP3633516B1 (en)
KR (1) KR102546229B1 (en)
CN (1) CN111007983A (en)
SG (1) SG10201909143XA (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102546229B1 (en) * 2018-10-05 2023-06-22 삼성전자주식회사 Storage device using buffer memory in read reclaim operation
JP2020144554A (en) * 2019-03-05 2020-09-10 キオクシア株式会社 Storage device and data reading method
KR20200113990A (en) * 2019-03-27 2020-10-07 에스케이하이닉스 주식회사 Apparatus and method for checking operation status of memory device in memory system
US11256628B2 (en) * 2019-08-02 2022-02-22 EMC IP Holding Company LLC Volatile read cache in a content addressable storage system
KR20210108208A (en) * 2020-02-25 2021-09-02 에스케이하이닉스 주식회사 Storage device and operating method thereof
US12062406B2 (en) * 2020-02-25 2024-08-13 SK Hynix Inc. Storage device and operating method thereof
KR20220025558A (en) * 2020-08-24 2022-03-03 에스케이하이닉스 주식회사 Storage device and operating method thereof
US11886741B2 (en) 2021-04-16 2024-01-30 Samsung Electronics Co., Ltd. Method and storage device for improving NAND flash memory performance for intensive read workloads
KR102344380B1 (en) * 2021-06-02 2021-12-28 삼성전자주식회사 Nonvolatile memory device, controller for controlling the same, storage device having the same, and operating method thereof
KR20220165106A (en) 2021-06-07 2022-12-14 에스케이하이닉스 주식회사 Memory controller and memory system including the same

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6396744B1 (en) 2000-04-25 2002-05-28 Multi Level Memory Technology Flash memory with dynamic refresh
JP2010039737A (en) * 2008-08-05 2010-02-18 Koyo Electronics Ind Co Ltd Programmable controller high speed operation system and programmable controller in this system
US8886990B2 (en) * 2011-01-27 2014-11-11 Apple Inc. Block management schemes in hybrid SLC/MLC memory
CN103959258B (en) * 2011-12-05 2017-03-29 英特尔公司 Background reorders --- the preventative wear control mechanism with limited expense
US20140101370A1 (en) 2012-10-08 2014-04-10 HGST Netherlands B.V. Apparatus and method for low power low latency high capacity storage class memory
US10248328B2 (en) 2013-11-07 2019-04-02 Netlist, Inc. Direct data move between DRAM and storage on a memory module
US9229644B2 (en) * 2013-11-25 2016-01-05 Sandisk Technologies Inc. Targeted copy of data relocation
US9710173B2 (en) 2014-05-20 2017-07-18 Micron Technology, Inc. Read cache memory with DRAM class promotion
US9804922B2 (en) 2014-07-21 2017-10-31 Sandisk Technologies Llc Partial bad block detection and re-use using EPWR for block based architectures
US9766972B2 (en) * 2014-08-07 2017-09-19 Pure Storage, Inc. Masking defective bits in a storage array
KR20160144546A (en) * 2015-06-08 2016-12-19 삼성전자주식회사 Storage device
KR102403253B1 (en) * 2015-07-06 2022-05-30 삼성전자주식회사 Storage device including nonvolatile memory device
US10229047B2 (en) 2016-08-06 2019-03-12 Wolley Inc. Apparatus and method of wear leveling for storage class memory using cache filtering
KR20180076715A (en) * 2016-12-28 2018-07-06 에스케이하이닉스 주식회사 Memory system and operating method for the same
KR20180076765A (en) 2016-12-28 2018-07-06 에스케이하이닉스 주식회사 Memory system and operating method of memory system
US10373695B2 (en) * 2016-12-30 2019-08-06 Western Digital Technologies, Inc. Methods and apparatus for read disturb detection and handling
KR102302187B1 (en) * 2017-03-13 2021-09-14 삼성전자주식회사 Methods of operating nonvolatile memory devices and nonvolatile memory devices
KR20180108939A (en) * 2017-03-23 2018-10-05 에스케이하이닉스 주식회사 Data storage device and operating method thereof
KR102546229B1 (en) * 2018-10-05 2023-06-22 삼성전자주식회사 Storage device using buffer memory in read reclaim operation

Also Published As

Publication number Publication date
US11625330B2 (en) 2023-04-11
US20220188236A1 (en) 2022-06-16
EP3633516B1 (en) 2023-07-26
EP3633516A1 (en) 2020-04-08
CN111007983A (en) 2020-04-14
KR20200039882A (en) 2020-04-17
US20200110708A1 (en) 2020-04-09
US11301388B2 (en) 2022-04-12
KR102546229B1 (en) 2023-06-22

Similar Documents

Publication Publication Date Title
SG10201909143XA (en) Storage device using buffer memory in read reclaim operation
SG11202005773RA (en) Auto-referenced memory cell read techniques
ZA201902298B (en) Method and device for writing stored data into storage medium based on flash memory
EP3729429A4 (en) Auto-referenced memory cell read techniques
GB202100225D0 (en) Search page interaction metho, device and terminal and storage medium
EP3443461A4 (en) Memory device with direct read access
EP3992801A4 (en) Data storage method for flash memory device and flash memory device
SG10201912381YA (en) Memory device and capacitive energy storage device
EP3295310A4 (en) Concurrent read and reconfigured write operations in a memory device
GB2579399B (en) Data compression and storage
EP3871220A4 (en) Write training in memory devices
EP3963628A4 (en) Three-dimensional flash memory device with increased storage density
GB2557366B (en) An apparatus and method for transferring data between address ranges in memory
EP3665579A4 (en) Performing data restore operations in memory
GB2563713B (en) NAND flash storage device with NAND buffer
SG11202008335QA (en) Image processing device, image processing method, and storage medium storing program
EP3642842A4 (en) Improved sense amplifier circuit for reading data in a flash memory cell
EP3874374A4 (en) Data relocation in memory
SG11202011176WA (en) Method for harq buffer clearing, device and computer storage medium
SG11201600931UA (en) Semiconductor memory device and stored data read method
IL254455B (en) Non-volatile sram memory cell and non-volatile semiconductor storage device
EP4082015A4 (en) Counter-based read in memory device
IL251710B (en) Memory cell and non-volatile semiconductor storage device
GB2585260B (en) Methods and systems for storing variable length data blocks in memory
GB2581252B (en) Storage device for portable device used in luggage