CN111104245B - 固态存储装置的读取重试方法 - Google Patents

固态存储装置的读取重试方法 Download PDF

Info

Publication number
CN111104245B
CN111104245B CN201811273012.6A CN201811273012A CN111104245B CN 111104245 B CN111104245 B CN 111104245B CN 201811273012 A CN201811273012 A CN 201811273012A CN 111104245 B CN111104245 B CN 111104245B
Authority
CN
China
Prior art keywords
read
failure mode
retry
data
control circuit
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
CN201811273012.6A
Other languages
English (en)
Other versions
CN111104245A (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.)
Jianxing Storage Technology Guangzhou Co ltd
Original Assignee
Jianxing Storage Technology Guangzhou 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 Jianxing Storage Technology Guangzhou Co ltd filed Critical Jianxing Storage Technology Guangzhou Co ltd
Priority to CN201811273012.6A priority Critical patent/CN111104245B/zh
Priority to US16/265,488 priority patent/US11010065B2/en
Publication of CN111104245A publication Critical patent/CN111104245A/zh
Application granted granted Critical
Publication of CN111104245B publication Critical patent/CN111104245B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/26Sensing or reading circuits; Data output circuits
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • 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
    • 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/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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • 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)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种固态存储装置的读取重试方法,该固态存储装置连接至一主机,且该固态存储装置包括一非易失性存储器,该读取重试方法包括下列步骤:判断该非易失性存储器中的一指定读取区块是否遭遇到一特定失败模式;于确认该指定读取区块遭遇到该特定失败模式时,进行对应该特定失败模式的一失败模式读取重试流程;于该失败模式读取重试流程可获得一正确读取数据时,将该正确读取数据传递至该主机;以及于该失败模式读取重试流程无法获得该正确读取数据时,回复该主机发生一读取失败。

Description

固态存储装置的读取重试方法
技术领域
本发明是有关于一种固态存储装置的控制方法,且特别是有关于一种固态存储装置的读取重试方法。
背景技术
众所周知,固态存储装置(Solid State Storage Device,简称SSD)已经非常广泛的应用于各种电子产品,例如SD卡、笔记本电脑、服务器、数据中心等等。
一般来说,固态存储装置中包括一非易失性存储器(non-volatile memory)。当数据写入非易失性存储器后,一旦固态存储装置的电源被关闭,数据仍可保存在非易失性存储器中。
请参照图1A,其所示为现有固态存储装置示意图。固态存储装置10包括:控制电路130以及非易失性存储器110。其中,控制电路130中包括错误更正码电路(简称ECC电路)134。再者,固态存储装置10更包括读取表136。如图1A所示,固态存储装置10的读取表136设计于控制电路130中。当然,除了设计于控制电路130之外,固态存储装置10的读取表136也可以设计于非易失性存储器110中。
固态存储装置10经由一外部总线152连接至主机(host)150,其中外部总线152可为USB总线、SATA总线、PCIe总线、M.2总线或者U.2总线等等。
再者,控制电路130连接至非易失性存储器110,用以根据主机150所发出的写入命令进一步将主机150的写入数据存入非易失性存储器110,以及根据主机150所发出的读取命令由非易失性存储器110中取得读取数据,经由控制电路130传递至主机150。
非易失性存储器110包括多个晶粒(die)111~126,并组成容错式磁盘阵列(redundant array of independent disk,简称RAID)用以提高数据的可靠度。再者,晶粒111~126可为与非门快闪存储器晶粒(NAND flash die)。
在具备RAID功能的固态存储装置10中,多个晶粒111~126中的至少一个晶粒是用来存储同位数据(parity data)。以使用最后一个晶粒126来存储同位数据为例,控制电路130会将主机150的写入数据分配为多笔子写入数据,并且将多笔子写入数据写入晶粒111~125中。同时,控制电路130会产生对应此多笔子写入数据的同位数据,并写入最后一个晶粒126中。
举例来说,假设非易失性存储器110中共有16个晶粒111~126,最后一个晶粒126用来存储同位数据,且固态存储装置10中所设定的条带化尺寸(stripe size)为160Kbytes。当控制电路130接收了150Kbytes的写入数据后,控制电路130会对150Kbytes的写入数据进行RAID运算并产生10Kbytes的同位数据(parity data)。此时,写入数据加上同位数据相当于条带化尺寸(stripe size)的160Kbytes,而控制电路130会将其写入对应的晶粒111~126中。
当控制电路器130执行读取命令时,控制电路130可由晶粒111~125中取得15笔子写入数据。若此15笔子写入数据皆可通过ECC电路134解码成功,则可组成150Kbytes的读取数据并传递至主机150。若其中一笔子写入数据无法通过ECC电路134解码成功,在具备RAID功能的固态存储装置10中,控制电路130可选择通过RAID恢复(RAID recovery)程序来恢复数据。即,控制电路130可通过其它14笔子写入数据以及其对应的同位数据来进行RAID恢复运算,以还原该笔子写入数据。接着,还原后的该笔子写入数据再与其它14笔子写入数据组成150Kbytes的读取数据并传递至主机150。
再者,每个晶粒111~126中包含多个存储单元(memory cell),而所有的存储单元可组成存储单元阵列。再者,存储单元阵列被划分成多个区块(block),每个区块再分成多个页(page)。
而根据每个存储单元所存储的数据量,可进一步区分为每个存储单元存储一位的单级存储单元(Single-Level Cell,简称SLC存储单元)、每个存储单元存储二位的多级存储单元(Multi-Level Cell,简称MLC存储单元)、每个存储单元存储三位的三级存储单元(Triple-Level Cell,简称TLC存储单元)以及每个存储单元存储四位的四级存储单元(Quad-Level Cell,简称QLC存储单元)。因此,非易失性存储器110中的存储单元阵列可为SLC存储单元阵列、MLC存储单元阵列、TLC存储单元阵列或者QLC存储单元阵列。
请参照图1B,其所示为TLC存储单元的存储状态示意图。TLC存储单元的一个存储单元可以根据载流子的注入量而呈现八个存储状态“Erase”、“A”~“G”。在未注入载流子时,存储单元可视为存储状态“Erase”,而随着载流子注入的量的增加,可再区分为其他七种存储状态“A”~“G”。举例来说,存储状态“G”的存储单元具有最高的临限电压电位,存储状态“Erase”的存储单元具有最低的临限电压电位。再者,当存储单元经过抹除动作(eraseaction)之后,皆会恢复至未注入载流子的存储状态“Erase”。
一般而言,于编程动作(program action)时,若将多个存储单元编程为相同的存储状态时,并非每个存储单元的临限电压都会相同,而是会呈现一分布曲线(distributioncurve),且其分布曲线可对应至一中位临限电压。
由图1B可知,存储状态“Erase”的中位临限电压为Ver,存储状态“A”的中位临限电压为Va、存储状态“B”的中位临限电压为Vb、存储状态“C”的中位临限电压为Vc、存储状态“D”的中位临限电压为Vd,存储状态“E”的中位临限电压为Ve、存储状态“F”的中位临限电压为Vf、存储状态“G”的中位临限电压为Vg。举例来说,在统计存储状态“A”的所有存储单元的临限电压后,中位临限电压Va的存储单元数目最多。
如图1B所示,根据TLC存储单元中各个存储状态的分布曲线即可据以产生七个读取电压Vra~Vrg作为预设读取电压组(default read voltage set)。于读取动作(readaction)时,控制电路130即提供预设读取电压组至非易失性存储器110,以检测存储单元阵列109中TLC存储单元的存储状态。
如图1B所示,预设读取电压组Vra~Vrg是用来决定TLC存储单元存储状态的重要依据。举例来说,非易失性存储器110提供读取电压Vrg至存储单元阵列109。临限电压大于读取电压Vrg而无法被开启的存储单元即可被判定为存储状态“G”,而临限电压小于读取电压Vrg而被开启的存储单元即被判定为不是存储状态“G”。换言之,运用预设读取电压组Vra~Vrg的七个读取电压即可判断出TLC存储单元的八种存储状态。
同理,运用预设读取电压组的三个读取电压即可判断出MLC存储单元的四种存储状态。而运用一个预设读取电压即可判断出SLC存储单元的二种存储状态。
如图1C所示,其所示为TLC存储单元的存储状态偏移示意图。固态存储装置10在实际使用的时候会遇到各种不同的操作条件。例如编程失败(Program fail)、读写温差过大(Write/Read temperature difference)、重复读取(read disturb)的情况。重复读取是指重复地对同一区块(block)内的页(page)进行读取,而当读取次数足够多时(例如上万次或更多),可能导致该区块内某特定的页内的存储单元的分布曲线会发生偏移(shift)、扭曲(distortion)。另外,当存储单元中的写入数据放置时间(Data retention time)过久(例如在40度C存储数据放置1个月以上)时,也可能会造成分布曲线偏移、扭曲。
上述的各种情况皆会造成存储单元阵列109中的存储单元的分布曲线偏移、扭曲,当分布曲线偏移、扭曲太过严重时,将会使ECC电路134无法成功地更正所有的错误位。
如图1C所示,当TLC存储单元的分布曲线偏移、扭曲后,存储状态“Erase”的中位临限电压为Ver′,存储状态“A”的中位临限电压为Va’、存储状态“B”的中位临限电压为Vb’、存储状态“C”的中位临限电压为Vc’、存储状态“D”的中位临限电压为Vd’,存储状态“E”的中位临限电压为Ve’、存储状态“F”的中位临限电压为Vf’、存储状态“G”的中位临限电压为Vg’。
此时,利用预设读取电压组Vra~Vrg来决定TLC存储单元存储状态时,将会造成读取数据中的错误位(error bits)增加,使ECC电路134无法成功地更正读取数据中所有的错误位,因而无法输出正确的读取数据至主机150。此时,控制电路130需要进入读取重试(read retry)。
请参照图1D,其所示为读取表示意图。读取表136中包括三个子读取表136a、136b与136c。举例来说,子读取表136a中记录了预设读取电压组RSd;子读取表136b中记录了n笔重试读取电压组RSb1~RSbn;子读取表136c中记录了m笔重试读取电压组RSc1~RScm。再者,子读取表136b与136c中的重试读取电压组RSb0~RSbn与RSc0~RScm用于读取重试流程中。
请参照图2,其所示为现有固态存储装置的读取动作流程图。当控制电路130收到主机150所发出的读取命令时,控制电路130开始读取动作。
首先,控制电路130进行正常读取(normal read)程序(步骤S210)。于正常读取程序(步骤S210)时,控制电路130提供子读取表136a中的预设读取电压组RSd至非易失性存储器110,以对非易失性存储器110中的指定读取区块进行数据读取,以取得读取数据并进行错误更正。当ECC电路134可更正读取数据中的错误位(error bits)时,控制电路130可将正确的读取数据传递至主机150。此时,控制电路130确认读取成功(步骤S212)。反之,当ECC电路134无法更正读取数据中的错误位时,则确认未读取成功(步骤S212),且控制电路130进入正常读取重试流程(normal read retry)。
于进行正常读取重试流程时,控制电路130会依序进行读取电压偏移解码(readlevel shift read)程序(步骤S220)、读取电压校正(read level calibration)程序(步骤S230)、RAID恢复(RAID recovery)程序(步骤S240)、软件解码(soft decode)程序(步骤S250)。
由图2可知,在进行读取重试流程的过程,当控制电路130进行任一个程序而读取成功(步骤S222、步骤S232、步骤S242、步骤S252)时,控制电路130即不再进行后续的程序,并将正确的读取数据传递至主机150。另外,如果控制电路130进行上述所有程序后皆无法读取成功,控制电路130会回复读取失败(步骤S260)至主机150。以下详细说明。
请参照图3A,其所示为读取电压偏移解码程序流程图。于进行读取电压偏移解码程序(步骤S220)时,控制电路130会将读取表136中子读取表136b的重试读取电压组依序提供至非易失性存储器110用以获得正确的读取数据。
首先,设定x=1(步骤S320),并提供重试读取电压组RSbx至非易失性存储器110(步骤S321)。当重试读取电压组RSbx提供至非易失性存储器110后,控制电路130利用ECC电路134中的硬件解码来更正非易失性存储器110回传的读取数据中的错误位。当读取数据中的错误位可以被更正时,即可获得正确的读取数据(步骤S322),并确认读取成功(步骤S325)。
反之,于无法获得正确的读取数据时(步骤S322),控制电路130判断是否x等于n(步骤S323)。当x不等于n时,将x增加1(步骤S324)并回到步骤S321。当x等于n时,代表最后一笔重试读取电压组RSbn仍无法成功获得正确的读取数据,因此控制电路130确认未读取成功(步骤S326)。
由以上的说明可知,控制电路130的子读取表136b中存储n笔重试读取电压组RSb1~RSbn。只要控制电路130利用其中的一个重试读取电压组而能够获得正确的读取数据时,即代表读取成功(步骤S325)。反之,如果控制电路130提供了全部的n笔重试读取电压组RSb1~RSbn至非易失性存储器110后仍无法获得正确的读取数据时,即代表未读取成功(步骤S326)。
当确认未读取成功(步骤S326)时,如图2所示,控制电路130接着依序进入正常读取重试流程中的下一个程序,即读取电压校正程序(步骤S230)。
请参照图3B,其所示为读取电压校正程序流程图。于进行校正程序(步骤S230)时,控制电路130会由子读取表136b中选定一重试读取电压组RSby作为初始电压组(步骤S330)。接着,控制电路130将重试读取电压组RSby校正为最佳重试读取电压组RSby’(步骤S331)。一般来说,在进行校正程序时,控制电路130会将重试读取电压组RSby中的读取电压Vra~Vrg进行微调后,即获得最佳重试读取电压组RSby’。
接着,控制电路130将最佳重试读取电压组RSby’提供至非易失性存储器110(步骤S332)。接着,控制电路130利用ECC电路134来更正非易失性存储器110回传的读取数据中的错误位。当读取数据中的错误位可以被更正时,即可获得正确的读取数据(步骤S333),并确认读取成功(步骤S334)。反之,当读取数据中的错误位无法被更正时,即表示未获得正确的读取数据(步骤S333),并确认未读取成功(步骤S335)。
当确认未读取成功(步骤S335)时,如图2所示,控制电路130接着依序进入正常读取重试流程中的下一个程序,即RAID恢复程序(步骤S240)。
请参照图3C,其所示为RAID恢复程序流程图。于进行RAID恢复程序(步骤S240)时,控制电路130利用同位数据来进行RAID恢复运算(步骤S340)。举例来说,在正常读取程序(步骤S210)中,控制电路130可由非易失性存储器110中的晶粒111~125分别取得读取数据,而当晶粒111~125中的其中一个读取数据无法通过ECC电路134解码成功时,则确认未读取成功(步骤S212),且控制电路130进入读取重试。当读取重试进行到RAID恢复程序(步骤S240)时,假设晶粒1l1中的读取数据无法通过ECC电路134解码成功,则控制电路130可利用其他晶粒112~125中的读取数据以及晶粒126中的同位数据来进行RAID恢复运算(步骤S340),以还原晶粒111中的读取数据。当读取数据可通过RAID恢复运算还原时,即可获得正确的读取数据(步骤S341),并确认读取成功(步骤S342)。反之,当读取数据无法通过RAID恢复运算还原时,即表示未获得正确的读取数据(步骤S341),并确认未读取成功(步骤S343)。
当确认未读取成功(步骤S343)时,如图2所示,控制电路130接着依序进入正常读取重试流程中的下一个程序,即软件解码程序(步骤S250)。
请参照图3D,其所示为软件解码程序流程图。于进行软件解码程序(步骤S250)时,控制电路130会将读取表136中子读取表136c的重试读取电压组RSc1~RSCm依序提供至非易失性存储器110用以获得正确的读取数据。
首先,设定x=1(步骤S350)。接着,控制电路130将重试读取电压组RScx提供至非易失性存储器110以获得硬件信息(hard information)与软件信息(soft information)(步骤S351)。举例来说,非易失性存储器110根据重试读取电压组RScx产生硬件信息与软件信息提供给ECC电路134的软件解码做为解码的迭代运算(iterative operation)依据。当在正常读取程序(步骤S210)中使用预设读取电压组RSd所得到的读取数据中的错误位可被ECC电路134的软件解码更正时,即可获得正确的读取数据(步骤S352),并确认读取成功(步骤S355)。
反之,于无法获得正确的读取数据时(步骤S352),控制电路130判断是否x等于m(步骤S353)。当x不等于m时,将x增加1(步骤S354)并回到步骤S351。当x等于m时,代表利用最后一笔重试读取电压组RScm所得到的硬件信息与软件信息仍无法让ECC电路134的软件解码成功更正读取数据中的错误位,而无法成功获得正确的读取数据,因此控制电路130确认未读取成功(步骤S356)。
根据图2的读取动作流程图可知,现有固态存储装置10在进入读取重试流程后,必须依照固定的顺序来进行读取电压偏移解码程序(步骤S220)、读取电压校正程序(步骤S230)、RAID恢复程序(步骤S240)与软件解码程序(步骤S250)。再者,子读取表136b运用于电压偏移解码程序(步骤S220)与读取电压校正程序(步骤S230),而子读取表136c运用于软件解码程序(步骤S250)。
明显地,由于控制电路130进行的程序很多,固态存储装置10在读取重试时,可能耗费相当长的时间,才能获得正确的读取数据,使得固态存储装置10的读取延迟时间(latency time)大幅地增加。
或者,固态存储装置10在读取重试时,可能发生读取时间过久而造成超时(timeout)的情形而无法读取成功。
发明内容
本发明有关于一种固态存储装置的读取重试方法,该固态存储装置连接至一主机,且该固态存储装置包括一非易失性存储器,该读取重试方法包括下列步骤:判断该非易失性存储器中的一指定读取区块是否遭遇到一特定失败模式;于确认该指定读取区块遭遇到该特定失败模式时,进行对应该特定失败模式的一失败模式读取重试流程;于该失败模式读取重试流程可获得一正确读取数据时,将该正确读取数据传递至该主机;以及于该失败模式读取重试流程无法获得该正确读取数据时,回复该主机发生一读取失败。
一种固态存储装置的读取重试方法,该固态存储装置连接至一主机,且该固态存储装置包括一非易失性存储器,该读取重试方法包括下列步骤:判断该非易失性存储器中的一指定读取区块是否遭遇一编程失败;于确认该指定读取区块遭遇到该编程失败时,进行一容错式磁盘阵列恢复程序;于该容错式磁盘阵列恢复程序可获得一正确读取数据时,将该正确读取数据传递至该主机;以及于该容错式磁盘阵列恢复程序无法获得该正确读取数据时,回复该主机发生一读取失败。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1A为现有固态存储装置示意图。
图1B为TLC存储单元的存储状态示意图。
图1C为TLC存储单元的存储状态偏移示意图。
图1D为读取表示意图。
图2为现有固态存储装置的读取动作流程图。
图3A为读取电压偏移解码程序流程图。
图3B为读取电压校正程序流程图。
图3C为RAID恢复程序流程图。
图3D为软件解码程序流程图。
图4A为本发明固态存储装置示意图。
图4B为本发明固态存储装置的读取表示意图。
图4C为本发明固态存储装置的读取动作流程示意图。
图5为编程失败模式读取重试流程图。
图6为读写温度差过大失败模式读取重试流程图。
图7为数据保存失败模式读取重试流程图。
图8为重复读取失败模式读取重试流程图。
具体实施方式
下面结合附图对本发明的结构原理和工作原理作具体的描述:
本发明提出一种固态存储装置的读取重试方法。本发明的固态存储装置可针对非易失性存储器的特性,适当地调整读取重试的流程。因此,可有效地缩短读取重试的时间,并避免超时(time out)的情形发生。
请参照图4A,其所示为本发明固态存储装置示意图。固态存储装置40包括:控制电路430以及非易失性存储器110。其中,非易失性存储器110包括多个晶粒(die)111~126,并组成容错式磁盘阵列。
再者,控制电路430中包括ECC电路134与失败模式判断模块(failure mode judgemodule)406。另外,固态存储装置40还包括读取表436。如图4A所示,固态存储装置40的读取表436设计于控制电路430中。当然,除了设计于控制电路430之外,固态存储装置40的读取表436也可以设计于非易失性存储器110中。
在固态存储装置40中,控制电路430连接至非易失性存储器110,用以根据主机150所发出的写入命令进一步将主机150的写入数据存入非易失性存储器110,以及根据主机150所发出的读取命令由非易失性存储器110中取得读取数据,经由控制电路430传递至主机150。
根据本发明的实施例,控制电路430的失败模式判断模块406,可以判断非易失性存储器110中的指定读取区块所遭遇到的失败模式。而控制电路430可以根据失败模式来适当地调整读取重试的流程,并根据失败模式提供对应的失败模式读取重试流程。如此,将可有效地缩短读取重试的时间,并避免超时(time out)的情形发生。再者,上述的失败模式例如:编程失败(Program fail)模式、读写温差过大失败(Write/Read temperaturedifference fail)模式、重复读取失败(read disturb fail)模式或者数据保存失败(Dataretention fail)模式。
请参照图4B,其所示为本发明固态存储装置的读取表示意图。读取表436中包括三个子读取表436a、436b与436c。举例来说,子读取表436a中记录了预设读取电压组RSd;子读取表436b中记录了n笔重试读取电压组RSb1~RSbn;子读取表436c中记录了m笔重试读取电压组RSc1~RScm。
根据本发明的实施例,子读取表436b中的n笔重试读取电压组RSb1~RSbn更被选择运用于对应的失败模式F1~F3。如图4B所示,F1可代表读写温差过大失败模式、F2可代表重复读取失败模式、F3可代表数据保存失败模式。举例来说,子读取表436b中的重试读取电压组RSb1、RSb3、RSb6、RSb9…共k1个重试读取电压组被选择运用于读写温差过大失败模式(F1);重试读取电压组RSb2、RSb5、RSb6…共k2个重试读取电压组被选择运用于重复读取失败模式(F2);重试读取电压组RSb3、RSb 8、RSbn…共k3个重试读取电压组被选择运用于数据保存失败模式(F3)。其中,k1≤n,k2≤n,k3≤n。
在本发明实施例中,对应各失败模式的重试读取电压组是由子读取表436b中取出特定的几组重试读取电压。此外,子读取表436b中对应各失败模式F1~F3的重试读取电压组可重新排序而具有不同的次序。换句话说,对应各失败模式的重试读取电压组可由子读取表436b中取出特定的几组重试读取电压,并重新排序。
在本发明实施例中,控制电路430在正常操作时,失败模式判断模块406可根据非易失性存储器110中的指定读取区块的读写状况来判断非易失性存储器110中的指定读取区块所遭遇到的失败模式。此外,控制电路430可针对至少一种失败模式设定对应的失败模式读取重试流程。
在本发明实施例中,在进入读取重试流程时,控制电路430会先判断非易失性存储器110中的指定读取区块所遭遇到的失败模式,并据以决定是否进行对应该失败模式的失败模式读取重试流程。请参照图4C,其所示为本发明固态存储装置的读取动作流程示意图。
首先,当控制电路430收到主机150所发出的读取命令时,控制电路430进行正常读取程序(步骤S210)。于正常读取程序(步骤S210)时,控制电路430提供读取表436中子读取表436a的预设读取电压组RSd至非易失性存储器110,以对非易失性存储器110中的指定读取区块进行数据读取,以取得读取数据并进行错误更正。当ECC电路134可更正读取数据中的错误位(error bits)时,控制电路430可将正确的读取数据传递至主机150。此时,控制电路430确认读取成功(步骤S212)。反之,当ECC电路134无法更正读取数据中的错误位时,则确认未读取成功(步骤S212),且控制电路130进入读取重试流程。
于进行读取重试流程时,控制电路430先判断非易失性存储器110中的指定读取区块所遭遇到的失败模式。当指定读取区块遭遇到特定失败模式(步骤S410)时,控制电路430进行对应于该特定失败模式的失败模式读取重试流程(步骤S411)。其中,上述的特定失败模式可为:编程失败模式、读写温差过大失败模式、重复读取失败模式以及数据保存失败模式其中之一。
举例来说,当控制电路430确认遭遇到编程失败模式时,控制电路430即进行编程失败模式读取重试流程。当控制电路430确认遭遇到读写温差过大失败模式时,控制电路430即进行读写温差过大失败模式读取重试流程。当控制电路430确认遭遇到重复读取失败模式时,控制电路430即进行重复读取失败模式读取重试流程。当控制电路430确认遭遇到数据保存失败模式时,控制电路430即进行数据保存失败模式读取重试流程。
再者,控制电路430进行对应于该特定失败模式的失败模式读取重试流程(步骤S411)而获得正确的读取数据时,控制电路430确认读取成功(步骤S412),并将正确的读取数据传送至主机150。反之,如果控制电路430无法获得正确的读取数据时,控制电路430无法确认读取成功(步骤S412),则控制电路430会回复读取失败(步骤S413)至主机150。
另外,当指定读取区块并非遭遇到特定失败模式(步骤S410)时,则控制电路430进行正常读取重试流程(normal read retry)(步骤S414)。其中,正常读取重试流程可为图2中步骤S220~步骤S260的正常读取重试流程。举例来说,如果控制电路430确认指定读取区块并非遭遇到编程失败、读写温差过大失败、重复读取失败以及数据保存失败其中之一时,则控制电路430即进行正常读取重试流程(步骤S414)。
由以上的说明可知,当控制电路430进行对应于特定失败模式的失败模式读取重试流程(步骤S411)且无法获得正确的读取数据时,控制电路430会直接回复读取失败(步骤S413)至主机150,而不继续进行其他程序。
在一实施例中,控制电路430可针对多种失败模式设定其对应的失败模式读取重试流程。再者,控制电路430的失败模式判断模块406可对多个特定失败模式进行优先顺序的排序,并依序进行判断。举例来说,失败模式判断模块406判断多个特定失败模式的优先顺序可为编程失败、读写温差过大失败、重复读取失败以及数据保存失败。
请参照图5,其所示为编程失败模式读取重试流程图。当控制电路430确认非易失性记忆110中的指定读取区块遭遇到编程失败模式时,控制电路430即进行编程失败模式读取重试流程。此时,控制电路430进行RAID恢复程序(步骤S510)。换句话说,对应于编程失败的失败模式读取重试流程为RAID恢复程序。再者,当RAID恢复程序可获得正确的读取数据(步骤S512)时,则确认读取成功(步骤S516)。反之,当读取数据无法通过RAID恢复运算还原时,即表示未获得正确的读取数据。此时,控制电路430确认未读取成功(步骤S514)。
相同地,于RAID恢复程序(步骤S510)中,控制电路430利用同位数据来进行RAID恢复运算。举例来说,假设晶粒111中的读取数据无法通过ECC电路134解码成功,则控制电路430可利用其他晶粒112~125中的读取数据以及晶粒126中的同位数据来进行RAID恢复运算,以还原晶粒111中的读取数据。当读取数据可通过RAID恢复运算还原时,即可获得正确的读取数据(步骤S512),并确认读取成功(步骤S516)。反之,当读取数据无法通过RAID恢复运算还原时,即表示未读取成功(步骤S514)。
请参照图6,其所示为读写温度差过大失败模式读取重试流程图。当控制电路430确认非易失性记忆110中的指定读取区块遭遇到读写温差过大失败模式时,控制电路即进行读写温度差过大失败模式读取重试流程。
首先,控制电路430会根据指定读取区块的抹除次数(erase count)来判断后续所进行的程序。一般来说,当指定读取区块的抹除次数较高时,代表指定读取区块中存储单元的特性较差。反之,当指定读取区块的抹除次数较低时,代表指定读取区块中存储单元的特性尚佳。
因此,当指定读取区块抹除次数未大于一临限值(步骤S611)时,控制电路430进行读取电压偏移解码程序(步骤S621)。于进行读取电压偏移解码程序(步骤S621)时,控制电路430会将读取表436的子读取表436b中对应至读写温差过大失败模式的重试读取电压组依序提供至非易失性存储器110用以获得正确的读取数据。
举例来说,读取表436中子读取表436b内存储k1笔重试读取电压组对应至读写温差过大失败模式F1。因此,只要控制电路430提供k1笔重试读取电压组中的任一个重试读取电压组至非易失性存储器110,并使得控制电路430利用ECC电路134中的硬件解码可以更正非易失性存储器110回传的读取数据中的错误位,则控制电路430获得正确的读取数据(步骤S622)并确认读取成功(步骤S627)。反之,当k1笔重试读取电压组皆提供至非易失性存储器110仍无法获得正确的读取数据(步骤S622)时,控制电路430继续进行读取电压校正程序(步骤S623)。
于进行读取电压校正程序(步骤S623)时,控制电路430会由子读取表436b中对应至读写温差过大失败模式F1的k1笔重试读取电压组选定一重试读取电压组作为初始电压组。接着,控制电路430将初始电压组校正为最佳重试读取电压组后,将最佳重试读取电压组提供至非易失性存储器110。当控制电路430利用ECC电路134可以更正非易失性存储器110回传的读取数据中的错误位,则控制电路430获得正确的读取数据(步骤S624)并即确认读取成功(步骤S627)。反之,控制电路430确认无法获得正确的读取数据(步骤S624)时,控制电路430继续进行软件解码程序(步骤S625)。
于进行软件解码程序(步骤S625)时,控制电路430会将读取表436中子读取表436c的重试读取电压组依序提供至非易失性存储器110用以获得正确的读取数据。举例来说,子读取表436c中存储m笔重试读取电压组RSc1~RScm。控制电路430提供一个重试读取电压组至非易失性存储器110可获得硬件信息与软件信息。当ECC电路134的软件解码可利用任一个硬件信息与软件信息来更正读取数据中的错误位时,控制电路430获得正确的读取数据(步骤S626)并确认读取成功(步骤S627)。反之,控制电路430确认无法获得正确的读取数据(步骤S626)时,控制电路430确认未读取成功(步骤S628)。
另外,当读取区块抹除次数大于该临限值(步骤S611)时,控制电路430进行读取电压校正程序(步骤S612)与软件解码程序(步骤S614)。再者,步骤S612~步骤S615其运作流程相同于步骤S623~S626。此处不再赘述。
根据以上的说明,当非易失性记忆110中的指定读取区块遭遇到读写温差过大失败时,控制电路430会根据指定读取区块的抹除次数来决定后续所进行的程序。
请参照图7,其所示为数据保存失败模式读取重试流程图。当控制电路430确认非易失性记忆110中的指定读取区块遭遇到数据保存失败模式时,控制电路430即进行数据保存失败模式读取重试流程。
在数据保存失败模式读取重试流程中,控制电路430会进行读取电压偏移解码程序(步骤S711)、读取电压校正程序(步骤S713)与软件解码程序(步骤S715)。
于进行读取电压偏移解码程序(步骤S711)时,控制电路430会将读取表436的子读取表436b中对应至数据保存失败模式的重试读取电压组依序提供至非易失性存储器110用以获得正确的读取数据。
举例来说,读取表436中子读取表436b内存储k3笔重试读取电压组对应至数据保存失败模式F3。因此,只要控制电路430提供k3笔重试读取电压组中的任一个重试读取电压组至非易失性存储器110,并使得控制电路430利用ECC电路134中的硬件解码可以更正非易失性存储器110回传的读取数据中的错误位,则控制电路430获得正确的读取数据(步骤S712)并确认读取成功(步骤S717)。反之,当k3笔重试读取电压组皆提供至非易失性存储器110仍无法获得正确的读取数据(步骤S712)时,控制电路430继续进行读取电压校正程序(步骤S713)。
于进行读取电压校正程序(步骤S713)时,控制电路430会由子读取表436b中的k3笔重试读取电压组选定一重试读取电压组作为初始电压组。接着,控制电路430将初始电压组校正为最佳重试读取电压组后,将最佳重试读取电压组提供至非易失性存储器110。当控制电路430利用ECC电路134可以更正非易失性存储器110回传的读取数据中的错误位,则控制电路430获得正确的读取数据(步骤S714)并即确认读取成功(步骤S717)。反之,控制电路430确认无法获得正确的读取数据(步骤S714)时,控制电路430继续进行软件解码程序(步骤S715)。
再者,步骤S715~步骤S718其运作流程相同于图6中的步骤S625~S628。此处不再赘述。
请参照图8,其所示为重复读取失败模式读取重试流程图。当控制电路430确认非易失性记忆110中的指定读取区块遭遇到重复读取失败模式时,控制电路430即进行重复读取失败模式读取重试流程。
在重复读取失败模式读取重试流程中,控制电路430会进行读取电压偏移解码程序(步骤S811)、读取电压校正程序(步骤S813)、RAID恢复程序(步骤S815)与软件解码程序(步骤S817)。
于进行读取电压偏移解码程序(步骤S811)时,控制电路430会将读取表436的子读取表436b中对应至重复读取失败模式的重试读取电压组依序提供至非易失性存储器110用以获得正确的读取数据。
举例来说,读取表436中子读取表436b内存储k2笔重试读取电压组对应至重复读取失败模式F2。因此,只要控制电路430提供k2笔重试读取电压组中的任一个重试读取电压组至非易失性存储器110,并使得控制电路430利用ECC电路134中的硬件解码可以更正非易失性存储器110回传的读取数据中的错误位,则控制电路430获得正确的读取数据(步骤S812)并确认读取成功(步骤S819)。反之,当k2笔重试读取电压组皆提供至非易失性存储器110仍无法获得正确的读取数据(步骤S812)时,控制电路430继续进行读取电压校正程序(步骤S813)。
于进行读取电压校正程序(步骤S813)时,控制电路430会由子读取表436b中的k2笔重试读取电压组选定一重试读取电压组作为初始电压组。接着,控制电路430将初始电压组校正为最佳重试读取电压组后,将最佳重试读取电压组提供至非易失性存储器110。当控制电路430利用ECC电路134可以更正非易失性存储器110回传的读取数据中的错误位,则控制电路430获得正确的读取数据(步骤S814)并即确认读取成功(步骤S819)。反之,控制电路430确认无法获得正确的读取数据(步骤S814)时,控制电路430继续进行RAID恢复程序(步骤S815)。基本上,RAID恢复程序(步骤S815)相同于图5的RAID恢复程序(步骤S510),此处不再赘述。
另外,进行完RAID恢复程序(步骤S815)后,控制电路430确认无法获得正确的读取数据(步骤S816)时,控制电路430继续进行软件解码程序(步骤S817)。软件解码程序(步骤S715)。再者,步骤S817~步骤S820其运作流程相同于图6中的步骤S625~S628。此处不再赘述。
由以上的说明可知,本发明提出一种固态存储装置的读取重试方法。本发明的固态存储装置可对至少一种失败模式设定对应的失败模式读取重试流程,进而可针对非易失性存储器中的指定读取区块所遭遇的失败模式,适当地调整读取重试的流程。再者,本发明的固态存储装置可于子读取表中设定对应至特定失败模式的重试读取电压组及/或次序,由于子读取表中对应至特定失败模式的重试读取电压组数目较少及/或具有对应的次序,因此进行对应特定失败模式的读取电压偏移解码程序时可有效地缩短读取重试的时间,并避免超时(time out)的情形发生。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (7)

1.一种固态存储装置的读取重试方法,该固态存储装置连接至一主机,且该固态存储装置包括一非易失性存储器,其特征在于,该读取重试方法包括下列步骤:
判断该非易失性存储器中的一指定读取区块是否遭遇到一特定失败模式;
于确认该指定读取区块遭遇到该特定失败模式时,进行对应该特定失败模式的一失败模式读取重试流程;
于该失败模式读取重试流程可获得一正确读取数据时,将该正确读取数据传递至该主机;以及
于该失败模式读取重试流程无法获得该正确读取数据时,回复该主机发生一读取失败;
其中,该特定失败模式包括一编程失败模式,该编程失败模式具有对应的一编程失败模式读取重试流程,该编程失败模式读取重试流程包括:直接进行一容错式磁盘阵列恢复程序;于该容错式磁盘阵列恢复程序可获得该正确读取数据时,将该正确读取数据传递至该主机;以及于该容错式磁盘阵列恢复程序无法获得该正确读取数据时,回复该主机发生该读取失败。
2.如权利要求1所述的固态存储装置的读取重试方法,其特征在于,其中对该非易失性存储器中的该指定读取区块进行一正常读取程序且确认无法读取成功时,判断该指定读取区块是否遭遇到该特定失败模式。
3.如权利要求1所述的固态存储装置的读取重试方法,其特征在于,其中该特定失败模式至少还包括:一读写温差过大失败模式、一重复读取失败模式与一数据保存失败模式。
4.如权利要求3所述的固态存储装置的读取重试方法,其特征在于,其中该读写温差过大失败模式具有对应的一读写温差过大失败模式读取重试流程,该读写温差过大失败模式读取重试流程包括:
判断该指定读取区块的一抹除次数;
当该抹除次数大于一临限值时,进行一读取电压校正程序或一软件解码程序;以及
当该抹除次数未大于该临限值时,进行一读取电压偏移解码程序、该读取电压校正程序或该软件解码程序。
5.如权利要求3所述的固态存储装置的读取重试方法,其特征在于,其中该数据保存失败模式具有对应的一数据保存失败模式读取重试流程,该数据保存失败模式读取重试流程包括:进行一读取电压偏移解码程序、一读取电压校正程序或一软件解码程序。
6.如权利要求3所述的固态存储装置的读取重试方法,其特征在于,其中该重复读取失败模式具有对应的一重复读取失败模式读取重试流程,该重复读取失败模式读取重试流程包括:进行一读取电压偏移解码程序、一读取电压校正程序、一容错式磁盘阵列恢复程序或一软件解码程序。
7.如权利要求1所述的固态存储装置的读取重试方法,其特征在于,还包括:于确认该指定读取区块未遭遇到该特定失败模式时,进行一正常读取重试流程,其中该正常读取重试流程包含:进行一电压偏移解码程序、一读取电压校正程序、一容错式磁盘阵列恢复程序以及一软件解码程序。
CN201811273012.6A 2018-10-29 2018-10-29 固态存储装置的读取重试方法 Active CN111104245B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811273012.6A CN111104245B (zh) 2018-10-29 2018-10-29 固态存储装置的读取重试方法
US16/265,488 US11010065B2 (en) 2018-10-29 2019-02-01 Read retry method for solid state storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811273012.6A CN111104245B (zh) 2018-10-29 2018-10-29 固态存储装置的读取重试方法

Publications (2)

Publication Number Publication Date
CN111104245A CN111104245A (zh) 2020-05-05
CN111104245B true CN111104245B (zh) 2023-07-14

Family

ID=70327167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811273012.6A Active CN111104245B (zh) 2018-10-29 2018-10-29 固态存储装置的读取重试方法

Country Status (2)

Country Link
US (1) US11010065B2 (zh)
CN (1) CN111104245B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200143912A (ko) * 2019-06-17 2020-12-28 삼성전자주식회사 멀티-스트리밍을 지원하는 스토리지 장치 및 비휘발성 메모리 장치의 동작 제어 방법
CN113129978B (zh) 2019-12-30 2024-01-26 美光科技公司 使用奇偶校验增加存储器存取并行性
US11803446B2 (en) 2020-07-13 2023-10-31 Samsung Electronics Co., Ltd. Fault resilient storage device
KR20220092021A (ko) 2020-12-24 2022-07-01 삼성전자주식회사 스토리지 컨트롤러 및 이를 포함하는 스토리지 시스템
US11586502B2 (en) * 2021-05-19 2023-02-21 Micron Technology, Inc. Performance and deadlock mitigation during a memory die fail storm
JP2023079292A (ja) * 2021-11-29 2023-06-08 ラピステクノロジー株式会社 半導体記憶装置、データ書込方法及び半導体記憶装置の製造方法
CN116185309B (zh) * 2023-04-27 2023-08-08 合肥康芯威存储技术有限公司 一种数据处理方法及数据存储设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106653087A (zh) * 2015-10-28 2017-05-10 光宝电子(广州)有限公司 固态存储装置及其相关读取控制方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8693252B2 (en) * 2011-07-12 2014-04-08 Samsung Electronics Co., Ltd. Method and system for adjusting read voltage in flash memory device
US9514848B2 (en) * 2014-04-03 2016-12-06 Lite-On Electronics (Guangzhou) Limited Solid state drive and associated error check and correction method
US9785383B2 (en) * 2015-03-09 2017-10-10 Toshiba Memory Corporation Memory system and method of controlling nonvolatile memory
KR102512448B1 (ko) * 2016-03-28 2023-03-22 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
CN107452421B (zh) * 2016-05-31 2020-06-16 建兴储存科技(广州)有限公司 固态储存装置及其状态预测方法
US10114694B2 (en) * 2016-06-07 2018-10-30 Storart Technology Co. Ltd. Method and controller for recovering data in event of program failure and storage system using the same
KR20180110412A (ko) * 2017-03-29 2018-10-10 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
KR102040103B1 (ko) * 2017-05-25 2019-11-05 한국화학연구원 가변 저항 메모리 장치 및 그것의 동작 방법
CN110795270B (zh) * 2018-08-03 2024-01-30 建兴储存科技(广州)有限公司 固态储存装置及其读取重试方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106653087A (zh) * 2015-10-28 2017-05-10 光宝电子(广州)有限公司 固态存储装置及其相关读取控制方法

Also Published As

Publication number Publication date
US20200135280A1 (en) 2020-04-30
CN111104245A (zh) 2020-05-05
US11010065B2 (en) 2021-05-18

Similar Documents

Publication Publication Date Title
CN111104245B (zh) 固态存储装置的读取重试方法
US9672942B2 (en) Data decoding method of non-volatile memory device and apparatus for performing the method
US8850292B2 (en) Flash memory system and read method in flash memory system
US8539311B2 (en) System and method for data recovery in multi-level cell memories
US9244766B2 (en) Variable data recovery scheme hierarchy
US10395754B2 (en) Method for decoding bits in a solid state drive, and related solid state drive
US20130185612A1 (en) Flash memory system and read method of flash memory system
US11017867B2 (en) Adjustable read retry order based on decoding success trend
CN108363544B (zh) 固态储存装置及其读取重试方法
EP3579237B1 (en) Solid state drive with improved llr tables
US11119697B2 (en) Read voltage management based on write-to-read time difference
US10564862B2 (en) Wear leveling method, memory control circuit unit and memory storage apparatus
US10803973B2 (en) Memory management method and storage controller
US10229742B2 (en) Flash memory device
CN113360427A (zh) 数据存储装置及其操作方法
EP2587377A2 (en) Memory system and method for recording/reproducing data thereof
CN116302666A (zh) 包括奇偶校验管理模块的存储控制器、包括存储控制器的存储设备和存储设备的操作方法
CN113094307B (zh) 映射信息管理方法、存储器存储装置及存储器控制器
US10922025B2 (en) Nonvolatile memory bad row management
KR20140104829A (ko) 멀티 레벨 셀 비휘발성 메모리 시스템
US10978163B2 (en) Voltage identifying method, memory controlling circuit unit and memory storage device
TW202424983A (zh) 記憶體系統及其方法、電腦可讀介質
CN112527550A (zh) 存储装置重读表的生成方法、测试装置以及存储介质
CN117409845A (zh) 分组管理方法、存储器存储装置及存储器控制器
CN110874281A (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