TWI418982B - 可組態快取記憶體及組態其之方法 - Google Patents
可組態快取記憶體及組態其之方法 Download PDFInfo
- Publication number
- TWI418982B TWI418982B TW099106221A TW99106221A TWI418982B TW I418982 B TWI418982 B TW I418982B TW 099106221 A TW099106221 A TW 099106221A TW 99106221 A TW99106221 A TW 99106221A TW I418982 B TWI418982 B TW I418982B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- cache memory
- size
- set index
- status
- Prior art date
Links
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
-
- 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
- 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
-
- 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/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- 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/25—Using a specific main memory architecture
- G06F2212/251—Local memory within processor subsystem
- G06F2212/2515—Local memory within processor subsystem being configurable for different purposes, e.g. as cache or non-cache memory
-
- 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/60—Details of cache memory
- G06F2212/601—Reconfiguration of cache memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本發明大體而言係針對於可組態快取記憶體及組態其之方法。
技術之進展已產生較小且較強大之計算器件。舉例而言,當前存在各種攜帶型個人計算器件,包括無線計算器件,諸如,攜帶型無線電話、個人數位助理(PDA)及傳呼器件,其體積小、重量輕且易於由使用者攜帶。更具體言之,攜帶型無線電話(諸如,蜂巢式電話及網際網路協定(IP)電話)可經由無線網路傳達語音及資料封包。另外,許多該等無線電話包括併入於其中之其他類型之器件。舉例而言,無線電話亦可包括靜態數位相機、數位視訊相機、數位記錄器及音訊檔案播放器。又,該等無線電話可處理可執行指令,包括可用以存取網際網路之軟體應用程式(諸如,web瀏覽器應用程式)。因而,此等無線電話可包括顯著的計算能力。
數位信號處理器(DSP)、影像處理器及其他處理器件頻繁地用於攜帶型個人計算器件中且結合一或多個快取記憶體來操作。快取記憶體通常為存在於記憶體階層架構中之某處之資料的複本。在一些情況下,快取記憶體可僅具有系統中之資料之「最新」複本。快取記憶體之一典型組件為資料記憶體。將此資料記憶體劃分為快取線,其中每一快取線為系統記憶體之獨特(及相連)部分之複本。快取記
憶體之另一典型組件為用以使系統記憶體位址與特定快取線相關聯之通道。時常將用以使系統記憶體位址與特定快取線相關聯之此通道稱為標籤。快取記憶體之另一典型組件為用以指示一快取線是否有效、經修改、被佔有及其類似者之狀態。
可組態快取記憶體可藉由修改快取線大小而不改變快取記憶體之標籤的數目來加以重新定大小。不同快取記憶體大小之間的映射可藉由對用於快取記憶體查找之記憶體位址內之索引的位置進行移位來執行。作為一實例,一對多工器可在查找操作期間基於快取記憶體之大小來選擇位址位元以對索引之位置進行移位。
在一特定實施例中,揭示一種裝置,其包括一具有一標籤狀態陣列之快取記憶體。該標籤狀態陣列包括一可藉由一設定索引定址之標籤區域。該標籤狀態陣列亦包括一可藉由一狀態位址定址之狀態區域,其中該設定索引及該狀態位址包括至少一共同位元。
在另一實施例中,揭示一種方法,其包括在一快取記憶體之一標籤狀態陣列處接收一位址,其中該快取記憶體可組態而具有一第一大小及一大於該第一大小之第二大小中的一者。該方法亦包括識別該位址之一第一部分作為一設定索引、使用該設定索引來定位該標籤陣列之至少一標籤欄位,及識別該位址之一第二部分以與一儲存於該至少一標籤欄位中之值進行比較。該方法進一步包括:定位該標
籤狀態陣列之至少一狀態欄位,該至少一狀態欄位係與匹配該第二部分之一特定標籤欄位相關聯;及基於該位址之一第三部分與該至少一狀態欄位之至少兩個狀態位元的一比較來識別一快取線。該方法亦包括擷取該快取線,其中基於該快取記憶體經組態而具有該第一大小抑或該第二大小來選擇該位址之該第一部分的一第一位置及該位址之該第二部分的一第二位置,且其中該位址之該第一部分在該快取記憶體具有該第一大小時與在該快取記憶體具有該第二大小時具有相同數目個位元。
在另一實施例中,揭示一種方法,其包括改變一快取記憶體之一大小。該方法亦包括回應於改變該快取記憶體之該大小而對待自該快取記憶體擷取之資料的一位址之一設定索引部分的一位置進行移位,其中當對該位置進行移位時該設定索引部分之一位元長度並不改變。
在另一實施例中,揭示一種電腦可讀媒體。該電腦可讀媒體以有形方式具體化電腦可執行指令,該等指令可執行以使一電腦藉由以下行為將一快取記憶體自一具有一第一資料區域大小之第一組態改變至一具有一第二資料區域大小之第二組態:增加與該快取記憶體之一資料陣列的每一項相關聯之資料的量且維持該資料陣列的可經由一設定索引定址之項的一第一數目,及維持該資料陣列的與該設定索引之每一值相關聯之項的一第二數目。該等電腦可執行指令進一步可執行以使該電腦對給一標籤狀態陣列編索引的一記憶體位址之位元的一範圍進行移位,該標籤狀態陣
列與該資料陣列相關聯,其中基於將該快取記憶體自該第一組態改變至該第二組態來對給該標籤狀態陣列編索引之位元的該範圍進行移位。
由所揭示之實施例提供的一特定優點為:提供標籤與快取線之間的可組態映射以支援標籤對多個資料RAM組態之較大利用,使得當資料RAM經組態而為100%快取記憶體、50%快取記憶體或25%快取記憶體時,快取線之大小以等值量減小。
由所揭示之實施例提供的另一優點為:當可用於快取之資料RAM減小時,以成本及時間上有效的方式使可用標籤之數目大體上最大化,此在傳統資料局部性假設可能不成立的小功率多執行緒之處理器環境中具有特定重要性。具有較多標籤之快取記憶體為一較高效能(performing)之快取記憶體,因為減少了位址空間衝突。
在檢閱完包括以下部分之整個申請案之後,本發明之其他態樣、優點及特徵將變得顯而易見:[圖式簡單說明]、[實施方式]及[申請專利範圍]。
參看圖1,說明可組態快取記憶體系統100之一特定說明性實施例,其具有一標籤狀態陣列108、多個通道120及一耦接至該標籤狀態陣列108之快取資料區域110。可組態快取記憶體系統100包括一可組態快取記憶體106及一位址102。該可組態快取記憶體106包括耦接至快取資料區域110之標籤狀態陣列108。快取資料區域110包括一或多個
快取線112。如圖1中所展示,快取資料區域110可組態以具有對應於第一快取記憶體組態之第一快取記憶體大小或具有對應於第二快取記憶體組態之第二快取記憶體大小,其中該第二快取記憶體大小大於該第一快取記憶體大小。快取資料區域110包括與一設定索引(諸如,設定索引1 122或設定索引2 124)之每一值相關聯的多個通道120。該多個通道120使快取資料區域110能夠儲存每一設定索引值之多個資料值。如圖1中所展示,快取資料區域110在第一快取記憶體組態中及在第二快取記憶體組態中具有相同數目個通道120。
標籤狀態陣列108包括一可藉由設定索引定址之標籤區域116,諸如,展示為與位址102相關聯之設定索引1 122或設定索引2 124。標籤狀態陣列108亦包括一可藉由狀態位址126定址之狀態區域118。快取線112中之每一者係與標籤位址128相關聯。如圖1中所展示,設定索引2 124及狀態位址126包括至少一共同位元104,諸如,一共同位址位元。設定索引1 122及狀態位址126包括至少兩個共同位元104,諸如,兩個共同位址位元。在一特定實施例中,設定索引122、124與狀態位址126之間的共同位元104(諸如,共同位址位元)之數目視可組態快取記憶體106的大小而變化。在一特定實施例中,狀態位址126及設定索引1 122在第一組態中包括兩個共同位元104,且狀態位址126及設定索引2 124在第二組態中包括一個共同位元104。標籤狀態陣列108亦包括一或多個集合114。在一特定實施例
中,標籤狀態陣列108在第一快取記憶體組態中及在第二快取記憶體組態中具有相同大小之集合114。
如圖1中所展示,快取線112中之每一者包括一或多個區段或磁區112a、112b。當快取資料區域110具有第一快取記憶體大小時,快取線112中之每一者包括一個區段或磁區112a。當快取資料區域110具有第二快取記憶體大小時,快取線112中之每一者包括兩個區段或磁區112a、112b。在一特定實施例中,快取資料區域110在第一快取記憶體組態中及在第二快取記憶體組態中可具有相同之快取線區段大小。在一替代實施例中,快取資料區域110具有預定數目個可藉由設定索引122、124定址之列。快取資料區域110可經組態以在第一組態中儲存與每一列相關聯的至少第一數目個快取線112及在第二組態中儲存與每一列相關聯的第二數目個快取線112,其中快取線112之該第二數目大於快取線112之該第一數目。
快取線大小、資料記憶體大小及標籤之數目之間可存在一關係。此關係可藉由如下公式表達:。自此公式可看到,在增加快取線之大小的同時保持資料記憶體之大小恆定可減小標籤之數目。減小標籤之數目可需要較少實體儲存器,然而,減小標籤之數目意味著快取記憶體中可含有較少之獨特記憶體位置(或範圍)。作為一極端實例,考慮僅具有單一標籤之32位元組快取記憶體。所有32個位元組將為系統記憶體之
一相連部分的複本。相反,若快取記憶體具有8個標籤,則快取記憶體中可含有8個無關之4位元組區。藉由擴展,亦可將單一32位元組之相連區儲存於該快取記憶體中。
在一些情況下,快取記憶體之資料記憶體部分可並非恆定的,而是如在圖1之可組態快取記憶體系統100中,可為可組態的,其中可為快取記憶體保留一部分且可為緊密耦合記憶體(TCM)保留另一部分。在一配置中,快取記憶體可具有固定之快取線大小及標籤與快取線之間的固定映射。然而,若減小該快取記憶體之大小,則快取線之數目及標籤之數目以此量減小。舉例而言,在將資料隨機存取記憶體(RAM)組織為4個記憶體組之L2快取記憶體中(其中每一記憶體組具有其自有的標籤集合),若將資料RAM組態為50%之快取記憶體及50%之TCM,則TCM中之標籤不再可用於快取記憶體。
藉由調整快取線之大小連同資料記憶體之大小,圖1之可組態快取記憶體系統100使標籤之數目能夠保持大體上相同。因此,提供標籤與快取線之間的可組態映射以支援標籤對多個資料RAM組態之較大利用,使得當資料RAM組態為100%之快取記憶體、50%之快取記憶體或25%之快取記憶體時,快取線之大小以等值量減小。另外,當可用於快取之資料RAM減小時,以成本及時間上有效的方式使可用標籤之數目大體上最大化。此在傳統資料局部性假設可能不成立之小功率多執行緒之處理器環境中可具有特定重要性。具有較多標籤之快取記憶體可為一較高效能之快
取記憶體,因為減少了位址空間衝突。
參看圖2,說明可組態快取記憶體系統200的一特定說明性實施例,其具有一標籤狀態陣列208、多個通道220及一耦接至該標籤狀態陣列208之資料區域210。可組態快取記憶體系統200包括一可組態之快取記憶體206、一用以儲存記憶體位址之記憶體位址暫存器202、索引電路224、比較電路226、驗證電路228及選擇電路230。可組態之快取記憶體206包括耦接至資料區域210之標籤狀態陣列208。資料區域210包括一或多個快取線212。如圖2中所展示,資料區域210可組態以具有對應於第一快取記憶體組態之第一快取記憶體大小或具有對應於第二快取記憶體組態之第二快取記憶體大小,其中該第二快取記憶體大小大於該第一快取記憶體大小,或具有對應於第三快取記憶體組態之第三快取記憶體大小,其中該第三快取記憶體大小大於該第二快取記憶體大小。資料區域210包括與一設定索引之每一值相關聯的多個通道220。該多個通道220使資料區域210能夠儲存對應於每一設定索引值之多個資料值。如圖2中所展示,資料區域210在第一快取記憶體組態及在第二快取記憶體組態中以及在第三快取記憶體組態中具有相同數目個通道220。
標籤狀態陣列208包括一可藉由設定索引定址之標籤區域216。標籤狀態陣列208亦包括一可藉由狀態位址定址之狀態區域218。快取線212中之每一者可藉由標籤位址來定址。標籤狀態陣列208亦包括一或多個集合214。在一特定
實施例中,標籤狀態陣列208在第一快取記憶體組態中及在第二快取記憶體組態中以及在第三快取記憶體組態中可具有相同大小之集合214。
在一特定實施例中,資料區域210具有預定數目個集合以儲存可經由設定索引及標籤狀態陣列208存取之資料。在第一快取記憶體組態中,資料區域210之預定數目個集合中的每一者可經組態以儲存第一量之資料。在第二快取記憶體組態中,資料區域210之預定數目個集合中的每一者可經組態以儲存第二量之資料。
在一特定實施例中,索引電路224耦接至記憶體位址暫存器202以使用設定索引來識別標籤狀態陣列208之多個標籤項。舉例而言,索引電路224可存取標籤狀態陣列208且定位並識別對應於該設定索引的自記憶體位址暫存器202接收到之多個標籤項。如圖2中所展示,索引電路亦可藉由二位元連接而耦接至選擇電路。
在一特定實施例中,比較電路226耦接至記憶體位址暫存器202以將經識別之多個標籤項的標籤值與記憶體位址之標籤部分進行比較。舉例而言,比較電路226可存取標籤狀態陣列208且將藉由索引電路224識別之多個標籤項的標籤值與自記憶體位址暫存器202接收到之記憶體位址的各別標籤部分進行比較。
在一特定實施例中,驗證電路228耦接至記憶體位址暫存器202以解碼狀態位址且將經解碼之狀態位址與資料區域210之預定數目個集合之經識別集合的驗證位元222進行
比較。驗證電路228可存取標籤狀態陣列208且將驗證位元222與自記憶體位址暫存器202接收到之記憶體位址的經解碼狀態位址部分進行比較。如圖2中所展示,驗證電路228可藉由二位元連接而耦接至記憶體位址暫存器202。如圖2中所展示,驗證位元222可包括4個狀態位元。
如下文將結合圖4更詳細地描述,在一特定實施例中,選擇電路230耦接至記憶體位址暫存器202且耦接至索引電路224以選擇性地在第一快取記憶體組態中包括設定索引中之記憶體位址的特定位元且在第二快取記憶體組態中不包括設定索引中之特定位元。如圖2中所展示,選擇電路230可藉由二位元連接而耦接至索引電路224。在一特定實施例中,選擇電路230包括一多工器(諸如,圖4中所展示之多工器406),其具有一經耦接而接收至少一共同位元之輸入(如圖4中之424處所展示)且具有一耦接至標籤區域216之輸出(如圖4中之416處所展示)。該多工器可經組態以選擇性地將該至少一共同位元作為一可選輸入提供至設定索引,諸如,圖4中所展示之設定索引408。
參看圖3,在300處展示用於快取記憶體查找之記憶體位址暫存器302及移位設定索引306、312、320的特定說明性實施例。移位設定索引306、312及320使得能夠針對三個不同快取記憶體大小組態使用相同數目個集合來定址至快取記憶體中。在一特定實施例中,用於快取記憶體查找之記憶體位址暫存器302為圖1之位址102或圖2之記憶體位址暫存器202。
設定索引306以自位元13至位元5之9個位元為範圍,與位址之狀態部分324共用兩個共同位元308(位元5及位元6),其中狀態部分324以自位元6至位元5之兩個位元為範圍。位址之標籤部分304以自位元31至位元14為範圍。
如藉由箭頭314所指示,一1位元位移之移位使設定索引312與位址之狀態部分324共用一個共同位元316(位元6),該設定索引312以自位元14至位元6之9個位元為範圍。在此情況下,位址之狀態部分324之位元5可用以標記兩個快取線區段或磁區,使得具有設定索引312之快取記憶體可為具有設定索引306之快取記憶體兩倍大。位址之標籤部分310以自位元31至位元15為範圍,新增的最低有效位元零可串接至位元31:15。
如藉由箭頭322所指示,另一1位元位移之移位使設定索引320與位址之狀態部分324不共用共同位元,該設定索引320以自位元15至位元7之9個位元為範圍。在此情況下,位址之狀態部分324之位元5及位元6兩者可用以標記四個快取線區段或磁區,使得具有設定索引320之快取記憶體可為具有設定索引312之快取記憶體兩倍大。位址之標籤部分318以自位元31至位元16為範圍,兩個最低有效位元零可串接至位元31:16。
總的快取記憶體大小可藉由集合之數目乘以通道之數目乘以快取線之大小乘以區段或磁區之數目的乘積給出。藉由一9位元設定索引編索引之集合的數目為29
=512。對於具有32個位元之快取線大小的4通道快取記憶體而言,對
於具有設定索引306之快取記憶體,總的快取記憶體大小為512乘以4乘以32或約64千位元(kbit),其中快取記憶體針對每一快取線僅具有一個區段或磁區。針對具有設定索引312之快取記憶體(其中快取記憶體針對每一快取線具有兩個區段或磁區),總的快取記憶體大小為約128kbit。針對具有設定索引320之快取記憶體(其中快取記憶體針對每一快取線具有四個區段或磁區),總的快取記憶體大小為約256kbit。
參看圖4,在400處展示用於快取記憶體查找之記憶體位址暫存器402及用以產生設定索引408之選擇電路426及索引電路428的特定說明性實施例。系統400可用以判定圖3之暫存器系統300之移位設定索引306、312、320。系統400可實施於圖1之可組態快取記憶體系統100或圖2之可組態快取記憶體系統200中。
用於快取記憶體查找之記憶體位址暫存器402經組態以儲存自最低有效位元(LSB)(位元0)標記至最高有效位元(MSB)(位元31)之32個位元值。多工器404自用於快取記憶體查找之記憶體位址暫存器402接收位元15作為一輸入(如418處所指示),且接收位元6作為另一輸入(如422處所指示)。如412處所指示,多工器404將位元15抑或位元6輸出至設定索引408。藉由快取記憶體大小430控制沿二位元線410來控制多工器404之輸出。多工器406接收位元14作為一輸入(如420處所指示)且接收位元5作為另一輸入(如424處所指示)。如416處所指示,多工器406將位元14抑或位
元5輸出至設定索引408。藉由快取記憶體大小430控制沿二位元線410來控制多工器406之輸出。設定索引408沿7位元線414自用於快取記憶體查找之記憶體位址暫存器402接收以自位元13至位元7為範圍之位元。
當多工器404輸出位元6且多工器406輸出位元5時,則設定索引408對應於圖3之設定索引306。當多工器404輸出位元6且多工器406輸出位元14時,則設定索引408對應於圖3之設定索引312,其中具有設定索引312之快取記憶體可為具有設定索引306之快取記憶體兩倍大。當多工器404輸出位元15且多工器406輸出位元14時,則設定索引408對應於圖3之設定索引320,其中具有設定索引320之快取記憶體可為具有設定索引312之快取記憶體兩倍大且可為具有設定索引306之快取記憶體四倍大。
參看圖5,在500處展示用以組態一可組態快取記憶體的方法之第一說明性實施例的流程圖。方法500包括在502處在快取記憶體之標籤狀態陣列處接收一位址,其中該快取記憶體可組態以具有一第一大小及一大於該第一大小之第二大小中之一者。舉例而言,如圖1中所展示,可在可組態之快取記憶體106之標籤狀態陣列108處接收位址102,其中可組態之快取記憶體106的快取資料區域110可組態以具有第一大小及大於該第一大小之第二大小中之一者。方法500亦包括在504處識別位址之第一部分作為一設定索引。舉例而言,如圖1中所展示,位址102之第一部分可被識別而作為設定索引1 122,或位址102之第一部分可被識
別而作為設定索引2 124。類似地,如圖3中所展示,用於快取記憶體查找之記憶體位址暫存器302中之位址的第一部分可被識別而作為設定索引306,或作為設定索引312,或作為設定索引320。
方法500進一步包括在506處使用設定索引來定位標籤狀態陣列之至少一標籤欄位。舉例而言,可使用設定索引1 122抑或設定索引2 124來定位圖1中所展示之標籤狀態陣列108的至少一標籤區域116。方法500亦包括在508處識別位址之第二部分以與一儲存於該至少一標籤欄位處之值進行比較。舉例而言,位址102之第二部分可被識別而作為標籤128,可將該標籤128與一儲存於圖1之至少一標籤區域116處之值進行比較。方法500進一步包括在510處定位標籤狀態陣列之至少一狀態欄位,該至少一狀態欄位與匹配該第二部分之特定標籤欄位相關聯。舉例而言,可定位標籤狀態陣列108之至少一狀態區域118,該至少一狀態區域118可與匹配圖1之標籤128之特定標籤區域116相關聯。
方法500亦包括在512處基於位址之第三部分與至少一狀態欄位之至少兩個狀態位元的比較來識別一快取線。舉例而言,可基於位址102之狀態位址126部分與圖1之標籤狀態陣列108的至少一狀態區域118之至少兩個狀態位元的比較來識別快取線112中之一者。方法500進一步包括在514處擷取該快取線,其中基於快取記憶體經組態而具有第一大小抑或第二大小來選擇位址之第一部分的第一位置及位址之第二部分的第二位置,且其中位址之第一部分在快取
記憶體具有第一大小時與在快取記憶體具有第二大小時具有相同數目個位元。舉例而言,可擷取快取線112中之經識別者,其中可基於快取資料區域110經組態而具有第一大小抑或第二大小來選擇位址102之設定索引部分(設定索引1 122或設定索引2 124)的第一位置及位址102之標籤128部分的第二位置,且其中位址102之設定索引部分(設定索引1 122或設定索引2 124)在快取資料區域110具有第一大小時與在快取資料區域110具有第二大小時具有相同數目個位元。
在一特定實施例中,快取記憶體進一步可組態以具有大於第二大小之第三大小。舉例而言,如圖2中所展示,可組態之快取記憶體206之資料區域210可進一步可組態以具有大於第二大小之第三大小。在一特定實施例中,當快取記憶體經組態而具有第一大小時,位址之第一部分與位址之第三部分的兩個位元重疊,其中當快取記憶體經組態而具有第二大小時,位址之第一部分與位址之第三部分的單一位元重疊,且其中當快取記憶體經組態而具有第三大小時,位址之第一部分不與位址之第三部分的任何位元重疊。舉例而言,如上文所描述,當快取記憶體經組態而具有第一大小(64kbit)時,圖3之設定索引306與狀態位址324之兩個位元308重疊,其中當快取記憶體經組態而具有第二大小(128kbit)時,設定索引312與狀態位址324之單一位元316重疊,且其中當快取記憶體經組態而具有第三大小(256kbit)時,設定索引320不與狀態位址324之任何位元重
疊。
參看圖6,在600處展示用以組態一可組態快取記憶體的方法之第二說明性實施例的流程圖。方法600包括在602處改變快取記憶體之大小。舉例而言,圖1之可組態之快取記憶體106的快取資料區域110可自第一大小改變至第二大小,或自第二大小改變至第一大小。類似地,圖2之可組態之快取記憶體206的資料區域210可自第一大小改變至第二大小,或自第二大小改變至第三大小,或自第一大小改變至第三大小,或自第二大小改變至第一大小,或自第三大小改變至第二大小,或自第三大小改變至第一大小。
方法600亦包括在604處回應於改變快取記憶體之大小而對待自快取記憶體擷取之資料的位址之設定索引部分的位置進行移位,其中當對該位置進行移位時設定索引部分之位元長度不改變。舉例而言,圖3之設定索引306可回應於快取記憶體之大小自64kbit改變至128kbit而如箭頭314所展示移位至設定索引312之位置,其中設定索引306及設定索引312均具有9個位元之位元長度。類似地,圖3之設定索引312可回應於快取記憶體之大小自128kbit改變至256kbit而如箭頭322所展示移位至設定索引320之位置,其中設定索引312及設定索引320均具有9個位元之位元長度。
在一特定實施例中,當快取記憶體經組態而具有第一大小時或當快取記憶體經組態而具有大於第一大小之第二大小時,位址之設定索引部分與位址之狀態位址部分的至少一位元重疊。舉例而言,當快取記憶體經組態而具有約64
kbit之第一大小時,圖3之設定索引306與狀態位址324之至少一位元308重疊,且當快取記憶體經組態而具有約128kbit之第二大小時,設定索引312與狀態位址324之至少一位元316重疊。
在一特定實施例中,快取記憶體進一步可組態以具有大於第二大小之第三大小。舉例而言,如圖2中所展示,可組態之快取記憶體206之資料區域210可進一步可組態以具有大於第二大小之第三大小。在一特定實施例中,當快取記憶體經組態而具有第一大小時,位址之設定索引部分與位址之狀態位址部分的兩個位元重疊,其中當快取記憶體經組態而具有第二大小時,位址之設定索引部分與位址之狀態位址部分的單一位元重疊,且其中當快取記憶體經組態而具有第三大小時,位址之設定索引部分不與位址之狀態位址部分的任何位元重疊。舉例而言,如上文所描述,當快取記憶體經組態而具有第一大小(64kbit)時,圖3之設定索引306與狀態位址324之兩個位元308重疊,其中當快取記憶體經組態而具有第二大小(128kbit)時,設定索引312與狀態位址324之單一位元316重疊,且其中當快取記憶體經組態而具有第三大小(256kbit)時,設定索引320不與狀態位址324之任何位元重疊。
參看圖7,在700處展示用以組態一可組態快取記憶體的方法之第三說明性實施例的流程圖。方法700包括在702處藉由以下行為來將快取記憶體自具有第一資料區域大小之第一組態改變至具有第二資料區域大小之第二組態:增加
與快取記憶體之一資料陣列的每一項相關聯之資料的量且維持該資料陣列的可經由設定索引定址之項的第一數目,及維持該資料陣列的與設定索引之每一值相關聯之項的第二數目。舉例而言,圖1之可組態之快取記憶體106可藉由將快取線磁區或區段112b添加至快取線112中之每一者的快取線磁區或區段112a而使快取資料區域110自第一大小改變至第二大小。
方法700亦包括在704處對給一標籤狀態陣列編索引的記憶體位址之位元的範圍進行移位,該標籤狀態陣列與該資料陣列相關聯,其中基於將快取記憶體自第一組態改變至第二組態來對給該標籤狀態陣列編索引之位元範圍進行移位。舉例而言,圖3之設定索引306可回應於將快取記憶體之大小自64kbit改變至128kbit而如箭頭314所展示移位至設定索引312之位置,其中設定索引306及設定索引312均給與資料陣列相關聯之標籤狀態陣列編索引,諸如,圖1之與快取資料區域110相關聯之標籤狀態陣列108。
在一特定實施例中,方法700進一步包括設定對一對多工器之控制輸入,該等多工器各自接收來自給標籤狀態陣列編索引之位元範圍的至少一輸入且各自將一可選位元輸出至設定索引。舉例而言,圖4之多工器404及多工器406可使其各別控制輸入藉由快取記憶體大小430控制沿二位元線410來設定。如上文所描述,多工器404及多工器406可各自接收來自給標籤狀態陣列(諸如,圖1之標籤狀態陣列108或圖2之標籤狀態陣列208)編索引的位元範圍的至少
一輸入,且可各自將一可選位元輸出至設定索引408。
在一特定實施例中,方法700進一步包括藉由以下行為將快取記憶體自具有第二資料區域大小之第二組態改變至具有第三資料區域大小之第三組態:增加與快取記憶體之資料陣列的每一項相關聯之資料的量且維持該資料陣列之可經由設定索引定址之項的第一數目,及維持該資料陣列之與設定索引之每一值相關聯之項的第二數目。舉例而言,圖2之可組態快取記憶體206可藉由將額外快取線磁區或區段添加至快取線212中之每一者的現有快取線磁區或區段而使資料區域210自第二大小改變至第三大小。方法700可進一步包括對給標籤狀態陣列編索引之記憶體位址之位元的範圍進行移位,該標籤狀態陣列與資料陣列相關聯,其中回應於將快取記憶體自第二組態改變至第三組態來對給標籤狀態陣列編索引之位元的範圍進行移位。舉例而言,圖3之設定索引312可回應於將快取記憶體之大小自128kbit改變至256kbit而如箭頭322所展示移位至設定索引320之位置,其中設定索引312及設定索引320均給與資料陣列相關聯之標籤狀態陣列編索引,諸如,圖2之與資料區域210相關聯之標籤狀態陣列208。
根據圖5至圖7之方法或根據本文中所描述之其他實施例操作的可組態快取記憶體可併入多種電子器件中,諸如,行動電話、機上盒器件、電腦、個人數位助理(PDA)、音樂播放器、視訊播放器、儲存或擷取資料或電腦指令的任何其他器件,或其任何組合。
圖8為包括可組態之快取記憶體模組864的系統800之特定實施例的方塊圖。系統800可實施於攜帶型電子器件中且包括一耦接至記憶體832之信號處理器810,諸如,數位信號處理器(DSP)。系統800包括可組態快取記憶體模組864。在一說明性實例中,可組態之快取記憶體模組864包括圖1至圖4之系統中的任一者、根據圖5至圖7之實施例中的任一者來操作,或其任何組合。可組態快取記憶體模組864可在信號處理器810中或可為一單獨器件或電路(未圖示)。在一特定實施例中,圖1之可組態之快取記憶體106可由數位信號處理器存取。舉例而言,如圖8中所展示,可組態之快取記憶體模組864可由數位信號處理器(DSP)810存取,且數位信號處理器810經組態以存取儲存於可組態之快取記憶體模組864處之資料或程式指令。圖1之至少一共同位元104可對應於諸如位址102之記憶體位址的預定位元,該記憶體位址係在可組態之快取記憶體106處結合在數位信號處理器810處執行的快取記憶體查找操作來接收的。
相機介面868耦接至信號處理器810且亦耦接至諸如視訊相機870之相機。顯示控制器826耦接至信號處理器810且耦接至顯示器件828。編碼器/解碼器(CODEC)834亦可耦接至信號處理器810。揚聲器836及麥克風838可耦接至CODEC 834。無線介面840可耦接至信號處理器810且耦接至無線天線842,使得可將經由天線842及無線介面840接收到之無線資料提供至處理器810。
信號處理器810可經組態以執行儲存於電腦可讀媒體(諸如,記憶體832)處之電腦可執行指令866,該等電腦可執行指令866可執行以使得電腦(諸如,處理器810)使可組態之快取記憶體模組864藉由以下行為將快取記憶體自具有第一資料區域大小之第一組態改變至具有第二資料區域大小之第二組態:增加與快取記憶體之資料陣列的每一項相關聯之資料的量且維持該資料陣列之可經由設定索引定址之項的第一數目,及維持該資料陣列之與設定索引之每一值相關聯之項的第二數目。該等電腦可執行指令進一步可執行以使可組態快取記憶體模組864對給一標籤狀態陣列編索引之記憶體位址之位元的範圍進行移位,該標籤狀態陣列與資料陣列相關聯,其中基於將快取記憶體自第一組態改變至第二組態來對給該標籤狀態陣列編索引之位元範圍進行移位。
在一特定實施例中,信號處理器810、顯示控制器826、記憶體832、CODEC 834、無線介面840及相機介面868包括於封裝級系統或晶載系統器件822中。在一特定實施例中,輸入器件830及電源供應器844耦接至晶載系統器件822。此外,在一特定實施例中,如圖8中所說明,顯示器件828、輸入器件830、揚聲器836、麥克風838、無線天線842、視訊相機870及電源供應器844在晶載系統器件822之外。然而,顯示器件828、輸入器件830、揚聲器836、麥克風838、無線天線842、視訊相機870及電源供應器844中之每一者可耦接至晶載系統器件822之一組件,諸如,介
面或控制器。
前文所揭示之器件及功能性可藉由提供設計資訊來實施且組態至儲存於電腦可讀媒體上之電腦檔案(例如,RTL、GDSII、GERBER,等等)中。可將該等檔案中之一些或所有提供給基於該等檔案製造器件之製造處理常式。所得產品包括半導體晶圓,該等半導體晶圓接著被切割成半導體晶粒且被封裝成半導體晶片。接著將該等晶片用於上文所描述之器件中。圖9描繪電子器件製造過程900之特定說明性實施例。
在製造過程900中(諸如,在研究電腦906處)接收實體器件資訊902。實體器件資訊902可包括表示半導體器件(諸如,圖1之可組態快取記憶體的組件、圖2之可組態快取記憶體的組件,或其任何組合)之至少一物理特性的設計資訊。舉例而言,實體器件資訊902可包括物理參數、材料特徵,及經由耦接至研究電腦906之使用者介面904鍵入之結構資訊。研究電腦906包括一耦接至一電腦可讀媒體(諸如,記憶體910)之處理器908(諸如,一或多個處理核心)。記憶體910可儲存電腦可讀指令,其可執行以使處理器908變換實體器件資訊902以便符合一檔案格式且產生程式庫檔案912。
在一特定實施例中,程式庫檔案912包括至少一資料檔案,該至少一資料檔案包括經變換之設計資訊。舉例而言,程式庫檔案912可包括對應於半導體器件(包括圖1之可組態快取記憶體的組件、圖2之可組態快取記憶體的組
件,或其任何組合)之資料檔案的程式庫,提供該程式庫以供與一電子設計自動化(EDA)工具920一起使用。
在設計電腦914處,可結合EDA工具920來使用程式庫檔案912,該設計電腦914包括一耦接至一記憶體918之處理器916(諸如,一或多個處理核心)。可將EDA工具920儲存為記憶體918處之處理器可執行指令,以使設計電腦914之使用者能夠使用圖1之可組態快取記憶體的組件、圖2之可組態快取記憶體的組件或其任何組合來設計程式庫檔案912之電路。舉例而言,設計電腦914之使用者可經由耦接至設計電腦914之使用者介面924鍵入電路設計資訊922。電路設計資訊922可包括表示半導體器件(諸如,圖1之可組態快取記憶體的組件、圖2之可組態快取記憶體的組件,或其任何組合)之至少一物理特性的設計資訊。為了說明,電路設計特性可包括對特定電路及與電路設計中之其他元件之關係的識別、定位資訊、特徵大小資訊、互連資訊,或表示半導體器件之物理特性的其他資訊。
設計電腦914可經組態以變換設計資訊(包括電路設計資訊922)以便符合一檔案格式。為了說明,該檔案格式可包括一資料庫二進位檔案格式,其表示平面幾何形狀、文字標記,及關於呈階層式格式(諸如,圖形資料系統(GDSII)檔案格式)之電路布局的其他資訊。設計電腦914可經組態以產生包括經變換之設計資訊的資料檔案(諸如,GDSII檔案926),除了其他電路或資訊之外,該資料檔案包括描述圖1之可組態快取記憶體、圖2之可組態快取記憶體或其任
何組合的資訊。為了說明,該資料檔案可包括對應於晶載系統(SOC)之資訊,該晶載系統(SOC)包括圖1之可組態快取記憶體且亦包括SOC內之額外電子電路及組件。
可在製造過程928處接收GDSII檔案926以根據GDSII檔案926中之經變換的資訊來製造圖1之可組態快取記憶體、圖2之可組態快取記憶體、SOC或其任何組合。舉例而言,一器件製造過程可包括將GDSII檔案926提供至遮罩製造者930以形成一或多個遮罩,諸如待用於光微影處理之遮罩,如代表性遮罩932所說明。可在製造過程期間使用遮罩932以產生一或多個晶圓934,可對該一或多個晶圓934進行測試且將其分離為晶粒(諸如,代表性晶粒936)。晶粒936包括一電路,該電路包括圖1之可組態快取記憶體、圖2之可組態快取記憶體或其任何組合。
可將晶粒936提供至封裝過程938,其中將晶粒936併入於代表性封裝940中。舉例而言,封裝940可包括單一晶粒936或多個晶粒,諸如,封裝級系統(SiP)配置。封裝940可經組態以符合一或多個標準或規範,諸如,聯合電子器件工程會議(JEDEC)標準。
可(諸如)經由儲存於電腦946處之組件程式庫將關於封裝940之資訊散布至各個產品設計者。電腦946可包括一耦接至記憶體950之處理器948,諸如,一或多個處理核心。可將印刷電路板(PCB)工具儲存為記憶體950處之處理器可執行指令,以處理經由使用者介面944自電腦946之使用者接收的PCB設計資訊942。PCB設計資訊942可包括電路板
上之經封裝半導體器件的實體定位資訊,該經封裝半導體器件對應於包括圖1之可組態快取記憶體、圖2之可組態快取記憶體或其任何組合的封裝940。
電腦946可經組態以變換PCB設計資訊942以便產生一資料檔案(諸如,GERBER檔案952),其具有包括電路板上之經封裝半導體器件的實體定位資訊以及電連接(諸如,跡線及介層孔(via))之布局的資料,其中該經封裝半導體器件對應於包括圖1之可組態快取記憶體、圖2之可組態快取記憶體或其任何組合的封裝940。在其他實施例中,藉由經變換之PCB設計資訊產生之資料檔案可具有不同於GERBER格式之格式。
可在板裝配過程954處接收GERBER檔案952且用以形成根據儲存於GERBER檔案952內之設計資訊製造之PCB,諸如,代表性PCB 956。舉例而言,可將GERBER檔案952上載至用於執行PCB生產過程之各種步驟的一或多個機器。PCB 956可填入有包括封裝940之電子組件以形成代表性印刷電路總成(PCA)958。
可在產品製造過程960處接收PCA 958且將其整合至一或多個電子器件中,諸如,第一代表性電子器件962及第二代表性電子器件964。作為一說明性且非限制性實例,第一代表性電子器件962、第二代表性電子器件964或其兩者可選自由以下各物組成之群組:機上盒、音樂播放器、視訊播放器、娛樂單元、導航器件、通信器件、個人數位助理(PDA)、固定位置資料單元及電腦。作為另一說明性且
非限制性實例,電子器件962及964中之一或多者可為遠端單元(諸如,行動電話)、掌上型個人通信系統(PCS)單元、攜帶型資料單元(諸如,個人資料助理)、具備全球定位系統(GPS)功能之器件、導航器件、固定位置資料單元(諸如,儀錶讀取設備),或儲存或擷取資料或電腦指令之任何其他器件,或其任何組合。儘管圖1至圖8中之一或多者可說明根據本發明之教示的遠端單元,但本發明並不限於此等所說明之例示性單元。本發明之實施例可適當地用於包括主動積體電路(其包括記憶體及晶載電路)之任何器件中。
因此,如說明性過程900中所描述,可製造、處理圖1之可組態快取記憶體、圖2之可組態快取記憶體或其任何組合並將其併入至電子器件中。參看圖1至圖8所揭示之實施例的一或多個態樣可包括於各種處理階段處(諸如,包括於程式庫檔案912、GDSII檔案926及GERBER檔案952內),以及儲存於研究電腦906之記憶體910、設計電腦914之記憶體918、電腦946之記憶體950、在各種階段處(諸如,在板裝配過程954處)所使用之一或多個其他電腦或處理器(未圖示)的記憶體處,且亦併入於一或多個其他實體實施例中,諸如,遮罩932、晶粒936、封裝940、PCA 958、諸如原型電路或器件(未圖示)之其他產品,或其任何組合。儘管描繪了自實體器件設計至最終產品之生產的各種代表性階段,但在其他實施例中可使用較少階段或可包括額外階段。類似地,過程900可藉由單一實體或藉由執
行過程900之各種階段之一或多個實體來執行。
熟習此項技術者將進一步瞭解,結合本文中所揭示之實施例而描述之各種說明性邏輯區塊、組態、模組、電路及演算法步驟可實施為電子硬體、電腦軟體或兩者之組合。為了清楚地說明硬體與軟體之此可互換性,各種說明性組件、區塊、組態、模組、電路及步驟已在上文大體上按其功能性加以描述。將此功能性實施為硬體或是軟體,端視特定應用及強加於整個系統上之設計約束而定。對於每一特定應用而言,熟習此項技術者可以變化之方式實施所描述之功能性,但不應將該等實施決策解釋為導致脫離本發明之範疇。
結合本文中所揭示之實施例所描述之方法或演算法的步驟可直接以硬體、由處理器執行之軟體模組或該兩者之組合來具體化。軟體模組可駐存於隨機存取記憶體(RAM)、快閃記憶體、唯讀記憶體(ROM)、可程式化唯讀記憶體(PROM)、可抹除可程式化唯讀記憶體(EPROM)、電可抹除可程式化唯讀記憶體(EEPROM)、暫存器、硬碟、可抽換式碟片、緊密磁碟唯讀記憶體(CD-ROM),或此項技術中已知之任一其他形式之儲存媒體中。例示性儲存媒體耦接至處理器,使得處理器可自儲存媒體讀取資訊及將資訊寫入至儲存媒體。在替代例中,儲存媒體可整合至處理器。處理器及儲存媒體可存在於特殊應用積體電路(ASIC)中。該ASIC可存在於計算器件或使用者終端機中。在替代例中,處理器及儲存媒體可作為離散組件存在於計算器件
或使用者終端機中。
提供所揭示之實施例的前述描述以使任何熟習此項技術者能夠製作或使用所揭示之實施例。此等實施例之各種修改對於熟習此項技術者而言將顯而易見,且本文所界定之一般原理可在不脫離本發明之精神或範疇的情況下應用於其他實施例。因此,本發明並非意欲限於本文中所展示之實施例,而應符合可能與如以下申請專利範圍所界定之原理及新穎特徵相一致的最廣泛範疇。
100‧‧‧可組態快取記憶體系統
102‧‧‧位址
104‧‧‧共同位元
106‧‧‧可組態快取記憶體
108‧‧‧標籤狀態陣列
110‧‧‧快取資料區域
112‧‧‧快取線
112a‧‧‧區段或磁區
112b‧‧‧區段或磁區
114‧‧‧集合
116‧‧‧標籤區域
118‧‧‧狀態區域
120‧‧‧通道
122‧‧‧設定索引1
124‧‧‧設定索引2
126‧‧‧狀態位址
128‧‧‧標籤位址
200‧‧‧可組態快取記憶體系統
202‧‧‧記憶體位址暫存器
206‧‧‧可組態快取記憶體
208‧‧‧標籤狀態陣列
210‧‧‧資料區域
212‧‧‧快取線
214‧‧‧集合
216‧‧‧標籤區域
218‧‧‧狀態區域
220‧‧‧通道
222‧‧‧驗證位元
224‧‧‧索引電路
226‧‧‧比較電路
228‧‧‧驗證電路
230‧‧‧選擇電路
300‧‧‧暫存器系統
302‧‧‧用於快取記憶體查找之記憶體位址暫存器
304‧‧‧標籤部分
306‧‧‧移位設定索引
308‧‧‧共同位元
310‧‧‧標籤部分
312‧‧‧移位設定索引
314‧‧‧箭頭
316‧‧‧共同位元
318‧‧‧標籤部分
320‧‧‧移位設定索引
322‧‧‧箭頭
324‧‧‧狀態部分
400‧‧‧系統
402‧‧‧用於快取記憶體查找之記憶體位址暫存器
404‧‧‧多工器
406‧‧‧多工器
408‧‧‧設定索引
410‧‧‧二位元線
414‧‧‧7位元線
426‧‧‧選擇電路
428‧‧‧索引電路
430‧‧‧快取記憶體大小
500‧‧‧用以組態一可組態快取記憶體的方法
600‧‧‧用以組態一可組態快取記憶體的方法
700‧‧‧用以組態一可組態快取記憶體的方法
800‧‧‧系統
810‧‧‧信號處理器
822‧‧‧封裝級系統或晶載系統器件
826‧‧‧顯示控制器
828‧‧‧顯示器件
830‧‧‧輸入器件
832‧‧‧記憶體
834‧‧‧編碼器/解碼器
836‧‧‧揚聲器
838‧‧‧麥克風
840‧‧‧無線介面
842‧‧‧無線天線
844‧‧‧電源供應器
864‧‧‧可組態之快取記憶體模組
866‧‧‧電腦可執行指令
868‧‧‧相機介面
870‧‧‧視訊相機
900‧‧‧電子器件製造過程
902‧‧‧實體器件資訊
904‧‧‧使用者介面
906‧‧‧研究電腦
908‧‧‧處理器
910‧‧‧記憶體
912‧‧‧程式庫檔案
914‧‧‧設計電腦
916‧‧‧處理器
918‧‧‧記憶體
920‧‧‧電子設計自動化(EDA)工具
922‧‧‧電路設計資訊
924‧‧‧使用者介面
926‧‧‧GDSII檔案
928‧‧‧製造過程
930‧‧‧遮罩製造者
932‧‧‧代表性遮罩
934‧‧‧晶圓
936‧‧‧代表性晶粒
938‧‧‧封裝過程
940‧‧‧代表性封裝
942‧‧‧PCB設計資訊
944‧‧‧使用者介面
946‧‧‧電腦
948‧‧‧處理器
950‧‧‧記憶體
952‧‧‧GERBER檔案
954‧‧‧板裝配過程
956‧‧‧代表性PCB
958‧‧‧代表性印刷電路總成(PCA)
960‧‧‧產品製造過程
962‧‧‧第一代表性電子器件
964‧‧‧第二代表性電子器件
圖1為可組態快取記憶體系統之特定說明性實施例的方塊圖,該可組態快取記憶體系統具有一標籤狀態陣列、多個通道及一耦接至該標籤狀態陣列之快取資料區域;圖2為可組態快取記憶體系統之另一特定說明性實施例的方塊圖,該可組態快取記憶體系統具有一標籤狀態陣列、多個通道及一耦接至該標籤狀態陣列之快取資料區域;圖3為用於快取記憶體查找之記憶體位址暫存器及移位設定索引之特定說明性實施例的方塊圖;圖4為用於快取記憶體查找之記憶體位址暫存器及用以產生一設定索引之選擇電路及索引電路之特定說明性實施例的方塊圖;圖5為用以組態一可組態快取記憶體的方法之第一說明性實施例的流程圖;圖6為用以組態一可組態之快取記憶體的方法之第二說
明性實施例的流程圖;圖7為用以組態一可組態快取記憶體的方法之第三說明性實施例的流程圖;圖8為包括可組態快取記憶體模組的攜帶型通信器件之特定實施例的方塊圖;及圖9為用以製造包括可組態快取記憶體器件之電子器件的製造過程之特定說明性實施例的資料流程圖。
100‧‧‧可組態快取記憶體系統
102‧‧‧位址
104‧‧‧共同位元
106‧‧‧可組態快取記憶體
108‧‧‧標籤狀態陣列
110‧‧‧快取資料區域
112‧‧‧快取線
112a‧‧‧區段或磁區
112b‧‧‧區段或磁區
114‧‧‧集合
116‧‧‧標籤區域
118‧‧‧狀態區域
120‧‧‧通道
122‧‧‧設定索引1
124‧‧‧設定索引2
126‧‧‧狀態位址
128‧‧‧標籤位址
Claims (38)
- 一種用於組態一快取記憶體之方法,其包含:改變該快取記憶體之一大小;及回應於改變該快取記憶體之該大小而對待自該快取記憶體擷取之資料的一位址之一設定索引部分的一位置進行移位,其中當對該位置進行移位時該設定索引部分之一位元長度並不改變,以及其中該設定索引部分係為可組態以與該位址之一狀態位址部份之至少一位元重疊。
- 如請求項1之方法,其中當該快取記憶體經組態而具有一第一大小時或當該快取記憶體經組態而具有一大於該第一大小之第二大小時,該設定索引部分與該位址之該狀態位址部分的該至少一位元重疊。
- 如請求項2之方法,其中該快取記憶體進一步可組態以具有一大於該第二大小之第三大小。
- 如請求項3之方法,其中當該快取記憶體經組態而具有該第一大小時,該設定索引部分與該位址之該狀態位址部分的兩個位元重疊,其中當該快取記憶體經組態而具有該第二大小時,該設定索引部分與該位址之該狀態位址部分的一單一位元重疊,且其中當該快取記憶體經組態而具有該第三大小時,該設定索引部分不與該位址之該狀態位址部分的任何位元重疊。
- 如請求項1之方法,其中改變該快取記憶體之該大小係藉由一電子器件之一處理器來執行。
- 如請求項1之方法,其中改變該快取記憶體之該大小及 對待自該快取記憶體擷取的資料之該位址的該設定索引部分的該位置進行移位係在一整合至一電子器件中之處理器處執行的。
- 如請求項1之方法,其中當該快取記憶體之該大小係小於或等於一特定大小時,該位址之該狀態位址部份之該至少一位元係經重疊的。
- 如請求項1之方法,其中該快取記憶體包括一標籤狀態陣列。
- 如請求項8之方法,其中該標籤狀態陣列包括:一可藉由至少該設定索引部分定址之標籤區域;及一可藉由該位址之該狀態位址部分定址之狀態區域,其中該設定索引部分及該位址之該狀態位址部分包括至少一共同位元。
- 如請求項9之方法,其中該設定索引部分及該位址之該狀態位址部分包括二個共同位元。
- 如請求項9之方法,其中在該設定索引部分及該位址之該狀態位址部分之間的共同位元數目係依據該快取記憶體之該大小而變化。
- 一種用於組態一快取記憶體之裝置,其包含:用於在一處理器處改變該快取記憶體之一大小的構件;及用於回應於改變該快取記憶體之該大小而對待自該快取記憶體擷取之資料的一位址之一設定索引部分之一位置進行移位的構件,其中當對該位置進行移位時該設定 索引部分之一位元長度並不改變,以及其中該設定索引部分係為可組態以與該位址之一狀態位址部份之至少一位元重疊;其中該用於改變該快取記憶體之該大小的構件或該用於對該設定索引部分之該位置進行移位的構件係由硬體所實施。
- 如請求項12之裝置,其進一步包含:用於處理儲存於該快取記憶體處之資料或指令的處理構件;及用於接收無線資料之無線通信構件,該無線通信構件耦接至該處理構件。
- 如請求項12之裝置,其中該處理器係被整合於至少一半導體晶粒中。
- 如請求項12之裝置,其進一步包含一選自由以下各物組成之群組的器件:一機上盒、一音樂播放器、一視訊播放器、一娛樂單元、一導航器件、一通信器件、一個人數位助理(PDA)、一經固定之位置資料單元,及一電腦,該快取記憶體被整合於該器件中。
- 如請求項12之裝置,其中當該快取記憶體之該大小係小於或等於一特定大小時,該位址之該狀態位址部份之該位元係經重疊的。
- 如請求項12之裝置,其中當該快取記憶體經組態而具有一第一大小時或當該快取記憶體經組態而具有一大於該第一大小之第二大小時,該位址之該狀態位址部分之該 位元係經重疊。
- 如請求項12之裝置,其中在該移位位置處之該設定索引部分與該位址之該狀態位址部分之該位元以及該位址之該狀態位址部分之一個額外位元重疊。
- 一種非暫態電腦可讀媒體,其包含若干指令,當該等指令由一處理器所執行時,致使該處理器:將一快取記憶體自一具有一第一資料區域大小之第一組態改變至一具有一第二資料區域大小之第二組態,其中該快取記憶體係藉由下列方式所改變:增加與該快取記憶體之一資料陣列的每一項相關聯之資料的一量且維持該資料陣列的可經由一設定索引定址之項的一第一數目,及維持該資料陣列的與該設定索引之每一值相關聯之項的一第二數目;及對給一標籤狀態陣列編索引之一記憶體位址之位元的一範圍進行移位,該標籤狀態陣列與該資料陣列相關聯,其中基於將該快取記憶體自該第一組態改變至該第二組態來對給該標籤狀態陣列編索引之位元的該範圍進行移位;其中當該快取記憶體係在該第一組態時或在該第二組態中時,該設定索引與一狀態位址之至少一位元重疊,其中該第二資料區域大小係大於該第一資料區域大小。
- 如請求項19之非暫態電腦可讀媒體,該等指令進一步包含若干指令,當該等指令由該處理器所執行時,致使該處理器: 設定對一對多工器之控制輸入,該對多工器各自接收來自給該標籤狀態陣列編索引的位元之該範圍的至少一輸入且各自將一可選位元輸出至該設定索引。
- 如請求項20之非暫態電腦可讀媒體,該等指令進一步包含若干指令,當該等指令由該處理器所執行時,致使該處理器:將該快取記憶體自該具有該第二資料區域大小之第二組態改變至一具有一第三資料區域大小之第三組態,其中該快取記憶體係藉由下列方式所改變:增加與該快取記憶體之一資料陣列的每一項相關聯之資料的該量且維持該資料陣列的可經由該設定索引定址之項的該第一數目,及維持該資料陣列的與該設定索引之每一值相關聯之項的該第二數目;及對給該標籤狀態陣列編索引的該記憶體位址之位元的該範圍進行移位,該標籤狀態陣列與該資料陣列相關聯,其中回應於將該快取記憶體自該第二組態改變至該第三組態來對給該標籤狀態陣列編索引之位元的該範圍進行移位。
- 如請求項19之電腦可讀有形媒體,其中該電腦係實施於一攜帶型電子器件中。
- 如請求項19之電腦可讀有形媒體,其中該等指令可由一整合於一器件中之處理器執行,該器件係選自由以下各物組成之群組:一機上盒、一音樂播放器、一視訊播放器、一娛樂單元、一導航器件、一通信器件、一個人數 位助理(PDA)、一經固定之位置資料單元及一電腦。
- 一種用於組態一快取記憶體之方法,其包含:一第一步驟,其用於改變該快取記憶體之一大小;及一第二步驟,其用於回應於改變該快取記憶體之該大小而對待自該快取記憶體擷取之資料的一位址之一設定索引部分之一位置進行移位,其中當對該位置進行移位時該設定索引部分之一位元長度並不改變,其中該設定索引部分係為可組態以在該設定索引部分係在該經移位之位置處時,與該位址之一狀態位址部分之至少一位元重疊。
- 如請求項24之方法,其中該第一步驟及該第二步驟係在一整合於一電子器件中之處理器處執行。
- 如請求項24之方法,其中在對該設定索引部分之該位址進行移位之前,該設定索引部分並未與該位址之該狀態位址部分之任何位元重疊。
- 如請求項24之方法,其中該快取記憶體進一步可組態以具有一第一大小、一第二大小、或一第三大小中之一者,其中該第三大小係大於該第二大小,且其中該第二大小係大於該第一大小。
- 如請求項27之方法,其中當該快取記憶體經組態以具有該第一大小時,該設定索引部分與該位址之該狀態位址部分之二個位元重疊,其中當該快取記憶體經組態以具有該第二大小時,該設定索引部分與該位址之該狀態位址部分之一單一位元重疊,以及其中當該快取記憶體經 組態以具有該第三大小時,該設定索引部分並未與該位址之該狀態位址部分之任何位元重疊。
- 一種用於組態一快取記憶體之裝置,其包含:該快取記憶體;及一經耦接至該快取記憶體之處理器,其中該處理器經組態以:改變該快取記憶體之一大小;及回應於改變該快取記憶體之該大小而對待自該快取記憶體擷取之資料的一位址之一設定索引部分之一位置進行移位,其中當對該位置進行移位時該設定索引部分之一位元長度並不改變,以及其中該設定索引部分係為可組態以與該位址之一狀態位址部份之至少一位元重疊。
- 如請求項29之裝置,其中當該快取記憶體之該大小係小於一特定大小時,該位址之該狀態位址部份之該至少一位元係經重疊。
- 如請求項29之裝置,其中對該設定索引部分之該位置進行移位並不改變該位址之一值。
- 如請求項29之裝置,其中該設定索引部分之該位置識別欲被包含於該設定索引部分中之一組位元。
- 如請求項32之裝置,其中該快取記憶體包括一標籤狀態陣列,其中該標籤狀態陣列包括:一可藉由至少該設定索引部分定址之標籤區域;及一可藉由該位址之該狀態位址部分定址之狀態區域,其中該設定索引部分及該位址之該狀態位址部分包括至 少一共同位元。
- 如請求項33之裝置,進一步包含一多工器,其具有一經耦接以接收該至少一共同位元之輸入以及具有一經耦接至該標籤區域輸出,其中該多工器係經組態以選擇性地將該至少一共同位元提供為一至該設定索引部分之可選擇輸入。
- 如請求項33之裝置,其中該位址之該狀態位址部分及該設定索引部分包括在一第一組態中之二個共同位元以及在一第二組態中之一個共同位元。
- 一種非暫態電腦可讀媒體,其包含若干指令,當該等指令由一處理器所執行時,致使該處理器:改變該快取記憶體之一大小;及回應於改變該快取記憶體之該大小而對待自該快取記憶體擷取之資料的一位址之一設定索引部分之一位置進行移位,其中該設定索引部分係為可組態以與該位址之一狀態位址部份之至少一位元重疊。
- 如請求項36之非暫態電腦可讀媒體,其中對該設定索引部分之該位置進行移位包括將來自於該位址中之一第一位置之該位置移位至該位址中之一第二位置。
- 如請求項37之非暫態電腦可讀媒體,其中該第一位置識別一具有該位元長度之第一設定索引部分且該第二位置識別一具有該位元長度之第二設定索引部分。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/397,185 US8266409B2 (en) | 2009-03-03 | 2009-03-03 | Configurable cache and method to configure same |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201106158A TW201106158A (en) | 2011-02-16 |
TWI418982B true TWI418982B (zh) | 2013-12-11 |
Family
ID=42112122
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102138554A TWI516932B (zh) | 2009-03-03 | 2010-03-03 | 用於快取記憶體組態之方法、裝置及非暫態電腦可讀媒體 |
TW099106221A TWI418982B (zh) | 2009-03-03 | 2010-03-03 | 可組態快取記憶體及組態其之方法 |
TW104138095A TWI548992B (zh) | 2009-03-03 | 2010-03-03 | 用於快取記憶體組態之方法、裝置及非暫態電腦可讀媒體 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102138554A TWI516932B (zh) | 2009-03-03 | 2010-03-03 | 用於快取記憶體組態之方法、裝置及非暫態電腦可讀媒體 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104138095A TWI548992B (zh) | 2009-03-03 | 2010-03-03 | 用於快取記憶體組態之方法、裝置及非暫態電腦可讀媒體 |
Country Status (8)
Country | Link |
---|---|
US (3) | US8266409B2 (zh) |
EP (1) | EP2404241A1 (zh) |
JP (2) | JP5357277B2 (zh) |
KR (2) | KR101293613B1 (zh) |
CN (3) | CN104598395B (zh) |
BR (1) | BRPI1009228B1 (zh) |
TW (3) | TWI516932B (zh) |
WO (1) | WO2010102048A1 (zh) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8266409B2 (en) | 2009-03-03 | 2012-09-11 | Qualcomm Incorporated | Configurable cache and method to configure same |
EP2261805B1 (en) * | 2009-06-12 | 2013-07-31 | Siemens Aktiengesellschaft | Method for storing real time values |
US8595441B1 (en) * | 2010-01-04 | 2013-11-26 | Marvell Israel (M.I.S.L) Ltd. | Cache operations using transformed indexes |
CN102541754A (zh) * | 2010-12-27 | 2012-07-04 | 北京国睿中数科技股份有限公司 | 用于对存储器进行配置的系统和方法 |
US8890601B2 (en) * | 2011-11-11 | 2014-11-18 | Qualcomm Incorporated | Method, system, and circuit with a driver output interface having a common mode connection coupled to a transistor bulk connection |
US20130173881A1 (en) * | 2011-12-29 | 2013-07-04 | You-Chang Hsiao | Circuit for setting a plurality of blocks as an in-system programming area and a data buffer area and method therefore |
CN102541761B (zh) * | 2012-01-17 | 2014-10-22 | 苏州国芯科技有限公司 | 应用于嵌入式芯片的只读高速缓冲存储器 |
US9058268B1 (en) * | 2012-09-20 | 2015-06-16 | Matrox Graphics Inc. | Apparatus, system and method for memory management |
US8886886B2 (en) * | 2012-09-28 | 2014-11-11 | Apple Inc. | System cache with sticky removal engine |
CN103019959B (zh) * | 2012-11-21 | 2016-05-04 | 中国科学院声学研究所 | 一种指令高速缓冲存储器 |
US9087561B2 (en) * | 2012-12-21 | 2015-07-21 | Advanced Micro Devices, Inc. | Hybrid cache |
US9165650B2 (en) * | 2013-02-07 | 2015-10-20 | Qualcomm Incorporated | Hybrid dynamic-static encoder with optional hit and/or multi-hit detection |
CN103546802B (zh) * | 2013-10-15 | 2017-07-25 | 深圳Tcl新技术有限公司 | 动态调整缓存的方法及显示终端 |
US9239788B2 (en) * | 2013-10-24 | 2016-01-19 | Qualcomm Incorporated | Split write operation for resistive memory cache |
US9304929B2 (en) | 2013-10-24 | 2016-04-05 | Mediatek Singapore Pte. Ltd. | Storage system having tag storage device with multiple tag entries associated with same data storage line for data recycling and related tag storage device |
US9398297B2 (en) | 2013-11-04 | 2016-07-19 | Intel Corporation | Integral image coding |
US9430394B2 (en) * | 2013-12-12 | 2016-08-30 | Mediatek Singapore Pte. Ltd. | Storage system having data storage lines with different data storage line sizes |
CN104731519B (zh) * | 2013-12-20 | 2018-03-09 | 晨星半导体股份有限公司 | 快取存储器管理装置及应用该快取存储器管理装置的动态影像系统及方法 |
KR102317248B1 (ko) * | 2014-03-17 | 2021-10-26 | 한국전자통신연구원 | 캐시의 부분연관 재구성을 이용한 캐시 제어 장치 및 캐시 관리 방법 |
US9779025B2 (en) * | 2014-06-02 | 2017-10-03 | Micron Technology, Inc. | Cache architecture for comparing data |
KR102354848B1 (ko) * | 2014-11-28 | 2022-01-21 | 삼성전자주식회사 | 캐시 메모리 장치 및 이를 포함하는 전자 시스템 |
US9916251B2 (en) | 2014-12-01 | 2018-03-13 | Samsung Electronics Co., Ltd. | Display driving apparatus and cache managing method thereof |
EP3066559B1 (en) * | 2014-12-13 | 2019-05-29 | VIA Alliance Semiconductor Co., Ltd. | Logic analyzer for detecting hangs |
US10528345B2 (en) * | 2015-03-27 | 2020-01-07 | Intel Corporation | Instructions and logic to provide atomic range modification operations |
US9916252B2 (en) * | 2015-05-19 | 2018-03-13 | Linear Algebra Technologies Limited | Systems and methods for addressing a cache with split-indexes |
US20170046167A1 (en) * | 2015-08-14 | 2017-02-16 | Qualcomm Incorporated | Predicting memory instruction punts in a computer processor using a punt avoidance table (pat) |
CN106708747A (zh) * | 2015-11-17 | 2017-05-24 | 深圳市中兴微电子技术有限公司 | 一种存储器切换方法及装置 |
US9747041B2 (en) * | 2015-12-23 | 2017-08-29 | Intel Corporation | Apparatus and method for a non-power-of-2 size cache in a first level memory device to cache data present in a second level memory device |
KR101780586B1 (ko) * | 2016-03-16 | 2017-09-21 | 고려대학교 산학협력단 | 모놀리식 3d 집적 구조 기반 캐시메모리 |
CN105843360B (zh) * | 2016-03-23 | 2018-06-12 | 中国电子科技集团公司第三十八研究所 | 一种降低指令高速缓冲存储器功耗的装置及方法 |
US10152276B2 (en) * | 2016-07-18 | 2018-12-11 | Winbond Electronics Corporation | Memory device including data processor and program method of same |
US20180088829A1 (en) * | 2016-09-29 | 2018-03-29 | Qualcomm Incorporated | Area efficient architecture for multi way read on highly associative content addressable memory (cam) arrays |
US10599566B2 (en) * | 2016-11-29 | 2020-03-24 | Qualcomm Incorporated | Multi-mode cache invalidation |
US10474458B2 (en) | 2017-04-28 | 2019-11-12 | Intel Corporation | Instructions and logic to perform floating-point and integer operations for machine learning |
WO2019191743A1 (en) * | 2018-03-31 | 2019-10-03 | Micron Technology, Inc. | Conditional branching control for a multi-threaded, self- scheduling reconfigurable computing fabric |
CN109801655B (zh) * | 2018-12-19 | 2020-10-13 | 成都海光集成电路设计有限公司 | 标签存储位读出比较电路以及标签数据读出比较电路 |
TWI706250B (zh) * | 2019-02-26 | 2020-10-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
US11934342B2 (en) | 2019-03-15 | 2024-03-19 | Intel Corporation | Assistance for hardware prefetch in cache access |
AU2020241262A1 (en) | 2019-03-15 | 2021-11-04 | Intel Corporation | Sparse optimizations for a matrix accelerator architecture |
US12013808B2 (en) | 2019-03-15 | 2024-06-18 | Intel Corporation | Multi-tile architecture for graphics operations |
EP4024223A1 (en) | 2019-03-15 | 2022-07-06 | Intel Corporation | Systems and methods for cache optimization |
CN110147330B (zh) * | 2019-05-23 | 2023-09-01 | 深圳市创维软件有限公司 | 一种字模数据的缓存方法、装置、设备和存储介质 |
US11507174B2 (en) * | 2020-02-25 | 2022-11-22 | Qualcomm Incorporated | System physical address size aware cache memory |
US11294808B2 (en) | 2020-05-21 | 2022-04-05 | Micron Technology, Inc. | Adaptive cache |
US20210374607A1 (en) * | 2020-05-29 | 2021-12-02 | Advanced Micro Devices, Inc. | Stacked dies for machine learning accelerator |
US11422934B2 (en) | 2020-07-14 | 2022-08-23 | Micron Technology, Inc. | Adaptive address tracking |
US11409657B2 (en) | 2020-07-14 | 2022-08-09 | Micron Technology, Inc. | Adaptive address tracking |
US11507516B2 (en) | 2020-08-19 | 2022-11-22 | Micron Technology, Inc. | Adaptive cache partitioning |
US12105628B2 (en) * | 2021-10-19 | 2024-10-01 | Electronics And Telecommunications Research Institute | Apparatus and method for managing cache memory including cache lines with variable cache line configuration |
KR20230075914A (ko) * | 2021-11-23 | 2023-05-31 | 삼성전자주식회사 | 프로세싱 장치 및 이의 동작 방법과 전자 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5857214A (en) * | 1995-12-18 | 1999-01-05 | Advanced Micro Devices, Inc. | Microprocessor with a fixed cache size selected from a predesigned set of sizes |
US20050270876A1 (en) * | 2002-12-17 | 2005-12-08 | International Business Machines Corporation | Selectively changeable line width memory |
TWI292557B (zh) * | 2004-02-11 | 2008-01-11 | Via Tech Inc | |
TW200821906A (en) * | 2006-02-24 | 2008-05-16 | Intel Corp | Reclaim algorithm for fast edits in a nonvolatile file system |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4315312A (en) * | 1979-12-19 | 1982-02-09 | Ncr Corporation | Cache memory having a variable data block size |
US5257360A (en) * | 1990-03-23 | 1993-10-26 | Advanced Micro Devices,Inc. | Re-configurable block length cache |
US5586303A (en) * | 1992-02-12 | 1996-12-17 | Integrated Device Technology, Inc. | Structure and method for providing a cache memory of selectable sizes |
US5721874A (en) * | 1995-06-16 | 1998-02-24 | International Business Machines Corporation | Configurable cache with variable, dynamically addressable line sizes |
US6725334B2 (en) * | 2000-06-09 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | Method and system for exclusive two-level caching in a chip-multiprocessor |
US6865646B2 (en) * | 2001-12-31 | 2005-03-08 | Intel Corporation | Segmented distributed memory module cache |
AU2002360640A1 (en) * | 2002-12-17 | 2004-07-29 | International Business Machines Corporation | Selectively changeable line width memory |
US7127560B2 (en) * | 2003-10-14 | 2006-10-24 | International Business Machines Corporation | Method of dynamically controlling cache size |
US7133997B2 (en) * | 2003-12-22 | 2006-11-07 | Intel Corporation | Configurable cache |
KR100714933B1 (ko) * | 2005-05-17 | 2007-05-07 | 인터내셔널 비지네스 머신즈 코포레이션 | 선택성이 있는 가변 라인 폭 메모리 |
US7861055B2 (en) | 2005-06-07 | 2010-12-28 | Broadcom Corporation | Method and system for on-chip configurable data ram for fast memory and pseudo associative caches |
JP4364166B2 (ja) * | 2005-06-30 | 2009-11-11 | 株式会社東芝 | キャッシュ装置 |
US20090006803A1 (en) * | 2007-06-28 | 2009-01-01 | David Arnold Luick | L2 Cache/Nest Address Translation |
US20090006754A1 (en) | 2007-06-28 | 2009-01-01 | Luick David A | Design structure for l2 cache/nest address translation |
US8266409B2 (en) | 2009-03-03 | 2012-09-11 | Qualcomm Incorporated | Configurable cache and method to configure same |
-
2009
- 2009-03-03 US US12/397,185 patent/US8266409B2/en active Active
-
2010
- 2010-03-03 CN CN201510017107.1A patent/CN104598395B/zh active Active
- 2010-03-03 KR KR1020137016407A patent/KR101293613B1/ko active IP Right Grant
- 2010-03-03 TW TW102138554A patent/TWI516932B/zh active
- 2010-03-03 KR KR1020117023295A patent/KR101293623B1/ko active IP Right Grant
- 2010-03-03 BR BRPI1009228-5A patent/BRPI1009228B1/pt active IP Right Grant
- 2010-03-03 JP JP2011552230A patent/JP5357277B2/ja active Active
- 2010-03-03 WO PCT/US2010/026106 patent/WO2010102048A1/en active Application Filing
- 2010-03-03 EP EP10707768A patent/EP2404241A1/en not_active Ceased
- 2010-03-03 TW TW099106221A patent/TWI418982B/zh active
- 2010-03-03 TW TW104138095A patent/TWI548992B/zh active
- 2010-03-03 CN CN201510017108.6A patent/CN104572503B/zh active Active
- 2010-03-03 CN CN201080010235.9A patent/CN102341794B/zh active Active
-
2012
- 2012-06-25 US US13/531,803 patent/US8719503B2/en active Active
-
2013
- 2013-08-28 JP JP2013176397A patent/JP5650821B2/ja active Active
-
2014
- 2014-03-19 US US14/219,034 patent/US8943293B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5857214A (en) * | 1995-12-18 | 1999-01-05 | Advanced Micro Devices, Inc. | Microprocessor with a fixed cache size selected from a predesigned set of sizes |
US20050270876A1 (en) * | 2002-12-17 | 2005-12-08 | International Business Machines Corporation | Selectively changeable line width memory |
TWI292557B (zh) * | 2004-02-11 | 2008-01-11 | Via Tech Inc | |
TW200821906A (en) * | 2006-02-24 | 2008-05-16 | Intel Corp | Reclaim algorithm for fast edits in a nonvolatile file system |
Also Published As
Publication number | Publication date |
---|---|
TW201610681A (zh) | 2016-03-16 |
KR101293613B1 (ko) | 2013-08-13 |
CN102341794A (zh) | 2012-02-01 |
US8943293B2 (en) | 2015-01-27 |
TW201415228A (zh) | 2014-04-16 |
KR20110127733A (ko) | 2011-11-25 |
JP5357277B2 (ja) | 2013-12-04 |
US20100228941A1 (en) | 2010-09-09 |
US8266409B2 (en) | 2012-09-11 |
JP2013257902A (ja) | 2013-12-26 |
BRPI1009228A2 (pt) | 2016-03-15 |
CN104572503B (zh) | 2018-07-03 |
WO2010102048A1 (en) | 2010-09-10 |
CN102341794B (zh) | 2015-02-11 |
CN104598395A (zh) | 2015-05-06 |
CN104598395B (zh) | 2017-10-31 |
TWI548992B (zh) | 2016-09-11 |
BRPI1009228B1 (pt) | 2020-12-01 |
JP5650821B2 (ja) | 2015-01-07 |
KR101293623B1 (ko) | 2013-08-13 |
US20140208027A1 (en) | 2014-07-24 |
US8719503B2 (en) | 2014-05-06 |
US20120265943A1 (en) | 2012-10-18 |
EP2404241A1 (en) | 2012-01-11 |
JP2012519334A (ja) | 2012-08-23 |
KR20130080868A (ko) | 2013-07-15 |
TWI516932B (zh) | 2016-01-11 |
CN104572503A (zh) | 2015-04-29 |
TW201106158A (en) | 2011-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI418982B (zh) | 可組態快取記憶體及組態其之方法 | |
EP3090343B1 (en) | Bit remapping system | |
US8724414B2 (en) | System and method to select a reference cell | |
US8195916B2 (en) | Apparatus and method to translate virtual addresses to physical addresses in a base plus offset addressing mode | |
EP3074869B1 (en) | Bit recovery system | |
US9224442B2 (en) | System and method to dynamically determine a timing parameter of a memory device | |
EP3080814B1 (en) | System and method to perform low power memory operations |