CN111465926A - 信息处理装置、信息处理方法和信息处理程序 - Google Patents
信息处理装置、信息处理方法和信息处理程序 Download PDFInfo
- Publication number
- CN111465926A CN111465926A CN201780097528.7A CN201780097528A CN111465926A CN 111465926 A CN111465926 A CN 111465926A CN 201780097528 A CN201780097528 A CN 201780097528A CN 111465926 A CN111465926 A CN 111465926A
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- information processing
- access
- storage area
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- 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/3037—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
历史存储区域(106)针对多个数据分别存储经由文件系统的访问次数。高速缓冲管理部(119)在产生不经由文件系统的针对多个数据的访问时,将在历史存储区域(106)中存储有根据多个数据的访问次数决定的阈值以上的访问次数的数据设定为覆盖禁止数据,高速缓冲到盘高速缓冲区域(108)。
Description
技术领域
本发明涉及信息处理装置、信息处理方法和信息处理程序。
背景技术
在一般的操作系统(OS)中,从存储器读出的数据被高速缓冲到内存(主要是DRAM:Dynamic Random Access Memory:动态随机存取存储器)。由此,在下次读出相同的数据时不需要访问存储器,使数据访问高速化。此外,高速缓冲到高速缓冲区域(以下也称作盘高速缓冲)的数据通过LeastRecentlyUsed等算法而丢弃。通过这种算法丢弃数据,由此,能够高效地使用高速缓冲区域。
在现有的OS中,根据I/O(Input/Output:输入/输出)预取的效率和内存使用状况的信息,对页面赋予优先顺位,由此选择要读出的盘块,使文件访问高速化(例如专利文献1)。
此外,还提出了如下方法:将工作状态的内存的状况记录在存储器中,在信息处理装置下次起动时使存储器中记录的内存的状况返回内存,由此,防止内存读出中的重复访问(例如专利文献2)。
进而,还提出了如下的高速缓冲的基本方式:在低速的存储器与CPU(CentralProcessing Unit:中央处理单元)之间配置高速的存储介质,将从低速的存储器读出的数据暂时存储到高速的存储介质(例如专利文献3)。
现有技术文献
专利文献
专利文献1:日本特许第4724362号
专利文献2:日本特许第6046978号
专利文献3:日本特开昭58-224491号公报
发明内容
发明要解决的课题
在现有技术中,以使用数据的主体和高速缓冲数据的主体相同为前提。因此,根据现有技术,在使用数据的主体和高速缓冲数据的主体不同的情况下,无法有效活用由与高速缓冲数据的主体不同的主体进行的数据读出历史。因此,在现有技术中,存在这种情况下无法有效地实现数据访问的高速化这样的课题。具体而言,在不经由由OS提供的文件系统而生成的盘高速缓冲中,无法活用经由文件系统的数据的读出历史。因此,经由文件系统的数据读出中频繁使用的高速缓冲数据可能在不经由文件系统的数据读出时被覆盖,产生性能劣化。
此外,在嵌入式平台中,多数情况下,存储有OS或应用程序(以下简称作应用)的区域是读出专用区域。因此,多数情况下,从信息处理装置的电源接通到应用起动为止的顺序是固定的。此外,多数情况下,访问存储器的数据块的位置和访问时刻也是决定论的。
在嵌入式平台中进行安全启动的情况下,在使用存储有应用的分区之前,需要验证构成应用的代码数据的完整性和真实性。因此,在OS起动并经由文件系统读出应用之前,需要完成构成应用的代码数据的完整性和真实性的验证。即,在分区的验证(构成应用的代码数据的完整性和真实性的验证)中,不经由文件系统而从设备驱动器直接读出应用的代码数据。因此,产生如下课题:分区的验证中读出的代码数据未包含在文件系统的盘高速缓冲中。
本发明的主要目的在于解决这种课题。更具体而言,本发明的目的在于,在产生经由文件系统的数据访问和不经由文件系统的数据访问的结构中,进行高效的高速缓冲管理。
用于解决课题的手段
本发明的信息处理装置具有:高速缓冲区域;访问次数存储区域,其针对多个数据分别存储经由文件系统的访问次数;以及高速缓冲管理部,其在产生不经由所述文件系统的针对所述多个数据的访问时,将在所述访问次数存储区域中存储有根据所述多个数据的访问次数决定的阈值以上的访问次数的数据设定为覆盖禁止数据,高速缓冲到所述高速缓冲区域。
发明效果
根据本发明,在产生经由文件系统的数据访问和不经由文件系统的数据访问的结构中,能够进行高效的高速缓冲管理。
附图说明
图1是示出实施方式1的信息处理装置的硬件结构例的图。
图2是示出实施方式1的信息处理装置的功能结构例的图。
图3是示出实施方式1的历史存储区域的结构例的图。
图4是示出实施方式1的盘高速缓冲区域的结构例的图。
图5是示出实施方式2的信息处理装置的功能结构例的图。
图6是示出实施方式2的历史存储区域的结构例的图。
图7是示出实施方式3的信息处理装置的功能结构例的图。
图8是示出实施方式1的信息处理装置的动作例的流程图。
图9是示出实施方式1的信息处理装置的动作例的流程图。
图10是示出实施方式1的信息处理装置的动作例的流程图。
图11是示出实施方式1的信息处理装置的动作例的流程图。
图12是示出实施方式1的信息处理装置的动作例的流程图。
图13是示出实施方式1的信息处理装置的动作例的流程图。
具体实施方式
下面,使用附图对本发明的实施方式进行说明。在以下的实施方式的说明和附图中,标注有相同标号的部分表示相同的部分或相当的部分。
实施方式1
***结构的说明***
在本实施方式中,对解决在嵌入式平台中应用安全启动时产生的课题的结构进行说明。更具体而言,对如下结构进行说明:能够利用不经由文件系统的来自存储器的读出作为文件系统的盘高速缓冲,对该盘高速缓冲的丢弃算法应用决定论的方法,由此,能够进行高效的高速缓冲管理。
图1示出本实施方式的信息处理装置100的硬件结构例。
本实施方式的信息处理装置100是计算机。
如图1所示,信息处理装置100作为硬件具有处理器101、RAM(Random AccessMemory:随机存取存储器)103、存储器104和I/O(Input/Output:输入/输出)装置105。这些处理器101、RAM103、存储器104和I/O装置105利用总线102连接。
处理器101是进行信息处理装置100的控制的运算装置。处理器101例如是CPU(Central Processing Unit:中央处理单元)。信息处理装置100也可以具有多个处理器101。
RAM103是存储处理器101上正在执行的程序、堆栈、变量等的易失性存储装置。
存储器104是存储程序或数据等的非易失性存储装置。存储器104例如是eMMC(embedded Multi Media Card:嵌入式多媒体存储卡)。
I/O装置105是用于连接显示器或键盘等外部设备的接口。
在本实施方式中,设处理器101、RAM103、存储器104和I/O装置105利用总线102连接,但是,也可以通过其他连接单元连接。
另外,由信息处理装置100进行的动作相当于信息处理方法和信息处理程序。
在存储器104存储有实现后述的验证程序110、应用111和操作系统112的功能的程序。这些实现验证程序110、应用111和操作系统112的功能的程序被加载到RAM102。然后,处理器101执行这些程序,进行后述的验证程序110、应用111和操作系统112的动作。
在图1中,示意地示出处理器101正在执行实现验证程序110、应用111和操作系统112的功能的程序的状态。
此外,表示验证程序110、应用111和操作系统112的处理结果的信息、数据、信号值和变量值中的至少任意一方存储在存储器104、RAM103和处理器101内的寄存器的至少任意一方。
此外,验证程序110、应用111和操作系统112也可以存储在磁盘、软盘、光盘、高密度盘、蓝光(注册商标)盘、DVD等移动记录介质中。
此外,信息处理装置100也可以通过处理电路实现。处理电路例如是逻辑IC(Integrated Circuit:集成电路)、GA(Gate Array:门阵列)、ASIC(Application SpecificIntegrated Circuit:面向特定用途的集成电路)、FPGA(Field-Programmable GateArray:现场可编程门阵列)。
另外,在本说明书中,将处理器101和处理电路的上位概念称作“处理线路”。
即,处理器101和处理电路分别是“处理线路”的具体例。
图2示出本实施方式的信息处理装置100的功能结构例。
在信息处理装置100中,操作系统112正在进行动作。此外,在操作系统112上,验证程序110和应用111正在进行动作。
验证程序110进行用于安全启动的验证。即,验证程序110进行应用111的完整性和真实性的验证。
在图2中,示出操作系统112的内部结构中的与文件系统有关的结构。
上位文件系统115和下位文件系统114构成对能够从应用111使用的文件访问进行抽象化而成的实际的文件系统。
上位文件系统115和下位文件系统114有时根据操作系统而被安装成一个文件系统。本实施方式的信息处理装置100能够以不依赖于文件系统的复用结构的方式实现。
设备驱动器113包含设备访问部116、块访问API(Application ProgrammingInterface:应用程序接口)部117、访问次数管理部118和高速缓冲管理部119。
设备访问部116访问作为设备的存储器104。
块访问API117是能够从下位文件系统114和验证程序110直接访问的API。
访问次数管理部118针对构成应用111的多个代码数据分别对经由上位文件系统115和下位文件系统114的访问次数进行计数。此外,访问次数管理部118根据每个代码数据的访问次数的计数结果决定访问次数的阈值。
访问次数管理部118计数出的访问次数和访问次数管理部118决定的阈值存储在存储器104的历史存储区域106中。
在产生不经由上位文件系统115和下位文件系统114的访问时,高速缓冲管理部119将阈值以上的访问次数存储在历史存储区域106中的代码数据设定为覆盖禁止数据,高速缓冲到盘高速缓冲区域108。具体而言,在验证程序110验证构成应用111的多个代码数据的完整性和真实性时,产生不经由上位文件系统115和下位文件系统114的访问。在验证程序110验证时,高速缓冲管理部119提取阈值以上的访问次数存储在历史存储区域106中的代码数据,将提取出的代码数据设定为覆盖禁止数据,高速缓冲到盘高速缓冲区域108。
此外,高速缓冲管理部119将历史存储区域106中存储的覆盖禁止数据的访问次数与覆盖禁止数据对应地写入到盘高速缓冲区域108。
进而,高速缓冲管理部119将小于阈值的访问次数存储在历史存储区域106中的代码数据高速缓冲到盘高速缓冲区域108而不覆盖覆盖禁止数据。
高速缓冲管理部119进行的处理相当于高速缓冲管理处理。
在RAM103上确保操作系统112利用的盘高速缓冲区域108。
盘高速缓冲区域108相当于高速缓冲区域。
存储器104包含有应用分区107、历史存储区域106和固件区域109。
在应用分区107存储有应用111的执行图像。
在历史存储区域106存储有访问次数管理部118计数出的每个代码数据的访问次数和访问次数管理部118决定的阈值。历史存储区域106相当于访问次数存储区域。
在固件区域109存储有操作系统112。
图3示出图2所示的历史存储区域106的结构例。
在历史存储区域106中,存在应用分区107的大小除以针对存储器104的访问中使用的块大小而得到的个数的记录120。各记录120对应于利用块大小分割应用111的执行图像而得到的代码数据。即,在图3的例子中,应用111的执行图像被分割成N个代码数据。
为了对各记录120分配编号,简便地示出偏置。因此,历史存储区域106仅存储有访问次数的值和阈值121。在本实施方式中,访问次数的1个记录的大小为1字节。但是,能够根据存储器104的容量,任意变更1个记录的大小。
阈值121具有与访问次数的1个记录相同的大小。即,在本实施方式中,阈值121的大小为1字节。如上所述,阈值121用于判定高速缓冲管理部119是否将代码数据设定为覆盖禁止数据。
图4示出图2所示的RAM103内的盘高速缓冲区域108的结构例。
记录122是高速缓冲数据125的记录。记录122可以连续,也可以不连续。
记录122的排列依赖于设备驱动器113对缓存的确保方法。本实施方式的信息处理装置100能够以不依赖于该设备驱动器113的缓存确保方法的方式实现。
在各记录122中存储有高速缓冲数据125、覆盖禁止标志123和参考计数124。
高速缓冲数据125是由高速缓冲管理部119高速缓冲的应用111的代码数据。
高速缓冲管理部119通过使覆盖禁止标志123有效,将高速缓冲数据125设定为覆盖禁止数据。
另外,覆盖禁止标志123能够判别有效/无效即可,因此,至少由1比特构成。
参考计数124是与历史存储区域106内的访问次数相同的值。因此,参考计数124需要与访问次数相同的大小。
***动作的说明***
接着,对本实施方式的信息处理装置100的动作例进行说明。
首先,参照图8和图9实施以下步骤:为了学习决定论的高速缓冲丢弃的数据,正常起动信息处理装置100,执行应用111。
当信息处理装置100起动时(步骤501),搭载着的操作系统112起动(步骤502)。
然后,在执行操作系统112的各种服务后,开始执行应用111(步骤503)。此时,加载器开始从存储器104读出应用111的执行图像(步骤504)。
在应用111的执行图像的读出中,上位文件系统115向下位文件系统114请求读出应用111的执行图像(步骤505)。接着,根据来自上位文件系统115的请求,下位文件系统114向块访问API部117请求读出应用111的执行图像(步骤506)。接着,根据来自下位文件系统114的请求,块访问API部117向设备访问部116请求读出应用111的执行图像(步骤507)。接着,设备访问部116计算存储器104的块编号(步骤508)。
接着,设备访问部116从存储器读出在步骤508中计算出的块编号的数据时,取得应用111的执行图像的一部分即代码数据(步骤509)。
此时,访问次数管理部118对历史存储区域106的与该块编号对应的偏置的访问次数120加上1(步骤510)。
此外,高速缓冲管理部119也可以将读出的代码数据高速缓冲到盘高速缓冲区域108。
另外,在应用111的读出未完成的情况下(步骤511:否),设备访问部116计算接着要读出的块编号(步骤512)。
然后,反复进行计算出的块编号的代码数据的读出和与该块编号对应的偏置的访问次数的相加(步骤509、510)。
当应用111的加载完成时,块访问API部117关闭(步骤512-516)。
以块访问API部117的关闭为契机,访问次数管理部118计算访问次数的阈值,将计算出的阈值作为阈值121写入到历史存储区域106(步骤517)。
更具体而言,访问次数管理部118按照访问次数的降序对历史存储区域106的记录120进行排序。然后,访问次数管理部118从访问次数较大的记录起依次选择与盘高速缓冲区域108中能够确保的块数的一半相同数量的记录120。然后,访问次数管理部118决定选择出的记录120的访问次数中最少的访问次数作为阈值。
例如,如果历史存储区域106的总记录数为20且盘高速缓冲区域108中能够确保的块数为20,则访问次数管理部118从20个记录中,按照访问次数从大到小的顺序选择10个记录。然后,访问次数管理部118决定选择出的10个记录的访问次数中最少的访问次数作为阈值。
访问次数管理部118理论上能够选择与盘高速缓冲区域108中能够确保的块数相同数量的记录。但是,当进行这种选择时,无法将新从存储器104读出的代码数据存储在盘高速缓冲区域108中,因此,在本实施方式中,选择与盘高速缓冲区域108中能够确保的块数的一半相同数量的记录。
接着,参照图10和图11对不经由上位文件系统115和下位文件系统114而从存储器104的应用分区107读出应用111的代码数据时的动作进行说明。
下面,对如下情况下的动作进行说明:在如安全启动那样,验证程序110验证应用111的完整性和真实性时,设备驱动器113不经由上位文件系统115和下位文件系统114而从应用分区107读出应用的代码数据。
在上位文件系统115和下位文件系统114能够使用存储器104的应用分区107之前,信息处理装置100起动时(步骤601),搭载着的操作系统112起动(步骤602)。
此外,验证程序110起动(步骤603)。
另外,在信息处理装置100起动时(步骤601),高速缓冲数据125未存储在盘高速缓冲区域108中。
接着,设备访问部116从应用分区107的开头的块读出代码数据(步骤604)。设备访问部116将读出的代码数据转送到高速缓冲管理部119,此外,通知该代码数据的块编号。
高速缓冲管理部119从历史存储区域106取得与从设备访问部116通知的块编号对应的偏置的访问次数(步骤606)。
接着,高速缓冲管理部119判定在步骤606中取得的访问次数是否为阈值121以上(步骤607)。
在步骤606中取得的访问次数为阈值121以上的情况下(步骤607:是),高速缓冲管理部119对盘高速缓冲区域108设定覆盖禁止的标志123,将该代码数据作为高速缓冲数据125写入到盘高速缓冲区域108(步骤608)。如上所述,通过设定覆盖禁止的标志123,该代码数据作为覆盖禁止数据进行处理。
此外,高速缓冲管理部119将历史存储区域106的访问次数的值作为参考计数124写入到盘高速缓冲区域108(步骤608)。
另一方面,在步骤606中取得的访问次数小于阈值121的情况下(步骤607:否),高速缓冲管理部119将该代码数据作为高速缓冲数据125写入到盘高速缓冲区域108(步骤609)。该情况下,未设定覆盖禁止的标志123,因此,该代码数据未作为覆盖禁止数据进行处理。
此外,高速缓冲管理部119将历史存储区域106的访问次数的值作为参考计数124写入到盘高速缓冲区域108(步骤609)。
接着,验证程序110验证在步骤606中读出的代码数据的完整性和真实性(步骤610)。
接着,设备访问部116使访问目的地的块编号增加1(步骤611)。
以后,反复进行步骤605~步骤611的动作,直到访问目的地的块编号超过应用分区107的总块数为止(步骤604、步骤612)。即,在应用分区107整体范围内反复进行步骤605~步骤611的动作。
一般而言,验证程序110设为对象的应用分区107比盘高速缓冲区域108的容量大,因此,较早的高速缓冲数据125被后读出的代码数据覆盖。
高速缓冲管理部119在将代码数据写入到盘高速缓冲区域108时,搜索覆盖禁止标志123不是有效的区域即能够覆盖的区域,在能够覆盖的区域写入代码数据。在能够覆盖的区域已经存储有代码数据的情况下,该代码数据被新的代码数据覆盖。
覆盖禁止标志123成为有效的区域的高速缓冲数据125(即覆盖禁止数据)保持在盘高速缓冲区域108中而不会被其他代码数据覆盖。
接着,参照图12和图13对经由上位文件系统115和下位文件系统114加载并执行应用111时的动作例进行说明。
在执行验证程序110后,接着开始执行应用111(步骤701)。
加载器开始从存储器104加载应用111的执行图像的加载作业,上位文件系统115开始读出(步骤702、703)。此时,判定读出对象块是否存在于盘高速缓冲区域108中(步骤704)。具体而言,进行图8的步骤505~509的步骤,高速缓冲管理部119判定在步骤509中计算出的块编号的代码数据是否存在于盘高速缓冲区域108中。
在读出对象代码数据存在于盘高速缓冲区域108中的情况下(步骤704:是),高速缓冲管理部119从盘高速缓冲区域108读出相应的高速缓冲数据125,将读出的高速缓冲数据125转送到加载器(步骤705)。具体而言,高速缓冲管理部119将从盘高速缓冲区域108读出的高速缓冲数据125转送到块访问API部117,然后,进行图9的步骤514和515的步骤。
此外,高速缓冲管理部119使读出的高速缓冲数据125的参考计数124减去1(步骤706)。
在使参考计数124减去1而得到的结果是参考计数124的值成为0的情况下(步骤707:是),高速缓冲管理部119开放相应的区域,能够使用该区域作为新的盘高速缓冲(步骤708)。即,在对高速缓冲数据进行了与图3所示的访问次数相当的次数的访问的情况下,高速缓冲管理部119使该高速缓冲数据无效。
另一方面,在步骤704中读出对象块未存在于盘高速缓冲区域108的情况下(步骤704:否),上位文件系统115从存储器104读出相应的代码数据,将读出的代码数据转送到加载器(步骤709)。具体而言,进行图8的步骤509和图9的步骤513~515的步骤。
如果加载完成(步骤710:是),则处理完成。
另一方面,在执行图像的加载未完成的情况下(步骤710:否),设备访问部116计算接着要访问的块编号(步骤711),反复进行从步骤704起的步骤。
***实施方式的效果的说明***
如上所述,在本实施方式中,维持而不覆盖通过安全启动这种不经由文件系统的数据访问而得到的高速缓冲数据中的、经由文件系统的数据访问中频繁访问的数据的高速缓冲数据。因此,在经由文件系统的数据访问时,能够利用高速缓冲数据高速地进行数据访问。
因此,根据本实施方式,在产生经由文件系统的数据访问和不经由文件系统的数据访问的结构中,能够进行高效的高速缓冲管理。
作为安全启动对象的分区是读出专用的,但是,在现有技术中,使用文件系统中安装的现有的高速缓冲丢弃算法,使用执行应用时的信息判定应该丢弃的高速缓冲数据。因此,在现有技术中,无法进行高效的高速缓冲数据的丢弃判定。
在本实施方式中,预先取得应用的执行记录,由此,能够掌握应用分区中频繁使用的块的学习以及直到丢弃针对该块的高速缓冲数据为止的读出次数。此外,在本实施方式中,通过掌握直到丢弃高速缓冲数据为止的读出次数,能够在读出次数到达规定数后丢弃相应的高速缓冲数据。由此,能够使用丢弃高速缓冲数据后的区域作为新的盘高速缓冲,能够高效利用盘高速缓冲。
实施方式2
在实施方式1中,说明了在应用为1个的情况下能够实现高速的数据读出和盘高速缓冲的高效利用的结构。在本实施方式中,对存在多个应用的情况下能够实现高速的数据读出和盘高速缓冲的高效利用的结构进行说明。
在本实施方式中,主要对与实施方式1的差异进行说明。
另外,以下未说明的事项与实施方式1相同。
***结构的说明***
图5示出本实施方式的信息处理装置100的功能结构例。
与图2相比,在图5中,存在3个应用(应用A134、应用B135、应用C136)。此外,存在3个应用分区(应用A分区130、应用B分区131、应用C分区132)。应用A134存储在应用A分区130中。应用B135存储在应用B分区131中。应用C136存储在应用C分区132中。
在图5中,设存在3个应用,但是,应用的数量是任意的。
此外,在图5中,代替历史存储区域106而存在历史存储区域133。
在历史存储区域133中,成为与3个应用对应的结构。
其他结构要素与图2所示的结构要素相同,因此省略说明。
图6示出历史存储区域133的结构例。
在图6的记录140中,在图3的记录120的结构的基础上增加分区编号。在图6中,为了简便,将分区编号表记为A、B和C,但是,在安装时利用数值表示分区编号是适当的。
分区编号:A对应于应用A分区130。分区编号:B对应于应用B分区131。分区编号:C对应于应用C分区132。
在本实施方式中,访问次数管理部118按照每个应用分区在对应的记录140中存储访问次数。
***动作的说明***
接着,对本实施方式的信息处理装置100的动作进行说明。
在本实施方式中,应用的起动顺序未定。因此,访问次数管理部118按照每个应用进行阈值121的计算。
即,按照每个应用进行图8和图9的处理,访问次数管理部118按照每个应用将各代码数据的访问次数存储在历史存储区域133中,按照每个应用,根据访问次数决定阈值121。
向历史存储区域133存储访问次数的存储方法和阈值121的决定方法本身与实施方式1所示的方法相同。在本实施方式中,针对3个应用分别记录访问次数,决定阈值121。
此外,在本实施方式中,高速缓冲管理部119在验证程序110进行验证时,按照每个应用提取阈值121以上的访问次数存储在历史存储区域106中的代码数据。然后,高速缓冲管理部119将提取出的代码数据设定为覆盖禁止数据,高速缓冲到盘高速缓冲区域108。
高速缓冲管理部119的动作本身与实施方式1所示的动作相同。在本实施方式中,高速缓冲管理部119针对3个应用分别进行阈值121和访问次数的比较,决定是否将提取出的代码数据设定为覆盖禁止数据。
***实施方式的效果的说明***
根据本实施方式,能够针对多个应用得到与实施方式1相同的效果。
此外,根据本实施方式,能够以应用分区的单位进行验证。因此,能够针对多个应用并行执行验证程序,能够使验证处理高速化。
实施方式3
在实施方式1中,历史存储区域位于存储器104上。但是,在应用分区的大小较大的情况下,针对存储器104的访问频度较多,因此,性能可能降低。在本实施方式中,对为了避免该情况而在设备驱动器113内高速缓冲历史存储区域的结构进行说明。在本实施方式的结构中,在针对历史存储区域的写入完成的时刻将历史存储区域的信息写回到存储器104,由此,能够抑制数据访问速度的降低。
在本实施方式中,主要对与实施方式1的差异进行说明。
另外,以下未说明的事项与实施方式1相同。
图7示出本实施方式的信息处理装置100的功能结构例。
在图7中,与图1相比,追加有历史存储区域(高速缓冲)150。
在图7中,为了容易理解,在设备驱动器113内示出历史存储区域(高速缓冲)150,但是,在物理上,历史存储区域(高速缓冲)150配置于RAM103的盘高速缓冲区域108中。
另外,由于制图上的理由,在图7中没有图示存储器104的内部结构,但是,在图7中,存储器104的内部结构也与图1相同。即,在图7中,在存储器104中也存在应用分区107、历史存储区域106和固件区域109。
接着,对本实施方式的信息处理装置100的动作例进行说明。
在本实施方式中,在操作系统112起动时,存储器104的历史存储区域106的信息被复制到盘高速缓冲区域108。由此,生成历史存储区域(高速缓冲)150。
访问次数管理部118在历史存储区域(高速缓冲)150中写入访问次数。此外,访问次数管理部118根据历史存储区域(高速缓冲)150中写入的访问次数计算阈值121。
在访问次数管理部118计算阈值121且应用111关闭后,将历史存储区域(高速缓冲)150的信息写回到存储器104的历史存储区域106。
如上所述,在本实施方式中,在内存上实现历史存储区域的高速缓冲区域,因此,能够避免针对存储器的频繁访问,能够抑制性能降低。
以上说明了本发明的实施方式,但是,也可以组合实施这些实施方式中的2个以上的实施方式。
或者,也可以部分地实施这些实施方式中的1个实施方式。
或者,也可以部分地组合实施这些实施方式中的2个以上的实施方式。
另外,本发明不限于这些实施方式,能够根据需要进行各种变更。
标号说明
100:信息处理装置;101:处理器;102:总线;103:RAM;104:存储器;105:I/O装置;106:历史存储区域;107:应用分区;108:盘高速缓冲区域;109:固件区域;110:验证程序;111:应用;112:操作系统;113:设备驱动器;114:下位文件系统;115:上位文件系统;116:设备访问部;117:块访问API部;118:访问次数管理部;119:高速缓冲管理部;130:应用A分区;131:应用B分区;132:应用C分区;133:历史存储区域;134:应用A;135:应用B;136:应用C;150:历史存储区域(高速缓冲)。
Claims (11)
1.一种信息处理装置,该信息处理装置具有:
高速缓冲区域;
访问次数存储区域,其针对多个数据分别存储经由文件系统的访问次数;以及
高速缓冲管理部,其在产生不经由所述文件系统的针对所述多个数据的访问时,将在所述访问次数存储区域中存储有根据所述多个数据的访问次数决定的阈值以上的访问次数的数据设定为覆盖禁止数据,高速缓冲到所述高速缓冲区域。
2.根据权利要求1所述的信息处理装置,其中,
所述高速缓冲管理部将在所述访问次数存储区域中存储有小于所述阈值的访问次数的数据高速缓冲到所述高速缓冲区域而不覆盖所述覆盖禁止数据。
3.根据权利要求1或2所述的信息处理装置,其中,
所述高速缓冲管理部与高速缓冲到所述高速缓冲区域的数据对应地,将所述访问次数存储区域中存储的访问次数写入到所述高速缓冲区域。
4.根据权利要求3所述的信息处理装置,其中,
在对高速缓冲到所述高速缓冲区域的数据进行了与所述访问次数相当的次数的经由所述文件系统的访问的情况下,所述高速缓冲管理部使高速缓冲到所述高速缓冲区域内的数据无效。
5.根据权利要求1所述的信息处理装置,其中,
在为了验证所述多个数据的完整性和真实性而产生不经由所述文件系统的针对所述多个数据的访问时,所述高速缓冲管理部将在所述访问次数存储区域中存储有所述阈值以上的访问次数的数据设定为所述覆盖禁止数据,高速缓冲到所述高速缓冲区域。
6.根据权利要求5所述的信息处理装置,其中,
所述访问次数存储区域针对构成应用程序的多个代码数据分别存储经由所述文件系统的访问次数,
在为了验证构成所述应用程序的所述多个代码数据的所述完整性和真实性而产生不经由所述文件系统的针对所述多个代码数据的访问时,所述高速缓冲管理部将在所述访问次数存储区域中存储有所述阈值以上的访问次数的代码数据设定为所述覆盖禁止数据,高速缓冲到所述高速缓冲区域。
7.根据权利要求6所述的信息处理装置,其中,
所述访问次数存储区域针对多个应用程序,按照每个应用程序,针对构成应用程序的多个代码数据分别存储经由所述文件系统的访问次数,
在为了验证所述完整性和真实性而产生不经由所述文件系统的针对所述多个应用程序的多个代码数据的访问时,所述高速缓冲管理部按照每个应用程序,将在所述访问次数存储区域中存储有所述阈值以上的访问次数的代码数据设定为所述覆盖禁止数据,高速缓冲到所述高速缓冲区域。
8.根据权利要求7所述的信息处理装置,其中,
所述高速缓冲管理部使用按照每个应用程序决定的阈值,按照每个应用程序,将在所述访问次数存储区域中存储有对应的阈值以上的访问次数的代码数据设定为所述覆盖禁止数据,高速缓冲到所述高速缓冲区域。
9.根据权利要求1所述的信息处理装置,其中,
所述信息处理装置的所述访问次数存储区域被设置于设备驱动器用的高速缓冲存储器中。
10.一种信息处理方法,其中,
具有高速缓冲区域、以及针对多个数据分别存储经由文件系统的访问次数的访问次数存储区域的计算机在产生不经由所述文件系统的针对所述多个数据的访问时,将在所述访问次数存储区域中存储有根据所述多个数据的访问次数决定的阈值以上的访问次数的数据设定为覆盖禁止数据,高速缓冲到所述高速缓冲区域。
11.一种信息处理程序,其中,
该信息处理程序使具有高速缓冲区域、以及针对多个数据分别存储经由文件系统的访问次数的访问次数存储区域的计算机执行如下的高速缓冲管理处理:在产生不经由所述文件系统的针对所述多个数据的访问时,将在所述访问次数存储区域中存储有根据所述多个数据的访问次数决定的阈值以上的访问次数的数据设定为覆盖禁止数据,高速缓冲到所述高速缓冲区域。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/045336 WO2019123519A1 (ja) | 2017-12-18 | 2017-12-18 | 情報処理装置、情報処理方法及び情報処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111465926A true CN111465926A (zh) | 2020-07-28 |
Family
ID=66993280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780097528.7A Withdrawn CN111465926A (zh) | 2017-12-18 | 2017-12-18 | 信息处理装置、信息处理方法和信息处理程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20200257630A1 (zh) |
JP (1) | JP6689471B2 (zh) |
CN (1) | CN111465926A (zh) |
DE (1) | DE112017008201B4 (zh) |
WO (1) | WO2019123519A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117234431B (zh) * | 2023-11-14 | 2024-02-06 | 苏州元脑智能科技有限公司 | 缓存管理方法、装置、电子设备及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4724362Y1 (zh) | 1969-06-22 | 1972-08-01 | ||
JPS58224491A (ja) | 1982-06-21 | 1983-12-26 | Fujitsu Ltd | デ−タ相関管理処理方式 |
ATE23106T1 (de) | 1983-01-20 | 1986-11-15 | Cimber Hugo | Okklusivpessar. |
JPH06124239A (ja) * | 1992-10-13 | 1994-05-06 | Kawasaki Steel Corp | キャッシュメモリの常駐データ制御装置 |
JP3111912B2 (ja) * | 1996-11-29 | 2000-11-27 | 日本電気株式会社 | ディスクキャッシュ制御方式 |
JP2002099465A (ja) * | 2000-09-25 | 2002-04-05 | Hitachi Ltd | キャッシュ制御方法 |
US6910106B2 (en) | 2002-10-04 | 2005-06-21 | Microsoft Corporation | Methods and mechanisms for proactive memory management |
JP2008026970A (ja) * | 2006-07-18 | 2008-02-07 | Toshiba Corp | ストレージ装置 |
US20120047330A1 (en) | 2010-08-18 | 2012-02-23 | Nec Laboratories America, Inc. | I/o efficiency of persistent caches in a storage system |
JP6046978B2 (ja) | 2012-10-26 | 2016-12-21 | キヤノン株式会社 | 情報処理装置およびその方法 |
JP6106028B2 (ja) | 2013-05-28 | 2017-03-29 | 株式会社日立製作所 | サーバ及びキャッシュ制御方法 |
-
2017
- 2017-12-18 US US16/652,945 patent/US20200257630A1/en not_active Abandoned
- 2017-12-18 CN CN201780097528.7A patent/CN111465926A/zh not_active Withdrawn
- 2017-12-18 WO PCT/JP2017/045336 patent/WO2019123519A1/ja active Application Filing
- 2017-12-18 DE DE112017008201.3T patent/DE112017008201B4/de not_active Expired - Fee Related
- 2017-12-18 JP JP2019559884A patent/JP6689471B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPWO2019123519A1 (ja) | 2020-04-02 |
DE112017008201B4 (de) | 2022-02-24 |
DE112017008201T5 (de) | 2020-07-30 |
JP6689471B2 (ja) | 2020-04-28 |
US20200257630A1 (en) | 2020-08-13 |
WO2019123519A1 (ja) | 2019-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9928167B2 (en) | Information processing system and nonvolatile storage unit | |
KR101469512B1 (ko) | 외부 컴퓨팅 디바이스의 성능 향상을 위한 어댑티브 메모리 시스템 | |
KR100526186B1 (ko) | 플래시 메모리의 오류블록 관리방법 및 장치 | |
US8850105B2 (en) | Method for controlling memory system, information processing apparatus, and storage medium | |
EP1939751A1 (en) | Storing compressed data | |
KR102434170B1 (ko) | 하이브리드 메모리 시스템 | |
KR102443600B1 (ko) | 하이브리드 메모리 시스템 | |
US20180181337A1 (en) | Techniques for compression memory coloring | |
CN111837111A (zh) | 用于存储有界指针的装置和方法 | |
KR20080017292A (ko) | 내장 시스템들을 위한 저장 아키텍쳐 | |
JP2008530656A (ja) | データ転送中にキャッシュへのアクセスを制限するシステムおよびその方法 | |
US9600209B2 (en) | Flash storage devices and methods for organizing address mapping tables in flash storage devices | |
US20130086307A1 (en) | Information processing apparatus, hybrid storage apparatus, and cache method | |
US11714656B2 (en) | Memory system executing loading of software at startup and control method | |
WO2015145932A1 (ja) | 不揮発性メモリ装置 | |
KR102315532B1 (ko) | 바이너리 난수 주입을 통한 메모리 공유 기반 부채널 공격 방어 방법 | |
KR102443593B1 (ko) | 하이브리드 메모리 시스템 | |
US8806146B2 (en) | Method and system to accelerate address translation | |
CN111465926A (zh) | 信息处理装置、信息处理方法和信息处理程序 | |
CN110196819B (zh) | 内存访问方法与硬件 | |
CN116225332A (zh) | 存储管理方法、存储装置及嵌入式芯片 | |
US20180165219A1 (en) | Memory system and method for operating the same | |
CN113722131A (zh) | 用于促进存储设备中的快速崩溃恢复的方法和系统 | |
US10719461B2 (en) | Solid state device with distributed bit buckets | |
US20210191851A1 (en) | System and method for facilitating reduction of latency and mitigation of write amplification in a multi-tenancy storage drive |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200728 |