CN105468293B - 通过预测损坏的m-页提高闪存利用率的方法和系统 - Google Patents

通过预测损坏的m-页提高闪存利用率的方法和系统 Download PDF

Info

Publication number
CN105468293B
CN105468293B CN201510629154.1A CN201510629154A CN105468293B CN 105468293 B CN105468293 B CN 105468293B CN 201510629154 A CN201510629154 A CN 201510629154A CN 105468293 B CN105468293 B CN 105468293B
Authority
CN
China
Prior art keywords
page
data
pages
memory
read 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
CN201510629154.1A
Other languages
English (en)
Chinese (zh)
Other versions
CN105468293A (zh
Inventor
H·塔巴雷茨
R·阿加瓦尔
J·P·费雷拉
J·S·邦威克
M·W·夏皮罗
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.)
EMC Inc
Original Assignee
EMC Inc
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 EMC Inc filed Critical EMC Inc
Publication of CN105468293A publication Critical patent/CN105468293A/zh
Application granted granted Critical
Publication of CN105468293B publication Critical patent/CN105468293B/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
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008—Adding 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/1072—Adding 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 multilevel memories
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751—Error or fault detection not based on redundancy
    • G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00—Error detection; Error correction; Monitoring
    • G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • 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/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653—Monitoring storage devices or systems
    • 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
    • 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/0683—Plurality of storage devices
    • G06F3/0688—Non-volatile semiconductor memory arrays
    • 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/40—Specific encoding of data in memory or cache
    • G06F2212/403—Error protection encoding, e.g. using parity or ECC codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Detection And Correction Of Errors (AREA)
CN201510629154.1A 2014-09-30 2015-09-29 通过预测损坏的m-页提高闪存利用率的方法和系统 Active CN105468293B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/501,917 2014-09-30
US14/501,917 US9690655B2 (en) 2014-09-30 2014-09-30 Method and system for improving flash storage utilization by predicting bad m-pages

Publications (2)

Publication Number Publication Date
CN105468293A CN105468293A (zh) 2016-04-06
CN105468293B true CN105468293B (zh) 2019-02-12

Family

ID=54291029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510629154.1A Active CN105468293B (zh) 2014-09-30 2015-09-29 通过预测损坏的m-页提高闪存利用率的方法和系统

Country Status (4)

Country Link
US (2) US9690655B2 (cg-RX-API-DMAC10.html)
EP (1) EP3002680A1 (cg-RX-API-DMAC10.html)
JP (2) JP6496227B2 (cg-RX-API-DMAC10.html)
CN (1) CN105468293B (cg-RX-API-DMAC10.html)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652345B2 (en) * 2015-09-24 2017-05-16 The Florida International University Board Of Trustees Techniques and systems for local independent failure domains
US10419563B2 (en) * 2016-04-28 2019-09-17 Microsoft Technology Licensing, Llc Persistent notification customization
KR102659829B1 (ko) * 2016-08-24 2024-04-22 삼성전자주식회사 Raid 동작을 제어하는 방법 및 시스템
US10095417B1 (en) 2016-12-13 2018-10-09 EMC IP Holding Company LLC Method and system for improving flash storage read performance in partially programmed blocks
CN108255634B (zh) * 2016-12-28 2020-08-07 华为技术有限公司 一种数据读取方法及装置
US10289550B1 (en) 2016-12-30 2019-05-14 EMC IP Holding Company LLC Method and system for dynamic write-back cache sizing in solid state memory storage
US11069418B1 (en) 2016-12-30 2021-07-20 EMC IP Holding Company LLC Method and system for offline program/erase count estimation
US10338983B2 (en) 2016-12-30 2019-07-02 EMC IP Holding Company LLC Method and system for online program/erase count estimation
CN108363670B (zh) * 2017-01-26 2020-07-14 华为技术有限公司 一种数据传输的方法、装置、设备和系统
US10403366B1 (en) * 2017-04-28 2019-09-03 EMC IP Holding Company LLC Method and system for adapting solid state memory write parameters to satisfy performance goals based on degree of read errors
US10290331B1 (en) * 2017-04-28 2019-05-14 EMC IP Holding Company LLC Method and system for modulating read operations to support error correction in solid state memory
CN107301132A (zh) * 2017-06-09 2017-10-27 华中科技大学 一种闪存垃圾回收优化方法
CN109426622B (zh) * 2017-08-31 2020-11-24 香港理工大学深圳研究院 一种提高闪存固态盘寿命的方法及高寿命闪存固态盘
US10776202B1 (en) * 2017-09-22 2020-09-15 Pure Storage, Inc. Drive, blade, or data shard decommission via RAID geometry shrinkage
US10642525B2 (en) * 2017-12-07 2020-05-05 Western Digital Technologies, Inc. Multiple-stage data lifetime management for storage devices
US11086705B2 (en) 2019-03-18 2021-08-10 International Business Machines Corporation Managing the reliability of pages in non-volatile random access memory
KR102969296B1 (ko) 2020-08-11 2026-05-27 삼성전자주식회사 비휘발성 메모리를 포함하는 메모리 저장 장치 및 전자 장치
US11461025B2 (en) * 2020-11-05 2022-10-04 Macronix International Co., Ltd. Data retention in memory devices
KR20240059953A (ko) * 2022-10-28 2024-05-08 에스케이하이닉스 주식회사 타임스탬프를 기초로 가비지 컬렉션 또는 웨어 레벨링을 제어하는 스토리지 장치 및 그 동작 방법
CN117391109B (zh) * 2023-03-21 2026-04-10 苏州协同创新智能制造科技有限公司 一种基于risc-v架构的主动标识载体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102150140A (zh) * 2008-12-27 2011-08-10 株式会社东芝 存储器系统、控制存储器系统的方法和信息处理装置
US8189379B2 (en) * 2009-08-12 2012-05-29 Texas Memory Systems, Inc. Reduction of read disturb errors in NAND FLASH memory
CN103902234A (zh) * 2012-12-26 2014-07-02 索尼公司 控制装置、控制方法和程序

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100297986B1 (ko) 1998-03-13 2001-10-25 김영환 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법
JP4059472B2 (ja) 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ
US8321025B2 (en) * 2006-07-31 2012-11-27 Cranial Medical Systems, Inc. Lead and methods for brain monitoring and modulation
WO2009072100A2 (en) * 2007-12-05 2009-06-11 Densbits Technologies Ltd. Systems and methods for temporarily retiring memory portions
JP4489127B2 (ja) 2008-02-29 2010-06-23 株式会社東芝 半導体記憶装置
JP2010079486A (ja) 2008-09-25 2010-04-08 Panasonic Corp 半導体記録装置
US8516343B2 (en) 2008-11-10 2013-08-20 Fusion-Io, Inc. Apparatus, system, and method for retiring storage regions
US20100332894A1 (en) 2009-06-30 2010-12-30 Stephen Bowers Bit error threshold and remapping a memory device
US8489966B2 (en) 2010-01-08 2013-07-16 Ocz Technology Group Inc. Solid-state mass storage device and method for failure anticipation
US8139379B2 (en) * 2010-02-17 2012-03-20 Fsp Technology Inc. Reverse energy recovery circuit
US20140136927A1 (en) 2010-10-27 2014-05-15 Lsi Corporation Adaptive ecc techniques for flash memory based data storage
US9086983B2 (en) 2011-05-31 2015-07-21 Micron Technology, Inc. Apparatus and methods for providing data integrity
WO2013100958A1 (en) 2011-12-28 2013-07-04 Intel Corporation Cycling endurance extending for memory cells of a non-volatile memory array
US9058281B2 (en) * 2012-06-01 2015-06-16 Seagate Technology Llc Allocating memory usage based on quality metrics
US9263158B2 (en) * 2013-08-16 2016-02-16 Seagate Technology Llc Determining data retention time in a solid-state non-volatile memory
US9496043B1 (en) * 2015-06-24 2016-11-15 International Business Machines Corporation Dynamically optimizing flash data retention or endurance based on data write frequency

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102150140A (zh) * 2008-12-27 2011-08-10 株式会社东芝 存储器系统、控制存储器系统的方法和信息处理装置
US8189379B2 (en) * 2009-08-12 2012-05-29 Texas Memory Systems, Inc. Reduction of read disturb errors in NAND FLASH memory
CN103902234A (zh) * 2012-12-26 2014-07-02 索尼公司 控制装置、控制方法和程序

Also Published As

Publication number Publication date
JP2016071893A (ja) 2016-05-09
JP6496227B2 (ja) 2019-04-03
JP6820248B2 (ja) 2021-01-27
CN105468293A (zh) 2016-04-06
US10339001B2 (en) 2019-07-02
US9690655B2 (en) 2017-06-27
EP3002680A1 (en) 2016-04-06
US20170262336A1 (en) 2017-09-14
US20160092304A1 (en) 2016-03-31
JP2018085122A (ja) 2018-05-31

Similar Documents

Publication Publication Date Title
CN105468293A (zh) 通过预测损坏的m-页提高闪存利用率的方法和系统
CN105468534B (zh) 使用读取阈值表提高闪存利用率的方法和系统
US8990502B2 (en) Write cache structure in a storage system
US10019196B2 (en) Efficient enforcement of command execution order in solid state drives
EP3519969B1 (en) Physical media aware spacially coupled journaling and replay
US10810123B1 (en) Flush strategy for using DRAM as cache media system and method
US9141486B2 (en) Intelligent I/O cache rebuild in a storage controller
JPWO2015114754A1 (ja) ストレージ装置
CN109085997A (zh) 用于非易失性存储器的存储器高效持续键值储存
US8201001B2 (en) Method for optimizing performance and power usage in an archival storage system by utilizing massive array of independent disks (MAID) techniques and controlled replication under scalable hashing (CRUSH)
US20170102887A1 (en) System and Method For Transposed Storage In RAID Arrays
US20140304473A1 (en) Method and system for cache tiering
CN117369715B (zh) 基于存储设备中的引用更新使用回收单元的系统、方法和设备
US20140089569A1 (en) Write cache sorting
US11340806B2 (en) Meta data processing during startup of storage devices
US11366714B2 (en) Behavior-driven die management on solid-state drives
CN102722339A (zh) 供电安全的数据管理系统
CN109478159A (zh) 损坏数据块的在线修复
US11176034B2 (en) System and method for inline tiering of write data
US10235082B1 (en) System and method for improving extent pool I/O performance by introducing disk level credits on mapped RAID
CN102609364A (zh) 缓存交换方法
CN106227463A (zh) Raid模型、数据读写及其重建方法
CN111880963B (zh) 一种数据重构方法、装置、设备及存储介质
CN108334275A (zh) 数据储存方法及其装置
US10852951B1 (en) System and method for improving I/O performance by introducing extent pool level I/O credits and user I/O credits throttling on Mapped RAID

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant