CN115543210A - 快闪存储器使用管理 - Google Patents

快闪存储器使用管理 Download PDF

Info

Publication number
CN115543210A
CN115543210A CN202211316842.9A CN202211316842A CN115543210A CN 115543210 A CN115543210 A CN 115543210A CN 202211316842 A CN202211316842 A CN 202211316842A CN 115543210 A CN115543210 A CN 115543210A
Authority
CN
China
Prior art keywords
application
disk access
flash memory
determining
applications
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
CN202211316842.9A
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN115543210A publication Critical patent/CN115543210A/zh
Pending legal-status Critical Current

Links

Images

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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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 for performance assessment
    • G06F11/3433Recording 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 for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0643Management of files
    • 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/0653Monitoring storage devices or systems
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

本公开涉及快闪存储器使用管理。计算设备可以确定多个应用程序中的每一个对所述计算设备的快闪存储器的相应磁盘访问使用。所述计算设备可以将所述多个应用程序中的每一个对所述快闪存储器的所述相应磁盘访问使用与相应特定于应用程序的磁盘访问过度使用阈值相比较,以确定所述多个应用程序中的应用程序对所述快闪存储器的磁盘访问过度使用。响应于确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用,所述计算设备可以终止所述应用程序。

Description

快闪存储器使用管理
技术领域
本公开涉及快闪存储器使用管理。
背景技术
车辆可以包括所谓的“车载主机”(head unit of a vehicle)或呈现界面(诸如图形用户界面GUI)的其它集成计算设备,通过该界面控制车辆系统,诸如供暖、通风和空调(HVAC)系统、照明系统(用于控制内部和/或外部灯)、娱乐系统、座椅系统(用于控制驾驶员和/或乘客座椅的位置)等。
车载主机可以包括一个或多个固态存储设备(还可以被称为“快闪存储器”),在车载主机的操作期间,车载主机可以将数据写入到固态存储设备并且车载主机可以从固态存储设备读取数据。固态存储设备可以由诸如NOT-AND(“NAND”)单元的单元组成。当单元当前正在存储数据时,在新数据被写入到该单元之前,该单元必须被擦除。数据的这种擦除和写入被称为擦除循环,并且可能导致单元磨损并且对固态存储设备的单元强加有限的写入寿命。例如,固态存储设备可以具有每单元3,000到10,000个擦除循环的最大擦除循环数。
固态存储设备的寿命可以取决于固态存储设备的单元的最大擦除循环数和固态存储设备的存储容量,因为具有较高容量的固态存储设备的单元可能经历比具有较低容量的固态存储设备的单元更少的擦除循环。例如,以年为单位的固态存储设备的寿命能够被表示为:寿命=最大擦除循环数*存储容量/每年写入的数据量。
发明内容
一般来说,本公开的技术涉及使车辆计算设备(诸如车载主机)能够以改进固态存储设备的寿命的方式管理固态存储设备的使用,诸如车辆计算设备的快闪存储器。也就是说,车辆计算设备可以能够限制在指定时间段内可以由在车辆计算设备处执行的应用程序写入到车辆计算设备的快闪存储器的数据量。
具体来说,车辆计算设备可以监测磁盘访问使用,诸如在指定时间段内(诸如在一天内)由在车辆计算设备处执行的多个应用程序中的每一个(诸如Java应用程序、Java服务和C++服务)写入到车辆计算设备的快闪存储器的数据量。车辆计算设备可以将由多个应用程序中的每一个写入到快闪存储器的相应数据量与相应特定于应用程序的磁盘使用阈值相比较。如果车辆计算设备确定应用程序在指定时间段期间的磁盘访问使用超过特定于应用程序的磁盘使用阈值,则车辆计算设备可以确定应用程序正在过度使用快闪存储器的磁盘访问,并且可以采取一个或多个动作,诸如终止应用程序、标记快闪存储器的磁盘访问的过度使用、生成指示应用程序过度使用快闪存储器的磁盘访问的通知等。车辆计算设备还可以停用应用程序直到指定时间段结束,诸如直到一天结束,由此防止应用程序在指定时间段结束之前将附加数据写入到快闪存储器,由此防止应用程序进一步过度使用快闪存储器的磁盘访问。
本公开的技术提供一个或多个技术优势。通过确定在指定时间段内允许应用程序写入到快闪存储器的数据量并且停用在指定时间段期间向快闪存储器写入超过允许数据量的应用程序,本公开的技术限制应用程序将过量数据写入到快闪存储器。安装在车载主机中的快闪存储器可能难以更换并且更换成本高昂。当车载主机的快闪存储器达到其使用寿命终点时,快闪存储器可能故障并且导致车载主机无法操作或以其它方式无法使用。防止应用程序将过量数据写入到快闪存储器可以有助于保持快闪存储器的使用寿命,由此也增加使用快闪存储器的车载主机的使用寿命,从而提供技术优势。
在一个示例中,本公开描述一种方法,包括由计算设备的一个或多个处理器确定多个应用程序中的每一个对计算设备的快闪存储器的相应磁盘访问使用;由一个或多个处理器将多个应用程序中的每一个对快闪存储器的相应磁盘访问使用与相应特定于应用程序的磁盘访问过度使用阈值相比较,以确定多个应用程序中的应用程序对快闪存储器的磁盘访问过度使用;以及响应于确定应用程序对快闪存储器的磁盘访问过度使用,由一个或多个处理器终止应用程序。
在另一示例中,本公开描述一种计算设备,包括快闪存储器;以及一个或多个处理器,其可通信地耦合到快闪存储器并且被配置成:确定多个应用程序中的每一个对快闪存储器的相应磁盘访问使用;将多个应用程序中的每一个对快闪存储器的相应磁盘访问使用与相应特定于应用程序的磁盘访问过度使用阈值相比较,以确定多个应用程序中的应用程序对快闪存储器的磁盘访问过度使用;以及响应于确定应用程序对快闪存储器的磁盘访问过度使用,终止应用程序。
在另一示例中,本公开描述一种其上存储有指令的非暂时性计算机可读存储介质,该指令在执行时使计算设备的一个或多个处理器:将多个应用程序中的每一个对快闪存储器的相应磁盘访问使用与相应特定于应用程序的磁盘访问过度使用阈值相比较,以确定多个应用程序中的应用程序对快闪存储器的磁盘访问过度使用;以及响应于确定应用程序对快闪存储器的磁盘访问过度使用,终止应用程序。
在以下附图和具体实施方式中阐述一个或多个示例的细节。本公开的其它特征、目标和优点将从具体实施方式、附图和权利要求书变得明显。
附图说明
图1是图示配置成执行在本公开中描述的技术的各个方面的示例车辆的框图。
图2是更详细地图示图1的示例车载主机的示例的框图。
图3A和3B是图示示例操作的流程图,该操作能够由图2的示例车载主机执行以管理应用程序的磁盘访问使用。
图4是图示能够由图2的示例车载主机202执行以管理应用程序的磁盘访问使用的示例操作的流程图。
具体实施方式
图1是图示配置成执行在本公开中描述的技术的各个方面的示例车辆100的框图。在图1的示例中,在以下描述中将车辆100假设为汽车。然而,在本公开中描述的技术可以应用于能够在位置之间运送一个或多个乘员的任何类型的车辆,诸如摩托车、公共汽车、休闲车(RV)、半挂车、拖拉机或其它类型的农业设备、火车、飞机、无人机、直升机、个人运输交通工具等。另外,在本公开中描述的技术也可以应用于任何类型的计算设备,诸如膝上型计算机、台式计算机、智能电话、可穿戴设备、平板计算机,或包括快闪存储器的任何其它设备。
在图1的示例中,车辆100包括一个或多个处理器112、图形处理单元(GPU)114和快闪存储器116。在一些示例中,一个或多个处理器112、GPU 114和收发器模块(图1中未示出)可以被形成为集成电路(IC)。例如,IC可以被视为芯片封装内的处理芯片,并且可以是片上系统(SoC)。
一个或多个处理器112和GPU 114的示例包括但不限于一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA),或其它等效的集成或离散逻辑电路系统。一个或多个处理器112可以表示车辆100的中央处理单元(CPU)。在一些实例中,GPU 114可以是专用硬件,该专用硬件包括向GPU 114提供适合于图形处理的大量并行处理能力的集成和/或离散逻辑电路系统。在一些情况下,GPU 114还可以包括通用处理能力,并且在实施通用处理任务(即,非图形相关任务)时可以被称为通用GPU(GPGPU)。尽管示为专用GPU 114,但是GPU 114可以表示集成到底层电路板(例如,所谓的“主板”)或以其它方式并入到一个或多个处理器112中的集成GPU。
一个或多个处理器112可以执行各种类型的应用程序。应用程序的示例包括导航应用程序,诸如将离线地图片高速缓存在快闪存储器116中的地图应用程序;音乐应用程序,诸如将音乐文件下载到快闪存储器116上的音乐应用程序;视频应用程序,诸如将视频文件下载到快闪存储器116上的视频应用程序;将所捕获的视频文件存储到快闪存储器116上的行车记录仪应用程序;将大文件写入到快闪存储器116的空中(OTA)更新应用程序;或生成用于显示的可视对象的其它应用程序。快闪存储器116可以用作车载主机102的系统存储器,并且可以存储用于执行一个或多个应用程序的指令。由一个或多个处理器112执行应用程序使一个或多个处理器112产生用于要被显示的图像内容的图形数据。一个或多个处理器112可以将图像内容的图形数据传输到GPU 114,以基于一个或多个处理器112传输到GPU 114的指令或命令进一步处理。在一些示例中,一个或多个处理器112还可以执行不生成用于显示的可视对象的应用程序。例如,一个或多个处理器112可以执行后台服务,诸如充当用作生成用于显示的可视对象的其它应用程序的核心组件的后台服务。
一个或多个处理器112可以根据应用程序编程接口(API)与GPU 114通信。此外,本公开中描述的技术不需要根据API起作用,并且一个或多个处理器112和GPU 114可以利用任何技术与GPU 114通信。
快闪存储器116可以表示用于车辆100的存储器。快闪存储器116可以包括一个或多个计算机可读存储介质。快闪存储器116的示例包括一个或多个固态存储设备,该固态存储设备能够被用于以指令和/或数据结构的形式携载或存储期望的程序代码并且能够由计算机或处理器访问。
在一些方面中,快闪存储器116可以包括使一个或多个处理器112执行在本公开中赋予一个或多个处理器112的功能的指令。因此,快闪存储器116可以是其上存储有指令的非暂时性计算机可读存储介质,该指令在执行时使一个或多个处理器(例如,一个或多个处理器112)执行各种功能。
快闪存储器116是非暂时性存储介质。术语“非暂时性”指示存储介质不被体现在载波或传播信号中。然而,术语“非暂时性”不应被解释为表示快闪存储器116是不可移动的或快闪存储器的内容是静态的。作为一个示例,快闪存储器116可以从车辆100中移除,诸如在安全数字(SD)卡或通用串行总线(USB)大容量存储设备的情况下,并且移动到另一设备。作为另一示例,基本上类似于快闪存储器116的存储器可以被插入到自动驾驶车辆100中。在某些示例中,非暂时性存储介质可以存储能够随时间改变的数据。
如图1中所示,车辆100可以包括车辆系统126。车辆系统126可以包括供暖、通风和空调(HVAC)系统、温度调节系统(例如,除了HVAC系统之外,其还可以包括加热和/或冷却座椅)、照明系统(用于提供内部和/或外部照明)、座椅控制系统(用于调整乘员座椅的位置)、镜子控制系统(用于控制内部和/或外部镜子,包括后视镜、侧视镜,遮阳镜等)、风挡刮水器控制系统、娱乐系统(用于控制收音机播放、视频播放、图像显示等)、安全辅助系统(用于控制停车辅助、倒车辅助等)、天窗控制系统(用于控制天窗),以及能够经由一个或多个处理器112进行控制的任何其它类型的车辆系统。车辆系统126的示例可以包括电子控制单元(ECU),该电子控制单元可以控制车辆系统126的任何前述示例。
如在图1的示例中进一步示出,车辆100可以包括显示器120和用户界面122。显示器120可以表示能够在其上投射图像的任何类型的无源反射式屏幕,或能够显示图像的有源反射式或发射式或透射式显示器(诸如发光二极管(LED)显示器、有机LED(OLED)显示器、液晶显示器(LCD)或任何其它类型的有源显示器)。尽管示为包括单个显示器120,但是车辆100可以包括可以定位在车辆100的整个座舱中的多个显示器。在一些示例中,无源版本的显示器120或某些类型的有源版本的显示器120(例如,OLED显示器)可以被集成到座椅、桌子、车顶内衬、地板、窗户(或在没有窗户或窗户很少的车辆中为壁)或车辆的车厢的其它方面中。当显示器120表示无源显示器时,显示器120还可以包括投影仪或能够在无源显示器120上投射或以其它方式重新创建图像的其它图像投影设备。此外,显示器120可以包括集成到驾驶员侧仪表板中的显示器,该驾驶员侧仪表板虚拟地表示物理仪表组(显示速度、转数、发动机温度等)。
显示器120还可以表示与自动驾驶车辆100进行有线或无线通信的显示器。例如,显示器120可以表示计算设备,诸如膝上型计算机、平视显示器、头戴式显示器、增强现实计算设备或显示器(诸如“智能眼镜”)、虚拟现实计算设备或显示器、手机(包括所谓的“智能手机”)、平板计算机、游戏系统,或能够用作集成到车辆100中的显示器的扩展或代替显示器的另一类型的计算设备。
用户界面122可以表示任何类型的物理或虚拟界面,用户可以与该物理或虚拟界面连接以控制车辆100的各种功能。用户界面122可以包括物理按钮、旋钮、滑块或其它物理控制工具。用户界面(UI)122还可以包括虚拟界面,由此车辆100的乘员经由例如触敏屏幕或经由非接触式界面与虚拟按钮、旋钮、滑块或其它虚拟界面元件交互。乘员可以与用户界面122交互,以控制车辆100内的气氛、车辆100的音频回放、车辆100的视频回放、通过车辆100的传输(例如手机呼叫)或能够由车辆100执行的任何其它操作中的一个或多个。
用户界面122还可以表示在用作集成到车辆100中的显示器的扩展或代替该显示器时扩展到显示器120的界面。也就是说,用户界面122可以包括经由平视显示器(HUD)、增强现实计算设备、虚拟现实计算设备或显示器、平板计算机,或上面列出的任何其它不同类型的扩展显示器呈现的虚拟界面。
在车辆100的场境中,用户界面122可以进一步表示用于手动地或半手动地控制车辆100的物理元件。例如,用户界面122可以包括用于控制车辆100的行驶方向的一个或多个方向盘、用于控制车辆100的行驶速度的一个或多个踏板、一个或多个手刹等。
在图1的示例中,一个或多个处理器112、GPU 114、快闪存储器116、显示器120和用户界面122可以至少部分地共同地表示在汽车场境中被称为车载主机102的内容。车载主机102可以表示能够与车辆100(例如,车辆系统126)的各个方面连接和/或为乘员提供信息娱乐和/或提供关于车辆100的信息的任何集成或分开的计算设备(其中这种车载主机可以被称为“信息娱乐单元”或“信息娱乐系统”)。
车载主机102可以执行操作系统(“OS”)130,该操作系统被配置成监测在一个或多个处理器112处执行的应用程序的磁盘访问使用,还称为磁盘输入/输出(I/O),并且限制应用程序在指定时间段内的磁盘访问使用量,以便延长快闪存储器116的寿命。应用程序的磁盘访问使用可以对应于由应用程序对快闪存储器116的写入量。也就是说,在一些示例中,应用程序的磁盘访问使用量可以是由应用程序写入到快闪存储器116的数据量,诸如以字节为单位。OS 130可以监测由在一个或多个处理器112处执行的应用程序中的每一个对快闪存储器116的写入量,以确定应用程序的磁盘访问使用是否太高。如果OS 130确定应用程序的磁盘访问使用太高,则OS 130可以采取一个或多个补救措施来限制应用程序的进一步磁盘访问使用,诸如通过终止应用程序。
OS 130的内核可以跟踪快闪存储器116的磁盘访问使用统计,诸如写入到快闪存储器116的数据量,并且可以将快闪存储器116的这种磁盘访问使用统计存储在快闪存储器116的一个或多个文件中。例如,内核可以将文件存储在快闪存储器116中并且更新文件,该文件包括写入到快闪存储器116的每个块设备上的扇区数。在OS 130是Linux操作系统的示例中,此文件可以是/proc/diskstats文件。内核还可以跟踪快闪存储器116的每应用程序磁盘访问使用统计,诸如由应用程序225中的每一个写入到快闪存储器116的数据量,并且可以将包括快闪存储器116的此每应用程序磁盘访问使用统计的文件存储在快闪存储器116中并且更新该文件。在OS 130是Linux操作系统的示例中,此文件可以是/proc/uid_io/stats文件。
OS 130可以包括守护进程,该守护进程诸如通过周期性轮询快闪存储器116中包括快闪存储器116的此每应用程序磁盘访问使用统计的文件(例如,/proc/uid_io/stats文件)来周期性地确定已在处理器112处执行的所有应用程序125A-125N(“应用程序125”)的磁盘访问使用量。例如,守护进程可以轮询/proc/uid_io/stats文件以获取每UID磁盘I/O统计。/proc/uid_io/stats文件可以包括已在处理器112处执行的所有应用程序并且不仅仅当前在一个或多个处理器112处执行的应用程序的每UID磁盘I/O统计。具体来说,对于每个应用程序,/proc/uid_io/stats文件可以包括每UID磁盘I/O统计,诸如由应用程序写入到快闪存储器116的字节数。OS 130可以基于/proc/uid_io/stats文件中的每UID磁盘I/O统计而确定在一个或多个处理器112处执行的应用程序中的每一个的磁盘访问使用。例如,对于应用程序,OS 130可以将应用程序的磁盘访问使用确定为由应用程序写入到系统快闪存储器的字节数。
OS 130可以通过将应用程序125中的每一个与特定于应用程序的磁盘访问过度使用阈值相比较,来确定应用程序125中的每一个是否在指定时间段内,诸如在一天内(例如,从当天的上午12:00到晚上11:59),正在过度使用快闪存储器116的磁盘访问,该阈值对于相关联的应用程序指定应用程序在指定时间段期间可以使用的快闪存储器116的磁盘访问量。应用程序125中的每个应用程序具有分开的、特定于应用程序的磁盘访问过度使用阈值,因为不同的应用程序可以具有不同的存储器访问使用要求。例如,地图应用程序和媒体应用程序(例如,音乐流式传输应用程序)可能倾向于比其它应用程序将更多数据写入到快闪存储器116,并且因此可能各自与比其它应用程序更高的磁盘访问过度使用阈值相关联。
因此,OS 130可以将应用程序125的应用程序对快闪存储器116的磁盘访问使用和与应用程序相关联的特定于应用程序的磁盘访问过度使用阈值相比较,以确定应用程序是否正在过度使用磁盘访问。如果OS 130确定由应用程序125的应用程序对快闪存储器116的磁盘访问量超过在指定时间段内与应用程序相关联的特定于应用程序的磁盘访问过度使用阈值,则OS 130可以确定应用程序正在过度使用快闪存储器116的磁盘访问。
例如,应用程序125中的每一个可以与特定于应用程序的磁盘访问过度使用阈值相关联,该阈值对于相关联的应用程序指定相关联的应用程序可以在指定时间段内写入到快闪存储器116的数据量,诸如以字节为单位。因此,OS 130可以将由应用程序125的应用程序在指定时间段期间写入到快闪存储器116的数据量与应用程序可以写入到快闪存储器116的数据量(如由特定于应用程序的磁盘访问过度使用阈值指示的)相比较,以确定应用程序是否正在过度使用快闪存储器116的磁盘访问。
因此,OS 130可以基于将应用程序125中的每一个在指定时间段内对快闪存储器116的相应磁盘访问使用与相应特定于应用程序的磁盘访问过度使用阈值相比较来确定在指定时间段内正在过度使用快闪存储器116的磁盘访问的一个或多个应用程序。作为响应,OS 130可以采取一个或多个动作来限制一个或多个应用程序在指定时间段内的进一步磁盘访问量。例如,OS 130可以终止在指定时间段n内正在过度使用快闪存储器116的磁盘访问的应用程序,以防止应用程序在指定时间段期间的进一步磁盘访问使用。在指定时间段为一天(例如,从上午12:00到晚上11:59)的示例中,OS 130可以终止应用程序以防止应用程序直到第二天的上午12:00执行。
在一些示例中,OS 130可以以相对长的间隔,诸如每十秒、每分钟等,周期性地确定应用程序125中的每一个对快闪存储器116的相应磁盘访问使用。在确定应用程序125中的每一个的相应磁盘访问使用之间的这种长间隔可能导致OS 130反应太慢,从而不能过度使用一个或多个应用程序125对快闪存储器116的磁盘访问。因此,在一些示例中,OS 130可以被配置成检测系统范围的磁盘访问过度使用情况的发生。响应于检测到系统范围的磁盘访问过度使用情况的发生,OS 130可以确定应用程序125中的每一个对快闪存储器116的相应磁盘访问使用,并且将应用程序125中的每一个对快闪存储器116的相应磁盘访问使用与相应磁盘访问使用阈值相比较,以确定正在过度使用快闪存储器116的磁盘访问的一个或多个应用程序125。
系统范围的磁盘访问过度使用情况可以对应于快闪存储器116的磁盘访问使用中的短暂爆发。为了确定是否已发生系统范围的磁盘访问过度使用情况,OS 130可以周期性地轮询系统存储器中的文件,诸如/proc/diskstats文件,该文件指定自启动车载主机102以来写入到快闪存储器116的总数据量。OS 130可以以相对较短的间隔,诸如每五秒一次,对写入到快闪存储器116的总数据量执行这种轮询。在一些示例中,当OS 130对写入到快闪存储器116的总数据量的最后一个或多个轮询中的聚合数据量超过阈值时,OS 130可以确定已经发生系统范围的磁盘访问过度使用情况。
当在指定时间段写入到快闪存储器116的聚合数据量超过阈值时,OS 130可以确定已经发生系统范围的磁盘访问过度使用情况。例如,当在最后30秒写入到快闪存储器116的聚合数据量超过500兆字节时,OS 130可以确定已经发生系统范围的磁盘访问过度使用情况。因此,响应于检测到系统范围的磁盘访问过度使用情况的发生,OS 130可以确定应用程序125中的每一个在指定时段内对快闪存储器116的相应磁盘访问使用,并且将应用程序125中的每一个在指定时段内的相应磁盘访问使用与相应磁盘访问使用阈值相比较,以确定在指定时段内正在过度使用快闪存储器116的磁盘访问的一个或多个应用程序125。因此,OS 130可以终止在指定时段内正在过度使用快闪存储器116的磁盘访问的应用程序,以防止应用程序进一步过度使用快闪存储器116的磁盘访问。
图2是更详细地图示图1的示例车载主机102的示例的框图。在图2的示例中示出的车载主机202是图1中所示的车载主机102的一个示例。车载主机202可以包括一个或多个处理器212、快闪存储器216、显示器220和UI 222。一个或多个处理器212是图1中所示的一个或多个处理器112的示例。快闪存储器216是图1的快闪存储器116的示例。显示器220是图1的显示器120的示例。UI 222是图1的UI 122的示例。
快闪存储器216可以包括OS 230,其为图1的OS 130的示例。OS 230包括看门狗守护进程232、看门狗服务234、电源管理器236、助手服务238和在一个或多个处理器212处执行以执行OS 230的各种功能的包管理器240。例如,看门狗守护进程232可以在一个或多个处理器212处执行,以通过轮询磁盘访问使用统计数据存储设备242来监测车载主机202的磁盘访问使用统计。
磁盘访问使用统计数据存储设备242可以存储快闪存储器216的系统范围的数据访问使用统计。例如,磁盘访问使用统计数据存储设备242可以包括/proc/diskstats文件,该文件包含关于自启动车载主机202以来写入到快闪存储器216的数据量的每块设备统计。
磁盘访问使用统计数据存储设备242还可以存储快闪存储器216的每应用程序磁盘访问使用统计。例如,磁盘访问使用统计数据存储设备242可以包括/proc/uid_io/stats文件,该文件包括已在一个或多个处理器212处执行的所有应用程序225的每用户标识符(UID)磁盘I/O统计,其中应用程序225中的每一个与UID相关联。具体来说,对于应用程序225中的每个应用程序,/proc/uid_io/stats文件可以包括由每个应用程序写入到快闪存储器216的字节数形式的每UID磁盘I/O统计。以此方式,/proc/uid_io/stats文件可以分开地跟踪由应用程序225中的每个应用程序写入到快闪存储器216的字节数。
在一些示例中,看门狗守护进程232在一个或多个处理器212处执行,以周期性地确定由应用程序225中的每一个在指定时间段内对快闪存储器216的相应磁盘访问使用。指定时间段可以是一天、两天、一周等。例如,看门狗守护进程232还可以在一个或多个处理器212处执行,以每M秒(例如,每10秒、每15秒、每分钟等)周期性地轮询磁盘访问使用统计数据存储设备242中的/proc/uid_io/stats文件,并且读取自启动车载主机202以来由应用程序225中的每一个写入到快闪存储器216的总字节数,以确定应用程序225中的每一个在指定时间段内对快闪存储器216的相应磁盘访问使用。
看门狗守护进程232可以在指定时间段内,诸如在一天、12小时、48小时等内,跟踪快闪存储器216的每应用程序磁盘访问使用。虽然磁盘访问使用统计数据存储设备242存储自启动车载主机202以来快闪存储器216的每应用程序磁盘访问使用,但是车载主机202的启动可能不必然在此时间段开始时发生,并且因此,自启动车载主机202以来快闪存储器216的每应用程序磁盘访问使用可能与指定时间段快闪存储器216的每应用程序磁盘访问使用相同。例如,如果指定时间段是一天,从当天的上午12:00到当天的晚上11:59,则在下午5:00启动的车载主机202可能导致磁盘访问使用统计数据存储设备242存储仅自当天下午5:00起快闪存储器216的每应用程序磁盘访问使用。
因此,看门狗守护进程232可以使用由磁盘访问使用统计数据存储设备242存储的自启动车载主机202以来快闪存储器216的每应用程序磁盘访问使用,以确定快闪存储器216在指定时段期间的每应用程序磁盘访问使用。因为应用程序的UID不能被保证跨车载主机202的重新启动相同,所以OS 230的包管理器240可以在一个或多个处理器212处执行以确定UID与应用程序225的包名称之间的关联性并且向看门狗守护进程232发送此关联性的指示。因此,看门狗守护进程232可以在指定时间段期间跨重新启动跟踪应用程序225中的每一个的UID,以确定在指定时间段期间跨重新启动的应用程序225中的每一个的磁盘访问使用,并且可以将应用程序225中的每个应用程序与应用程序在指定时间段期间对快闪存储器216的磁盘访问使用量的关联性存储在磁盘访问使用统计数据存储设备242中。类似地,看门狗守护进程可以在指定时间段期间跨重新启动跟踪快闪存储器216的系统范围的磁盘访问使用量,并且将在指定时间段期间快闪存储器216的系统范围的磁盘访问使用量存储在磁盘访问使用统计数据存储设备242中。
在一些示例中,对于车载主机202的不同应用程序状态和不同操作模式,磁盘访问使用统计数据存储设备242可以为应用程序225中的每一个存储应用程序的分开的磁盘访问使用统计。在一些示例中,应用程序可以在前台状态或后台状态下执行。当应用程序是前台应用程序时,应用程序可以前台状态下执行,使得应用程序的GUI被输出用于在显示器220处显示。相反地,当应用程序是后台应用程序时,应用程序可以后台状态下执行,使得应用程序的GUI不被输出用于在显示器220处显示。因此,可以在磁盘访问使用统计数据存储设备242中分开地跟踪当在前台状态下时应用程序的磁盘访问使用以及在后台状态下时应用程序的磁盘访问使用。
类似地,车载主机202可以在不同操作模式下,诸如在车库模式下或在正常模式下操作。当车载主机202的车辆处于空闲状态时,车载主机202可以在车库模式下操作。例如,如果在指定时间段(例如,30分钟、一小时等)内车辆没有由用户(例如,乘员)使用或操作,则车载主机202的车辆可以处于空闲状态。在另一示例中,车载主机202的车辆已停车并且车辆的引擎已关闭。当车辆不再处于空闲状态时,诸如当车辆由用户使用或操作时,或当车辆的引擎被启动时,车载主机202可以另外在正常模式下操作。因此,可以在磁盘访问使用统计数据存储设备242中分开地跟踪当车载主机202在正常模式下操作时应用程序225中的每一个的磁盘访问使用以及当车载主机202在车库模式下操作时应用程序225中的每一个的磁盘访问使用。
在一些示例中,看门狗守护进程232也在一个或多个处理器212处执行,以周期性地确定快闪存储器216的系统范围的磁盘访问使用,以确定系统范围的磁盘访问过度使用情况的发生。例如,看门狗守护进程232在一个或多个处理器212处执行以每N秒(例如,每一秒、每3秒、每5秒等)周期性地轮询磁盘访问使用统计数据存储设备242中的/proc/diskstats文件,其中N小于M,并且读取自启动车载主机202以来写入到快闪存储器216的总字节数。当在指定时间量内写入到快闪存储器216的聚合数据量超过阈值时,看门狗守护进程232可以确定已经发生系统范围的磁盘访问过度使用情况。例如,当在最后30秒内写入到快闪存储器216的聚合数据量超过1吉字节时,看门狗守护进程232可以确定已经发生系统范围的磁盘访问过度使用情况。响应于确定系统范围的磁盘访问过度使用情况的发生,看门狗守护进程232可以诸如根据上述技术确定应用程序225中的每一个在指定时间段内对快闪存储器216的相应磁盘访问使用。
OS 230的看门狗守护进程232可以在一个或多个处理器212处执行,以利用存储在磁盘访问使用统计数据存储设备242中的磁盘访问使用统计,以检测一个或多个应用程序对快闪存储器216的磁盘访问的过度使用并且补救一个或多个应用程序对快闪存储器216的磁盘访问的此过度使用。为此,响应于确定应用程序225中的每一个对快闪存储器216的相应磁盘访问使用,或响应于确定系统范围的磁盘访问过度使用情况的发生,看门狗守护进程232可以将应用程序225中的每一个对快闪存储器216的相应磁盘访问使用与相应特定于应用程序的磁盘访问使用阈值相比较,以检测应用程序225的一个或多个应用程序对快闪存储器216的磁盘访问的过度使用。
与应用程序相关联的磁盘访问使用阈值可以指示在指定时间段期间(例如,在一天内)能够由应用程序写入到快闪存储器216的总数据量(例如,以字节为单位)。因此,为了将应用程序的磁盘访问使用和与应用程序相关联的磁盘访问使用阈值相比较,看门狗守护进程232可以将诸如存储在磁盘访问使用统计数据存储设备242中的应用程序在指定时段期间的磁盘访问使用和与应用程序相关联的磁盘访问使用阈值相比较。如果看门狗守护进程232确定应用程序在指定时段期间的磁盘访问使用超过(即,大于)与应用程序相关联的磁盘访问使用阈值,则看门狗守护进程232可以确定应用程序对快闪存储器216的磁盘访问的过度使用。
在一些示例中,应用程序225中的每一个可以与多个特定于应用程序的磁盘访问使用阈值相关联。在一些示例中,应用程序可以关联于与多个应用程序状态中的每一个相关联的磁盘访问使用阈值,诸如与前台状态相关联的磁盘访问使用阈值和与后台状态相关联的磁盘访问使用阈值。在一些示例中,应用程序可以关联于与车载主机202的一个或多个操作模式中的每一个相关联的磁盘访问使用阈值,诸如与车库模式相关联的磁盘访问使用阈值。
与应用程序相关联的多个磁盘访问使用阈值可以彼此不同。在一些示例中,与车库模式相关联的磁盘访问使用阈值可以大于与前台状态相关联的磁盘访问使用阈值和与后台状态相关联的磁盘访问使用阈值,因为当处于车库模式时,车载主机202可以下载和/或执行系统更新和应用程序更新,并且因此与当车载主机202不处于车库模式时相比将更多数据量写入到快闪存储器216。在一些示例中,与前台状态相关联的磁盘访问使用阈值可以大于与后台状态相关联的磁盘访问使用阈值,以避免终止正在一个或多个处理器212处执行的前台应用程序。
因此,为了将应用程序对快闪存储器216的磁盘访问使用和与应用程序相关联的特定于应用程序的磁盘访问使用阈值相比较,看门狗守护进程232可以确定车载主机202的操作模式和/或应用程序的应用程序状态。例如,看门狗守护进程232可以从包管理器240接收应用程序的应用程序状态的指示,和/或从电源管理器236接收车载主机202的操作模式的指示。
看门狗守护进程232可以基于应用程序的应用程序状态和/或车载主机202的操作模式来确定多个特定于应用程序的磁盘访问使用阈值中的特定于应用程序的磁盘访问使用阈值,并且可以将应用程序对快闪存储器216的磁盘访问使用和与应用程序相关联的所确定的特定于应用程序的磁盘访问使用阈值相比较。例如,如果看门狗守护进程232确定应用程序处于前台状态,则看门狗守护进程232可以将应用程序处于前台状态时对快闪存储器216的磁盘访问使用和与前台状态相关联的磁盘访问使用阈值相比较。在另一示例中,如果看门狗守护进程232确定其处于车库模式,则看门狗守护进程232可以将应用程序对快闪存储器216的磁盘访问使用和与车库模式相关联的磁盘访问使用阈值相比较。
因此,看门狗守护进程232可以将应用程序225中的每一个在指定时间段内对快闪存储器216的相应磁盘访问使用与相应特定于应用程序的磁盘访问使用阈值相比较,以确定过度使用快闪存储器216的磁盘访问的一个或多个应用程序225。具体来说,如果看门狗守护进程232确定应用程序在指定时间段内对快闪存储器216的磁盘访问使用超过特定于应用程序的磁盘访问使用阈值,则看门狗守护进程232可以确定应用程序正在过度使用快闪存储器216的磁盘访问。
在一些示例中,看门狗守护进程232还可以基于将应用程序225中的每一个在指定时间段内对快闪存储器216的相应磁盘访问使用与相应特定于应用程序的磁盘访问使用阈值相比较来确定没有正在过度使用快闪存储器216的磁盘访问但在指定时间段结束之前潜在地具有过度使用快闪存储器216的磁盘访问的风险的一个或多个应用程序224。例如,如果看门狗守护进程232确定应用程序在指定时间段内对快闪存储器216的磁盘访问使用不超过特定于应用程序的磁盘访问使用阈值,但替代地超过特定于应用程序的磁盘访问使用阈值的指定百分数,诸如通过超过特定于应用程序的磁盘访问使用阈值的70%,则看门狗守护进程232可以确定应用程序在指定时间段结束之前潜在地具有过度使用快闪存储器216的磁盘访问的风险。
对于没有正在过度使用快闪存储器216的磁盘访问的一个或多个应用程序225中的每一个,看门狗守护进程232可以确定在应用程序将过度使用快闪存储器216的磁盘访问之前应用程序对快闪存储器216的剩余磁盘访问使用量。具体来说,看门狗守护进程232可以为应用程序确定在应用程序正在过度使用快闪存储器216的磁盘访问之前应用程序对快闪存储器216的剩余磁盘访问使用量,作为与应用程序相关联的特定于应用程序的磁盘访问使用阈值与应用程序在指定时间段内对快闪存储器216的磁盘访问使用之间的差。
看门狗守护进程232可以与在一个或多个处理器212处执行的看门狗服务234通信,以将由看门狗守护进程232收集的数据推送到看门狗服务234。例如,在每个周期性轮询时,看门狗守护进程232将最新的每应用程序统计(例如,剩余字节、总写入字节、指定时间段内的过度使用总数等)以及潜在过度使用和实际过度使用的列表推送到看门狗服务234。
在一些示例中,看门狗守护进程232和/或看门狗服务234可以向被确定为在指定时间段结束之前潜在地具有过度使用快闪存储器216的磁盘访问的风险的每个应用程序发送通知,该通知指示在指定时间段结束之前潜在地具有过度使用快闪存储器216的磁盘访问的风险的应用程序。在一些示例中,看门狗守护进程232可以向本地服务发送通知,而看门狗服务234可以向Java应用程序和服务发送通知。在发送到每个应用程序的通知中,看门狗守护进程232和/或看门狗服务234可以包括在应用程序正在过度使用快闪存储器216的磁盘访问之前应用程序对快闪存储器216的剩余磁盘访问使用量。响应于接收到通知,应用程序可以采取一个或多个动作,以诸如通过减少应用程序写入到快闪存储器216的字节数来减少在指定时间段期间的快闪存储器216的磁盘访问使用。
在一些示例中,在应用程序正在过度使用快闪存储器216的磁盘访问之前,应用程序还可以关于应用程序对快闪存储器216的剩余磁盘访问使用量随时查询看门狗守护进程232和/或看门狗服务234。响应于从应用程序接收到此查询,看门狗守护进程232和/或看门狗服务234可以确定在应用程序正在过度使用快闪存储器216的磁盘访问之前应用程序对快闪存储器216的剩余磁盘访问使用量,并且可以向应用程序发送在应用程序正在过度使用快闪存储器216的磁盘访问之前应用程序对快闪存储器216的剩余磁盘访问使用量的指示。
对于看门狗服务234已确定为正在过度使用快闪存储器216的磁盘访问的一个或多个应用程序225中的每一个,看门狗服务234可以确定应用程序能够由车载主机202终止。在一些示例中,应用程序225可以包括第一方应用程序,该第一方应用程序是由车载主机202的原始设备制造商(OEM)开发或控制的应用程序以及由开发或控制OS 230的同一组织开发或控制的应用程序;以及第三方应用程序,该第三方应用程序不由车载主机202的OEM或开发或控制OS 230的组织开发或控制。在一些示例中,当车载主机202能够终止第三方应用程序时,车载主机202可以仅能够终止明确地被包括在安全终止列表中的第一方应用程序。这可能是因为某些第一方应用程序可能是关键系统组件,车载主机202可能依赖于这些组件来正确运行车载主机202。因此,如果应用程序是第三方应用程序,或者如果应用程序是明确地被包括在安全终止列表中的第一方应用程序,则看门狗服务234可以确定车载主机202能够终止应用程序。
看门狗服务234可以向看门狗服务234已确定为正在过度使用快闪存储器216的磁盘访问并且车载主机202无法终止的应用程序225中的每个应用程序发送通知,该通知指示应用程序正在过度使用快闪存储器216的磁盘访问。响应于接收到通知,应用程序可以采取一个或多个动作,以诸如通过减少应用程序写入到快闪存储器216的字节数来减少在指定时间段期间的快闪存储器216的磁盘访问使用。
对于看门狗服务234已确定为正在过度使用快闪存储器216的磁盘访问并且车载主机202无法终止的应用程序225中的每个应用程序,看门狗服务234可以确定是否终止应用程序。终止应用程序可以包括停止由一个或多个处理器212执行应用程序。一旦应用程序已被终止,车载主机202就可以抑制在一个或多个处理器212处执行应用程序,直到用户在UI 222处提供输入,该输入对应于在一个或多个处理器212处重新开始执行应用程序的命令。为了终止应用程序,看门狗服务234可以将要被终止的应用程序的指示发送到在一个或多个处理器212处执行的OS 230的助手服务238。响应于从看门狗服务234接收要被终止的应用程序的指示,助手服务238可以终止所指示的应用程序。
在一些示例中,为了确定是否终止看门狗服务234已确定为正在过度使用快闪存储器216的磁盘访问并且车载主机202能够终止的应用程序,看门狗服务234可以确定应用程序对快闪存储器216的磁盘访问的过度使用是否为应用程序对快闪存储器216的磁盘访问的循环过度使用。每当看门狗服务234检测到应用程序对快闪存储器216的磁盘访问的过度使用时,看门狗服务234可以将应用程序对快闪存储器216的磁盘访问的此过度使用的指示存储在诸如磁盘访问使用统计数据存储设备242中,由此跟踪应用程序随时间已经过度使用快闪存储器216的磁盘访问的次数。
因此,如果看门狗服务234确定应用程序对快闪存储器216的磁盘访问的过度使用的发生次数在指定天数内发生超过指定次数,则看门狗服务234可以确定应用程序对快闪存储器216的磁盘访问的过度使用是应用程序对快闪存储器216的磁盘访问的循环过度使用。例如,如果应用程序对快闪存储器216的磁盘访问的过度使用在三十天内发生超过六次,则看门狗服务234可以确定应用程序对快闪存储器216的磁盘访问的过度使用是应用程序对快闪存储器216的磁盘访问的循环过度使用。响应于确定应用程序对快闪存储器216的磁盘访问的过度使用是应用程序对快闪存储器216的磁盘访问的循环过度使用,看门狗服务234可以终止应用程序。
在一些示例中,看门狗服务234可以终止看门狗服务234已确定为正在过度使用快闪存储器216的磁盘访问并且在关闭显示器220的情况下车载主机202能够终止的应用程序。因此,响应于确定应用程序正在过度使用快闪存储器216的磁盘访问并且车载主机202能够终止应用程序,看门狗服务234可以确定显示器220是否被打开。如果看门狗服务234确定显示器220没有被打开,则作为响应,看门狗服务234可以终止应用程序。在一些示例中,响应于确定应用程序对快闪存储器216的磁盘访问的过度使用不是应用程序对快闪存储器216的磁盘访问的循环过度使用,看门狗服务234可以确定显示器220是否被打开。如果看门狗服务234确定显示器220没有被打开,则作为响应,看门狗服务234可以终止应用程序。
在一些示例中,当显示器220被打开时,看门狗服务234可以终止看门狗服务234已确定为正在过度使用快闪存储器216的磁盘访问并且在应用程序不是前台应用程序的情况下车载主机202能够终止的应用程序。看门狗服务234可以从包管理器240接收应用程序的应用程序状态的指示,以确定应用程序是前台应用程序还是后台应用程序。响应于确定应用程序是后台应用程序,看门狗服务234可以终止应用程序。
在一些示例中,如果看门狗服务234无法终止正在过度使用快闪存储器216的磁盘访问的应用程序,诸如如果显示器220被打开并且应用程序是前台应用程序,则看门狗服务234可以通知车载主机202的用户应用程序正在过度使用快闪存储器216的磁盘访问,以使用户能够选择是否终止应用程序。例如,响应于确定看门狗服务无法终止正在过度使用快闪存储器216的磁盘访问的应用程序,看门狗服务234可以输出指示应用程序正在过度使用快闪存储器216的磁盘访问的通知以用于在显示器220处显示。如果响应于在显示器220处显示通知,用户在UI 222处提供与终止应用程序的请求相对应的用户输入,则看门狗服务234可以终止应用程序。
图3A和3B是图示示例操作的流程图,该操作能够由图2的示例车载主机202执行以管理应用程序的磁盘访问使用。在图2的车载主机202的场境中描述图3A和3B的技术。
如图3A中所示,OS 230可以检测到系统范围的磁盘访问过度使用情况的发生,作为响应,可以确定在车载主机202处的应用程序225中的每一个的每应用程序磁盘访问使用统计(302)。在一些示例中,代替或除了检测系统范围的磁盘访问过度使用情况的发生,OS230可以周期性地确定应用程序225中的每一个的磁盘访问使用统计(304)。对于应用程序225中的每个应用程序,应用程序225中的每一个的每应用程序磁盘访问使用统计可以是应用程序在指定时间段内,诸如在一天内,写入到快闪存储器216的数据量。
响应于确定应用程序225中的每一个的磁盘访问使用统计,OS 230可以将每个应用程序的磁盘访问使用量与特定于应用程序的磁盘访问使用阈值相比较(306)。应用程序225中的每个应用程序可以与特定于应用程序的磁盘访问使用阈值相关联。因此,应用程序225中的不同应用程序可以具有不同的磁盘访问使用阈值。
在一些示例中,应用程序可以在不同应用程序状态下操作,并且与应用程序相关联的特定于应用程序的磁盘访问使用阈值可以包括可以取决于应用程序的应用程序状态而改变的特定于应用程序状态的磁盘访问使用阈值。例如,应用程序可以在前台状态或后台状态下操作。当应用程序的图形用户界面正在车载主机202的显示器处被输出时,应用程序在前台状态下操作。相反,当应用程序的图形用户界面没有正在车载主机202的显示器处被输出时,应用程序在后台状态下操作。
因此,应用程序可以与前台磁盘访问使用阈值和后台磁盘访问使用阈值相关联。在一些示例中,与应用程序相关联的前台磁盘访问使用阈值可以和与应用程序相关联的后台磁盘访问使用阈值不同。例如,与应用程序相关联的前台磁盘访问使用阈值可以大于与应用程序相关联的后台磁盘访问使用阈值。
当应用程序在前台状态下操作时,OS 230可以将应用程序的磁盘访问使用和与应用程序相关联的前台磁盘访问阈值相比较,以确定应用程序的磁盘访问使用是否超过前台磁盘访问阈值。相反地,当应用程序在后台状态下操作时,OS 230可以将应用程序的磁盘访问使用和与应用程序相关联的后台磁盘访问阈值相比较,以确定应用程序的磁盘访问使用是否超过后台磁盘访问阈值。
在一些示例中,车载主机202可以在不同系统模式下操作,并且与应用程序相关联的特定于应用程序的磁盘访问使用阈值可以取决于车载主机202的系统模式而改变。例如,车载主机202可以在正常模式或车库模式下操作。当车载主机202的车辆已停车并且车辆的引擎已关闭时,车载主机202可以在车库模式下操作,并且当车辆的引擎没有被关闭时,车载主机202可以在正常模式下操作。
因此,应用程序可以与车库模式磁盘访问使用阈值相关联,该车库模式磁盘访问使用阈值可以和与应用程序相关联的前台磁盘访问阈值以及与应用程序相关联的后台磁盘访问阈值不同。例如,当车载主机202在车库模式下操作时,车载主机202可以将更新下载并安装到应用程序225和/或OS 230,并且因此可以以比应用程序在前台状态或后台状态下时更高的速率执行对快闪存储器216的读取和写入。因此,与应用程序相关联的车库模式磁盘访问使用阈值可以高于与应用程序相关联的前台磁盘访问阈值和与应用程序相关联的后台磁盘访问阈值。
为了将应用程序的磁盘访问使用与特定于应用程序的磁盘访问使用阈值相比较,OS 230可以确定与应用程序相关联的多个磁盘访问使用阈值,诸如与应用程序相关联的后台磁盘访问使用阈值、与应用程序相关联的前台磁盘访问使用阈值、与应用程序相关联的车库模式磁盘访问使用阈值和与应用程序相关联的正常模式磁盘访问使用阈值。OS 230可以确定应用程序的当前应用程序状态和/或车载主机202的当前操作模式。基于应用程序的当前应用程序状态和/或车载主机202的当前操作模式,OS 230可以确定与应用程序相关联的多个磁盘访问使用阈值中的与应用程序相关联的磁盘访问使用阈值。因此,OS 230可以将应用程序的磁盘访问使用和与应用程序相关联的磁盘访问使用阈值相比较。
OS 230可以将应用程序225中的每一个的磁盘访问使用与相应特定于应用程序的磁盘访问使用阈值相比较,以确定应用程序225中的每一个的磁盘访问使用是否超过与应用程序相关联的磁盘访问使用阈值(308)。如果OS 230确定应用程序的磁盘访问使用不超过与应用程序相关联的磁盘访问使用阈值,则OS 230可以确定应用程序的磁盘访问使用是否超过与应用程序相关联的磁盘访问使用阈值的指定百分比,诸如70%(310)。
如果OS 230确定应用程序的磁盘访问使用超过与应用程序相关联的磁盘访问使用阈值的指定百分比,则OS 230可以警告应用程序,如果应用程序的磁盘访问使用超过与应用程序相关联的磁盘访问使用阈值,则应用程序可以被终止。具体来说,OS 230可以确定是否能够由于过多磁盘访问使用而终止应用程序(312)。如果无法由于过多磁盘访问使用而终止应用程序,则可能不需要警告应用程序,如果应用程序的磁盘访问使用超过与应用程序相关联的磁盘访问使用阈值,则应用程序可以被终止。
在一些示例中,能够由于过多磁盘访问使用而终止所有第三方应用程序,但是无法由于过多磁盘访问使用而终止第一方应用程序和系统应用程序,除非这些应用程序在安全终止列表上。因此,为了确定是否能够由于过多磁盘访问使用而终止应用程序,OS 230可以确定应用程序是第三方应用程序还是安全终止列表上的应用程序。
如果OS 230确定能够由于过多磁盘访问使用而终止应用程序,则OS 230可以确定OS 230是否已将通知发送到应用程序,以警告应用程序,如果应用程序的磁盘访问使用超过与应用程序相关联的磁盘访问使用阈值,则应用程序可以被终止(314)。如果OS 230确定OS 230先前没有将通知发送到应用程序,以警告应用程序,如果应用程序的磁盘访问使用超过与应用程序相关联的磁盘访问使用阈值,则应用程序可以被终止,则OS 230可以将通知发送到应用程序,以警告应用程序,如果应用程序的磁盘访问使用超过与应用程序相关联的磁盘访问使用阈值,则应用程序可以被终止(316)。
在一些示例中,通知可以指示能够由应用程序安全地写入到快闪存储器216的剩余数据量。能够由应用程序安全地写入到快闪存储器216的剩余数据量可以是与应用程序相关联的磁盘访问使用阈值与应用程序的当前磁盘访问使用之间的差。
如果OS 230确定应用程序的磁盘访问使用超过与应用程序相关联的磁盘访问使用阈值,则OS 230可以确定是否能够由于过多磁盘访问使用而终止应用程序(318)。如上所述,在一些示例中,能够由于过多磁盘访问使用而终止所有第三方应用程序,但是无法由于过多磁盘访问使用而终止第一方应用程序和系统应用程序,除非这些应用程序在安全终止列表上。如果OS 230确定无法由于过多磁盘访问使用而终止应用程序,则OS 230可以向应用程序发送指示应用程序的磁盘访问使用过多的通知(320)。响应于接收到通知,应用程序可以减少其磁盘访问使用。
如果OS 230确定应用程序的磁盘访问使用超过与应用程序相关联的磁盘访问使用阈值并且能够由于过多磁盘访问使用而终止应用程序,则OS 230可以向应用程序发送指示应用程序的磁盘访问使用过多(329)并且可以在某些条件下终止应用程序的通知。如图3B中所示,如果OS 230确定应用程序的磁盘访问使用超过与应用程序相关联的磁盘访问使用阈值并且能够由于过多磁盘访问使用而终止应用程序,则OS 230可以确定用户是否已经由于过多磁盘访问使用而选择退出终止应用程序(322)。如果OS 230确定用户没有由于过多磁盘访问使用而选择退出终止应用程序(在322处的“否”),则OS 230可以确定用户当前是否正在使用应用程序(324)。例如,如果显示器220被打开并且应用程序是前台应用程序(即,应用程序在前台状态下),则OS 230可以确定用户当前正在使用应用程序。
响应于确定用户当前没有正在使用应用程序(在324处的“否”),OS 230可以终止应用程序(336),并且可以确定应用程序对磁盘访问的过度使用是否为应用程序对磁盘访问的重复性过度使用(338)。如果应用程序对磁盘访问的过度使用在指定天数内发生超过指定次数,则应用程序对磁盘访问的过度使用可以是应用程序对磁盘访问的重复性过度使用。例如,如果应用程序对磁盘访问的过度使用在三十天内发生超过六次,则应用程序对磁盘访问的过度使用可以是应用程序对磁盘访问的重复性过度使用。
如果OS 230确定过度使用不是重复性过度使用(在338处的“否”),则OS 230可以不通知用户应用程序的磁盘访问使用超过与应用程序相关联的磁盘访问使用阈值(334)。如果OS 230确定过度使用是重复性过度使用(在338处的“是”),则OS 230可以确定用户当前是否正在驾驶车辆(340)。如果用户当前正在驾驶车辆(在340处的“是”),则OS 230可以等待,直到用户不再驾驶车辆。当用户不再驾驶车辆时(在340处的“否”),OS 230可以通知车载主机202的用户应用程序正在过度使用快闪存储器216的磁盘访问(342)。例如,一个或多个处理器212可以输出通知以用于显示在显示器220处,该通知包括当前前台应用程序正在过度使用快闪存储器216的磁盘访问的指示并且允许用户在UI 222处提供输入以指示是否暂时地允许应用程序执行(344)。
如果用户选择暂时地允许应用程序运行,诸如通过在UI 222处提供用户输入(在344处的“是”),则当应用程序正在过度使用快闪存储器216的磁盘访问时,OS 230可以抑制终止应用程序(346)。如果用户没有选择暂时地允许应用程序运行(在344处的“否”),诸如通过在UI 222处提供用户输入,则OS 230可以等待,直到显示器220关闭(348)并且终止应用程序(350)。
响应于确定用户当前正在使用应用程序(在324处的“是”),OS 230可以确定应用程序对磁盘访问的过度使用是否为应用程序对磁盘访问的重复性过度使用(326)。如果应用程序对磁盘访问的过度使用在指定天数内发生超过指定次数,则应用程序对磁盘访问的过度使用可以是应用程序对磁盘访问的重复性过度使用。例如,如果应用程序对磁盘访问的过度使用在三十天内发生超过六次,则应用程序对磁盘访问的过度使用可以是应用程序对磁盘访问的重复性过度使用。
如果OS 230确定过度使用不是重复性过度使用(在326处的“否”),则OS 230可以不通知用户应用程序的磁盘访问使用超过与应用程序相关联的磁盘访问使用阈值(327)。如果OS 230确定过度使用是重复性过度使用(在326处的“是”),则OS 230可以确定用户当前是否正在驾驶车辆(340)。如果用户当前正在驾驶车辆(在340处的“是”),则OS 230可以等待,直到用户不再驾驶车辆。当用户不再驾驶车辆时(在340处的“否”),OS 230可以通知车载主机202的用户应用程序正在过度使用快闪存储器216的磁盘访问(342)。例如,一个或多个处理器212可以输出通知以用于显示在显示器220处,该通知包括当前前台应用程序正在过度使用快闪存储器216的磁盘访问的指示并且允许用户在UI 222处提供输入以指示是否暂时地允许应用程序执行。
如果用户选择暂时地允许应用程序运行(在344处的“是”),诸如通过在UI 222处提供用户输入,则当应用程序正在过度使用快闪存储器216的磁盘访问时,OS 230可以抑制终止应用程序(346)。如果用户没有选择暂时地允许应用程序运行(在344处的“否”),诸如通过在UI 222处提供用户输入,则OS 230可以等待,直到显示器220关闭(348)并且终止应用程序(350)。
如果OS 230确定用户已经由于过多磁盘访问使用而选择退出终止应用程序(在322处的“是”),则OS 230可以确定应用程序对磁盘访问的过度使用是否为应用程序对磁盘访问的重复性过度使用(328)。如果应用程序对磁盘访问的过度使用在指定天数内发生超过指定次数,则应用程序对磁盘访问的过度使用可以是应用程序对磁盘访问的重复性过度使用。例如,如果应用程序对磁盘访问的过度使用在三十天内发生超过六次,则应用程序对磁盘访问的过度使用可以是应用程序对磁盘访问的重复性过度使用。
如果OS 230确定应用程序对磁盘访问的过度使用不是应用程序对磁盘访问的重复性过度使用(在328处的“否”),则OS 230可以不通知用户应用程序的磁盘访问使用超过与应用程序相关联的磁盘访问使用阈值(334)。如果OS 230确定应用程序对磁盘访问的过度使用是应用程序对磁盘访问的重复性过度使用(在328处的“是”),则OS 230可以确定用户当前是否正在驾驶车辆(330)。如果用户当前正在驾驶车辆(在330处的“是”),则OS 230可以等待,直到用户不再驾驶车辆。当用户不再驾驶车辆时(在330处的“否”),OS 230可以通知车载主机202的用户应用程序正在过度使用快闪存储器216的磁盘访问(332)。例如,一个或多个处理器212可以输出通知以用于显示在显示器220处,该通知包括当前前台应用程序正在过度使用快闪存储器216的磁盘访问的指示。
图4是图示图2的示例车载主机202的用于管理应用程序的磁盘访问使用的示例操作的流程图。关于图2描述图4。
如图4中所示,车载主机202的一个或多个处理器212可以确定多个应用程序225中的每一个对车载主机202的快闪存储器216的相应磁盘访问使用(402)。一个或多个处理器212可以将多个应用程序225中的每一个对快闪存储器的相应磁盘访问使用与相应特定于应用程序的磁盘访问过度使用阈值相比较,以确定多个应用程序225中的应用程序对快闪存储器216的磁盘访问过度使用(404)。响应于确定应用程序对快闪存储器216的磁盘访问过度使用,一个或多个处理器212可以终止应用程序(406)。
在一些示例中,为了将多个应用程序225中的每一个对快闪存储器的相应磁盘访问使用与相应特定于应用程序的磁盘访问过度使用阈值相比较,以确定应用程序对快闪存储器216的磁盘访问过度使用,一个或多个处理器212可以将应用程序对快闪存储器216的磁盘访问使用和与应用程序相关联的磁盘访问过度使用阈值相比较。响应于确定应用程序对快闪存储器216的磁盘访问使用超过与应用程序相关联的磁盘访问过度使用阈值,一个或多个处理器212可以确定应用程序对快闪存储器216的磁盘访问过度使用。
在一些示例中,一个或多个处理器212可以确定应用程序的应用程序状态,并且至少部分地基于应用程序的应用程序状态而从与应用程序相关联的多个磁盘访问过度使用阈值确定与应用程序相关联的磁盘访问过度使用阈值。
在一些示例中,一个或多个处理器212可以确定车载主机202的操作模式。一个或多个处理器212可以至少部分地基于车载主机202的操作模式而从与应用程序相关联的多个磁盘访问过度使用阈值确定与应用程序相关联的磁盘访问过度使用阈值。
在一些示例中,多个应用程序225中的每一个的相应特定于应用程序的磁盘访问过度使用阈值与指定时间段相关联,并且多个应用程序225中的每一个对快闪存储器216的相应磁盘访问使用是多个应用程序225中的每一个在指定时间段内对快闪存储器216的相应磁盘访问使用。
在一些示例中,为了确定多个应用程序225中的每一个对车载主机202的快闪存储器216的相应磁盘访问使用,一个或多个处理器212可以确定系统范围的磁盘访问过度使用情况的发生。响应于确定系统范围的磁盘访问过度使用情况的发生,一个或多个处理器212可以确定多个应用程序225中的每一个对车载主机202的快闪存储器216的相应磁盘访问使用。
在一些示例中,为了确定系统范围的磁盘访问过度使用情况的发生,一个或多个处理器212可以确定快闪存储器216的聚合磁盘使用量在指定时间量内超过指定阈值。响应于确定快闪存储器216的聚合磁盘使用量在指定时间量内超过指定阈值,一个或多个处理器212可以确定系统范围的磁盘访问过度使用情况的发生。
在一些示例中,为了终止应用程序,响应于确定应用程序对快闪存储器216的磁盘访问过度使用,一个或多个处理器212可以确定车载主机202的显示器220被关闭。响应于确定车载主机202的显示器220被关闭,一个或多个处理器212可以终止应用程序。
在一些示例中,为了终止应用程序,响应于确定应用程序对快闪存储器216的磁盘访问过度使用,一个或多个处理器212可以确定车载主机202的显示器220没有被关闭。响应于确定车载主机202的显示器220没有被关闭,一个或多个处理器212可以确定应用程序不是前台应用程序。响应于确定应用程序不是前台应用程序,一个或多个处理器212可以终止应用程序。
示例1:一种方法包括由计算设备的一个或多个处理器确定多个应用程序中的每一个对所述计算设备的快闪存储器的相应磁盘访问使用;由所述一个或多个处理器将所述多个应用程序中的每一个对所述快闪存储器的所述相应磁盘访问使用与相应特定于应用程序的磁盘访问过度使用阈值相比较,以确定所述多个应用程序中的应用程序对所述快闪存储器的磁盘访问过度使用;以及响应于确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用,由所述一个或多个处理器终止所述应用程序。
示例2:根据示例1的方法,其中将所述多个应用程序中的每一个对所述快闪存储器的所述相应磁盘访问使用与所述相应特定于应用程序的磁盘访问过度使用阈值相比较,以确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用进一步包括:由所述一个或多个处理器将所述应用程序对所述快闪存储器的磁盘访问使用和与所述应用程序相关联的磁盘访问过度使用阈值相比较;以及响应于确定所述应用程序对所述快闪存储器的所述磁盘访问使用超过与所述应用程序相关联的所述磁盘访问过度使用阈值,由所述一个或多个处理器确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用。
示例3:根据示例2的方法,其进一步包括由所述一个或多个处理器确定所述应用程序的应用程序状态;由所述一个或多个处理器至少部分地基于所述应用程序的所述应用程序状态而从与所述应用程序相关联的多个磁盘访问过度使用阈值确定与所述应用程序相关联的所述磁盘访问过度使用阈值。
示例4:根据示例2的方法,其进一步包括由所述一个或多个处理器确定所述计算设备的操作模式;由所述一个或多个处理器至少部分地基于所述计算设备的所述操作模式而从与所述应用程序相关联的多个磁盘访问过度使用阈值确定与所述应用程序相关联的所述磁盘访问过度使用阈值。
示例5:根据示例1至4中的任一项的方法,其中:所述多个应用程序中的每一个的所述相应特定于应用程序的磁盘访问过度使用阈值与指定时间段相关联;并且所述多个应用程序中的每一个对所述快闪存储器的所述相应磁盘访问使用是所述多个应用程序中的每一个在所述指定时间段内对所述快闪存储器的所述相应磁盘访问使用。
示例6:根据示例1至5中的任一项的方法,其中确定所述多个应用程序中的每一个对所述计算设备的所述快闪存储器的所述相应磁盘访问使用进一步包括:由所述一个或多个处理器确定系统范围的磁盘访问过度使用情况的发生;以及响应于确定所述系统范围的磁盘访问过度使用情况的所述发生,由所述一个或多个处理器确定所述多个应用程序中的每一个对所述计算设备的所述快闪存储器的所述相应磁盘访问使用。
示例7:根据示例6的方法,其中确定所述系统范围的磁盘访问过度使用情况的所述发生进一步包括:由所述一个或多个处理器确定所述快闪存储器的聚合磁盘使用量在指定时间量内超过指定阈值;以及响应于确定所述快闪存储器的所述聚合磁盘使用量在所述指定时间量内超过所述指定阈值,由所述一个或多个处理器确定所述系统范围的磁盘访问过度使用情况的所述发生。
示例8:根据示例1至7中的任一项的方法,其中终止所述应用程序进一步包括:响应于确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用,由所述一个或多个处理器确定关闭所述计算设备的显示器;以及响应于确定关闭所述计算设备的所述显示器,由所述一个或多个处理器终止所述应用程序。
示例9:根据示例1至8中的任一项的方法,其中终止所述应用程序进一步包括:响应于确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用,由所述一个或多个处理器确定所述计算设备的显示器没有被关闭;响应于确定所述计算设备的所述显示器没有被关闭,由所述一个或多个处理器确定所述应用程序不是前台应用程序;以及响应于确定所述应用程序不是所述前台应用程序,由所述一个或多个处理器终止所述应用程序。
示例10:根据示例1至9中的任一项的方法,其中所述计算设备包括车载主机。
示例11:一种计算设备包括快闪存储器;以及一个或多个处理器,所述处理器可通信地耦合到所述快闪存储器并且被配置成:确定多个应用程序中的每一个对所述快闪存储器的相应磁盘访问使用;将所述多个应用程序中的每一个对所述快闪存储器的所述相应磁盘访问使用与相应特定于应用程序的磁盘访问过度使用阈值相比较,以确定所述多个应用程序中的应用程序对所述快闪存储器的磁盘访问过度使用;以及响应于确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用,终止所述应用程序。
示例12:根据示例11的计算设备,其中为了将所述多个应用程序中的每一个对所述快闪存储器的所述相应磁盘访问使用与所述相应特定于应用程序的磁盘访问过度使用阈值相比较,以确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用,所述一个或多个处理器进一步被配置成:将所述应用程序对所述快闪存储器的磁盘访问使用和与所述应用程序相关联的磁盘访问过度使用阈值相比较;以及响应于确定所述应用程序对所述快闪存储器的所述磁盘访问使用超过与所述应用程序相关联的所述磁盘访问过度使用阈值,确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用。
示例13:根据示例12所述的计算设备,其中所述一个或多个处理器进一步被配置成:确定所述应用程序的应用程序状态;至少部分地基于所述应用程序的所述应用程序状态而从与所述应用程序相关联的多个磁盘访问过度使用阈值确定与所述应用程序相关联的所述磁盘访问过度使用阈值。
示例14:根据示例12所述的计算设备,其中所述一个或多个处理器进一步被配置成:确定所述计算设备的操作模式;至少部分地基于所述计算设备的所述操作模式而从与所述应用程序相关联的多个磁盘访问过度使用阈值确定与所述应用程序相关联的所述磁盘访问过度使用阈值。
示例15:根据示例11至14中的任一项的计算设备,其中:所述多个应用程序中的每一个的所述相应特定于应用程序的磁盘访问过度使用阈值与指定时间段相关联;并且所述多个应用程序中的每一个对所述快闪存储器的所述相应磁盘访问使用是所述多个应用程序中的每一个在所述指定时间段内对所述快闪存储器的所述相应磁盘访问使用。
示例16:根据示例11至15中的任一项的计算设备,其中为了确定所述多个应用程序中的每一个对所述计算设备的所述快闪存储器的所述相应磁盘访问使用,所述一个或多个处理器进一步被配置成:确定系统范围的磁盘访问过度使用情况的发生;以及响应于确定所述系统范围的磁盘访问过度使用情况的所述发生,确定所述多个应用程序中的每一个对所述计算设备的所述快闪存储器的所述相应磁盘访问使用。
示例17:根据示例16的计算设备,其中为了确定所述系统范围的磁盘访问过度使用情况的所述发生,所述一个或多个处理器进一步被配置成:确定所述快闪存储器的聚合磁盘使用量在指定时间量内超过指定阈值;以及响应于确定所述快闪存储器的所述聚合磁盘使用量在所述指定时间量内超过所述指定阈值,确定所述系统范围的磁盘访问过度使用情况的所述发生。
示例18:根据示例11到17中的任一项的计算设备,其中为了终止所述应用程序,所述一个或多个处理器进一步被配置成:响应于确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用,确定所述计算设备的显示器被关闭;以及响应于确定所述计算设备的所述显示器被关闭,终止所述应用程序。
示例19:根据示例11到18中的任一项的计算设备,其中为了终止所述应用程序,所述一个或多个处理器进一步被配置成:响应于确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用,确定所述计算设备的显示器没有被关闭;响应于确定所述计算设备的所述显示器没有被关闭,确定所述应用程序不是前台应用程序;以及响应于确定所述应用程序不是所述前台应用程序,终止所述应用程序。
示例20:一种其上存储有指令的非暂时性计算机可读存储介质,所述指令在执行时使计算设备的一个或多个处理器:确定多个应用程序中的每一个对所述计算设备的快闪存储器的相应磁盘访问使用;将所述多个应用程序中的每一个对所述快闪存储器的所述相应磁盘访问使用与相应特定于应用程序的磁盘访问过度使用阈值相比较,以确定所述多个应用程序中的应用程序对所述快闪存储器的磁盘访问过度使用;以及响应于确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用,终止所述应用程序。
举例且非限制性地,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备,或其它磁性存储设备、快闪存储器,或能够被用于存储采用指令或数据结构形式的所需程序代码并且能够由计算机访问的任何其它存储介质。此外,任何连接适当地被称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL),或诸如蓝牙、WiFi、红外线、无线电和微波的无线技术,从网站、服务器或其它远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL,或诸如红外线、无线电和微波的无线技术被包括在介质的定义中。然而,应理解,一个或多个计算机可读存储介质和数据存储介质不包括连接、载波、信号或其它暂时性介质,但替代地涉及非暂时性有形存储介质。如本文中使用的,磁盘和光盘包括压缩光盘(CD)、激光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述项的组合也应被包括在计算机可读介质的范围内。
指令可以由一个或多个处理器执行,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA),或其它等效集成或离散逻辑电路。因此,如本文中使用的,术语“处理器”可以指前述结构或适用于实现本文中描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中描述的功能可以提供于专用硬件和/或软件模块内。此外,技术可以完全被实现在一个或多个电路或逻辑元件中。
本公开的技术可以被实现在各种设备或装置中,包括无线手持机、集成电路(IC)或IC集(例如,芯片集)。在本公开中描述了各种组件、模块或单元以强调被配置成执行所公开技术的设备的功能方面,但不必然需要通过不同硬件单元来实现。相反,如上所述,各个单元可以被组合在硬件单元中或通过包括如上所述的一个或多个处理器的互操作硬件单元的集合结合合适的软件和/或固件提供。
已描述各个实施例。这些和其它实施例在所附权利要求书的范围内。

Claims (20)

1.一种方法,包括:
由计算设备的一个或多个处理器确定多个应用程序中的每一个对所述计算设备的快闪存储器的相应磁盘访问使用;
由所述一个或多个处理器将所述多个应用程序中的每一个对所述快闪存储器的所述相应磁盘访问使用与相应特定于应用程序的磁盘访问过度使用阈值相比较,以确定所述多个应用程序中的应用程序对所述快闪存储器的磁盘访问过度使用;以及
响应于确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用,由所述一个或多个处理器终止所述应用程序。
2.根据权利要求1所述的方法,其中将所述多个应用程序中的每一个对所述快闪存储器的所述相应磁盘访问使用与所述相应特定于应用程序的磁盘访问过度使用阈值相比较,以确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用进一步包括:
由所述一个或多个处理器将所述应用程序对所述快闪存储器的磁盘访问使用和与所述应用程序相关联的磁盘访问过度使用阈值相比较;以及
响应于确定所述应用程序对所述快闪存储器的所述磁盘访问使用超过与所述应用程序相关联的所述磁盘访问过度使用阈值,由所述一个或多个处理器确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用。
3.根据权利要求2所述的方法,进一步包括:
由所述一个或多个处理器确定所述应用程序的应用程序状态;以及
由所述一个或多个处理器至少部分地基于所述应用程序的所述应用程序状态而从与所述应用程序相关联的多个磁盘访问过度使用阈值中确定与所述应用程序相关联的所述磁盘访问过度使用阈值。
4.根据权利要求2所述的方法,进一步包括:
由所述一个或多个处理器确定所述计算设备的操作模式;以及
由所述一个或多个处理器至少部分地基于所述计算设备的所述操作模式而从与所述应用程序相关联的多个磁盘访问过度使用阈值中确定与所述应用程序相关联的所述磁盘访问过度使用阈值。
5.根据权利要求1所述的方法,其中:
所述多个应用程序中的每一个对所述相应特定于应用程序的磁盘访问过度使用阈值与特定时间段相关联;以及
所述多个应用程序中的每一个对所述快闪存储器的所述相应磁盘访问使用是所述多个应用程序中的每一个在所述指定时间段内对所述快闪存储器的所述相应磁盘访问使用。
6.根据权利要求1所述的方法,其中确定所述多个应用程序中的每一个对所述计算设备的所述快闪存储器的所述相应磁盘访问使用进一步包括:
由所述一个或多个处理器确定系统范围的磁盘访问过度使用情况的发生;以及
响应于确定所述系统范围的磁盘访问过度使用情况的所述发生,由所述一个或多个处理器确定所述多个应用程序中的每一个对所述计算设备的所述快闪存储器的所述相应磁盘访问使用。
7.根据权利要求6所述的方法,其中确定所述系统范围的磁盘访问过度使用情况的所述发生进一步包括:
由所述一个或多个处理器确定所述快闪存储器的聚合磁盘使用量在指定时间量内超过指定阈值,以及
响应于确定所述快闪存储器的所述聚合磁盘使用量在所述指定时间量内超过所述指定阈值,由所述一个或多个处理器确定所述系统范围的磁盘访问过度使用情况的所述发生。
8.根据权利要求1所述的方法,其中终止所述应用程序进一步包括:
响应于确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用,由所述一个或多个处理器确定所述计算设备的显示器被关闭;以及
响应于确定所述计算设备的所述显示器被关闭,由所述一个或多个处理器终止所述应用程序。
9.根据权利要求1所述的方法,其中终止所述应用程序进一步包括:
响应于确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用,由所述一个或多个处理器确定所述计算设备的显示器没有被关闭;
响应于确定所述计算设备的所述显示器没有被关闭,由所述一个或多个处理器确定所述应用程序不是前台应用程序;以及
响应于确定所述应用程序不是所述前台应用程序,由所述一个或多个处理器终止所述应用程序。
10.根据权利要求1所述的方法,其中所述计算设备包括车载主机。
11.一种计算设备,包括:
快闪存储器;以及
一个或多个处理器,所述处理器通信地耦合到所述快闪存储器并且被配置成:
确定多个应用程序中的每一个对所述快闪存储器的相应磁盘访问使用;
将所述多个应用程序中的每一个对所述快闪存储器的所述相应磁盘访问使用与相应特定于应用程序的磁盘访问过度使用阈值相比较,以确定所述多个应用程序中的应用程序对所述快闪存储器的磁盘访问过度使用;以及
响应于确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用,终止所述应用程序。
12.根据权利要求11所述的计算设备,其中,将所述多个应用程序中的每一个对所述快闪存储器的所述相应磁盘访问使用与所述相应特定于应用程序的磁盘访问过度使用阈值相比较,以确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用,包括:
将所述应用程序对所述快闪存储器的磁盘访问使用和与所述应用程序相关联的磁盘访问过度使用阈值相比较;以及
响应于确定所述应用程序对所述快闪存储器的所述磁盘访问使用超过与所述应用程序相关联的所述磁盘访问过度使用阈值,确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用。
13.根据权利要求12所述的计算设备,其中所述一个或多个处理器进一步被配置成:
确定所述应用程序的应用程序状态;以及
至少部分地基于所述应用程序的所述应用程序状态而从与所述应用程序相关联的多个磁盘访问过度使用阈值中确定与所述应用程序相关联的所述磁盘访问过度使用阈值。
14.根据权利要求12所述的计算设备,其中所述一个或多个处理器进一步被配置成:
确定所述计算设备的操作模式;以及
至少部分地基于所述计算设备的所述操作模式而从与所述应用程序相关联的多个磁盘访问过度使用阈值中确定与所述应用程序相关联的所述磁盘访问过度使用阈值。
15.根据权利要求11所述的计算设备,其中:
所述多个应用程序中的每一个对所述相应特定于应用程序的磁盘访问过度使用阈值与特定时间段相关联;以及
所述多个应用程序中的每一个对所述快闪存储器的所述相应磁盘访问使用是所述多个应用程序中的每一个在所述指定时间段内对所述快闪存储器的所述相应磁盘访问使用。
16.根据权利要求11所述的计算设备,其中,确定所述多个应用程序中的每一个对所述计算设备的所述快闪存储器的所述相应磁盘访问使用,包括:
确定系统范围的磁盘访问过度使用情况的发生;以及
响应于确定所述系统范围的磁盘访问过度使用情况的所述发生,确定所述多个应用程序中的每一个对所述计算设备的所述快闪存储器的所述相应磁盘访问使用。
17.根据权利要求16所述的计算设备,其中,确定所述系统范围的磁盘访问过度使用情况的所述发生,包括:
确定所述快闪存储器的聚合磁盘使用量在指定时间量内超过指定阈值,以及
响应于确定所述快闪存储器的所述聚合磁盘使用量在所述指定时间量内超过所述指定阈值,确定所述系统范围的磁盘访问过度使用情况的所述发生。
18.根据权利要求11所述的计算设备,其中,终止所述应用程序包括:
响应于确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用,确定所述计算设备的显示器被关闭;以及
响应于确定所述计算设备的所述显示器被关闭,终止所述应用程序。
19.根据权利要求11所述的计算设备,其中,终止所述应用程序包括:
响应于确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用,确定所述计算设备的显示器没有被关闭;
响应于确定所述计算设备的所述显示器没有被关闭,确定所述应用程序不是前台应用程序;以及
响应于确定所述应用程序不是所述前台应用程序,终止所述应用程序。
20.一种其上存储有指令的非暂时性计算机可读存储介质,所述指令在执行时使计算设备的一个或多个处理器:
确定多个应用程序中的每一个对所述计算设备的快闪存储器的相应磁盘访问使用;
将所述多个应用程序中的每一个对所述快闪存储器的所述相应磁盘访问使用与相应特定于应用程序的磁盘访问过度使用阈值相比较,以确定所述多个应用程序中的应用程序对所述快闪存储器的磁盘访问过度使用;以及
响应于确定所述应用程序对所述快闪存储器的所述磁盘访问过度使用,终止所述应用程序。
CN202211316842.9A 2021-10-26 2022-10-26 快闪存储器使用管理 Pending CN115543210A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/511,036 2021-10-26
US17/511,036 US11966588B2 (en) 2021-10-26 2021-10-26 Flash memory usage management

Publications (1)

Publication Number Publication Date
CN115543210A true CN115543210A (zh) 2022-12-30

Family

ID=83438272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211316842.9A Pending CN115543210A (zh) 2021-10-26 2022-10-26 快闪存储器使用管理

Country Status (5)

Country Link
US (1) US11966588B2 (zh)
EP (1) EP4174662A1 (zh)
JP (1) JP2023064719A (zh)
KR (1) KR20230059732A (zh)
CN (1) CN115543210A (zh)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8635630B2 (en) 2010-10-25 2014-01-21 Microsoft Corporation Application lifetime management
JP5708049B2 (ja) 2011-03-07 2015-04-30 株式会社リコー 情報処理装置、制御方法、制御プログラム、及び記録媒体
US9026720B2 (en) 2013-02-07 2015-05-05 Apple Inc. Non-volatile memory monitoring
US9569120B2 (en) 2014-08-04 2017-02-14 Nvmdurance Limited Adaptive flash tuning
JP6699653B2 (ja) * 2015-02-26 2020-05-27 日本電気株式会社 処理装置、処理装置の制御方法、及び、記録媒体
US9983887B2 (en) 2015-06-05 2018-05-29 Apple Inc. Memory management of data processing systems
US10235057B2 (en) 2015-09-04 2019-03-19 Western Digital Technologies, Inc. Operating parameters for flash memory devices
US10264064B1 (en) * 2016-06-09 2019-04-16 Veritas Technologies Llc Systems and methods for performing data replication in distributed cluster environments
US11481261B1 (en) * 2016-09-07 2022-10-25 Pure Storage, Inc. Preventing extended latency in a storage system
US20180129537A1 (en) * 2016-11-10 2018-05-10 Microsoft Technology Licensing, Llc Managing memory usage using soft memory targets
KR20180076058A (ko) * 2016-12-27 2018-07-05 에이치피프린팅코리아 주식회사 화상 형성 장치에서 실행되는 가상 머신의 동작 환경을 최적화하는 화상 형성 장치 및 방법
US10649889B2 (en) 2017-06-04 2020-05-12 Apple Inc. Method and apparatus for managing kernel memory of data processing systems
US10600270B2 (en) * 2017-08-28 2020-03-24 Ford Global Technologies, Llc Biometric authentication for a vehicle without prior registration
JP2020062759A (ja) 2018-10-15 2020-04-23 キヤノン株式会社 画像形成装置、制御方法、およびプログラム
JP7211279B2 (ja) 2019-06-26 2023-01-24 株式会社Jvcケンウッド ドライブレコーダ、データ記録方法およびプログラム

Also Published As

Publication number Publication date
EP4174662A1 (en) 2023-05-03
KR20230059732A (ko) 2023-05-03
US20230131825A1 (en) 2023-04-27
US11966588B2 (en) 2024-04-23
JP2023064719A (ja) 2023-05-11

Similar Documents

Publication Publication Date Title
US11059435B2 (en) Vehicle software control device
JP6011379B2 (ja) 改竄検知システム、電子制御ユニット
US11405234B2 (en) Extensible mapping for vehicle system buses
CN115495159A (zh) 芯片多硬件域启动方法及装置
US11853103B2 (en) Vehicular device
CN117632570B (zh) 基于多核异构soc的多操作系统诊断方法、装置和系统
CN106663009B (zh) 操作系统启动加速
US11966588B2 (en) Flash memory usage management
CN110857065B (zh) 用于控制车辆显示器的装置、具有该装置的系统及其方法
US20220083346A1 (en) Information processing apparatus and information processing method
CN113791839A (zh) 一种控制方法、装置、设备及存储介质
CN113791840A (zh) 一种管理系统、管理方法、装置、设备及存储介质
US11403155B2 (en) Integration of vehicle manufacturer user management system with automotive operating system
WO2024035566A1 (en) Real-time cpu availability monitoring
JP7484746B2 (ja) 車両用装置、車両用システム
TWI816106B (zh) 用於機動車輛的使用者介面之控制裝置、機動車輛,以及用於操作針對使用者介面的控制裝置之方法
US20230052548A1 (en) Update management apparatus for vehicle and method thereof
US20240069928A1 (en) Network management for vehicle operating systems
US20230409370A1 (en) Signal processing device and display apparatus for vehicles including the same
CN110262522B (zh) 用于控制自动驾驶车辆的方法和装置
US20230406236A1 (en) Vehicle device
CN117434862A (zh) 一种舱驾融合系统、故障监测方法及相关设备
CN116302956A (zh) 开发调试车机系统的方法、装置、车辆及存储介质
CN118193067A (zh) 一种车载多屏幕组件的初始化方法和装置
CN118314641A (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