CN111078149B - 存储器管理方法、存储器存储装置及存储器控制电路单元 - Google Patents
存储器管理方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN111078149B CN111078149B CN201911310733.4A CN201911310733A CN111078149B CN 111078149 B CN111078149 B CN 111078149B CN 201911310733 A CN201911310733 A CN 201911310733A CN 111078149 B CN111078149 B CN 111078149B
- Authority
- CN
- China
- Prior art keywords
- reading
- error
- threshold
- unit
- bit
- 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
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- 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
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; 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/0629—Configuration or reconfiguration of storage systems
-
- 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/0653—Monitoring storage devices or systems
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
-
- 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/0409—Online test
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供一种存储器管理方法,包括:读取实体单元,并更新所述实体单元的读取次数;在所述更新的读取次数不小于读取次数阀值时扫描所述实体单元;以及根据读取次数及读错比特调整所述读取次数阀值。藉此,可判断需要进行扫描的数据单元,以减少不必要的数据扫描。
Description
技术领域
本发明涉及一种存储器管理技术,尤其涉及一种存储器管理方法、存储器存储装置及存储器控制电路单元。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(rewritable non-volatilememory module)(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
在存储器管理技术中,当主机系统对存储器存储装置中同一数据单元的读取次数超过一定数量后,可能会导致数据单元中存储的数据不稳定,因此需要对数据单元进行扫描检查,以确定数据单元是否需要更新。然而,若状况良好的数据单元经常被扫描将影响存储器的效能。或者,状况不好的数据单元未被及时扫描并将数据搬移,可能会造成数据丢失。因此需要准确的判断需要进行数据扫描的数据单元。
发明内容
本发明提供一种存储器管理方法、存储器存储装置及存储器控制电路单元,可判断需要进行数据扫描的数据单元。
本发明的范例实施例提供一种存储器管理方法,用于存储器存储装置,且所述存储器管理方法包括:读取实体单元,并更新所述实体单元的读取次数;在所述更新的读取次数不小于读取次数阀值时扫描所述实体单元;以及根据所述读取次数及读错比特调整所述读取次数阀值。
在本发明的一范例实施例中,根据所述读取次数及所述读错比特调整所述读取次数阀值的步骤包括:根据所述实体单元的读错比特阀值及最大读错比特决定第一读错相关因素。
在本发明的一范例实施例中,根据所述读取次数及所述读错比特调整所述读取次数阀值的步骤包括:根据先前读取次数阀值、预设读取次数阀值及所述第一读错相关因素决定所述读取次数阀值。
在本发明的一范例实施例中,所述存储器管理方法包括:根据所述实体单元的抹除次数决定所述预设读取次数阀值。
在本发明的一范例实施例中,读取所述实体单元,并更新所述实体单元的所述读取次数的步骤还包括:取得所述实体单元的所述读错比特。
在本发明的一范例实施例中,在所述更新的读取次数不小于所述读取次数阀值阀值时扫描所述实体单元的步骤包括:若所述读错比特大于读错比特阀值,则将所述实体单元中的数据复制至另一实体单元;以及若所述读错比特不大于所述读错比特阀值,则记录所述更新的读取次数。
在本发明的一范例实施例中,取得所述实体单元的所述读错比特的步骤还包括:若所述读错比特大于最大读错比特,根据所述读错比特更新所述最大读错比特。
在本发明的一范例实施例中,所述方法还包括:根据所述实体单元的读错比特阀值及所述更新的最大读错比特决定第二读错相关因素;根据先前读取次数阀值、预设读取次数阀值及所述第二读错相关因素决定更新的读取次数阀值;以及在所述更新的读取次数不小于所述更新的读取次数阀值时扫描所述实体单元。
本发明的范例实施例另提供一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块以及存储器控制电路单元。所述连接接口单元用以耦接至主机系统。所述存储器控制电路单元耦接至所述连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元用以读取所述实体单元,并更新所述实体单元的读取次数。所述存储器控制电路单元还用以在所述更新的读取次数不小于所述读取次数阀值时扫描所述实体单元。并且所述存储器控制电路单元还用以根据所述读取次数及读错比特调整所述读取次数阀值。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述读取次数及所述读错比特调整所述读取次数阀值的操作包括:根据所述实体单元的读错比特阀值及最大读错比特决定第一读错相关因素。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述读取次数及所述读错比特调整所述读取次数阀值的操作包括:根据先前读取次数阀值、预设读取次数阀值及所述第一读错相关因素决定所述读取次数阀值。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述实体单元的抹除次数决定所述预设读取次数阀值。
在本发明的一范例实施例中,所述存储器控制电路单元读取所述实体单元,并更新所述实体单元的所述读取次数的操作包括:取得所述实体单元的所述读错比特。
在本发明的一范例实施例中,所述存储器控制电路单元在所述更新的读取次数不小于所述读取次数阀值时扫描所述实体单元的操作包括:若所述读错比特大于读错比特阀值,则将所述实体单元中的数据复制至另一实体单元;以及若所述读错比特不大于所述读错比特阀值,则记录所述更新的读取次数。
在本发明的一范例实施例中,取得所述实体单元的所述读错比特的操作包括:若所述读错比特大于最大读错比特,根据所述读错比特更新所述最大读错比特。
在本发明的一范例实施例中,所述存储器控制电路单元还用以根据所述实体单元的读错比特阀值及所述更新的最大读错比特决定第二读错相关因素,所述存储器控制电路单元还用以根据先前读取次数阀值、预设读取次数阀值及所述第二读错相关因素决定更新的读取次数阀值,并且所述存储器控制电路单元还用以在所述更新的读取次数不小于所述更新的读取次数阀值时扫描所述实体单元。
本发明的另一范例实施例提供一种存储器控制电路单元,其用于控制包括可复写式非易失性存储器模块的存储器存储装置,且所述存储器控制电路单元包括主机接口、存储器接口以及存储器管理电路。所述主机接口用以耦接至主机系统。所述存储器接口用以耦接至所述可复写式非易失性存储器模块。所述存储器管理电路耦接至所述主机接口与所述存储器接口。所述存储器控制电路单元用以读取所述实体单元,并更新所述实体单元的读取次数。所述存储器控制电路单元还用以在所述更新的读取次数不小于所述读取次数阀值时扫描所述实体单元。并且所述存储器控制电路单元还用以根据读所述读取次数及错比特调整所述读取次数阀值。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述读取次数及所述读错比特调整所述读取次数阀值的操作包括:根据所述实体单元的读错比特阀值及最大读错比特决定第一读错相关因素。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述读取次数及所述读错比特调整所述读取次数阀值的操作包括:根据先前读取次数阀值、预设读取次数阀值及所述第一读错相关因素决定所述读取次数阀值。
在本发明的一范例实施例中,所述存储器控制电路单元根据所述实体单元的抹除次数决定所述预设读取次数阀值。
在本发明的一范例实施例中,所述存储器控制电路单元读取所述实体单元,并更新所述实体单元的所述读取次数的操作包括:取得所述实体单元的所述读错比特。
在本发明的一范例实施例中,所述存储器控制电路单元在所述更新的读取次数不小于所述读取次数阀值时扫描所述实体单元的操作包括:若所述读错比特大于读错比特阀值,则将所述实体单元中的数据复制至另一实体单元;以及若所述读错比特不大于所述读错比特阀值,则记录所述更新的读取次数。
在本发明的一范例实施例中,取得所述实体单元的所述读错比特的操作包括:若所述读错比特大于最大读错比特,根据所述读错比特更新所述最大读错比特。
在本发明的一范例实施例中,所述存储器控制电路单元还用以根据所述实体单元的读错比特阀值及所述更新的最大读错比特决定第二读错相关因素,所述存储器控制电路单元还用以根据先前读取次数阀值、预设读取次数阀值及所述第二读错相关因素决定更新的读取次数阀值,并且所述存储器控制电路单元还用以在所述更新的读取次数不小于所述更新的读取次数阀值时扫描所述实体单元。
基于上述,存储器管理电路可根据实体单元的读错比特阀值及最大读错比特决定相关读错因素。接着,根据先前读取次数阀值、预设读取次数阀值及相关读错因素决定读取次数阀值。在计算出读取次数阀值之后,存储器管理电路判断实体单元的读取次数是否不小于读取次数阀值。并在读取次数不小于读取次数阀值时扫描实体单元。藉此,可有效减少不必要的数据扫描和/或避免未及时扫描实体单元而造成数据丢失的问题。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图;
图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图;
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图7是根据本发明的一范例实施例所示出的存储器管理方法的流程图;
图8是根据本发明的一范例实施例所示出的存储器管理方法的流程图。
附图标记说明
10、30:存储器存储装置
11、31:主机系统
110:系统总线
111:处理器
112:随机存取存储器
113:只读存储器
114:数据传输接口
12:输入/输出(I/O)装置
20:主机板
201:U盘
202:存储卡
203:固态硬盘
204:无线存储器存储装置
205:全球定位系统模块
206:网络接口卡
207:无线传输装置
208:键盘
209:屏幕
210:喇叭
32:SD卡
33:CF卡
34:嵌入式存储装置
341:嵌入式多媒体卡
342:嵌入式多芯片封装存储装置
402:连接接口单元
404:存储器控制电路单元
406:可复写式非易失性存储器模块
502:存储器管理电路
504:主机接口
506:存储器接口
508:错误检查与校正电路
510:缓冲存储器
512:电源管理电路
601:存储区
602:替换区
610(0)~610(B):实体单元
612(0)~612(C):逻辑单元
S701~S705、S801~S810:步骤
具体实施方式
一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与控制器(亦称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆耦接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10耦接。例如,主机系统11可经由数据传输接口114将数据存储至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12耦接。例如,主机系统11可经由系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以经由有线或无线方式耦接至存储器存储装置10。存储器存储装置10可例如是U盘201、存储卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通讯(Near FieldCommunication,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110耦接至全球定位系统(Global Positioning System,GPS)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通讯装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的安全数码(SecureDigital,SD)卡32、小型快闪(Compact Flash,CF)卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded Multi MediaCard,eMMC)341和/或嵌入式多芯片封装(embedded Multi Chip Package,eMCP)存储装置342等各类型将存储器模块直接耦接于主机系统的基板上的嵌入式存储装置。
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
连接接口单元402用以将存储器存储装置10耦接至主机系统11。存储器存储装置10可通过连接接口单元402与主机系统11通讯。在本范例实施例中,连接接口单元402是相容于串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402亦可以是符合并行高级技术附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、SD接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(MemoryStick,MS)接口标准、MCP接口标准、MMC接口标准、eMMC接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、eMCP接口标准、CF接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元404的芯片外。
存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑闸或控制指令并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块406是耦接至存储器控制电路单元404并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个比特的快闪存储器模块)、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特的快闪存储器模块)、三阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特的快闪存储器模块)、四阶存储单元(Quad Level Cell,QLC)NAND型快闪存储器模块(即,一个存储单元中可存储4个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块406中的每一个存储单元是以电压(以下亦称为临界电压)的改变来存储一或多个比特。具体来说,每一个存储单元的控制栅极(controlgate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,进而改变存储单元的临界电压。此改变存储单元的临界电压的操作亦称为“把数据写入至存储单元”或“程序化(programming)存储单元”。随着临界电压的改变,可复写式非易失性存储器模块406中的每一个存储单元具有多个存储状态。通过施予读取电压可以判断一个存储单元是属于哪一个存储状态,藉此取得此存储单元所存储的一或多个比特。
在本范例实施例中,可复写式非易失性存储器模块406的存储单元可构成多个实体程序化单元,并且此些实体程序化单元可构成多个实体抹除单元。具体来说,同一条字元线上的存储单元可组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的比特,则同一条字元线上的实体程序化单元可至少可被分类为下实体程序化单元与上实体程序化单元。例如,一存储单元的最低有效比特(Least Significant Bit,LSB)是属于下实体程序化单元,并且一存储单元的最高有效比特(Most Significant Bit,MSB)是属于上实体程序化单元。一般来说,在MLC NAND型快闪存储器中,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度,和/或下实体程序化单元的可靠度是高于上实体程序化单元的可靠度。
在本范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元可为实体页面(page)或是实体扇(sector)。若实体程序化单元为实体页面,则此些实体程序化单元可包括数据比特区与冗余(redundancy)比特区。数据比特区包含多个实体扇,用以存储使用者数据,而冗余比特区用以存储系统数据(例如,错误更正码等管理数据)。在本范例实施例中,数据比特区包含32个实体扇,且一个实体扇的大小为512字节(byte,B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇,并且每一个实体扇的大小也可以是更大或更小。另一方面,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。例如,实体抹除单元为实体区块(block)。
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504及存储器接口506。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路502的控制指令是以固件型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在另一范例实施例中,存储器管理电路502的控制指令亦可以程序码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在另一范例实施例中,存储器管理电路502的控制指令亦可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是耦接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或存储单元群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序码或指令码并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路502还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。
主机接口504是耦接至存储器管理电路502。存储器管理电路502可通过主机接口504与主机系统11通讯。主机接口504可用以接收与识别主机系统11所传送的指令与数据。例如,主机系统11所传送的指令与数据可通过主机接口504来传送至存储器管理电路502。此外,存储器管理电路502可通过主机接口504将数据传送至主机系统11。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504亦可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是耦接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路502要存取可复写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收操作等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路502产生并且通过存储器接口506传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括指令码或程序码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
在一范例实施例中,存储器控制电路单元404还包括错误检查与校正电路508、缓冲存储器510与电源管理电路512。
错误检查与校正电路508是耦接至存储器管理电路502并且用以执行错误检查与校正操作以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路508会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC)和/或错误检查码(error detecting code,EDC),并且存储器管理电路502会将对应此写入指令的数据与对应的错误更正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码和/或错误检查码,并且错误检查与校正电路508会依据此错误更正码和/或错误检查码对所读取的数据执行错误检查与校正操作。
缓冲存储器510是耦接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路512是耦接至存储器管理电路502并且用以控制存储器存储装置10的电源。
在一范例实施例中,图4的可复写式非易失性存储器模块406亦称为快闪(flash)存储器模块,且存储器控制电路单元404亦称为用于控制快闪存储器模块的快闪存储器控制器。在一范例实施例中,图5的存储器管理电路502亦称为快闪存储器管理电路。
图6是根据本发明的一范例实施例所示出的管理可复写式非易失性存储器模块的示意图。请参照图6,存储器管理电路502可将可复写式非易失性存储器模块406的实体单元610(0)~610(B)逻辑地分组至存储区601与替换区602。存储区601中的实体单元610(0)~610(A)是用以存储数据,而替换区602中的实体单元610(A+1)~610(B)则是用以替换存储区601中损坏的实体单元。例如,若从某一个实体单元中读取的数据所包含的错误过多而无法被更正时,此实体单元会被视为是损坏的实体单元。须注意的是,若替换区602中没有可用的实体抹除单元,则存储器管理电路502可能会将整个存储器存储装置10宣告为写入保护(write protect)状态,而无法再写入数据。
在本范例实施例中,每一个实体单元是指一个实体抹除单元。然而,在另一范例实施例中,一个实体单元亦可以是指一个实体地址、一个实体程序化单元或由多个连续或不连续的实体地址组成。存储器管理电路502会配置逻辑单元612(0)~612(C)以映射存储区601中的实体单元610(0)~610(A)。在本范例实施例中,每一个逻辑单元是指一个逻辑地址。然而,在另一范例实施例中,一个逻辑单元也可以是指一个逻辑程序化单元、一个逻辑抹除单元或者由多个连续或不连续的逻辑地址组成。此外,逻辑单元612(0)~612(C)中的每一者可被映射至一或多个实体单元。
存储器管理电路502可将逻辑单元与实体单元之间的映射关系(亦称为逻辑-实体地址映射关系)记录于至少一逻辑-实体地址映射表。当主机系统11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路502可根据此逻辑-实体地址映射表来执行对于存储器存储装置10的数据存取操作。
在本实施例提供的存储器管理方法中,存储器管理电路502会分别计算关联于各实体单元的读取次数(read count)的读取次数阀值(read count threshold)。并且存储器管理电路502根据计算出的读取次数阀值与该实体单元累积的读取次数进行比较,以决定是否要扫描该实体单元。
本实施例以扫描一实体抹除单元为例。存储器管理电路502会根据实体抹除单元的读取次数及读错比特调整读取次数阀值。具体而言,存储器管理电路502根据实体抹除单元的第一阀值及最大读错比特决定第一读错相关因素。第一阀值(即读错比特阀值)及最大读错比特关联于读错比特。举例而言,存储器管理电路502可根据以下方程式(1)来计算第一读错相关因素。
在方程式(1)中,factorerror bit代表读错相关因素,thresholderror bit代表读错比特阀值,并且error bitmax代表最大读错比特(max read error bit)。读错比特阀值例如是经由一连串实验事先决定,其可用于判断实体抹除单元是否需要刷新(refresh)操作。具体来说,刷新操作是将实体抹除单元中的数据复制至另一实体单元,并将原实体抹除单元抹除后释放到实体单元回收区中。最大读错比特是记录实体抹除单元中最大的读错比特。
接着,存储器管理电路502会根据第二阀值(即,先前读取次数阀值)、第三阀值(即,预设读取次数阀值)及第一读错相关因素决定第四阀值(即,读取次数阀值)。第二阀值及第三阀值关联于该实体单元的读取次数。举例而言,存储器管理电路502可根据以下方程式(2)来计算读取次数阀值。
thresholdnext=thresholdpre+thresholdnormal×factorerror bit (2)
在方程式(2)中,thresholdnext代表读取次数阀值,thresholdpre代表先前读取次数阀值,thresholdnormal代表预设读取次数阀值,并且factorerror bit代表读错相关因素。具体而言,先前读取次数阀值是前一次存储器管理电路502扫描该实体抹除单元时,用于判断是否要进行扫描的读取次数阀值。而预设读取次数阀值例如是存储器管理电路502根据该实体抹除单元的抹除次数(erase count)决定。当抹除次数越高,实体抹除单元会有整体空间变小或是坏掉的风险,因此抹除次数与预设读取次数阀值呈负相关。亦即,实体抹除单元的抹除次数越多,则预设读取次数阀值越低。换句话说,读取次数阀值可以根据实体抹除单元的抹除次数而重新计算决定。在一范例实施例中,各抹除次数与预设读取次数阀值的对应关系可以例如是存储在查找表中,并且存储器管理电路502可以将抹除次数输入至此查找表并将此查找表的输出作为对应于抹除次数的预设读取次数阀值。抹除次数与预设读取次数阀值的对应关系例如下表1所示,其中对于不同的存储器,抹除次数与预设读取次数阀值之间的关系亦可能有所不同。对于单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块,预设读取次数阀值会随着抹除次数增加而减少。另一方面多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块,预设读取次数阀值会随着抹除次数的增加而先增加然后减少。
表1
在其他实施例中,各抹除次数与预设读取次数阀值的对应关系也可以利用方程式计算而得,本发明不在此限制。
在一范例实施例中,方程式(1)及(2)亦可以被调整,例如加入其他变数或调整至少部分逻辑运算元素,以符合实务需求,只要可计算出关于读取次数阀值与实体抹除单元的最大读错比特呈负相关即可。
当接收来自主机系统11的读取指令时,存储器管理电路502会发送读取指令序列以指示可复写式非易失性存储器模块406从此些存储单元读取数据。存储器管理电路502会根据读取指令读取实体程序化单元(又称实体页),并更新实体抹除单元的读取次数。具体而言,在存储器管理电路502每次读取实体程序化单元时,将持续累计实体抹除单元的读取次数并更新读取次数。存储器管理电路502判断更新的读取次数是否不小于读取次数阀值,并在更新的读取次数不小于读取次数阀值时扫描该实体抹除单元。若更新的读取次数小于读取次数阀值,存储器管理电路502继续接收来自主机系统11的读取指令,并且继续累计实体抹除单元的读取次数直到大于或等于读取次数阀值。
通过综合考虑抹除次数、读错比特等因素对读取次数阀值的影响,本实施例提供的存储器管理方法可以准确的判断是否需要进行扫描实体抹除单元。
在本实施例提供的存储器管理方法中,存储器管理电路502还可以在扫描实体抹除单元后根据其他条件判断对实体抹除单元进行的操作。具体来说,扫描实体抹除单元可以例如读取该实体抹除单元的全部实体程序化单元或部分实体程序化单元(例如仅读取奇数页或偶数页、隔固定页如三页或五页读取实体程序化单元),而存储器管理电路502在如上所述的读取实体抹除单元的实体程序化单元时,即可取得各实体程序化单元的读错比特(read error bit)。存储器管理电路502判断更新的读错比特是否大于第一阀值(即,读错比特阀值)。若存储器管理电路502判断读错比特大于读错比特阀值,则刷新上述实体抹除单元。在刷新操作中,存储器管理电路502将上述实体抹除单元中的数据复制至另一实体抹除单元,并将上述实体抹除单元抹除后释放到实体抹除单元回收区中。若存储器管理电路502判断读错比特不大于读错比特阀值,则记录更新的读取次数,并且可回到步骤S803,存储器管理电路502继续接收来自主机系统11的读取指令,并且在读取实体抹除单元时更新读错比特。
在本实施例提供的存储器管理方法中,存储器管理电路502会根据不同条件重新计算读取次数阀值。例如,根据实体单元的读错比特更新最大读错比特。具体而言,存储器管理电路502会判断读错比特是否大于最大读错比特。若存储器管理电路502判断所读取的实体程序化单元的读错比特大于最大读错比特,则根据读错比特更新最大读错比特。若判断所读取的实体程序化单元的读错比特不大于最大读错比特,存储器管理电路502继续接收来自主机系统11的读取指令,并且在读取实体单元时更新读错比特。
在本范例实施例中,存储器管理电路502在更新最大读错比特后重新计算读取次数阀值。具体而言,存储器管理电路502会根据实体单元的读错比特阀值及更新的最大读错比特决定第二读错相关因素。接着,根据先前读取次数阀值、预设读取次数阀值及第二读错相关因素决定第五阀值(即,更新的读取次数阀值)。并且在更新的读取次数不小于更新的读取次数阀值时扫描实体单元。
图7是根据本发明的一范例实施例所示出的存储器管理方法的流程图。请参照图7,在步骤S701中,根据实体单元的第一阀值及最大读错比特决定第一相关因素。在步骤S702中,根据第二阀值、第三阀值及第一相关因素决定第四阀值。在步骤S703中,读取指令读取实体单元,并更新实体单元的读取次数。在步骤S704中,判断更新的读取次数是否不小于第四阀值,并在更新的读取次数不小于第四阀值(步骤S704,判断为是)时扫描该实体单元(步骤S705)。若更新的读取次数小于第四阀值(步骤S704,判断为否),可回到步骤S703。
图8是根据本发明的一范例实施例所示出的存储器管理方法的流程图。请参照图8,步骤S801~S805的具体内容可参考前述步骤S701~S705,各步骤已详细说明如上,在此便不再赘述。需说明的是,在步骤S803中,读取实体单元时,除了更新实体单元的读取次数之外,还取得实体单元的读错比特。在步骤S806中,判断更新的读错比特是否大于第一阀值(即读错阀值)。若判断读错比特大于第一阀值(步骤S806,判断为是),则刷新该实体单元(步骤S807)。若判断读错比特不大于第一阀值(步骤S806,判断为否),则记录更新的读取次数(步骤S808),并且可回到步骤S803。在步骤S809中,判断读错比特是否大于最大读错比特。若判断实体单元的读错比特大于最大读错比特(步骤S809,判断为是),则根据读错比特更新最大读错比特(步骤S810)。若判断实体单元的读错比特不大于最大读错比特(步骤S809,判断为否),可回到步骤S803。
值得注意的是,图7至及图8中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,在上述各实施例中,存储器管理电路502例如是将各阀值、读取次数、(最大)读错比特、计算结果等数据记录存储于可复写式非易失性存储器模块406的特定区域中。
综上所述,本发明提供的存储器管理方法、存储器存储装置及存储器控制电路单元综合考虑了抹除次数、读错比特对读取次数阀值的影响。并且可根据各实体单元的最大读错比特动态计算各实体单元的读取次数阀值,以准确判断实体单元是否需要进行数据扫描。藉此,可有效减少不必要的数据扫描和/或避免未及时扫描实体单元而造成数据丢失的问题,提升存储器的效能。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定的为准。
Claims (18)
1.一种存储器管理方法,用于存储器存储装置,且所述存储器管理方法包括:
读取实体单元,并更新所述实体单元的读取次数;
在所述更新的读取次数不小于读取次数阀值时扫描所述实体单元;以及
根据所述读取次数及读错比特调整所述读取次数阀值,其中根据所述读取次数及所述读错比特调整所述读取次数阀值的步骤包括:
根据先前读取次数阀值、预设读取次数阀值及根据所述实体单元的读错比特阀值及最大读错比特决定的第一读错相关因素决定所述读取次数阀值,其中所述读取次数阀值与所述实体单元的最大读错比特呈负相关。
2.根据权利要求1所述的存储器管理方法,其中所述存储器管理方法包括:
根据所述实体单元的抹除次数决定所述预设读取次数阀值。
3.根据权利要求1所述的存储器管理方法,其中读取所述实体单元,并更新所述实体单元的所述读取次数的步骤还包括:
取得所述实体单元的所述读错比特。
4.根据权利要求3所述的存储器管理方法,其中在所述更新的读取次数不小于所述读取次数阀值时扫描所述实体单元的步骤包括:
若所述读错比特大于读错比特阀值,则将所述实体单元中的数据复制至另一实体单元;以及
若所述读错比特不大于所述读错比特阀值,则记录所述更新的读取次数。
5.根据权利要求3所述的存储器管理方法,其中取得所述实体单元的所述读错比特的步骤还包括:
若所述读错比特大于最大读错比特,根据所述读错比特更新所述最大读错比特。
6.根据权利要求5所述的存储器管理方法,其中所述方法还包括:
根据所述实体单元的读错比特阀值及所述更新的最大读错比特决定第二读错相关因素;
根据先前读取次数阀值、预设读取次数阀值及所述第二读错相关因素决定更新的读取次数阀值;以及
在所述更新的读取次数不小于所述更新的读取次数阀值时扫描所述实体单元。
7.一种存储器存储装置,包括:
连接接口单元,用以耦接至主机系统;
可复写式非易失性存储器模块;以及
存储器控制电路单元,耦接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以读取实体单元,并更新所述实体单元的读取次数,
所述存储器控制电路单元还用以在所述更新的读取次数不小于读取次数阀值时扫描所述实体单元,并且
所述存储器控制电路单元还用以根据所述读取次数及读错比特调整所述读取次数阀值,其中所述存储器控制电路单元根据所述读取次数及所述读错比特调整所述读取次数阀值的操作包括:
根据先前读取次数阀值、预设读取次数阀值及根据所述实体单元的读错比特阀值及最大读错比特决定的第一读错相关因素决定所述读取次数阀值,其中所述读取次数阀值与所述实体单元的最大读错比特呈负相关。
8.根据权利要求7所述的存储器存储装置,其中所述存储器控制电路单元根据所述实体单元的抹除次数决定所述预设读取次数阀值。
9.根据权利要求7所述的存储器存储装置,其中所述存储器控制电路单元读取所述实体单元,并更新所述实体单元的所述读取次数的操作包括:
取得所述实体单元的所述读错比特。
10.根据权利要求9所述的存储器存储装置,其中所述存储器控制电路单元在所述更新的读取次数不小于所述读取次数阀值时扫描所述实体单元的操作包括:
若所述读错比特大于读错比特阀值,则将所述实体单元中的数据复制至另一实体单元;以及
若所述读错比特不大于所述读错比特阀值,则记录所述更新的读取次数。
11.根据权利要求9所述的存储器存储装置,其中取得所述实体单元的所述读错比特的操作包括:
若所述读错比特大于最大读错比特,根据所述读错比特更新所述最大读错比特。
12.根据权利要求11所述的存储器存储装置,其中所述存储器控制电路单元还用以根据所述实体单元的一读错比特阀值及所述更新的最大读错比特决定第二读错相关因素,
所述存储器控制电路单元还用以根据先前读取次数阀值、预设读取次数阀值及所述第二读错相关因素决定一更新的读取次数阀值,并且
所述存储器控制电路单元还用以在所述更新的读取次数不小于所述更新的读取次数阀值时扫描所述实体单元。
13.一种存储器控制电路单元,用于控制包括可复写式非易失性存储器模块的一存储器存储装置,且所述存储器控制电路单元包括:
主机接口,用以耦接至主机系统;
存储器接口,用以耦接至所述可复写式非易失性存储器模块;以及
存储器管理电路,耦接至所述主机接口与所述存储器接口,
其中所述存储器控制电路单元用以读取实体单元,并更新所述实体单元的读取次数,
所述存储器控制电路单元还用以在所述更新的读取次数不小于读取次数阀值时扫描所述实体单元,并且
所述存储器控制电路单元还用以根据所述读取次数及读错比特调整所述读取次数阀值,其中所述存储器控制电路单元根据所述读取次数及所述读错比特调整所述读取次数阀值的操作包括:
根据先前读取次数阀值、预设读取次数阀值及根据所述实体单元的读错比特阀值及最大读错比特决定的第一读错相关因素决定所述读取次数阀值,其中所述读取次数阀值与所述实体单元的最大读错比特呈负相关。
14.根据权利要求13所述的存储器控制电路单元,其中所述存储器控制电路单元根据所述实体单元的抹除次数决定所述预设读取次数阀值。
15.根据权利要求13所述的存储器控制电路单元,其中所述存储器控制电路单元读取所述实体单元,并更新所述实体单元的所述读取次数的操作包括:
取得所述实体单元的所述读错比特。
16.根据权利要求15所述的存储器控制电路单元,其中所述存储器控制电路单元在所述更新的读取次数不小于所述读取次数阀值时扫描所述实体单元的操作包括:
若所述读错比特大于读错比特阀值,则将所述实体单元中的数据复制至另一实体单元;以及
若所述读错比特不大于所述读错比特阀值,则记录所述更新的读取次数。
17.根据权利要求15所述的存储器控制电路单元,其中取得所述实体单元的所述读错比特的操作包括:
若所述读错比特大于最大读错比特,根据所述读错比特更新所述最大读错比特。
18.根据权利要求17所述的存储器控制电路单元,其中所述存储器控制电路单元还用以根据所述实体单元的一读错比特阀值及所述更新的最大读错比特决定第二读错相关因素,
所述存储器控制电路单元还用以根据先前读取次数阀值、预设读取次数阀值及所述第二读错相关因素决定更新的读取次数阀值,并且
所述存储器控制电路单元还用以在所述更新的读取次数不小于所述更新的读取次数阀值时扫描所述实体单元。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911310733.4A CN111078149B (zh) | 2019-12-18 | 2019-12-18 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
US16/779,675 US11586364B2 (en) | 2019-12-18 | 2020-02-03 | Memory management method, memory storage device and memory control circuit unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911310733.4A CN111078149B (zh) | 2019-12-18 | 2019-12-18 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078149A CN111078149A (zh) | 2020-04-28 |
CN111078149B true CN111078149B (zh) | 2023-09-26 |
Family
ID=70315668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911310733.4A Active CN111078149B (zh) | 2019-12-18 | 2019-12-18 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11586364B2 (zh) |
CN (1) | CN111078149B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11816043B2 (en) | 2018-06-25 | 2023-11-14 | Alibaba Group Holding Limited | System and method for managing resources of a storage device and quantifying the cost of I/O requests |
US11061735B2 (en) | 2019-01-02 | 2021-07-13 | Alibaba Group Holding Limited | System and method for offloading computation to storage nodes in distributed system |
US10860223B1 (en) | 2019-07-18 | 2020-12-08 | Alibaba Group Holding Limited | Method and system for enhancing a distributed storage system by decoupling computation and network tasks |
US11617282B2 (en) | 2019-10-01 | 2023-03-28 | Alibaba Group Holding Limited | System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers |
US11449455B2 (en) | 2020-01-15 | 2022-09-20 | Alibaba Group Holding Limited | Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility |
US11379447B2 (en) | 2020-02-06 | 2022-07-05 | Alibaba Group Holding Limited | Method and system for enhancing IOPS of a hard disk drive system based on storing metadata in host volatile memory and data in non-volatile memory using a shared controller |
US11449386B2 (en) * | 2020-03-20 | 2022-09-20 | Alibaba Group Holding Limited | Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory |
US11385833B2 (en) | 2020-04-20 | 2022-07-12 | Alibaba Group Holding Limited | Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources |
US11507499B2 (en) | 2020-05-19 | 2022-11-22 | Alibaba Group Holding Limited | System and method for facilitating mitigation of read/write amplification in data compression |
US11556277B2 (en) | 2020-05-19 | 2023-01-17 | Alibaba Group Holding Limited | System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification |
US11487465B2 (en) | 2020-12-11 | 2022-11-01 | Alibaba Group Holding Limited | Method and system for a local storage engine collaborating with a solid state drive controller |
US11734115B2 (en) | 2020-12-28 | 2023-08-22 | Alibaba Group Holding Limited | Method and system for facilitating write latency reduction in a queue depth of one scenario |
US11726699B2 (en) | 2021-03-30 | 2023-08-15 | Alibaba Singapore Holding Private Limited | Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification |
CN114327265B (zh) * | 2021-12-23 | 2023-05-30 | 群联电子股份有限公司 | 读取干扰检查方法、存储器存储装置及控制电路单元 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101615427A (zh) * | 2008-06-24 | 2009-12-30 | 群联电子股份有限公司 | 非易失性存储器的存储器管理方法及使用此方法的控制器 |
CN105320464A (zh) * | 2014-07-21 | 2016-02-10 | 群联电子股份有限公司 | 防止读取干扰的方法、存储器控制电路单元与存储装置 |
CN106484308A (zh) * | 2015-08-26 | 2017-03-08 | 群联电子股份有限公司 | 数据保护方法、存储器控制电路单元及存储器储存装置 |
CN107045890A (zh) * | 2016-02-05 | 2017-08-15 | 群联电子股份有限公司 | 数据保护方法、存储器控制电路单元及存储器存储装置 |
CN107204205A (zh) * | 2016-03-16 | 2017-09-26 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
CN109727622A (zh) * | 2017-10-31 | 2019-05-07 | 美光科技公司 | Slc页读取 |
CN110333770A (zh) * | 2019-07-10 | 2019-10-15 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI373771B (en) | 2008-06-06 | 2012-10-01 | Phison Electronics Corp | Memory management method for non-volatile memory and controller using the same |
US20140068378A1 (en) * | 2012-08-31 | 2014-03-06 | Kabushiki Kaisha Toshiba | Semiconductor storage device and memory controller |
US8930778B2 (en) * | 2012-11-15 | 2015-01-06 | Seagate Technology Llc | Read disturb effect determination |
TWI490871B (zh) * | 2014-07-11 | 2015-07-01 | Phison Electronics Corp | 防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置 |
US20170075593A1 (en) * | 2015-09-11 | 2017-03-16 | Sandisk Technologies Inc. | System and method for counter flush frequency |
TWI591482B (zh) * | 2016-01-30 | 2017-07-11 | 群聯電子股份有限公司 | 資料保護方法、記憶體控制電路單元及記憶體儲存裝置 |
TWI587304B (zh) | 2016-03-09 | 2017-06-11 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
KR20200084200A (ko) * | 2019-01-02 | 2020-07-10 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
-
2019
- 2019-12-18 CN CN201911310733.4A patent/CN111078149B/zh active Active
-
2020
- 2020-02-03 US US16/779,675 patent/US11586364B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101615427A (zh) * | 2008-06-24 | 2009-12-30 | 群联电子股份有限公司 | 非易失性存储器的存储器管理方法及使用此方法的控制器 |
CN105320464A (zh) * | 2014-07-21 | 2016-02-10 | 群联电子股份有限公司 | 防止读取干扰的方法、存储器控制电路单元与存储装置 |
CN106484308A (zh) * | 2015-08-26 | 2017-03-08 | 群联电子股份有限公司 | 数据保护方法、存储器控制电路单元及存储器储存装置 |
CN107045890A (zh) * | 2016-02-05 | 2017-08-15 | 群联电子股份有限公司 | 数据保护方法、存储器控制电路单元及存储器存储装置 |
CN107204205A (zh) * | 2016-03-16 | 2017-09-26 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
CN109727622A (zh) * | 2017-10-31 | 2019-05-07 | 美光科技公司 | Slc页读取 |
CN110333770A (zh) * | 2019-07-10 | 2019-10-15 | 合肥兆芯电子有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
Non-Patent Citations (3)
Title |
---|
Reducing read latency of phase change memory via early read and Turbo Read;Prashant J. Nair等;IEEE;全文 * |
基于FPGA的数据记录器关键技术优化;文丰;刘佳宁;刘东海;;弹箭与制导学报(05);全文 * |
基于一种NAND闪存页缓存器设计的C/F读取算法研究;陈珂;杜智超;叶松;王颀;霍宗亮;;电子学报(11);全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20210191635A1 (en) | 2021-06-24 |
US11586364B2 (en) | 2023-02-21 |
CN111078149A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111078149B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
US10503433B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
US10782920B2 (en) | Data access method, memory storage apparatus and memory control circuit unit | |
CN111078146B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN113885808B (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
CN112860194B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN107045890B (zh) | 数据保护方法、存储器控制电路单元及存储器存储装置 | |
CN110308876B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
TWI784224B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
US20220164133A1 (en) | Memory control method, memory storage device and memory control circuit unit | |
CN111831210B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN111610937A (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
CN114327265B (zh) | 读取干扰检查方法、存储器存储装置及控制电路单元 | |
CN110874282A (zh) | 数据存取方法、存储器控制电路单元与存储器存储装置 | |
CN114138207B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN112053724B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN117636967B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
CN117608501B (zh) | 电压调整方法、存储器存储装置及存储器控制电路单元 | |
US20240152296A1 (en) | Data reading method, memory storage device, and memory control circuit unit | |
CN112181859B (zh) | 有效数据合并方法、存储器控制电路单元与存储装置 | |
CN113724773B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
US12008239B1 (en) | Memory management method, memory storage device and memory control circuit unit | |
CN112347010B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
US20240028506A1 (en) | Mapping table re-building method, memory storage device and memory control circuit unit | |
CN110580230B (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 |