TW559822B - Method and apparatus for masking out non-operable memory cells - Google Patents

Method and apparatus for masking out non-operable memory cells Download PDF

Info

Publication number
TW559822B
TW559822B TW91112135A TW91112135A TW559822B TW 559822 B TW559822 B TW 559822B TW 91112135 A TW91112135 A TW 91112135A TW 91112135 A TW91112135 A TW 91112135A TW 559822 B TW559822 B TW 559822B
Authority
TW
Taiwan
Prior art keywords
logical address
physical
mapping
memory
page
Prior art date
Application number
TW91112135A
Other languages
English (en)
Inventor
Gerd Dirscherl
Heimo Hartlieb
Christian May
Holger Sedlak
Original Assignee
Infineon Technologies Ag
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 Infineon Technologies Ag filed Critical Infineon Technologies Ag
Application granted granted Critical
Publication of TW559822B publication Critical patent/TW559822B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/20Address safety or protection circuits, i.e. arrangements for preventing unauthorized or accidental access

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

559822 五 、發明説明( 發明領域 本叙明與一種用於控制一邏輯位址空間之一邏輯位址對 μ 貫體位址空間之一實體位址之映射的方法及裝置有 關,用以遮罩(例如)EEPR0M記憶體的非可運作記憶體單 元。具體而言,本發明與遮軍安全模組之非揮發性記憶體 的非可運作記憶體單元有關’例如,晶片卡、多應用晶片 卡、智慧卡等等。 發明背景 見7在日常生活的幾乎任何領域都會使用晶片卡,例 如’當作電話卡、支付τν應用或行動電話的智慧卡、電 子識別卡、制卡料使用。在此關係巾,尤其就金錢轉 帳及識別領域的晶片卡應用而言,對於晶片卡功能的需求 2別咼。因此,現今晶片卡必須包括高度安全性、計算效 :及微型化°⑤晶片卡製造程序期間,對於晶片卡的這些 需求會遞增,目為除了小型尺寸及行動應用方面的耗電量 党到限制以外,同樣需要提供低成本生產_就大量生產而 言。 ,了保證高度安全性’所以必需避免任何未經授權存取 健存於晶片上的資訊,例如’如私密金錄、就信用卡而言 的信用卡卡號、帳戶號碼及資產,以及就支付τν智慧卡 =的智慧卡m、客戶ID及其他客戶特有資訊,現今,該 :明片卡中已實施複雜的加密演异法,以便能夠執行數位 簽名、鑑認及編碼與解碼卫作。已知的加密演算法包括非 對稱式編碼演算法(如RSA演算法)' 對稱式編碼演算法(如 I_________ -5- 本紙張^ 五、發明説明(2 ) DES-處理程序)及以橢圓曲線為基礎的方法。所有這些方 法的共同之處為’加密演算法的安全性會隨著基礎加密運 算元長度而遞增,所以需要相當高的計算致能以達成高度 安全性。當使用RSA演算法,運算元主要包括(例如)顯 或2048位位元長度。 具體而言,除了行動應用的低最大功率需求以外還對微 型化的高度需求面臨安全晶片卡實現的問題。當晶片卡上 可用的記憶體數量因小型晶片㈣而受至限制^曰計算效 能及時脈速率也因耗電量限制條件而受到限制。因此,現 今晶片卡使用適用於晶片卡應用的微處理器,除了cpu# 外,其還使用快速且功率最佳化的加密處理器這是專為 執=加密演算法的特殊計算運用所提供,例如,執行模組 或算術計算運算、雜湊值形式等等。 由於有關整合度及耗電量之半導體技術領域不斷開發, 所=近年來已具有適合數種應用之用的晶片卡。除了微處 理器以外,這些晶片卡包括用於儲存作業系統的ROM、當 作工作用記憶體的RAM及用於儲存可在晶片卡上執行之各 種應用程式的作NVM (NVM==非揮發性記憶體)。 更新代晶片卡引發的一項問題為,用於儲存各種應用程 式及晶片卡特有資訊之非揮發性記憶體的記憶體單元包括 有限使用期限,並且會在特定時間之後失去正常運作。在 此關係中,會藉由檢查總和來辨識錯誤。使用在晶片卡上 運作之程式的軟體及藉由使用適當的措施,必須排除發生 資訊遺失。 559822
發明概要 本發明目的是提供一種用於提供一程式的裝置及方法, 其中即使貫體記憶體單元已不良或有缺陷,該程式仍然可 存取記憶體線性位址空間的無錯誤記憶體。 藉由如申請專利範圍第1項之方法及如申請專利範圍第 12項之裝置可達成此項目的。 本發明的基本構想為,經由邏輯位址存取一實體記憶體 ,該等邏輯位址係經由一映射被映射至該實體記憶體的實 體位址,即,可經由虛擬記憶體定址,以簡單且高效率方 式遮罩非可運作記憶體單元。在使用虛擬記憶體定址的工 作站中沒有取代缺陷實體記憶體區域問題,這是因為只有 非常低不良率的RAM被視為適合當作一基礎實體記憶體。 根據本發明,在檢查一記憶體單元過程中將所檢查記憶 體單το建立為非可運作記憶體單元之後,即達成一實體記 憶體之非可運作記憶體單元之遮罩,其方式是變更該實體 位址空間中映射的邏輯位址空間,以將已映射至該映射之 與該記憶體單元相關之該實體位址所映射的邏輯映射至該 該實體位址空間中的另一實體位址。針對在邏輯位址空間 中執行並且經由邏輯位址存取實體記憶體的應用程式,由 於邏輯位址空間,所以只“看到,,可運用記憶體單元,這是 因為映射被控制或“重新導向”,以至於沒有任何邏輯位址 被映射至非可運作記憶體單元所屬的實體位址。此外,由 於邏輯位址空間的穩定性(即,與程式流程相關之位址空 間的穩定性),所以可維持晶片卡上可執行之程式的程式 本紙張尺度適财關家標準(CNS) A4規格(2i〇X297公 559822
設計’因此’不需要因映射變更而變更程式設計。 實體記憶體最好是安全模組(例如,如晶片卡或智慧卡) 中可通常取得的非揮發性記憶體(例如,如EEPr〇M或快 閃記憶體)’這些3己憶體中之記憶體單元的運作時間或使 用期限相當短。例如,可將邏輯位址對實體位址的映射以 轉譯查詢表形式儲存’其中會在轉譯查詢表中輸入成對的 邏輯位址及實體位址。在第一項具體實施例中,已將所有 的邏輯位址與實體位址一起輸入至查詢表中,其中由於已 決定非可運作記憶體單元,所以已被映射至另一實體位址 。在本具體實施例中,藉由識別映射,不存在於轉譯查詢 表中的所有邏輯位址已映射至一與邏輯位址完全一樣的實 體位址。萬一檢查記憶體單元的結果是所檢查記憶體單元 為非可運作,並且因此應變更映射,則會將該邏輯位址與 另一新實體位址一起輸入至轉譯查詢表中,或是變更或取 代該邏輯位址的現有項目。例如,當應用程式藉由讀取、 寫入或執行關於一邏輯位址的操作以存取實體記憶體時, 會先檢查該轉譯查詢表中是否有該邏輯位址的項目存在, 並且,如果該轉譯查詢表中有該邏輯位址的項目存在的情 況下,則會在本處理程序中存取該實體記憶體的記憶體單 元’該等記憶體單元與該轉譯查詢表項目中的該實體位址 有關,並且,如果該轉譯查詢表中沒有該邏輯位址的項目 ,則會將該邏輯位址當作一實體位址使用,並且藉由該完 全一樣實體位址來存取該實體記憶體。 在第二項具體實施例中,識別映射原理不存在,並且根 -8 - 本紙張尺度適用巾® ®家襟準(CNS) A4规格(21〇χ 297公赞) 559822 五、發明説明(5 ) 本上會檢查-轉譯查詢表以將一邏輯位址重新計算為一實 體位址。如果該轉譯查詢纟中沒有邏輯位址存在,則硬體 會呼叫作業系統常式,以執行一例外處理,並且將該相對 應邏輯位址的-實體位址輸入至該轉譯查詢纟中。對應於 ‘‘缺陷”貫體位址(即,指派給缺陷記憶體單元的實體位址) 的邏輯位址被指派給與一無缺陷記憶體相關的新實體位址。 另一方面,為了持續管理轉譯表並且使轉譯表的相關記 憶體位置儘可能維持低或小,並且另一方面,當與同一記 憶體單7C —起遮罩缺陷或非可運作記憶體單元時儘可能曲 解(warp)或“浪費”很少的可運作記憶體單元,所以在這兩 項具體實施例中,轉譯表中不會提供每個個別位址的項目 ,而疋提供特定記憶體區段的項目。實際上,轉譯表中的 一位址輸入相當於邏輯位址空間與實體位址空間中一記憶 體區段的起點或具有一特定長度的記憶體部份。因此,會 將一實體位址指派給此類記憶體區段中的每個邏輯位址, 以使該記憶體區段之各自起點的間隔完全一樣,以產生一 逐頁式映射而不是逐字組式映射,用以在實體位址空間中 映射邏輯位址空間,其中會將一預先決定大小之實體位址 空間的頁面或記憶體區段(頁框)映射至該邏輯位址空間的 頁面。 為了提供介於管理轉譯查詢表所耗用記憶體與“被浪費,, 記憶體大小之間的合理補償,當遮罩一缺陷記憶體單元時 ,頁面區段大小最好介於32與128個位元組之間,如64個 位元組。這個區域導致非揮發性記憶體之記憶體單元之操 9- 本紙張尺度適用中國國豕標準(CNS) A·4規格(210 X 297公笼) 559822 A7 I~----- B7 五、發明説明(' 一 作時間或使用期限的最佳化頁面大小調整,具體而言,例 如,如晶片卡中常見之可用記憶體空間的最佳化頁面大小 調整。 就一實體位址而言,可在進行存取(例如,如讀取、寫 入或執行操作)之後立即執行檢查實體記憶體的記憶體單 元’或是在初始化使用實體記憶體的系統時執行檢查所有 邏輯位址。 • 假使於檢查期間發現一記憶體單元無法正常運作,則會 將彳s派給所檢查記憶體單元的邏輯位址映射至一新實體位 址,藉此遮罩指派給舊實體位址的記憶體區域。 根據特殊具體實施例,實體記憶體被排列在一專為數種 應用提供的晶片卡上。每個應用都被指派一所擁有的邏輯 位址空間預先決定區段,即使該位址空間之一邏輯位址所 映射之一實體位址的一記憶體單元不能正常運作,仍不會 變更該預先決定區段。具體而言,一應用之一記憶體區段 的單一記憶體行序列不會衝突於另一應用遮罩或取代一實 體位址。 I 在夕應用晶片卡中’其額外的優點為,即使單一記憶體 單7C不良,仍然可維持指派給單一應用的邏輯位址空間。 再者,會維護與邏輯位址空間有關之特定應用的位址空間 線性。 因此,本發明促使能夠在執行時間只能從運作中實體記 憶體建構一邏輯位址空間,並且用_正常運作的記憶體來 取代一缺陷記憶體,而不需要變更該邏輯位址空間,這是 I - 10- 本紙浪尺度適用中國國家標準(CNS) Α4規格(210X297公釐ΐ" -- 559822 A7 -_____ B7 五、發明説明(7~^ 發生於執行時間期間。 另外,本發明的實施及變化係定義在隨附的申請專利範 圍中’其中一種本發明裝置中的指定處理步驟可藉由相斜 應裝置執行,例如,以軟體或硬體實施的相對應裝置。 圖式簡單說明 下文中將參考附圖來詳細說明本發明較佳具體實施例, 其中: 圖1顯示在實體位址空間中映射邏輯位址空間的原理圖; 圖2顯示在初始化後檢查非揮發性記憶體之記憶體單元 的流程圖; 圖3顯示根據第一項具體實施例之在讀取、寫入或執行 操作之後存取非揮發性記憶體的流程圖; 圖4顯示根據第二項具體實施例之在讀取、寫入或執行 操作之後存取非揮發性記憶體的流程圖; 圖5顯示根據特殊具體實施例之在初始化後檢查非揮發 性記憶體之記憶體單元的流程圖;以及 圖6顯示根據本發明具體實施例之晶片卡中轉譯裝置排 列的方塊圖。 發明詳細說明 在參考圖2至6來說明本發明具體實施例之前,會先參考 圖1來說明就虛擬定址而言,實體位址空間中之邏輯位址 空間的映射,這是根據本發明使用的映射,以便遮罩缺陷 或非可運作記憶體單元。 在參考圖1之前,應明白下列說明書與將本發明應用於 -11 - 本紙張又度適用中國國家標準(CNS) A4規格(210 X 297公赞)_ 559822
晶片卡中的非揮發性記憶體有關,例如,如多應用型晶片 卡’但是本發明也適用於含有記憶體的其他裝置。 圖1顯示就多應用晶片卡而言,在實體位址空間中映射 邏輯位址空間的原理圖。邏輯位址空間丨〇已被分割成相同 大小的數個非重疊頁面,即,不包含任何重疊的頁面,其 中頁面被緣製為矩形並且以行排列。同樣地,實體位址空 間20係由相同大小的數個頁面區段所組成,即,不包含任 何重疊的頁面,而且其中頁面被繪製為矩形並且以行排列 。箭頭3 0係作為將邏輯位址頁面映射至實體位址空間2 〇的 哪一個頁面區段的例子。每個箭頭都是以邏輯位址空間的 不同頁面為基礎’並且標示通常為不同的實體位址空間2〇 之頁面區段。 如圖1所示,不會將邏輯位址空間10的每一端映射至實 體位址空間20的一頁面區段。而是,只會將包含晶片卡上 可執行之應用程式之可讀取及可寫入資料或可執行程式碼 所在之邏輯位址空間或記憶體位址之位址之邏輯位址空間 10的頁面映射至實體位址空間的頁面區段。在邏輯位址空 間10的頁面所映射之實體位址空間20的頁面區段中,實際 上會實體儲存資料或程式碼。 如圖1所示,邏輯位址及包含映射30之相關實體位址互 相無關。邏輯位址空間10可能極大於實體位址空間2〇,其 中就圖1而言’邏輯位址空間1 〇的大小在(例如)十億位元 組範圍内,並且實體位址空間20的大小在(例如)百萬位元 組範圍内。沒有任何可讀取或可寫入資料或任何可執行程 -12- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 9 五、發明説明( 式碼的頁面(例如,如頁面40)通常被映射至實體位址空間 20 °反之,實體頁面區段也可維持未使用,例如,如頁面 區段4 5。 貫體位址空間20中映射的邏輯位址空間1〇 (以箭頭3〇標 示)係完全無障礙地供晶片卡上可執行的應用程式使用, 所以可製作以邏輯位址空間相對應規格為基礎的應用程式 碼。邏輯位址空間1〇已被分割成個別部份,接著,將個別 部份指派給不同應用程式。因此,可依據映射30,將在邏 輯位址空間10中連續之應用程式的一部份以任何順序儲存 於實體位址空間20中。具體而言,萬一(例如)一頁面區段 的記憶體單元運作不正常,則可以任何順序將邏輯位址空 間10的單一頁面映射至實體位址空間20的其他頁面區段。 如上文所述,達成將邏輯位址空間10分割成頁面及將實 體位址空間20分割成頁面區段的方式為,將邏輯位址空間 10及實體位址空間20分割成相同大小的記憶體區域(不包 含任何重疊),其中涵蓋實體位址空間20中一頁面區段的 記憶體區域與邏輯位址空間1〇中一頁面的記憶體區域的大 小相同。將頁面内的一邏輯位址指派給具有距離各自起點 位址相同距離或偏移之相關頁面區段中的實體位址,以使 每個邏輯位址及每個所指派實體位址都是由相同偏移值與 頁面起點位址或頁面區段起點位址所組成。 此外,可將進一步記憶體位元指派給實體位址空間20中 的頁面區段,如矩形實體頁面區段的較長寬度所示,並且 應用程式無法經由常規定址處理程序來存取這些進一步記 -13- 本紙張尺度適财® ® ?標準(CNS) A4規格(210X297公釐) 559822 A7 B7 五、發明説明(1〇 ) 憶體位元’並且也不會導致擴充應用程式資料的實體位址 空間20。這些額外記憶體位元包括(例如)錯誤修正碼 (ECC)位元,除了驗證用於指示相對應頁面中資料有效性 的旗標’及/或存取邏輯位址空間之相對應頁面中的存取 權以外,這些額外記憶體位元還能夠偵測頁面區段之實體 資料記憶體的錯誤運作,或甚至重新建構所偵測頁面區段 的記憶體内容。使用包含邏輯頁面之各自起點位址與所指 派實體頁面區段之各自起點位址之位址對或值組(tUples) 的頁面表格及/或轉譯表,就可達成頁面及頁面區段指派。 如圖1所示’頁面表格的項目除了包含實體位址空間2〇 之第六頁面區段60的起點位址以外,還包含邏輯位址空間 10之第一頁面50的起點位址,如圖中的箭頭7〇及數字6所 標示的矩形50。頁面表格中不包含非指派邏輯頁面。 根據一項具體實施例,以頁面50中的邏輯位址空間10為 例’頁面大小介於32與128個位元組之間。雖然也可使用 其他的位址空間分割區大小(例如,如一位元組的字組大 小),但是已證實介於32與128個位元組之間的大小特別適 用,因為這類大小代表一方面儲存頁面表格管理所需的最 小企圖,與另一方面,如果由於僅有一個缺陷記憶體單元 而藉由變更映射30來遮罩實體位址空間2〇的一區段的最小 記憶體單元損失之間的最適交換。具體而言,頁面或頁面 區段的大小分別取決於記憶體單元的運作時間。 如需在晶片卡中使用虛擬記憶體定址之進一步優點的資 訊,請參閱2000年2月 9 日 GMD-SmartCard-Workshop Darmstadt
裝 訂
-14-
559822 A7 B7 五、發明説明(11 ) 第十輯中 Stephan Ondrusch著作的 “Protected Virtual Memory-32-Bit-Power ohne angezogene Handbremse”,其以提及方 式併入本文中。 前文中藉由參考圖1說明將邏輯位址對實體位址的映射 之後’下列以圖1所示的實例為例子,藉由逐頁面式映射 30來解說缺陷記憶體單元的簡單“遮罩’’。此處,應假設邏 輯位址空間10的記憶體單元屬於單一應用程式。 此處,應假設被映射到頁面空間50的頁面區段6的記憶 體單元無法運作。在此情況下,如虛線的箭頭80所示,頁 面表格中的項目可被變更,因此映射本身也會變更,以至 於會將邏輯頁面50指派給實體位址空間20的可用頁面區段 90。在變更映射後,當存取第一邏輯頁面時,“預期,,位 於邏輯頁面50上之指定資料或指定程式碼的應用程式不會 “實現”存取實體位址空間20的另一頁面區段。 為了能夠在重新導向“映射’’後修正位於頁面區段90中的 資料,例如,已將冗餘資訊新增至實體位址空間20的頁面 區段,以便可從該處重新建構缺陷記憶體單元的記憶體内 容,並且可將先前記憶體内容(即,頁面區段60)的全部記 憶體内容複製至新頁面區段90。在此情況下的特別優點為 ,針對應用程式,在同一作用之位址空間中的線性順序維 持不變。支持實體儲存資料的建設性副作用在於,在邏輯 位址空間内線性排列的資料會分別因映射或映射變更而擾 '亂或中斷,使得額外優點(尤其是晶片卡)在於當潛在攻擊 者攻擊晶片卡中時,在其處理晶片卡的過程中,必須先克 -15- 559822 五、發明説明(12 服擾亂的健存資料,例如,如應用程式的演算法程式碼。 清參閱圖2 ’以下說明根據本發明具體實施例,分別在 偵測到缺陷記憶體單元或遮罩此類記憶體單元後,變更參 考圖1說明的逐頁面式映射。圖1與一項具體實施例有關, 其中在初始化之後’會先檢查所有邏輯位址,以得知邏輯 位址所映射之實體位址的記憶體單元是否可運作。但是, 在另一項具體實施例中,當讀取、寫入、執行特定邏輯位 址或與特定邏輯位址相關的任何其他操作時,可將記憶體 單元檢查延後至之後的時間,並且因此會發生所指派的實 體位址。 在分別初始化200實體位址或實體頁面區段的起點位址 之後’並且於步驟210決定相關的記憶體單元,這是經由 映射邏輯位址或映射邏輯頁面起點位址所指派的記憶體單 元。接著’於步驟220,檢查記憶體單元的運作是否正常 。如果於步驟220的檢查指出230記憶體單元可正常運作, 則維護映射而不需要變更。但是,如果檢查步驟220指出 230圮憶體單元之一不能正常運作,則會於步驟24〇變更邏 輯位址空間對應至實體位址空間的映射,以將邏輯位址映 射至另一實體位址,如前面參考圖1的說明。在步驟23〇及 2 40之後,步驟260檢查是否有尚未檢查的進一步邏輯位址 存在。如果有進一步邏輯位址存在,則遮罩作業跳回至步 驟210,以執行關於後續邏輯位址的步驟21〇至240。如果 於檢查260期間’沒有可建立的進一步邏輯位址,將會終 止遮罩作業,並且(例如)開始執行應用程式。 16- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 559822
至於前面參考圖2的說明,顯而易見,例如,步驟24〇可 包括:變更或取代頁面表格卡邏輯位址之相對應項目的步 驟;假使邏輯位址的項目不存在於頁面表格中,則輸入邏 輯位址相對應項目與其他實體位址的步驟。 接下來將參考圖3來說明根據本發明具體實施例之執行 存取貫體圮憶體所發生的操作,這是由一應用分別藉由一 相對應操作或一相對應異動所觸發的作業,如讀取、寫入 或執行異動。在本具體實施例中,在頁面轉譯查詢表中有 定義介於邏輯位址空間與實體位址空間之間的映射,只有 包括此類邏輯位址的項目才偏離實體位址,其中實際上儲 存邏輯位址的資料或程式碼。換言之,在本具體實施例中 ,在用以將邏輯位址映射至完全一樣實體位址的識別映射 中’存在介於邏輯位址與實體位址間之映射規則的基本條 件。只有就缺陷記憶體單元而言,已映射至與缺陷記憶體 單元有關之實體位址的邏輯位址被‘‘重新導向,,至另一實 體位址’藉此以對應用無障礙的方式來遮罩缺陷記憶體單 元。 之後’於步驟300,應用程式已開始與邏輯位址有關的 讀取、寫入或執行作業,於步驟31〇,查詢轉譯查詢表或 頁面表格,以檢查是否有邏輯位址的項目。 如果步驟310指出320有邏輯位址項目存在,則於步驟 330讀取項目,以獲得實體位址。但是,如果步驟指出 3 20沒有邏輯位址的相對應項目存在,則會發生邏輯位址 至實體位址的識別映射,以使實體位址與邏輯位址完全一 ______-17- 本紙張尺度適用中國國家標準(CNS) M規格(21Gx 297公货) 559822 A7 B7 五、發明説明(14 樣。 執行步驟330或3 40之一後,於步驟350,存取特定實體 位址(即,實體位址與邏輯位址或項目的實體位址完全一 樣),並且執行讀取、寫入或執行作業。 顯而易見,步驟310至340多少會發生而不需要應用程式 通常,並且在缺陷記憶體單元事件之後,應用程式照例也 可存取指派給應用程式的邏輯位址空間。 接下來將參考圖4來說明根據本發明進一步具體實施例 之執行存取實體記憶體所發生的操作,這是由一應用分別 藉由一相對應操作或一相對應異動所觸發的作業,如讀取 、寫入或執行異動。在本具體實施例中,不僅會變更或重 新導向邏輯位址,另外,還會儲存於查詢表中的其他位址 。在一項具體實施例中,執行中硬體一定會預期查詢表中 的項目。如果硬體找不到特殊邏輯位址的項目,則作業系 統會執行例外狀況常式,用以將所要的邏輯位址與相關實 體位址一起新增至查詢表中。 圖4所示的步驟對應於圖3所示的步驟,除了當得知所要 的邏輯位址不存在於查詢表中以外,因此,會使用相同參 考數字來標示完全一樣的步驟,並且不會解說以避免重複。 如果步驟310也指出320有邏輯位址項目存在,如同前項 具體實施例,於步驟330讀取項目,以獲得實體位址。但 是’如果步驟3 10指出320沒有邏輯位址的相對應項目存在 ’與前項具體實施例相反’會於步驟34〇由硬體分別啟動 作業系統的例外狀況常式,或執行作業系統陷於。在例外 -18- 559822 A7 B7 五、發明説明(15 ) 狀況常式架構内,作業系統決定未命中實體位址(對應於 所要求邏輯位址),並且將所決定實體位址輸入至查詢表 中。 執行步驟330或340’之一後,於步驟350,存取特定實體 位址(即,實體位址與邏輯位址或項目的實體位址完全一 樣),並且執行讀取、寫入或執行作業。 下文中參考圖5說明根據特殊具體實施例之遮罩缺陷記 憶體單元的可能順序,如果於第一次初始化含非揮發性記 憶體晶片期間軟體所執行的順序。於步驟360,搜尋NVM 中的第一頁面。於步驟3 62,檢查實體頁面是否有缺陷。 如果發現到364實體頁面之記憶體單元的至少一記憶體單 元有缺陷,則於步驟366,將缺陷實體頁面區段的相關實 體位址儲存於RAM中的清單中。在步驟364或366後,於步 驟368選取下一NVM頁面。如果發現到370有尚未檢查的下 一記憶體單元存在,則控制權回到步驟362。否則,於步 驟372,就圖3所示的具體實施例而言,將儲存於ram中的 “缺陷”位址儲存於NVM中,以當作來自於ram中清單的 邏輯位址,其中會將該邏輯位址新增至仍然有效的實鱧頁 面區段位址,以使用邏輯缺陷位址填寫查詢表,並且在 NVM中建置互動記憶體區段的相關有效實體位址。就圖4 所示之具體實施例而言’於步驟3 7 2,將所儲存缺陷位址 複製至NVM,藉此於進一步執行時或每個重置控制器之後 使用,以確保當建構轉譯查詢表時,決不會定址缺陷實體 位址。完成步驟372後’完成初始化。 _^19- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
559822 A7 _ B7____ 五、發明説明(16 ) 接下來將參考圖6來說明根據本發明具體實施例之晶片 卡電路的方塊圖,其中邏輯位址空間至實體位址空間的映 射係用來存取唯讀記憶體(如,ROM)、工作用記憶體(如 ,RAM)及非揮發性記憶體(如EEPROM或快閃記憶體)’其 中會根據參考圖4說明的具體實施例來執行缺陷記憶體單 元之遮罩。 在圖 4中,ROM 400、RAM 410、EEPROM 420及處理器 430係經由匯流排440互相連接,其中匯流排440係由連接 至記憶體400至420的第一部件440a及連接至處理器43 0的 第二部件440b所組成。轉譯裝置450被連接至匯流排440的 部件440a與440b之間,其工作係將邏輯位址轉譯成實體位 址,並且變更關於EEPROM 420的映射,如果所映射位址 的記憶體單元無法運作。檢查裝置460及轉譯查詢表470被 連接至轉譯裝置450。為了檢查EEPROM 420的記憶體單元 ,檢查裝置460被連接至所要檢查記憶體單元450,或經由 轉譯裝置串聯所要檢查記憶體單元。 下文說明圖6所示之電路的操作模式。如上文所述,在 轉譯查詢表470中,邏輯位址空間之映射係以項目對或值 組(Tuples)儲存於實體位址空間中,這是由邏輯位址及實 體位址所組成。 由於EEPROM 420比ROM 400和RAM 410更容易受到記 憶體不良影響,在本具體實施例中,只檢查EEPROM 420 是否有缺陷記憶體單元,這是為什麼檢查裝置460只被連 接至EEPROM 420的原因。為了確保缺陷記憶體單元之遮 ___-20- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 559822
罩,會在晶片卡已與終端機互動並且已於該同一終端機提 供能量之後,隨即執行參考圖5所說明之軟體初始化作業 。檢查裝置460使用似軟體控制以似硬體方式執行記憶體 單元檢查,並且包括(例如)說明記憶體單元及後續讀取同 一 δ己憶體單元的記憶體内容,其中如果記憶體資訊讀取對 應於儲存於同一記憶體單元的資訊時,則記憶體單元可運 作。貫體記憶體區域或頁面區段的另一項可能檢查分別包 括比較錯誤修正碼(其儲存於所檢查區域的擴充中),其無 法使用正常定址方法存取,並且不會用來藉由從實體記憶 體區ί又的讀取§己憶體内容所決定的值來擴充實體位址空間。 在起始似軟體檢查之後,EEPROM 420中有一缺陷位址 清單。以產生的清單為基礎,於執行時間建構轉譯查詢表 470 ’其中儲存成對的邏輯開始位址與實體開始位址,用 以避免將邏輯位址被指派缺陷實體記憶體區域。 當執行儲存於EEPROM 420應用程式時,發生與邏輯位 址有關的異動,例如,如讀取、寫入或執行作業。為了存 取邏輯位址’ CPU 430在匯流排440b上輸出關於邏輯位址 的異動。轉譯裝置470響應關於EEPROM 420的每項讀取作 業’以便使用邏輯位址當作查詢表4 7 0索引以查詢與讀取 作業之邏輯位址相關的實體位址。如果項目存在,則轉譯 裝置470使用匯流排440上的實體位址取消異動。否則,將 控制權轉交至作業系統,作業系統隨即執行例外狀況處理 ’以考慮EEPROM 420中的清單,將邏輯位址的實體位址 輸入至查詢表470中。隨著每次存取EEPROM 420,檢查裝 -21 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 559822 A7 B7 五 發明説明(18 置460變成作用狀態,然後由檢查裝置46〇藉由檢查總和比 較以檢查對應於邏輯位址之記憶體單元的運作,其中,如 果發現錯誤,則會記錄實體缺陷位址,表格47〇中的邏輯 位址被指派另一有效位址,並且會記錄實體缺陷位址,並 且考慮未來遮罩。 參考前面說明之圖6所示的晶片結構,顯而易見,用以 定義貫體位址空間中邏輯位址空間之映射,將輸入儲存於 轉譯查詢表中僅代表示範性具體實施例,並且可進一步以 不同方式實施。例如,轉譯查詢表的一部份可能位於快取 記憶體中,例如,稱為 TLB (TLB=translation l00kaside 裝 訂 線 buffer ;轉譯旁視緩衝器)。如果頁面與所指派頁面區段的 開始位址對係位於TLB中,由於迅速快取存取,導致會藉 由硬體加速來執行位址映射之計算。但是,如果邏輯頁面 的開始位址對不會位於TLB中,在特殊具體實施例中,則 會分別執行陷阱或失敗作業,用以將控制權轉交至作業系 統,以便將討論中的位址值組新增至TLB中,或新增至額 外硬體(圖中未顯示)’這是由晶片卡製造商所設計以藉由 使用邏輯位址來計算實體位址;或是會執行載入處理^序 ,用以將藉由儲存於非揮發性記憶體中的轉譯查詢表來自 動重新載入TLB中的必要資料。 轉譯查詢表470可被儲存至非揮發性記憶體(例如,如 EEPROM或另一快閃記憶體)中,或儲存至揮發性記憶體( 例如,如RAM)中,並且當缺陷記憶體單元時,會在每次 初始化後重新改變及重新結構轉譯查詢表47〇。 -22-
559822
五、發明説明(19 ) 假使轉譯查詢表的一杵女a 有5己憶體不良’為了防止儲存於 非揮發性記憶體中的轉令要在 、 澤查珣表470因缺陷記憶體單元而 損失資訊,可提供重新建馗分/ a丄w七 $構該行中相對應項目的步驟、將 項目複製至轉譯查詢表另 〜丄 乃一仃中的步驟,以及將該缺陷行 標記為不可運作的㈣。心易處理轉譯錢表中缺陷記 憶體单70的原因為’項目順序對於轉譯查詢表而言不重要。 凊參考圖6’顯而易見,藉由略過轉譯裝置,可使用邏 輯位址空間的一部份(如指派& RAM 41〇的部份)執行直接 實體定址。 請參考前面的說明,顯而易見,可藉由晶片卡上可執行 的硬體或軟體來實施前面說明的步驟。另外,顯而易見, 本發明的應用不限定於晶片卡,而是本發明可進一步應用 於其他裝置,其中使用易受影響的記憶體,如TPM。 參考數字清單
10 邏輯位址空間 20 實體位址空間 30 映射 40 頁面 5 0 頁面 60 頁面區段 70 映射 80 映射 90 頁面區段 400 ROM 1 _-23- 本紙張尺度適用中國國家標準(CNS) A4規格(‘210 X 297公釐) 559822 A7 B7 五、發明説明(2〇 ) 410 RAM 420 EEPROM 430 處理器 440 匯流排 440a匯流排部件 440b匯流排部件 450 轉譯裝置 460 檢查裝置 470 轉譯查詢表 -24 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)

Claims (1)

  1. 559822 A8 B8 C8 D8 六、申請專利範圍 1· 一種用於控制一邏輯位址空間之一邏輯位址映射至一實 體位址空間(20)之一實體位址的方法,其中該方法包括 下列步驟: 決定(2 10) —第一實體位址及一相關記憶體單元,其 係經由該映射(30)指派給一邏輯位址; 檢查(220)該記憶體單元之運作是否正常之步驟;以及 如果該檢查步驟顯示該記憶體單元無法正常運作,則 變更(240)該映射(30),以使該邏輯位址映射至該實體位 址空間(20)中的一第二實體位址。 2 ·如申請專利範圍第1項之方法’其中該實體位址空間 (20)被細分成頁面區段,而該邏輯位址空間(1〇)被細分 成頁面,其中每個實體位址都被指派一頁面區段,並且 每個邏輯位址都被指派一頁面,而該映射係為一逐頁面 式映射,該等頁面被映射至頁面區段,並且該頁面大小 等於該頁面區段大小。 3 ·如申請專利範圍第2項之方法,其中該頁面區段大小係 介於32與128位元組之間。 4·如申請專利範圍第1項之方法,其中變更(240)該映射之 該步驟包括將該邏輯位址與該第二實體位址一起輸入至 一轉譯查詢表(470)。 5.如申請專利範圍第1項之方法,其中尚未變更該映射之 該等邏輯位址的該映射是一識別映射,以使所映射邏輯 位址與該所等映射邏輯位址映射的該等實體位址完全一 樣。 -25- 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
    6·如申靖專利範圍第i項之方法其中該決定(2 ίο)步驟及 該檢查(220)步驟係在一初始化該邏輯位址空間(1〇)中所 有邏輯位址之後執行。 7. 如申明專利範圍第1項之方法,其中該決定(21〇)步驟及 該檢查(220)步驟係在與該邏輯位址有關之讀取、寫入 或執行作業之後執行。 8. 如申凊專利範圍第1項之方法,其中該檢查(22〇)步驟包 括比較該記憶體單元内容與一錯誤修正碼。 9·如申請專利範圍第丨項之方法,其中該實體記憶體是一 EEPROM或一快閃記憶體。 1 0 ·如申凊專利範圍第i項之方法,其中該等頁面區段都被 指派一標籤,該標籤包括該頁面區段之該記憶體單元的 該功旎、該等記憶體單元中所儲存之該資料的一有效性 、一錯誤修正碼及/或存取權限。 π·如申請專利範圍第1項之方法,其中在該檢查記憶體單 元步驟(220)之後,如果該記憶體單元不可運作,則會 發生將該實體位址儲存於一實體位址清單中,該等實體 位址係指派給缺陷記憶體單元的實體位址,並且其中該 變更(240)步驟係於執行時間執行。 12.—種用於控制一邏輯位址空間(1〇)之一邏輯位址對應至 一貫體位址空間(20)之一實體位址之該映射的裝置,該 裝置包括: 一決定裝置,用於決定一第一實體位址及一相關記憶 體單元,其係經由該映射(30)指派給一邏輯位址; -26- 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) " ---------- 559822 A8 B8 C8 D8 六 申請專利範圍 一檢查裝置,用於檢查(220)該記憶體單元之運作是 否正常之步驟;以及 一變更裝置,用於如果該檢查裝置發現該記憶體單元 無法正常運作,則變更(240)該映射(30)以將該邏輯位址 映射至該實體位址空間(20)中的一第二實體位址。 -27- 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐)
TW91112135A 2001-06-05 2002-06-05 Method and apparatus for masking out non-operable memory cells TW559822B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2001127194 DE10127194B4 (de) 2001-06-05 2001-06-05 Verfahren und Vorrichtung zum Ausblenden von nicht funktionstüchtigen Speicherzellen

Publications (1)

Publication Number Publication Date
TW559822B true TW559822B (en) 2003-11-01

Family

ID=7687205

Family Applications (1)

Application Number Title Priority Date Filing Date
TW91112135A TW559822B (en) 2001-06-05 2002-06-05 Method and apparatus for masking out non-operable memory cells

Country Status (3)

Country Link
DE (1) DE10127194B4 (zh)
TW (1) TW559822B (zh)
WO (1) WO2002099809A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI410865B (zh) * 2006-12-22 2013-10-01 Broadcom Corp 處理器中執行遮罩存儲操作的方法和積體電路

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004008180A1 (de) * 2004-02-19 2005-09-01 Giesecke & Devrient Gmbh Verfahren zum sicheren Betrieb eines tragbaren Datenträgers
KR100606173B1 (ko) 2004-08-24 2006-08-01 삼성전자주식회사 불휘발성 메모리 장치의 초기화 상태를 검증하는 방법 및장치
DE102004059206B4 (de) * 2004-12-09 2016-03-31 Polaris Innovations Ltd. Speicherbauelement und Adressierung von Speicherzellen
KR101011171B1 (ko) * 2005-12-28 2011-01-26 후지쯔 가부시끼가이샤 메모리 제어 방법, 기억 매체 및 장치와 정보 처리 장치
CN113312206A (zh) * 2020-04-09 2021-08-27 阿里巴巴集团控股有限公司 数据存储故障处理方法、装置、存储介质、处理器
CN115292114B (zh) * 2022-10-09 2022-12-09 中科声龙科技发展(北京)有限公司 基于ethash算法的数据存储方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9801373D0 (en) * 1998-01-22 1998-03-18 Memory Corp Plc Memory system
US6081463A (en) * 1998-02-25 2000-06-27 Micron Technology, Inc. Semiconductor memory remapping

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI410865B (zh) * 2006-12-22 2013-10-01 Broadcom Corp 處理器中執行遮罩存儲操作的方法和積體電路

Also Published As

Publication number Publication date
DE10127194A1 (de) 2002-12-19
WO2002099809A3 (de) 2003-10-23
WO2002099809A2 (de) 2002-12-12
DE10127194B4 (de) 2008-08-21

Similar Documents

Publication Publication Date Title
US8656083B2 (en) Frequency distributed flash memory allocation based on free page tables
JP4596715B2 (ja) 別個のメモリ領域におけるデータの組の種々のバージョンを記憶する配列及びメモリ内のデータの組を更新する方法
US8041895B2 (en) Translation table coherency mecahanism using cache way and set index write buffers
US8281229B2 (en) Firmware verification using system memory error check logic
US7761676B2 (en) Protecting memory by containing pointer accesses
TWI352289B (en) Apparatus of providing extended memory protection
CN102930185B (zh) 运行时程序安全关键数据的完整性验证方法及装置
US11100011B2 (en) Flash translation layer with hierarchical security
US7590899B2 (en) Processor memory array having memory macros for relocatable store protect keys
US20070006175A1 (en) Intra-partitioning of software components within an execution environment
US7797682B2 (en) Controlled execution of a program used for a virtual machine on a portable data carrier
KR20040076589A (ko) 메모리 카드
WO2013096589A1 (en) Auxiliary card initialization routine
JPH08235028A (ja) フラッシュメモリカードのデータ管理方法およびそのデータ管理方法を使用したデータ処理装置
TW559822B (en) Method and apparatus for masking out non-operable memory cells
US12038808B2 (en) Memory integrity check
JP2004523827A (ja) 補助レジスタバンクを有するマイクロプロセッサ回路
EP4390708A1 (en) Selective memory duplication control
CN117215488A (zh) 用于nfc安全元件的数据存储方法、装置及nfc安全元件
ES2298796T3 (es) Procedimiento y dispositivo para salvar contenidos consistentes de memoria en unidades de memoria redundantes.
US10157141B2 (en) Memory system and method of controlling nonvolatile memory
US20100228904A1 (en) Circuit arrangement and method for data processing
US7773433B2 (en) Method for managing a non-volatile memory in a smart card
JP2004013719A (ja) 多重化された不揮発性メモリの更新回路、及び多重化された不揮発性メモリの更新方法
US20060265578A1 (en) Detection of a sequencing error in the execution of a program