CN116483265A - 固态硬盘数据读写方法、装置及固态硬盘 - Google Patents

固态硬盘数据读写方法、装置及固态硬盘 Download PDF

Info

Publication number
CN116483265A
CN116483265A CN202310311489.3A CN202310311489A CN116483265A CN 116483265 A CN116483265 A CN 116483265A CN 202310311489 A CN202310311489 A CN 202310311489A CN 116483265 A CN116483265 A CN 116483265A
Authority
CN
China
Prior art keywords
flash memory
erasing
read
memory block
threshold value
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.)
Pending
Application number
CN202310311489.3A
Other languages
English (en)
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310311489.3A priority Critical patent/CN116483265A/zh
Publication of CN116483265A publication Critical patent/CN116483265A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/061Improving I/O performance
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Read Only Memory (AREA)

Abstract

本发明实施例提供了一种固态硬盘数据读写方法、装置及固态硬盘,该方法包括:获取闪存块的当前重写阈值和已读取次数,根据预先划分的擦写区间,生成多个擦写区间对应的读取阈值,根据多个擦写区间对应的读取阈值,确定闪存块所在的第一擦写区间的目标重写阈值,若第一擦写区间内闪存块的已读取次数大于或等于目标重写阈值,控制闪存块进行重写。本发明通过预先划分出擦写区间,闪存块根据已读取次数和其所处擦写区间的重写阈值确定是否进行重写,实现读取阈值与闪存块实际读取性能适配,提高固态硬盘生命周期内读写效率,进一步提升了固态硬盘数据读写性能。

Description

固态硬盘数据读写方法、装置及固态硬盘
技术领域
本发明涉及计算机技术领域,特别涉及一种固态硬盘数据读写方法、装置及固态硬盘。
背景技术
固态硬盘由于其在性能、功耗等方面的优秀指标被广泛应用。当前主流的固态硬盘的存储介质是一组能并发执行读写操作的NAND Flash,闪存读取过程中,当读取一个闪存页(Page)时,闪存块(Block)中未被选取的闪存页的控制极会加一个正电压,以保证未被选中的MOS管是导通的,但若频繁地在一个MOS管控制极加正电压会使电子被吸进浮栅极形成轻微写,即造成闪存的Read Disturb(读干扰)现象,需擦除闪存块使其正常使用。
现有技术中,通过记录每个闪存块已经读取过的次数,当读取次数超过一定阈值时,将读取的数据搬移到一个新的Block中,并擦除之前使用的Block,这一过程在固态硬盘中称作Rewrite。
然而,目前数据搬移的阈值固定且不分P/E Cycle(Program/Erase Cycle,编程擦除循环),即在固态硬盘整个生命周期中使用的是同一个阈值,该阈值是依据生命末期的最差情况设定,导致在其他周期阶段增加了很多不必要的Rewrite操作,限制了固态硬盘生命前中期读写性能。
发明内容
本发明实施例的目的在于提供一种固态硬盘数据读写方法、装置、通信设备及存储介质,解决因无法及时读取传感器温度信息导致固态硬盘数据读写异常的问题,以实现合理有效的固态硬盘数据读写,具体技术方案如下:
在本发明实施的第一方面,首先提供了一种固态硬盘数据读写方法,所述方法包括:
获取闪存块的当前重写阈值和已读取次数;
根据预先划分的擦写区间,生成多个所述擦写区间对应的读取阈值;
根据多个所述擦写区间对应的读取阈值,确定所述闪存块所在的第一擦写区间的目标重写阈值;
若第一擦写区间内所述闪存块的已读取次数大于或等于所述目标重写阈值,控制所述闪存块进行重写。
可选地,所述根据预先划分的擦写区间,生成多个所述擦写区间对应的读取阈值,包括:
根据预先划分的擦写区间,对所述闪存块进行读干扰测试,其中,所述擦写区间是预先根据预设粒度对编程擦除循环进行划分处理得到的;
获取所述读干扰测试生成的读干扰阈值,确定与多个所述擦写区间对应的基准阈值;
对所述基准阈值进行调整,生成多个所述擦写区间对应的读取阈值。
可选地,所述对所述基准阈值进行调整,生成多个所述擦写区间对应的读取阈值,包括:
获取所述闪存块的实际数据保存时长;
根据所述闪存块的实际数据保存时长,对所述基准阈值进行动态调整,生成多个所述擦写区间对应的读取阈值。
可选地,所述读取阈值通过如下公式获得:
其中,Trd为擦写区间对应的读取阈值,DRtime为实际数据保存时长,m为预设数据保存周期,n为一个数据保存周期的天数,α为根据DRtime值修正基准阈值的修正参数,Tbase为所述擦写区间对应的基准阈值。
可选地,所述根据多个所述擦写区间对应的读取阈值,确定所述闪存块所在的第一擦写区间的目标重写阈值,包括:
根据所述闪存块的已读取次数,确定所述闪存块所在的第一擦写区间;
根据多个所述擦写区间对应的读取阈值,将所述第一擦写区间对应的读取阈值确定为所述闪存块的目标重写阈值。
可选地,若第一擦写区间所述闪存块的已读取次数大于或等于所述目标重写阈值,控制所述闪存块进行重写之前,还包括:
若第一擦写区间所述闪存块的已读取次数小于所述目标重写阈值时,控制所述闪存块进行数据读取;
更新获取的所述闪存块的已读取次数。
可选地,所述获取闪存块的当前重写阈值和已读取次数之前,还包括:
监测闪存块的数据保存时长;
若监测到所述数据保存时长增加至预设时长,发送更新所述闪存块的当前重写阈值的第一指令,其中,所述第一指令用于指示获取闪存块的当前重写阈值和已读取次数。
在本发明实施的第二方面,还提供了一种固态硬盘数据读写装置,包括:
获取模块,用于获取闪存块的当前重写阈值和已读取次数;
生成模块,用于根据预先划分的擦写区间,生成多个所述擦写区间对应的读取阈值;
确定模块,用于根据多个所述擦写区间对应的读取阈值,确定所述闪存块所在的第一擦写区间的目标重写阈值;
控制模块,用于若第一擦写区间内所述闪存块的已读取次数大于或等于所述目标重写阈值,控制所述闪存块进行重写。
可选地,所述生成模块包括:
测试子模块,用于根据预先划分的擦写区间,对所述闪存块进行读干扰测试,其中,所述擦写区间是预先根据预设粒度对编程擦除循环进行划分处理得到的;
确定子模块,用于获取所述读干扰测试生成的读干扰阈值,确定与多个所述擦写区间对应的基准阈值;
生成子模块,用于对所述基准阈值进行调整,生成多个所述擦写区间对应的读取阈值。
可选地,所述生成子模块,包括:
获取单元,用于获取所述闪存块的实际数据保存时长;
调整单元,用于根据所述闪存块的实际数据保存时长,对所述基准阈值进行动态调整,生成多个所述擦写区间对应的读取阈值。
可选地,所述读取阈值通过如下公式获得:
其中,Trd为擦写区间对应的读取阈值,DRtime为实际数据保存时长,m为预设数据保存周期,n为一个数据保存周期的天数,α为根据DRtime值修正基准阈值的修正参数,Tbase为所述擦写区间对应的基准阈值。
可选地,所述确定模块,包括:
第一确定子模块,用于根据所述闪存块的已读取次数,确定所述闪存块所在的第一擦写区间;
第二确定子模块,用于根据多个所述擦写区间对应的读取阈值,将所述第一擦写区间对应的读取阈值确定为所述闪存块的目标重写阈值。
可选地,所述装置还包括:
第二控制模块,用于若第一擦写区间所述闪存块的已读取次数小于所述目标重写阈值时,控制所述闪存块进行数据读取;
更新模块,用于更新获取的所述闪存块的已读取次数。
可选地,所述装置,还包括:
监测模块,用于监测闪存块的数据保存时长;
发送指令模块,用于若监测到所述数据保存时长增加至预设时长,发送更新所述闪存块的当前重写阈值的第一指令,其中,所述第一指令用于指示获取闪存块的当前重写阈值和已读取次数。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的固态硬盘数据读写方法。
本发明实施例提供的固态硬盘数据读写方法,通过获取闪存块的当前重写阈值和已读取次数,根据预先划分的擦写区间,生成多个擦写区间对应的读取阈值,根据多个擦写区间对应的读取阈值,确定闪存块所在的第一擦写区间的目标重写阈值,若第一擦写区间内闪存块的已读取次数大于或等于目标重写阈值,控制闪存块进行重写。本发明实施例中通过预先划分出擦写区间,闪存块根据已读取次数和其所处擦写区间的重写阈值确定是否进行重写,使得每个分段的擦写区间内生成的读取阈值满足闪存块实际读写需求,通过灵活调整固态硬盘不同生命周期重写阈值,实现读取阈值与闪存块实际读取性能适配的目的,避免了整个生命周期使用固定阈值从而增加不必要的重写操作,导致数据读取效率低的问题,实现提高固态硬盘生命周期内读写效率的效果,进一步提升了固态硬盘性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的固态硬盘数据读写方法的步骤流程图之一;
图2是图1中本发明实施例提供的固态硬盘数据读写方法的步骤102的方法流程图;
图3是本发明实施例提供的固态硬盘数据读写方法的步骤流程图之二;
图4是本发明实施例提供的固态硬盘数据读写方法的步骤流程图之三;
图5是本申请实施例提供的固态硬盘数据读写方法的应用场景示意图;
图6是本发明实施例提供的固态硬盘数据读写方法的流程图;
图7是本发明实施例提供的固态硬盘数据读写装置的结构示意图;
图8是本发明实施例提供的一种固态硬盘的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
参照图1,示出了本发明实施例提供的固态硬盘数据读写方法的步骤流程图之一,应用于图5所示的固态硬盘,所述方法可以包括:
步骤101,获取闪存块的当前重写阈值和已读取次数。
本发明实施例中,为解决固态硬盘在生命前中期的数据读取阈值较低且固定,当已读取次数到达较低的数据读取阈值时则需进行重写操作,与实际读取性能不符,增加了不必要的数据搬移操作,降低数据读写效率的问题,通过按照编程擦除循环分段,每个区间内阈值大小按照测试结果设置并兼顾考虑闪存数据保存时间,在每一区间内进一步动态调整阈值,实现读取阈值与闪存块实际读取性能适配。
需要说明的是,本实施例中的固态硬盘(Solid State Drive,SSD)是使用NANDFlash组成的固态硬盘,包括控制单元和闪存介质,其中,存储数据采用的是闪存介质,闪存介质的最小擦除单元是闪存块Block,控制单元通过遍历闪存块,获取闪存块的当前重写阈值和已读取次数,当前重写阈值是闪存块当前生命周期下需要进行重写操作的阈值,已读取次数是闪存块已经进行数据读取的次数。
具体的,本发明实施例通过获取闪存块的当前重写阈值和已读取次数,以便于根据当前时刻的信息进一步判断该闪存块是否需要更新当前重写阈值,使重写阈值满足闪存块的读取性能。
步骤102,根据预先划分的擦写区间,生成多个擦写区间对应的读取阈值。
本发明实施例中,为了使读取阈值适配生命周期各个阶段的实际读取性能,预先对P/E Cycle进行分段,划分出擦写区间,根据预先划分的擦写区间,生成多个擦写区间对应的读取阈值。具体的,通过对固态硬盘的存储介质进行Read Disturb(读干扰)特性测试得到测试结果,从而生成不同生命周期阶段可承受的读取阈值。
需要说明的是,1次P/E代表着一定量的闪存被擦除1次,由于闪存是擦除后才能重新写入的,P/E Cycle表征闪存的生命周期,例如,1000次P/E指的是闪存在写入、擦除重复大概1000次后报废。本实施例预先对P/E Cycle进行分段,对P/E Cycle进行分段的预设粒度可以根据固态硬盘的类型进行调整,例如,企业级的Nand FLASH,一般其P/E Cycle都比较大,可以多划分几个段,预设粒度则设置的较小,举例说明,固态硬盘的P/E Cycle为10K次,预设粒度可以是0.5K、1K,则根据此预设粒度对P/E Cycle进行分段,划分出多个擦写区间,当然,以上仅为具体的举例说明,在实际的使用过程中划分擦写区间还可以根据其他参数划分,此处不做一一赘述。
本实施例中,对P/E Cycle分段,通过NandFLASH特性分析测试,每个分段区间内阈值大小按照测试结果实际设置,并兼顾考虑Data Retention(数据保存)时间,因此,在每一个P/E Cycle划分的擦写区间内进一步动态调整阈值,从而生成多个擦写区间对应的读取阈值。
具体的,本实施例中根据预先划分的擦写区间,对闪存块进行读干扰测试,获取读干扰测试生成的读干扰阈值,首先将读干扰阈值确定为与多个擦写区间对应的基准阈值,再进一步结合数据保存时间对基准阈值进行调整,生成多个擦写区间对应的读取阈值。
示例的,将读干扰阈值确定为与多个擦写区间对应的基准阈值,考虑DataRetention时间因素,在每一个P/E Cycle擦写区间上对基准阈值进行进一步动态调整,随着Data Retention时间的增加会消弱Read Disturb对闪存块内数据的影响,所以在每个擦写区间内读取阈值可以随着Data Retention时间的增加而相应增加,读取阈值的通用计算公式为:
Trd=Tbase+Tdata (1)
其中,受Data Retention时间影响的基准阈值为:
例如,企业级SSD一般数据保存时间规定为3个月,根据极端情况,如果Block中Data Retention已经3个月,则此时可以承受的读取阈值为本区间基准阈值的1.2倍,因此,可以以修正参数α=1.2来进行计算,当然,以上仅为具体的举例说明,在实际的使用过程中修正参数是根据实际Data Retention修正基准阈值的程度确定,此处不做一一赘述。
需要说明的是,根据公式(1)和公式(2),读取阈值通过如下公式获得:
其中,Trd为擦写区间对应的读取阈值,DRtime为实际数据保存时长,m为预设数据保存周期,n为一个数据保存周期的天数,α为根据DRtime值修正基准阈值的修正参数,Tbase为所述擦写区间对应的基准阈值。
本实施例预先划分擦写区间,生成多个擦写区间对应的读取阈值,通过灵活调整固态硬盘不同生命周期的读取阈值,实现读取阈值与闪存块实际读取性能适配的目的,避免了整个生命周期使用固定阈值从而增加不必要的重写操作,导致数据读取效率低的问题。
步骤103,根据多个擦写区间对应的读取阈值,确定闪存块所在的第一擦写区间的目标重写阈值。
本发明实施例中,通过监测闪存块的已读取次数,根据已生成的多个擦写区间对应的读取阈值,确定闪存块所在的第一擦写区间的目标重写阈值,其中,擦写区间与读取阈值一一对应,第一擦写区间是闪存块当前所处的擦写区间,根据闪存块当前所处的第一擦写区间,将第一擦写区间的读取阈值确定为闪存块的目标重写阈值,目标重写阈值是闪存块的已读取次数达到该重写阈值,则执行数据搬移并擦除闪存块的重写操作,本实施例目标重写阈值根据固态硬盘的特性测试结果确定,在此不作一一赘述。
具体的,步骤103根据多个擦写区间对应的读取阈值,确定闪存块所在的第一擦写区间的目标重写阈值可以包括以下步骤:
首先,根据闪存块的已读取次数,确定闪存块所在的第一擦写区间;
其次,根据多个擦写区间对应的读取阈值,将第一擦写区间对应的读取阈值确定为闪存块的目标重写阈值。
本实施例通过确定闪存块所在的第一擦写区间,根据多个擦写区间对应的读取阈值,将第一擦写区间对应的读取阈值确定为闪存块的目标重写阈值,实现更新闪存块的当前重写阈值,使得阈值与实际闪存块的运行阶段匹配,提高闪存块的读写性能。
步骤104,若第一擦写区间内闪存块的已读取次数大于或等于目标重写阈值,控制闪存块进行重写。
本发明实施例中,将确定的目标重写阈值与该闪存块的已读取次数进行对比,若第一擦写区间内闪存块的已读取次数大于或等于目标重写阈值,控制闪存块进行重写,即将当前闪存块的数据进行搬移,并且擦除当前闪存块。
本发明实施例提供的固态硬盘数据读写方法,通过获取闪存块的当前重写阈值和已读取次数,根据预先划分的擦写区间,生成多个擦写区间对应的读取阈值,根据多个擦写区间对应的读取阈值,确定闪存块所在的第一擦写区间的目标重写阈值,若第一擦写区间内闪存块的已读取次数大于或等于目标重写阈值,控制闪存块进行重写。本发明实施例中通过预先划分出擦写区间,闪存块根据已读取次数和其所处擦写区间的重写阈值确定是否进行重写,使得每个分段的擦写区间内生成的读取阈值满足闪存块实际读写需求,通过灵活调整固态硬盘不同生命周期重写阈值,实现读取阈值与闪存块实际读取性能适配的目的,避免了整个生命周期使用固定阈值从而增加不必要的重写操作,导致数据读取效率低的问题,实现提高固态硬盘生命周期内读写效率的效果,进一步提升了固态硬盘性能。
参照图2,是图1中本发明实施例提供的固态硬盘数据读写方法的步骤102的方法流程图,本实施例公开是图1所示的实施例中步骤102的一种可行实现方案,具体包括:
步骤1021,根据预先划分的擦写区间,对闪存块进行读干扰测试。
其中,擦写区间是预先根据预设粒度对编程擦除循环进行划分处理得到的;
本发明实施例中,预先进行P/E Cycle分段,得到划分的擦写区间,对使用的NandFlash进行Read Disturb读干扰测试,从而确定出不同生命周期阶段可承受的读取阈值。
具体的,记录每个闪存块数据读取的次数,在数据读取次数达到阈值之前,把闪存块上所有数据读出、擦除、再重新写入,或者把数据搬移到其他闪存块。当一个闪存块上的数据读取次数过多,固件需要在出错之前,把整个闪存块数据刷新或者搬移,占用底层带宽,导致固态硬盘的读写性能下降,因此,根据预先划分的擦写区间,对闪存块进行读干扰测试,确定出读干扰阈值。
步骤1022,获取读干扰测试生成的读干扰阈值,确定与多个擦写区间对应的基准阈值。
本实施例中,获取读干扰测试生成的读干扰阈值,根据读干扰阈值,确定与多个擦写区间对应的基准阈值。
需要说明的是,确定出每个擦写区间的基准阈值对应关系,存储对应关系,以便于在其他闪存块数据读取时,调用对应关系,节省重新进行读干扰测试的资源,提高固态硬盘数据处理效率,需要说明的是,与多个擦写区间对应的基准阈值的存储形式可以使用左闭右开区间,例如,[PE1~PE2)对应读取阈值T rd1,[PEmax-1~PEmax]对应读取阈值T rdn。
步骤1023,对基准阈值进行调整,生成多个擦写区间对应的读取阈值。
具体的,根据每个擦写区间的基准阈值,考虑Data Retention因素,在每个擦写区间上对基准阈值进一步动态调整。由Nand特性得知,随着Data Retention时间的增加,存储在存储单元中的电子会流失,使得整个阈值电压分布向左移动,与Read Disturb带来的影响正好相反,随着Data Retention时间的增加会消弱Read Disturb对闪存块内数据带来的影响,在每个分段区间内基准阈值可以随着Data Retention时间的增加而相应增加,则根据Data Retention时间,对基准阈值进行动态调整,生成多个擦写区间对应的读取阈值。
本实施例中通过读干扰测试将原本固定的重写阈值按照P/E Cycle分段,每个分段擦写区间内的读取阈值大小按照测试结果实际设置,并兼顾考虑Data Retention时间,在每一个P/E Cycle分段区间内进一步动态调整得到读取阈值,通过此优化方法可以提高固态硬盘生命周期内的读性能和服务质量的一致性。
本发明的第二实施方式涉及一种固态硬盘数据读写方法,该方法与本发明的第一实施例提供的固态硬盘数据读写方法基本相同,其区别在于,参照图3,图3是本发明实施例提供的固态硬盘数据读写方法的步骤流程图之二,包括:
步骤101,获取闪存块的当前重写阈值和已读取次数;
步骤102,根据预先划分的擦写区间,生成多个所述擦写区间对应的读取阈值;
步骤103,根据多个所述擦写区间对应的读取阈值,确定所述闪存块所在的第一擦写区间的目标重写阈值;
步骤105,若第一擦写区间闪存块的已读取次数小于目标重写阈值时,控制闪存块进行数据读取。
本实施例中,将确定的目标重写阈值与该闪存块的已读取次数进行对比,若第一擦写区间内闪存块的已读取次数小于目标重写阈值,则控制闪存块继续进行数据读取。
步骤106,更新获取的闪存块的已读取次数。
需要说明的是,若第一擦写区间闪存块的已读取次数小于目标重写阈值时,控制闪存块进行数据读取,则闪存块继续进行数据读取,为及时获取有效的闪存块的已读取次数,需实时更新获取的闪存块的已读取次数,从而及时根据已读取次数和目标重写阈值控制闪存块重写,提高闪存块读取性能。
步骤104,若第一擦写区间内所述闪存块的已读取次数大于或等于所述目标重写阈值,控制所述闪存块进行重写。
上述步骤101-104参照前序论述再次不再赘述。
需要说明的是,本实施方式不对步骤105和106的具体执行位置进行限定,在本实施方式中,为了便于理解,以步骤105和106在步骤103之后,步骤104之前执行为例进行说明。在实际的使用过程中,步骤105和106也可以在步骤104之后进行,此处不对每种情况进行一一赘述。
本发明实施方式相对于现有技术而言,在实现第一实施方式带来的有益效果基础上,通过第一擦写区间闪存块的已读取次数小于目标重写阈值时,控制闪存块进行数据读取,更新获取的闪存块的已读取次数。本发明实施例中通过根据实时更新的已读取次数和其所处擦写区间的目标重写阈值确定是否进行重写,实现读取阈值与闪存块实际读取性能适配的目的,进一步提升了固态硬盘性能。
本发明的第三实施方式涉及一种固态硬盘数据读写方法,该方法与本发明的第一实施例提供的固态硬盘数据读写方法基本相同,其区别在于,参照图4,图4是本发明实施例提供的固态硬盘数据读写方法的步骤流程图之三,包括:
步骤107,监测闪存块的数据保存时长。
需要说明的是,在固态硬盘中监测每一个闪存块已读取次数,并计算该闪存块需要重写的重写阈值,由于考虑了Data Retention时间,所以该闪存块的目标重写阈值需要周期性进行确定,比如定义Data Retention每增加一天,该闪存块的目标重写阈值就需要重新计算一次。因此,在本发明每次生成闪存块所在的第一擦写区间的目标重写阈值之前,根据闪存块的数据保存时长的变化,触发将当前重写阈值更新至目标重写阈值的步骤。
步骤108,若监测到数据保存时长增加至预设时长,发送更新闪存块的当前重写阈值的第一指令;
其中,所述第一指令用于指示获取闪存块的当前重写阈值和已读取次数。
本实施例中,根据监测的闪存块的数据保存时长,若监测到数据保存时长增加至预设时长,则发送第一指令,第一指令用于指示开始获取闪存块的当前重写阈值和已读取次数,以使更新闪存块的当前重写阈值,其中,预设时长是根据固态硬盘的类型和实际性能预先设置的,预设时长可以是多个时长,用于间隔一定时间进行目标重写阈值的更新。本实施例通过监测数据保存时长的变化,发送更新闪存块的当前重写阈值的第一指令,第一指令用于指示控制器启动获取闪存块的当前重写阈值和已读取次数,进从而将当前重写阈值更新至目标重写阈值。
具体的,例如,企业级SSD一般数据保存时长规定为3个月,例如,当前数据保存时长为40天,则根据预设时长,Data Retention每增加一天,该闪存块的目标重写阈值就需要重新计算一次,在监测到实际数据保存时长增加至41天时,发送更新闪存块的当前重写阈值的第一指令,再监测到实际数据保存时长增加至42天时,再次发送第一指令,实现间隔一定时间对闪存块读取状态判断。
步骤101,获取闪存块的当前重写阈值和已读取次数。
步骤102,根据预先划分的擦写区间,生成多个所述擦写区间对应的读取阈值。
步骤103,根据多个所述擦写区间对应的读取阈值,确定所述闪存块所在的第一擦写区间的目标重写阈值。
步骤104,若第一擦写区间内所述闪存块的已读取次数大于或等于所述目标重写阈值,控制所述闪存块进行重写。
本发明实施方式相对于现有技术而言,在实现第一实施方式带来的有益效果基础上,可以根据数据保存时长,判断闪存块是否需要更新当前重写阈值,从而在监测到数据保存时长每达到预设时长时,发送启动的第一指令,使得控制器根据第一指令运行固态硬盘数据读写程序,进行闪存块的数据读写,因此,可以减少服务器的成本,且时间同步方法也更高效,进一步提高固态硬盘数据读写的效率。
为了使本领域技术人员能够更清楚地理解以上本发明第一至三实施方式公开的固态硬盘数据读写方法的流程,参照图6,为本发明实施例提供的固态硬盘数据读写方法的流程图,应用于图5所示的固态硬盘,为例进行说明。
步骤201,获取闪存块的当前重写阈值和已读取次数。
具体的,通过获取闪存块的当前重写阈值和已读取次数,以便于根据当前时刻的信息进一步判断该闪存块是否需要更新当前重写阈值,使重写阈值满足闪存块的读取性能,进入步骤202,判断闪存块是否需要更新当前重写阈值。
步骤202,判断闪存块是否需要更新当前重写阈值。
需要说明的是,判断闪存块是否需要更新当前重写阈值,以实现周期性更新当前重写阈值,使得阈值与闪存块的生命周期的读取性能适配。根据监测的闪存块的数据保存时长,以及闪存块的当前重写阈值和已读取次数进行判断,若监测到数据保存时长变化至预设启动条件,则发送指令,表明需要更新闪存块的当前重写阈值,进入步骤203,根据闪存块的已读取次数,确定闪存块所在的第一擦写区间,其中,预设时长是根据固态硬盘的类型和实际性能预先设置的;若监测到数据保存时长未变化至预设启动条件,则进入步骤208,判断已读取次数是否大于或等于当前时刻闪存块的目标重写阈值。
步骤203,根据闪存块的已读取次数,确定闪存块所在的第一擦写区间。
具体的,为了使读取阈值适配生命周期各个阶段的实际读取性能,预先对P/ECycle进行分段划分出擦写区间,将闪存块的已读取次数和预先划分的擦写区间的次数范围进行匹配,确定出闪存块所在的第一擦写区间。
步骤204,获取多个擦写区间对应的基准阈值。
本实施例中根据预先划分的擦写区间,生成多个擦写区间对应的基准阈值。具体的,通过对固态硬盘的存储介质进行读干扰测试得到测试结果,从而生成不同生命周期阶段可承受的读干扰阈值,将读干扰阈值作为对应擦写区间的基准阈值,获取多个擦写区间对应的基准阈值。
步骤205,获取闪存块的实际数据保存时长。
本实施例中考虑到数据保存时长Data Retention因素,需要对基准阈值进行调整,即在每个擦写区间上对基准阈值进一步动态调整,首先需获取闪存块当前的实际数据保存时长,以便进一步确定出最终擦写区间的读取阈值。
步骤206,生成多个擦写区间对应的读取阈值。
需要说明的是,由Nand特性得知,随着数据保存时长的增加,存储在存储单元中的电子会流失,使得整个阈值电压分布向左移动,与读干扰现象带来的影响正好相反,随着数据保存时长的增加会消弱读干扰现象对闪存块内数据带来的影响,在每个分段区间内基准阈值可以随着数据保存时长的增加而相应增加,则根据数据保存时长,对基准阈值进行动态调整,生成多个擦写区间对应的读取阈值。
步骤207,更新当前重写阈值到目标重写阈值。
步骤208,判断已读取次数是否大于或等于目标重写阈值。
本实施例中,当确定出目标重写阈值后,根据已读取次数进行判断,若第一擦写区间闪存块的已读取次数小于目标重写阈值时,控制闪存块进行数据读取,并更新获取的闪存块的已读取次数,以便下一次判断;若第一擦写区间内闪存块的已读取次数大于或等于目标重写阈值,进入步骤209,控制闪存块进行重写。
步骤209,进行重写。
本发明实施例提供的固态硬盘数据读写方法,通过获取闪存块的当前重写阈值和已读取次数,根据预先划分的擦写区间,生成多个擦写区间对应的读取阈值,根据多个擦写区间对应的读取阈值,确定闪存块所在的第一擦写区间的目标重写阈值,若第一擦写区间内闪存块的已读取次数大于或等于目标重写阈值,控制闪存块进行重写。本发明实施例中通过预先划分出擦写区间,闪存块根据已读取次数和其所处擦写区间的重写阈值确定是否进行重写,使得每个分段的擦写区间内生成的读取阈值满足闪存块实际读写需求,通过灵活调整固态硬盘不同生命周期重写阈值,实现读取阈值与闪存块实际读取性能适配的目的,避免了整个生命周期使用固定阈值从而增加不必要的重写操作,导致数据读取效率低的问题,实现提高固态硬盘生命周期内读写效率的效果,进一步提升了固态硬盘性能。
参照图7,示出了本发明实施例提供的一种固态硬盘数据读写装置的结构示意图,如图7所示,该装置可以包括:
获取模块301,用于获取闪存块的当前重写阈值和已读取次数;
生成模块302,用于根据预先划分的擦写区间,生成多个所述擦写区间对应的读取阈值;
确定模块303,用于根据多个所述擦写区间对应的读取阈值,确定所述闪存块所在的第一擦写区间的目标重写阈值;
控制模块304,用于若第一擦写区间内所述闪存块的已读取次数大于或等于所述目标重写阈值,控制所述闪存块进行重写。
进一步的,所述生成模块302包括:
测试子模块,用于根据预先划分的擦写区间,对所述闪存块进行读干扰测试,其中,所述擦写区间是预先根据预设粒度对编程擦除循环进行划分处理得到的;
确定子模块,用于获取所述读干扰测试生成的读干扰阈值,确定与多个所述擦写区间对应的基准阈值;
生成子模块,用于对所述基准阈值进行调整,生成多个所述擦写区间对应的读取阈值。
进一步的,所述生成子模块,包括:
获取单元,用于获取所述闪存块的实际数据保存时长;
调整单元,用于根据所述闪存块的实际数据保存时长,对所述基准阈值进行动态调整,生成多个所述擦写区间对应的读取阈值。
进一步的所述读取阈值通过如下公式获得:
其中,Trd为擦写区间对应的读取阈值,DRtime为实际数据保存时长,m为预设数据保存周期,n为一个数据保存周期的天数,α为根据DRtime值修正基准阈值的修正参数,Tbase为所述擦写区间对应的基准阈值。
进一步的,所述确定模块303,包括:
第一确定子模块,用于根据所述闪存块的已读取次数,确定所述闪存块所在的第一擦写区间;
第二确定子模块,用于根据多个所述擦写区间对应的读取阈值,将所述第一擦写区间对应的读取阈值确定为所述闪存块的目标重写阈值。
进一步的,所述装置还包括:
第二控制模块,用于若第一擦写区间所述闪存块的已读取次数小于所述目标重写阈值时,控制所述闪存块进行数据读取;
更新模块,用于更新获取的所述闪存块的已读取次数。
进一步的,所述装置,还包括:
监测模块,用于监测闪存块的数据保存时长;
发送指令模块,用于若监测到所述数据保存时长增加至预设时长,发送更新所述闪存块的当前重写阈值的第一指令,以使根据所述第一指令将所述当前重写阈值更新至目标重写阈值。
本发明实施例提供的固态硬盘数据读写装置,通过获取闪存块的当前重写阈值和已读取次数,根据预先划分的擦写区间,生成多个擦写区间对应的读取阈值,根据多个擦写区间对应的读取阈值,确定闪存块所在的第一擦写区间的目标重写阈值,若第一擦写区间内闪存块的已读取次数大于或等于目标重写阈值,控制闪存块进行重写。本发明实施例中通过预先划分出擦写区间,闪存块根据已读取次数和其所处擦写区间的重写阈值确定是否进行重写,使得每个分段的擦写区间内生成的读取阈值满足闪存块实际读写需求,通过灵活调整固态硬盘不同生命周期重写阈值,实现读取阈值与闪存块实际读取性能适配的目的,避免了整个生命周期使用固定阈值从而增加不必要的重写操作,导致数据读取效率低的问题,实现提高固态硬盘生命周期内读写效率的效果,进一步提升了固态硬盘性能。
本发明实施例还提供了一种固态硬盘,如图8所示,包括:控制单元,以及与所述控制单元通信连接的至少一个闪存介质,所述控制单元执行时实现上述实施例的固态硬盘数据读写方法中的步骤。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种固态硬盘数据读写方法,其特征在于,所述方法包括:
获取闪存块的当前重写阈值和已读取次数;
根据预先划分的擦写区间,生成多个所述擦写区间对应的读取阈值;
根据多个所述擦写区间对应的读取阈值,确定所述闪存块所在的第一擦写区间的目标重写阈值;
若第一擦写区间内所述闪存块的已读取次数大于或等于所述目标重写阈值,控制所述闪存块进行重写。
2.根据权利要求1所述的方法,其特征在于,所述根据预先划分的擦写区间,生成多个所述擦写区间对应的读取阈值,包括:
根据预先划分的擦写区间,对所述闪存块进行读干扰测试,其中,所述擦写区间是预先根据预设粒度对编程擦除循环进行划分处理得到的;
获取所述读干扰测试生成的读干扰阈值,确定与多个所述擦写区间对应的基准阈值;
对所述基准阈值进行调整,生成多个所述擦写区间对应的读取阈值。
3.根据权利要求2所述的方法,其特征在于,所述对所述基准阈值进行调整,生成多个所述擦写区间对应的读取阈值,包括:
获取所述闪存块的实际数据保存时长;
根据所述闪存块的实际数据保存时长,对所述基准阈值进行动态调整,生成多个所述擦写区间对应的读取阈值。
4.根据权利要求1至3任一所述的方法,其特征在于,所述读取阈值通过如下公式获得:
其中,Trd为擦写区间对应的读取阈值,DRtime为实际数据保存时长,m为预设数据保存周期,n为一个数据保存周期的天数,α为根据DRtime值修正基准阈值的修正参数,Tbase为所述擦写区间对应的基准阈值。
5.根据权利要求1所述的方法,其特征在于,所述根据多个所述擦写区间对应的读取阈值,确定所述闪存块所在的第一擦写区间的目标重写阈值,包括:
根据所述闪存块的已读取次数,确定所述闪存块所在的第一擦写区间;
根据多个所述擦写区间对应的读取阈值,将所述第一擦写区间对应的读取阈值确定为所述闪存块的目标重写阈值。
6.根据权利要求1所述的方法,其特征在于,若第一擦写区间所述闪存块的已读取次数大于或等于所述目标重写阈值,控制所述闪存块进行重写之前,还包括:
若第一擦写区间所述闪存块的已读取次数小于所述目标重写阈值时,控制所述闪存块进行数据读取;
更新获取的所述闪存块的已读取次数。
7.根据权利要求1所述的方法,其特征在于,所述获取闪存块的当前重写阈值和已读取次数之前,还包括:
监测闪存块的数据保存时长;
若监测到所述数据保存时长增加至预设时长,发送更新所述闪存块的当前重写阈值的第一指令,其中,所述第一指令用于指示获取闪存块的当前重写阈值和已读取次数。
8.一种固态硬盘数据读写装置,其特征在于,所述装置包括:
获取模块,用于获取闪存块的当前重写阈值和已读取次数;
生成模块,用于根据预先划分的擦写区间,生成多个所述擦写区间对应的读取阈值;
确定模块,用于根据多个所述擦写区间对应的读取阈值,确定所述闪存块所在的第一擦写区间的目标重写阈值;
控制模块,用于若第一擦写区间内所述闪存块的已读取次数大于或等于所述目标重写阈值,控制所述闪存块进行重写。
9.根据权利要求8所述的装置,其特征在于,所述生成模块,包括:
测试子模块,用于根据预先划分的擦写区间,对所述闪存块进行读干扰测试,其中,所述擦写区间是预先根据预设粒度对编程擦除循环进行划分处理得到的;
确定子模块,用于获取所述读干扰测试生成的读干扰阈值,确定与多个所述擦写区间对应的基准阈值;
生成子模块,用于对所述基准阈值进行调整,生成多个所述擦写区间对应的读取阈值。
10.一种固态硬盘,其特征在于,包括:控制单元,以及与所述控制单元通信连接的至少一个闪存介质,所述控制单元执行时实现如权利要求1-7中任意一项所述的固态硬盘数据读写方法中的步骤。
CN202310311489.3A 2023-03-28 2023-03-28 固态硬盘数据读写方法、装置及固态硬盘 Pending CN116483265A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310311489.3A CN116483265A (zh) 2023-03-28 2023-03-28 固态硬盘数据读写方法、装置及固态硬盘

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310311489.3A CN116483265A (zh) 2023-03-28 2023-03-28 固态硬盘数据读写方法、装置及固态硬盘

Publications (1)

Publication Number Publication Date
CN116483265A true CN116483265A (zh) 2023-07-25

Family

ID=87212888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310311489.3A Pending CN116483265A (zh) 2023-03-28 2023-03-28 固态硬盘数据读写方法、装置及固态硬盘

Country Status (1)

Country Link
CN (1) CN116483265A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117742618A (zh) * 2024-02-19 2024-03-22 鑫硕泰(深圳)科技有限公司 一种固态硬盘的数据存储管理方法和固态硬盘管理装置
CN118245350A (zh) * 2024-05-27 2024-06-25 深圳市天创伟业科技有限公司 一种固态存储的健康状况检测方法及装置
CN118245350B (zh) * 2024-05-27 2024-07-26 深圳市天创伟业科技有限公司 一种固态存储的健康状况检测方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117742618A (zh) * 2024-02-19 2024-03-22 鑫硕泰(深圳)科技有限公司 一种固态硬盘的数据存储管理方法和固态硬盘管理装置
CN117742618B (zh) * 2024-02-19 2024-05-07 鑫硕泰(深圳)科技有限公司 一种固态硬盘的数据存储管理方法和固态硬盘管理装置
CN118245350A (zh) * 2024-05-27 2024-06-25 深圳市天创伟业科技有限公司 一种固态存储的健康状况检测方法及装置
CN118245350B (zh) * 2024-05-27 2024-07-26 深圳市天创伟业科技有限公司 一种固态存储的健康状况检测方法及装置

Similar Documents

Publication Publication Date Title
US9886214B2 (en) Nonvolatile memory system with erase suspend circuit and method for erase suspend management
KR100963855B1 (ko) 불휘발성 메모리 디바이스에서 프로그래밍 데이터의 신뢰성및 성능을 최적화하는 방법 및 시스템
KR101928974B1 (ko) 플래시 메모리 디바이스들에 대한 작동 파라미터들
US8811074B2 (en) Parametric tracking to manage read disturbed data
CN116483265A (zh) 固态硬盘数据读写方法、装置及固态硬盘
CN110851079B (zh) 一种自适应的存储设备损耗均衡方法及***
US20200117387A1 (en) Dynamic background scan optimization in a memory sub-system
CN104731522A (zh) 数据储存装置及其数据维护方法
CN110990174A (zh) 一种基于Prophet模型预测SSD可用时间的方法、设备及介质
KR20130127686A (ko) 비휘발성 메모리 장치의 데이터 프로그래밍 수행 방법 및 장치와 이에 이용되는 데이터 프로그래밍 모드 설정 방법 및 장치
CN114118439B (zh) 判决电平预测模型的训练数据生成方法、***及存储介质
US11231854B2 (en) Methods and apparatus for estimating the wear of a non-volatile memory
CN114443344A (zh) 存储器装置及其数据保持方法、存储器控制器
CN111078439A (zh) 一种固态硬盘寿命预测方法和装置
CN108829616A (zh) 一种缓存数据管理方法、装置、计算机设备及存储介质
KR100866626B1 (ko) 스페어 영역을 갖는 비휘발성 메모리 장치 및 그의 블록소거 방법
CN104751885A (zh) Flash芯片及应对flash芯片异常掉电的擦除或编程方法
CN113467713A (zh) 数据分离方法及固态硬盘
CN114530178B (zh) Nand芯片中写入块的读取方法、存储介质及设备
CN114385092B (zh) 固态硬盘闪存阵列的擦除方法、固态硬盘主控芯片
CN115933996A (zh) Ssd读干扰优化处理方法、装置、存储介质及ssd设备
CN113625947B (zh) 一种数据纠错方法、装置、设备及计算机可读存储介质
CN111767165B (zh) 数据处理方法、装置及控制设备
CN106952662A (zh) 存储器装置刷新方法及可调整刷新操作频率的存储器装置
CN106959823B (zh) 一种提高flash参数保存次数的实现方法

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