CN112286442A - 存储器控制器、数据储存装置及其开卡方法 - Google Patents

存储器控制器、数据储存装置及其开卡方法 Download PDF

Info

Publication number
CN112286442A
CN112286442A CN201910807268.9A CN201910807268A CN112286442A CN 112286442 A CN112286442 A CN 112286442A CN 201910807268 A CN201910807268 A CN 201910807268A CN 112286442 A CN112286442 A CN 112286442A
Authority
CN
China
Prior art keywords
read
physical
card
threshold
flash memory
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
Application number
CN201910807268.9A
Other languages
English (en)
Other versions
CN112286442B (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.)
Silicon Motion Inc
Original Assignee
Silicon Motion 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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN112286442A publication Critical patent/CN112286442A/zh
Application granted granted Critical
Publication of CN112286442B publication Critical patent/CN112286442B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0703Error 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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/1064Adding 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 cache or content addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • 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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4072Circuits for initialization, powering up or down, clearing memory or presetting
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明提供一种存储器控制器、数据储存装置及其开卡方法。该存储器控制器耦接至一快闪存储器。快闪存储器包括多个实体区块,且各实体区块包括多个实体页面,其中部分实体区块中的部分实体页面为缺陷实体页面。存储器控制器包括:一处理单元,用以设定一总目标开卡时间,并从实体区块中依序选择一目前实体区块以进行快闪存储器的开卡作业,并依据一读取操作阈值对目前实体区块进行读取操作。响应于目前实体区块的读取操作完成,处理单元动态调整实体区块的读取操作所使用的读取操作阈值,使得快闪存储器中的开卡作业在该总目标开卡时间内完成。

Description

存储器控制器、数据储存装置及其开卡方法
技术领域
本发明有关于存储器测试,特别是有关于一种存储器控制器、数据储存装置及其开卡方法。
背景技术
存储器可分为正常存储器与次等级存储器。存储器包括多个记忆单元以供储存数据。当存储器的生产制造商要将存储器出货前,必须先经过生产测试以验证存储器的记忆单元是否可正确地储存数据。若存储器经过测试而无法正确地储存数据,则生产制造商会将无法通过测试的存储器归类为次等级存储器,并以低价出售次等级存储器。
亦即,由于半导体生产过程上的误差,导致次等级存储器包括有缺陷的记忆单元,而这些有缺陷的记忆单元无法正常的储存数据。上述缺陷包含存储器中具有无法被正确存取的缺陷区块(defective block)、存储器各元件之间的连接缺陷等等。然而,在次等级存储器中仍然具有可以正常存取的区块,因此,次等级存储器可使用的记忆容量会较正常存储器的额定记忆容量小。
在市面上有许多电子产品会使用次等级快闪存储器(downgrade flash memory),例如USB随身碟、快闪记忆卡等等。此类电子产品在出厂前,需要对次等级快闪存储器进行开卡(或可称为初始化)。举例来说,在次等级快闪存储器的开卡阶段中,需先利用测试机台上的存储器控制器对次等级快闪存储器(例如包括一或多个快闪存储器芯片)中的所有实体页面进行抹除(erase)、数据写入及数据读取等操作,并将次等级快闪存储器中可进行正常存取的实体区块及实体页面挑选出来,并同时记录良好的及有缺陷的实体区块及实体页面的实体地址,方能确定次等级快闪存储器的可用容量。
然而,因为次等级快闪存储器的缺陷数量较多,意即无法正常存取的实体页面数量众多。因此,次等级快闪存储器在开卡阶段所花费的时间会比正常快闪存储器在开卡阶段所花费的时间大幅增加,造成无法在合理的时间内将次等级快闪存储器中的所有实体页面测试完毕,使得生产效率低落。
因此,需要一种数据储存装置及用于次等级快闪存储器的动态开卡方法以解决上述问题。
发明内容
本发明提供一种存储器控制器。该记忆控制器耦接至一快闪存储器,其中该快闪存储器包括多个实体区块,且各实体区块包括多个实体页面,其中部分这些实体区块中的部分这些实体页面为缺陷实体页面。该存储器控制器包括:一处理单元,用以设定该快闪存储器的一总目标开卡时间,其中该处理单元并从这些实体区块中依序选择一目前实体区块以进行该快闪存储器的一开卡作业,并依据一读取操作阈值对该目前实体区块进行该开卡作业的一读取操作,其中,响应于该目前实体区块的该读取操作完成,该处理单元动态调整这些实体区块的该读取操作所使用的该读取操作阈值,使得该快闪存储器的该开卡作业在该总目标开卡时间内完成。
本发明提供一种数据储存装置,包括:一次等级快闪存储器及一存储器控制器。次等级快闪存储器包括多个实体区块,且各实体区块包括多个实体页面,其中部分实体区块中的部分实体页面为缺陷实体页面。存储器控制器,用以设定该次等级快闪存储器的一总目标开卡时间,并从这些实体区块中依序选择一目前实体区块以进行该次等级快闪存储器的一开卡作业,并依据一读取操作阈值对该目前实体区块进行该开卡作业的一读取操作,其中,响应于该目前实体区块的该读取操作完成,该存储器控制器动态调整该目前实体区块的下一实体区块的该读取操作所使用的该读取操作阈值,使得次等级快闪存储器的该开卡作业在该总目标开卡时间内完成。
本发明还提供一种用于数据储存装置的开卡方法,该包括下列步骤:设定该次等级快闪存储器的一总目标开卡时间;从这些实体区块中依序选择一目前实体区块以进行该次等级快闪存储器的一开卡作业,并依据一读取操成参数对该目前实体区块进行读取操作;以及响应于该目前实体区块的该读取操作完成,动态调整该目前实体区块的下一实体区块的该读取操作所使用的一读取重试次数阈值以使该次等级快闪存储器的该开卡作业在该总目标开卡时间内完成。
附图说明
图1为依据本发明一实施例中的电子系统的方块图。
图2为依据本发明第二实施例中动态调整不同实体区块的读取重试次数阈值的示意图。
图3为依据本发明第三实施例中动态调整不同实体区块的读取重试次数阈值的示意图。
图4为依据本发明一实施例中的存储器测试装置的示意图。
图5为依据本发明一实施例中的用于数据储存装置的开卡方法的流程图。
符号说明
100~电子系统;
120~主机;
140~数据储存装置;
141~读取重试表;
150~存取接口;
160~存储器控制器;
162~处理单元;
163~储存单元;
164~固件;
165~静态随机存取存储器;
166~动态随机存取存储器;
168~错误校正电路;
170~存取接口;
180~次等级快闪存储器;
181~快闪转译层;
201-208、301-308~实体区块;
2011-2081、3011-3081~实体页面;
RN~读取重试次数阈值;
RP~读取页面数量阈值;
400~存储器测试装置;
402~位置;
410~次等级快闪存储器晶粒;
430~插槽装置;
431~双头探针;
432~探针固定支架;
433~滑块;
434~弹簧;
435~上盖;
S510-S550~步骤。
具体实施方式
以下说明为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考之后的权利要求范围。
必须了解的是,使用于本说明书中的"包含"、"包括"等词,用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。
于权利要求中使用如"第一"、"第二"、"第三"等词用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。
图1是显示依据本发明一实施例中的电子系统的方块图。电子系统100例如可为一个人电脑(personal computer)、一数据伺服器(data server)、一网络附加储存装置(network-attached storage,NAS),一可携式电子装置(portable electronic device)等等,但本发明并不限于此。可携式电子装置例如可为一笔记型电脑、手持行动电话、智慧型手机、平板电脑、个人数位助理(personal digital assistant,PDA)、数位相机(digitalcamera)、数位摄影机(digital video camera)、可携式多媒体播放器(portablemultimedia player)、个人导航装置(personal navigation device)、手持游戏主机(handheld game console)、电子书(e-book)等等,但本发明并不限于此。
电子系统100包括一主机(host)120以及一数据储存装置140。数据储存装置140包括一快闪存储器180以及一存储器控制器160。存储器控制器160包括控制电路162、固件164、静态随机存取存储器(static random access memory,SRAM)165、动态随机存取存储器(dynamic random access memory,DRAM)166、及错误校正电路168。处理单元162可使用多种方式实施,例如专用硬体电路或通用硬体实现(例如,单一处理器、具平行处理能力的多处理器或其他具运算能力的处理器)、上述实现方式例如可为一通用处理器(general-purpose processor)、或一微控制器(microcontroller),但本发明并不限于此。存储器控制器160中的处理单元162可根据主机120所下达的命令操作,例如透过存取接口170写入数据到快闪存储器180中的指定实体地址、或是由快闪存储器180中的指定实体地址读取对应的实体页面所储存的数据。
处理单元162与快闪存储器180间的数据与命令传递透过数个电子信号进行协调,上述电子信号包括数据线(data line)、时脉信号(clock signal)与控制信号(controlsignal)。数据线可用以传递命令、地址、读出及写入的数据;控制信号线可用以传递芯片致能(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)或其他接口。处理单元162另可使用存取接口150透过指定通讯协定与主机120进行沟通,例如,通用串行总线(universal serial bus,USB)、先进技术附着(advanced technology attachment,ATA)、序列先进技术附着(serial advanced technology attachment,SATA)、快速周边元件互联(peripheral component interconnect express,PCI-E)、非挥发性存储器的传输规范(Non-Volatile Memory Express,NVMe)或其他接口。
由程序码及数据所组成固件(firmware)由处理单元162执行,存储器控制器160基于该固件控制该快闪存储器180。使用动态随机存取存储器166以储存程序码、设定参数、暂时数据及逻辑至实体地址映射表,可改善系统的效能。在一些实施例中,动态随机存取存储器(DRAM)166为非必要,且处理单元162例如可使用存储器控制器160中的静态随机存取存储器(未绘示)或主机存储器缓存(Host Memory Buffer,HMB)以储存程序码、设定参数、暂时数据及逻辑至实体地址映射表。
快闪存储器180例如为一NAND快闪存储器。快闪存储器180包括多个实体区块(physical block),且每一实体区块181包括多个实体页面(physical page),且每一实体页面包括多个存储器单元(memory cell),其中上述存储器单元例如可用单层式单元(single-level cell,SLC)、多层式单元(multi-level cell,MLC)、三层式单元(triple-level cell,TLC)、或四层式单元(quad-level cell,QLC)所实现,但本发明并不限于此。在一实施例中,快闪存储器180例如为一次等级快闪存储器,包括多个次等级快闪存储器晶粒。快闪存储器180中的部分实体区块的的部分实体页面包括有缺陷(defect)的存储器单元,上述有缺陷的记忆单元无法正常地储存数据。
在一实施例中,在数据储存装置140处于开卡阶段(初始化阶段)时,存储器控制器160尚未得知快闪存储器180中的各实体区块的各实体页面的状态,例如是否为正常的实体页面或是缺陷实体页面。存储器控制器160会逐一写入特定页面数据至所选定的实体页面,并由该实体页面读取页面数据以判断读出的页面数据是否与写入的特定页面数据相符。若读出的页面数据与写入的特定页面数据相符,则存储器控制器判断该实体页面可以正常读取。
当存储器控制器160以所选择的一读取阈值电压读取快闪存储器180的特定实体页面的页面数据后,所读取的页面数据传送至错误校正电路168,错误校正电路168用以对页面数据进行错误校正(error correction),上述错误校正例如可称为硬式解码(harddecoding)。在一些实施例中,错误校正电路168包括一低密度奇偶检查码(low-densityparity-check code,LDPC)错误校正引擎(图1未绘示)、及/或一BCH码校正引擎(图1未绘示),但本发明并不限于此。
详细而言,存储器控制器160写入至所选定的实体页面的特定页面数据包括数据部分及错误校正码(error-correction code,ECC),其中错误校正码例如可包括LDPC错误校正码及/或BCH错误校正码。错误校正电路168可依据所读取的页面数据中的错误校正码对读取的特定页面数据中的数据部分及/或错误校正码进行错误校正。在一些实施例中,因为软式解码(soft decoding)通常是在硬式解码(例如BCH码校正)已尝试过预定读取次数均无法校正所读取的页面数据后才会由处理单元162执行,且需要花费更长的时间。因此,在快闪存储器180的开卡阶段中,存储器控制器160并不使用软式解码以进行错误校正。
一般而言,错误校正电路168具有一预定的错误校正能力,例如可校正N位元的数据,N的大小视错误校正码的长度而定。若从特定实体页面所读取的页面数据中的错误位元的数量小于或等于N,则错误校正电路168可利用所读取的页面数据中的错误校正码对页面数据进行错误校正,再将校正后的页面数据传送至处理单元162。
若读取的页面数据中的错误位元的数量大于N,则错误校正电路168并无法利用页面数据的错误校正码对页面数据进行错误校正,此时错误校正电路168通知存储器控制器160错误校正失败,此时,控制器160将启动一读取重试(read retry)程序,以尝试取得可校正的页面数据。
举例来说,读取重试程序可依据读取重试表(read-retry table)141而对所选定的实体页面进行读取操作。读取重试表141包括一预定数量(例如为M个)的多个项目(entry),且各项目记录了执行读取操作所需的读取阈值电压Vth的设定。在一实施例中,读取重试表141例如可整合于数据储存装置140的快闪转译层181中,在另一实施例中,读取重试表141例如可存放于快闪存储器180中,当执行读取重试程序,再由读取重试程序自快闪存储器180中取得读取重试表141。在又一实施例中,读取重试表141可视为控制器160中的一查找表(lookup),且可利用硬体电路实现,例如复杂可程序逻辑装置(complexprogrammable logic device,CPLD)、可程序化阵列逻辑(programmable array logic,PAL)、可程序化逻辑阵列(programmable logic array,PLA),但本发明并不限于此。
在一实施例中,当启动读取重试程序后,处理单元162会依序使用在读取重试表中的各项目所储存的读取阈值电压Vth的设定直到所读取特定实体页面所储存的页面数据可成功地被错误校正电路168所校正或是已使用过读取重试表中所有项目所储存的读取阈值电压Vth的设定以读取特定实体页面所储存的页面数据。当处理单元162已使用过在读取重试表中的所有项目的读取阈值电压Vth的设定以读取页面数据且错误校正电路168仍然无法校正依据各读取阈值电压Vth的设定所读取的页面数据时,处理单元162会判断此特定实体页面有缺陷,并在一缺陷记录表中记录此特定实体页面的实体地址。
需注意的是,处理单元162每次使用读取重试表中不同的读取阈值电压Vth的设定以读取特定实体页面的页面数据所耗费的时间约略为一固定时间Tr。若处理单元162第一次使用预设读取阈值电压即可成功地读取特定实体页面的页面数据,则花费的时间即为Tr。若处理单元162第25次使用不同的读取阈值电压(包括预设读取阈值电压)才能成功地读取特定实体页面的页面数据,则花费的时间为25Tr。
此外,在数据储存装置140大量生产的过程中,并无法利用大量的时间对快闪存储器180中的所有实体页面进行测试。举例来说,可先设定一总目标开卡时间,例如为8小时或12小时。当数据储存装置140的开卡过程所花费的时间达到总目标开卡时间时,处理单元162即会停止开卡过程。此时,处理单元162会统计在快闪存储器180的已测试过的实体页面中可正常进行数据存取的实体页面的数量,并标记已测试过的实体页面中缺陷实体页面。对于在快闪存储器180未测试过的实体页面,处理单元162则不会再进行进一步的测试,而是会将快闪存储器180未测试过的实体页面视为缺陷实体页面。
因此,存储器控制器160所统计的快闪存储器180中的可用容量资讯包括在快闪存储器180在开卡阶段中已测试过的实体页面中可正常进行数据存取的实体页面的数量。
在第一实施例中,在处理单元162使用读取重试表141中的所有项目的不同读取阈值电压并无法成功读取特定实体页面的页面数据(意即读取的页面数据无法被错误校正电路168所校正)后,处理单元162才会判断此特定实体页面有缺陷。举例来说,若读取重试表141包括49个项目,则当特定实体页面有缺陷时,则处理单元162需要进行50次的读取动作才能判断此特定实体页面有缺陷。意即,处理单元162可设定预设读取重试次数阈值为50次,且当处理单元162判断此特定实体页面有缺陷时,已耗费了50Tr的时间。
存储器控制器160在执行开卡的过程中,例如可从具有最小的实体地址的实体页面开始进行存取测试,再依序往较大的实体地址的实体页面进行存取测试。若数据储存装置140配备一正常快闪存储器,且正常快闪存储器包括一或多个快闪存储器晶粒。各个快闪存储器晶粒(flash memory die)在尚未开卡的总容量例如为16G字节(Bytes),则处理单元162在开卡阶段将一个快闪存储器晶粒中的所有实体页面进行抹除、写入、及读取测试所耗费的时间大致分别为1分钟以内、50分钟、及10分钟。若快闪存储器的一个实体区块包括256个实体页面且一个实体页面的大小为16K字节,则一个实体区块的大小为4M字节。一个16G字节大小的快闪存储器晶粒可包括4096个实体区块或是256*4096=1048576个实体页面,因此对一个实体页面进行一次读取操作或是一次读取重试操作的时间Tr约需要0.5~0.6毫秒(ms)。
当处理单元162对正常快闪存储器中的特定实体页面进行读取测试时,往往只需要使用预设读取阈值电压(意即读取页面数据一次)或是使用数量很少的不同读取阈值电压(意即数量很少的读取重试操作)就可成功地读取在写入测试中写入至特定实体页面的特定页面数据。因此,正常快闪存储器在开卡阶段的读取测试并不需要耗费太多时间。若正常快闪存储器的总容量为128G字节(例如包括8个16G字节的快闪存储器晶粒),则处理单元162例如在8小时左右就可以将正常快闪存储器中的各个快闪存储器晶粒的所有实体页面均测试过以进行开卡。
然而,数据储存装置140是配备快闪存储器180,且快闪存储器180的品质较正常快闪存储器差,且快闪存储器180中缺陷实体页面的位置分布可能会有不同的变化。在第一实施例中,若快闪存储器180的品质较差、缺陷实体页面的数量很多、或是缺陷实体页面大致分布在实体地址较前的部分,则处理单元162需要花费大量时间在进行读取重试测试,例如需要达到预设读取重试次数阈值(例如50次)后才能判断特定实体页面为缺陷实体页面。因此,若数据储存装置140中的快闪存储器180在未开卡时同样具有128G字节(例如为8个16G字节大小的快闪存储器晶粒)的总容量,则处理单元162最多需要花费约为8*50=400小时的时间才能将快闪存储器180中的所有实体页面进行读取重试操作以判断各实体页面是否为缺陷实体页面。此时,快闪存储器180的开卡作业所花费的时间主要都在读取操作上。
若快闪存储器180中有50%的实体页面为缺陷实体页面,则处理单元162需要花费约为8*50*0.5=200小时的时间才能找出快闪存储器180中全部缺陷实体页面,如此长的开卡时间并无法用于大量生产。若设定16G字节快闪存储器晶粒的总目标开卡时间为8小时或12小时,则处理单元162能够测试在快闪存储器180中的实体页面的数量则非常有限。当快闪存储器180的开卡阶段达到总目标开卡时间后,处理单元162会强制结束开卡阶段,因此,在此种情况下,快闪存储器180所能使用的可用容量相当很小。
在第二实施例中,处理单元162采用一时间预算基础式(time-budget-based)的动态开卡机制以对快闪存储器180进行开卡。举例来说,在总目标开卡时间(即时间限制或时间预算)有限的情况下,处理单元162可动态地调整用于下一个所选定的实体区块的各实体页面的读取重试次数阈值(例如为一上限值),使得处理单元162可在总目标开卡时间内完成次等级快闪存储器中所有实体区块的读取操作,进而避免数据储存装置140在开卡后的无可用容量或是可用容量太小。当一特定实体区块中的一特定实体页面的读取重试次数已达到所计算出用于此特定实体区块的读取重试次数阈值时,处理单元162则会强制结束此特定实体页面的开卡阶段,并开始进行下一个实体页面的开卡阶段。
举例来说,处理单元162在对快闪存储器180进行开卡作业前,可先设定一总目标开卡时间。其中,总目标开卡时间例如可依据快闪存储器180的容量而进行调整。举例来说,16G字节的快闪存储器晶粒例如可设定为1小时的目标开卡时间。若快闪存储器180包括多个快闪存储器晶粒,则总目标开卡时间Ttotal即为上述目标开卡时间乘以快闪存储器180中的快闪存储器晶粒的数量。
此外,当处理单元162开始执行快闪存储器180的开卡作业时,处理单元162会先使用一预设重试读取次数阈值(default read-retry count threshold)RNdefault(例如为50次)以做为第一个实体区块中的各实体页面的重试读取次数阈值。
为了便于说明,上述预设重试读取次数阈值包括以预设读取阈值电压以及在读取重试程序中以不同的读取阈值电压读取所选定的实体页面的读取次数的上限值。处理单元162在使用上述预设重试读取次数阈值RNdefault读取第一个实体区块中的各实体页面的过程中会同时记录已经过读取时间Tpassed
当处理单元162完成第一个实体区块中的各实体页面的读取重试操作后,处理单元162会分别计算出预测开卡时间Tpredict、剩余可使用开卡时间Tremain、及读取重试次数平均阈值RNavg,并据以计算出下一个实体区块中的各实体页面所使用的下一读取重试次数阈值RNnext,其中下一读取重试次数阈值RNnext小于或等于预设重试读取次数阈值RNdefault。意即,当存储器控制器160选择下一个实体区块做为目前实体区块时,会利用先前所计算出的下一读取重试次数阈值RNnext做为上述目前实体区块的重试读取次数阈值RN。
举例来说。处理单元162依据已读取实体区块数量Nread、实体区块的总数量Ntotal、以及已经过读取时间Tpassed以计算出预测开卡时间Tpredict,其中预测开卡时间Tpredict例如可由式(1)表示:
Figure BDA0002184025510000091
此外,处理单元162还依据设定的总目标开卡时间Ttotal及已经过读取时间Tpassed以计算出剩余可使用开卡时间Tremain,其中剩余可使用开卡时间Tremain例如可由式(2)表示:
Tremain=Ttotal-Tpassed (2)
此外,处理单元162还依据已读取实体区块数量Nread以及已读取的所有实体区块的读取重试次数累积阈值RNacc以计算出目前已读取的所有实体区块的读取重试次数平均阈值RNavg,例如可由式(3)表示:
Figure BDA0002184025510000101
若式(3)中所计算出的读取重试次数平均阈值RNavg并非整数,则可使用四舍五入法或是无条件舍去小数部分以得到整数值。
在一些实施例中,处理单元162可分别记录包括目前选定的实体区块以及之前的每个实体区块所使用的读取重试次数阈值RN(例如可记录于静态随机存取存储器165或动态随机存取存储器190中的一读取重试次数阈值表),并加总上述实体区块的读取重试次数阈值以得到读取重试次数累积阈值RNacc。举例来说,若快闪存储器180的第一个实体区块Block0及第二个实体区块Block1均已完成开卡,且第一个实体区块Block0及第二个实体区块Block1所使用的读取重试次数阈值RN分别为50次及49次,则处理单元162可计算出读取重试次数累积阈值RNacc=50+49=99次。
在另一些实施例中,处理单元162可直接将目前选定的实体区块所使用的读取重试次数阈值RN加至读取重试次数累积阈值RNacc(初始值为0),待快闪存储器180中的所有实体区块的读取操作均结束(意即完成开卡阶段)后即可重置读取重试次数累积阈值RNacc
当处理单元162已计算出预测开卡时间Tpxedict、剩余可使用开卡时间Tremain、及读取重试次数平均阈值RNavg后,处理单元162即可依据预测开卡时间Tpredict、剩余可使用开卡时间Tremain、及读取重试次数平均阈值RNavg以计算出下一读取重试次数阈值RNnext以用于下一个实体区块中的各实体页面的读取操作,其中下一读取重试次数阈值RNnext例如可由式(4)表示:
Figure BDA0002184025510000102
若式(4)中所计算出的下一读取重试次数阈值RNnext并非整数,则可使用四舍五入法或是无条件舍去小数部分以得到整数值。响应于处理单元162计算出下一读取重试次数阈值RNnext,处理单元162即可读取下一个实体区块,并更新已读取实体区块数量、已经过的读取时间、以及读取重试次数累积阈值RNacc的数值。上述流程会一直重复直到快闪存储器180中的所有实体区块的读取操作均已执行完毕。
举例来说,若目前所选定的实体区块为正常的实体区块,则处理单元162理论上会以较少数量的读取重试次数就可正确读取此实体区块中的各实体页面的页面数据,意即会花费较少的时间对此实体区块进行开卡。然而,在时间限制(time constraint)固定的情况下,若此实体区块所花费的开卡时间愈少,表示在快闪存储器180中剩下的实体区块所能分配到的开卡时间也会愈多。意即,在快闪存储器180中剩下的实体区块可用较高的读取重试次数阈值以读取页面数据,这亦表示有较大的机率以得到正常的实体页面,进而获得较大的可用容量。
相对地,在时间限制固定的同样情况下,若此实体区块所花费的开卡时间愈多,表示在快闪存储器180中剩下的实体区块所能分配到的开卡时间也会愈少。意即,在快闪存储器180中剩下的实体区块需使用较低的读取重试次数阈值以读取页面数据。对于实际缺陷实体页面来说,使用较大的读取重试次数阈值或较小的读取重试次数阈值,对于最后的判断结果来说并无区别,因为错误校正电路168均无法对所读取的页面数据进行错误校正以得到正确的页面数据,故处理单元162会在读取重试次数达到读取重试次数阈值后即可提早判断所选定的实体页面为缺陷实体页面。
在本发明第二实施例中的动态开卡方法可依据预测开卡时间Tpredict、剩余可使用开卡时间Tremain、及读取重试次数平均阈值RNavg动态地调整下一个实体区块的读取重试次数阈值。若是在开卡阶段连续遇到缺陷实体页面数量较多的实体区块,则会逐渐降低下一实体区块所需的读取重试次数阈值。
因此,在总目标开卡时间有限的情况下,处理单元162可依据所估计的开卡时间以动态地调整下一实体区块所使用的读取重试次数阈值,使得处理单元162可在设定的目标开卡时间内将快闪存储器180中的所有实体区块读取完毕。
图2为依据本发明第二实施例中动态调整不同实体区块的读取重试次数阈值的示意图。
如图2所示,处理单元162依序对实体区块201~208执行开卡作业,且实体区块201~204均具有较多的缺陷实体页面数量,实体区块205~208具有较少的缺陷实体页面数量。标示斜线的实体页面表示缺陷实体页面,空白的实体页面表示正常实体页面。若实体区块201的读取重试次数阈值RN为50次,经过本发明第二实施例的方法计算后,可得到用于实体区块202的读取重试次数阈值RN为48次。依据类似方式计算可得到用于实体区块203、204、205的读取重试次数阈值RN分别为46次、45次及43次。因为实体区块205具有较少的缺陷实体页面数量,表示处理单元162可很快地将实体区块205中的所有实体页面的开卡作业执行完毕,意即可剩余较多的可用开卡时间给后续尚未开卡的实体区块。
然而,实体区块205所使用的读取重试次数阈值RN是在实体区块204的开卡作业结束时就已决定,故会使用读取重试次数阈值RN=43次进行实体区块205的开卡作业。当实体区块205的开卡作业结束后,处理单元162例如可依据第二实施例的方法以计算出用于实体区块206的读取重试次数阈值RN为45次。类似地,当实体区块206及207的开卡作业结束后,处理单元162例如可依据第二实施例的方法以计算出用于实体区块207及208的读取重试次数阈值RN分别为46次及47次。需注意的是,上述实施例用于说明本案的动态开卡方法可动态调整读取重试次数阈值RN的数值,但本发明并不限定于上述数值。
在第三实施例中,当处理单元162对目前所选定的实体区块进行开卡作业时,处理单元162可动态调整每一个实体区块所需读取的实体页面数量,使得处理单元162可在总目标开卡时间内完成次等级快闪存储器中所有实体区块的读取操作。
举例来说,在第一实施例中及第二实施例中,总目标开卡时间Ttotal例如是针对在快闪存储器180中的各实体区块中的所有实体页面逐一进行读取操作所容许的时间而进行设定,其目的在于在时间限制内将快闪存储器180中的所有实体区块均开卡完毕。
假定一个实体区块包括4096个实体页面(例如为第一页面数量),当处理单元162开始对快闪存储器180进行开卡作业时,处理单元162一开始会对所选定的目前实体区块中的第一页面数量的实体页面逐一进行读取操作。
当目前实体区块的读取操作完成时,处理单元162可利用类似于第二实施例的方式计算出已经过读取时间Tpassed及剩余可使用开卡时间Tremain、以及预测开卡时间Tpredict
此外,处理单元162还依据已读取实体区块数量Nread以及已读取的所有实体区块的读取页面累积数量RPread以计算出目前已读取的所有实体区块的读取页面平均数量RPavg,例如可由式(5)表示:
Figure BDA0002184025510000121
若式(5)中所计算出的读取页面平均数量RPavg并非整数,则可使用四舍五入法或是无条件舍去小数部分以得到整数值。
当处理单元162已计算出预测开卡时间Tpredict、剩余可使用开卡时间Tremain、及读取页面平均数量RPavg后,处理单元162即可依据预测开卡时间Tpredict、剩余可使用开卡时间Tremain、及读取页面平均数量RPavg以计算出下一读取页面数量阈值RPnext以用于下一个实体区块中的各实体页面的读取操作,其中下一读取页面数量阈值RPnext例如可由式(6)表示:
Figure BDA0002184025510000131
若式(6)中所计算出的下一读取页面数量阈值RPnext并非整数,则可使用四舍五入法或是无条件舍去小数部分以得到整数值。响应于处理单元162计算出下一读取页面数量阈值RPnext,处理单元162即可读取下一个实体区块,并使用所计算出的下一读取页面数量阈值RPnext以做为读取页面数量阈值RP。此时,处理单元162并更新已读取实体区块数量、已经过的读取时间、以及读取页面累积数量RPread的数值。上述流程会一直重复直到快闪存储器180中的所有实体区块的读取操作均已执行完毕。
当在所选定的实体区块中已读取的实体页面数量已累积至读取页面数量阈值RP时,处理单元162可直接强制停止所选定的目前实体区块的开卡作业,并选择下一个实体区块做为目前实体区块以进行开卡作业。
在一实施例中,当处理单元162直接强制停止目前所选定的实体区块的开卡作业,处理单元162可记录在目前所选定的实体区块中的缺陷实体页面的实体地址,例如可记录于一缺陷记录表。需注意的是,若读取页面数量阈值RP小于实体区块的实体页面数量,表示在目前实体区块中会有部分实体页面未被读取。当处理单元162强制停止所选定的目前实体区块的开卡作业,处理单元162会直接将在目前实体区块中未读取的实体页面标示为缺陷实体页面。
因此,本发明第三实施例的方法可动态调整下一实体区块中的读取页面数量阈值RP,使得处理单元162可在总目标开卡时间内完成快闪存储器180中所有实体区块的读取操作,进而避免数据储存装置140在开卡后的无可用容量或是可用容量太小。此外,本发明的第二实施例及第三实施例的方法可以分开实施,也可以一起实施。
图3为依据本发明第三实施例中动态调整不同实体区块的读取重试次数阈值的示意图。
如图3所示,处理单元162依序对实体区块301~308执行开卡作业,且实体区块301~304均具有较多的缺陷实体页面数量,实体区块305~308具有较少的缺陷实体页面数量。标示斜线的实体页面表示缺陷实体页面,空白的实体页面表示正常实体页面。若实体区块301的读取页面数量阈值RP为4096,经过本发明第三实施例的方法计算后,可得到用于实体区块302的读取读取页面数量阈值RP为4010次。依据类似方式计算可得到用于实体区块303、304、305的读取页面数量阈值RP分别为3930、3890、及3810。因为实体区块305具有较少的缺陷实体页面数量,表示处理单元162可很快地将实体区块305中的所有实体页面的开卡作业执行完毕,意即可剩余较多的可用开卡时间给后续尚未开卡的实体区块。
然而,实体区块305所使用的读取页面数量阈值RP是在实体区块304的开卡作业结束时就已决定,故会使用读取页面数量阈值RP=3810进行实体区块305的开卡作业。当实体区块305的开卡作业结束后,处理单元162例如可依据第三实施例的方法以计算出用于实体区块306的读取页面数量阈值RP为3890。类似地,当实体区块306及307的开卡作业结束后,处理单元162例如可依据第三实施例的方法以计算出用于实体区块307及308的读取页面数量阈值RP分别为3930及3970。需注意的是,上述实施例用于说明本案的动态开卡方法可动态调整读取页面数量阈值RP的数值,但本发明并不限定于上述数值。
图4为依据本发明一实施例中的存储器测试装置的示意图。
请同时参考图1及图4。在一实施例中,存储器测试装置400包括一插槽装置430,插槽装置430包括多个双头探针431、探针固定支架432、滑块433、弹簧434及上盖435,其中上盖435包括两侧的扣具436。待测试的快闪存储器晶粒410可置于插槽装置430中的位置402。双头探针431用以将快闪存储器晶粒410电性连接至测试电路板420,且上述双头探针431对应于快闪存储器晶粒410的多个脚位。存储器控制器160及动态随机存取存储器166例如可设置于测试电路板420上,藉以控制待开卡的快闪存储器晶粒410。
因快闪存储器晶粒410的芯片厚度可能不同,在进行开卡作业时可选择弹力合适的弹簧434,藉以让滑块433压紧快闪存储器晶粒410的芯片以与双头探针431有效接触。当快闪存储器晶粒410的开卡作业完成后,使用者可取出滑块433以更换其他尚未进行开卡作业的快闪存储器晶粒410并置于位置402。快闪存储器晶粒410的开卡作业可参考图1~3的实施例,于此处不再详述。
图5为依据本发明一实施例中的用于数据储存装置的开卡方法的流程图。
在步骤S510,提供一快闪存储器180,其中该快闪存储器包括多个实体区块,且各实体区块包括多个实体页面。此外,部分实体区块中的部分实体页面为缺陷实体页面(defective physical page)。
在步骤S520,存储器控制器160设定快闪存储器180的一总目标开卡时间。快闪存储器180例如包括一或多个快闪存储器晶粒,且各个快闪存储器晶粒例如可设定一目标开卡时间,且总目标开卡时间即为目标开卡时间乘以快闪存储器晶粒的数量。
在步骤S530,存储器控制器160从这些实体区块中依序选择一目前实体区块以进行快闪存储器180的一开卡作业,并依据一读取操作阈值对目前实体区块进行读取操作。上述读取操作阈值例如可为第二实施例中的读取重试次数阈值或是第三实施例中的读取页面数量阈值。
在步骤S540,响应于目前实体区块的读取操作完成,存储器控制器160动态调整目前实体区块的下一实体区块的读取操作所使用的读取操作阈值以使快闪存储器180的开卡作业在总目标开卡时间内完成。其中动态调整读取操作阈值的细节例如可参考第二实施例及第三实施例的内容。若使用第二实施例中的读取重试次数阈值做为读取操作阈值,则对应的读取操作计数值及读取操作平均阈值分别为读取重试次数及读取重试次数平均阈值。若使用第三实施例中的读取页面数量阈值做为读取操作阈值,则对应的读取操作计数值及读取操作平均阈值分别为读取页面数量及读取页面数量平均阈值。意即,在目前实体区块的读取操作中,当读取操作计数值达到读取操作阈值时,存储器控制器160即会强制结束目前实体区块的读取操作,并更新用于下一个实体区块的读取操作阈值。
综上所述,本发明提供一种存储器控制器、数据储存装置及用于数据储存装置的开卡方法,其可依据开卡作业到目前实体区块中的读取操作平均阈值、剩余开卡时间及预测开卡时间以动态调整实体区块的读取操作所使用的读取操作阈值,使得快闪存储器的开卡作业所花费的时间可大幅降低,并可在预定的有限时间(例如总目标开卡时间)内完成,可避免传统方法会造成开不出可用容量或是可用容量很小的问题。
本发明虽以较佳实施例揭示如上,然其并非用以限定本发明的范围,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当由权利要求书界定为准。

Claims (23)

1.一种存储器控制器,耦接至一快闪存储器,其中该快闪存储器包括多个实体区块,且各实体区块包括多个实体页面,其中部分这些实体区块中的部分这些实体页面为缺陷实体页面,该存储器控制器包括:
一处理单元,用以设定该快闪存储器的一总目标开卡时间,
其中该处理单元并从这些实体区块中依序选择一目前实体区块以进行该快闪存储器的一开卡作业,并依据一读取操作阈值对该目前实体区块进行该开卡作业的一读取操作,
其中,响应于该目前实体区块的该读取操作完成,该处理单元动态调整这些实体区块的该读取操作所使用的该读取操作阈值,使得该快闪存储器的该开卡作业在该总目标开卡时间内完成。
2.如权利要求1所述的存储器控制器,其特征在于,该快闪存储器包括一或多个快闪存储器晶粒,且该处理单元依据该一或多个快闪存储器晶粒的数量以设定该总目标开卡时间。
3.权利要求1所述的存储器控制器,其特征在于,该处理单元由所选择的该目前实体区块中依序选择一目前实体页面,并依序使用一读取重试表中所记录的各读取阈值电压对该目前实体页面进行该读取操作以取得一页面数据直到该页面数据可成功地被该存储器控制器中的一错误校正电路所校正或是对该目前实体页面进行该读取操作的一读取操作计数值已达到该读取操作阈值。
4.如权利要求3所述的存储器控制器,其特征在于,响应于该目前实体区块的该读取操作完成,该处理单元取得该快闪存储器的该开卡作业的已经过读取时间,并依据该开卡作业已读取的这些实体区块的数量、这些实体区块的总数量、及该已经过读取时间以计算一预测开卡时间。
5.如权利要求4所述的存储器控制器,其特征在于,该处理单元更将该总目标开卡时间减去该已经过读取时间已得到一剩余可使用开卡时间。
6.如权利要求5所述的存储器控制器,其特征在于,该读取操作阈值为一读取重试次数阈值且该读取操作计数值为一重试读取次数。
7.如权利要求6所述的存储器控制器,其特征在于,该处理单元将已读取的这些实体区块的一读取重试次数累积阈值除以一已读取实体区块数量以得到已读取的这些实体区块的一读取重试次数平均阈值。
8.如权利要求7所述的存储器控制器,其特征在于,该处理单元并将该读取重试次数平均阈值乘以该剩余可使用开卡时间再除以该预测开卡时间以得到下一读取重试次数阈值,且将该下一读取重试次数阈值设定为该目前实体区块的下一实体区块的该读取操作阈值以进行该读取操作。
9.如权利要求5所述的存储器控制器,其特征在于,该读取操作阈值为一读取页面数量阈值且该读取操作计数值为一读取页面数量。
10.如权利要求9所述的存储器控制器,其特征在于,该处理单元将已读取的这些实体区块的一读取页面累积数量除以一已读取实体区块数量以得到已读取的这些实体区块的一读取页面平均数量。
11.如权利要求10所述的存储器控制器,其特征在于,该处理单元将该读取页面平均数量乘以该剩余可使用开卡时间再除以该预测开卡时间以得到下一读取页面数量阈值,并将该下一读取页面数量阈值设定为该目前实体区块的下一实体区块的该读取操作阈值以进行该读取操作。
12.一种用于数据储存装置的开卡方法,其中该数据储存装置包括一快闪存储器,其中该快闪存储器包括多个实体区块,且各实体区块包括多个实体页面,其中部分这些实体区块中的部分这些实体页面为缺陷实体页面,该方法包括:
设定该快闪存储器的一总目标开卡时间;
从这些实体区块中依序选择一目前实体区块以进行该次等级快闪存储器的一开卡作业,并依据一读取操作参数对该目前实体区块进行读取操作;以及
响应于该目前实体区块的该读取操作完成,动态调整这些实体区块的该读取操作所使用的一读取重试次数阈值以使该次等级快闪存储器的该开卡作业在该总目标开卡时间内完成。
13.如权利要求12所述的用于数据储存装置的开卡方法,其特征在于,该快闪存储器包括一或多个快闪存储器晶粒,且该总目标开卡时间依据该一或多个快闪存储器晶粒的数量所设定。
14.权利要求12所述的用于数据储存装置的开卡方法,其特征在于,还包括:
由所选择的该目前实体区块中依序选择一目前实体页面;
依序使用一读取重试表中所记录的各读取阈值电压对该目前实体页面进行该读取操作以取得一页面数据直到该页面数据可成功地被一错误校正电路所校正或是对该目前实体页面进行该读取操作的一读取操作计数值已达到该读取参数阈值。
15.如权利要求12所述的用于数据储存装置的开卡方法,其特征在于,动态调整这些实体区块的该读取操作所使用的一读取重试次数阈值的步骤包括:
响应于该目前实体区块的该读取操作完成,取得该次等级快闪存储器的该开卡作业的已经过读取时间,并依据该开卡作业已读取的这些实体区块的数量、这些实体区块的总数量、及该已经过读取时间以计算一预测开卡时间。
16.如权利要求15所述的用于数据储存装置的开卡方法,其特征在于,动态调整这些实体区块的该读取操作所使用的一读取重试次数阈值的步骤更包括:
将该总目标开卡时间减去该已经过读取时间已得到一剩余可使用开卡时间。
17.如权利要求16所述的用于数据储存装置的开卡方法,其特征在于,该读取操作阈值为一读取重试次数阈值且该读取操作计数值为一重试读取次数。
18.如权利要求17所述的用于数据储存装置的开卡方法,其特征在于,动态调整这些实体区块的该读取操作所使用的一读取重试次数阈值的步骤更包括:
将已读取的这些实体区块的一读取重试次数累积阈值除以一已读取实体区块数量以得到已读取的这些实体区块的一读取重试次数平均阈值。
19.如权利要求18所述的用于数据储存装置的开卡方法,其特征在于,动态调整这些实体区块的该读取操作所使用的一读取重试次数阈值的步骤更包括:
将该读取重试次数平均阈值乘以该剩余可使用开卡时间再除以该预测开卡时间以得到下一读取重试次数阈值;以及
将该下一读取重试次数阈值做为该目前实体区块的下一实体区块的该读取操作阈值以进行该读取操作。
20.如权利要求16所述的用于数据储存装置的开卡方法,其特征在于,该读取操作阈值为一读取页面数量阈值且该读取操作计数值为一读取页面数量。
21.如权利要求20所述的用于数据储存装置的开卡方法,其特征在于,动态调整这些实体区块的该读取操作所使用的一读取重试次数阈值的步骤更包括:
将已读取的这些实体区块的一读取页面累积数量除以一已读取实体区块数量以得到已读取的这些实体区块的一读取页面平均数量。
22.如权利要求21所述的用于数据储存装置的开卡方法,其特征在于,动态调整这些实体区块的该读取操作所使用的一读取重试次数阈值的步骤更包括:
将该读取页面平均数量乘以该剩余可使用开卡时间再除以该预测开卡时间以得到下一读取页面数量阈值;以及
将该下一读取页面数量阈值设定为该目前实体区块的下一实体区块的该读取操作阈值以进行该读取操作。
23.一种数据储存装置,包括:
一快闪存储器,包括多个实体区块,且各实体区块包括多个实体页面,其中部分这些实体区块中的部分这些实体页面为缺陷实体页面;以及
一存储器控制器,用以设定该快闪存储器的一总目标开卡时间,
其中该存储器控制器并从这些实体区块中依序选择一目前实体区块以进行该快闪存储器的一开卡作业,并依据一读取操作阈值对该目前实体区块进行该开卡作业的一读取操作,
其中,响应于该目前实体区块的该读取操作完成,该存储器控制器动态调整这些实体区块的该读取操作所使用的该读取操作阈值,使得该快闪存储器的该开卡作业在该总目标开卡时间内完成。
CN201910807268.9A 2019-07-23 2019-08-29 存储器控制器、数据储存装置及其开卡方法 Active CN112286442B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW108125941A TWI719550B (zh) 2019-07-23 2019-07-23 記憶體控制器、資料儲存裝置及其開卡方法
TW108125941 2019-07-23

Publications (2)

Publication Number Publication Date
CN112286442A true CN112286442A (zh) 2021-01-29
CN112286442B CN112286442B (zh) 2023-12-08

Family

ID=74187674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910807268.9A Active CN112286442B (zh) 2019-07-23 2019-08-29 存储器控制器、数据储存装置及其开卡方法

Country Status (3)

Country Link
US (1) US10983854B2 (zh)
CN (1) CN112286442B (zh)
TW (1) TWI719550B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356806A (zh) * 2021-12-31 2022-04-15 深圳宏芯宇电子股份有限公司 快速开卡方法、设备及计算机可读存储介质
CN117319450A (zh) * 2023-11-27 2023-12-29 成都秦川物联网科技股份有限公司 基于物联网的超声波计量仪表数据交互方法、装置及设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11231863B2 (en) 2019-12-19 2022-01-25 Micron Technology, Inc. Block family-based error avoidance for memory devices
KR20220159842A (ko) * 2021-05-26 2022-12-05 에스케이하이닉스 주식회사 반도체 메모리 장치를 제어하는 컨트롤러 및 그 동작 방법

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10269150A (ja) * 1997-03-21 1998-10-09 Nec Corp メモリ初期化方法
US20080256416A1 (en) * 2007-04-11 2008-10-16 Nec Computertechno, Ltd. Apparatus and method for initializing memory
TW201009598A (en) * 2008-05-14 2010-03-01 Ibm Reducing power-on time by simulating operating system memory Hot Add
CN101727368A (zh) * 2008-10-23 2010-06-09 英业达股份有限公司 开关机测试方法及开关机测试系统
WO2017074591A1 (en) * 2015-10-27 2017-05-04 Sandisk Technologies Llc Read operation delay
US20180197619A1 (en) * 2017-01-12 2018-07-12 Sandisk Technologies Llc Read threshold adjustment with feedback information from error recovery
CN108877858A (zh) * 2017-05-10 2018-11-23 慧荣科技股份有限公司 储存装置以及刷新方法
TW201928589A (zh) * 2017-12-12 2019-07-16 宏碁股份有限公司 儲存系統及其初始化方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007058617A1 (en) * 2005-11-17 2007-05-24 Chee Keng Chang A controller for non-volatile memories, and methods of operating the memory controller
JP2011009496A (ja) * 2009-06-26 2011-01-13 Elpida Memory Inc 半導体装置
JP2017174387A (ja) * 2016-03-17 2017-09-28 パナソニックIpマネジメント株式会社 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法
TWI599880B (zh) * 2016-03-22 2017-09-21 威盛電子股份有限公司 非揮發性記憶體裝置及其操作方法
US10552063B2 (en) * 2018-06-21 2020-02-04 International Business Machines Corporation Background mitigation reads in a non-volatile memory system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10269150A (ja) * 1997-03-21 1998-10-09 Nec Corp メモリ初期化方法
US20080256416A1 (en) * 2007-04-11 2008-10-16 Nec Computertechno, Ltd. Apparatus and method for initializing memory
TW201009598A (en) * 2008-05-14 2010-03-01 Ibm Reducing power-on time by simulating operating system memory Hot Add
CN101727368A (zh) * 2008-10-23 2010-06-09 英业达股份有限公司 开关机测试方法及开关机测试系统
WO2017074591A1 (en) * 2015-10-27 2017-05-04 Sandisk Technologies Llc Read operation delay
US20180197619A1 (en) * 2017-01-12 2018-07-12 Sandisk Technologies Llc Read threshold adjustment with feedback information from error recovery
CN108877858A (zh) * 2017-05-10 2018-11-23 慧荣科技股份有限公司 储存装置以及刷新方法
TW201928589A (zh) * 2017-12-12 2019-07-16 宏碁股份有限公司 儲存系統及其初始化方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356806A (zh) * 2021-12-31 2022-04-15 深圳宏芯宇电子股份有限公司 快速开卡方法、设备及计算机可读存储介质
CN114356806B (zh) * 2021-12-31 2024-04-16 深圳宏芯宇电子股份有限公司 快速开卡方法、设备及计算机可读存储介质
CN117319450A (zh) * 2023-11-27 2023-12-29 成都秦川物联网科技股份有限公司 基于物联网的超声波计量仪表数据交互方法、装置及设备
CN117319450B (zh) * 2023-11-27 2024-02-09 成都秦川物联网科技股份有限公司 基于物联网的超声波计量仪表数据交互方法、装置及设备

Also Published As

Publication number Publication date
TWI719550B (zh) 2021-02-21
US10983854B2 (en) 2021-04-20
CN112286442B (zh) 2023-12-08
US20210026718A1 (en) 2021-01-28
TW202105189A (zh) 2021-02-01

Similar Documents

Publication Publication Date Title
CN112286442B (zh) 存储器控制器、数据储存装置及其开卡方法
US8458417B2 (en) Garbage collection in a storage device
US10372619B2 (en) Data backup method, data recovery method and storage controller
US8812784B2 (en) Command executing method, memory controller and memory storage apparatus
TWI524183B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI557561B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
US9880742B2 (en) Valid data merging method, memory controller and memory storage apparatus
US8510502B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
US9176865B2 (en) Data writing method, memory controller, and memory storage device
US9652330B2 (en) Method for data management and memory storage device and memory control circuit unit
US9141530B2 (en) Data writing method, memory controller and memory storage device
US9619380B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US10564862B2 (en) Wear leveling method, memory control circuit unit and memory storage apparatus
TWI584291B (zh) 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
CN106445401B (zh) 表格更新方法、存储器储存装置及存储器控制电路单元
KR20160074025A (ko) 데이터 저장 장치의 동작 방법
TW202027085A (zh) 改善快閃記憶體之讀取重試的方法、控制器以及相關儲存裝置
US9733832B2 (en) Buffer memory accessing method, memory controller and memory storage device
CN110364197B (zh) 解码方法以及存储控制器
CN113010458B (zh) 存储器管理方法、存储控制器与存储装置
US20240143226A1 (en) Data storage device and method for managing a write buffer
US20240126473A1 (en) Data storage device and method for managing a write buffer
TWI718889B (zh) 改善快閃記憶體之讀取重試的方法、控制器以及相關儲存裝置
TW202418092A (zh) 資料儲存裝置與寫入緩存器管理方法
TW202418090A (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