CN114493069A - 基于对话类型的快取管理方法及系统 - Google Patents
基于对话类型的快取管理方法及系统 Download PDFInfo
- Publication number
- CN114493069A CN114493069A CN202110057228.4A CN202110057228A CN114493069A CN 114493069 A CN114493069 A CN 114493069A CN 202110057228 A CN202110057228 A CN 202110057228A CN 114493069 A CN114493069 A CN 114493069A
- Authority
- CN
- China
- Prior art keywords
- cache
- session
- priority
- line
- block
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 55
- 230000015654 memory Effects 0.000 claims abstract description 26
- 238000004519 manufacturing process Methods 0.000 description 19
- 238000000034 method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000007689 inspection Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000000206 photolithography Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
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/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06313—Resource planning in a project environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- Mathematical Physics (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Biodiversity & Conservation Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Manufacturing & Machinery (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种基于对话类型的快取管理方法及系统。快取存储器包括多个快取区块。快取管理器的一使用记录表记录每一快取区块的一优先权。快取管理方法包括以下步骤。接收一第一对话发送的载入一第一数据区块的要求。第一对话具有一第一对话类型,且第一对话类型对应于一第一优先权。根据使用记录表指派优先权低于第一优先权的一快取区块给第一对话。载入第一数据区块至被指派的快取区块。将使用记录表中对应于被指派的快取区块的优先权更新为第一优先权。
Description
技术领域
本发明涉及一种快取管理方法及系统,且特别涉及一种基于对话类型(sessiontype)的快取管理方法及系统。
背景技术
在制造业中,制造过程包含多个阶段,为了提升产能及产品良率,通常会通过量测、计算与控制反馈来对制造过程的各个阶段进行调整。随着制造数字化的提升以及工艺的演进,量测数据量庞大、控制规则也日趋复杂。也就是说,在制造过程中必须经过大量的数据运算。进一步来说,数据运算的效能可直接影响产能及产品良率。
在目前的技术中,通常通过快取存储器与数据运算加速单元进行数据交握及运算,来提升数据运算的效能。然而,快取存储器有限且昂贵,因此必须针对快取存储器进行更有效率的管理,来改善数据运算的效能。
发明内容
本发明涉及一种基于对话类型的快取管理方法及系统,其根据对话类型对应的优先权及使用记录表对快取存储器进行管理,来提升数据运算的效能。
根据本发明的一实施例,提出一种基于对话类型的快取管理方法。快取存储器包括多个快取区块。快取管理器的一使用记录表记录每一快取区块的一优先权。快取管理方法包括以下步骤。接收一第一对话发送的载入一第一数据区块的要求。第一对话具有一第一对话类型,且第一对话类型对应于一第一优先权。根据使用记录表指派优先权低于第一优先权的一快取区块给第一对话。载入第一数据区块至被指派的快取区块。将使用记录表中对应于被指派的快取区块的优先权更新为第一优先权。
根据本发明的另一实施例,提出一种基于对话类型的快取管理系统,可与一应用程序建立具有一第一对话类型的一第一对话。且第一对话类型对应于一第一优先权。快取管理系统包括一数据源、一快取存储器及一快取管理器。数据源存储多个数据区块。快取存储器具有多个快取区块。快取管理器可对快取区块进行指派,并具有一使用记录表,使用记录表记录每一快取区块的一优先权。且快取管理器经配置以执行以下步骤。当接收到第一对话发送的载入一第一数据区块的要求时,快取管理器根据使用记录表,指派优先权低于第一优先权的一快取区块给第一对话。从数据源载入第一数据区块至被指派的快取区块。将使用记录表中对应于被指派的快取区块的优先权更新为第一优先权。
附图说明
图1绘示根据本发明一实施例的制造业的制造流程的示意图;
图2绘示根据本发明一实施例的基于对话类型的快取管理系统的示意图;
图3绘示根据本发明一实施例的基于对话类型的快取管理方法的流程图;及
图4绘示根据本发明一实施例的步骤S180的子步骤的流程图。
图5绘示根据本发明另一实施例的基于对话类型的快取管理系统的示意图。
图6绘示根据本发明另一实施例的基于对话类型的快取管理方法的流程图。
【符号说明】
100:快取管理系统
110:应用程序
120:快取管理器
130:快取存储器
140:数据源
150:数据运算单元
URT:使用记录表
RRT:对话要求记录表
S1:第一对话
S2:第二对话
L1,L2,L3,L4,L5:快取区块
D1,D2,D3,D4,D5,D6,D7:数据区块
F:工厂
LN1,LN2:产线
C1,C2,C3:工作站
BF,BF1:缓冲区
EP1:设备
INS1:测量量测机台
S110,S120,S130,S140,S150,S160,S170,S180,190,S181,S182,S183,S184,S185,S186,S187,S210,S220,S230,S240:步骤
具体实施方式
请参照图1,其绘示根据本发明一实施例的制造业的制造流程的示意图。工厂F包括多条产线LN1、LN2…。每条产线包括多个工作站,例如产线LN1包括工作站C1、C2、C3…。每条产线具有产线的缓冲区,用以存放产线生产的产品,例如产线LN1具有缓冲区BF。每个工作站可由一设备、一量测机台及工作站的一缓冲区所组成,例如工作站C1由设备EP1、量测机台INS1、工作站的缓冲区BF1组成。工作站的缓冲区用以存放工作站的产出。
在制造流程中,产线上不同范围内的数据运算具有不同的时效性需求,依照不同的时效性需求可分为in-line、on-line、at-line及off-line四种类型,其中与设备内部相关的数据运算为in-line、与工作站相关的数据运算为on-line、与产线相关的数据运算为at-line、与工厂相关的数据运算为off-line,并且实时性需求从强到弱依序为in-line、on-line、at-line及off-line。以实际制造场域为例,in-line可以是涉及单一加工机在执行加工时的检测信息,例如半导体加工CMP(Chemical Mechanical Planarization)工艺的R2R(Run-to-Run Control)检测,当下加工机依据R2R检测数据判断是否调整加工机的加工参数,其实时性需求强;on-line可以是涉及单一加工机的输出品的检测信息,例如黄光工艺后,使用迭对量测(Overlay measurement)机台,检测黄光工艺后的迭对质量,据以判断是否进行下一阶段加工或判断是否暂停晶圆传输盒(FOUP,Front Open Unit Pod)的输送以进一步检测,其实时性需求较in-line弱;at-line可以是涉及阶段性成品的检测信息,例如在金属手机机壳加工产线,使用三次元量测对完成初雕工序的物料进行关键尺寸抽检,据以判断该批物料是否可进入到精雕工序,其实时性需求较on-line弱;off-line可以是涉及对最终加工成品的检测信息,例如加工完成的晶圆的瑕疵检测,据以判断成品是否合格,其实时性需求较at-line弱。
请参照图2,其绘示根据本发明一实施例的基于对话类型的快取管理系统100的示意图。快取管理系统100可与一应用程序110建立至少一对话,快取管理系统100包括一快取管理器120、一快取存储器130、一数据源140及一数据运算单元150。快取存储器130具有多个快取区块L1、L2、L3、L4、L5…。数据源140存储多个数据区块D1、D2、D3、D4、D5、D6、D7…。数据区块D1、D2、D3、D4、D5、D6、D7…可被载入至快取存储器130的快取区块L1、L2、L3、L4、L5…。快取管理器120具有一使用记录表URT。在本实施例中,该快取存储器130例如可以是静态随机存取存储器(SRAM,Static Random Access Memory),而该数据源140例如可以是硬盘、一文件或一数据库;此外,该应用程序110例如可以是由工厂管理平台所执行;该数据运算单元150例如可以是一芯片、一电路、一图形处理器(GPU,Graphics ProcessingUnit)、现场可编程逻辑门阵列(FPGA,Field Programmable Gate Array)或GPU数据库(GPUDatabase);该快取管理器120例如可以是管理存储器的驱动程序或应用程序。
应用程序110可建立具有一对话类型(session type))的对话以要求载入数据区块,在本实施例中,应用程序110建立了第一对话S1及第二对话S2。对话类型与数据运算的实时性需求相关,在本实施例中,对话类型可以为in-line、on-line、at-line及off-line其中之一。每种对话类型对应于不同的优先权,且对话类型对应的优先权从高至低依序为in-line、on-line、at-line及off-line。快取管理器120可根据对话的对话类型及使用记录表URT指派快取区块中之一给对话,例如快取管理器120可根据第一对话S1的对话类型及使用记录表URT指派快取区块中之一给第一对话S1。数据运算单元150存取被指派的快取区块取得要求的数据区块进行运算,并将运算结果回传至对话,例如将运算结果回传至第一对话S1。
请参照表一,表一为根据本发明一实施例的使用记录表URT。使用记录表URT具有多个字段以记录每一快取区块L1、L2、L3、L4、L5…的相关信息。使用记录表URT的区块(Block)字段用以记录与指示快取区块存储的数据区块,例如在使用记录表URT中,快取区块L1的区块(Block)字段记录为N/A表示快取区块L1未存储数据区块,及例如在使用记录表URT中,快取区块L2的区块(Block)字段记录“D1”表示快取区块L1存储数据区块D1。使用记录表URT的锁定(Locked)字段用以记录快取区块被指派给几个对话且数据运算单元150正在使用此快取区块进行运算,例如表一的使用记录表URT显示快取区块L3被指派给2个对话且数据运算单元150正在使用快取区块L3进行运算。使用记录表URT的优先权(Priority)字段用以记录使用过快取区块存储的数据的对话中具有最高优先权的对话类型,例如使用过快取区块L4存储的数据的对话中具有最高优先权的对话类型为off-line。使用记录表URT的对话数量(Session)字段用以记录正在使用快取空间的对话的数量,例如正在使用快取区块L5的对话的数量为1。使用记录表URT的到期(Expired)字段用以记录快取区块最后被锁定的时间,例如快取区块L4最后被锁定的时间为T2。在本文中,时间的先后依序以T1、T2、T3…来表示,以此类推。
表一
图3绘示根据本发明一实施例的基于对话类型的快取管理方法的流程图,并请参照图2及3以及表一。本实施例的快取管理方法的步骤说明如下:执行步骤S110,应用程序110建立一第一对话S1,并且第一对话S1发出存取一数据区块的要求。第一对话S1具有一第一对话类型(on-line),且第一对话类型(on-line)对应于一第一优先权。
执行步骤S120,快取管理器120接收第一对话S1发送的载入数据区块的要求。
执行步骤S130,快取管理器120根据使用记录表URT判断第一对话S1要求的数据区块是否已存储在快取存储器130中。当第一对话S1要求的数据区块已存在快取存储器中时,执行步骤S140;当第一对话S1要求的数据区块不存在快取存储器130中时,执行步骤S180。
举例来说,在第一对话S1要求数据区块D4的情况下,快取管理器120根据表一所示的使用记录表URT的区块字段,判断数据区块D4存储在快取存储器130的快取区块L3中,也就是使用记录表URT中快取区块L3的区块字段记录为“D4”,因此判断第一对话S1要求的数据区块存在快取存储器130,进一步执行步骤S140。在步骤S140中,快取管理器120指派存储第一对话S1要求的数据区块D4的快取区块L3给第一对话S1。
接着执行步骤S150,数据运算单元150从被指派的快取区块L3取得数据区块D4并进行运算,且快取管理器120更新使用记录表URT的锁定字段、到期字段、对话数量字段及优先权字段。举例来说,经快取管理器120更新后的使用记录表URT如表二所示。在表二中,快取管理器120将使用记录表URT中对应于被指派的快取区块L3的锁定字段从2更新为3、优先权字段由at-line更新为优先权较高的第一对话S1对应的第一对话类型(on-line)、对话数量字段由3更新为4、到期字段由T3更新为最后锁定时间T4。换句话说,当快取管理器120指派快取区块L3给第一对话S1时,第一对话S1通知数据运算单元150至快取区块L3取用数据,并且快取管理器120锁定快取区块L3并将使用记录表URT中对应于被指派的快取区块L3的锁定字段加1、到期字段更新为最后锁定时间、对话数量字段加1,及在第一对话S1的第一对话类型(on-line)的优先权较表一记录的对话类型(at-line)的优先权高的情况下,将优先权字段更新为第一对话类型(on-line)。在另一实施例中,若第一对话S1的第一对话类型为at-line或off-line,其对应的第一优先权未高于表一记录的快取区块L3的优先权(at-line),则在此步骤S150中使用记录表URT的优先权字段不会被更新。
表二
执行步骤S160,数据运算单元150将运算结果回传至第一对话S1,快取管理器120更新使用记录表URT的锁定字段。举例来说,快取管理器120更新表二所示的使用记录表URT中快取区块L3的锁定字段,而更新后的使用记录表URT如表三所示。在表三中,快取区块L3的锁定字段由3更新为2。换句话说,当数据运算单元150将运算结果回传至第一对话S1而结束使用快取区块L3的运算后,快取管理器120将使用记录表URT中对应于快取区块L3的锁定字段减1。
表三
执行步骤S170,应用程序110结束第一对话S1,快取管理器120更新使用记录表URT的对话数量字段。举例来说,应用程序110结束第一对话S1后,快取管理器120更新表三所示的使用记录表URT中快取区块L3的对话数量字段,而更新后的使用记录表URT如表四所示。在表四的使用记录表URT中,快取区块L3的对话数量字段由4更新为3,换句话说,第一对话S1结束后,快取管理器120将使用记录表URT中对应于快取区块L3的对话数量字段减1。在一实施例中,第一对话S1结束后,快取管理器120将使用记录表URT中对应于第一对话S1的每一快取区块的对话数量减1。在本实施例中,快取管理器120通过如表五所示的对话要求记录表RRT记录了第一对话S1要求的快取区块。在表五的对话要求记录表RRT中,第一对话S1要求过的数据区块包括数据区块D1及数据区块D4。因此,当第一对话S1结束后,快取管理器120根据如表五的对话要求记录表RRT,将表三的使用记录表URT中对应于第一对话S1的快取区块L2及快取区块L3的对话数量减1,更新后的使用记录表URT如表六所示。本实施例的对话要求记录表RRT是记录对话所要求的数据区块,然而对话要求记录表RRT也可以是记录快取区块,也就是存储对话要求的数据区块被指派的快取区块。
表四
表五
表六
另外,在步骤S110中,当第一对话S1要求存取数据区块D3时,快取管理器120根据表一所示的使用记录表URT判断数据区块D3未存在快取存储器130中,则执行步骤S180。由于要求的数据区块D3未存储在快取存储器130中,因此快取管理器120需指派一快取区块,并自数据源140将数据区块D3载入到指派的快取区块中,以提供给第一对话S1使用;当所有快取区块皆已被使用时,快取管理器120需先释放指派的快取区块再载入数据。
在步骤S180中,快取管理器120根据使用记录表URT指派一快取区块给第一对话S1。请参照图4,其绘示根据本发明一实施例的步骤S180的子步骤的流程图。本实施例的步骤S180包括步骤S181至S187,其中快取管理器120根据使用记录表URT从多个快取区块L1、L2、L3、L4、L5中指派一快取区块给第一对话S1。
执行步骤S181,快取管理器120根据使用记录表URT的区块字段判断是否存在空的快取区块。若使用记录表URT中存在空的快取区块,则执行步骤S186;若使用记录表URT中不存在空的快取区块,则执行步骤S182。举例来说,参考表一所示的使用记录表URT,当快取管理器120根据使用记录表URT的区块字段判断存在空的快取区块时,也就是快取区块L1,则执行步骤S186,快取管理器120指派快取区块L1给第一对话S1。在一实施例中,当快取管理器120判断存在空的快取区块,并且空的快取区块超过1个时,在步骤S186中快取管理器120是指派空的多个快取区块其中之一给第一对话S1。
在步骤S181中,若快取管理器120根据使用记录表URT的区块字段判断不存在空的快取区块时,如表七所示的使用记录表URT,则执行步骤S182。在步骤S182中,快取管理器120根据使用记录表URT的锁定字段判断是否存在未被锁定的快取区块。若存在未被锁定的快取区块,则执行步骤S183;若不存在未被锁定的快取区块,则执行步骤S187,快取管理器120发送要求失败(FAIL)讯息给第一对话S1。举例来说,参考表七的使用记录表URT,快取管理器120根据使用记录表URT的区块字段判断存在未被锁定的快取区块L1、L2、L5,则执行步骤S183。
表七
在步骤S183中,快取管理器120根据使用记录表URT的对话数量字段判断所有未被锁定的快取区块是否皆被对话使用中。若所有未被锁定的快取区块都被对话使用中,则执行步骤S185;若并非所有未被锁定的快取区块都被对话使用中,则执行步骤S184。举例来说,快取管理器120根据表七所示的使用记录表URT的对话数量字段,判断未被锁定的所有快取区块L1、L2、L5对应的对话数量字段皆大于0,也就是未被锁定的快取区块L1、L2、L5皆被对话使用中,则执行步骤S185。
在步骤S185中,快取管理器120根据使用记录表URT的优先权字段选择优先权低于第一对话类型对应的第一优先权的快取区块。举例来说,在表七所示的使用记录表URT中快取区块L1的优先权in-line未低于第一对话S1的第一对话类型(on-line)对应的第一优先权,且快取区块L2的优先权in-line未低于第一对话S1的第一对话类型(on-line)对应的第一优先权,而快取区块L5的优先权at-line低于第一对话S1的第一对话类型(on-line)对应的第一优先权,因此快取管理器120选择快取区块L5。接着,执行步骤S186,快取管理器120指派在步骤S185中选出的快取区块L5给第一对话S1。在一实施例中,执行步骤S185时,若优先权低于第一对话类型对应的优先权的快取区块超过1个,则快取管理器120从优先权低于第一对话类型对应的优先权的多个快取区块中选择任一快取区块,并在步骤S186中将其指派给第一对话S1。
参考表八所示的使用记录表URT,在步骤S183中,若快取管理器120根据使用记录表URT的对话数量字段,判断未被锁定的所有快取区块L1、L2、L5中并非皆被对话使用中,则执行步骤S184。在步骤S184中,快取管理器120根据使用记录表URT的到期字段,从非被对话使用中的快取区块中选择最后被锁定的时间离现在最久的快取区块。举例来说,快取管理器120根据使用记录表URT的到期字段从不是被对话正在使用的快取区块L1、L2中选择最后被锁定的时间离现在最久的快取区块L1。接着,在步骤S186中,快取管理器120指派快取区块L1给第一对话S1。
表八
接着执行步骤S190,快取管理器120释放在步骤S180中被指派的快取区块,并从数据源140载入要求的数据区块至被指派的快取区块。在步骤S190之后,接着依序执行步骤S150至S170。步骤S150至S170如前所述,在此不多赘述。
上述是以应用程序110建立第一对话S1,并且第一对话S1要求数据区块做说明,需要注意的是,第一对话S1可以多次发送要求以存取不同的数据区块,也就是对话可多次执行快取管理方法。在另一实施例中,应用程序110建立第一对话S1之后,应用程序110更可建立第二对话S2,并且第二对话S2要求一数据区块。第二对话S2具有一第二对话类型,且第二对话类型对应于一第二优先权。第二对话S2要求的数据区块可与第一对话S1要求的数据区块相同或不同,且第二对话S2的第二对话类型对应的第二优先权可与第一对话S1的第一对话类型对应的第一优先权相同或不同。另外,应用程序110可在第一对话S1结束之前或之后建立第二对话S2。此外,第二对话S2也可由另一应用程序所建立。本发明不以此为限制。在本实施例中,与第一对话类型类似地,第二对话类型可以是in-line、on-line、at-line及off-line其中之一。
请参照图5及6以及表九。图5绘示根据本发明另一实施例的基于对话类型的快取管理系统100的示意图。图6绘示根据本发明另一实施例的基于对话类型的快取管理方法的流程图。基于对话类型的快取管理系统100与应用程序110建立具有一第一对话类型的一第一对话S1,且第一对话类型对应于一第一优先权。快取管理系统100包括一快取管理器120、一快取存储器130及一数据源140。数据源140存储多个数据区块D1、D2、D3、D4、D5、D6、D7…。快取存储器130具有多个快取区块L1、L2、L3、L4、L5…。快取管理器120可对快取区块L1、L2、L3、L4、L5…进行指派,并具有一使用记录表URT,其如表九所示。使用记录表URT记录每一快取区块L1、L2、L3、L4、L5…的一优先权,且快取管理器120经配置以执行以下步骤。
表九
步骤S210,快取管理器120接收一第一对话S1发送的载入数据区块D3的要求,第一对话S1具有一第一对话类型(at-line),且第一对话类型(at-line)对应于一第一优先权。
步骤S220,快取管理器120根据使用记录表URT指派优先权低于第一优先权的一快取区块L4给第一对话S1。请参照表九,由于快取区块L4的优先权(off-line)低于第一对话类型(at-line)对应的第一优先权,因此快取管理器120指派快取区块L4给第一对话S1。
步骤S230,快取管理器120载入数据区块D3至被指派的快取区块L4。
步骤S240,快取管理器120将使用记录表URT中对应于被指派的快取区块L4的优先权更新为第一优先权。快取管理器120将使用记录表URT中对应于被指派的快取区块L4的优先权字段更新为at-line,更新后的使用记录表URT如表十所示。另外,快取管理器120也将使用记录表URT中对应于被指派的快取区块L4的锁定字段更新为1、对话数量字段更新为1、到期字段更新为最后锁定时间T4、区块字段更新为数据区块D3,如表十所示。
表十
本公开的基于对话类型的快取管理方法及快取管理系统,可根据对话类型对应的优先权及使用记录表对快取存储器进行管理,以使有高优先权的数据运算要求先取得运算资源且其存在快取存储器的时间较长,来提升数据存取与运算的效能。特别是应用在制造过程中,可依据数据及其运算的实时性需求的强弱来管理快取存储器,使量测、计算与控制反馈所需的数据运算符合产线运作的需求,降低因数据存取而发生产线的闲置或空耗,以提升产能。
综上所述,虽然本发明已以实施例公开如上,然其并非用以限定本发明。本发明所属领域技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视所附权利要求书界定范围为准。
Claims (20)
1.一种基于对话类型的快取管理方法,适用于快取管理器以存取快取存储器,其特征在于,该快取存储器包括多个快取区块,且该快取管理器的使用记录表记录每一这些快取区块的优先权,该快取管理方法包括:
接收第一对话发送的载入第一数据区块的要求,该第一对话具有第一对话类型,且该第一对话类型对应于第一优先权;
根据该使用记录表指派该优先权低于该第一优先权的快取区块给该第一对话;
载入该第一数据区块至被指派的该快取区块;以及
将该使用记录表中对应于被指派的该快取区块的该优先权更新为该第一优先权。
2.如权利要求1所述的快取管理方法,其中该第一对话类型为in-line、on-line、at-line或off-line。
3.如权利要求2所述的快取管理方法,其中in-line对应的优先权高于on-line对应的优先权,on-line对应的优先权高于at-line对应的优先权,且at-line对应的优先权高于off-line对应的优先权。
4.如权利要求1所述的快取管理方法,其中该使用记录表还记录每一这些快取区块的对话数量,该快取管理方法还包括:
将该使用记录表中对应于被指派的该快取区块的对话数量更新为1。
5.如权利要求4所述的快取管理方法,还包括:
结束该第一对话;以及
在结束该第一对话后,将该使用记录表中对应于该第一对话的每一快取区块的对话数量减1。
6.如权利要求1所述的快取管理方法,还包括:
接收第二对话发送的载入该第一数据区块的要求,该第二对话具有第二对话类型,且该第二对话类型对应于第二优先权;
根据该使用记录表指派存储该第一数据区块的该快取区块给该第二对话;以及
在该第二优先权高于该第一优先权的情况下,将该使用记录表中对应于被指派的该快取区块的优先权更新为该第二优先权。
7.如权利要求6所述的快取管理方法,其中该使用记录表还记录每一这些快取区块的对话数量,该快取管理方法还包括:
在指派存储该第一数据区块的该快取区块给该第二对话后,将该使用记录表中对应于被指派的该快取区块的对话数量加1。
8.如权利要求7所述的快取管理方法,还包括:
结束该第二对话;以及
在结束该第二对话后,将该使用记录表中对应于该第二对话的每一快取区块的对话数量减1。
9.如权利要求1所述的快取管理方法,其中该使用记录表还记录每一这些快取区块的对话数量,该快取管理方法还包括:
接收第二对话发送的载入第二数据区块的要求,该第二对话具有第二对话类型,该第二对话类型对应于第二优先权;
根据该使用记录表指派这些快取区块中对话数量为0的至少一快取区块中之一给该第二对话;
载入该第二数据区块至被指派给该第二对话的该快取区块;以及
将该使用记录表中对应于被指派给该第二对话的该快取区块的该对话数量加1。
10.如权利要求6或9所述的快取管理方法,其中该第二对话类型为in-line、on-line、at-line或off-line,并且in-line对应的优先权高于on-line对应的优先权,on-line对应的优先权高于at-line对应的优先权,且at-line对应的优先权高于off-line对应的优先权。
11.一种基于对话类型的快取管理系统,可与应用程序建立具有第一对话类型的第一对话,且该第一对话类型对应于第一优先权,其特征在于,该快取管理系统包括:
数据源,可存储多个数据区块;
快取存储器,具有多个快取区块;及
快取管理器,可对这些快取区块进行指派,并具有使用记录表,该使用记录表记录每一这些快取区块的优先权,且该快取管理器经配置以执行:
当接收到该第一对话发送的载入第一数据区块的要求时,该快取管理器根据该使用记录表,指派优先权低于该第一优先权的快取区块给该第一对话,
从该数据源载入该第一数据区块至被指派的该快取区块,及
将该使用记录表中对应于被指派的该快取区块的该优先权更新为该第一优先权。
12.如权利要求11所述的快取管理系统,其中该第一对话类型为in-line、on-line、at-line或off-line。
13.如权利要求12所述的快取管理系统,其中in-line对应的优先权高于on-line对应的优先权,on-line对应的优先权高于at-line对应的优先权,且at-line对应的优先权高于off-line对应的优先权。
14.如权利要求11所述的快取管理系统,其中该使用记录表还记录每一这些快取区块的对话数量,且该快取管理器经配置还执行:
将该使用记录表中对应于被指派的该快取区块的该对话数量更新为1。
15.如权利要求14所述的快取管理系统,其中该快取管理器经配置还执行:
在该应用程序结束该第一对话之后,将该使用记录表中对应于该第一对话的每一快取区块的对话数量减1。
16.如权利要求11所述的快取管理系统,其中该应用程序建立具有第二对话类型的第二对话,且该第二对话类型对应于第二优先权,该快取管理器经配置还执行:
当接收该第二对话发送的载入该第一数据区块的要求时,根据该使用记录表指派存储该第一数据区块的该快取区块给该第二对话;及
在该第二优先权高于该第一优先权的情况下,将该使用记录表中对应于被指派的该快取区块的优先权更新为该第二优先权。
17.如权利要求16所述的快取管理系统,其中该使用记录表还记录每一这些快取区块的对话数量,该快取管理器经配置还执行:
在指派存储该第一数据区块的该快取区块给该第二对话后,将该使用记录表中对应于被指派的该快取区块的对话数量加1。
18.如权利要求17所述的快取管理系统,其中该快取管理器经配置还执行:
在该应用程序结束该第二对话之后,将该使用记录表中对应于该第二对话的每一快取区块的对话数量减1。
19.如权利要求11所述的快取管理系统,其中该应用程序建立具有第二对话类型的第二对话,且该第二对话类型对应于第二优先权,且该使用记录表还记录每一这些快取区块的对话数量,该快取管理器经配置还执行:
当接收该第二对话发送的载入第二数据区块的要求时,根据该使用记录表指派这些快取区块中该对话数量为0的至少一快取区块中之一给该第二对话;
从该数据源载入该第二数据区块至被指派给该第二对话的该快取区块;及
将该使用记录表中对应于被指派给该第二对话的该快取区块的该对话数量加1。
20.如权利要求16或19所述的快取管理系统,其中该第二对话类型为in-line、on-line、at-line或off-line,并且in-line对应的优先权高于on-line对应的优先权,on-line对应的优先权高于at-line对应的优先权,且at-line对应的优先权高于off-line对应的优先权。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109139486 | 2020-11-12 | ||
TW109139486A TWI746261B (zh) | 2020-11-12 | 2020-11-12 | 基於對話類型的快取管理方法及系統 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114493069A true CN114493069A (zh) | 2022-05-13 |
Family
ID=79907511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110057228.4A Pending CN114493069A (zh) | 2020-11-12 | 2021-01-15 | 基于对话类型的快取管理方法及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11301385B1 (zh) |
CN (1) | CN114493069A (zh) |
TW (1) | TWI746261B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470671A (zh) * | 2008-01-16 | 2009-07-01 | 威盛电子股份有限公司 | 内存系统、内存存取方法以及图形处理系统 |
CN101539887A (zh) * | 2009-05-06 | 2009-09-23 | 美商威睿电通公司 | 快闪存储器管理方法与计算机系统 |
CN101661431A (zh) * | 2008-08-29 | 2010-03-03 | 群联电子股份有限公司 | 用于快闪存储器的区块管理方法、快闪储存系统及控制器 |
CN108763592A (zh) * | 2018-06-22 | 2018-11-06 | 四川华翼共享区块链科技有限公司 | 一种基于区块链的客机共享坐席数据管理更新方法 |
US20190310941A1 (en) * | 2018-04-04 | 2019-10-10 | Nxp B.V. | Secure speculative instruction execution in a data processing system |
CN110647288A (zh) * | 2018-06-26 | 2020-01-03 | 上海宝存信息科技有限公司 | 数据储存装置及其快取分流方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001038983A2 (en) * | 1999-11-22 | 2001-05-31 | Utstarcom, Inc. | Distributed cache synchronization protocol |
US7103735B2 (en) | 2003-11-26 | 2006-09-05 | Intel Corporation | Methods and apparatus to process cache allocation requests based on priority |
WO2010045109A1 (en) * | 2008-10-17 | 2010-04-22 | Azuki Systems, Inc. | Method and apparatus for efficient http data streaming |
US8959183B2 (en) * | 2010-01-27 | 2015-02-17 | Code Systems Corporation | System for downloading and executing a virtual application |
US20120054440A1 (en) * | 2010-08-31 | 2012-03-01 | Toby Doig | Systems and methods for providing a hierarchy of cache layers of different types for intext advertising |
US20210344771A1 (en) * | 2011-01-17 | 2021-11-04 | Brendon P. Cassidy | System and Method for Cloud Computing |
EP2869579B1 (en) * | 2012-07-02 | 2017-04-26 | Sony Corporation | Transmission apparatus, transmission method, and network apparatus for multi-view video streaming using a meta file including cache priority or expiry time information of said video streams |
US20140047183A1 (en) * | 2012-08-07 | 2014-02-13 | Dell Products L.P. | System and Method for Utilizing a Cache with a Virtual Machine |
US8874761B2 (en) * | 2013-01-25 | 2014-10-28 | Seven Networks, Inc. | Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols |
KR102047495B1 (ko) * | 2013-02-22 | 2019-11-21 | 삼성전자주식회사 | 클라이언트에서 캐시를 이용하여 서버의 멀티 미디어 컨텐트를 스트리밍 재생하는 방법 및 이를 위한 장치 |
US10642735B2 (en) * | 2013-03-15 | 2020-05-05 | Oracle International Corporation | Statement cache auto-tuning |
US20150186287A1 (en) * | 2013-12-30 | 2015-07-02 | Michael Henry Kass | Using Memory System Programming Interfacing |
US9792147B2 (en) | 2015-07-02 | 2017-10-17 | International Business Machines Corporation | Transactional storage accesses supporting differing priority levels |
US10255174B2 (en) * | 2016-11-30 | 2019-04-09 | Sap Se | Common cache pool for applications |
CN110019361B (zh) | 2017-10-30 | 2021-10-15 | 北京国双科技有限公司 | 一种数据的缓存方法及装置 |
JP6943790B2 (ja) * | 2018-03-05 | 2021-10-06 | 株式会社日立製作所 | セッション情報セットをキャッシュするサーバ、及び、セッション情報セットのキャッシュ制御方法 |
CN109032964A (zh) | 2018-07-02 | 2018-12-18 | 京东方科技集团股份有限公司 | 缓存替换方法及其装置、异构多核系统 |
US10909038B2 (en) * | 2018-12-30 | 2021-02-02 | Chengdu Haiguang Integrated Circuit Design Co. Ltd. | Cache management method, cache and storage medium |
-
2020
- 2020-11-12 TW TW109139486A patent/TWI746261B/zh active
- 2020-12-23 US US17/132,722 patent/US11301385B1/en active Active
-
2021
- 2021-01-15 CN CN202110057228.4A patent/CN114493069A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101470671A (zh) * | 2008-01-16 | 2009-07-01 | 威盛电子股份有限公司 | 内存系统、内存存取方法以及图形处理系统 |
CN101661431A (zh) * | 2008-08-29 | 2010-03-03 | 群联电子股份有限公司 | 用于快闪存储器的区块管理方法、快闪储存系统及控制器 |
CN101539887A (zh) * | 2009-05-06 | 2009-09-23 | 美商威睿电通公司 | 快闪存储器管理方法与计算机系统 |
US20190310941A1 (en) * | 2018-04-04 | 2019-10-10 | Nxp B.V. | Secure speculative instruction execution in a data processing system |
CN108763592A (zh) * | 2018-06-22 | 2018-11-06 | 四川华翼共享区块链科技有限公司 | 一种基于区块链的客机共享坐席数据管理更新方法 |
CN110647288A (zh) * | 2018-06-26 | 2020-01-03 | 上海宝存信息科技有限公司 | 数据储存装置及其快取分流方法 |
Also Published As
Publication number | Publication date |
---|---|
US11301385B1 (en) | 2022-04-12 |
TWI746261B (zh) | 2021-11-11 |
TW202219772A (zh) | 2022-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140006338A1 (en) | Big data analytics system | |
US9813490B2 (en) | Scheduled network communication for efficient re-partitioning of data | |
US6553553B2 (en) | Method of designing layout of semiconductor device | |
US7533139B2 (en) | Method and system for multithread processing of spreadsheet chain calculations | |
US20140181059A1 (en) | Batching content management operations to facilitate efficient database interactions | |
KR20150037367A (ko) | 캐시 메모리 시스템 및 그 동작방법 | |
US6549931B1 (en) | Distributing workload between resources used to access data | |
JP6418431B2 (ja) | 効率的な1対1結合のための方法 | |
EP3385867B1 (en) | Management of unique identifiers in a database | |
CN110291503A (zh) | 信息处理系统和信息处理方法 | |
CN114493069A (zh) | 基于对话类型的快取管理方法及系统 | |
US6732107B1 (en) | Spatial join method and apparatus | |
US20050096775A1 (en) | Method and system of automatic carrier transfer | |
CN116680295A (zh) | 多数据库处理数据的方法、系统及装置 | |
US20060093124A1 (en) | Techniques for performing multi-media call center functionality in a database management system | |
CN115687359A (zh) | 数据表分区方法及装置、存储介质、计算机设备 | |
KR101720152B1 (ko) | 계측 방법 및 이를 이용한 계측 시스템 | |
US7003508B1 (en) | Partitioning data in a parallel database system | |
US10956385B2 (en) | Management of unique identifiers in a database | |
CN111913986A (zh) | 一种查询优化方法及装置 | |
US20230393893A1 (en) | System and method for distributed processing of large-scale streaming data | |
US7464038B2 (en) | Method and system for changing an order in a flexible order transaction system | |
CN115147190A (zh) | 一种采用无锁方式的订单管理系统和方法 | |
CN115730572A (zh) | 基于Python处理Excel的方法、装置及电子设备 | |
CN114625925A (zh) | 适用于tcam的规则压缩存储方法、装置、存储介质及终端 |
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 |