CN115298652A - 用于存储介质健康评估的系统和方法 - Google Patents
用于存储介质健康评估的系统和方法 Download PDFInfo
- Publication number
- CN115298652A CN115298652A CN202080098471.4A CN202080098471A CN115298652A CN 115298652 A CN115298652 A CN 115298652A CN 202080098471 A CN202080098471 A CN 202080098471A CN 115298652 A CN115298652 A CN 115298652A
- Authority
- CN
- China
- Prior art keywords
- storage device
- data
- storage medium
- storage
- evaluation result
- 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
Links
Images
Classifications
-
- 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/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3485—Performance evaluation by tracing or monitoring for I/O devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本说明书提供了用于存储介质的健康评估的系统和方法。该方法可以包括获取存储介质的感知数据。感知数据可以从存储介质的一个或多个寄存器中获取,并反映存储介质的当前运行状态。该方法还可以包括:基于存储介质的感知数据,对存储介质的健康状态进行评估,得到评估结果。
Description
技术领域
本申请一般涉及存储领域,更具体地,涉及一种存储介质的健康状态评估方法。
背景技术
数字存储介质广泛用于数据存储。存储介质通常包括NAND闪存,由于每天使用时间过长、频繁的读、写和/或擦除操作等原因,可能会损坏。如果无法评估存储介质的健康状态,用户无法及时或准确地更换或修复存储介质,可能导致数据丢失甚至更严重的后果。因此,需要提供用于准确且有效地评估存储介质的健康状态的方法和系统。
发明内容
根据本说明书的一个方面,提供了一种用于对存储介质进行健康评估的系统。所述系统包括至少一个存储可执行指令的第一存储设备,以及与所述至少一个第一存储设备通信的至少一个处理器,当执行所述可执行指令时,使所述系统执行包括以下的操作:获取第二存储设备的感知数据,所述感知数据来自所述第二存储设备的一个或多个寄存器,并且反映所述第二存储设备的当前运行状态;以及基于所述第二存储设备的所述感知数据,对所述第二存储设备的健康状态进行评估,获得评估结果。
在一些实施例中,所述第二存储设备包括嵌入式多媒体卡、安全数字存储卡或T-flash。
在一些实施例中,所述第二存储设备安装在车辆上并且被配置用于存储与所述车辆相关联的驾驶信息
在一些实施例中,所述操作还包括:将所述第二存储设备的健康状态的所述评估结果发送到终端设备。
在一些实施例中,所述第二存储设备的所述一个或多个寄存器被配置用于存储扩展设备特定数据(ECSD)。
在一些实施例中,为了基于所述第二存储设备的所述感知数据,对所述第二存储设备的健康状态进行评估,获得评估结果,所述至少一个处理器被配置用于使所述系统执行包括以下的操作:获取与所述第二存储设备对应的映射信息,所述映射信息提供所述第二存储设备在多个运行状态中每个运行状态下消耗的使用寿命;基于所述感知数据和所述映射信息,确定所述当前运行状态对应的所述第二存储设备当前已消耗的使用寿命;以及
至少部分地基于所述第二存储设备所述当前已消耗的使用寿命确定所述评估结果。
在一些实施例中,所述评估结果包括所述第二存储设备的所述当前使用寿命与预期总使用寿命的比值。
在一些实施例中,述感知数据反映所述第二存储设备的一个或多个预留块的使用状态,并且为了至少部分地基于所述第二存储设备所述当前已消耗的使用寿命确定评估结果,所述至少一个处理器被配置用于使所述系统执行包括以下的操作:基于所述感知数据,获取所述一个或多个预留块已被使用比例的提醒;以及至少部分地基于所述第二存储设备所述当前已消耗的使用寿命和所述提醒确定所述评估结果。
在一些实施例中,述感知数据包括所述第二存储设备的一个或多个异常存储块、擦除状态或写入状态中的至少一个的辅助数据,为了至少部分地基于所述第二存储设备所述当前已消耗的使用寿命确定所述评估结果,所述至少一个处理器被配置用于使所述系统执行包括以下的操作:接收分析所述辅助数据的命令;响应于接收到所述命令,分析所述辅助数据以确定所述一个或多个异常块、所述擦除状态或所述写入状态中的至少一个;以及至少部分地基于所述第二存储设备所述当前已消耗的使用寿命和所述一个或多个异常块、所述擦除状态或所述写入状态中的至少一个,确定所述评估结果。
在一些实施例中,所述感知数据包括所述第二存储设备的输入/输出(I/O)统计数据,为了基于所述第二存储设备的所述感知数据评估所述第二存储设备的健康状态获得评估结果,所述至少一个处理器被配置用于使所述系统执行包括以下的操作:基于所述I/O统计数据确定所述第二存储设备当前已消耗的使用寿命;以及基于所述第二存储设备所述当前已消耗的使用寿命评估所述第二存储设备的健康状态,获得评估结果。
根据本说明书的另一方面,提供了一种用于存储介质的健康评估的方法。所述方法在具有至少一个处理器和至少一个第一存储设备的计算设备上实现。所述方法包括,获取第二存储设备的感知数据,所述感知数据来自所述第二存储设备的一个或多个寄存器,并且反映所述第二存储设备的当前运行状态;以及基于所述第二存储设备的所述感知数据,对所述第二存储设备的健康状态进行评估,获得评估结果。
根据本说明书的另一方面,提供了一种非暂时性计算机可读介质。所述非暂时性计算机可读介质存储有指令,当至少一个处理器执行所述指令时,使所述至少一个处理器实施包括以下步骤的方法。所述方法包括,获取第二存储设备的感知数据,所述感知数据来自所述第二存储设备的一个或多个寄存器,并且反映所述第二存储设备的当前运行状态;以及基于所述第二存储设备的所述感知数据,对所述第二存储设备的健康状态进行评估,获得评估结果。
根据本说明书的另一方面,提供了一种用于存储介质的健康评估的方法。所述方法在具有至少一个处理器和至少一个存储设备的计算设备上实现。所述方法包括,获取第二存储设备的输入/输出(I/O)统计数据;基于所述I/O统计数据确定所述第二存储设备当前已消耗的使用寿命;基于所述第二存储设备所述当前已消耗的使用寿命,评估所述第二存储设备的健康状态,获得评估结果。
在一些实施例中,根据本说明书的另一方面,提供了一种非暂时性计算机可读介质。所述非暂时性计算机可读介质存储指令,当至少一个处理器执行所述指令时,使所述至少一个处理器实施包括以下步骤的方法。所述方法包括,获取第二存储设备的输入/输出(I/O)统计数据;基于所述I/O统计数据确定所述第二存储设备当前已消耗的使用寿命;基于所述第二存储设备所述当前已消耗的使用寿命,评估所述第二存储设备的健康状态,获得评估结果。
附加特征将部分地在随后的描述中阐述,并且部分地对于本领域技术人员在检查以下和附图时将变得显而易见,或者可以通过实施例的产生或操作来了解。本说明书的特征可以通过实践或使用在下文讨论的详细示例中阐述的方法、工具和组合的各个方面来实现和获得。
附图说明
根据示例性实施例进一步描述了本说明书。参考附图详细描述了这些示例性实施例。附图未按比例绘制。这些实施例是非限制性示例性实施例,其中相同的附图标记表示贯穿附图的若干视图的相似结构,其中:
图1是根据本说明书一些实施例所示的存储介质健康评估系统的示意图;
图2是根据本说明书一些实施例所示的计算设备的示例性硬件和软件组件的示意图;
图3是根据本说明书一些实施例所示的移动设备的示例性硬件和/或软件组件的示意图;
图4是根据本说明书一些实施例所示的示例性处理设备的框图;
图5是根据本说明书一些实施例所示的说明用于存储介质的健康评估的示例性过程的流程图;
图6是根据本说明书一些实施例所示的用于存储介质的健康评估的示例性过程的流程图;
图7是根据本说明书一些实施例所示的存储介质中的存储单元的类型的示意图;以及
图8是根据本说明书一些实施例所示的用于存储介质的健康评估的示例性过程的流程图。
具体实施方式
呈现以下描述以使本领域的任何技术人员能够制作和使用本说明书并且在特定应用及其要求的上下文中提供。对于本领域的技术人员来说,对所公开的实施例的各种修改是显而易见的,并且在不背离本说明书的精神和范围的情况下,本说明书定义的一般原理可以应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是要符合与权利要求一致的最宽范围。
本说明书中使用的术语仅出于描述特定示例实施例的目的,并不旨在进行限制。如本说明书所用,单数形式“一”、“一个”和“该”也可以旨在包括复数形式,除非上下文另有明确反应。进一步理解,当在本说明书中使用时,术语“包含”、“包括”指定了所述特征,整数、步骤、操作、元素和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或它们的组和的存在或添加。
通常,本说明书使用的词语“模块”、“单元”或“块”指的是体现在硬件或固件中的逻辑,或者指的是软件指令的集合。本说明书描述的模块、单元或块可以被实现为软件和/或硬件,并且可以存储在任何类型的非暂时性计算机可读介质或其他存储设备中。在一些实施例中,软件模块/单元/块可以被编译并链接到可执行程序中。应当理解,软件模块可以从其他模块/单元/块或其自身调用,和/或可以响应于检测到的事件或中断而被调用。可以在计算机可读介质上提供被配置用于在计算设备上执行的软件模块/单元/块,例如压缩盘、数字视频盘、闪存驱动器、磁盘或任何其他有形介质,或作为数字下载(并且最初可以以压缩或可安装格式存储,在执行之前需要安装、解压缩或解密)。这样的软件代码可以部分或全部存储在执行计算设备的存储设备上,以供计算设备执行。软件指令可以嵌入在固件中,例如可擦除可编程只读存储器(EPROM)。进一步理解,硬件模块/单元/块可以包括在连接的逻辑组件中,例如门和触发器,和/或可以包括在可编程单元中,例如可编程门阵列或处理器。本说明书描述的模块/单元/块或计算设备功能可以实现为软件模块/单元/块,但可以用硬件或固件来表示。一般来说,这里描述的模块/单元/块是指可以与其他模块/单元/块组合或分成子模块/子单元/子块的逻辑模块/单元/块,尽管它们的物理组织或存储。该描述可适用于系统、引擎或其一部分。
应当理解,本说明书中使用的术语“系统”、“引擎”、“单元”、“模块”和/或“块”是按升序区分不同级别的组件、元件、零件、部件或组组装的一种方法。但是,如果这些术语达到相同的目的,则可以用另一种表达方式代替它们。
应当理解的是,当一个单元、引擎、模块或块被称为在另一个单元、引擎、模块或块的“上面”、“连接到”或“耦合到”另一个单元、引擎、模块或块时,除非上下文另有明确反应它可以直接在、连接或耦合到或与其他单元、引擎、模块或块通信,或者可以存在中间单元、引擎、模块或块。如本说明书所用,术语“和/或”包括一个或多个相关列出的术语的任何和所有组合。
本说明书的这些和其他特征和特性,以及相关结构元件的操作方法和功能以及部件的组合和制造的经济性,在参考附图考虑以下描述后,可以变得更加清楚,所有这些都形成了本说明书的一部分。然而,应明确理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。应当理解,附图不是按比例绘制的。
本说明书中使用的流程图描述了系统根据本说明书中的一些实施例实现的操作。应当明确理解,流程图的操作可以不按顺序执行。相反,这些操作可以以相反的顺序或同时执行。此外,可以将一个或多个其他操作添加到流程图。可以从流程图中移除一项或多项操作。
本说明书的一个方面涉及用于准确且方便地评估存储介质的健康状态的方法和系统。在一些实施例中,存储介质可以包括嵌入式多媒体卡(eMMC)、安全数字存储器(SD)卡或T闪存(TF)。该方法可以包括从第二存储设备的一个或多个寄存器获得存储设备存储介质的感知数据。感知数据可以反映存储介质的当前运行状态。该方法可以包括基于存储介质的感知数据评估存储介质的健康状态以获得评估结果。例如,该方法可以包括获取与存储介质对应的映射信息,该映射信息提供存储介质在多个运行状态中每个运行状态下消耗的使用寿命。该方法还可以包括:基于感知数据和映射信息,确定存储介质与当前运行状态对应的当前已消耗的使用寿命。相应地,本发明所描述的系统和方法可以根据存储介质本身存储的感知数据确定健康状态,可以准确反映存储介质的运行状态,便于获取,从而提高健康评估的准确性和效率。
图1是根据本说明书一些实施例所示的存储介质健康评估系统100的示意图。根据本说明书,健康评估系统100可以被配置用于评估存储介质的健康状态。在一些实施例中,健康评估系统100可以包括图1所示的组件。如图1所示,包括服务器110、网络120、存储器130和一个或多个用户设备140。可以推测的是,与图1所示的组件相比健康评估系统100可以包括更多或更少的组件。
服务器110可以被配置用于处理与存储设备有关的信息和/或数据。例如,服务器110可以通过处理与存储介质相关联的感知数据和/或I/O统计数据来评估存储设备的健康状态。在一些实施例中,服务器110可以是单个服务器或服务器组。服务器组可以是集中式的或分布式的(例如,服务器110可以是分布式系统)。在一些实施例中,服务器110可以是本地的或远程的。例如,服务器110可以通过网络120访问存储在存储设备的寄存器中的信息和/或数据。作为另一个示例,服务器110可以直接连接到存储器130以访问存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实现。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布式云、跨云、多云等,或其任意组合。
在一些实施例中,服务器110可以包括处理设备112。处理设备112可以处理与存储设备有关的信息和/或数据以执行本说明书中描述的一个或多个功能。例如,处理设备112可以从用户设备140接收对存储介质的健康评估的请求。作为另一示例,处理设备112可以响应于接收到请求而获取与存储介质的运行状态相关的信息和/或数据。在一些实施例中,处理设备112可以包括一个或多个处理器(例如,单核处理引擎或多核处理器)。仅作为示例,处理设备112可以包括中央处理单元(CPU)、专用集成电路(ASIC)、专用指令组处理器(ASIP)、图形处理单元(GPU)、物理处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、微控制器单元、精简指令组计算机(RISC)、微处理器等或其任意组合。
网络120可以促进信息和/或数据的交换。在一些实施例中,系统100中的一个或多个组件(例如,服务器110、存储器130和用户设备140)可以经由网络120向/从系统100中的其他组件发送和/或接收信息和/或数据。例如,服务器110可以通过网络120从存储器130的一个或多个寄存器获得/获取感知数据。在一些实施例中,网络120可以是任何类型的有线或无线网络,或它们的组合。仅作为示例,网络120可以包括电缆网络、有线网络、光纤网络、远程通信网络、内联网、因特网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、广域网(WAN)、公共电话交换网(PSTN)、BluetoothTM网络、ZigBeeTM网络、近场通信(NFC)网络、全球移动通信系统(GSM)网络、码分多址(CDMA)网络、时分多址(TDMA)网络、通用分组无线业务(GPRS)网络、增强的数据速率GSM演进(EDGE)网络,宽带码分多址(WCDMA)网络,高速下行分组接入(HSDPA)网络,长期演进(LTE)网络,用户数据报协议(UDP)网络,传输控制协议/互联网协议(TCP/IP)网络、短消息服务(SMS)网络、无线应用协议(WAP)网络、超宽带(UWB)网络、红外线等或其任意组合。
存储器130可以存储与存储介质的健康评估相关联的数据和/或指令。例如,存储器130可以存储服务器110可以执行或用于执行本说明书中描述的示例性方法的数据和/或指令(例如,算法)。作为另一示例,存储器130可以存储从一个或多个用户终端(例如,用户设备140)获得的数据(例如,健康评估请求)。作为又一示例,存储器130可以存储与存储介质(即,第二存储设备)相关联的I/O统计数据和/或感知数据。如本说明书所使用的,被配置用于存储与存储介质的健康评估相关联的数据和/或指令的存储器130也可以被称为第一存储设备。需要进行健康状况评估的存储介质也可以称为第二存储设备。在一些实施例中,第一存储设备(例如,存储设备130)可以是处理设备112的一部分。第二存储设备可以在,例如用户设备140、车辆、计算设备等设备上实现。在一些实施例中,第二存储设备和第一存储设备可以是同一个存储设备。
存储器130可以包括任何适当类型的大容量存储器,用于存储处理设备112可能需要操作的任何类型的信息。存储器130可以是易失性或非易失性、磁性、半导体、磁带、光学、可移动、不可移动或其他类型的存储设备或有形(即,非暂时性)计算机可读介质,包括但不限于ROM、闪存、动态RAM和静态RAM。存储器130可以被配置用于存储一个或多个计算机程序,这些计算机程序可以由处理设备112执行以执行本说明书所公开的功能。例如,存储器130可以被配置用于存储可以由处理设备112执行以评估存储设备的健康状态的程序。存储器130可以被配置用于提供与运行状态和/或与其自身相关的使用寿命有关的信息和/或数据。在一些实施例中,存储器130可以连接到网络120以在线与健康评估系统100的一个或多个组件(例如,服务器110、一个或多个用户终端等)通信。健康评估系统100中的一个或多个组件可以通过网络120访问存储在存储器130中的数据和/或指令。在一些实施例中,存储器130可以直接连接到健康评估系统100中的一个或多个组件(例如,服务器110、一个或多个用户终端等)或与之通信。在一些实施例中,存储器130可以是服务器110的一部分。
在一些实施例中,健康评估系统100中的一个或多个组件(例如,服务器110、用户设备140等)可以具有访问存储器130的许可。在一些实施例中,当满足一个或多个条件时,健康评估系统100中的一个或多个组件可以读取和/或修改与存储介质的健康评估相关的信息。
用户设备140可以包括移动设备140-1、平板电脑140-2、膝上型电脑140-3、车辆中的内置设备140-4、可穿戴设备140-5等,或其任意组合。在一些实施例中,移动设备140-1可以包括智能家居设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能设备、智能电视、智能摄像机等或其任意组合。在一些实施例中,可穿戴设备可以包括智能手环、智能鞋带、智能眼镜、智能头盔、智能手表、智能服装、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)等或其任意组合。在一些实施例中,虚拟现实设备和/或增强现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等或其任意组合,例如,虚拟现实设备和/或增强现实设备可以包括谷歌眼镜、OculusRift、Hololens、GearVR等。在一些实施例中,车辆140-4中的内置设备可以包括在一些实施例中,可穿戴设备140-5可以包括智能手环、智能鞋袜、智能眼镜、智能头盔、智能手表、智能服装、智能背包、智能配件等,或其任意组合。
在一些实施例中,用户设备140可以包括用户界面,该用户界面被配置用于促进用户与健康评估系统100的一个或多个组件之间的通信。例如,用户设备140的用户可以使用用户设备140经由用户界面发送对与用户设备140相关联的存储介质的健康状态评估的请求。作为另一示例,用户设备140可以从服务器110接收存储介质的评估结果,并通过用户界面为用户显示对存储设备的健康状态的评估结果。
本领域普通技术人员可以理解,当健康评估系统100的元件被执行时,该元件可以通过电信号和/或电磁信号被执行。例如,当用户设备140向服务器110发送存储健康评估请求时,用户设备140的处理器可以生成对该请求进行编码的电信号。用户设备140的处理器然后可以将电信号发送到输出端口。如果用户设备140通过有线网络与服务器110通信,则输出端口可以物理连接到电缆,电缆进一步将电信号传输到服务器110的输入端口。如果用户设备140通过无线网络与服务器110通信,则用户设备140的输出端口可以是一根或多根天线,将电信号转换为电磁信号。类似地,用户设备140可以通过其处理器中的逻辑电路的操作来处理任务,并通过电信号或电磁信号从服务器110接收指令和/或服务请求。在例如用户设备140和/或服务器110的电子设备内,当其处理器处理指令、发出指令和/或执行动作时,该指令和/或动作通过电信号进行。例如,当处理器从存储介质中检索或保存数据时,它可以向存储介质的读/写设备发送电信号,该读/写设备可以在存储介质中读取或写入结构化数据。结构化数据可以通过电子设备的总线以电信号的形式传输到处理器。这里,电信号可以指一个电信号、一系列电信号和/或多个离散电信号。
图2是根据本说明书一些实施例所示的计算设备200的示例性硬件和软件组件的示意图。计算设备200可用于实现本说明书所述的健康评估系统100的任何组件。例如,用户设备140和/或处理设备112可以分别通过其硬件、软件程序、固件或其组合在计算设备200上实现。尽管仅示出了一个这样的计算设备,但为了方便起见,与本说明书所述的健康评估系统100相关的计算机功能可以在多个类似平台上以分布式方式实现,以分配处理负载。
如图2所示,计算设备200可以包括通信总线210、处理器220、存储设备、输入/输出(I/O)260和通信端口250。处理器220可以执行计算机指令(例如,程序代码)并根据本说明书描述的技术执行健康评估系统100(例如,服务器110)的一个或多个组件的功能。计算机指令可以包括例如执行本说明书描述的特定功能的例程、程序、对象、组件、数据结构、过程、模块和功能。在一些实施例中,处理器220可以包括接口电路和处理电路。接口电路可以被配置用于从通信总线210接收电子信号,其中电子信号对结构化数据和/或指令进行编码以供处理电路处理。处理电路可以进行逻辑计算,然后确定结论、结果和/或编码为电子信号的指令。然后接口电路可以通过通信总线210从处理电路发出电子信号。
在一些实施例中,处理器220可以包括一个或多个硬件处理器,例如微控制器、微处理器、精简指令组计算机(RISC)、专用集成电路(ASIC)、专用指令组处理器(ASIP)、中央处理单元(CPU)、图形处理单元(GPU)、物理处理单元(PPU)、微控制器单元、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、高级精简指令集处理器(ARM)、可编程逻辑器件(PLD)、能够执行一个或多个功能等的任何电路或处理器,或其任何组合。
仅仅是为了说明,计算设备200中仅描述了一个处理器220。然而,需要注意的是,本说明书中的计算设备200还可以包括多个处理器,因此,本发明中描述的由一个处理器执行的操作和/或方法操作也可以由多个处理器联合或单独执行。例如,如果在本说明书中计算设备200的处理器同时执行操作A和操作B,则应该理解操作A和操作B也可以由计算设备200中的两个或多个不同的处理器联合或分别执行。(例如,第一处理器执行操作A,第二处理器执行操作B,或者第一和第二处理器联合执行操作A和B)。
存储设备可以存储与健康评估系统100相关的数据/信息。在一些实施例中,存储设备可以包括大容量存储设备、可移动存储设备、易失性读写存储器、随机存取存储器(RAM)240、只读存储器(ROM)230、磁盘270等,或其任何组合。在一些实施例中,存储设备可以存储一个或多个程序和/或指令以执行本说明书中描述的示例性方法。例如,存储设备可以存储供处理器220执行的程序。
I/O260可以输入和/或输出信号、数据、信息等。在一些实施例中,I/O260可以使用户能够与计算设备200交互。在一些实施例中,I/O260可以包括输入设备和输出设备。输入设备的示例可以包括键盘、鼠标、触摸屏、麦克风等,或其组合。输出设备的示例可以包括显示装置、扬声器、打印机、投影仪等,或其组合。显示设备的示例可以包括液晶显示器(LCD)、基于发光二极管(LED)的显示器、平板显示器、曲面屏幕、电视设备、阴极射线管(CRT)、触摸屏、屏幕等,或其组合。
通信端口250可以连接到网络(例如,网络120)以促进数据通信。通信端口250可以在计算设备200和健康评估系统100的一个或多个组件之间建立连接。该连接可以是有线连接、无线连接、可以实现数据传输和/或接收的任何其他通信连接,和/或这些连接的任何组合。有线连接可以包括例如电缆、光缆、电话线等,或其任何组合。无线连接可以包括例如蓝牙TM链接、Wi-FiTM链接、WiMaxTM链接、WLAN链接、ZigBee链接、移动网络链接(例如,3G、4G、5G等)等,或其组合。在一些实施例中,通信端口250可以是和/或包括标准化的通信端口,例如RS232、RS485等。在一些实施例中,通信端口250可以是专门设计的通信端口。
图3是根据本说明书一些实施例所示的移动设备300的示例性硬件和/或软件组件的示意图。在一些实施例中,可以在移动设备300上实现健康评估系统100的一个或多个组件,例如用户设备140和/或处理设备112。参照图3,移动设备300可以包括通信平台310、显示器320、图形处理单元(GPU)330、中央处理单元(CPU)340、I/O350、存储360和存储器390。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可以包括在移动设备300中。
在一些实施例中,可以将移动操作系统370(例如,iOSTM、AndroidTM、WindowsPhoneTM等)和一个或多个应用程序380从存储器390加载到存储360中以便由CPU340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于接收和呈现与健康评估系统100有关的信息。用户与信息流的交互可以通过I/O350实现,并通过网络120提供给健康评估系统100的一个或多个其他组件。
为了实现在本说明书中描述的各种模块、单元和它们的功能,计算机硬件平台可以用作本说明书描述的一个或多个元件的硬件平台。具有用户界面元件的计算机可用于实现个人计算机(PC)或任何其他类型的工作站或终端设备。如果经过适当的编程,计算机也可以充当服务器。
图4是根据本说明书一些实施例所示的示例性处理设备112的框图。如图4所示,处理设备112可以包括获取模块440、确定模块420、评估模块430、传输模块440和存储模块450。
获取模块410可以用于获取存储介质的感知数据,感知数据反映第二存储设备的当前运行状态。例如,获取模块410可以基于感知数据获取反映一个或多个预留块已使用的比例的提醒。作为另一示例,获取模块410可以基于感知数据获取与一个或多个异常块、擦除状态或写入状态中的至少一个相关联的辅助数据。获取模块410还可以用于获取存储介质的输入/输出(I/O)统计数据。在一些实施例中,获取模块410可以从一个或多个第二存储设备(例如,SLC、MLC等)获取感知数据。附加地或替代地,获取模块410可以通过网络(例如,网络120)从外部源获取信息。关于获取存储介质的感知数据的更多描述可以在本说明书的其他地方找到。参见例如图5中的操作510及其相关说明。关于获取存储介质的I/O统计数据的更多描述可以在本说明书的其他地方找到。参见例如图8中的操作810及其相关说明。
确定模块420可以被配置用于基于I/O统计数据确定存储介质当前已消耗的使用寿命。例如,确定模块420可以根据已写入存储介质的数据量确定当前使用寿命。关于确定存储介质当前已消耗的使用寿命的更多描述可以在本说明书的其他地方找到。参见例如图8中的操作820及其相关说明。
评估模块430可以被配置用于基于存储设备的感知数据评估存储介质的健康状态以获得评估结果。评估模块430还可以用于根据第二存储设备当前已消耗的使用寿命评估存储介质的健康状态,得到评估结果。
关于评估结果的更多描述可以在本说明书的其他地方找到。参见例如图5中的操作520和/或图8中的操作830及其相关说明。
传输模块440可以被配置用于将存储介质的健康状态的评估结果发送给用户设备。在一些实施例中,评估结果可以包括存储介质的当前使用寿命、存储介质的剩余使用寿命、异常存储块情况、健康值、健康等级等。对用户设备的健康状态的评估结果可以在本说明书的其他地方找到。参见例如图5中的操作530。和图8中的操作840及其相关说明。
存储模块450可以被配置用于存储与存储介质的健康评估相关联的数据和/或指令。例如,存储模块450可以存储数据和/或指令(例如,算法)以执行本说明书中描述的示例性方法。作为另一示例,存储模块450可以存储从一个或多个用户终端(例如,用户设备140)获得的数据(例如,健康评估请求)。作为又一示例,存储模块450可以存储与存储介质(即,第二存储设备)相关联的I/O统计数据和/或感知数据。
应当注意的是,健康评估系统100和相关模块可以以各种方式实现。例如,健康评估系统100和相关模块可以通过硬件、软件或软件和硬件的结合来实现。其中,硬件组件可以由专用逻辑实现,软件组件可以存储在存储器中,该存储器可以由合适的指令执行系统执行,例如微处理器或专用设计硬件。本领域技术人员可以理解,上述方法和系统可以通过计算机可执行指令和/或嵌入处理器的控制代码中来实现。例如,控制代码可以由例如磁盘、CD或DVD-ROM之类的介质、例如只读存储器(例如,固件)之类的可编程存储设备、或例如光或电信号载体之类的数据载体提供。本说明书的健康评估系统100和相关模块可以由硬件电路实现,例如超大规模集成电路或门阵列、例如逻辑芯片或晶体管的半导体、例如现场可编程门阵列的可编程硬件设备或健康评估系统100和相关模块可以通过各种处理器执行的软件来实现。健康评估系统100和相关模块也可以通过硬件电路和软件的组合(例如,固件)来实现。
需要说明的是,以上对处理设备112及相关模块的描述仅为了描述的方便,并不能将本发明限定在所示实施例的范围内。对于本领域的普通技术人员来说,模块可以以各种方式组合或与其他模块连接为子系统,在本发明的教导下,可以在形式和细节上进行各种修改和变换。例如,传输模块440和存储模块450可以集成为一个模块,也可以省略。作为另一示例,评估模块430和确定模块420可以集成到一个模块中。此类修改在本发明的保护范围之内。在一些实施例中,处理设备112还可包括一个或多个附加模块,例如存储模块。
图5是根据本说明书一些实施例所示的说明用于存储介质的健康评估的示例性过程的流程图。过程500可以由健康评估系统100执行。例如,过程500可以实现为存储在存储ROM230或RAM240中的一组指令。图4中的处理器220和/或模块可以执行存储在也可以称为第一存储设备的存储设备(例如,存储器130)中的一组指令,并且当执行指令时,处理器220和/或模块可以被配置用于执行过程500。下面呈现的所示过程的操作旨在是说明性的。在一些实施例中,过程500可以通过一个或多个未描述的附加操作和/或一个或多个没有讨论的操作来完成。此外,过程500的操作的顺序如图5中所示,以下面描述的不旨在进行限制。
在510中,处理设备112(例如,获取模块110)可以获取存储介质的感知数据。感知数据可以从存储介质的一个或多个寄存器中获取。感知数据可以反映存储介质的当前运行状态。如本说明书所述,需要对其健康状态进行评估的存储介质也可以称为第二存储设备。在一些实施例中,第二存储设备可以是与第一存储设备不同的存储设备,第一存储设备被配置用于存储用于评估第二存储设备的健康状态的可执行指令、程序、公式等。在一些实施例中,第二存储设备和第一存储设备可以是同一个存储设备。
在一些实施例中,存储介质可以包括控制器和多个存储模块(也称为存储块)。控制器可以被配置用于控制对存储设备的访问。控制器可以包括多个寄存器,例如CID寄存器、RCA寄存器、DSR寄存器、CSD寄存器、OCR寄存器、ECSD寄存器等。每个存储模块可以包括多个存储单元。更多关于存储单元的描述可以在图7及其说明中找到。在一些实施例中,存储介质可以包括NAND闪存。示例性NAND闪存可包括嵌入式多媒体卡(eMMC)、安全数字存储器(SD)卡、T闪存(TF)等。
存储介质可以在用户设备(例如,如图1中描述的车辆或用户设备140)上实现。例如,SD卡可以在便携式设备(例如,照相机、PDA、膝上型电脑、多媒体播放器)、车载计算机等上实现。TF卡可以安装在手机、GPS接收器、行车记录仪、球机、便携音乐播放器等。再例如,存储介质可以安装在车辆上,包括汽车、公共汽车、共享单车、轮船、火车、地铁等,或其任何其他组合。
感知数据可以包括存储介质的当前温度、存储介质的使用状态(例如,剩余存储容量、当前已用容量)、运行速度(例如,数据传输速度、写入速度、读取速度、擦除速度等)、错误状态(例如,报告错误的频率、错误的类型)、预留块的使用状态(例如,预留块的已用容量、预留块的剩余容量等)、拥塞度、辅助数据(例如,与存储介质的一个或多个异常存储块、擦除状态、写入状态中的至少一个相关联的数据)等或其组合。感知数据可以反映存储介质的健康状态。以存储介质的运行速度为例,如果存储介质的运行速度较快,即达到或超过预定的正常速度阈值,则包括运行速度在内的感知数据可以表明该存储介质的运行状况良好(例如,提示无需进一步操作);相反,如果存储介质的运行速度较低,即未达到预定的正常速度阈值,则感知数据可以表明存储介质的健康状况不佳(例如,提示应该采取一些措施)。再以存储介质的拥塞度为例,如果存储介质的拥塞度较高(例如,超过阈值),则包含拥塞度的感知数据可以反映存储介质的健康状态不好;相反,如果存储介质的拥塞度较低(例如,小于阈值),则感知数据可以表明健康状况良好。
在一些实施例中,感知数据可以由控制器根据存储介质的提供者(例如,供应商、制造商)的默认设置在存储介质中获取。控制器可以将获取的感知数据存储在一个或多个寄存器中。处理设备112可从一个或多个寄存器获取感知数据。例如,存储介质(例如eMMC卡)的感知数据可以从eMMC5.1电气标准定义的ECSD(extendeddevice-specificdata)寄存器中获取。
在520,处理设备112(例如,评估模块260)可以基于存储介质的感知数据来评估存储介质的健康状态以获得评估结果。
在一些实施例中,存储介质的健康状态可以通过存储介质已消耗的使用寿命(也称为已使用寿命)、存储介质可以消耗的剩余使用寿命(也称为剩余使用寿命)等。已使用寿命越长,存储介质的健康状况可能越差。剩余使用寿命越长,存储介质的健康状态可能就越好。
在一些实施例中,评估结果可以包括对健康状态的描述。例如,评估结果可以包括已使用寿命、剩余使用寿命、已使用寿命与预期总使用寿命的比值、剩余使用寿命与预期总使用寿命的比值、正常存储块的个数或计数/正常存储块的个数与存储块总数的比值/健康状态的警告或提醒、健康状态的健康值(或分数)等。
在一些实施例中,处理设备112可以获取提供存储介质的健康状态和运行状态之间的关系的参考数据。处理设备112可以基于参考数据和反映当前运行状态的感知数据来评估存储介质的健康状态。例如,参考数据可以包括提供存储介质在多个运行状态中的每个运行状态下已消耗的使用寿命的映射信息。处理设备112可以根据感知数据和映射信息,确定当前运行状态对应的存储介质的当前已消耗的使用寿命。评估结果可以包括存储介质当前运行状态当前已消耗的使用寿命或存储介质当前已消耗的使用寿命与预期总使用寿命的比值。作为另一示例,参考数据可以包括提供存储介质中的预留块的多个使用状态中的每个使用状态下的警告或提醒的映射信息。处理设备112可以根据感知数据中预留块的使用状态和映射信息确定警告或提醒。评估结果可以包括警告程度。用于评估存储介质的健康状态的更多描述可以在图6及其说明中找到。
在一些实施例中,处理设备112可以获得训练后的机器学习模型。处理设备112可以将至少一部分感知数据输入到训练后的机器学习模型中以评估健康状态。例如,训练后的机器学习模型可以根据输入的感知数据确定存储介质当前已消耗的使用寿命。作为另一示例,训练后的机器学习模型可以基于输入的感知数据确定该存储介质的健康值。训练后的机器学习模型可由与处理设备112相同或不同的处理设备根据训练算法(例如,反向传播训练算法、梯度等)使用多个训练样本训练机器学习模型得到。多个训练样本中的每个训练样本可以包括与存储介质(即,第二存储设备)相同或不同的存储设备(也称为第三存储设备)的感知数据和健康状态(例如,第三存储设备的已使用寿命)。
在530中,处理设备112(例如,传输模块440)可以将针对存储介质的健康状态的评估结果发送给用户设备。在一些实施例中,用户设备(例如,用户设备140)可以包括用于向用户设备的用户显示评估结果的显示装置。用户设备可以包括膝上型电脑、固定式计算机、台式计算机、移动设备等,或其任何组合。在一些实施例中,可以省略操作330。关于用户设备的更多描述可以在本说明书的其他地方找到。参见例如图1及其相关描述。
需要说明的是,以上描述仅用于说明的目的,并不用于限制本说明书的范围。对于本领域普通技术人员来说,在本说明书的教导下可以做出多种变化和修改。然而,这些变化和修改不脱离本说明书的范围。在一些实施例中,可以在示例性过程500的其他地方添加一个或多个其他可选操作(例如,存储操作)。例如,可以增加存储操作,用于存储存储介质的感知数据或存储存储介质的健康状态的评估结果等。
图6是根据本说明书一些实施例所示的用于存储介质的健康评估的示例性过程的流程图。过程600可以由健康评估系统100执行。例如,过程600可以由存储在存储ROM230或RAM240中的一组指令执行。处理器220和/或图4中的模块可以执行存储在也可以称为第一存储设备的存储设备(例如,存储器130)中的一组指令,并且当执行指令时,处理器220和/或模块可以被配置用于执行过程600。下面呈现的所示过程的操作旨在是说明性的。在一些实施例中,过程600可以通过一个或多个未描述的附加操作和/或一个或多个没有讨论的操作来完成。此外,如图6所示和下文描述的过程600的操作顺序并非旨在进行限制。
在610中,处理设备112(例如,获取模块110)可以获取与存储介质对应的映射信息。映射信息可以提供存储介质在多个运行状态中的每个运行状态下已消耗的使用寿命。如本说明书所述,需要对其健康状态进行评估的存储介质也可以称为第二存储设备。关于第二存储设备的更多描述可以在本说明书的其他地方找到(例如,图5及其描述)。
在一些实施例中,可以使用存储介质的运行参数来描述多个运行状态中的每个运行状态。运行参数可以与存储设备的温度、存储设备的使用状态(例如,剩余存储容量、已使用存储容量)、运行速度(例如,数据传输速度、写入速度、读取速度,擦除速度等)、错误状态(例如,报告错误的频率、错误的类型)、预留块的使用状态(例如,预留块的已用容量,预留的剩余容量等)、拥塞度、辅助数据(例如,与一个或多个异常存储块、擦除状态、存储设备的写入状态中的至少一个相关联的数据)等或其组合。
映射信息可用于估计存储介质对应于特定运行状态下已消耗的使用寿命。存储介质的多个运行状态中的每个运行状态可以与存储介质已消耗的使用寿命或者存储介质已消耗的使用寿命的范围对应。多个运行状态中的每个运行状态可以包括多个运行参数中的每个运行参数的范围,例如,运行温度的温度范围、运行速度的速度范围、报错频率的频率范围等,或者多个运行参数的多个范围的组合。
在一些实施例中,存储介质已消耗的使用寿命可以定义为存储介质已消耗的使用寿命长度与存储介质的预期总使用寿命长度的比值。存储介质的多个运行状态中的每个运行状态可以与存储介质已消耗的使用寿命长度与存储介质的预期总使用寿命长度的比值范围对应。存储介质已消耗的使用寿命长度与存储介质的预期总使用寿命长度的比值范围可以包括一个恒定的长度,例如5%、10%、15%、20%。例如,存储介质已消耗的使用寿命长度与存储介质的预期总使用寿命长度的比值范围可以包括0%-10%、10%-20%、20%-30%、30%-40%、40%-50%、50%-60%、60%-70%、70%-80%、80%-90%或90%-100%。
映射信息可以反映当存储介质处于不同的运行状态时,存储介质已消耗的使用寿命可以不同。例如,当存储设备进行了五万次擦除操作,并且存储设备的使用容量为零时,可以确定存储设备已消耗了预期总使用寿命的一半左右的使用寿命;当存储设备进行了大约十万次擦除操作,并且存储设备的已使用容量为三分之一时,可以确定存储设备已消耗了预期总使用寿命的大部分使用寿命。
在一些实施例中,根据存储介质中存储单元的类型(例如,SLC、MLC等),映射信息可以包括SLC存储块对应的第一映射信息、MLC存储块对应的第二映射信息等。第一映射信息和第二映射信息可以不同。例如,在第一映射信息中,10万次擦除的存储介质的运行状态可以对应存储介质已消耗50%至60%的使用寿命。在第二映射信息中,10万次擦除的存储介质的运行状态可以对应存储介质已消耗60%至70%的使用寿命。
在一些实施例中,映射信息可以是健康评估系统100的默认设置,并以表格、模型、函数等形式存储在存储介质的一个或多个寄存器中。例如,映射信息可以是存储介质的提供者(例如,供应商、制造商)的默认设置。处理设备112可以从存储介质的一个或多个寄存器中获取映射信息。例如,存储介质(例如eMMC卡)的映射信息可以从符合eMMC5.1电气标准的ECSD(extendeddevice-specificdata)寄存器中获取。在一些实施例中,映射信息可以存储在第一存储设备、外部数据库等中。
在一些实施例中,可以获得用于健康评估的模型(例如,训练后的机器学习模型)。在一些实施例中,训练后的机器学习模型可以被认为是映射信息的一部分。训练后的机器学习模型可以通过基于与存储介质相同或不同的存储设备相关联的多个训练样本训练机器学习模型来获得。多个训练样本中的每个训练样本可以包括反映存储设备的运行状态的存储设备的运行数据、以及存储设备在运行状态下已消耗的使用寿命。训练后的机器学习模型可以被配置用于基于输入的数据(例如,如图5中描述的存储介质的感知数据)输出存储设备(例如,第二存储设备)的已消耗的使用寿命。
在620中,处理设备112(例如,确定模块430)可以基于感知数据和映射信息确定存储介质对应于当前运行状态当前已消耗的使用寿命。
可以如结合操作510所描述的获得存储介质的感知数据。例如,感知数据可以包括存储介质的当前温度、存储介质的使用状态、(例如,剩余存储容量、已使用存储容量)、运行速度(例如,数据传输速度、写入速度、读取速度、擦除速度等)、错误状态(例如,报告错误的频率、错误的类型)、预留块的使用状态(例如,预留块的已用容量、预留块的剩余容量等)、拥塞度、辅助数据(例如,与一个或多个异常存储块、擦除状态、存储设备的写入状态关联的数据)等或其组合。如操作510中所述,映射信息可以提供存储介质在多个运行状态中的每个运行状态下已消耗的使用寿命。基于感知数据所反映的存储介质的当前运行状态,处理设备112可以根据映射信息确定与当前运行状态对应的存储介质当前已消耗的使用寿命。
在一些实施例中,映射信息可以使用一个或多个值来描述存储介质当前已消耗的使用寿命。仅作为示例,映射信息可以使用一个或多个十六进制数据、十进制数据或ASCII数据来描述存储介质当前已消耗的使用寿命。处理设备112可根据映射信息获得代表存储介质当前已消耗的使用寿命的值。如表1所示,当存储介质已消耗了预期总使用寿命的0%-10%使用寿命时,处理设备112可以获得值“0x01”;当存储介质已消耗了预期总使用寿命的10%-20%使用寿命时,处理设备112可以获得值“0x02”;当存储介质已消耗了预期总使用寿命的80%-90%使用寿命时,处理设备112可以获得值“0x09”;当存储介质已消耗了预期总使用寿命的90%-100%使用寿命时,处理设备112可以获得值“0x0A”等。例如,参见表1及其相关描述。
表1
值 | 描述 |
0x00 | 没有定义 |
0x01 | 预期总使用寿命的0%-10% |
0x02 | 预期总使用寿命的10%-20% |
0x03 | 预期总使用寿命的20%-30% |
0x04 | 预期总使用寿命的30%-40% |
0x05 | 预期总使用寿命的40%-50% |
0x06 | 预期总使用寿命的50%-60% |
0x07 | 预期总使用寿命的60%-70% |
0x08 | 预期总使用寿命的70%-80% |
0x09 | 预期总使用寿命的80%-90% |
0x0A | 预期总使用寿命的90%-100% |
0x0B | 超过其最大预期使用寿命 |
其他 | 预留 |
在630中,处理设备112(例如,获取模块410)可以基于感知数据获得反映一个或多个预留块已使用的比例的提醒。在一些实施例中,感知数据可以包括存储介质中的一个或多个预留块的使用状态。例如,一个或多个预留块的使用状态可以包括一个或多个预留块已消耗的容量(也称为已使用容量)与一个或多个预留块的总容量的比值。
在一些实施例中,存储介质的一个或多个预留块可以由供应商提供以形成提高存储介质的容量和耐用性并延长存储设备的使用寿命的过度配置。在一些实施例中,过度配置的容量(也称为一个或多个预留块的总容量)可以与供应商提供的存储介质的容量有关。例如,存储介质的实际容量为64GB,存储介质的可用容量为60GB,则预留空间可能为7%。
提醒可以反映存储介质中的一个或多个预留块已消耗的程度(即,一个或多个预留块的使用状态)。存储介质中一个或多个预留块的已消耗程度可以反映存储介质当前已消耗的使用寿命。例如,存储介质中的一个或多个预留块的已消耗程度越高,存储介质当前已消耗的使用寿命越长。提醒可以是数字反映符(例如,1、2、3等)、单词(例如,“正常”、“警告”等)、符号(例如,“!”、“!!”等)、声音信号或其组合。在一些实施例中,处理设备112可以基于提供在一个或多个预留块的多个使用状态中的每个使用状态下对应的特定提醒的映射信息来获得提醒。例如,如表2所示,如果预留块已消耗80%,则可以将提醒描述为“警告”;如果预留块已被消耗20%,则提醒可以描述为“正常”。
在一些实施例中,处理设备112可以基于提供在一个或多个预留块的多个使用状态中的每个使用状态下对应的特定提醒的映射信息获得表示提醒的值。例如,如表2所示,当存储介质已消耗了预留块的20%时,提醒可以包括“正常”,处理设备112可以得到值“0X01”。当存储介质已消耗了预留块的80%时,提醒可以包括“警告”,处理设备112可以得到值“0X02”。当存储介质已消耗了预留块的90%时,提醒可以包括“紧急”,处理设备112可以获得值“0X03”。
表2
值 | Pre-EOLInfo | 描述 |
0x00 | 没有定义 | |
0x01 | 正常 | 已使用预留存储块的20% |
0x02 | 警告 | 已使用预留存储块的80% |
0x03 | 紧急 | 已使用预留存储块的90% |
0x04 | 预留 |
在640中,处理设备112(例如,获取模块410)可以获取与存储设备的一个或多个异常存储块、擦除状态或写入状态中的至少一个相关联的辅助数据。
在一些实施例中,辅助数据可以包括存储介质中异常存储块的计数或数量、存储介质的累积擦除次数、存储介质的累积写入次数等。
在一些实施例中,处理设备112可以接收用于分析辅助数据的命令(例如CMD56),并且响应于接收命令,处理设备112可以从存储介质中的一个或多个寄存器中获得辅助数据。
在一些实施例中,处理设备112可以使用一个或多个系统提供的工具来获得辅助数据。一个或多个系统提供的工具可以在x86平台、ARM平台、PPC平台等上实现。一个或多个系统提供的工具可以由一个或多个供应商提供或开发。例如,一个或多个系统提供的工具可以包括由Micron提供的emmcparm工具。
在650中,处理设备112(例如,评估模块440)可以基于存储介质当前已消耗的使用寿命、提醒和/或辅助数据确定评估结果。
在一些实施例中,评估结果可以包括对健康状态的描述。例如,评估结果可以包括已使用寿命、剩余使用寿命、已使用寿命与预期总使用寿命的比值、剩余使用寿命与预期总使用寿命的比值、异常存储块的数量或计数、异常存储块数与存储块总数的比值、正常存储块的数量或计数、正常存储块数与存储块总数的比值、健康状况的警告或提醒等。
在一些实施例中,处理设备112可以基于存储介质当前已消耗的使用寿命、提醒和/或辅助数据等来确定用于评估健康状态的健康值(或分数)。
图7是根据本说明书一些实施例所示的存储介质中的存储单元的类型的示意图。
根据存储单元存储的位数的计数或数量,存储单元可以包括单级单元(SLC)、多级单元(MLC)、三级单元(TLC)或四级单元(QLC)。SLC可以存储1比特。MLC可以存储2比特。TLC可以存储3比特,QLC可以存储4比特。存储介质中的存储单元可以根据不同的电压等级存储信息。如图7所示,对于SLC,SLC中的电压可以包括0和1两个等级,即1比特;对于MLC,MLC中的电压可以包括四个等级,分别用00/01/10/11表示,即2比特;对于TLC,MLC中的电压可以包括8个等级,用000/001/010/011/100/101/110/111/表示,即3比特;对于QLC,MLC中的电压可以包括16个等级,用0000/0001/0010/0011/0100/0101/0110/0111/1000/1001/1010/1011/1100/1101/1110/1111表示,即4比特。
在一些实施例中,存储介质的预期总使用寿命可以与存储介质的擦除次数有关。存储介质的擦除次数越多,存储介质的预期总使用寿命可能越长。例如,SLC的预期总使用寿命可能对应100万次擦除,MLC的预期总使用寿命可能对应1000到3000次擦除,TLC的预期总使用寿命可能对应1000次擦除等。因此,在MLC、TLC和QLC中,SLC可能具有最长的使用寿命。
图8是根据本说明书一些实施例所示的用于存储介质的健康评估的示例性过程的流程图。过程800可以由健康评估系统100执行。例如,过程800可以由存储在存储ROM230或RAM240中的一组指令执行。图2中的处理器220和/或模块可以被执行。处理器220和/或图4中的模块可以执行存储在存储设备中的一组指令,该存储设备也可以称为第一存储设备,并且当执行指令时,处理器220和/或模块可以被配置用于执行过程800。下面呈现的所示过程的操作旨在是说明性的。在一些实施例中,过程800可以通过一个或多个未描述的附加操作和/或一个或多个没有讨论的操作来完成。此外,如图8所示和以下描述的过程800的操作顺序并非旨在限制。
在810中,处理设备112(例如,获取模块410)可以获取存储介质的输入/输出(I/O)统计数据。如本说明书所述,需要对其健康状态进行评估的存储设备也可以称为第二存储设备。在一些实施例中,第二存储设备可以是与第一存储设备不同的存储设备,第一存储设备被配置用于存储用于评估第二存储设备的健康状态的可执行指令、程序、公式等。在一些实施例中,第二存储设备和第一存储设备可以是同一个存储设备。在一些实施例中,第二存储设备和第一存储设备可以是不同的存储设备。
在一些实施例中,存储介质可以包括嵌入式多媒体卡(eMMC)、安全数字器(SD)卡、T闪存(TF)等。存储介质可以在用户设备(例如,如图1中描述的用户设备140)上实现。例如,SD卡可以在便携式设备(例如,相机、PDA、膝上型电脑、多媒体播放器)、车载计算机等上实现。TF卡可以安装在手机、GPS接收器、行车记录仪、球形摄像机便携音乐播放器等。
在一些实施例中,响应于接收到反映对存储介质的健康评估的请求的输入,处理设备112可以获得与存储介质相关联的I/O统计数据。例如,用户可以通过在与安装有存储介质的用户设备(例如,手机)相同或不同的用户设备(例如,车辆)上实现的用户界面输入对存储介质进行健康评估的请求。
在一些实施例中,处理设备112可以不时地执行存储介质的健康评估,例如,周期性地或非周期性地。处理设备112可以不时地获取与存储介质相关联的I/O统计数据,例如,周期性地或非周期性地。例如,处理设备112可以周期性地获取与存储介质相关联的I/O统计数据,例如,每一个月、每两个月、每四个月等。
在一些实施例中,处理设备112可以使用用于检测存储介质的IO的一个或多个系统提供的工具来获得I/O统计数据。用于检测IO的一个或多个系统提供的工具可以包括在各种基于LinuxTM的平台、基于UnixTM的平台等上的iostat、vmstat、sar、iotop、pidstat、ioprofile等。作为另一个示例,处理设备112可以使用在基于2.6.20版本以来的LinuxTM的平台上的cat/proc/pid/io获得I/O统计数据。
在一些实施例中,处理器可以接收一个或多个isotat命令,并且响应于接收一个或多个iostat命令,处理器可以使用一个或多个isotat命令获得第二存储设备的输入/输出(I/O)统计数据。例如,处理设备112可以在基于LinuxTM的平台上打开多个内核选项,包括:
CONFIG_TASKSTATS;
CONFIG_TASK_IO_ACCOUNTING;
CONFIG_TASK_XACCT;
CONFIG_TASK_DELAY_ACCT;
与存储介质关联的输入/输出(I/O)统计数据可以基于打开的内核选项通过输入cat/proc/self/io commands获取的,以及得到的输入/输出(I/O)统计数据可以如下所示:
rchar:1956
wchar:0
syscr:7
syscw:0
read_bytes:0
write_bytes:0
cancelled_write_bytes:0,其中rchar是指从pagecache读取的总字节数,wchar是指写入pagecache的总字节数,syscr是指调用read或pread的总次数,syscw是指调用write或pwrite的总次数,read_bytes是指从存储设备中读取的实际总字节数,write_bytes是指实际写入存储设备的总字节数,cancelled_write_bytes是指应该发生但由于页面缓存截断而没有发生的写入字节数。
在820中,处理设备112(例如,确定模块420)可以基于I/O统计数据确定存储介质当前已消耗的使用寿命。
在一些实施例中,处理设备112可以基于I/O统计数据确定已经写入存储介质的数据量。处理设备112可以根据写入存储介质的数据量确定存储介质当前已消耗的使用寿命。
在一些实施例中,已写入存储介质的数据量可以由已经写入存储介质的字节总数来定义。例如,已写入存储介质的数据量可以包括写入存储设备的实际总字节数,如操作810中所述。
在一些实施例中,存储介质当前已消耗的使用寿命可以通过已写入存储介质的数据量与可写入存储介质的总数据量的比值来反映。已写入存储介质的数据量与可写入存储介质的总数据量的比值越大,存储介质当前已消耗的使用寿命可能越长。在一些实施例中,可写入存储介质的总数据量可以是健康评估系统100的默认设置。可写入存储设备的总数据量可基于容量、擦除量来确定。例如,处理设备112可以根据公式(1)-(3)确定可写入存储介质的总数据量。如下:
V=容量*总擦除次数, (2)
F=WA因子*WL因子, (3)
其中,容量是指存储介质的存储容量,WA因子是写入放大系数,WL因子是磨损均衡系数。WA因子和/或WL因子可以是健康评估系统100的默认设置。例如,WA因子可以是1.1到10范围内的常数。WL因子可以是1.1到3范围内的常数。仅举例来说,如果MLCSD卡的存储容量为32GB,MLCSD卡的总擦除次数为3000次,则根据式(3)确定的F在1.21~30的范围内,V可以等于根据式(2)确定的96T,根据公式(1)确定的可写入存储设备的总数据量可以为3.2T至79.3T。
在一些实施例中,存储介质当前已消耗的使用寿命可以通过当前使用寿命的长度来反映。存储介质当前已消耗的使用寿命长短可能与一个或多个因素有关,例如,已写入存储设备的累积数据量、单位时间内写入存储介质的数据量等。单位时间的单位可以是小时、天、年等。当前使用寿命的长度可以是小时、天、年等。在一些实施例中,当前的使用寿命可以基于已写入数据量以及单位时间内写入存储介质的数据量来确定。例如,如果已写入存储介质的数据量为3T,单位时间内写入存储介质的数据量为2G/小时,则存储介质的当前使用寿命长度可以为1020小时。如果存储设备每天的使用寿命为12小时,则存储介质当前已消耗的使用寿命长度可能为85天左右。
在一些实施例中,存储介质当前已消耗的使用寿命可以通过当前使用寿命的长度与存储介质的预期总使用寿命的长度的比值来反映。当前使用寿命的长度与存储介质的预期总使用寿命长度的比值越大,存储介质当前已消耗的使用寿命可能越长。存储介质的预期总使用寿命长度可以基于可写入存储介质的总数据量确定,与存储介质的当前使用寿命长度的确定相似或相同来确定。例如,如果可写入存储介质的总数据量为3.2-79.3T,每小时已写入存储介质的数据量为2G,则存储介质的预期总使用寿命可能为1020小时。如果存储设备每天的使用时间为12小时,存储设备每天的使用时间为12小时,则预期总使用寿命的长度可能为106天至2643天左右。
在830中,处理设备112(例如,评估模块430)可以基于存储介质当前已消耗的使用寿命来评估存储介质的健康状态以获得评估结果。存储介质当前已消耗的使用寿命可以反映存储介质的健康状态。当前使用寿命越长,存储介质的健康状况可能越差。
在一些实施例中,评估结果可以包括存储介质当前已消耗的使用寿命、存储介质的剩余使用寿命、异常存储块情况、健康值、健康等级等。在实施例中,存储介质的健康状态可以基于当前使用寿命和如操作820中所述确定的存储介质的预期总使用寿命来确定。例如,评估结果可以包括当前已消耗的使用寿命与存储介质的预期总使用寿命的比值。例如,一张SD卡的当前使用寿命可能是85天,SD卡的预期总使用寿命可能是3.5年,评估结果可能是85天/3.5年(1277.5天),比例可能约为0.0665,表示存储介质已消耗6.65%的使用寿命。
在一些实施例中,存储介质的健康状态可以通过健康值来反映。健康值可能与当前使用寿命、已写入存储介质的数据量、总数据量、存储介质中的异常存储块等有关。例如,当前使用寿命越长,存储介质的健康值可能越低。已写入存储介质的数据量越大,存储介质的健康值可能越低。仅举例来说,以32GBMLCSD卡总擦除次数为3000次为例,处理设备112可根据式(1)-(3)计算可写入储存媒体的总数据量。可写入存储设备的总数据量可能为3.2T至79.3T,估计每小时可写入存储设备的数据量约为2.5G,存储介质可使用12小时/小时天,那么实际预期的总使用寿命可能为106天(约3个月)到2643天(约7年)。如果存储介质的预期总使用寿命为3.5年,而SD卡的当前使用寿命为1年,则存储介质的健康状况可能会更好。
在840中,处理设备112(例如,传输模块440)可以将针对存储介质的健康状态的评估结果发送给用户设备。在一些实施例中,用户设备可以包括用于向用户设备的用户显示评估结果的显示设备。用户设备可以包括膝上型电脑、固定式计算机、台式计算机、移动设备等,或其任何组合。在一些实施例中,可以省略操作330。关于用户设备的更多描述可以在本说明书的其他地方找到。参见例如图1及其相关描述。
需要说明的是,以上描述仅用于说明的目的,并不用于限制本说明书的范围。对于本领域普通技术人员来说,在本说明书的教导下可以做出多种变化和修改。然而,这些变化和修改不脱离本说明书的范围。在一些实施例中,可以在示例性过程800的其他地方添加一个或多个其他可选操作(例如,存储操作)。例如,可以添加用于存储存储设备的感知数据的存储操作,该存储操作也可以包括存储存储设备的健康状态等。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数预留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本申请引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本申请作为参考。与本申请内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本申请附属材料中的描述、定义、和/或术语的使用与本申请所述内容有不一致或冲突的地方,以本申请的描述、定义和/或术语的使用为准。
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其他的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。
Claims (20)
1.一种系统,其特征在于,包括:
至少一个存储可执行指令的第一存储设备,以及
与所述至少一个第一存储设备通信的至少一个处理器,当执行所述可执行指令时,使所述系统执行包括以下的操作:
获取第二存储设备的感知数据,所述感知数据来自所述第二存储设备的一个或多个寄存器,并且反映所述第二存储设备的当前运行状态;以及
基于所述第二存储设备的所述感知数据,对所述第二存储设备的健康状态进行评估,获得评估结果。
2.根据权利要求1所述的系统,其特征在于,所述第二存储设备包括嵌入式多媒体卡、安全数字存储卡或T-flash。
3.根据权利要求1或2所述的系统,其特征在于,所述第二存储设备安装在车辆上并且被配置用于存储与所述车辆相关联的驾驶信息。
4.根据权利要求1-3中任一项所述的系统,其特征在于,所述操作还包括:
将所述第二存储设备的健康状态的所述评估结果发送到终端设备。
5.根据权利要求1-4中任一项所述的系统,其特征在于,所述第二存储设备的所述一个或多个寄存器被配置用于存储扩展设备特定数据(ECSD)。
6.根据权利要求1所述的系统,其特征在于,为了基于所述第二存储设备的所述感知数据,对所述第二存储设备的健康状态进行评估,获得评估结果,所述至少一个处理器被配置用于使所述系统执行包括以下的操作:
获取与所述第二存储设备对应的映射信息,所述映射信息提供所述第二存储设备在多个运行状态中每个运行状态下消耗的使用寿命;
基于所述感知数据和所述映射信息,确定所述当前运行状态对应的所述第二存储设备当前已消耗的使用寿命;以及
至少部分地基于所述第二存储设备所述当前已消耗的使用寿命确定所述评估结果。
7.根据权利要求6所述的系统,其特征在于,所述评估结果包括所述第二存储设备的所述当前使用寿命与预期总使用寿命的比值。
8.根据权利要求6或7所述的系统,其特征在于,所述感知数据反映所述第二存储设备的一个或多个预留块的使用状态,
并且为了至少部分地基于所述第二存储设备所述当前已消耗的使用寿命确定评估结果,所述至少一个处理器被配置用于使所述系统执行包括以下的操作:
基于所述感知数据,获取所述一个或多个预留块已被使用比例的提醒;以及
至少部分地基于所述第二存储设备所述当前已消耗的使用寿命和所述提醒确定所述评估结果。
9.根据权利要求6至8中任一项所述的系统,其特征在于,所述感知数据包括所述第二存储设备的一个或多个异常存储块、擦除状态或写入状态中的至少一个的辅助数据,
为了至少部分地基于所述第二存储设备所述当前已消耗的使用寿命确定所述评估结果,所述至少一个处理器被配置用于使所述系统执行包括以下的操作:
接收分析所述辅助数据的命令;
响应于接收到所述命令,分析所述辅助数据以确定所述一个或多个异常块、所述擦除状态或所述写入状态中的至少一个;以及
至少部分地基于所述第二存储设备所述当前已消耗的使用寿命和所述一个或多个异常块、所述擦除状态或所述写入状态中的至少一个,确定所述评估结果。
10.根据权利要求1所述的系统,其特征在于,所述感知数据包括所述第二存储设备的输入/输出(I/O)统计数据,
为了基于所述第二存储设备的所述感知数据评估所述第二存储设备的健康状态获得评估结果,所述至少一个处理器被配置用于使所述系统执行包括以下的操作:
基于所述I/O统计数据确定所述第二存储设备当前已消耗的使用寿命;以及
基于所述第二存储设备所述当前已消耗的使用寿命评估所述第二存储设备的健康状态,获得评估结果。
11.一种在具有至少一个处理器和至少一个第一存储设备的计算设备上实现的方法,其特征在于,包括:
获取第二存储设备的感知数据,所述感知数据来自所述第二存储设备的一个或多个寄存器,并且反映所述第二存储设备的当前运行状态;以及
基于所述第二存储设备的所述感知数据,对所述第二存储设备的健康状态进行评估,获得评估结果。
12.一种存储指令的非暂时性计算机可读介质,其特征在于,当至少一个处理器执行所述指令时,使所述至少一个处理器实施包括以下步骤的方法:
获取第二存储设备的感知数据,所述感知数据来自所述第二存储设备的一个或多个寄存器,并且反映所述第二存储设备的当前运行状态;以及
基于所述第二存储设备的所述感知数据,对所述第二存储设备的健康状态进行评估,获得评估结果。
13.一种系统,其特征在于,包括:
至少一个存储可执行指令的第一存储设备,以及
与所述至少一个第一存储设备通信的至少一个处理器,当执行所述可执行指令时,使所述系统执行包括以下的操作:
获取第二存储设备的输入/输出(I/O)统计数据;
基于所述I/O统计数据确定所述第二存储设备当前已消耗的使用寿命;
基于所述第二存储设备所述当前已消耗的使用寿命,评估所述第二存储设备的健康状态,获得评估结果;以及
将所述第二存储设备的健康状态的所述评估结果发送到终端设备。
14.根据权利要求13所述的系统,其特征在于,所述第二存储设备包括嵌入式多媒体卡、安全数字存储卡或T-flash。
15.根据权利要求13所述的系统,其特征在于,为了获得所述第二存储设备的输入/输出(I/O)统计数据,所述至少一个处理器被配置用于使所述系统执行包括以下的操作:
接收一个或多个iostat命令;以及
响应于接收到所述一个或多个iostat命令,获取所述第二存储设备的所述输入/输出(I/O)统计数据。
16.根据权利要求13所述的系统,其特征在于,为了基于所述I/O统计数据确定所述第二存储设备当前已消耗的使用寿命,所述至少一个处理器被配置用于使所述系统执行包括以下的操作:
基于所述I/O统计数据确定已写入所述第二存储设备的数据量;以及
基于所述数据量确定所述第二存储设备所述当前已消耗的使用寿命。
17.根据权利要求13所述的系统,其特征在于,为了基于所述第二存储设备所述当前已消耗的使用寿命评估所述第二存储设备的健康状态获得评估结果,所述至少一个处理器被配置用于使所述系统执行包括以下的操作:
获取所述第二存储设备的预期总使用寿命;以及
基于所述第二存储设备所述当前已消耗的使用寿命和所述预期总使用寿命确定所述评估结果。
18.一种在具有至少一个处理器和至少一个存储设备的计算设备上实现的方法,其特征在于,包括:
获取第二存储设备的输入/输出(I/O)统计数据;
基于所述I/O统计数据确定所述第二存储设备当前已消耗的使用寿命;
基于所述第二存储设备所述当前已消耗的使用寿命,评估所述第二存储设备的健康状态,获得评估结果;以及
将所述第二存储设备的健康状态的所述评估结果发送到终端设备。
19.根据权利要求18所述的方法,其特征在于,为了基于所述I/O统计数据确定所述第二存储设备当前已消耗的使用寿命,所述至少一个处理器被配置用于使所述系统执行包括以下的操作:
基于所述I/O统计数据确定已写入所述第二存储设备的数据量;以及
基于所述数据量确定所述第二存储设备所述当前已消耗的使用寿命。
20.一种存储指令的非暂时性计算机可读介质,当至少一个处理器执行所述指令时,使所述至少一个处理器实施包括以下步骤的方法:
获取第二存储设备的输入/输出(I/O)统计数据;
基于所述I/O统计数据确定所述第二存储设备当前已消耗的使用寿命;
基于所述第二存储设备所述当前已消耗的使用寿命,评估所述第二存储设备的健康状态,获得评估结果;以及
将所述第二存储设备的健康状态的所述评估结果发送到终端设备。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/087939 WO2021217536A1 (en) | 2020-04-30 | 2020-04-30 | Systems and methods for health evaluation of storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115298652A true CN115298652A (zh) | 2022-11-04 |
Family
ID=78331608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080098471.4A Pending CN115298652A (zh) | 2020-04-30 | 2020-04-30 | 用于存储介质健康评估的系统和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115298652A (zh) |
WO (1) | WO2021217536A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114822664A (zh) * | 2022-05-12 | 2022-07-29 | 合肥兆芯电子有限公司 | 基于数据优先级的风险评估方法、存储装置及控制电路 |
CN116737515B (zh) * | 2023-05-10 | 2024-02-23 | 珠海妙存科技有限公司 | 闪存参数可视化方法、系统及存储介质 |
CN117809729A (zh) * | 2024-02-29 | 2024-04-02 | 山东云海国创云计算装备产业创新中心有限公司 | 一种存储设备寿命预测方法、装置、设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7512847B2 (en) * | 2006-02-10 | 2009-03-31 | Sandisk Il Ltd. | Method for estimating and reporting the life expectancy of flash-disk memory |
CN201725327U (zh) * | 2009-10-09 | 2011-01-26 | 联想(北京)有限公司 | 电子设备及其存储装置 |
CN102122262A (zh) * | 2011-01-24 | 2011-07-13 | 武汉固捷联讯科技有限公司 | 一种用于固态存储设备的监控系统及方法 |
CN106708431B (zh) * | 2016-12-01 | 2020-02-14 | 华为技术有限公司 | 一种存储数据的方法、装置、主机设备和存储设备 |
-
2020
- 2020-04-30 WO PCT/CN2020/087939 patent/WO2021217536A1/en active Application Filing
- 2020-04-30 CN CN202080098471.4A patent/CN115298652A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021217536A1 (en) | 2021-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115298652A (zh) | 用于存储介质健康评估的系统和方法 | |
US9535614B2 (en) | Temperature based flash memory system maintenance | |
US11222704B1 (en) | Power state aware scan frequency | |
US20140181595A1 (en) | Estimating lifespan of solid-state drive using real usage model | |
US20170329690A1 (en) | Indicating an application status based on a device state | |
CN103514958B (zh) | 一种emmc芯片寿命检测方法 | |
US20150169363A1 (en) | Runtime Optimization of Multi-core System Designs for Increased Operating Life and Maximized Performance | |
CN104508594A (zh) | 在处理器中配置功率管理功能 | |
CN110244907A (zh) | 存储器系统及该存储器系统的操作方法 | |
US9881682B1 (en) | Fine grained data retention monitoring in solid state drives | |
US20120271982A1 (en) | Intelligent flash reprogramming | |
US20220199187A1 (en) | Smart sampling for block family scan | |
CN102640123A (zh) | 块内存储器耗损均衡 | |
CN111078123B (zh) | 一种闪存块的磨损程度的评估方法及装置 | |
CN109584939B (zh) | 避免非易失存储器过擦写的方法 | |
CN109582521A (zh) | 测试存储系统读写性能的方法、装置、设备及介质 | |
US20200057581A1 (en) | Memory system and operating method thereof | |
US9513821B2 (en) | Apparatus and method for indicating flash memory life | |
US10650879B2 (en) | Device and method for controlling refresh cycles of non-volatile memories | |
CN102736981B (zh) | 提高nor flash擦写寿命的方法 | |
CN104798042B (zh) | 基于工作量可伸缩性来管理性能策略 | |
US10474371B1 (en) | Method and apparatus for SSD/flash device replacement policy | |
CN108628756A (zh) | 存储器系统及其操作方法 | |
US20140344796A1 (en) | Utility meter with utility-configurable sealed data | |
CN112540881B (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 |