CN108363544B - 固态储存装置及其读取重试方法 - Google Patents
固态储存装置及其读取重试方法 Download PDFInfo
- Publication number
- CN108363544B CN108363544B CN201710061595.5A CN201710061595A CN108363544B CN 108363544 B CN108363544 B CN 108363544B CN 201710061595 A CN201710061595 A CN 201710061595A CN 108363544 B CN108363544 B CN 108363544B
- Authority
- CN
- China
- Prior art keywords
- retry
- read
- controller
- block
- read voltage
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 141
- 239000007787 solid Substances 0.000 title claims description 19
- 238000012546 transfer Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 239000000969 carrier Substances 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7206—Reconfiguration of flash memory system
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 Hardware Design (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开了一种固态储存装置及其读取重试方法,该固态储存装置包括:一非挥发性记忆体,包括一第一区块;以及一控制器,连接至该非挥发性记忆体,该控制器包括一快取表与一重试表,其中该重试表中记录多个预设重试读取电压组;其中,该控制器进行一读取重试流程,若该快取表未记录该第一区块的信息时,该控制器根据记录于该重试表中该些预设重试读取电压组提供至该非挥发性记忆体;其中,当该控制器提供该些预设重试读取电压组中的一第一预设重试读取电压组至该非挥发性记忆体而解码成功时,该控制器将该第一预设重试读取电压组记录于该快取表。
Description
技术领域
本发明是有关于一种固态储存装置,且特别是有关于一种可进行读取重试的固态储存装置及其读取重试方法。
背景技术
众所周知,固态储存装置(solid state device)已经非常广泛的应用于各种电子产品,例如SD卡、固态硬盘等等。一般来说,固态储存装置是由控制器以及非挥发性记忆体(non-volatile memory)组合而成。
请参照图1,其所绘示为现有固态储存装置示意图。固态储存装置10经由一外部总线12连接至主机(host)14,其中外部总线12可为USB总线、SATA总线、PCIe总线等等。再者,固态储存装置10中包括一控制器101与一非挥发性记忆体105。其中,控制器101经由一内部总线107连接至非挥发性记忆体105,用以根据主机14所发出的命令将接收的写入数据存入非挥发性记忆体105,或者由非挥发性记忆体105中取得读取数据并传递至主机14。
控制器101中有一预设读取电压组(default read voltage set)。于读取周期(read cycle)时,控制器101利用预设读取电压组来取得非挥发性记忆体105中的读取数据。而控制器101中的错误校正码电路(简称ECC电路)104用来更正读取数据中的错误位元(error bits),并且于更正完成后控制器101将正确的读取数据传递至主机14。
另外,当ECC电路104无法成功地校正读取数据中所有的错误位元时,代表解码失败且无法输出正确的读取数据至主机14。此时,控制器101中的重试表106将提供其他的重试读取电压组(retry read voltage set),使控制器101采用重试读取电压组来对非挥发性记忆体105进行读取重试(read retry)。详细说明如下:
非挥发性记忆体105(例如是快闪记忆体)由多个记忆胞(memory cell)排列成一记忆体胞阵列(memory cell array),而每个记忆胞内包括一个浮动栅晶体管(floatinggate transistor)。根据每个记忆胞所储存的数据位元量,快闪记忆体可进一步区分为每个记忆胞储存一个位元的单层记忆胞(Single-Level Cell,简称SLC)快闪记忆体、每个记忆胞储存二个位元的多层记忆胞(Multi-Level Cell,简称MLC)快闪记忆体与每个记忆胞储存三个位元的三层记忆胞(Triple-Level Cell,简称TLC)快闪记忆体。
浮动栅晶体管中的浮动栅(floating gate)可以储存热载子(hot carrier),而根据热载子储存量的多寡可决定该浮动栅晶体管的临限电压(threshold voltage,简称VTH)。也就是说,具有较高的临限电压的浮动栅晶体管需要较高的栅极电压(gate voltage)来开启(turn on)浮动栅晶体管;反之,具有较低的临限电压的浮动栅晶体管则可以用较低的栅极电压来开启浮动栅晶体管。
于非挥发性记忆体105的编程周期(program cycle)时,利用控制注入浮动栅的热载子量,即可改变其临限电压。而在读取周期(read cycle)时,固态储存装置10中的控制器101提供读取电压组至浮动栅晶体管的栅极,并根据浮动栅晶体管对应的开启(turn on)状态来判断其储存状态。
请参照图2A,其所绘示为MLC快闪记忆体中的储存状态与临限电压关系示意图。一个MLC快闪记忆体记忆胞可以根据注入热载子的数量而呈现第一储存状态(00)、第二储存状态(01)、第三储存状态(10)或第四储存状态(11)。在未注入热载子时,记忆胞可视为第一储存状态(00)。
如图2A所示,若将多个记忆胞编程为相同的储存状态时,并非每个记忆胞的临限电压都会相同,而是会呈现一分布曲线(distribution curve),且其分布曲线可对应至一中位临限电压。由图2A可知,第一储存状态(00)的中位临限电压为VTHE(例如0V),第二储存状态(01)的中位临限电压为VTHA(例如10V),第三储存状态(10)的中位临限电压为VTHB(例如20V),第四储存状态(11)的中位临限电压为VTHC(例如30V)。
再者,根据MLC快闪记忆体中各个储存状态的分布曲线,即可据以产生一个读取电压组,其包括三个读取电压Vra、Vrb、Vrc。而于读取周期时,控制器101即可提供读取电压组至MLC快闪记忆体,用以检测MLC快闪记忆体中记忆胞的储存状态。
举例来说,控制器101提供读取电压Vrb至非挥发性记忆体105。当该记忆胞的临限电压小于读取电压Vrb而可以被开启时,则控制器101可确定该记忆胞为第一储存状态(00)或者第二储存状态(01)。接着,控制器101提供读取电压Vra至非挥发性记忆体105。若该记忆胞可被开启,则该记忆胞即为第一储存状态(00);若该记忆胞无法被开启,则该记忆胞即为第二储存状态(01)。
反之,当该记忆胞的临限电压大于读取电压Vrb而无法被开启时,则控制器101可确定该记忆胞为第三储存状态(10)或第四储存状态(11)。接着,控制器101提供读取电压Vrc至非挥发性记忆体105。若该记忆胞可被开启,则该记忆胞即为第三储存状态(10);若该记忆胞无法被开启,则该记忆胞即为第四储存状态(11)。
同理,控制器101可以利用一个读取电压来决定SLC快闪记忆体中的一个位元的储存状态。或者,控制器101可以利用七个读取电压来决定TLC快闪记忆体中的三个位元的储存状态。
由以上的说明可知,读取电压组是用来决定MLC记忆胞储存状态的重要依据。然而,当非挥发性记忆体105使用了一段时间之后,记忆胞的特性会改变,使得每个储存状态的分布曲线(distribution curve)改变且中位临限电压也会产生偏移。在此状况下,若利用原先的读取电压组来读取非挥发性记忆体105中的数据时,可能会产生过多的错误位元(error bit),使得ECC电路104无法校正所有的错误位元,造成解码失败且无法输出正确的读取数据至主机14。
因此,现有的控制器101中会有一重试表106,其记录多个重试读取电压组(retryread voltage set)。当控制器101确认ECC电路104无法校正所有的错误位元,而需进行读取重试时,控制器101于重试表106中获得另一重试读取电压组,并提供至非挥发性记忆体105并再次读取数据。
请参照图2B,其所绘示为现有固态储存装置进行读取重试示意图。于读取周期时,控制器101先进行解码流程(decoding process)A,其为利用预设读取电压组Vr_d来进行硬式解码。
于进行解码流程A时,控制器101提供预设读取电压组Vr_d来读取非挥发记忆体105内的读取数据,并利用ECC电路104中的硬式解码法(hard decoding method)来校正读取数据。当读取数据中的错误位元可以被更正时,代表通过(pass)解码流程A而解码成功。因此,控制器101即可将正确的读取数据传递至主机14。反之,当读取数据中的错误位元无法被更正时,将无法获得正确的读取数据,代表解码流程A失败(fail),因此控制器101进行读取重试(read retry)。
当控制器101进行读取重试时,先进行解码流程B。其中,解码流程B为利用重试读取电压组来进行硬式解码法。
举例来说,重试表106中储存m个重试读取电压组运用于硬式解码法,而控制器106由重试表106取得第一重试读取电压组Vr_r1,并提供至非挥发性记忆体105。接着,利用ECC电路104中的硬式解码法来校正读取数据。当读取数据中的错误位元可以被更正时,代表通过(pass)解码流程B而解码成功,并可将正确的读取数据传递至主机14。反之,当读取数据中的错误位元无法被更正时,代表无法通过(fail)解码流程B而解码失败。此时,控制器101须要再次由重试表106中取得第二重试读取电压组Vr_r2,再次判断能否解码成功。
由于重试表106中储存m个重试读取电压组,控制器101须根据重试表106中m个重试读取电压组的预设顺序依序用来进行解码流程B,直到解码成功。当控制器101利用其中的一个重试读取电压组而能够解码成功时,即代表通过(pass)解码流程B。然而,如果控制器101利用m个重试读取电压组Vr_r1~Vr_rm皆无法解码成功时,即代表解码流程B失败(fail)。此时,控制器101进行解码流程C。明显地,解码流程B所需的时间多于解码流程A。
再者,解码流程C为利用重试读取电压组来进行软式解码法(soft decodingmethod)。相较于硬式解码方法,软式解码法具有更佳的错误更正能力。但是,软式解码法的每一读取电压组中包含更多的读取电压。以MLC快闪记忆体为例,运用于硬式解码方法的重试读取电压组中包含三个读取电压,而运用于软式解码方法的重试读取电压组则包含九个读取电压。因此,软式解码法会更耗时,意即解码流程C所需的时间又多于解码流程B。
举例来说,重试表106中另储存n个重试读取电压组用于软式解码法,控制器101须根据重试表106中n个重试读取电压组的预设顺序依序用来进行解码流程B,直到解码成功。同理,当控制器101利用其中的一个重试读取电压组而能够解码成功时,即代表通过(pass)解码流程C。反之,如果控制器101利用n组重试读取电压组皆无法解码成功时,即代表解码流程C失败(fail)。此时,控制器101确定无法获得正确的读取数据,并且回复主机14解码失败。
根据现有固态储存装置的错误更正流程可知,于读取周期的解码流程A失败后,控制器101会进行读取重试。而读取重试时,控制器101需要先进行解码流程B。再者,于确认解码流程B失败后,控制器101继续进行解码流程C。另外,当控制器101确认解码流程C失败后,回复主机14解码失败。
以解码流程B为例,根据重试表106中记录m个重试读取电压组Vr_r1~Vr_rm的顺序,控制器101每次提供一个重试读取电压组至非挥发性记忆体105来进行读取重试,直到解码成功为止。换句话说,由于控制器101无法直接获得适合的重试读取电压组来进行读取重试,使得控制器101可能耗费相当长的时间提供不适合的重试读取电压组至非挥发性记忆体105来进行读取重试。如此,将导致整个固态储存装置10读取重试的时间变长,吞吐率(throughput)下降,读取速度(read speed)大幅度地下降。
发明内容
本发明有关于一种固态储存装置包括:一非挥发性记忆体,包括一第一区块;以及一控制器,连接至该非挥发性记忆体,该控制器包括一快取表与一重试表,其中该重试表中记录多个预设重试读取电压组;其中,该控制器针对该第一区块进行一第一读取重试流程,若该快取表未记录该第一区块的信息时,该控制器根据记录于该重试表中该些预设重试读取电压组的顺序,逐一提供至该非挥发性记忆体以重试读取该第一区块;其中,当该控制器提供该些预设重试读取电压组中的一第一预设重试读取电压组至该非挥发性记忆体而解码成功时,该控制器将该第一预设重试读取电压组记录于该快取表。
本发明有关于一种用于一固态储存装置的读取重试方法,该固态储存装置一非挥发性记忆体,包括多个区块,以及一控制器,连接至该非挥发性记忆体,该控制器包括一快取表与一重试表,其中该重试表中记录多个预设重试读取电压组,该读取重试方法包括:进入一第一读取重试流程,该第一读取重试流程包括:根据该快取表进行读取重试该些区块中的一第一区块,确认该快取表是否记录有对应该第一区块的至少一重试读取电压组;若该快取表记录有对应该第一区块的至少一重试读取电压组,使用该重试读取电压组重试读取该第一区块;以及若该快取表未记录有对应该第一区块的该至少一重试读取电压组,使用记录于该重试表中的该些预设重试读取电压组重试读取该第一区块。
为了对本发明上述及其他方面有更佳的了解,下文特举较佳实施例,并配合附图,作详细说明如下:
附图说明
图1所绘示为现有固态储存装置示意图。
图2A所绘示为MLC快闪记忆体中的储存状态与临限电压关系示意图。
图2B所绘示为现有固态储存装置进行读取重试示意图。
图3所绘示为本发明固态储存装置示意图。
图4所绘示为本发明固态储存装置的读取重试方法第一实施例。
图5A至图5E所绘示为进行读取重试时,更新快取表内容的一实施例。
图6所绘示为本发明固态储存装置的读取重试方法第二实施例。
图7A至图7F所绘示为进行读取重试时,更新快取表内容的另一实施例。
具体实施方式
请参照图3,其所绘示为本发明固态储存装置示意图。固态储存装置30经由一外部总线32连接至主机(host)34,其中外部总线32可为USB总线、SATA总线、PCIe总线等等。再者,固态储存装置30中包括一控制器301与一非挥发性记忆体305。
控制器301经由一内部总线307连接至非挥发性记忆体305,用以根据主机34所发出的命令将接收的写入数据存入非挥发性记忆体305,或者由非挥发性记忆体305中取得读取数据并传递至主机34。
控制器301中有一预设读取电压组(default read voltage set)。于读取周期(read cycle)时,控制器301利用预设读取电压组来取得非挥发性记忆体305中的读取数据。而控制器301中的ECC电路304用来更正读取数据中的错误位元(error bits),并且于更正完成后控制器301将正确的读取数据传递至主机34。
另外,当ECC电路304无法成功地校正读取数据中所有的错误位元时,代表解码不成功且无法输出正确的读取数据至主机34。此时,控制器301进行读取重试。
根据本发明的实施例,本发明的控制器301中包括一快取表(cache table)308与一重试表306。固态储存装置30于读取重试流程时,控制器301会先检查快取表308,并决定是否根据快取表308中的内容来进行读取重试。详细说明如下:
请参照图4,其所绘示为本发明固态储存装置的读取重试方法第一实施例。于读取周期时,控制器301先进行解码流程(decoding process)A,其为利用预设读取电压组Vr_d来进行硬式解码。
进行解码流程A时,控制器301提供预设读取电压组Vr_d来读取非挥发记忆体305内的读取数据,并利用ECC电路304中的硬式解码法(hard decoding method)来校正读取数据。当读取数据中的错误位元可以被更正时,代表通过(pass)解码流程A而解码成功。因此,控制器301即可将正确的读取数据传递至主机34。反之,当读取数据中的错误位元无法被更正时,将无法获得正确的读取数据,代表解码流程A失败(fail),因此控制器301进行读取重试(read retry)。
当控制器301进行读取重试时,先进行解码流程B。于解码流程B时,控制器301利用ECC电路304的硬式解码法来校正读取数据;于解码流程C时,控制器301利用ECC电路304的软式解码法来校正读取数据。
如图4所示,进行解码流程B时,控制器301根据快取表308的内容来进行读取重试(步骤S402)。当控制器301利用快取表308的内容而解码成功时(步骤S404),则代表通过(pass)解码流程B而解码成功。控制器301可将正确的读取数据传送至主机34。
当控制器301利用快取表308中的内容而解码不成功时,则控制器301根据重试表306来进行读取重试(步骤S406)。
重试表306中储存m个重试读取电压组Vr_r1~Vr_rm运用于硬式解码法,而控制器301根据记录于重试表306中的次序,依序取得其中一个重试读取电压组,并提供至非挥发性记忆体305。接着,利用ECC电路304中的硬式解码法来校正读取数据。
当控制器301利用m个重试读取电压组Vr_r1~Vr_rm其中的一个重试读取电压组而能够解码成功时(步骤S408),则控制器301进行更新快取表308(步骤S410),并且代表通过(pass)解码流程B而解码成功。反之,如果控制器301利用m个重试读取电压组Vr_r1~Vr_rm皆无法解码成功时(步骤S408),则控制器301进行更新快取表308(步骤S410),并且代表解码流程B失败(fail)而进入解码流程C。
再者,解码流程C为利用重试读取电压组来进行软式解码法(soft decodingmethod)。重试表306中另储存n个重试读取电压组用于软式解码法。同理,当控制器301利用其中的一个重试读取电压组而能够解码成功时,即代表通过(pass)解码流程C。反之,如果控制器301利用n组重试读取电压组皆无法解码成功时,即代表解码流程C失败(fail)。此时,控制器301确定无法获得正确的读取数据,并且回复主机14解码失败。
请参照图5A至图5E,其所绘示为进行读取重试时,更新快取表308内容的一实施例。如图5A所示,假设非挥发性记忆体305被分为128个区块B0~B127,在快取表308中,每个区块对应至s个槽(slot)。每个槽可记录一笔重试读取电压组。
当非挥发记忆体305的品质较佳时,控制器301于读取周期利用预设读取电压组Vr_d来进行硬式解码,皆可解码成功。亦即,进行解码流程(decoding process)A即可产生正确的读取数据并传送至主机34。由于控制器301尚未进行读取重试流程。因此,如图5A所示,快取表308中尚未记录任何信息(information)。
假设控制器301利用预设电压组Vr_d来读取区块B1的数据时,无法解码成功,因此控制器301进入解码流程B,并进入步骤S402,控制器301根据快取表308的内容来进行读取重试。
如图5A所示,由于快取表308未记录对应区块B1的信息(information),因此控制器301确认无法使用快取表308解码成功(步骤S404),因此控制器301利用重试表306进行读取重试(步骤S406)。
接着,根据记录于重试表306的重试读取电压组Vr_r1~Vr_rm的顺序,控制器301逐一提供重试读取电压组Vr_r1~Vr_rm至非挥发性记忆体305以重试读取区块B1中的数据。假设控制器301在提供第二重试读取电压组Vr_r2至非挥发性记忆体305时解码成功(步骤S408),则进入步骤S410,控制器301进行更新快取表308。如图5B所示,控制器301更新快取表308,将第二重试读取电压组Vr_r2记录于快取表308的区块B1的槽0(slot 0)位置,而控制器301在确认解码成功后,可将区块B1中正确的读取数据传递至主机34。
之后,当控制器301再次利用预设电压组Vr_d来读取区块B1而无法解码成功时,则控制器301再次进入解码流程B,并进入步骤S402,控制器301根据快取表308的内容来进行读取重试。如图5B所示,由于快取表308中区块B1的槽0(slot 0)已记录第二重试读取电压组Vr_r2。因此,控制器301直接将第二重试读取电压组Vr_r2提供至非挥发性记忆体305以重试读取区块B1中的数据。
假设利用第二重试读取电压组Vr_r2可解码成功(步骤S404),则控制器301可将区块B1中正确的读取数据传递至主机34。反之,假设无法解码成功(步骤S404),则进入步骤S406,控制器301利用重试表306进行读取重试。
在步骤S406中,控制器301根据记录于重试表306的重试读取电压组Vr_r1~Vr_rm的顺序,逐一提供重试读取电压组Vr_r1~Vr_rm至非挥发性记忆体305以重试读取区块B1中的数据。假设控制器301在提供第八重试读取电压组Vr_r8至非挥发性记忆体305时解码成功(步骤S408),则进入步骤S410,控制器301进行更新快取表308。如图5C所示,控制器301更新快取表308,将第八重试读取电压组Vr_r8记录于快取表308的区块B1的槽1(slot 1)位置,而控制器301在确认解码成功后,可将区块B1中正确的读取数据传递至主机34。
之后,当控制器301再次利用预设电压组Vr_d来读取区块B1而无法解码成功时,则控制器301再次进入解码流程B,并进入步骤S402,控制器301根据快取表308的内容来进行读取重试。如图5C所示,由于快取表308中区块B1的槽0(slot 0)已记录第二重试读取电压组Vr_r2、槽1(slot 1)已记录第八重试读取电压组Vr_r8。因此,控制器301会提供第二重试读取电压组Vr_r2及/或第八重试读取电压组Vr_r8至非挥发性记忆体305以重试读取区块B1中的数据。
在一实施例中,控制器301可直接选取快取表308中记录于对应区块的槽中的最后一笔重试读取电压组,并提供至非挥发性记忆体305以进行读取重试。在上述实施例中,由于区块B1的槽1(slot 1)所记录的第八重试读取电压组Vr_r8为最后一笔重试读取电压组,因此控制器301可直接提供第八重试读取电压组Vr_r8至非挥发性记忆体305以重试读取区块B1中的数据。
在另一实施例中,控制器301可根据快取表308中记录于对应区块的槽中的重试读取电压组的顺序,正向或反向地依序提供至非挥发性记忆体305以进行读取重试。在上述实施例中,控制器301可正向地依序提供第二重试读取电压组Vr_r2及第八重试读取电压组Vr_r8至非挥发性记忆体305以重试读取区块B1中的数据。或者,控制器301可反向地依序提供第八重试读取电压组Vr_r8及第二重试读取电压组Vr_r2至非挥发性记忆体305以重试读取区块B1中的数据。
假设利用第二重试读取电压组Vr_r2或者第八重试读取电压组Vr_r8可解码成功(步骤S404),则控制器301可将区块B1中正确的读取数据传递至主机34。反之,假设无法解码成功(步骤S404),则进入步骤406,控制器301利用重试表306进行读取重试。
在步骤S406中,控制器301根据记录于重试表306的重试读取电压组Vr_r1~Vr_rm的顺序,逐一提供重试读取电压组Vr_r1~Vr_rm至非挥发性记忆体305以重试读取区块B1中的数据。假设控制器301在提供第m重试读取电压组Vr_rm至非挥发性记忆体305时解码成功(步骤S408),则进入步骤S410,控制器301进行更新快取表308。如图5D所示,控制器301更新快取表308,将第m重试读取电压组Vr_rm记录于区块B1的槽2(slot 2)位置,而控制器301在确认解码成功后,可将区块B1中正确的读取数据传递至主机34。
之后,当控制器301再次利用预设电压组Vr_d来读取区块B1而无法解码成功时,则控制器301再次进入解码流程B,并进入步骤S402,控制器301根据快取表308的内容来进行读取重试。如图5D所示,由于快取表308中区块B1的槽0(slot 0)已记录第二重试读取电压组Vr_r2、槽1(slot 1)已记录第八重试读取电压组Vr_r8、槽2(slot 2)已记录第m重试读取电压组Vr_rm。因此,控制器301可提供第二重试读取电压组Vr_r2、第八重试读取电压组Vr_r8及/或第m重试读取电压组Vr_rm至非挥发性记忆体305以重试读取区块B1中的数据。
同样地,根据不同实施例,控制器301可直接选取快取表308中记录于对应区块的槽中的最后一笔重试读取电压组,并提供至非挥发性记忆体305以进行读取重试。或者,控制器301亦可根据快取表308中记录于对应区块的槽中的重试读取电压组的顺序,正向或反向地依序提供至非挥发性记忆体305以进行读取重试。
假设利用第二重试读取电压组Vr_r2、第八重试读取电压组Vr_r8、或者第m重试读取电压组Vr_rm可解码成功(步骤S404),则控制器301可将区块B1中正确的读取数据传递至主机34。反之,假设无法解码成功(步骤S404),则进入步骤406,控制器301利用重试表306进行读取重试。
在步骤S406中,控制器301根据记录于重试表306的重试读取电压组Vr_r1~Vr_rm的顺序,逐一提供重试读取电压组Vr_r1~Vr_rm至非挥发性记忆体305以重试读取区块B1中的数据。假设控制器301在提供m个重试读取电压组Vr_r1~Vr_rm至非挥发性记忆体305后皆无法解码成功(步骤S408),则进入步骤S412,控制器301进行更新快取表308。如图5E所示,控制器301更新快取表308,将快取表308中区块B1的槽0(slot 0)~槽s-1(slot s-1)中的数据清除,并将一特定码(例如FF)储存于槽0(slot 0)。之后,控制器301确认解码流程B无法成功解码并进入解码流程C。
在一实施例中,控制器301亦可无须清除快取表308中对应区块B1的槽0(slot 0)~槽s-1(slot s-1)中的数据,并直接将特定码(例如FF)储存于快取表308中对应区块B1的空白槽中。
之后,当控制器301再次利用预设电压组Vr_d来读取区块B1而无法解码成功并进入解码流程B时,由于快取表308中区块B1的槽0(slot 0)记录有特定码(例如FF),控制器301根据该特定码确认解码流程B已无法成功解码,因此,控制器301直接进入解码流程C。
在本发明实施例中,当控制器301将重试表306中的所有重试读取电压组Vr_r1~Vr_rm提供至非挥发性记忆体305进行读取重试皆无法解码成功时,控制器301可提供一特定码(例如FF),并记录于快取表308的对应区块的槽中。
请参照图6,其所绘示为本发明固态储存装置的读取重试方法第二实施例。相较于第一实施例,其差异在于解码流程B中增加了判断步骤S401。以下仅说明步骤S401,其余步骤不再赘述。
当控制器301进入解码流程B时,先判断快取表308中对应区块的槽中是否记录一特定码(步骤S401)。若是,则代表解码流程B解码失败,控制器301结束解码流程B并进入解码流程C;反之,若否,则控制器301根据快取表308的内容来进行读取重试(步骤S402)。
上述图5A至图5E的快取表308是以非挥发性记忆体305有128个区块B0~B127来进行说明。当非挥发性记忆体305中有更多的区块时,可以扩充快取表308来记录先前成功解码特定区块的重试读取电压组。
当然,本发明也可以其他的方式来规划快取表308,以有效地降低快取表308的容量。以下详细说明之。
请参照图7A至图7F,其所绘示为进行读取重试时,更新快取表308内容的另一实施例。如图7A所示,快取表308中包括一索引表(index table)308a与一数据表(data table)308b。另外,假设非挥发性记忆体305中有1024个区块B0~B1023。索引表中308a有128个入口Entry 0~Entry 127,因此索引表308a中的一个入口可对应至八个区块的其中之一。
举例来说,当控制器301读取特定区块而需要进行读取重试时,控制器301可先将特定区块的区块编号除以索引表的入口总数后的余数即为对应的入口。假设控制器301读取区块B129而需要进行读取重试时,由于区块编号129除以索引表的入口总数128的余数等于1,因此区块B129会被记录在索引表308a的入口1(Entry 1)的位置。同理,入口1(Entry1)的位置也可能记录区块B1、区块B257、区块B385、区块B513、区块B641、区块B769、或者区块B897。
当非挥发记忆体305的品质较佳时,控制器301于读取周期利用预设读取电压组Vr_d来进行硬式解码,皆可解码成功。亦即,进行解码流程(decoding process)A即可产生正确的读取数据并传送至主机34。由于控制器301尚未进行读取重试流程。因此,如图7A所示,快取表308中尚未记录任何信息(information)。
假设控制器301利用预设电压组Vr_d来读取区块B129时,无法解码成功,因此控制器301进入解码流程B,并进入步骤S402,控制器301根据快取表308的内容来进行读取重试。
如图7A所示,由于快取表308未记录区块B129的信息(information),因此控制器301确认无法使用快取表308解码成功(步骤S404),因此控制器301利用重试表306进行读取重试(步骤S406)。
接着,根据记录于重试表306的重试读取电压组Vr_r1~Vr_rm的顺序,控制器301逐一提供重试读取电压组Vr_r1~Vr_rm至非挥发性记忆体305以重试读取区块B129中的数据。假设控制器301在提供第六重试读取电压组Vr_r6至非挥发性记忆体305时解码成功(步骤S408),则进入步骤S410,控制器301进行更新快取表308。如图7B所示,控制器301更新快取表308,将区块B129记录于索引表308a中的入口1(Entry 1),并将第六重试读取电压组Vr_r6记录于数据表308b中,入口1(Entry 1)的槽0(slot 0)位置,而控制器301在确认解码成功后,可将区块B129中正确的读取数据传递至主机34。
之后,当控制器301再次利用预设电压组Vr_d来读取区块B129而无法解码成功时,则控制器301再次进入解码流程B,并进入步骤S402,控制器301根据快取表308的内容来进行读取重试。如图7B所示,由于索引表308a的入口1(Entry 1)记录区块B129,代表数据表308b中入口1(Entry 1)的数据属于区块B129。再者,数据表308b中入口1(Entry 1)的槽0(slot 0)已记录第六重试读取电压组Vr_r6。因此,控制器301直接将第六重试读取电压组Vr_r6提供至非挥发性记忆体305以重试读取区块B129中的数据。
假设利用第六重试读取电压组Vr_r6可解码成功(步骤S404),则控制器301可将区块B129中正确的读取数据传递至主机34。反之,假设无法解码成功(步骤S404),则进入步骤S406,控制器301利用重试表306进行读取重试。
在步骤S406中,根据记录于重试表306的重试读取电压组Vr_r1~Vr_rm的顺序,控制器301逐一提供重试读取电压组Vr_r1~Vr_rm至非挥发性记忆体305以重试读取区块B129中的数据。假设控制器301在提供第十二重试读取电压组Vr_r12至非挥发性记忆体305时解码成功(步骤S408),则进入步骤S410,控制器301进行更新快取表308。如图7C所示,控制器301更新快取表308,将第十二重试读取电压组Vr_r12记录于数据表308b的入口1(Entry 1)的槽1(slot 1)位置,而控制器301在确认解码成功后,可将区块B129中正确的读取数据传递至主机34。
之后,当控制器301再次利用预设电压组Vr_d来读取区块B129而无法解码成功时,则控制器301再次进入解码流程B,并进入步骤S402,控制器301根据快取表308的内容来进行读取重试。如图7C所示,由于索引表308a的入口1(Entry 1)记录区块B129,代表数据表308b中入口1(Entry 1)的数据属于区块B129。再者,数据表308b中入口1(Entry 1)的槽0(slot 0)与槽1(slot 1)已记录第六重试读取电压组Vr_r6与第十二重试读取电压组Vr_r12。因此,控制器301将第六重试读取电压组Vr_r6及/或第十二重试读取电压组Vr_r12提供至非挥发性记忆体305以重试读取区块B129中的数据。
同样地,根据不同实施例,控制器301可直接选取快取表308中记录于对应区块的对应入口的槽中的最后一笔重试读取电压组,并提供至非挥发性记忆体305以进行读取重试。或者,控制器301可根据快取表308中记录于对应区块的对应入口的槽中的重试读取电压组的顺序,正向或反向地依序提供至非挥发性记忆体305以进行读取重试。
假设利用第六重试读取电压组Vr_r6或者第十二重试读取电压组Vr_r12可解码成功(步骤S404),则控制器301可将区块B129中正确的读取数据传递至主机34。反之,假设无法解码成功(步骤S404),则进入步骤406,控制器301利用重试表306进行读取重试。
在步骤S406中,根据记录于重试表306的重试读取电压组Vr_r1~Vr_rm的顺序,控制器301逐一提供重试读取电压组Vr_r1~Vr_rm至非挥发性记忆体305以重试读取区块B129中的数据。假设控制器301在提供第m重试读取电压组Vr_rm至非挥发性记忆体305时解码成功(步骤S408),则进入步骤S410,控制器301进行更新快取表308。如图7D所示,控制器301更新快取表308,将第m重试读取电压组Vr_rm记录于数据表308b的入口1(Entry 1)的槽2(slot 2)位置,而控制器301在确认解码成功后,可将区块B129中正确的读取数据传递至主机34。
之后,当控制器301再次利用预设电压组Vr_d来读取区块B129而无法解码成功时,则控制器301再次进入解码流程B,并进入步骤S402,控制器301根据快取表308的内容来进行读取重试。如图7D所示,由于索引表308a的入口1(Entry 1)记录区块B129,代表数据表308b中入口1(Entry 1)的数据属于区块B129。再者,数据表308b中入口1(Entry 1)的槽0(slot 0)、槽1(slot 1)与槽2(slot 2)已记录第六重试读取电压组Vr_r6、第十二重试读取电压组Vr_r12与第m重试读取电压组Vr_rm。因此,控制器301将第六重试读取电压组Vr_r6、第十二重试读取电压组Vr_r12、及/或第m重试读取电压组Vr_rm提供至非挥发性记忆体305以重试读取区块B129中的数据。
假设利用第六重试读取电压组Vr_r6、第十二重试读取电压组Vr_r12、或者第m重试读取电压组Vr_rm可解码成功(步骤S404),则控制器301可将区块B129中正确的读取数据传递至主机34。反之,假设无法解码成功(步骤S404),则进入步骤406,控制器301利用重试表306进行读取重试。
在步骤S406中,根据记录于重试表306的重试读取电压组Vr_r1~Vr_rm的顺序,控制器301逐一提供重试读取电压组Vr_r1~Vr_rm至非挥发性记忆体305以重试读取区块B129中的数据。假设控制器301在提供m个重试读取电压组Vr_r1~Vr_rm至非挥发性记忆体305后皆无法解码成功(步骤S408),则进入步骤S412,控制器301进行更新快取表308。如图7E所示,控制器301更新快取表308,将数据表308b中入口1(Entry 1)所对应的槽0(slot 0)~槽s-1(slot s-1)中的数据清除,并将一特定码(例如FF)储存于槽0(slot 0)。之后,控制器301确认解码流程B无法成功解码并进入解码流程C。
在一实施例中,控制器301亦可无须清除快取表308中对应区块B129的对应入口1(Entry 1)的槽0(slot 0)~槽s-1(slot s-1)中的数据,并直接将特定码(例如FF)储存于快取表308中对应区块B129的对应入口1(Entry 1)的空白槽中。
之后,当控制器301利用预设电压组Vr_d来读取区块B129而无法解码成功并进入解码流程B时,由于快取表308中索引表308a的入口1(Entry 1)记录区块B129,代表数据表308b中入口1(Entry 1)的数据属于区块B129。再者,由于数据表308b中入口1(Entry 1)的槽0(slot 0)记录有特定码(例如FF),控制器301根据该特定码确认解码流程B无法成功解码,因此控制器301可直接进入解码流程C。
另外,假设控制器301利用预设电压组Vr_d来读取区块B385而无法解码成功时,则控制器301进入解码流程B,并进入步骤S402,控制器301根据快取表308的内容来进行读取重试。如图7E所示,由于385除以128的余数为1,然而索引表308a的入口1(Entry 1)记录区块B129,代表数据表308b中入口1(Entry 1)的数据属于区块B129,并非属于区块B385。因此控制器301确认无法使用快取表308解码成功(步骤S404),因此控制器301利用重试表306进行读取重试(步骤S406)。
接着,根据记录于重试表306的重试读取电压组Vr_r1~Vr_rm的顺序,控制器301逐一提供重试读取电压组Vr_r1~Vr_rm至非挥发性记忆体305以重试读取区块B385中的数据。假设控制器301在提供第三重试读取电压组Vr_r3至非挥发性记忆体305时解码成功(步骤S408),则进入步骤S410,控制器301更新快取表308。
由于385除以128的余数为1,而索引表308a的入口1(Entry 1)已记录区块B129,因此,如图7F所示,控制器301将索引表308a的入口1(Entry 1)及数据表308b中对应入口1(Entry 1)的槽0(slot 0)~槽s-1(slot s-1)中的数据清除,并将区块B385记录于索引表308a中的入口1(Entry 1),并将第三重试读取电压组Vr_r3记录于数据表308b的入口1(Entry 1)的槽0(slot 0)位置,而控制器301在确认解码成功后,可将区块B385中正确的读取数据传递至主机34。
由前述图5A~5E及图7A~7F的实施例可知,本发明提出一种固态储存装置及其读取重试(read retry)的方法。当非挥发性记忆体305中的一个特定区块已无法用预设读取电压组Vr_d来获得正确的读取数据后,控制器301会进行读取重试。
在读取重试流程中,当快取表308中已储存该特定区块先前解码成功的重试读取电压组,则控制器301会先提供快取表308中的重试读取电压组至非挥发性记忆体305以重试读取该特定区块。当控制器301根据快取表308中的重试读取电压组而解码成功时,控制器301即可将该特定区块的读取数据传送至主机34。
反之,当控制器301根据快取表308中的重试读取电压组而无法解码成功时,控制器301即利用记录于重试表306中的m个重试读取电压组,依序提供至非挥发性记忆体305。
当控制器301根据重试表306中的任一个重试读取电压组而解码成功时,控制器301即可将该重试读取电压组记录于快取表308中,并将该特定区块的读取数据传送至主机34。
反之,当控制器301根据重试表306中的m个重试读取电压组而无法解码成功时,控制器301会将一特定码(例如FF)记录于快取表308中。
换言之,本发明的快取表308是记录先前成功解码特定区块的重试读取电压组。当控制器301进行读取重试流程时,控制器301先以快取表308中的重试读取电压组来进行读取重试。相较于直接利用重试表306来进行读取重试,可以节省更多的时间。再者,于读取重试流程时,如果快取表308中针对该特定区块储存了一个特定码(例如FF),则控制器301即不再进行解码流程B,而跳至下一个解码流程C。
再者,上述的实施例皆是运用在解码流程B,在此领域的技术人员也可以将本发明运用于解码流程C。亦即,运用软式解码法来进行读取重试时,运用相同的方式,也可以将先前解码成功的重试读取电压组记录于快取表中,也可以节省固态处存装置30读取重试的时间。
综上所述,虽然本发明已以较佳实施例公开如上,然其并非用以限定本发明。本发明所属技术领域中的技术人员,在不脱离本发明的精神和范围内,当可作各种更动与修改。因此,本发明的保护范围当视后附的权利要求保护范围所界定者为准。
Claims (7)
1.一种用于一固态储存装置的读取重试方法,该固态储存装置包括一非挥发性记忆体,包括多个区块,以及一控制器,连接至该非挥发性记忆体,该控制器包括一快取表与一重试表,其中该重试表中记录多个预设重试读取电压组,该读取重试方法包括:
进入一第一读取重试流程,该第一读取重试流程包括:
根据该快取表进行读取重试该些区块中的一第一区块;
确认该快取表中对应该第一区块是否记录有一特定码;
若该快取表中对应该第一区块记录有该特定码,则停止该第一读取重试流程,并进入一第二读取重试流程,其中,该第一读取重试流程与该第二读取重试流程使用不同的解码法进行读取重试;
若该快取表中对应该第一区块未记录有该特定码,则确认该快取表是否记录有对应该第一区块的至少一重试读取电压组;
若该快取表记录有对应该第一区块的至少一重试读取电压组,使用该重试读取电压组重试读取该第一区块;以及
若该快取表未记录有对应该第一区块的该至少一重试读取电压组,使用记录于该重试表中的该些个预设重试读取电压组重试读取该第一区块。
2.如权利要求1所述的读取重试方法,其特征在于,若该快取表记录有对应该第一区块的该重试读取电压组,其表示该重试读取电压组曾被使用来重试读取该第一区块,并解码成功。
3.如权利要求1所述的读取重试方法,其特征在于,当使用记录于该快取表中对应该第一区块的该重试读取电压组皆解码失败时,则使用记录于该重试表中的该些个预设重试读取电压组重试读取该第一区块。
4.如权利要求1所述的读取重试方法,其特征在于,当使用记录于该重试表中的该些个预设重试读取电压组重试中的一第一预设重试读取电压组解码成功时,将该第一预设重试读取电压组记录于该快取表中对应该第一区块的位置。
5.一种固态储存装置, 包括:
一非挥发性记忆体,包括一第一区块;以及
一控制器,连接至该非挥发性记忆体,该控制器包括一快取表与一重试表,其中该重试表中记录多个预设重试读取电压组;
其中,该控制器针对该第一区块进行一第一读取重试流程,若该快取表未记录该第一区块的信息时,该控制器根据记录于该重试表中该些个预设重试读取电压组的顺序,逐一提供至该非挥发性记忆体以重试读取该第一区块;
其中,当该控制器提供该些个预设重试读取电压组中的一第一预设重试读取电压组至该非挥发性记忆体而解码成功时,该控制器将该第一预设重试读取电压组记录于该快取表;
当该控制器提供该重试表中的该些个预设重试读取电压组至该非挥发性记忆体皆解码失败时,该控制器将一特定码记录于该快取表;
其中,该控制器针对该第一区块进行该第一读取重试流程,若该快取表记录有该第一区块的信息时,该控制器确认该信息是否包含该特定码,若该信息是未包含该特定码,该控制器将该信息中的至少一重试读取电压组提供至该非挥发性记忆体以重试读取该第一区块;若该信息是包含该特定码,则停止该第一读取重试流程,并进入一第二读取重试流程,其中,该第一读取重试流程与该第二读取重试流程使用不同的解码法进行读取重试。
6.如权利要求5所述的固态储存装置,其特征在于,该控制器提供一预设读取电压组至该非挥发性记忆体用以读取该第一区块的数据;以及当该第一区块的数据解码失败时,该控制器进行该第一读取重试流程。
7.如权利要求5所述的固态储存装置,其特征在于,若该控制器根据该快取表提供该重试读取电压组至该非挥发性记忆体而解码失败时,该控制器根据记录于该重试表中该些个预设重试读取电压组的顺序,逐一提供至该非挥发性记忆体以重试读取该第一区块。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710061595.5A CN108363544B (zh) | 2017-01-26 | 2017-01-26 | 固态储存装置及其读取重试方法 |
US15/479,315 US10115468B2 (en) | 2017-01-26 | 2017-04-05 | Solid state storage device and read control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710061595.5A CN108363544B (zh) | 2017-01-26 | 2017-01-26 | 固态储存装置及其读取重试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108363544A CN108363544A (zh) | 2018-08-03 |
CN108363544B true CN108363544B (zh) | 2021-05-07 |
Family
ID=62907079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710061595.5A Active CN108363544B (zh) | 2017-01-26 | 2017-01-26 | 固态储存装置及其读取重试方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10115468B2 (zh) |
CN (1) | CN108363544B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170329684A1 (en) * | 2016-05-13 | 2017-11-16 | Synology Incorporated | Method and apparatus for performing data recovery in redundant storage system |
CN110246533B (zh) * | 2018-03-09 | 2020-11-13 | 建兴储存科技(广州)有限公司 | 固态储存装置的失败模式检测方法及错误更正方法 |
CN110795270B (zh) * | 2018-08-03 | 2024-01-30 | 建兴储存科技(广州)有限公司 | 固态储存装置及其读取重试方法 |
CN110851072B (zh) * | 2018-08-21 | 2023-06-02 | 建兴储存科技(广州)有限公司 | 使用状态预测方法的固态储存装置 |
CN111104044B (zh) * | 2018-10-25 | 2024-04-30 | 上海宝存信息科技有限公司 | 数据储存装置及其适应性数据读取方法 |
TWI691962B (zh) * | 2019-01-23 | 2020-04-21 | 群聯電子股份有限公司 | 解碼方法、記憶體控制電路單元與記憶體儲存裝置 |
CN110046059A (zh) * | 2019-04-15 | 2019-07-23 | 联芸科技(杭州)有限公司 | 用于存储器的读取控制装置、读取控制方法和控制器 |
TWI720852B (zh) * | 2020-03-20 | 2021-03-01 | 慧榮科技股份有限公司 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
CN111581010B (zh) * | 2020-04-30 | 2022-10-14 | 江苏芯盛智能科技有限公司 | 一种读操作处理方法、装置、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103035294A (zh) * | 2011-09-28 | 2013-04-10 | 三星电子株式会社 | 从非易失性存储器读数据的方法及实施方法的设备和系统 |
TW201351416A (zh) * | 2012-05-09 | 2013-12-16 | Storart Technology Co Ltd | 改善運作在寬溫度範圍之快閃記憶儲存裝置特性的方法 |
CN105210046A (zh) * | 2013-03-13 | 2015-12-30 | 英特尔公司 | 存储器等待时间管理 |
CN105913880A (zh) * | 2015-02-23 | 2016-08-31 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6418521B1 (en) * | 1998-12-23 | 2002-07-09 | Intel Corporation | Hierarchical fully-associative-translation lookaside buffer structure |
US9001587B2 (en) * | 2011-09-16 | 2015-04-07 | Samsung Electronics Co., Ltd. | Flash memory and reading method of flash memory |
US8913438B2 (en) * | 2013-02-20 | 2014-12-16 | Seagate Technology Llc | Adaptive architecture in a channel detector for NAND flash channels |
US9514848B2 (en) * | 2014-04-03 | 2016-12-06 | Lite-On Electronics (Guangzhou) Limited | Solid state drive and associated error check and correction method |
US10102920B2 (en) * | 2016-08-15 | 2018-10-16 | Sandisk Technologies Llc | Memory system with a weighted read retry table |
-
2017
- 2017-01-26 CN CN201710061595.5A patent/CN108363544B/zh active Active
- 2017-04-05 US US15/479,315 patent/US10115468B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103035294A (zh) * | 2011-09-28 | 2013-04-10 | 三星电子株式会社 | 从非易失性存储器读数据的方法及实施方法的设备和系统 |
TW201351416A (zh) * | 2012-05-09 | 2013-12-16 | Storart Technology Co Ltd | 改善運作在寬溫度範圍之快閃記憶儲存裝置特性的方法 |
CN105210046A (zh) * | 2013-03-13 | 2015-12-30 | 英特尔公司 | 存储器等待时间管理 |
CN105913880A (zh) * | 2015-02-23 | 2016-08-31 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
Non-Patent Citations (2)
Title |
---|
《A 72% error reduction scheme based on temperature acceleration for long-term data storage applications: Cold flash and millennium memories》;Senju Yamazaki等;《ScienceDirect Solid-State Electronics》;20160419;第25-33页 * |
《快闪存储器阈值电压分布读取电路设计》;伍冬等;《清华大学学报(自然科学版)》;20141231;第546-550页 * |
Also Published As
Publication number | Publication date |
---|---|
US10115468B2 (en) | 2018-10-30 |
CN108363544A (zh) | 2018-08-03 |
US20180211713A1 (en) | 2018-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363544B (zh) | 固态储存装置及其读取重试方法 | |
US10347330B2 (en) | Solid state storage device and reading control method thereof for read retry process with optimal read voltage set | |
CN107452421B (zh) | 固态储存装置及其状态预测方法 | |
KR101576102B1 (ko) | 플래시 메모리의 블록으로부터 데이터를 판독하는 방법 및 관련 메모리 장치 | |
US7809994B2 (en) | Error correction coding for multiple-sector pages in flash memory devices | |
US9177664B2 (en) | Method, memory controller and system for reading data stored in flash memory | |
US7849383B2 (en) | Systems and methods for reading nonvolatile memory using multiple reading schemes | |
US9639419B2 (en) | Read voltage level estimating method, memory storage device and memory control circuit unit | |
US20070300130A1 (en) | Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices | |
US10127104B2 (en) | Semiconductor memory device and memory system | |
US20200303016A1 (en) | Memory reading method and memory system | |
US9093154B2 (en) | Method, memory controller and system for reading data stored in flash memory | |
US20080320366A1 (en) | Methods of reading nonvolatile memory | |
CN110795270B (zh) | 固态储存装置及其读取重试方法 | |
US9514819B2 (en) | Programming method, memory storage device and memory controlling circuit unit | |
JP6178909B1 (ja) | 不揮発性半導体記憶装置 | |
KR101731408B1 (ko) | 플래시 메모리에 데이터를 기록하는 방법 및 관련 메모리 장치 및 플래시 메모리 | |
US9530509B2 (en) | Data programming method, memory storage device and memory control circuit unit | |
WO2014092966A1 (en) | System and method to update read voltages in a non-volatile memory in response to tracking data | |
US11010065B2 (en) | Read retry method for solid state storage device | |
CN112420109A (zh) | 非易失性存储器设备和存储系统 | |
US9490024B1 (en) | Solid state storage device and reading control method thereof | |
US8036034B2 (en) | Semiconductor storage device equipped with a sense amplifier for reading data and threshold-voltage-information data | |
US9396804B1 (en) | Memory programming method, memory control circuit unit and memory storage apparatus | |
CN110767253B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200102 Address after: Room 302, factory a, No.8 Guangbao Road, Science City, Huangpu District, Guangzhou City, Guangdong Province Applicant after: Jianxing storage technology (Guangzhou) Co., Ltd Address before: 510663 No. 25 West spectral Road, Guangzhou hi tech Industrial Development Zone, Guangdong Applicant before: Guangbao Electronics (Guangzhou) Co., Ltd. Applicant before: Lite-On Technology Corporation |
|
GR01 | Patent grant | ||
GR01 | Patent grant |