CN109669641B - 降低ssd误码率的数据存放方法及装置 - Google Patents
降低ssd误码率的数据存放方法及装置 Download PDFInfo
- Publication number
- CN109669641B CN109669641B CN201811581965.9A CN201811581965A CN109669641B CN 109669641 B CN109669641 B CN 109669641B CN 201811581965 A CN201811581965 A CN 201811581965A CN 109669641 B CN109669641 B CN 109669641B
- Authority
- CN
- China
- Prior art keywords
- data
- physical block
- read
- read count
- count
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种降低SSD误码率的数据存放方法及装置,方法包括以下步骤:跟踪并记录每个物理块的读计数;将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据;将区分后的冷数据和热数据交错写入新的物理块中。本方案通过将物理块区分为冷数据和热数据,并将冷数据和热数据交错写入同一的物理块中,利用Retention和Read Disturb的左/右移效应的相互抵消,大大降低了数据出错的概率,提高了SSD数据读取性能。
Description
技术领域
本发明涉及到数据读取优化,特别是涉及到一种降低SSD误码率的数据存放方法及装置。
背景技术
SSD又名固态硬盘,已经被广泛应用于各种场合,由于其在性能、功耗、环境适应性等方面的优秀指标,正逐步替换传统的硬盘。
由于NAND的物理特性,其存储数据的CELL单元存在不同的失效场景:例如随着擦写次数/读取次数/数据保存时间等因素的影响,其CELL的状态会产生翻转,进而导致NAND内存储的数据出错。
典型地,SSD内部由专门的ECC纠错算法来处理一定范围内的错误,但是随着错误数据的积累,会需要引入特定的电压偏移的方式来读取数据,这会极大地影响读写性能;进一步地,随着错误数据的增加,以上的方法无法再保证数据纠错,进而导致用户数据丢失。
发明内容
为了解决上述现有技术的缺陷,本发明的目的是提供一种降低SSD误码率的数据存放方法及装置。
为达到上述目的,本发明的技术方案是:
一种降低SSD误码率的数据存放方法,其特征在于,包括以下步骤:
跟踪并记录每个物理块的读计数;
将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据;
将区分后的冷数据和热数据交错写入新的物理块中。
进一步地,所述跟踪并记录每个物理块的读计数步骤,包括,
建立并维护一张计数表,计数表中记录每个物理块的读计数;
将计数表中读计数非0部分按照读计数递增排序。
进一步地,所述跟踪并记录每个物理块的读计数步骤,包括,
当物理块中的数据被擦除时,将该物理块的读计数复位为0
当物理块中的数据被读取时,递增对应的读计数。
进一步地,所述将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据步骤,包括,
预先设定冷数据读计数阈值和热数据读计数阈值;
将读计数与冷数据读计数阈值对比,若读计数小于冷数据读计数阈值,则将物理块中的数据设为冷数据;
将读计数与热数据读计数阈值对比,若读计数大于热数据读计数阈值,则将物理块中的数据设为热数据。
进一步地,所述将读计数与预设阈值进行比对,将每个物理块中的数据区分成冷数据或热数据步骤之前,包括,
周期扫描计数表,周期获取每个物理块的读计数。
本发明还提出了一种降低SSD误码率的数据存放装置,包括:
跟踪记录单元,用于跟踪并记录每个物理块的读计数;
对比分类单元,用于将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据;
交错写入单元,用于将区分后的冷数据和热数据交错写入新的物理块中。
进一步地,所述跟踪记录单元包括记录模块和排序模块,
所述记录模块,用于建立并维护一张计数表,计数表中记录每个物理块的读计数;
所述排序模块,用于将计数表中读计数非0部分按照读计数递增排序。
进一步地,所述跟踪记录单元还包括复位模块和递增模块,
所述复位模块,用于当物理块中的数据被擦除时,将该物理块的读计数复位为0
所述递增模块,用于当物理块中的数据被读取时,递增对应的读计数。
进一步地,所述对比分类单元包括预设模块、第一对比模块和第二对比模块,
所述预设模块,用于预先设定冷数据读计数阈值和热数据读计数阈值;
所述第一对比模块,用于将读计数与冷数据读计数阈值对比,若读计数小于冷数据读计数阈值,则将物理块中的数据设为冷数据;
所述第二对比模块,用于将读计数与热数据读计数阈值对比,若读计数大于热数据读计数阈值,则将物理块中的数据设为热数据。
进一步地,还包括周期扫描单元,用于周期扫描计数表,周期获取每个物理块的读计数。
本发明的有益效果是:通过将物理块区分为冷数据和热数据,并将冷数据和热数据交错写入同一的物理块中,利用Retention和Read Disturb的左/右移效应的相互抵消,大大降低了数据出错的概率,提高了SSD数据读取性能。
附图说明
图1为本发明一实施例一种降低SSD误码率的数据存放方法的方法流程图;
图2为本发明跟踪并记录每个物理块的读计数步骤的方法流程图;
图3为本发明将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据步骤的方法流程图;
图4为本发明另一实施例一种降低SSD误码率的数据存放方法的方法流程图;
图5为本发明另一实施例一种降低SSD误码率的数据存放装置的结构框图;
图6为本发明跟踪记录单元的结构框图;
图7为本发明对比分类单元的结构框图;
图8为NAND Cell默认场景以及失效场景下的电压分布图;
图9为本发明一种计数表的示例图;
图10为本发明交错写有冷数据和热数据的物理块状态图。
具体实施方式
为阐述本发明的思想及目的,下面将结合附图和具体实施例对本发明做进一步的说明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后等)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
如无特别说明,本文中的“/”代表含义为“或”。
参照图1-4,一种降低SSD误码率的数据存放方法,其特征在于,包括以下步骤:
S1、跟踪并记录每个物理块的读计数。
S2、将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据。
S3、将区分后的冷数据和热数据交错写入新的物理块中。
典型的NAND组成如下:DIE,可独立并发操作的单元;Block,可独立擦除的单元,其内各个物理位置的数据写入后在下一次写之前必须要将整个Block擦除;Page,读写单元,同一物理块内的Page必需按顺序编程:0->1->2->3…。
如图8所示,为NAND在各个场景下的电压分布。以MLC为例,每个CELL对应四个可能的状态:A/B/C/D,其中A为默认的擦除后的状态,B/C/D,分别为Program到某个状态。一般情形下,处于某个状态下的Cell数量呈图中的正态分布,且彼此之间间隔比较清晰。读取时,通过与Vref_A/Vref_B/Vref_C参考电压的比较,即可确认某个Cell所处的状态,进而可得知其存储的值。
当某个物理块中的某些页反复被读取时,会导致Read Disturb效应,整体电压分布会右移,如图中所示,此时部分状态的电压分布会出现重合,使用默认的参考电压读取时,无法正确判断Cell的状态。此时需要尝试调整参考电压的位置到Vref_A’/Vref_B’/Vref_C’,尝试读取数据。该尝试过程会导致读性能的降低,并且如果电压偏移过大,则可能无法找到合适的参考电压,进而无法获取正确的数据。
同样地,如果某个物理块中的数据很少被访问,则会产生Retention效应,整体电压分布会左移,同样需要进行尝试调整参考电压。
传统SSD中,会根据数据写入的时间区分数据的冷热,将冷的数据汇集起来集中存储。主要是因为根据此分区策略,预期热的数据很快会被主机覆盖,从而失效。这种划分模型,无法区分数据读的特征,容易出现Retention以及Read Disturb问题,导致数据访问性能低,甚至数据丢失。如图9所示,为引入本发明后的一种计数表数据分布模型,根据数据读取的频率来区分冷热数据,并将冷热数据交织写入物理块中。
冷数据很少被读取,由前面的信息可知,容易出现Retention问题,导致物理块内的电压分布左移;而热数据则会被反复访问,容易出现Read Disturb问题,导致物理块内的电压分布右移。
对于步骤S1,维护一张计数表,通过跟踪每个物理块的读次数,来获取物理块中数据被读取的次数,并更新记录到计数表中,以备后续通过读计数来区分物理块中的数据为冷数据还是热数据。
参考图2,步骤S1包括以下步骤:
S11、建立并维护一张计数表,计数表中记录每个物理块的读计数。
S12、将计数表中读计数非0部分按照读计数递增排序。
S13、当物理块中的数据被擦除时,将该物理块的读计数复位为0。
S14、当物理块中的数据被读取时,递增对应的读计数。
对于步骤S11和S12,建立计数表,通过计数表来记录不同物理块的读计数,如图9所示,计数表中记录了物理块的编号(Block Number),同时对应物理块记录其读计数(RDCounter)。同时,读计数非零数值按照从小到大依次递增排序,读计数数值小的物理块排在前面,读计数数值大的物理块排在后面,排序后能够方便查找冷热数据,提高处理效率。
对于步骤S13和S14,维护计数表,实时根据物理块的读写状态,更新不同物理块的读计数,在物理块中的数据被擦除时,将该物理块的读计数复位为0;在物理块中的数据被读取时,递增对应的读计数,也就是每多读取一次,在物理块对应的读计数上自动加一,实时更新物理块的读计数,保证物理块的读计数准确可靠。
对于步骤S2,冷数据,很少被读取,由前面的信息可知,容易出现Retention问题,导致物理块内的电压分布左移;热数据,会被反复访问,容易出现Read Disturb问题,导致物理块内的电压分布右移,将冷数据和热数据混合在一起,这两个效应会相互抵消,有效降低了物理块电压分布偏移。因此通过预设阈值用于与物理块的实时读计数比对,将所有物理块中的数据区分成热数据和冷数据。
参考图3,步骤S2包括以下步骤:
S21、预先设定冷数据读计数阈值和热数据读计数阈值。
S22、将读计数与冷数据读计数阈值对比,若读计数小于冷数据读计数阈值,则将物理块中的数据设为冷数据。
S23、将读计数与热数据读计数阈值对比,若读计数大于热数据读计数阈值,则将物理块中的数据设为热数据。
对于步骤S21,根据行业已有数据单独设定冷数据读计数阈值(COLD_RD_TH)和热数据读计数阈值(HOT_RD_TH),并将物理块的读计数单独与冷数据读计数阈值(COLD_RD_TH)和热数据读计数阈值(HOT_RD_TH)进行比对,来将物理块中的数据分成冷数据或热数据。
对于步骤S23和S22,当物理块的读计数小于冷数据读计数阈值时,则将物理块中的数据设为冷数据。当物理块的读计数大于热数据读计数阈值,则将物理块中的数据设为热数据。通过将物理块的读计数单独与冷数据读计数阈值和热数据读计数阈值对比,通过大小关系来区分冷数据和热数据,简单可靠。
对于步骤S3,将分类后的冷数据与热数据交错写入到同一个物理块中,冷数据由于很少被读取会因为Retention效应导致物理块内的电压分布左移,而热数据经常被读取会因为Read Disturb效应导致物理块内的电压分布右移,利用冷数据和热数据在同一物理块内的电压左右移效应相互抵消,有效降低了物理块电压分布偏移,保证数据读取性能稳定,避免出现电压偏移过大,而出现数据不可纠错,进而数据丢失的问题。具体如图10所示,为将冷数据和热数据分别从不同物理块搬移到同一物理块中,并交错写入。
参考图4,在本发明步骤S2之前还包括:
S20、周期扫描计数表,周期获取每个物理块的读计数。
对于步骤S20,通过周期扫描计数表,周期获取物理块的读计数,可以根据需要设定还周期扫描的时间间隔,避免间隔时间太长导致读计数结果不准确,进而导致冷热数据分类不准确。
本方案通过将物理块区分为冷数据和热数据,并将冷数据和热数据交错写入同一的物理块中,利用Retention和Read Disturb的左/右移效应的相互抵消,大大降低了数据出错的概率,提高了SSD数据读取性能。
参考图5-7,本发明还提出了一种降低SSD误码率的数据存放装置,包括:
跟踪记录单元10,用于跟踪并记录每个物理块的读计数。
周期扫描单元20,用于周期扫描计数表,周期获取每个物理块的读计数。
对比分类单元30,用于将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据。
交错写入单元40,用于将区分后的冷数据和热数据交错写入新的物理块中。
典型的NAND组成如下:DIE,可独立并发操作的单元;Block,可独立擦除的单元,其内各个物理位置的数据写入后在下一次写之前必须要将整个Block擦除;Page,读写单元,同一物理块内的Page必需按顺序编程:0->1->2->3…。
如图8所示,为NAND在各个场景下的电压分布。以MLC为例,每个CELL对应四个可能的状态:A/B/C/D,其中A为默认的擦除后的状态,B/C/D,分别为Program到某个状态。一般情形下,处于某个状态下的Cell数量呈图中的正态分布,且彼此之间间隔比较清晰。读取时,通过与Vref_A/Vref_B/Vref_C参考电压的比较,即可确认某个Cell所处的状态,进而可得知其存储的值。
当某个物理块中的某些页反复被读取时,会导致Read Disturb效应,整体电压分布会右移,如图中所示,此时部分状态的电压分布会出现重合,使用默认的参考电压读取时,无法正确判断Cell的状态。此时需要尝试调整参考电压的位置到Vref_A’/Vref_B’/Vref_C’,尝试读取数据。该尝试过程会导致读性能的降低,并且如果电压偏移过大,则可能无法找到合适的参考电压,进而无法获取正确的数据。
同样地,如果某个物理块中的数据很少被访问,则会产生Retention效应,整体电压分布会左移,同样需要进行尝试调整参考电压。
传统SSD中,会根据数据写入的时间区分数据的冷热,将冷的数据汇集起来集中存储。主要是因为根据此分区策略,预期热的数据很快会被主机覆盖,从而失效。这种划分模型,无法区分数据读的特征,容易出现Retention以及Read Disturb问题,导致数据访问性能低,甚至数据丢失。如图9所示,为引入本发明后的一种数据分布模型。根据数据读取的频率来区分冷热数据,并将冷热数据交织写入物理块中。
冷数据很少被读取,由前面的信息可知,容易出现Retention问题,导致物理块内的电压分布左移;而热数据则会被反复访问,容易出现Read Disturb问题,导致物理块内的电压分布右移。
对于跟踪记录单元10,维护一张计数表,通过跟踪每个物理块的读次数,来获取物理块中数据被读取的次数,并更新记录到计数表中,以备后续通过读计数来区分物理块中的数据为冷数据还是热数据。
参考图6,跟踪记录单元10包括记录模块11、排序模块12、复位模块13和递增模14。
记录模块11,用于建立并维护一张计数表,计数表中记录每个物理块的读计数。
排序模块12,用于将计数表中读计数非0部分按照读计数递增排序。
复位模块13,用于当物理块中的数据被擦除时,将该物理块的读计数复位为0。
递增模块14,用于当物理块中的数据被读取时,递增对应的读计数。
对于记录模块11和排序模块12,建立计数表,并通过计数表来记录不同物理块的读计数,如图9所示,计数表中记录了物理块的编号(Block Number),同时对应物理块记录其读计数(RD Counter)。同时,读计数非零数值按照从小到大依次递增排序,读计数数值小的物理块排在前面,读计数数值大的物理块排在后面。
对于复位模块13和递增模14,维护计数表,实时根据物理块的读写状态,更新不同物理块的读计数,在物理块中的数据被擦除时,将该物理块的读计数复位为0;在物理块中的数据被读取时,递增对应的读计数,也就是每多读取一次,在物理块对应的读计数上自动加一,实时更新物理块的读计数,保证物理块的读计数准确可靠。
对于周期扫描单元20,通过周期扫描计数表,周期获取物理块的读计数,可以根据需要设定还周期扫描的时间间隔,避免间隔时间太长导致读计数结果不准确,进而导致冷热数据分类不准确。
对于比分类单元30,冷数据,很少被读取,由前面的信息可知,容易出现Retention问题,导致物理块内的电压分布左移;热数据,会被反复访问,容易出现Read Disturb问题,导致物理块内的电压分布右移,将冷数据和热数据混合在一起,这两个效应会相互抵消,有效降低了物理块电压分布偏移。因此通过预设阈值用于与物理块的实时读计数比对,将所有物理块中的数据区分成热数据和冷数据。
参考图7,对比分类单元30包括预设模块31、第一对比模块32和第二对比模块33。
预设模块31,用于预先设定冷数据读计数阈值和热数据读计数阈值。
第一对比模块32,用于将读计数与冷数据读计数阈值对比,若读计数小于冷数据读计数阈值,则将物理块中的数据设为冷数据。
第二对比模块33,用于将读计数与热数据读计数阈值对比,若读计数大于热数据读计数阈值,则将物理块中的数据设为热数据。
对于预设模块31,根据行业已有数据单独设定冷数据读计数阈值(COLD_RD_TH)和热数据读计数阈值(HOT_RD_TH),并将物理块的读计数单独与冷数据读计数阈值(COLD_RD_TH)和热数据读计数阈值(HOT_RD_TH)进行比对,来将物理块中的数据分成冷数据或热数据。
对于第一对比模块32和第二对比模块33,当物理块的读计数小于冷数据读计数阈值时,则将物理块中的数据设为冷数据。当物理块的读计数大于热数据读计数阈值,则将物理块中的数据设为热数据。通过将物理块的读计数单独与冷数据读计数阈值和热数据读计数阈值对比,通过大小关系来区分冷数据和热数据,简单可靠。
对于交错写入单元40,将分类后的冷数据与热数据交错写入到同一个物理块中,冷数据由于很少被读取会因为Retention效应导致物理块内的电压分布左移,而热数据经常被读取会因为Read Disturb效应导致物理块内的电压分布右移,利用冷数据和热数据在同一物理块内的电压左右移效应相互抵消,有效降低了物理块电压分布偏移,保证数据读取性能稳定,避免出现电压偏移过大,而出现数据不可纠错,进而数据丢失的问题。具体如图10所示,为将冷数据和热数据分别从不同物理块搬移到同一物理块中,并交错写入。
本方案通过将物理块区分为冷数据和热数据,并将冷数据和热数据交错写入同一的物理块中,利用Retention和Read Disturb的左/右移效应的相互抵消,大大降低了数据出错的概率,提高了SSD数据读取性能。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种降低SSD误码率的数据存放方法,其特征在于,包括以下步骤:
跟踪并记录每个物理块的读计数;
将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据;
将区分后的冷数据和热数据交错写入新的物理块中;
所述跟踪并记录每个物理块的读计数步骤,包括,
建立并维护一张计数表,计数表中记录每个物理块的读计数;
将计数表中读计数非0部分按照读计数递增排序;
所述跟踪并记录每个物理块的读计数步骤,包括,
当物理块中的数据被擦除时,将该物理块的读计数复位为0;
当物理块中的数据被读取时,递增对应的读计数;
计数表中记录了物理块的编号,同时对应物理块记录其读计数,同时读计数非零数值按照从小到大依次递增排序,读计数数值小的物理块排在前面,读计数数值大的物理块排在后面;维护计数表,实时根据物理块的读写状态,更新不同物理块的读计数,在物理块中的数据被擦除时,将该物理块的读计数复位为0;在物理块中的数据被读取时,递增对应的读计数,也就是每多读取一次,在物理块对应的读计数上自动加一,实时更新物理块的读计数。
2.如权利要求1所述的降低SSD误码率的数据存放方法,其特征在于,所述将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据步骤,包括,
预先设定冷数据读计数阈值和热数据读计数阈值;
将读计数与冷数据读计数阈值对比,若读计数小于冷数据读计数阈值,则将物理块中的数据设为冷数据;
将读计数与热数据读计数阈值对比,若读计数大于热数据读计数阈值,则将物理块中的数据设为热数据。
3.如权利要求1所述的降低SSD误码率的数据存放方法,其特征在于,所述将读计数与预设阈值进行比对,将每个物理块中的数据区分成冷数据或热数据步骤之前,包括,
周期扫描计数表,周期获取每个物理块的读计数。
4.一种降低SSD误码率的数据存放装置,其特征在于,包括:
跟踪记录单元,用于跟踪并记录每个物理块的读计数;
对比分类单元,用于将读计数与预设阈值进行比对,将每个物理块中的数据分成冷数据或热数据;
交错写入单元,用于将区分后的冷数据和热数据交错写入新的物理块中,
所述跟踪记录单元包括记录模块和排序模块,
所述记录模块,用于建立并维护一张计数表,计数表中记录每个物理块的读计数;
所述排序模块,用于将计数表中读计数非0部分按照读计数递增排序;
所述跟踪记录单元还包括复位模块和递增模块,
所述复位模块,用于当物理块中的数据被擦除时,将该物理块的读计数复位为0;
所述递增模块,用于当物理块中的数据被读取时,递增对应的读计数;
计数表中记录了物理块的编号,同时对应物理块记录其读计数,同时读计数非零数值按照从小到大依次递增排序,读计数数值小的物理块排在前面,读计数数值大的物理块排在后面;维护计数表,实时根据物理块的读写状态,更新不同物理块的读计数,在物理块中的数据被擦除时,将该物理块的读计数复位为0;在物理块中的数据被读取时,递增对应的读计数,也就是每多读取一次,在物理块对应的读计数上自动加一,实时更新物理块的读计数。
5.如权利要求4所述的降低SSD误码率的数据存放装置,其特征在于,所述对比分类单元包括预设模块、第一对比模块和第二对比模块,
所述预设模块,用于预先设定冷数据读计数阈值和热数据读计数阈值;
所述第一对比模块,用于将读计数与冷数据读计数阈值对比,若读计数小于冷数据读计数阈值,则将物理块中的数据设为冷数据;
所述第二对比模块,用于将读计数与热数据读计数阈值对比,若读计数大于热数据读计数阈值,则将物理块中的数据设为热数据。
6.如权利要求4所述的降低SSD误码率的数据存放装置,其特征在于,还包括周期扫描单元,用于周期扫描计数表,周期获取每个物理块的读计数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811581965.9A CN109669641B (zh) | 2018-12-24 | 2018-12-24 | 降低ssd误码率的数据存放方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811581965.9A CN109669641B (zh) | 2018-12-24 | 2018-12-24 | 降低ssd误码率的数据存放方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109669641A CN109669641A (zh) | 2019-04-23 |
CN109669641B true CN109669641B (zh) | 2022-03-29 |
Family
ID=66147099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811581965.9A Active CN109669641B (zh) | 2018-12-24 | 2018-12-24 | 降低ssd误码率的数据存放方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109669641B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704332B (zh) * | 2019-08-29 | 2021-11-09 | 深圳大普微电子科技有限公司 | 一种闪存介质优化方法及非易失性存储设备 |
CN111124295B (zh) * | 2019-12-11 | 2021-06-04 | 成都信息工程大学 | 一种基于三元影响因子的农业数据存储处理***及方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064792A (zh) * | 2012-12-26 | 2013-04-24 | 北京创毅讯联科技股份有限公司 | 数据写入方法及装置 |
CN106527995A (zh) * | 2016-11-22 | 2017-03-22 | 青海师范大学 | 一种i/o均衡的数据扩容迁移方法 |
CN106610901A (zh) * | 2015-10-21 | 2017-05-03 | 深圳市江波龙电子有限公司 | 存储器的磨损次数平衡方法及装置 |
CN106844227A (zh) * | 2017-01-14 | 2017-06-13 | 郑州云海信息技术有限公司 | 基于分组机制的固态硬盘磨损均衡方法及装置 |
CN106909472A (zh) * | 2015-12-22 | 2017-06-30 | ***通信集团河北有限公司 | 一种分布式文件***的输入/输出负载调整方法及装置 |
CN106951187A (zh) * | 2017-03-07 | 2017-07-14 | 记忆科技(深圳)有限公司 | 一种固态存储静态磨损均衡的实现方法 |
CN107562381A (zh) * | 2017-08-30 | 2018-01-09 | 紫光华山信息技术有限公司 | 一种数据处理方法及装置 |
CN107590021A (zh) * | 2017-08-22 | 2018-01-16 | 华中科技大学 | 一种降低闪存误码率的编、解码器和编、解码方法 |
CN108628552A (zh) * | 2018-05-10 | 2018-10-09 | 南京道熵信息技术有限公司 | 一种改善Flash磨损寿命的方法、控制装置及存储*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677242B (zh) * | 2015-12-31 | 2018-11-30 | 杭州华为数字技术有限公司 | 冷热数据的分离方法和装置 |
CN107680632B (zh) * | 2016-08-01 | 2020-10-16 | 大唐移动通信设备有限公司 | 一种固态硬盘的寿命测试方法及装置 |
US10289317B2 (en) * | 2016-12-31 | 2019-05-14 | Western Digital Technologies, Inc. | Memory apparatus and methods thereof for write amplification aware wear leveling |
-
2018
- 2018-12-24 CN CN201811581965.9A patent/CN109669641B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064792A (zh) * | 2012-12-26 | 2013-04-24 | 北京创毅讯联科技股份有限公司 | 数据写入方法及装置 |
CN106610901A (zh) * | 2015-10-21 | 2017-05-03 | 深圳市江波龙电子有限公司 | 存储器的磨损次数平衡方法及装置 |
CN106909472A (zh) * | 2015-12-22 | 2017-06-30 | ***通信集团河北有限公司 | 一种分布式文件***的输入/输出负载调整方法及装置 |
CN106527995A (zh) * | 2016-11-22 | 2017-03-22 | 青海师范大学 | 一种i/o均衡的数据扩容迁移方法 |
CN106844227A (zh) * | 2017-01-14 | 2017-06-13 | 郑州云海信息技术有限公司 | 基于分组机制的固态硬盘磨损均衡方法及装置 |
CN106951187A (zh) * | 2017-03-07 | 2017-07-14 | 记忆科技(深圳)有限公司 | 一种固态存储静态磨损均衡的实现方法 |
CN107590021A (zh) * | 2017-08-22 | 2018-01-16 | 华中科技大学 | 一种降低闪存误码率的编、解码器和编、解码方法 |
CN107562381A (zh) * | 2017-08-30 | 2018-01-09 | 紫光华山信息技术有限公司 | 一种数据处理方法及装置 |
CN108628552A (zh) * | 2018-05-10 | 2018-10-09 | 南京道熵信息技术有限公司 | 一种改善Flash磨损寿命的方法、控制装置及存储*** |
Also Published As
Publication number | Publication date |
---|---|
CN109669641A (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10656875B2 (en) | Method for re-reading page data | |
US8386860B2 (en) | Methods of calculating compensation voltage and adjusting threshold voltage and memory apparatus and controller | |
US8751726B2 (en) | System and methods employing mock thresholds to generate actual reading thresholds in flash memory devices | |
US8694715B2 (en) | Methods for adaptively programming flash memory devices and flash memory systems incorporating same | |
US8892812B2 (en) | Flash memory device and data writing method for a flash memory | |
CN109599143B (zh) | 具有读阈值机制的存储***及其操作方法 | |
KR20150014437A (ko) | 메모리 블록에 대한 프로그래밍 단계 사이즈를 조정하는 시스템 및 방법 | |
US9235470B2 (en) | Adaptive EPWR (enhanced post write read) scheduling | |
CN103578565A (zh) | 一种NAND Flash存储芯片的校验方法及装置 | |
US9514843B2 (en) | Methods for accessing a storage unit of a flash memory and apparatuses using the same | |
CN109669641B (zh) | 降低ssd误码率的数据存放方法及装置 | |
US20090024787A1 (en) | Data writing method and apparatus | |
CN112466378A (zh) | 一种固态硬盘运行纠错方法、装置及相关组件 | |
US20090164869A1 (en) | Memory architecture and configuration method thereof | |
CN113035265B (zh) | 坏块筛选方法、装置、可读存储介质及电子设备 | |
CN112068772B (zh) | 数据存储方法、数据存储装置及存储装置 | |
CN112802529A (zh) | 一种军工级Nand闪存的检测方法、装置、电子设备及存储介质 | |
CN112347001A (zh) | 闪存垃圾回收的校验方法、装置及电子设备 | |
CN113241112B (zh) | 坏块筛选方法、装置、计算机可读存储介质及电子设备 | |
CN113419688B (zh) | 一种mlc芯片的错误率分析方法、***及装置 | |
CN112863591B (zh) | 一种针对Open Block的测试及处理方法 | |
CN110289036B (zh) | 读取电压最佳化方法以及存储控制器 | |
CN111949198A (zh) | 一种坏块管理方法、装置和存储设备 | |
CN116610269B (zh) | 数据存储方法、装置、存储介质和控制器 | |
CN110322907A (zh) | 3d闪存中阈值电压的调整方法、***以及3d闪存 |
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 |