TWI408553B - 記憶體管理系統與方法 - Google Patents
記憶體管理系統與方法 Download PDFInfo
- Publication number
- TWI408553B TWI408553B TW97118249A TW97118249A TWI408553B TW I408553 B TWI408553 B TW I408553B TW 97118249 A TW97118249 A TW 97118249A TW 97118249 A TW97118249 A TW 97118249A TW I408553 B TWI408553 B TW I408553B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- block
- data
- access
- switching
- Prior art date
Links
Landscapes
- Memory System (AREA)
Description
本發明係有關於一種記憶體存取技術,特別是關於一種記憶體管理系統與管理方法。
一般微處理系統對於其所能定址的範圍,係受限於位址匯流排的位址線數目。以現今數位系統而言,處理器定址範圍為二的位址線數次方,例如16條位址線,其可定址的範圍為二的16次方,即65536個位址。然而,在大部分的八位元微處理系統中,因架構及成本考量,都會盡量減少位址線數,故在應用上常會受限於微處理系統的定址能力,而無法增加更多的記憶體於微處理系統中,導致微處理系統功能受限制。
在微處理系統中,記憶體是一種極重要的關鍵資源。而記憶體的大小受限於微處理機的定址範圍,以及整體系統的成本。因此如何在各項因素的適當考量下,提供最大的記憶體資源供系統使用,是一個相當重要的課題。
針對上述問題,本發明之目的之一在提供一種記憶體管理系統與方法,而可達成減少實體位址線之接腳、提高記憶體擴充之彈性、以及降低生產成本之功效。
本發明之一實施例提供了一種記憶體管理系統。該記憶體管理系統包含有一主記憶體、至少一次級記憶體、以及一記憶體管理裝置。該主記憶體包含有一正常存取區塊與至少一切換存取區塊。次級記憶體包含有對應切換存取
區塊之至少一次資料區塊。而記憶體管理裝置係根據至少一要求訊號讀寫正常存取區塊或次資料區塊;其中,當要求訊號要求讀寫次資料區塊時,記憶體管理裝置將該次資料區塊之資料搬移至切換存取區塊、或將一欲寫入之資料透過切換存取區塊之映射寫入次資料區塊。
本發明之另一實施例提供了一種記憶體管理系統。該記憶體管理系統包含有一記憶體切換控制器、一主記憶體、至少一次級記憶體、以及一直接記憶體存取控制器。
該記憶體切換控制器根據至少一要求訊號,產生一控制訊號。主記憶體包含有一正常存取區塊與至少一切換存取區塊,且根據控制訊號決定如何切換該些存取區塊、及如何讀寫正常存取區塊或切換存取區塊。次級記憶體包含有對應切換存取區塊之至少一次資料區塊。而直接記憶體存取控制器係根據控制訊號將次資料區塊之資料搬移至切換存取區塊、或將一欲寫入之資料透過切換存取區塊之映射寫入次資料區塊。
本發明之另一實施例提供了一種記憶體管理系統。該記憶體管理系統包含有一主記憶體、至少一次資料區塊、以及一記憶體管理裝置。該主記憶體包含有一正常存取區塊與至少一切換存取區塊。次資料區塊對應該切換存取區塊。而記憶體管理裝置係用以讀寫正常存取區塊或次資料區塊。其中,當記憶體管理裝置讀寫次資料區塊時,記憶體管理裝置會將次資料區塊之資料搬移至切換存取區塊、或將一欲寫入之資料透過切換存取區塊之映射寫入次資料區塊。
本發明之另一實施例提供了一種記憶體管理方法。該方法包含下列步驟。首先,提供一正常存取區塊與至少一切換存取區塊。提供至少一次資料區塊,次資料區塊係對應一切換存取區塊。接著,接收一要求訊號,要求訊號包含有至少一位址、至少一欲寫入之資料其中之一或兩者。之後,根據要求訊號決定讀寫正常存取區塊或次資料區塊;當要求訊號提供之位址係位於正常存取區塊之定址範圍時,讀取正常存取區塊對應該位址之資料,或將欲寫入之資料寫入正常存取區塊;當要求訊號提供之位址係位於次資料區塊之定址範圍時,將該次資料區塊對應該位址之資料搬移至切換存取區塊、並於切換存取區塊讀取該資料,或將欲寫入之資料透過切換存取區塊之映射寫入次資料區塊。
本發明實施例之記憶體管理系統與管理方法,係於主記憶體中規畫出正常存取區塊與至少一切換存取區塊,並配合切換存取區塊之映射,來讀寫次級記憶體之次資料區塊。依此方式,本發明實施例之記憶體管理系統與管理方法便可在有限的記憶體定址範圍條件下,由使用者或設計人員無限制地擴充定址數目與記憶體空間,而達成減少記憶體定址所須之接腳數目、彈性擴充記憶體空間、並降低整體系統成本之功效。
第1A圖顯示本發明一實施例之記憶體管理系統之示意圖。該記憶體管理系統100包含一處理器(Processor)101、一主記憶體102、一次級記憶體103、以及一記憶體管理裝置104。
該處理器101,可為中央處理器(Central processing unit,
CPU)、微處理機(Microprocessor unit,MPU)、微控器(Microprocessor control unit,MCU)、其他現有或未來發展出之各種處理裝置。處理器101係用以發出一要求訊號Rq,藉以存取記憶體之資料。
主記憶體102可為靜態隨機存取記憶體(Static Random Access Memory,SRAM)、目前現有或未來發展出之各種記憶體。主記憶體102包含有一正常存取區塊與至少一切換存取區塊。一實施例,如第1B圖所示,主記憶體102之記憶體空間包含有一正常存取區塊Nab與一切換存取區塊Sab。須注意,本實施例中,主記憶體102僅包含一切換存取區塊Sab;而於另一實施例中,主記憶體102亦可包含複數個切換存取區塊Sab。
次級記憶體103可為快閃記憶體(Flash memory)、硬碟(Hard disc/disk)、光碟(Optical disc/disk)其中之一或其組合,或其他現有或未來發展出之各種儲存裝置。次級記憶體103包含有至少一對應切換存取區塊之次資料區塊。一實施例,如第1B圖所示,次級記憶體103包含有N(N為正整數,且小於無限大)個次資料區塊Sub1~SubN。次資料區塊Sub1~SubN係對應切換存取區塊Sab,亦即表示切換存取區塊Sab存有次資料區塊Sub1~SubN之位址,在系統進行資料置換時可利用該些位址來進行資料映射,以將任一次資料區塊Sub1~SubN之資料搬移至切換存取區塊。當然,亦可根據該些位址透過切換存取區塊Sab之映射,將資料寫入任一次資料區塊Sub1~SubN。另外,次資料區塊Sub1~SubN之大小等於切換存取區塊Sab之大小,且次資料區塊Sub1~SubN可儲存處理器101所須使用之程式碼(Codes)。
記憶體管理裝置104係根據至少一要求訊號Rq讀取(存取)或
將資料寫入主記憶體102之正常存取區塊Nab或對應切換存取區塊Sab之任一次資料區塊Sub1~SubN。其中,當要求訊號Rq要求讀取(存取)任一次資料區塊Sub1~SubN時,記憶體管理裝置104根據該要求訊號Rq提供之位址將指定之一次資料區塊Sub1~SubN之資料搬移至切換存取區塊Sab、或根據該要求訊號Rq提供之資料與位址,將微處理器101欲寫入之該資料透過切換存取區塊Sab之映射寫入該位址指定之一次資料區塊Sub1~SubN。須注意,若要求訊號Rq要求讀取之資料已存放於切換存取區塊Sab,則記憶體管理裝置104直接存取將該資料。另外,記憶體管理裝置104所讀取到之資料係根據要求訊號Rq之指令來決定傳送至何處,本實施例中,要求訊號Rq係要求將資料傳送給微處理器101;另一實施例中,要求訊號Rq亦可要求將資料傳送給系統內部或外部(未圖示)之其他裝置。
一實施例,如第1A圖所示,記憶體管理裝置104包含有一記憶體切換控制器104a與一直接記憶體存取控制器(Direct memory access,DMA)104b。記憶體切換控制器104a係根據要求訊號Rq,產生一控制訊號C。直接記憶體存取控制器104b根據該控制訊號C來決定如何存取次資料區塊Sub1~SubN,以將次資料區塊Sub1~SubN之資料搬移至切換存取區塊Sab、或將微處理器101欲寫入之資料透過切換存取區塊Sab之映射寫入次資料區塊Sub1~SubN。
以下參考第1A、1B圖詳細說明本發明實施例記憶體管理系統之運作方式。
首先,當處理器101須存取一資料(程式碼)D時,其會傳送一
要求訊號Rq給記憶體切換控制器104a。此時,記憶體切換控制器104a將根據要求訊號Rq提供之位址資訊,產生一控制訊號C。之後,主記憶體102與直接記憶體存取控制器104b接收該控制訊號C。
接著,假設要求訊號Rq提供之位址係位於主記憶體102定址範圍中之正常存取區塊Nba,則直接記憶體存取控制器104b不動作;而主記憶體102根據控制訊號C將對應該位址之程式碼D透過記憶體切換控制器104a傳送給處理器101。
再者,假設要求訊號Rq提供之位址係位於主記憶體102定址範圍外之次資料區塊Sub1~SubN,則記憶體切換控制器104a將會判斷主記憶體102之切換存取區塊sab內是否已存有對應該位址之程式碼D,若有,則將存於切換存取區塊sab之程式碼D,透過記憶體切換控制器104a傳送至中央處裡器101;若無,記憶體切換控制器104a將利用控制訊號C驅動直接記憶體存取控制器104b。接著,直接記憶體存取控制器104b將存於對應該位址之次資料區塊Sub1~SubN之程式碼D儲存至切換存取區塊Sab。之後,記憶體切換控制器104a再將存於切換存取區塊Sab之程式碼D傳輸至處理器101。依此方式,本發明實施例之記憶體管理系統100可在原本有限的記憶體定址範圍之外,額外增加記憶體定址範圍,而不須增加記憶體定址所須之實體位址接腳數目。
須注意者,以上僅說明本發明實施例記憶體管理系統在讀取資料時之運作方式;然而,熟悉本領域之技術者應能夠根據上述說明,得知本發明實施例記憶體管理系統在寫入資料時是如何運作,因此不再重複贅述寫入資料之運作方式。另外,本發明記憶體管理
裝置104、及其實施例之記憶體切換控制器104a與直接記憶體存取控制器104b係可利用軟體、韌體、或硬體其中之一或其組合之方式來實施。
如第2圖所示,另一實施例中,本發明之記憶體管理系統100’亦可利用一匯流排Bus與複數個直接記憶體存取控制器104b、104b’…複數個次級記憶體103、103’進行資料溝通與讀寫動作。藉此可達成記憶體擴充之功效。
第3A、3B圖係顯示本發明一實施例之一種記憶體管理方法,其包含下列步驟:
步驟S302:開始。
步驟S304:提供一正常存取區塊與至少一切換存取區塊。
步驟S306:提供至少一次資料區塊,該次資料區塊係對應一該切換存取區塊。
步驟S308:接收一要求訊號,該要求訊號包含有至少一位址、至少一欲寫入之資料其中之一或兩者。
步驟S310:判斷要求訊號提供之位址是否位於正常存取區塊之定址範圍,若是,跳至步驟S312;若否,跳至步驟S314。
步驟S312:讀取正常存取區塊對應該位址之資料,或將欲寫入之資料寫入正常存取區塊。
步驟S314:判斷要求訊號提供之位址是否位於次資料區塊之定址範圍,若是,跳至步驟S316;若否,跳至步驟S322。
步驟S316:判斷對應該位址之資料是否已存於切換存取區塊,若是,跳至步驟,S318,若否跳至步驟S320。
步驟S318:讀取切換存取區塊之該資料。
步驟S320:將次資料區塊對應該位址之資料搬移至切換存取區塊、並於切換存取區塊讀取該資料,或將欲寫入之資料透過切換存取區塊之映射寫入次資料區塊。
步驟S322:結束。
本發明實施例之記憶體管理系統與管理方法,係於主記憶體中規畫出正常存取區塊與至少一切換存取區塊,並配合切換存取區塊之映射,來讀寫次級記憶體之次資料區塊。依此方式,本發明實施例之記憶體管理系統與管理方法便可在有限的記憶體定址範圍條件下,由使用者或設計人員無限制地擴充定址數目與記憶體空間。亦即,不需更多的主記憶體空間,而是利用主記憶體既有的空間作為交換區塊,與次級記憶體交換資料。因此,達成減少記憶體定址所須之接腳數目、可彈性地擴充記憶體空間、並降低整體系統成本之功效。
100、100’‧‧‧記憶體管理系統
101‧‧‧處理器
102‧‧‧主記憶體
103、103’‧‧‧次級記憶體
104‧‧‧記憶體管理裝置
104a‧‧‧記憶體切換控制器
104b、104b’‧‧‧直接記憶體存取控制器
第1A圖顯示本發明一實施例之記憶體管理系統之示意圖。
第1B圖顯示第1A圖之主記憶體與次級記憶體記憶空間配置之示意圖。
第2圖顯示本發明另一實施例之記憶體管理系統之示意圖。
第3A、3B圖顯示本發明一實施例之記憶體管理方法之流程圖。
100‧‧‧記憶體管理系統
101‧‧‧處理器
102‧‧‧主記憶體
103‧‧‧次級記憶體
104‧‧‧記憶體管理裝置
104a‧‧‧記憶體切換控制器
104b‧‧‧直接記憶體存取控制器
Claims (14)
- 一種記憶體管理系統,包含有:一記憶體切換控制器,根據至少一要求訊號,產生一控制訊號;一主記憶體,包含有一正常存取區塊與至少一切換存取區塊,且根據該控制訊號決定如何切換該些存取區塊、及如何讀寫該正常存取區塊或該切換存取區塊;至少一次級記憶體,包含有對應該切換存取區塊之至少一次資料區塊;一直接記憶體存取控制器,係根據該控制訊號將次資料區塊之資料搬移至該切換存取區塊、或將一欲寫入之資料透過該切換存取區塊之映射寫入該次資料區塊;以及一處理器,用以發出該要求訊號,且該要求訊號包含有至少一位址資訊與至少一該欲寫入之資料;其中當該要求訊號之該位址位於該次資料區塊時,該記憶體切換控制器透過該直接記憶體存取控制器將存於該次資料區塊對應該位址之資料搬移至該切換存取區塊,且存於該切換存取區塊之該資料輸出。
- 如申請專利範圍第1項記載之記憶體管理系統,其中,當該要求訊號之該位址係位於該正常存取區塊時,該記憶體切換控制器根據該位址讀寫該正常存取區塊。
- 如申請專利範圍第1項記載之記憶體管理系統,其中,當該要求訊號之該位址位於該次資料區塊時,該記憶體切換控制器透過該直接記憶體存取控制器將該欲寫入之資料存於該切 換存取區塊,再將該切換存取區塊儲存之該資料寫入該次資料區塊。
- 如申請專利範圍第1項記載之記憶體管理系統,其中,當該要求訊號指定存取該正常存取區塊之資料時,該記憶體切換控制器存取該正常存取區塊之資料。
- 如申請專利範圍第1項記載之記憶體管理系統,其中該主記憶體係根據位址資訊來決定讀寫該正常存取區塊或該次資料區塊。
- 如申請專利範圍第1項記載之記憶體管理系統,其中該次級記憶體為快閃記憶體、硬碟、光碟其中之一或其組合。
- 如申請專利範圍第1項記載之記憶體管理系統,其中該記憶體管理裝置係利用軟體、韌體、或硬體其中之一或其組合來實施。
- 一種記憶體管理系統,包含有:一記憶體切換控制器,根據至少一要求訊號,產生一控制訊號;一主記憶體,包含有一正常存取區塊與至少一切換存取區塊,且根據該控制訊號決定如何切換該些存取區塊、及如何讀寫該正常存取區塊或該切換存取區塊;至少一次級記憶體,包含有對應該切換存取區塊之至少一次資料區塊;以及一直接記憶體存取控制器,係根據該控制訊號將次資料區塊之資料搬移至該切換存取區塊、或將一欲寫入之資料透過該切換存取區塊之映射寫入該次資料區塊; 其中,當該要求訊號指定存取該次資料區塊之資料時,該記憶體切換控制器透過該直接記憶體存取控制器將存於該次資料區塊之資料搬移至該切換存取區塊,且該記憶體切換控制器將存於該切換存取區塊之該資料輸出。
- 如申請專利範圍第8項記載之記憶體管理系統,其中,當該要求訊號指定將該欲寫入之資料寫入該次資料區塊,該記憶體切換控制器透過該直接記憶體存取控制器將該資料存於該切換存取區塊,再將該切換存取區塊儲存之該資料寫入該次資料區塊。
- 如申請專利範圍第8項記載之記憶體管理系統,其中該記憶體切換控制器係將存於該正常存取區塊、或該次資料區塊之資料傳輸至一處理器。
- 如申請專利範圍第8項記載之記憶體管理系統,其中該記憶體管理裝置係利用軟體、韌體、或硬體其中之一或其組合來實施。
- 如申請專利範圍第8項記載之記憶體管理系統,其中該次級記憶體為快閃記憶體、硬碟、光碟其中之一或其組合。
- 如申請專利範圍第8項記載之記憶體管理系統,其中,當該要求訊號指定存取該正常存取區塊之資料時,該記憶體切換控制器存取該正常存取區塊之資料。
- 如申請專利範圍第8項記載之記憶體管理系統,其中該主記憶體係根據位址資訊來決定讀寫該正常存取區塊或該次資料區塊。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW97118249A TWI408553B (zh) | 2008-05-16 | 2008-05-16 | 記憶體管理系統與方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW97118249A TWI408553B (zh) | 2008-05-16 | 2008-05-16 | 記憶體管理系統與方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200949540A TW200949540A (en) | 2009-12-01 |
TWI408553B true TWI408553B (zh) | 2013-09-11 |
Family
ID=44870997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW97118249A TWI408553B (zh) | 2008-05-16 | 2008-05-16 | 記憶體管理系統與方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI408553B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01246649A (ja) * | 1988-03-29 | 1989-10-02 | Toshiba Corp | メモリシステム |
US5396619A (en) * | 1993-07-26 | 1995-03-07 | International Business Machines Corporation | System and method for testing and remapping base memory for memory diagnostics |
CN1577292A (zh) * | 2003-07-28 | 2005-02-09 | 深圳市朗科科技有限公司 | 存储控制芯片及数据存储控制方法 |
US20060149888A1 (en) * | 2004-12-31 | 2006-07-06 | Vimicro Corporation | Method and apparatus for extending memory addressing |
CN101034375A (zh) * | 2007-02-12 | 2007-09-12 | 忆正存储技术(深圳)有限公司 | 计算机存储*** |
-
2008
- 2008-05-16 TW TW97118249A patent/TWI408553B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01246649A (ja) * | 1988-03-29 | 1989-10-02 | Toshiba Corp | メモリシステム |
US5396619A (en) * | 1993-07-26 | 1995-03-07 | International Business Machines Corporation | System and method for testing and remapping base memory for memory diagnostics |
CN1577292A (zh) * | 2003-07-28 | 2005-02-09 | 深圳市朗科科技有限公司 | 存储控制芯片及数据存储控制方法 |
US20060149888A1 (en) * | 2004-12-31 | 2006-07-06 | Vimicro Corporation | Method and apparatus for extending memory addressing |
CN101034375A (zh) * | 2007-02-12 | 2007-09-12 | 忆正存储技术(深圳)有限公司 | 计算机存储*** |
Also Published As
Publication number | Publication date |
---|---|
TW200949540A (en) | 2009-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10891236B2 (en) | Data storage device and operating method thereof | |
US7299323B2 (en) | Memory controller having a read-modify-write function | |
US10943635B2 (en) | Memory device shared by two or more processors and system including the same | |
JP2017220237A (ja) | メモリモジュール、これを含むシステム及びその動作方法 | |
CN102033734B (zh) | 数据处理引擎 | |
CN101473438A (zh) | 具有单个接口的混合存储器设备 | |
JP5209461B2 (ja) | 集積回路内のデバイス間のデータ転送 | |
KR100312888B1 (ko) | 칩 인에이블 신호 생성 회로 및 메모리 장치 | |
US10372338B2 (en) | Memory controller and data processing circuit with improved system efficiency | |
KR101594029B1 (ko) | 데이터 조작 방법 및 그 방법을 이용하는 시스템 장치 | |
CN106802870B (zh) | 一种高效的嵌入式***芯片Nor-Flash控制器及控制方法 | |
US8402199B2 (en) | Memory management system and method thereof | |
US20060059320A1 (en) | Memory control device | |
WO2017151262A1 (en) | Method and apparatus for providing a contiguously addressable memory region by remapping an address space | |
CN112199040A (zh) | 存储访问方法及智能处理装置 | |
CN101290602B (zh) | 存储器管理***与方法 | |
TWI408553B (zh) | 記憶體管理系統與方法 | |
US20220366949A1 (en) | Electronic device, operation method of host, operation method of memory module, and operation method of memory device | |
CN101488119B (zh) | 地址译码方法、装置及单板 | |
US11487469B2 (en) | Apparatus and method for controlling access to memory module | |
US7453760B2 (en) | Method for accessing dual-port memory | |
US6813647B2 (en) | Microcomputer system reading data from secondary storage medium when receiving upper address from outside and writing data to primary storage medium | |
US20100217957A1 (en) | Structured Virtual Registers for Embedded Controller Devices | |
EP2163990A1 (en) | Memory management system and method thereof | |
JP2008282415A (ja) | メモリ管理システムとその管理方法 |