TWI746261B - 基於對話類型的快取管理方法及系統 - Google Patents

基於對話類型的快取管理方法及系統 Download PDF

Info

Publication number
TWI746261B
TWI746261B TW109139486A TW109139486A TWI746261B TW I746261 B TWI746261 B TW I746261B TW 109139486 A TW109139486 A TW 109139486A TW 109139486 A TW109139486 A TW 109139486A TW I746261 B TWI746261 B TW I746261B
Authority
TW
Taiwan
Prior art keywords
cache
dialog
line
priority
block
Prior art date
Application number
TW109139486A
Other languages
English (en)
Other versions
TW202219772A (zh
Inventor
張智光
Original Assignee
財團法人工業技術研究院
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 財團法人工業技術研究院 filed Critical 財團法人工業技術研究院
Priority to TW109139486A priority Critical patent/TWI746261B/zh
Priority to US17/132,722 priority patent/US11301385B1/en
Priority to CN202110057228.4A priority patent/CN114493069A/zh
Application granted granted Critical
Publication of TWI746261B publication Critical patent/TWI746261B/zh
Publication of TW202219772A publication Critical patent/TW202219772A/zh

Links

Images

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06313Resource planning in a project environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • 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
    • G06F2212/1024Latency 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)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Mathematical Physics (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Primary Health Care (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (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

基於對話類型的快取管理方法及系統
本發明是有關於一種快取管理方法及系統,且特別是有關於一種基於對話類型(session type)的快取管理方法及系統。
在製造業中,製造過程包含多個階段,為了提升產能及產品良率,通常會透過量測、計算與控制反饋來對製造過程的各個階段進行調整。隨著製造數位化的提升以及製程的演進,量測資料量龐大、控制規則也日趨複雜。也就是說,在製造過程中必須經過大量的資料運算。進一步來說,資料運算的效能可直接影響產能及產品良率。
在目前的技術中,通常透過快取記憶體與資料運算加速單元進行資料交握及運算,來提升資料運算的效能。然而,快取記憶體有限且昂貴,因此必須針對快取記憶體進行更有效率的管理,來改善資料運算的效能。
本發明係有關於一種基於對話類型的快取管理方法及系統,其根據對話類型對應的優先權及使用紀錄表對快取記憶體進行管理,來提升資料運算的效能。
根據本發明之一實施例,提出一種基於對話類型的快取管理方法。快取記憶體包括複數個快取區塊。快取管理器的一使用紀錄表記錄每一快取區塊之一優先權。快取管理方法包括以下步驟。接收一第一對話發送之載入一第一資料區塊之要求。第一對話具有一第一對話類型,且第一對話類型對應於一第一優先權。根據使用紀錄表指派優先權低於第一優先權之一快取區塊給第一對話。載入第一資料區塊至被指派的快取區塊。將使用紀錄表中對應於被指派的快取區塊之優先權更新為第一優先權。
根據本發明之另一實施例,提出一種基於對話類型的快取管理系統,可與一應用程式建立具有一第一對話類型的一第一對話。且第一對話類型對應於一第一優先權。快取管理系統包括一資料源、一快取記憶體及一快取管理器。資料源儲存複數個資料區塊。快取記憶體具有複數個快取區塊。快取管理器可對快取區塊進行指派,並具有一使用紀錄表,使用紀錄表記錄每一快取區塊之一優先權。且快取管理器經配置以執行以下步驟。當接收到第一對話發送之載入一第一資料區塊之要求時,快取管理器根據使用紀錄表,指派優先權低於第一優先權之一快取區塊給第一對話。從資料源載入第一資料區塊至被指派的快取區塊。將使用紀錄表中對應於被指派的快取區塊之優先權更新為第一優先權。
請參照第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 Processing Unit)、場域可編程邏輯閘陣列(FPGA, Field Programmable Gate Array)或GPU資料庫(GPU Database);該快取管理器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…來表示,以此類推。
  L1 L2 L3 L4 L5
區塊(Block) N/A D1 D4 D5 D2
鎖定(Locked) 0 1 2 0 0
優先權(Priority) N/A in-line at-line off-line on-line
對話數量 (Session) 0 2 3 0 1
到期(Expired) N/A T3 T3 T2 T1
表一
第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之優先權欄位不會被更新。
  L1 L2 L3 L4 L5
區塊(Block) N/A D1 D4 D5 D2
鎖定(Locked) 0 1 3 0 0
優先權(Priority) N/A in-line on-line off-line on-line
對話數量 (Session) 0 2 4 0 1
到期(Expired) N/A T3 T4 T2 T1
表二
執行步驟S160,資料運算單元150將運算結果回傳至第一對話S1,快取管理器120更新使用紀錄表URT之鎖定欄位。舉例來說,快取管理器120更新表二所示之使用紀錄表URT中快取區塊L3之鎖定欄位,而更新後的使用紀錄表URT如表三所示。在表三中,快取區塊L3的鎖定欄位由3更新為2。換句話說,當資料運算單元150將運算結果回傳至第一對話S1而結束使用快取區塊L3之運算後,快取管理器120將使用紀錄表URT中對應於快取區塊L3的鎖定欄位減1。
  L1 L2 L3 L4 L5
區塊(Block) N/A D1 D4 D5 D2
鎖定(Locked) 0 1 2 0 0
優先權(Priority) N/A in-line on-line off-line on-line
對話數量 (Session) 0 2 4 0 1
到期(Expired) N/A T3 T4 T2 T1
表三
執行步驟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也可以是記錄快取區塊,也就是儲存對話要求之資料區塊被指派之快取區塊。
  L1 L2 L3 L4 L5
區塊(Block) N/A D1 D4 D5 D2
鎖定(Locked) 0 1 2 0 0
優先權(Priority) N/A in-line on-line off-line on-line
對話數量 (Session) 0 2 3 0 1
到期(Expired) N/A T3 T4 T2 T1
表四
對話 資料區塊
S1 D1,D4
表五
  L1 L2 L3 L4 L5
區塊(Block) N/A D1 D4 D5 D2
鎖定(Locked) 0 1 2 0 0
優先權(Priority) N/A in-line on-line off-line on-line
對話數量 (Session) 0 1 3 0 1
到期(Expired) N/A T3 T4 T2 T1
表六
另外,在步驟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。
  L1 L2 L3 L4 L5
區塊(Block) D6 D1 D4 D5 D2
鎖定(Locked) 0 0 2 1 0
優先權(Priority) in-line in-line at-line off-line at-line
對話數量 (Session) 1 2 3 0 1
到期(Expired) T2 T3 T3 T2 T1
表七
在步驟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。
  L1 L2 L3 L4 L5
區塊(Block) D6 D1 D4 D5 D2
鎖定(Locked) 0 0 2 1 0
優先權(Priority) in-line in-line at-line off-line at-line
對話數量 (Session) 0 0 3 0 1
到期(Expired) T2 T3 T3 T2 T1
表八
接著執行步驟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經配置以執行以下步驟。
  L1 L2 L3 L4 L5
區塊(Block) D6 D1 D4 D5 D2
鎖定(Locked) 1 1 2 0 0
優先權(Priority) in-line in-line at-line off-line on-line
對話數量 (Session) 1 2 3 0 1
到期(Expired) T1 T3 T3 T2 T1
表九
步驟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,如表十所示。
  L1 L2 L3 L4 L5
區塊(Block) D6 D1 D4 D3 D2
鎖定(Locked) 1 1 2 1 0
優先權(Priority) in-line in-line at-line at-line on-line
對話數量 (Session) 1 2 3 1 1
到期(Expired) T1 T3 T3 T4 T1
表十
本揭露之基於對話類型的快取管理方法及快取管理系統,可根據對話類型對應的優先權及使用紀錄表對快取記憶體進行管理,以使有高優先權的資料運算要求先取得運算資源且其存在快取記憶體的時間較長,來提升資料存取與運算的效能。特別是應用在製造過程中,可依據資料及其運算之即時性需求之強弱來管理快取記憶體,使量測、計算與控制反饋所需的資料運算符合產線運作之需求,降低因資料存取而發生產線之閒置或空耗,以提升產能。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
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圖繪示根據本發明一實施例之製造業的製造流程的示意圖; 第2圖繪示根據本發明一實施例之基於對話類型的快取管理系統的示意圖; 第3圖繪示根據本發明一實施例之基於對話類型的快取管理方法的流程圖;及 第4圖繪示根據本發明一實施例之步驟S180的子步驟的流程圖。 第5圖繪示根據本發明另一實施例之基於對話類型的快取管理系統的示意圖。 第6圖繪示根據本發明另一實施例之基於對話類型的快取管理系統的示意圖。
S110,S120,S130,S140,S150,S160,S170,S180,S190:步驟

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對應的優先權。
TW109139486A 2020-11-12 2020-11-12 基於對話類型的快取管理方法及系統 TWI746261B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW109139486A TWI746261B (zh) 2020-11-12 2020-11-12 基於對話類型的快取管理方法及系統
US17/132,722 US11301385B1 (en) 2020-11-12 2020-12-23 Cache managing method and system based on session type
CN202110057228.4A CN114493069A (zh) 2020-11-12 2021-01-15 基于对话类型的快取管理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109139486A TWI746261B (zh) 2020-11-12 2020-11-12 基於對話類型的快取管理方法及系統

Publications (2)

Publication Number Publication Date
TWI746261B true TWI746261B (zh) 2021-11-11
TW202219772A TW202219772A (zh) 2022-05-16

Family

ID=79907511

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109139486A TWI746261B (zh) 2020-11-12 2020-11-12 基於對話類型的快取管理方法及系統

Country Status (3)

Country Link
US (1) US11301385B1 (zh)
CN (1) CN114493069A (zh)
TW (1) TWI746261B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI224917B (en) * 1999-11-22 2004-12-01 Utstarcom Inc Distributed cache synchronization protocol
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
US20140047183A1 (en) * 2012-08-07 2014-02-13 Dell Products L.P. System and Method for Utilizing a Cache with a Virtual Machine
US20150186287A1 (en) * 2013-12-30 2015-07-02 Michael Henry Kass Using Memory System Programming Interfacing
US9451298B2 (en) * 2012-07-02 2016-09-20 Sony Corporation Transmission device, transmission method, and network apparatus
US20200210340A1 (en) * 2018-12-30 2020-07-02 Chengdu Haiguang Integrated Circuit Design Co. Ltd. Cache Management Method, Cache and Storage Medium

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103735B2 (en) 2003-11-26 2006-09-05 Intel Corporation Methods and apparatus to process cache allocation requests based on priority
EP2350854B1 (en) * 2008-10-17 2018-12-05 Ericsson AB 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
US20210344771A1 (en) * 2011-01-17 2021-11-04 Brendon P. Cassidy System and Method for Cloud Computing
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
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 京东方科技集团股份有限公司 缓存替换方法及其装置、异构多核系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI224917B (en) * 1999-11-22 2004-12-01 Utstarcom Inc Distributed cache synchronization protocol
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
US9451298B2 (en) * 2012-07-02 2016-09-20 Sony Corporation Transmission device, transmission method, and network apparatus
US20140047183A1 (en) * 2012-08-07 2014-02-13 Dell Products L.P. System and Method for Utilizing a Cache with a Virtual Machine
US20150186287A1 (en) * 2013-12-30 2015-07-02 Michael Henry Kass Using Memory System Programming Interfacing
US20200210340A1 (en) * 2018-12-30 2020-07-02 Chengdu Haiguang Integrated Circuit Design Co. Ltd. Cache Management Method, Cache and Storage Medium

Also Published As

Publication number Publication date
CN114493069A (zh) 2022-05-13
TW202219772A (zh) 2022-05-16
US11301385B1 (en) 2022-04-12

Similar Documents

Publication Publication Date Title
US5140402A (en) Automatic placement method for arranging logic cells
López et al. Systems of multiple cluster tools: Configuration, reliability, and performance
US20140006338A1 (en) Big data analytics system
US6553553B2 (en) Method of designing layout of semiconductor device
US20100087941A1 (en) Method and system for managing process jobs in a semiconductor fabrication facility
US7024275B2 (en) Control method and system for an automated material handling system
Doshi et al. Review of dynamic query optimization strategies in distributed database
TWI746261B (zh) 基於對話類型的快取管理方法及系統
TW202308021A (zh) 半導體加工設備的物料調度方法和裝置
CN111260144A (zh) 一种差异工件随机到达情况下单机批调度问题的求解方法
US6092000A (en) Method for maximizing the throughput of a multiple-step workstation in a plant
CN114818395B (zh) 一种基于ropn模型的生产调度仿真方法及其装置
US20080125900A1 (en) Method and apparatus for scheduling material transport in a semiconductor manufacturing facility
Raghavan et al. Artificial Intelligence (AI) based methodology to minimize asymmetric bare substrate warpage
CN115719108A (zh) 资源对称型分布式车间综合调度方法
US7409351B2 (en) Method and system for splitting an order in a flexible order transaction system
KR101720152B1 (ko) 계측 방법 및 이를 이용한 계측 시스템
US8612190B2 (en) Derived simulations for planning systems
US6909934B1 (en) Efficient method of dynamic formulation of chamber selections for multiple chamber tools
Huang et al. A pre-dispatching vehicle method for a diffusion area in a 300 mm wafer fab
US7464038B2 (en) Method and system for changing an order in a flexible order transaction system
US9870547B2 (en) System and method of demand and capacity management
Yang et al. The use of a simulation, a hybrid Taguchi, and dual response surface methods in the automated material handling system tool-to-tool strategy for a 300-mm fab
Sarin et al. A single-machine, single-wafer-processing, multiple-lots-per-carrier scheduling problem to minimize the sum of lot completion times
Kiatcharoenpol et al. Six sigma methodology for reducing warpage defect of sanitary ware production