CN109582240A - 一种数据移动方法及其相关设备 - Google Patents
一种数据移动方法及其相关设备 Download PDFInfo
- Publication number
- CN109582240A CN109582240A CN201811466032.5A CN201811466032A CN109582240A CN 109582240 A CN109582240 A CN 109582240A CN 201811466032 A CN201811466032 A CN 201811466032A CN 109582240 A CN109582240 A CN 109582240A
- Authority
- CN
- China
- Prior art keywords
- data
- data block
- duration
- block
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle 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)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例公开了一种数据移动方法及其相关设备,用于当第一数据块的数据保存时长在预置时长范围内时,将第一数据块的目标数据移动到第二数据块。确定目标数据在第一数据块中的数据保存时长;确定所述数据保存时长是否在预置时长范围内,其中,所述预置时长范围由需要进行数据移动的数据块的个数、移动一个所述数据块中数据的时长以及所述数据块保存所述数据的最大时长确定。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种数据移动方法及其相关设备。
背景技术
Nand-flash内存是flash内存的一种,具有容量较大,读写速度快等优点,适用于大量数据的存储,在业内得到广泛的应用。数据保存力(data retention)是衡量写入Nand-flash的数据能够保持不失真的时间可靠性指标,一般定义为在一定的温度条件下,数据在使用指令纠错技术(error checking and correcting,ECC)纠错之后能够不失真地保存在NAND Flash中的时长。
目前Nand-flash的数据保存力一般为三个月,在Nand-flash保存时长到3个月后,需要把数据搬移到一个新的物理Block上,如果在某一周期内有大量数据的保存时长达到三个月,则在该周期达到后,需要将大量数据从一个Block搬移到另一个Block上存储,大量数据的移动不可避免的影响了用户对Nand-flash中数据的读取。
发明内容
本申请的第一方面提供了一种数据移动方法,其特征在于,包括:
确定目标数据在第一数据块中的数据保存时长;
确定所述数据保存时长是否在预置时长范围内,其中,所述预置时长范围由需要进行数据移动的数据块的个数、移动一个所述数据块中数据的时长以及所述数据块保存所述数据的最大时长确定。
基于第一方面,在第一方面的第一种可实现方式中,所述方法还包括:
若所述数据保存时长在预置时长范围内,则将所述目标数据从第一数据块移动到第二数据块。
基于第一方面或第一方面的第一种可实现方式,在第一方面的第二种可实现方式中,所述预置时长范围由需要进行数据移动的数据块的个数、移动一个所述数据块中数据的时长以及所述数据块保存所述数据的最大时长确定包括:
按照如下公式确定所述目标时长范围:
所述目标时长范围的表达式为:[Tr–N*Tb/P,Tr],所述Tr为所述数据块保存数据的最大时长,所述N为所述需要进行数据移动的数据块的个数,所述Tb所述移动一个所述数据块中数据的时长,所述P为性能损失因子。
基于第一方面的第一种或第二种可实现方式,在第一方面的第三种可实现方式中,所述将所述目标数据从第一数据块移动到第二数据块包括:
当终端从逻辑单元读取X个数据之后,将所述目标数据从第一数据块移动到第二数据块,所述X为大于等于0的正整数,其中,所述第一数据块和所述第二数据块属于所述逻辑单元。
基于第一方面的第三种可实现方式,在第一方面的第四种可实现方式中,所述X由根据所述移动一个所述数据块的时长、所述移动一个所述数据块的时长放大倍数、所述数据块中的页Page个数以及读取所述逻辑单元中一个数据的时长确定。
基于第一方面的第四种可实现方式,在第一方面的第五种可实现方式中,所述X由根据所述移动一个所述数据块的时长、所述移动一个所述数据块的时长放大倍数、所述数据块中的页Page个数以及读取所述逻辑单元中一个数据的时长确定包括:
按照如下公式确定所述X:
所述X=((Tb/M)/P)/Tpr,所述Tb所述移动一个所述数据块的时长,所述M为所述Block中的页Page个数,所述P为所述性能损失因子,所述Tpr为读取所述逻辑单元中一个数据的时长。
本申请的第二方面提供了一种终端,其特征在于,包括:
确定单元,用于确定目标数据在第一数据块中的数据保存时长;
所述确定单元,还用于确定所述数据保存时长是否在预置时长范围内,其中,所述预置时长范围由需要进行数据移动的数据块的个数、移动一个所述数据块中数据的时长以及所述数据块保存所述数据的最大时长确定。
基于第二方面,在第二方面的第一种可实现方式中,所述终端还包括:
数据移动单元,用于若所述数据保存时长在预置时长范围内,则将所述目标数据从第一数据块移动到第二数据块。
基于第二方面或第二方面的第一种可实现方式,在第二方面的第二种可实现方式中,所述预置时长范围由需要进行数据移动的数据块的个数、移动一个所述数据块中数据的时长以及所述数据块保存所述数据的最大时长确定包括:
按照如下公式确定所述目标时长范围:
所述目标时长范围的表达式为:[Tr–N*Tb/P,Tr],所述Tr为所述数据块保存数据的最大时长,所述N为所述需要进行数据移动的数据块的个数,所述Tb所述移动一个所述数据块中数据的时长,所述P为性能损失因子。
基于第二方面的第一种或第二种可实现方式中,在第二方面的第三种可实现方式中,所述数据移动单元具体用于当终端从所述逻辑单元X个数据之后,将所述目标数据从第一数据块移动到第二数据块,所述X为大于等于0的正整数,其中,所述第一数据块和所述第二数据块属于所述逻辑单元。
基于第二方面的第三种可实现方式,在第二方面的第四种可实现方式中,所述X由根据所述移动一个所述数据块的时长、所述移动一个所述数据块的时长放大倍数、所述数据块中的页Page个数以及读取所述逻辑单元中一个数据的时长确定。
基于第二方面的第四种可实现方式,在第二方面的第五种可实现方式中,所述X由根据所述移动一个所述数据块的时长、所述移动一个所述数据块的时长放大倍数、所述数据块中的页Page个数以及读取所述逻辑单元中一个数据的时长确定包括:
按照如下公式确定所述X:
所述X=((Tb/M)/P)/Tpr,所述Tb所述移动一个所述数据块的时长,所述M为所述Block中的页Page个数,所述P为所述性能损失因子,所述Tpr为读取所述逻辑单元中一个数据的时长。
本申请第三方面提供了一种终端,其特征在于,包括:存储器、收发器、处理器以及总线***;
其中,所述存储器用于存储程序和指令;
所述收发器用于在所述处理器的控制下接收或发送信息;
所述处理器用于执行所述存储器中的程序;
所述总线***用于连接所述存储器、所述收发器以及所述处理器,以使所述存储器、所述收发器以及所述处理器进行通信;
其中,所述处理器用于调用所述存储器中的程序指令,执行如第一方面、第一方面的第一种至第五种、第二方面以及第二方面的第一种至第五种可实现方式中任一种可实现方式所述的方法。
本申请第四方面提供了一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如第一方面、第一方面的第一种至第五种、第二方面以及第二方面的第一种至第五种可实现方式中任一种可实现方式所述的方法。
本申请第五方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如第一方面、第一方面的第一种至第五种、第二方面以及第二方面的第一种至第五种可实现方式中任一种可实现方式所述的方法。
本申请实施例具有以下优点:本申请通过确定目标数据在第一数据块中的数据保存时长,再确定所述数据保存时长是否在预置时长范围内,其中,本申请的所述预置时长范围是由需要进行数据移动的数据块的个数、移动一个所述数据块中数据的时长以及所述数据块保存所述数据的最大时长确定的。本申请通过确定目标数据在第一数据块中的保存时长是否在第一数据范围内而不是确定数据保存时长是否大于某一个值,从而避免了在某一周期达到后需要将大量数据从一个Block搬移到另一个Block上,降低了用户对Nand-flash中数据读取的影响。
附图说明
图1为本申请终端的一种可能的结构;
图2为本申请数据移动方法的一个实施例示意图;
图3为本申请数据移动方法的另一个实施例示意图;
图4为本申请终端的另一种可能的结构。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例还提供了一种终端,如图1所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point ofSales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
图1示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图1,手机包括:射频(Radio Frequency,RF)电路110、存储器120、输入单元130、显示单元140、传感器150、音频电路160、无线保真(wireless fidelity,WiFi)模块170、处理器180、以及电源190等部件。本领域技术人员可以理解,图1中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图1对手机的各个构成部件进行具体的介绍:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器180处理;另外,将设计上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元130可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元130可包括触控面板131以及其他输入设备132。触控面板131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板131上或在触控面板131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板131。除了触控面板131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元140可包括显示面板141,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板141。进一步的,触控面板131可覆盖显示面板141,当触控面板131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图1中,触控面板131与显示面板141是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板131与显示面板141集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在手机移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与手机之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一手机,或者将音频数据输出至存储器120以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了WiFi模块170,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理单元;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
手机还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理***与处理器180逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端所包括的处理器180还具有以下功能:
确定目标数据在第一数据块中的数据保存时长;
确定所述数据保存时长是否在预置时长范围内,其中,所述预置时长范围由需要进行数据移动的数据块的个数、移动一个所述数据块中数据的时长以及所述数据块保存所述数据的最大时长确定。
基于上述终端结构,请参照图2,本申请的一种数据移动方法具体包括:
S201、确定目标数据在第一数据块中的数据保存时长。
终端的处理模块接收用户写请求,处理模块将目标数据写入第一数据块的页page中,直至第一数据块被写满后停止向第一数据块写入目标数据,记录下停止的时刻作为所述数据写入第一数据块的时刻,随后预置周期达到后,计算当前时刻与目标数据写入第一数据块之间的时间差值,该差值即为目标数据在第一数据块中的数据保存时长,即目标数据在第一数据块中存储了多长时间。
在本实施例中,目标数据为写入第一数据块中的数据。
S202、确定数据保存时长是否在预置时长范围内。
预置周期达到,确定数据保存时长后,终端确定数据保存时长是否在目标时长范围内。在本实施例中预置周期可以为1分钟或5分钟,也可以为其他时间长度,例如每隔一分钟终端判断一次第一数据块的数据保存时长是否在目标时长范围内。
若目标数据在第一数据块中的数据保存时长在预置时长范围内,则将所述目标数据从第一数据块移动到第二数据块。若目标数据在第一数据块中的数据保存时长不在预置时长范围内,则不需要移动该目标数据,等待下一个周期到达后再判断第一数据块的数据保存时长是否在预置时长范围内。
在本实施例中,所述目标时长范围由上述预置周期内所产生的需要进行数据移动的数据块的个数、移动一个所述数据块中数据的时长以及所述数据块保存数据的最大时长确定。
其中,预置周期内所产生的需要移动的数据块的个数N为:在预置周期内所产生的逻辑单元中需要进行数据移动的数据块的个数,例如预置周期1分钟内产生了3000个数据块的数据保存时长大于预置时长范围,则这3000个数据块需要进行数据移动,在该预置周期达到后终端需要将这3000个数据块中的数据移动到另外3000个数据块中存储。
移动一个所述数据块中数据的时长用Tb表示,例如将一个数据块中的数据全部移动完成所需要的时间Tb为3秒。所述数据块保存数据的最大时长为Tr,表示在Tr时间达到后,数据块中的数据必须移动的时长。
所述目标时长范围的表达式为:[Tr–N*Tb/P,Tr],所述P为性能损失因子,考虑到用户读写的性能损失,移动一个所述数据块的时长需要放大1/P倍,例如P为10%,则移动一个所述数据块的时长需要放大10倍。
一种可能的应用场景是:完全禁止用户读数据的情况下,搬移3000个数据块中的数据所需要的时间为3000*3秒,但是实际情况下是无法完全禁止用户读取数据的,因此需要考虑到用户读取数据的性能损失设置时长放大倍数,如果P为10%,则搬移3000个数据的时长为3000*3*10秒,Tr为2天,则目标时长范围为[2天-3000*3*10秒,2天]。
本申请通过确定目标数据在第一数据块中的保存时长是否在预置数据范围内而不是确定数据保存时长是否大于某一个值,从而避免了在某一周期达到后需要将大量数据从一个Block搬移到另一个Block上,降低了用户对Nand-flash中数据读取的影响。
在本申请实施例中,将第一数据块中的目标数据从第一数据块移动到第二数据块之前,还需要进行数据的读取,可以读取逻辑单元中的X个数据之后再执行数据移动,请参照图3,具体为:
S301、确定目标数据在第一数据块中的数据保存时长。
S302、确定所述数据保存时长是否在预置时长范围内。
本实施步骤301和302与上述实施例步骤201和202类似,具体此处不再赘述。
S303、当终端从逻辑单元中读取X个数据之后,将目标数据从第一数据块移动到第二数据块。
终端从逻辑单元中读取X个数据之后,将目标数据从第一数据块移动到第二数据块,其中,X为大于等于0的正整数,X的值此处不做限定,第一数据块和第二数据块都属于该逻辑单元。
在本实施例中,X由所述移动一个所述数据块的时长Tb、所述移动一个所述数据块的时长放大倍数P、所述数据块中的页Page个数M以及读取所述逻辑单元中一个数据的时长Tpr确定。
Tb与P的含义与上述步骤202中对应描述类似,具体此处不作限定。
可以按照如下公式确定所述X:所述X=((Tb/M)/P)/Tpr;
例如,第一数据块中所包含的的页Page个数M为1000个,这1000个page即为目标数据,若搬移一个数据块的时间为3S,则搬移一个Page的时长为3秒/1000=3ms,同样P为10%,时长放大倍数为10倍,则搬移一个Page的时长消耗的时长为30ms。读取一个Page上的数据的时长Tpr为100us,那么可以读取逻辑单元中数据的个数X为((3s/1000)*10)/100us=300个,说明终端可以在逻辑单元中每读取300个Page数据之后,执行一次数据搬移,将一个Page数据从第一数据块移动到第二数据块存储,重复执行直至第一数据块中的目标数据搬移完成。
在本实施例中,对终端搬移数据前数据的读取情况进行了说明,可以处理多个数据读取后再处理数据搬移,提升了终端性能。
下面,请参照图4,对本申请终端的另一种可能的结构进行说明。
一种终端40,包括:
确定单元401,用于确定目标数据在第一数据块中的数据保存时长;
所述确定单元401,还用于确定所述数据保存时长是否在预置时长范围内,其中,所述预置时长范围由需要进行数据移动的数据块的个数、移动一个所述数据块中数据的时长以及所述数据块保存所述数据的最大时长确定。
可选的,所述终端40还包括:
数据移动单元402,用于若所述数据保存时长在预置时长范围内,则将所述目标数据从第一数据块移动到第二数据块。
可选的,所述预置时长范围由需要进行数据移动的数据块的个数、移动一个所述数据块中数据的时长以及所述数据块保存所述数据的最大时长确定包括:
按照如下公式确定所述目标时长范围:
所述目标时长范围的表达式为:[Tr–N*Tb/P,Tr],所述Tr为所述数据块保存数据的最大时长,所述N为所述需要进行数据移动的数据块的个数,所述Tb所述移动一个所述数据块中数据的时长,所述P为性能损失因子。
可选的,所述数据移动单元402具体用于当终端从逻辑单元中读取X个数据之后,将所述目标数据从第一数据块移动到第二数据块,所述X为大于等于0的正整数,其中,所述第一数据块和所述第二数据块属于所述逻辑单元。
可选的,所述X由根据所述移动一个所述数据块的时长、所述移动一个所述数据块的时长放大倍数、所述数据块中的页Page个数以及读取所述逻辑单元中一个数据的时长确定。
可选的,所述X由根据所述移动一个所述数据块的时长、所述移动一个所述数据块的时长放大倍数、所述数据块中的页Page个数以及读取所述逻辑单元中一个数据的时长确定包括:
按照如下公式确定所述X:
所述X=((Tb/M)/P)/Tpr,所述Tb所述移动一个所述数据块的时长,所述M为所述Block中的页Page个数,所述P为所述性能损失因子,所述Tpr为读取所述逻辑单元中一个数据的时长。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机或服务器等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
Claims (13)
1.一种数据移动方法,其特征在于,包括:
确定目标数据在第一数据块中的数据保存时长;
确定所述数据保存时长是否在预置时长范围内,其中,所述预置时长范围由需要进行数据移动的数据块的个数、移动一个所述数据块中数据的时长以及所述数据块保存所述数据的最大时长确定。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述数据保存时长在预置时长范围内,则将所述目标数据从第一数据块移动到第二数据块。
3.根据权利要求1或2所述的方法,其特征在于,所述预置时长范围由需要进行数据移动的数据块的个数、移动一个所述数据块中数据的时长以及所述数据块保存所述数据的最大时长确定包括:
按照如下公式确定所述目标时长范围:
所述目标时长范围的表达式为:[Tr–N*Tb/P,Tr],所述Tr为所述数据块保存数据的最大时长,所述N为所述需要进行数据移动的数据块的个数,所述Tb所述移动一个所述数据块中数据的时长,所述P为性能损失因子。
4.根据权利要求2或3所述的方法,其特征在于,所述将所述目标数据从第一数据块移动到第二数据块包括:
当终端从逻辑单元读取X个数据之后,将所述目标数据从第一数据块移动到第二数据块,所述X为大于等于0的正整数,其中,所述第一数据块和所述第二数据块属于所述逻辑单元。
5.根据权利要求4所述的方法,其特征在于,所述X由根据所述移动一个所述数据块的时长、所述移动一个所述数据块的时长放大倍数、所述数据块中的页Page个数以及读取所述逻辑单元中一个数据的时长确定。
6.根据权利要求5所述的方法,其特征在于,所述X由根据所述移动一个所述数据块的时长、所述移动一个所述数据块的时长放大倍数、所述数据块中的页Page个数以及读取所述逻辑单元中一个数据的时长确定包括:
按照如下公式确定所述X:
所述X=((Tb/M)/P)/Tpr,所述Tb所述移动一个所述数据块的时长,所述M为所述Block中的页Page个数,所述P为所述性能损失因子,所述Tpr为读取所述逻辑单元中一个数据的时长。
7.一种终端,其特征在于,包括:
确定单元,用于确定目标数据在第一数据块中的数据保存时长;
所述确定单元,还用于确定所述数据保存时长是否在预置时长范围内,其中,所述预置时长范围由需要进行数据移动的数据块的个数、移动一个所述数据块中数据的时长以及所述数据块保存所述数据的最大时长确定。
8.根据权利要求7所述的终端,其特征在于,所述终端还包括:
数据移动单元,用于若所述数据保存时长在预置时长范围内,则将所述目标数据从第一数据块移动到第二数据块。
9.根据权利要求7或8所述的终端,其特征在于,所述预置时长范围由需要进行数据移动的数据块的个数、移动一个所述数据块中数据的时长以及所述数据块保存所述数据的最大时长确定包括:
按照如下公式确定所述目标时长范围:
所述目标时长范围的表达式为:[Tr–N*Tb/P,Tr],所述Tr为所述数据块保存数据的最大时长,所述N为所述需要进行数据移动的数据块的个数,所述Tb所述移动一个所述数据块中数据的时长,所述P为性能损失因子。
10.根据权利要求8或9所述的终端,其特征在于,所述数据移动单元具体用于当终端从逻辑单元读取X个数据之后,将所述目标数据从第一数据块移动到第二数据块,所述X为大于等于0的正整数,其中,所述第一数据块和所述第二数据块属于所述逻辑单元。
11.根据权利要求10所述的终端,其特征在于,所述X由根据所述移动一个所述数据块的时长、所述移动一个所述数据块的时长放大倍数、所述数据块中的页Page个数以及读取所述逻辑单元中一个数据的时长确定。
12.根据权利要求11所述的终端,其特征在于,所述X由根据所述移动一个所述数据块的时长、所述移动一个所述数据块的时长放大倍数、所述数据块中的页Page个数以及读取所述逻辑单元中一个数据的时长确定包括:
按照如下公式确定所述X:
所述X=((Tb/M)/P)/Tpr,所述Tb所述移动一个所述数据块的时长,所述M为所述Block中的页Page个数,所述P为所述性能损失因子,所述Tpr为读取所述逻辑单元中一个数据的时长。
13.一种终端,其特征在于,包括:存储器、收发器、处理器以及总线***;
其中,所述存储器用于存储程序和指令;
所述收发器用于在所述处理器的控制下接收或发送信息;
所述处理器用于执行所述存储器中的程序;
所述总线***用于连接所述存储器、所述收发器以及所述处理器,以使所述存储器、所述收发器以及所述处理器进行通信;
其中,所述处理器用于调用所述存储器中的程序指令,执行如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811466032.5A CN109582240B (zh) | 2018-12-03 | 2018-12-03 | 一种数据移动方法及其相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811466032.5A CN109582240B (zh) | 2018-12-03 | 2018-12-03 | 一种数据移动方法及其相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109582240A true CN109582240A (zh) | 2019-04-05 |
CN109582240B CN109582240B (zh) | 2022-02-18 |
Family
ID=65926958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811466032.5A Active CN109582240B (zh) | 2018-12-03 | 2018-12-03 | 一种数据移动方法及其相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109582240B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955392A (zh) * | 2019-12-03 | 2020-04-03 | 山东华芯半导体有限公司 | 一种ssd中在线监测数据存储时间的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242871A (zh) * | 2014-06-06 | 2016-01-13 | 华为技术有限公司 | 一种数据写入方法及装置 |
CN106598484A (zh) * | 2016-11-17 | 2017-04-26 | 华为技术有限公司 | 数据的存储方法、闪存芯片以及存储装置 |
WO2018118437A1 (en) * | 2016-12-22 | 2018-06-28 | Smart Modular Technologies, Inc. | Virtual timer for data retention |
US20180260134A1 (en) * | 2017-03-07 | 2018-09-13 | Alibaba Group Holding Limited | Extending flash storage lifespan and data quality with data retention protection |
-
2018
- 2018-12-03 CN CN201811466032.5A patent/CN109582240B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242871A (zh) * | 2014-06-06 | 2016-01-13 | 华为技术有限公司 | 一种数据写入方法及装置 |
CN106598484A (zh) * | 2016-11-17 | 2017-04-26 | 华为技术有限公司 | 数据的存储方法、闪存芯片以及存储装置 |
WO2018118437A1 (en) * | 2016-12-22 | 2018-06-28 | Smart Modular Technologies, Inc. | Virtual timer for data retention |
US20180260134A1 (en) * | 2017-03-07 | 2018-09-13 | Alibaba Group Holding Limited | Extending flash storage lifespan and data quality with data retention protection |
Non-Patent Citations (2)
Title |
---|
YU CAI等: "Data retention in MLC NAND flash memory: Characterization, optimization, and recovery", 《2015 IEEE 21ST INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTER ARCHITECTURE》 * |
徐海娟: "保留时间感知的闪存转换层设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955392A (zh) * | 2019-12-03 | 2020-04-03 | 山东华芯半导体有限公司 | 一种ssd中在线监测数据存储时间的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109582240B (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107678631B (zh) | 侧边菜单显示方法、装置和终端 | |
CN103024205B (zh) | 一种功率控制的方法、装置及终端 | |
CN103455407A (zh) | 一种移动终端cpu占用率监测方法、装置及移动终端 | |
US20160315999A1 (en) | Device and method for associating applications | |
CN106453511B (zh) | 一种数据备份方法及设备 | |
CN106020987A (zh) | 处理器中内核运行配置的确定方法以及装置 | |
CN103594103A (zh) | 音频处理方法及相关装置 | |
US10657347B2 (en) | Method for capturing fingerprint and associated products | |
CN107562539B (zh) | 应用程序处理方法和装置、计算机设备、存储介质 | |
TW201519073A (zh) | 一種終端裝置快捷回覆操作方法和終端裝置 | |
CN104834529A (zh) | 一种应用的性能优化的方法及装置 | |
CN103281687A (zh) | 一种双卡终端的网络流量管理方法及装置 | |
CN104516812A (zh) | 一种软件测试方法和装置 | |
CN103530040A (zh) | 目标元素移动方法、装置及电子设备 | |
CN105278937A (zh) | 一种显示弹出框消息的方法及装置 | |
CN103150248B (zh) | 一种启动项耗时的测算方法和装置 | |
CN104602100A (zh) | 实现应用内视频、音频录制的方法及装置 | |
CN107943685B (zh) | 一种遍历路径生成方法、装置、服务器及存储介质 | |
CN104093123A (zh) | 应用程序的信息推送方法、装置和***、移动终端 | |
US10324134B2 (en) | Method and device for ascertaining required charging time | |
CN109245195A (zh) | 移动终端和充电处理的方法、装置及存储装置 | |
CN104809055B (zh) | 一种基于云平台的应用程序测试方法和装置 | |
CN104133752B (zh) | 操作平台的监控方法和装置 | |
CN103399706A (zh) | 页面交互方法、装置及终端 | |
US11147038B2 (en) | Notification message processing method and terminal |
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 |