TW436790B - Reclaiming memory from deleted applications - Google Patents

Reclaiming memory from deleted applications Download PDF

Info

Publication number
TW436790B
TW436790B TW088108092A TW88108092A TW436790B TW 436790 B TW436790 B TW 436790B TW 088108092 A TW088108092 A TW 088108092A TW 88108092 A TW88108092 A TW 88108092A TW 436790 B TW436790 B TW 436790B
Authority
TW
Taiwan
Prior art keywords
memory
computer
code
reserved
memory segment
Prior art date
Application number
TW088108092A
Other languages
English (en)
Inventor
Deloy Pehrson Bitner
Kim Clohessy
Mikael Orn
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Application granted granted Critical
Publication of TW436790B publication Critical patent/TW436790B/zh

Links

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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation
    • Y10S707/99957Garbage collection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Color Television Systems (AREA)
  • Saccharide Compounds (AREA)
  • Read Only Memory (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

Ρ 436790
五、發明說明(!) 整明領蟑 本發明係關於具有分段記 腦系統之記憶體管理領域, 收記憶體並於非揮發性可消 正剩餘的應用程式。 憶體空間例如嵌入式裝置之電 特别提供一種系統可安全地回 除"快閃"型記憶體接續重新對 發明背景 本案特別可用於具有記憶體限制的嵌入式系統,但也可 應用於應用程式由機器去除的任何環境,以及希望壓縮儲 存於記憶體之其餘應用程式俾便提供最大量之連續閒置空 間供新的應用程式使用。. 嵌入式系統中總系統記憶體約為1至4百萬位元組。理想 上一半系統記憶體作為唯讀記憶體(R 〇 Μ )用用於儲存各時 程間持續保有的應用程式及資料。應用程式可以循序順序 載入至達到系統的記憶體限度為止。 供本發明目的之用’將稱做"快閃Μ型記憶體。就技術上 而言,快閃為一種ROM形式,其為非揮發性但根據目前技 術也可消除通常為6 4 K位元組方塊。 特別於快速發展的無線通訊領域中,希望於新的應用程 式下載之前圩刪除裝置内原有的應用程式俾便有足夠記憶 體來容納新的應用程式或防止與應用程式新版本不相容。 梦明概述 一本發:係關於一種由R〇M安全的去除應用程式然後壓縮 Κ0Μ而去除因應用程式去除留下的任何”空祠之系統。如 此確保最大量的連續記憶體可供新應用程式下載利用。
第5頁 436 7 9 0 五、發明說明(2) 一具體實施例中,本發明係針對裝置之非揮發性記憶體 的改良。此種快閃記憶體之特徵為具有多記憶體節段適合 接受及儲存應用程式碼資料^改良部分包括至少有一段記 憶體保留用於記憶體壓縮,其適合接受由难讀記憶體之任 何記憶體段拷貝的碼及/或資料。也提供一機構用於校正 碼内部指標器而參照由唯讀記憶體之另一段記憶體拷貝 的碼及/或新記憶體的位置。 、以 ,據另一方面,本發明提供一種由具有多記憶體節段 唯讀記憶體去除經界定的碼本體以及保留至少一記憶^ > 段供壓縮使用之方法。該方法中若決定界定的碼本^係= 疊於一與另一碼共享的記憶體節段,則該另一碼被拷 保留用於壓縮的記憶體節段,保留两於壓缩的記憶^ = 與該與另一碼共享的記憶體節段交換,且消除含部分^ = 碼本體之記憶體節段。 介疋 圖式之簡單說明 圖2為流程圖示例說明根據本發明之碼去除步驟; 圖3為流程圓示例說明根據本發明之較佳具體實施 碼去除後之記憶體壓縮步驟。 丨於 較隹具塵_實施例之詳細說明 如圖1示意舉例說明(包括圖1A至丨D),約束記憶體 如蜂巢式電話之R0M 2典型包含32個64K記憶體段置 略標示為4),整個裝置共計2百萬位元組快閃記憶體鬼(概
第6頁
?' 436790 -------五、發明說明(3)
本發明之較佳具體實施例之實物令R 階記憶體調度至高階記憶體。 之愿用&式由低 如圖1A及1B所示,以交叉陰影顯示之 2之兩個半記憶體段方塊4。來自儲存應用,式6跨距⑽Μ 8 (以對角線條文顯示)與應用程式6之g 一二二之’或育料 體節段。 代 J知共孕一記憶 ; 如前文討論唯有整個記憶體方塊可於 閃記憶體刪除。因此若使用者希望刪除 式’裝置的記憶體管理者必須儲存來自' 之碼或資料8 ’然後將其復原至該位置 此等裝置使用的快 位於6的應用程 連續儲存應用程式 其達成方式係藉保留一或多個被引用記憶體方塊而交換 =儲存的碼或資料方塊保留於襞置内。較佳具體實施例 快閃s己憶體管理者單純保留最高方塊供壓縮。圖1 所示具體實施例中,記憶體管理者向上拷貝碼或資料8進 入備 備用 用方塊1 0 (圖1 B )。僅考慮正被刪除方塊的碼/資料; 方塊頂端保持空白。然後含有拷貝碼1 〇之備用方塊與 位於1 2之原先記憶體方塊"交換"(圖丨c ),然後含有應用程 式6剩餘碼/資料之記憶體方塊可安全地消除(圖1D)。此種 交換可以兩種方式之一進行:若可利用支援”虛擬'1記憶體 區之記憶體管理單元(MMU),則MMU映射改變,故"新11方塊 使' 用先前由正被刪除方塊使用的位置。被刪除方塊被消除 而其方塊映射改變成先前由備用方塊使用的位置》若無法 利用MM U,則"備用”方塊的内容於被消除後拷貝至原先方 塊頂上。
第7頁 V' 4367 9 0 五'發明說明(4) 此過程步騾陳述於圖2之流程圖。當使用者希望由記憶 體刪除應用程式時,裝置的記憶體管理者定位應用程式 (方塊20)於ROM的起點及終點來決定是否二者皆位於一記 憶體節段邊界(方塊2 2、2 4 ) ^若為此種情況,則記憶體管 ~ 理者可安全地單純消除全部含應用程式(方塊2 8 )的記憶體 、-節段方塊並前進至圖3所示的壓縮步驟。 繼續圖2,若記憶體管理者決定應周程式的終點係位在 記憶體節段方塊(方塊22或24)以外,則其次決定應用程式 於此點是否與其它碼共享一記憶體節段(方塊2 6 )。"快閃 管理者"保持追蹤各應用程式之開始及結束位置,也瞭解 ) 各記憶體方塊位置,故可單純計算決定應用程式/資料相 對於記憶體方塊及其它應用程式起點/終點的駐在位置 若未找到其它應用程式碼/資料,則可安全地刪除原先 應用程式(方塊28)並前進至壓縮ROM。 若記憶體管理者決定來自另一應用程式之資料或碼係储 存於原先刪除應用程式部分之相同方塊(方塊2 6 ),則此瑪 或資料拷貝入不含任何原先應用程式碼的備用記憶體節段 方,(方塊2 8 )(亦即備用記憶體節段方塊為部分空白)。 若裝置係於§己憶體刪除/壓縮作業中途被斷電,則拷貝) i 記憶體節段方塊之複本為裝置可回收之方法。較隹 ”奴貫%例中’旗標及標記用於指示於載入、刪除及壓縮 功=期間應用程式中之狀態(方塊3 〇 )。 _ 後於備用記憶體節段之來自其它應闬程式的碼/資科 乂換回待刪除的原先應用程式底部(方塊34 )。加上旗標及
第8頁 436790 五、發明說明(5) 標記用於指示正在進行的移轉為復置(方塊36 ),以及含剩 餘原先應用程式之記憶體節段方塊被消除(方塊3 8 ) β 一旦應用程式已經被去除,其記憶體必須藉由壓縮或 /月動其上方的應周程式至空白空間而回收。如此留下最 大量連續自由空間於ROM頂.端供載入新的應用程式。 根據本發明之較佳具體實施例,壓縮係遵照刪除應用程 ^的相同原理,換言之備周記憶體節段方塊用於移轉 填補的記憶體節段方塊内容,此過程舉例說明於圖3。 ":二記,體已經被卸^則記憶體需壓縮俾便去除任何 二洞。如此獲得最大連續的自由空間用於下載新的= 程式。利用本發明原理執行壓縮之較 3。 心較佳方法舉例說明於圖 於應用程式卸載後’記憶體管理 釦#庙田妒〜, 至者%描記憶體決定經由 方塊充滿資料或碼,換言之否有任何記憶體 記憶體留下任何空白"空洞”(方塊4〇):疋否於被:錄的 程式係位於紀錄記憶體頂端而無需壓縮右否’則卸應用 若於自由記憶體上方有已經被資)。 卜 者決定是否部分或全部空白記體碼,則記憶體官理 底部(方塊42 )。 ^體方塊係位在自由記憶體 若自由記憶體為完整纪情體方 單純將資料方塊向下循序則厂堅縮的執行簡严, _,及調整各方塊之實料或^ (方塊4 6 ) ^ ^祈位置的旗標/ 4示s己
4367 9 Ο 9V./V_ 8108092 ?〇年 / 月^曰 修正
五^發.#晚明-(_6> 雖然僅有部分記憶體可利用,但記憶體管理者拷貝資枓 /碼由資料方塊填補部分記憶體方塊(方塊4 8 )及調整拷貝 後之碼之旗標/標記(方塊5 0 )。 以前文就圖2所述之相同方式,來自資料方塊的剩餘資 料/碼被拷貝至備用記憶體方塊(方塊5 2 ),及對其碼/資料 所在位置調整旗標/標記(方塊5 4 )。此種備用記憶體方塊 交換至毗連於已被壓縮的資料之自由記憶體(方塊5 4 ),及 調整交換後方塊的資料/碼之旗標/標記(方塊5 6 )。 此過程反複進行至全部資料皆已經被壓縮為止(方塊 40) ° 雖然已經就較佳具體實施例說明本發明,但須瞭解經由 採用業界人士顯然易知的修改可將本發明應用至其它平台 及記憶體配置。 元件符號說明 ROM 應用程式 備用方塊 10 4 記憶段方塊 8 碼或資料 1 2 原先記憶體方塊
O:\58\58531.ptc 第10頁 2001. 01. 04. 010

Claims (1)

  1. 436 7 9 0 六、申請專利範圍 1. 一種運算環境,於其中有一非揮發性記憶體具有複數 記憶體節段適合接受及儲存應用程式碼及資料,其中改良 包含: 至少一記憶體節段,其係保留用於記憶體壓縮且適合 僅接受拷貝自非揮發性記憶體之另一記憶體節段的碼及/ 或資料;以及 一機構,用於校正指標器/標記,以指示拷貝自該非 揮發性記憶體之另一記憶體節段的碼及/或資料的一新記 憶體位置。 2. 如申請專利範圍第1項之運算環境,其中該等複數記 ) 憶體節段適合接受資料用於由低階儲存至高階,及其中該 至少一記憶體節段係保留於高階。 3 · —種由一非揮發性記憶體去除一經界定的碼本體之方 法,該記憶體具有複數記憶體節段,至少一記憶體節段保 留用於壓縮,該方法包含: 掃描經界定的重疊碼本體至一與其它碼共享的記憶體 節段; 拷貝其它碼至保留用於壓縮之一記憶體節段; 將保留用於壓縮之該記憶體節段與和其它碼共享的記 憶體節段交換;以及 1 消除任何含有部分經界定的碼本體之記憶體節段。 4.如申請專利範圍第3項之方法,其中該交換保留用於 壓縮之記憶體節段與和其它碼共享的記憶體節段之步驟, 於一具有虛擬記憶體區且與其它碼共享之該記憶體節段係
    i ' 4367 9 Ο 六、_請專利範圍 位在第一位址的系統中,該步驟包含映射保留用於壓縮的 記憶體節段至第一位址。 5. 如申請專利範圍第3項之方法,其中該交換保留用於 壓縮之記憶體節段與和其它碼共享之記憶體節段之步驟包 含: 消除與其它碼共享之記憶體節段,及 拷貝保留用於壓縮之記憶體節段至被消除的記憶體節 段上。 6. —種電腦可讀記憶體,用於儲存指令,其用於電腦執 行如申請專利範圍第3-5項中任一項之方法。 7. —種電腦程式產品,其包含一具有電腦可讀程式碼裝 置具體表現於其中之電腦可使用媒體,用於使一電腦由記 憶體去除經界定的碼本體,該非揮發性記憶體具有多個記 憶體節段,其中至少一記憶體節段係保留用於壓縮,該電 腦程式產品中該電腦可讀程式碼裝置包含: 用於掃描之電腦可讀程式碼裝置,用於使電腦掃描經 界定的碼本體重疊至與其它碼共享之一記憶體節段; 用於拷貝之電腦可讀程式碼裝置,用於使電腦拷貝其 它碼至一保留用於壓縮至記憶體節段; 用於交換之電腦可讀程式碼,用於使電腦交換其它碼 至一保留用於壓縮之記憶體節段;以及 用於消除之電腦可讀程式碼裝置,用於使電腦消除任 何含有部分經界定的碼本體之記憶體卽段。
    第12頁
TW088108092A 1999-03-30 1999-05-18 Reclaiming memory from deleted applications TW436790B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA002267484A CA2267484C (en) 1999-03-30 1999-03-30 Reclaiming memory from deleted applications

Publications (1)

Publication Number Publication Date
TW436790B true TW436790B (en) 2001-05-28

Family

ID=4163417

Family Applications (1)

Application Number Title Priority Date Filing Date
TW088108092A TW436790B (en) 1999-03-30 1999-05-18 Reclaiming memory from deleted applications

Country Status (15)

Country Link
US (1) US6581133B1 (zh)
EP (1) EP1177502B1 (zh)
JP (1) JP3683814B2 (zh)
CN (1) CN1244054C (zh)
AT (1) ATE244418T1 (zh)
AU (1) AU3310800A (zh)
CA (1) CA2267484C (zh)
CZ (1) CZ20013477A3 (zh)
DE (1) DE60003676T2 (zh)
ES (1) ES2199791T3 (zh)
HU (1) HUP0200563A2 (zh)
IL (2) IL144733A0 (zh)
PL (1) PL351506A1 (zh)
TW (1) TW436790B (zh)
WO (1) WO2000058838A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2267484C (en) 1999-03-30 2002-03-05 Object Technology International Inc. Reclaiming memory from deleted applications
US6993328B1 (en) 2000-05-08 2006-01-31 Nokia Corporation Method for over the air mobile station management
FR2818770A1 (fr) * 2000-12-21 2002-06-28 Bull Cp8 Procede de gestion optimisee de l'allocation de memoire d'un systeme embarque et systeme embarque correspondant
EP1374040A1 (en) * 2001-03-30 2004-01-02 Nokia Corporation Downloading application software to a mobile terminal
AU2003202785A1 (en) * 2002-02-18 2003-09-04 Axalto Sa Data organization in a smart card
US20050010811A1 (en) 2003-06-16 2005-01-13 Zimmer Vincent J. Method and system to support network port authentication from out-of-band firmware
GB2412194A (en) * 2004-03-19 2005-09-21 Matsushita Electric Ind Co Ltd Reprogramming a non-volatile memory system
US20060184717A1 (en) * 2005-02-17 2006-08-17 Intel Corporation Integrated circuit capable of flash memory storage management
JP2008077669A (ja) * 2007-10-09 2008-04-03 Mitsubishi Electric Corp 記録方式
TWI438633B (zh) * 2007-11-29 2014-05-21 Ibm 記憶體管理之垃圾收集方法、其電腦程式產品,及其裝置
US8135745B2 (en) 2008-03-04 2012-03-13 Core Wireless Licensing S.A.R.L. Storage management
CN101635020B (zh) * 2008-07-25 2011-12-07 联想(北京)有限公司 数据擦除方法和数据存储装置
US20110119462A1 (en) * 2009-11-19 2011-05-19 Ocz Technology Group, Inc. Method for restoring and maintaining solid-state drive performance
US20160224464A1 (en) * 2014-04-17 2016-08-04 Bitmicro Networks, Inc. Valid Data Compression On SSD
US9633233B2 (en) 2014-05-07 2017-04-25 Sandisk Technologies Llc Method and computing device for encrypting data stored in swap memory
US9928169B2 (en) 2014-05-07 2018-03-27 Sandisk Technologies Llc Method and system for improving swap performance
US9710198B2 (en) 2014-05-07 2017-07-18 Sandisk Technologies Llc Method and computing device for controlling bandwidth of swap operations
US9665296B2 (en) * 2014-05-07 2017-05-30 Sandisk Technologies Llc Method and computing device for using both volatile memory and non-volatile swap memory to pre-load a plurality of applications

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4511964A (en) 1982-11-12 1985-04-16 Hewlett-Packard Company Dynamic physical memory mapping and management of independent programming environments
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US5438573A (en) * 1991-09-13 1995-08-01 Sundisk Corporation Flash EEPROM array data and header file structure
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5603001A (en) * 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
JP3507132B2 (ja) * 1994-06-29 2004-03-15 株式会社日立製作所 フラッシュメモリを用いた記憶装置およびその記憶制御方法
JPH09152983A (ja) 1995-05-31 1997-06-10 Lucent Technol Inc フラッシュメモリに内在するファイルシステムにおけるリエントラントガーベジコレクション処理
US5860082A (en) * 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory
US6038636A (en) * 1998-04-27 2000-03-14 Lexmark International, Inc. Method and apparatus for reclaiming and defragmenting a flash memory device
CA2267484C (en) 1999-03-30 2002-03-05 Object Technology International Inc. Reclaiming memory from deleted applications

Also Published As

Publication number Publication date
CN1345427A (zh) 2002-04-17
DE60003676D1 (de) 2003-08-07
AU3310800A (en) 2000-10-16
HUP0200563A2 (en) 2002-06-29
IL144733A0 (en) 2002-06-30
JP3683814B2 (ja) 2005-08-17
ES2199791T3 (es) 2004-03-01
CA2267484A1 (en) 2000-09-30
JP2002540525A (ja) 2002-11-26
DE60003676T2 (de) 2004-05-27
EP1177502A1 (en) 2002-02-06
WO2000058838A1 (en) 2000-10-05
IL144733A (en) 2006-07-05
CN1244054C (zh) 2006-03-01
ATE244418T1 (de) 2003-07-15
CZ20013477A3 (cs) 2002-01-16
PL351506A1 (en) 2003-04-22
CA2267484C (en) 2002-03-05
EP1177502B1 (en) 2003-07-02
US6581133B1 (en) 2003-06-17

Similar Documents

Publication Publication Date Title
TW436790B (en) Reclaiming memory from deleted applications
US9842030B2 (en) Data storage device and flash memory control method
US6895486B2 (en) Linear object management for a range of flash memory
US7185154B2 (en) Single segment data object management
CN102929884B (zh) 一种收缩虚拟磁盘镜像文件的方法及装置
US7752412B2 (en) Methods of managing file allocation table information
JP2009199625A (ja) メモリカードおよびメモリカードの制御方法および不揮発性半導体メモリの制御方法
US7681008B2 (en) Systems for managing file allocation table information
US20070271412A1 (en) Dynamic volume management
US6766432B2 (en) Memory management system supporting object deletion in non-volatile memory
JP2006040264A (ja) メモリカードの制御方法および不揮発性半導体メモリの制御方法
US20050278480A1 (en) Method of writing data into flash memory
JP4586469B2 (ja) メモリ制御装置、メモリ制御方法、プログラム
JP2008077669A (ja) 記録方式
US6738873B2 (en) Memory management system supporting deletion of transient objects
CN106598475A (zh) 一种实现分区切换的方法及装置
US20050149493A1 (en) Data recording apparatus and data recording method
JP4419415B2 (ja) 記録方式
JP2000330850A (ja) フラッシュメモリ制御方法
JP2018206161A (ja) 記憶装置および記憶装置のデータ管理方法
JP4443705B2 (ja) データファイリングシステム及びデータファイリング方法
TW200407704A (en) Memory data managing method and allocation thereof
KR980010782A (ko) 플래시 메모리의 오버라이트 방법
JP2013218388A (ja) プログラム更新装置、方法、プログラム、及び記憶媒体
JP2003189225A (ja) データ処理方法及び装置

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees