CN107797821A - 重试读取方法以及使用该方法的装置 - Google Patents
重试读取方法以及使用该方法的装置 Download PDFInfo
- Publication number
- CN107797821A CN107797821A CN201610801448.2A CN201610801448A CN107797821A CN 107797821 A CN107797821 A CN 107797821A CN 201610801448 A CN201610801448 A CN 201610801448A CN 107797821 A CN107797821 A CN 107797821A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- microcode
- retry
- retries
- read
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/223—Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
-
- 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
- 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/1048—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 using arrangements adapted for a specific error detection or correction feature
-
- 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
- G06F11/1068—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 sector programmable memories, e.g. flash disk
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/141—Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- 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/10—Programming or data input circuits
- G11C16/20—Initialising; Data preset; Chip identification
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明的实施例提出一种重试读取方法,由处理单元执行,包含以下步骤。于系统开机时,产生重试读取操作的微码及储存重试读取操作的微码至指令缓存器。于系统开机后,从主装置接收到重试读取命令;以及驱动状态机,用以执行指令缓存器中的重试读取操作的微码。
Description
【技术领域】
本发明关连于一种快闪存储器装置,特别是一种重试读取方法以及使用该方法的装置。
【背景技术】
快闪存储器装置通常分为NOR快闪装置与NAND快闪装置。NOR快闪装置为随机存取装置,而可于地址脚位上提供任何的地址,用以存取NOR快闪装置的主装置(host),并及时地由NOR快闪装置的数据脚位上获得储存于该地址上的数据。相反地,NAND快闪装置并非随机存取,而是序列存取。NAND快闪装置无法像NOR快闪装置一样,可以存取任何随机地址,主装置反而需要写入序列的比特组(bytes)的值到NAND快闪装置中,用以定义请求命令(command)的类型(如,读取、写入、抹除等),以及用在此命令上的地址。地址可指向一个页面(在快闪存储器中的一个写入操作的最小数据块)或一个区块(在快闪存储器中的一个抹除操作的最小数据块)。实际上,NAND快闪装置通常从存储器单元(memory cells)上读取或写入完整的数页数据。当一整页的数据从阵列读取到装置中的缓存器(buffer)后,借由使用提取信号(strobe signal)顺序地敲出(clock out)内容,让主单元可逐比特组或字元组(words)存取数据。
NAND快闪装置的体积越来越小,而数据保留、数据干扰等因素会造成越来越难正确读取数据。数据重试基本上为一个试误回圈(trial-and-error loop),控制器从预设数据表中的第一到最后一个设定尝试不同阀值电压(threshold voltage),直到原始比特的错误数目低于错 误检查校正能力并回复正确的数据。当NAND快闪装置老化,预先设定的阀值电压不足以正确读取数据,且会越来越频繁的进行重试读取,造成效能降低。因此,本发明提出一种重试读取方法以及使用该方法的装置,用以提升重试读取的效率。
【发明内容】
本发明的实施例提出一种重试读取方法,由处理单元执行,包含以下步骤。于系统开机时,产生重试读取操作的微码及储存重试读取操作的微码至指令缓存器。于系统开机后,从主装置接收到重试读取命令;以及驱动状态机,用以执行指令缓存器中的重试读取操作的微码。
本发明的实施例提出一种重试读取装置,包含指令缓存器、状态机及处理单元。处理单元耦接指令缓存器及状态机,并且于系统开机时,产生重试读取操作的微码及储存重试读取操作的微码至指令缓存器。于系统开机后,处理单元从主装置接收到重试读取命令;以及驱动状态机,用以执行指令缓存器中的重试读取操作的微码。
【附图说明】
图1是依据本发明实施例的快闪存储器的系统架构示意图。
图2是依据本发明实施例的存取接口与储存单元的方块图。
图3是依据本发明实施例的一个存取子接口与多个储存子单元的连接示意图。
图4是依据本发明实施例的重试参数的储存示意图。
图5是依据本发明实施例的产生微码的方法流程图。
图6是依据本发明实施例的重试读取方法流程图。
【符号说明】
10 系统;
110 处理单元;
120 状态机;
130 错误检查修正单元;
141 非挥发性存储器;
143 指令缓存器;
145 先进先出缓存器;
147 数据缓存器;
150 存取接口;
160 主装置;
170 存取接口;
170_0~170_j 存取子接口;
180 储存单元;
180_0_0~180_j_i 储存子单元;
320_0_0~320_0_i 芯片致能控制信号;
40_1、40_2、…、40_n 记录;
40_1_1、40_1_2、…、40_1_m1 重试参数;
40_2_1、40_2_2、…、40_2_m2 重试参数;
40_n_1、40_n_2、…、40_n_mn 重试参数;
S510~S540 方法步骤;
S610~S670 方法步骤。
【具体实施方式】
以下说明是为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考之后的权利要求范围。
必须了解的是,使用于本说明书中的“包含”、“包括”等词,是用以表示存在特定的技术特征、数值、方法步骤、操作处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、操作处理、元件、组件,或以上的任意组合。
于权利要求中使用如“第一”、“第二”、“第三”等词是用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。
图1是依据本发明实施例的快闪存储器的系统架构示意图。快闪存储器的系统架构10中包含处理单元110,用以写入数据到储存单元180中的指定地址,以及从储存单元180中的指定地址读取数据。详细来说,处理单元110通过存取接口170写入数据到储存单元180中的指定地址,以及从储存单元180中的指定地址读取数据。处理单元110可使用多种方式实施,例如以专用硬件电路或通用硬件(例如,单一处理器、具平行处理能力的多处理器或其他具运算能力的处理器),并且从先进先出(FIFO,First-In-First-Output)缓存器145提取指令及依据指令驱动存取接口170。系统架构10使用数个电子信号来协调处理单元110与储存单元180间的数据与命令传递,包含数据线(data line)、时脉信号(clock signal)与控制信号(control signal)。数据线可用以传递命令、地址、读出及写入的数据;控制信号线可用以传递芯片致能(chip enable,CE)、地址提取致能(address latch enable,ALE)、命令提取致能(command latch enable,CLE)、写入致能(write enable,WE)等控制信号。存取接口170可采用双倍数据率(double data rate,DDR)通讯协定与储存单元180沟通,例如,开放NAND快闪(open NAND flash interface,ONFI)、双倍数据率开关(DDR toggle)或其他接口。处理单元110另可使用存取接口150通过指定通讯协定与主装置160进行沟通,例如,通用序列总线(universal serial bus,USB)、先进技术附着(advanced technologyattachment,ATA)、序列先进技术附 着(serial advanced technology attachment,SATA)、快速周边元件互联(peripheral component interconnect express,PCI-E)或其他接口。
储存单元180可包含多个储存子单元,每一个储存子单元实施于一个管芯(die)上,各自使用关联的存取子接口与处理单元110进行沟通。图2是依据本发明实施例的存取接口与储存单元的方块图。快闪存储器10可包含j+1个存取子接口170_0至170_j,存取子接口又可称为通道(channel),每一个存取子接口连接i+1个储存子单元。换句话说,i+1个储存子单元共享一个存取子接口。例如,当快闪存储器10包含4个通道(j=3)且每一个通道连接4个储存单元(i=3)时,快闪存储器10一共拥有16个储存单元180_0_0至180_j_i。处理单元110可驱动存取子接口170_0至170_j中的一者,从指定的储存子单元读取数据。每个储存子单元拥有独立的芯片致能(CE)控制信号。换句话说,当欲对指定的储存子单元进行数据读取时,需要驱动关联的存取子接口致能此储存子单元的芯片致能控制信号。图3是依据本发明实施例的一个存取子接口与多个储存子单元的连接示意图。处理单元110可通过存取子接口170_0使用独立的芯片致能控制信号320_0_0至320_0_i来从连接的储存子单元180_0_0至180_0_i中选择出其中一者,接着,通过共享的数据线310_0从选择出的储存子单元的指定位置读取数据。
于一种实施方式中,当通过存取接口150从主装置160接收到重试读取命令(retry-read command)时,处理单元110从非挥发性存储器141将重试读取的软件程序(software routine)推入先进先出缓存器(FIFO,First-in-first-out buffer)145,然后再循序从先进先出缓存器145提取指令执行。处理单元110可包含运算逻辑单元(ALU,Arithmetic and Logic Unit)以及位移器(bit shifter)。运算逻辑单元负责执行布林运算(如AND、OR、NOT、NAND、NOR、XOR、XNOR等),而位移器负责位移运算及比特旋转。
本发明实施例提出一种重试读取方法,用以改进以上实施方式的效率。非挥发性存储器141储存不同储存单元类型的重试参数(retry parameters)。图4是依据本发明实施例的重试参数的储存示意图。假设快 闪存储器可支援n种不同类型的储存单元:非挥发性存储器141储存n笔记录40_1至40_n,每笔纪录关连于特定类型的储存单元,并且以快闪识别码(flash ID,identifier)区别。每一笔纪录中包含多个回合的重试参数,每一者包含驱动存取接口170进行数据读取的设定值。例如,纪录40_1包含m1回合的重试参数40_1_1至40_1_m1;纪录40_1包含m2回合的重试参数40_2_1至40_2_m2;以及纪录40_1包含mn回合的重试参数40_n_1至40_n_mn,其中,m1至mn中的任二者可为相同或不同的整数。图5是依据本发明实施例的产生微码(microcode)的方法流程图。于系统开机时(boot time),处理单元110载入并执行特定软件程序(software routine)时实施此方法,用以产生重试读取操作的微码以及储存重试读取操作的微码至指令缓存器(instruction buffer)143。首先,处理单元110取得关连于储存单元180的快闪识别码(步骤S510)。于一个例子中,处理单元110可通过存取接口170询问储存单元180,接着,从储存单元180接收快闪识别码。于另一个例子中,快闪存储器出厂时,储存单元180的快闪识别码储存于非挥发性存储器141。处理单元110可从非挥发性存储器141读取快闪识别码。接着,处理单元110从非挥发性存储器141读取相应于快闪识别码的纪录,例如纪录40_1至40_n中的一者(步骤S520)。接着,处理单元110反复执行一个回圈,用以产生包含多个回合的重试读取微码(retry-read microcodes)(步骤S531至S537)。于回圈中,详细来说,处理单元110读取记录中的一个重试参数(步骤S531),产生使用此重试参数进行重试读取的微码(步骤S533),以及储存微码至指令缓存器143(步骤S535)。于步骤S533,产生的微码如表1所示:
表1
微码 | 描述 |
Set Param[i] | 设定用以驱动存取接口读取数据的寄存器 |
Read | 从储存单元读取数据 |
Check_ECC | 检查数据读取是否正确 |
Cond_Jump addr | 条件跳跃至最后一个指令 |
每一个微码包含2个比特组的操作码(Opcode)以及0~8个比特组的操作元(operand)。微码“Set Param[i]”于执行时,设定用以驱动存取接口170读取数据的寄存器,其中,操作元“Param[i]”包含于第i回合的步骤S531所读取的重试参数。微码“Read”于产生时,不包含任何操作元,而是将来于执行时由处理单元110提供数据读取的通道编号及实体地址。微码“Read”执行时通过存取接口170依据通道编号及实体地址从储存单元180读取数据并将结果储存至数据缓存器(data buffer)147,读取结果包含错误检查修正码(ECC,errorcheck-and-correction code)。微码“Check_ECC”于执行时,驱动错误检查修正单元(ECCunit)130检查数据缓存器147中的结果。错误检查修正单元130使用错误检查修正码检查读取结果中的数据是否有错,如果是则尝试修正错。当读取结果中的数据正确或错误可被修正时,回复数据正确的消息。否则,回复数据错误的消息。微码“Cond_Jump addr”于执行时,依据回复的消息决定即将执行的下一个微码,其中,处理单元110依据重试参数的数目计算操作元“addr”。若消息显示数据正确,则提取地址“addr”的微码;若消息显示数据错误,则提取下一个地址的微码。
于回圈的最后一个步骤,判断是否读取完所有的重试参数(步骤S537)。若否(步骤S537中“否”的路径),继续下一个回合的重试参数读取(步骤S531)。若是(步骤S537中“是”的路径),结束回圈并储存重试读取操作结束微码至指令缓存器143(步骤S540)。于步骤S540,产生的微码如表2所示:
表2
微码 | 描述 |
Restore | 重试读取操作结束 |
微码“Restore”于执行时,将驱动存取接口170读取数据的寄存器设 定回预设值,并且通知处理单元110重试读取操作结束,用以将控制权交还给处理单元110。
最终储存于指令缓存器143的微码如表3所示:
表3
指令缓存器143中储存m组重试读取的微码“Set Param[i]”、“Read”、“Check_ECC”及“Cond_Jump addr”,并且在最后一组(亦即是第m组)重试读取的微码之后加上微码“Restore”,其中微码“Restore”存放于地址“addr”。
系统开机成功后,当通过存取接口150从主装置160接收到重试读取命令时,处理单元110从非挥发性存储器141读取并执行特殊读取命令,此命令包含指令缓存器143中第一个微码的地址,以及储存单元180中的通道编号及实体地址。当特殊读取命令执行时,处理单元110将指令缓存 器143中第一个微码的地址,以及储存单元180的通道编号及实体地址传送给状态机(state machine)120,并驱动状态机120开始操作。状态机120特别设计来执行指令缓存器143中的微码,用以完成重试读取操作。状态机120于运算时耗费较处理单元110为少的资源。此外,相较于以上所述使用处理单元110的实施方式,状态机120只是循序从指令缓存器143提取指令执行,并不需要在非挥发性存储器141及先进先出缓存器145之间做指令搬移。图6是依据本发明实施例的重试读取方法流程图。此方法由状态机120载入并执行指令缓存器143中的微码时实施。状态机120反复执行一个回圈(步骤S610至S650),直到重试读取成功为止(步骤S650中“是”的路径)。于每一个回合中,状态机120依据重试参数设定用以驱动存取接口170读取数据的寄存器(步骤S610),通过存取接口170依据通道编号及实体地址从储存单元180读取数据并将结果储存至数据缓存器147(步骤S630),以及驱动错误检查修正单元130来判断重试读取是否成功(步骤S650)。如果是(步骤S650中“是”的路径),结束回圈;否则(步骤S650中“否”的路径),进行下一回合的重试参数设定(步骤S610)。回圈结束后,状态机120将驱动存取接口170读取数据的寄存器设定回预设值,并且通知处理单元110重试读取操作结束(步骤S670)。
虽然图1至3中包含了以上描述的元件,但不排除在不违反发明的精神下,使用更多其他的附加元件,已达成更佳的技术效果。此外,虽然图5至6的处理步骤采用特定的顺序来执行,但是在不违反发明精神的情况下,熟习此技艺人士可以在达到相同效果的前提下,修改该多个步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。
虽然本发明使用以上实施例进行说明,但需要注意的是,该多个描述并非用以限缩本发明。相反地,此发明涵盖了熟习此技艺人士显而易见的修改与相似设置。所以,申请权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。
Claims (18)
1.一种重试读取方法,由一处理单元执行,其特征在于,包含:
于系统开机时,产生一重试读取操作的微码及储存上述重试读取操作的微码至一指令缓存器;以及
于系统开机成功后,通过一第一接口从一主装置接收到一重试读取命令;以及驱动一状态机,用以执行上述指令缓存器中的上述重试读取操作的微码。
2.如权利要求1所述的重试读取方法,其特征在于,上述重试读取操作的微码包含多个回合的重试读取微码,以及一重试读取操作结束微码。
3.如权利要求2所述的重试读取方法,其特征在于,于系统开机时,产生一重试读取操作的微码及储存上述重试读取操作的微码至一指令缓存器的步骤中,更包含:
取得关连于一储存单元的一快闪识别码;
从一非挥发性存储器读取多笔纪录中相应于上述快闪识别码的一者,其中上述纪录包含多个重试参数;
依据上述重试参数产生上述重试读取微码以及储存上述重试读取微码至上述指令缓存器;以及
储存上述重试读取操作结束微码至上述指令缓存器。
4.如权利要求3所述的重试读取方法,其特征在于,上述纪录关连于不同类型的储存单元,以及,于上述取得关连于一储存单元的一快闪识别码的步骤中,更包含:
询问上述储存单元来取得上述快闪识别码。
5.如权利要求3所述的重试读取方法,其特征在于,上述纪录关连于不同类型的储存单元,以及,于上述取得关连于一储存单元的一快闪识别码的步骤中,更包含:
从上述非挥发性存储器读取上述快闪识别码。
6.如权利要求3所述的重试读取方法,其特征在于,每一上述回合的上述重试读取微码包含一第一微码、一第二微码、一第三微码以及一第四微码,上述第一微码包含上述重试参数中的一者,于执行时依据上述重试参数设定用以驱动一第二存取接口读取数据的一寄存器,上述第二微码于执行时通过上述存取接口读取数据并将一结果储存至一数据缓存器,上述第三微码于执行时驱动一错误检查修正单元检查上述结果,以及上述第四微码于执行时依据上述错误检查修正单元的一回复消息决定是否接着提取并执行上述重试读取操作结束微码。
7.如权利要求6所述的重试读取方法,其特征在于,上述第四微码包含上述重试读取操作结束微码的一地址。
8.如权利要求7所述的重试读取方法,其特征在于,上述第四微码于执行且上述回复消息指出数据正确时,接着依据上述地址提取上述重试读取操作结束微码。
9.如权利要求8所述的重试读取方法,其特征在于,上述重试读取操作结束微码于执行时,将上述寄存器设定回预设值,并且通知上述处理单元重试读取操作结束,用以将控制权交还给上述处理单元。
10.一种重试读取装置,其特征在于,包含:
一指令缓存器;
一状态机;以及
一处理单元,耦接上述指令缓存器及上述状态机,于系统开机时,产生一重试读取操作的微码及储存上述重试读取操作的微码至上述指令缓存器,以及于系统开机后,通过一第一接口从一主装置接收到一重试读取命令;以及驱动上述状态机,用以执行上述指令缓存器中的上述重试读取操作的微码。
11.如权利要求10所述的重试读取装置,其特征在于,上述重试读取操作的微码包含多个回合的重试读取微码,以及一重试读取操作结束微码。
12.如权利要求11所述的重试读取装置,其特征在于,更包含:
一非挥发性存储器;
其中,上述处理单元取得关连于一储存单元的一快闪识别码;从上述非挥发性存储器读取多笔纪录中相应于上述快闪识别码的一者,其中上述纪录包含多个重试参数;依据上述重试参数产生上述重试读取微码以及储存上述重试读取微码至上述指令缓存器;以及储存上述重试读取操作结束微码至上述指令缓存器。
13.如权利要求12所述的重试读取装置,其特征在于,上述纪录关连于不同类型的储存单元,以及,上述处理单元询问上述储存单元来取得上述快闪识别码。
14.如权利要求13所述的重试读取装置,其特征在于,上述纪录关连于不同类型的储存单元,以及,上述处理单元从上述非挥发性存储器读取上述快闪识别码。
15.如权利要求14所述的重试读取装置,其特征在于,每一上述回合的上述重试读取微码包含一第一微码、一第二微码、一第三微码以及一第四微码,上述第一微码包含上述重试参数中的一者,于执行时依据上述重试参数设定用以驱动一第二存取接口读取数据的一寄存器,上述第二微码于执行时通过上述存取接口读取数据并将一结果储存至一数据缓存器,上述第三微码于执行时驱动一错误检查修正单元检查上述结果,以及上述第四微码于执行时依据上述错误检查修正单元的一回复消息决定是否接着提取并执行上述重试读取操作结束微码。
16.如权利要求15所述的重试读取装置,其特征在于,上述第四微码包含上述重试读取操作结束微码的一地址。
17.如权利要求16所述的重试读取装置,其特征在于,上述第四微码于执行且上述回复消息指出数据正确时,接着依据上述地址提取上述重试读取操作结束微码。
18.如权利要求17所述的重试读取装置,其特征在于,上述重试读取操作结束微码于执行时,将上述寄存器设定回预设值,并且通知上述处理单元重试读取操作结束,用以将控制权交还给上述处理单元。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610801448.2A CN107797821B (zh) | 2016-09-05 | 2016-09-05 | 重试读取方法以及使用该方法的装置 |
US15/286,829 US10199108B2 (en) | 2016-09-05 | 2016-10-06 | Methods for read retries and apparatuses using the same |
TW105134400A TWI648742B (zh) | 2016-09-05 | 2016-10-25 | 重試讀取方法以及使用該方法的裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610801448.2A CN107797821B (zh) | 2016-09-05 | 2016-09-05 | 重试读取方法以及使用该方法的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107797821A true CN107797821A (zh) | 2018-03-13 |
CN107797821B CN107797821B (zh) | 2021-10-08 |
Family
ID=61280916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610801448.2A Active CN107797821B (zh) | 2016-09-05 | 2016-09-05 | 重试读取方法以及使用该方法的装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10199108B2 (zh) |
CN (1) | CN107797821B (zh) |
TW (1) | TWI648742B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108519920A (zh) * | 2018-03-14 | 2018-09-11 | 口碑(上海)信息技术有限公司 | 一种调度重试方法及装置 |
CN109062503A (zh) * | 2018-07-10 | 2018-12-21 | 深圳忆联信息系统有限公司 | 提升ssd断电后读重试效率的方法、装置及计算机设备 |
CN111104044A (zh) * | 2018-10-25 | 2020-05-05 | 上海宝存信息科技有限公司 | 数据储存装置及其适应性数据读取方法 |
CN111429960A (zh) * | 2019-01-10 | 2020-07-17 | 慧荣科技股份有限公司 | 改善闪存的读取重试的方法、控制器以及相关存储装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102549584B1 (ko) * | 2018-03-27 | 2023-06-30 | 삼성전자주식회사 | 메모리 모듈을 포함하는 메모리 시스템, 메모리 모듈, 그리고 메모리 모듈의 동작 방법 |
CN115686164A (zh) * | 2021-07-26 | 2023-02-03 | 瑞昱半导体股份有限公司 | 供电端装置、供电系统以及非暂态电脑可读取媒体 |
TWI807919B (zh) * | 2022-07-14 | 2023-07-01 | 群聯電子股份有限公司 | 資料重讀方法、記憶體儲存裝置及記憶體控制電路單元 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902644A (zh) * | 2012-09-28 | 2013-01-30 | 忆正科技(武汉)有限公司 | 一种闪存控制器以及闪存控制方法 |
CN103035294A (zh) * | 2011-09-28 | 2013-04-10 | 三星电子株式会社 | 从非易失性存储器读数据的方法及实施方法的设备和系统 |
CN103164361A (zh) * | 2011-12-08 | 2013-06-19 | 炬力集成电路设计有限公司 | 与存储器传输数据的装置及其传输数据的方法 |
CN104508626A (zh) * | 2012-07-27 | 2015-04-08 | 微软公司 | 可执行代码数据的无锁流传送 |
CN105389134A (zh) * | 2015-12-11 | 2016-03-09 | 华中科技大学 | 一种闪存接口控制方法及装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974544A (en) * | 1991-12-17 | 1999-10-26 | Dell Usa, L.P. | Method and controller for defect tracking in a redundant array |
US5483641A (en) * | 1991-12-17 | 1996-01-09 | Dell Usa, L.P. | System for scheduling readahead operations if new request is within a proximity of N last read requests wherein N is dependent on independent activities |
US6434087B1 (en) * | 1995-01-25 | 2002-08-13 | Discovision Associates | Optical disc system and method for controlling bias coil and light source to process information on a storage medium |
US5721816A (en) * | 1996-07-29 | 1998-02-24 | Kusbel; Paul F. | Adaptive recovery of read and write errors in a disc drive |
JPH10134528A (ja) * | 1996-10-25 | 1998-05-22 | Internatl Business Mach Corp <Ibm> | 記録装置およびエラー回復方法 |
US7111202B2 (en) | 2002-06-28 | 2006-09-19 | Hewlett-Packard Development Company, L.P. | Autonomous boot failure detection and recovery |
KR100524989B1 (ko) * | 2003-10-04 | 2005-10-31 | 삼성전자주식회사 | 데이터 저장 시스템에서의 리트라이 개선 방법 및 이를이용한 디스크 드라이브 |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US20070089032A1 (en) * | 2005-09-30 | 2007-04-19 | Intel Corporation | Memory system anti-aliasing scheme |
US8645811B2 (en) * | 2011-10-27 | 2014-02-04 | Dell Products L.P. | System and method for selective error checking |
US9665521B2 (en) * | 2012-05-18 | 2017-05-30 | Dell Products, Lp | System and method for providing a processing node with input/output functionality by an I/O complex switch |
TWI489469B (zh) | 2013-03-26 | 2015-06-21 | Phison Electronics Corp | 資料讀取方法、控制電路、記憶體模組與記憶體儲存裝置 |
JPWO2015037159A1 (ja) * | 2013-09-13 | 2017-03-02 | 株式会社東芝 | 半導体記憶装置及びメモリシステム |
JP2015056198A (ja) | 2013-09-13 | 2015-03-23 | 株式会社東芝 | メモリチップ、記憶装置および読み出し方法 |
TWI515734B (zh) | 2014-03-13 | 2016-01-01 | 群聯電子股份有限公司 | 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置 |
US9608670B2 (en) * | 2014-07-14 | 2017-03-28 | International Business Machines Corporation | Reliable data reading with data set screening by error injection |
US9569120B2 (en) | 2014-08-04 | 2017-02-14 | Nvmdurance Limited | Adaptive flash tuning |
TWI562158B (en) * | 2014-10-13 | 2016-12-11 | Silicon Motion Inc | Non-volatile memory device and controller |
TWI615852B (zh) * | 2017-01-19 | 2018-02-21 | 群聯電子股份有限公司 | 記憶體重讀方法、記憶體儲存裝置及記憶體控制電路單元 |
-
2016
- 2016-09-05 CN CN201610801448.2A patent/CN107797821B/zh active Active
- 2016-10-06 US US15/286,829 patent/US10199108B2/en active Active
- 2016-10-25 TW TW105134400A patent/TWI648742B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103035294A (zh) * | 2011-09-28 | 2013-04-10 | 三星电子株式会社 | 从非易失性存储器读数据的方法及实施方法的设备和系统 |
CN103164361A (zh) * | 2011-12-08 | 2013-06-19 | 炬力集成电路设计有限公司 | 与存储器传输数据的装置及其传输数据的方法 |
CN104508626A (zh) * | 2012-07-27 | 2015-04-08 | 微软公司 | 可执行代码数据的无锁流传送 |
CN102902644A (zh) * | 2012-09-28 | 2013-01-30 | 忆正科技(武汉)有限公司 | 一种闪存控制器以及闪存控制方法 |
CN105389134A (zh) * | 2015-12-11 | 2016-03-09 | 华中科技大学 | 一种闪存接口控制方法及装置 |
Non-Patent Citations (1)
Title |
---|
中华田园犬: "《NAND FLASH学习笔记之nand flash基础(三)》", 《CSDNHTTPS://BLOG.CSDN.NET/WANG_ZHENG_KAI/ARTICLE/DETAILS/》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108519920A (zh) * | 2018-03-14 | 2018-09-11 | 口碑(上海)信息技术有限公司 | 一种调度重试方法及装置 |
CN108519920B (zh) * | 2018-03-14 | 2020-12-01 | 口碑(上海)信息技术有限公司 | 一种调度重试方法及装置 |
CN109062503A (zh) * | 2018-07-10 | 2018-12-21 | 深圳忆联信息系统有限公司 | 提升ssd断电后读重试效率的方法、装置及计算机设备 |
CN109062503B (zh) * | 2018-07-10 | 2021-08-17 | 深圳忆联信息系统有限公司 | 提升ssd断电后读重试效率的方法、装置及计算机设备 |
CN111104044A (zh) * | 2018-10-25 | 2020-05-05 | 上海宝存信息科技有限公司 | 数据储存装置及其适应性数据读取方法 |
CN111104044B (zh) * | 2018-10-25 | 2024-04-30 | 上海宝存信息科技有限公司 | 数据储存装置及其适应性数据读取方法 |
CN111429960A (zh) * | 2019-01-10 | 2020-07-17 | 慧荣科技股份有限公司 | 改善闪存的读取重试的方法、控制器以及相关存储装置 |
CN111429960B (zh) * | 2019-01-10 | 2022-05-24 | 慧荣科技股份有限公司 | 改善闪存的读取重试的方法、控制器以及相关存储装置 |
US11573734B2 (en) | 2019-01-10 | 2023-02-07 | Silicon Motion, Inc. | Method for improving read-retry of flash memory and related controller and storage device |
Also Published As
Publication number | Publication date |
---|---|
TWI648742B (zh) | 2019-01-21 |
CN107797821B (zh) | 2021-10-08 |
US20180068734A1 (en) | 2018-03-08 |
US10199108B2 (en) | 2019-02-05 |
TW201812782A (zh) | 2018-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107797821A (zh) | 重试读取方法以及使用该方法的装置 | |
CN112331253B (zh) | 一种芯片的测试方法、终端和存储介质 | |
US8812784B2 (en) | Command executing method, memory controller and memory storage apparatus | |
US20150100744A1 (en) | Methods and apparatuses for requesting ready status information from a memory | |
KR100908542B1 (ko) | 불휘발성 메모리 소자 및 그 프로그램 방법 | |
US8392794B2 (en) | Non-volatile memory device and data processing method thereof | |
CN107451025B (zh) | 控制存储芯片的测试方法及系统 | |
CN114530188A (zh) | 一种半导体测试方法、系统及存储介质 | |
US20140129206A1 (en) | Simulator and simulating method for flash memory background | |
CN108962304A (zh) | 存储装置及其操作方法 | |
US9786373B2 (en) | EEPROM backup method and device | |
CN106649137B (zh) | 一种Nand Flash坏块管理方法、装置及存储器 | |
CN109147862B (zh) | Nvm测试加速方法及系统 | |
EP3176789A1 (en) | Memory control method and apparatus | |
US7237043B2 (en) | System for improving PCI write performance | |
US9152348B2 (en) | Data transmitting method, memory controller and data transmitting system | |
CN110956998A (zh) | 一种存储器测试装置与系统 | |
CN112463633B (zh) | 一种片上存储器的地址译码校验方法、装置、设备及介质 | |
CN105117370B (zh) | 一种多协议密码算法处理器及片上系统 | |
CN114138688A (zh) | 一种数据读取方法、系统、设备以及介质 | |
CN108572920B (zh) | 避免读取扰动的数据搬移方法以及使用该方法的装置 | |
KR20080084180A (ko) | 낸드 플래시 메모리 장치의 자동 소거 방법 | |
TWI698748B (zh) | 資料儲存裝置、存取裝置及資料處理方法 | |
CN113176974B (zh) | 用于验证ip核的方法、装置及系统 | |
CN112464498B (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 |