TW201729100A - 記憶體裝置及其資料存取方法 - Google Patents

記憶體裝置及其資料存取方法 Download PDF

Info

Publication number
TW201729100A
TW201729100A TW105104069A TW105104069A TW201729100A TW 201729100 A TW201729100 A TW 201729100A TW 105104069 A TW105104069 A TW 105104069A TW 105104069 A TW105104069 A TW 105104069A TW 201729100 A TW201729100 A TW 201729100A
Authority
TW
Taiwan
Prior art keywords
data
memory unit
memory
physical memory
page
Prior art date
Application number
TW105104069A
Other languages
English (en)
Other versions
TWI556103B (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 TW105104069A priority Critical patent/TWI556103B/zh
Priority to US15/152,581 priority patent/US9870826B2/en
Priority to CN201610326354.4A priority patent/CN107045423B/zh
Application granted granted Critical
Publication of TWI556103B publication Critical patent/TWI556103B/zh
Publication of TW201729100A publication Critical patent/TW201729100A/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits

Abstract

一種記憶體裝置及其資料存取方法。記憶體裝置包括第一及第二記憶體單元,第二記憶體單元的存取速度大於第一記憶體單元的存取速度。此方法包括接收寫入資料及對應的寫入位址;比對寫入資料以及在第二記憶體單元中對應寫入位址的資料,以決定是否將寫入資料寫入至第一記憶體單元的目前實體記憶頁中,以及將寫入資料寫入至第二記憶體單元中;在執行資料寫入動作之後,當目前實體記憶頁被寫滿時,依據第二記憶體單元的資料對目前實體記憶頁執行資料整理動作;當接收到讀取指令時,讀取第二記憶體單元中對應的資料。

Description

記憶體裝置及其資料存取方法
本發明是有關於一種資料存取技術,且特別是有關於一種兼具可靠度以及高讀寫速度的記憶體裝置及其資料存取方法。
可擦除可程式化唯讀記憶體(Electrically Erasable Programmable Read Only Memory,EEPROM)能夠以位元組(byte)為單位進行資料的讀取/寫入動作,並可具有高達百萬次的可擦寫次數。上述高讀寫速度以及高可靠度的特點,使得可擦除可程式化唯讀記憶體被廣泛地應用於嵌入式系統、儲存系統等許多應用中。
對於單晶片產品而言,現有技術並非使用內建的可擦除可程式化唯讀記憶體,而是利用快閃記憶體(Flash Memory)來提供資料儲存的功能。然而,快閃記憶體的可擦寫次數一般約為兩萬次,而遠不及可擦除可程式化唯讀記憶體的可擦寫次數,造成資料可靠度受到限制。
本發明提供一種記憶體裝置及其資料存取方法,其可提供良好的資料可靠度以及高讀取速度。
本發明提出一種記憶體裝置的資料存取方法。記憶體裝置包括第一記憶體單元及第二記憶體單元,其中第一記憶體單元包括多個實體記憶頁,第二記憶體單元的資料存取速度大於第一記憶體單元的資料存取速度。所述資料存取方法包括下列步驟。接收寫入資料,其中寫入資料對應於寫入位址,比對寫入資料以及在第二記憶體單元中對應寫入位址的第一資料,以產生比對結果,並依據比對結果決定是否執行資料寫入動作,其中資料寫入動作包括將寫入資料寫入至第一記憶體單元的目前實體記憶頁中未被寫入的儲存欄位,以及將寫入資料寫入至第二記憶體單元中對應寫入位址的儲存欄位。當執行資料寫入動作之後,判斷第一記憶體單元的目前實體記憶頁是否被寫滿。當第一記憶體單元的目前實體記憶頁被寫滿時,依據在第二記憶體單元中對應目前實體記憶頁的多數筆資料以對目前實體記憶頁執行資料整理動作。當接收到讀取指令時,依據讀取指令中的讀取位址,以讀取在第二記憶體單元中對應讀取位址的第二資料。
在本發明的一實施例中,上述比對寫入資料以及在第二記憶體單元中對應寫入位址的第一資料,以產生比對結果,並依據比對結果決定是否執行資料寫入動作的步驟包括判斷寫入資料是否與第一資料相同,當寫入資料與第一資料相同時,不執行資料寫入動作,以及當寫入資料與第一資料不同時,執行資料寫入動作。
在本發明的一實施例中,上述的目前實體記憶頁包括多個儲存欄位,各儲存欄位用以儲存位址資訊以及對應的資料內容,第二記憶體單元中對應位址資訊的儲存欄位只用以儲存資料內容,且資料寫入動作更包括將寫入位址以及該寫入資料寫入至目前實體記憶頁中未被寫入的儲存欄位,以及只將寫入資料寫入至第二記憶體單元中對應寫入位址的儲存欄位。
在本發明的一實施例中,上述當第一記憶體單元的目前實體記憶頁被寫滿時,依據在第二記憶體單元中對應目前實體記憶頁的資料以對目前實體記憶頁執行資料整理動作的步驟包括選擇所述實體記憶頁的其中之一以建立置換實體記憶頁,其中置換實體記憶頁與目前實體記憶頁不同,複製在第二記憶體單元中對應目前實體記憶頁的資料中的至少一有效資料至第一記憶體單元的置換實體記憶頁,以及抹除目前實體記憶頁,並將置換實體記憶頁設定為目前實體記憶頁。
在本發明的一實施例中,所述方法更包括在目前實體記憶頁中設置擦寫計數欄位,其中擦寫計數欄位用以儲存記憶體裝置的循環擦寫次數,當第一記憶體單元的目前實體記憶頁被寫滿時,判斷被寫滿的目前實體記憶頁是否為存取順序中對應的最後一個實體記憶頁,以及當被寫滿的目前實體記憶頁為存取順序中對應的最後一個實體記憶頁時,累加循環擦寫次數。
在本發明的一實施例中,所述方法更包括當記憶體裝置上電時,獲得第一記憶體單元中所儲存的至少一有效資料以及至少一有效資料對應的至少一儲存位址,以及複製所述有效資料至第二記憶體單元中的所述儲存位址。
在本發明的一實施例中,上述的第二記憶體單元的儲存欄位的個數大於第一記憶體單元的目前實體記憶頁的儲存欄位的個數。
本發明另提出一種記憶體裝置,其包括第一記憶體單元、第二記憶體單元以及控制器。第一記憶體單元包括多個實體記憶頁。第二記憶體單元的資料存取速度大於第一記憶體單元的資料存取速度。控制器耦接至第一記憶體單元以及第二記憶體單元。控制器接收寫入資料,其中寫入資料對應於寫入位址。控制器比對寫入資料以及在第二記憶體單元中對應寫入位址的第一資料,以產生比對結果,並依據比對結果決定是否執行資料寫入動作,其中,資料寫入動作包括將寫入資料寫入至第一記憶體單元的目前實體記憶頁中未被寫入的儲存欄位,以及將寫入資料寫入至第二記憶體單元中對應寫入位址的儲存欄位。當執行資料寫入動作之後,控制器判斷第一記憶體單元的目前實體記憶頁是否被寫滿,當第一記憶體單元的目前實體記憶頁被寫滿時,控制器依據在第二記憶體單元中對應目前實體記憶頁的多數筆資料以對目前實體記憶頁執行資料整理動作。當接收到讀取指令時,控制器依據讀取指令中的讀取位址,以讀取在第二記憶體單元中對應讀取位址的第二資料。
在本發明的一實施例中,上述的控制器判斷寫入資料是否與第一資料相同,當寫入資料與第一資料相同時,控制器不執行資料寫入動作,以及當寫入資料與第一資料不同時,控制器執行資料寫入動作。
在本發明的一實施例中,上述的目前實體記憶頁包括多個儲存欄位,各儲存欄位用以儲存位址資訊以及對應的資料內容,第二記憶體單元中對應位址資訊的儲存欄位只用以儲存資料內容,且控制器更將寫入位址以及寫入資料寫入至目前實體記憶頁中未被寫入的儲存欄位,以及只將寫入資料寫入至第二記憶體單元中對應寫入位址的儲存欄位。
基於上述,本發明實施例利用第一記憶體單元(快閃記憶體)和第二記憶體單元(靜態隨機存取記憶體)的組合,在接收到寫入資料時,先將寫入資料與第二記憶體單元中的資料進行比對,從而在判斷資料需要變更時才執行資料寫入動作。此外,當第一記憶體的目前實體記憶頁被寫滿時,還可依據第二記憶體中的資料來對目前實體記憶頁進行資料整理。藉此,可有效降低第一記憶體單元需被存取的次數,等效提升了資料可靠度。另外,利用第二記憶體單元來提供讀取功能,也可加速記憶體裝置的資料讀取速度。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
在應用單晶片的相關產品中,快閃記憶體(Flash memory)普遍被用來儲存會被頻繁存取的非揮發性資料。然而,基於元件特性,快閃記憶體的可擦寫次數有其限制。此外,在快閃記憶體的資料存取機制中,當目前使用的實體記憶頁被資料填滿時,快閃記憶體可將此實體記憶頁中的有效資料搬移以釋出儲存空間,但此動作卻也導致額外的存取次數。因此,若能夠在快閃記憶體需要更新資料時才進行資料寫入,並在搬移資料時減少對於快閃記憶體的存取,便可有效延長快閃記憶體的使用壽命。基於上述觀點,本發明實施例提出一種快閃記憶體(第一記憶體單元)搭配靜態隨機存取記憶體(Static Random Access Memory,SRAM,第二記憶體單元)的記憶體裝置及其資料存取方法,可等效模擬出數量級與可擦除可程式化唯讀記憶體相當的可擦寫次數,並可兼顧記憶體裝置所需的尺寸以及資料存取的速度。為了使本發明的內容更為明瞭,以下特舉實施例做為本發明確實能夠據以實施的範例。
圖1是依照本發明一實施例所繪示的一種記憶體裝置的方塊圖。請參照圖1,記憶體裝置10包括第一記憶體單元110、第二記憶體單元120以及控制器130。記憶體裝置10可做為儲存各種使用者資料或系統資料的儲存空間。在一實施例中,記憶體裝置10可為電子裝置,其包括儲存裝置(對應於上述的第一記憶體單元110以及第二記憶體單元120)以及主機(對應於上述的控制器130)。
此外,在其他實施例中,記憶體裝置10也可為獨立於主機的儲存裝置。其中,記憶體裝置10可設置於主機(未繪示)的內部並與主機電性連接。或者,記憶體裝置10也可利用外接的方式與主機電性連接,例如透過通用序列匯流排(Universal Serial Bus,USB)等各式匯流排與主機電性連接等,本發明不對其限制。
第一記憶體單元110例如是快閃記憶體等非揮發性記憶體,其可包括多個實體區塊以儲存例如來自主機所寫入之資料。上述的每一實體區塊分別具有多個實體記憶頁,其中,實體記憶頁可為抹除的最小單位,亦即,在實體記憶頁中的資料可在同一次資料抹除動作中被一併抹除。
第二記憶體單元120例如是靜態隨機存取記憶體。在此,第二記憶體單元120的資料存取速度可大於第一記憶體單元110的資料存取速度。
控制器130可用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,以執行本發明實施例所提出的資料存取方法,從而在第一及第二記憶體單元110、120中進行資料的寫入、讀取與抹除等運作。當記憶體裝置10為電子裝置時,控制器130可為主機。而當記憶體裝置10為儲存裝置時,控制器130則可為記憶體控制器,並例如是以嵌入式系統晶片(System On Chip,SOC)來實現。
在此,控制器130可從第一記憶體單元110的實體記憶頁中選擇可寫入資料的多個實體記憶頁(以下稱可調用的實體記憶頁),並選擇這些可調用的實體記憶頁的其中之一來作為目前實體記憶頁。上述的實體記憶頁具有類似的配置,在此以目前實體記憶頁為例進行說明。具體來說,目前實體記憶頁可包括多個儲存欄位,且各儲存欄位可包括兩個子欄位,分別用以儲存位址資訊以及對應的資料內容。此外,各儲存欄位可儲存的資料位元數例如是2個位元組(byte)。基於是否被寫入資料,上述的儲存欄位可分為已被寫入資料的儲存區(以下稱已寫入區)以及未被寫入資料的儲存區(以下稱未寫入區)。當有新的資料要寫入至第一記憶體單元110時,控制器130可將資料寫入至未寫入區的儲存欄位中。
另一方面,第二記憶體單元120可包括多個儲存欄位,且各儲存欄位只用以儲存資料內容。上述各儲存欄位可儲存的資料位元數例如是1個位元組。在此,第二記憶體單元120的儲存欄位的個數可大於第一記憶體單元110的目前實體記憶頁的儲存欄位的個數。控制器130可例如在初始化階段(例如,當記憶體裝置10上電而保持電力供應時),將第一記憶體單元110中已儲存的有效資料(例如是第一記憶體單元110中儲存的位址資訊所對應的最新資料內容)複製至第二記憶體單元120。如此一來,由於第二記憶體單元120所儲存的資料與第一記憶體單元110所儲存的有效資料相同,本發明實施例便可藉由對第二記憶體單元120進行存取,有效減少對於第一記憶體單元110的存取次數。
此外,控制器130還可維護一個邏輯轉實體位址映射表(logical to physical address mapping table),以記錄第一記憶體單元110的邏輯位址與實體位址的映射關係。當主機欲存取某一邏輯位址所對應的資料時,控制器130可根據邏輯轉實體位址映射表,而在第一記憶體單元110的對應的實體位址中存取資料。此部分的技術應為本領域技術人員所熟知,故細節不再贅述。
圖2是依照本發明一實施例所繪示的一種記憶體裝置的資料存取方法的流程圖,且適用於圖1的記憶體裝置10。以下即搭配圖1所示的各個元件來說明本方法的詳細步驟。
首先,在步驟S202中,控制器130接收寫入資料,且寫入資料對應於一寫入位址。在步驟S204中,控制器130比對寫入資料以及在第二記憶體單元120中對應寫入位址的第一資料,以產生比對結果,並依據比對結果決定是否執行資料寫入動作。上述的資料寫入動作包括將寫入資料寫入至第一記憶體單元110的目前實體記憶頁中未被寫入的儲存欄位,以及將寫入資料寫入至第二記憶體單元120中對應寫入位址的儲存欄位。
具體而言,寫入位址例如是控制器130用來存取第二記憶體單元120的位址。如前所述,由於第二記憶體單元120所儲存的資料與第一記憶體單元110所儲存的有效資料相同,因此,當接收到寫入資料時,控制器130便可先存取第二記憶體單元120中對應寫入位址的第一資料,並將寫入資料與第一資料進行比對,從而判斷第一記憶體單元110的資料是否需要變更。更明確地說,控制器130可透過存取第二記憶體單元120的第一資料和寫入資料進行比對,以判斷寫入資料是否與第一資料相同。當寫入資料與第一資料相同時,表示第一及第二記憶體單元110、120中的資料無須變更,故控制器130不執行資料寫入動作。而當寫入資料與第一資料不同時,表示第一及第二記憶體單元110、120中的資料需要更新,故控制器130執行資料寫入動作,以將寫入資料寫入至第一及第二記憶體單元110、120。
藉此,本實施例利用存取第二記憶體單元120來判斷第一記憶體單元110中的資料是否需要更新,並可在資料需要更新的情況,才對第一記憶體單元110執行資料寫入動作。
接著,在步驟S206中,當執行資料寫入動作之後,控制器130判斷第一記憶體單元110的目前實體記憶頁是否被寫滿。在步驟S208中,當第一記憶體單元110的目前實體記憶頁被寫滿時,控制器130依據在第二記憶體單元120中對應目前實體記憶頁的多數筆資料以對目前實體記憶頁執行資料整理動作。
詳言之,當目前實體記憶頁被寫滿時,本實施例的控制器130可利用第二記憶體單元120中所儲存的資料,而使目前實體記憶頁中的有效資料搬移至可調用的另一個實體記憶頁(以下稱置換實體記憶頁),並且釋出目前實體記憶頁的儲存空間,以完成目前實體記憶頁的資料整理。在一實施例中,控制器130可選擇實體記憶頁的其中之一以建立置換實體記憶頁,並將在第二記憶體單元120中對應目前實體記憶頁的資料中的至少一有效資料複製至第一記憶體單元110的置換實體記憶頁,以及抹除目前實體記憶頁,並將置換實體記憶頁設定為目前實體記憶頁。
其中,控制器130可調用的實體記憶頁例如是依據其分別對應的實體位址而具有一排序(以下稱存取順序)。因此,控制器130便可選擇在此存取順序中位於目前實體記憶頁的下一個實體記憶頁以作為置換實體記憶頁。上述的排序方式也可例如依據各實體記憶頁已被抹除的次數所決定,例如,控制器130可從實體記憶頁中選擇具有較小的已被抹除的次數的實體記憶頁來作為置換實體記憶頁,以使這些實體記憶頁之間可達到平均磨損(wear leveling)。本發明對於置換實體記憶頁的選擇方式不加以限制。
藉此,本實施例利用存取第二記憶體單元120,即可獲得第一記憶體單元110的目前實體記憶頁中的有效資料,從而免除在目前實體記憶頁中必須搜尋有效資料以進行複製所造成的額外存取動作。
請繼續參照圖2,在步驟S210中,當接收到讀取指令時,控制器130依據讀取指令中的讀取邏輯位址,以讀取在第二記憶體單元120中對應讀取邏輯位址的第二資料。因此,在本實施例中,控制器130可直接對第二記憶體單元120進行資料讀取,而無須在第一記憶體單元110的實體記憶頁中搜尋讀取邏輯位址所對應的最後更新的資料,故可有效提升資料讀取的速度。上述的讀取指令例如是由主機所發送。
藉此,在一些實施例中,本發明與現有技術相比,可利用存取第二記憶體單元120來有效降低對於第一記憶體單元110的存取,進而延長第一記憶體單元110的使用壽命,等效使記憶體裝置10具有良好的資料可靠度。此外,由於第二記憶體單元120的資料存取速度大於第一記憶體單元110的資料存取速度,故記憶體裝置10的資料讀取速度也因此而提升。
以下對資料寫入的流程提供一種詳細的實施方式。請參照圖3,圖3是依照本發明一實施例所繪示的資料存取方法的流程圖,且適用於圖1的記憶體裝置10。
首先,在步驟S302中,控制器130對第一及第二記憶體單元110、120執行初始化動作。控制器130可在初始化階段,決定第一記憶體單元110中可調用的實體記憶頁,並在這些實體記憶頁中,將儲存有第一記憶體單元110的有效資料的實體記憶頁設定為目前實體記憶頁。接著,控制器130並可將上述的有效資料複製至第二記憶體單元120。
具體而言,在一實施例中,控制器130例如是在記憶體裝置10上電時,執行上述的初始化動作。在可調用的實體記憶頁以及目前實體記憶頁被決定後,控制器130可搜尋目前實體記憶頁中的儲存欄位,以獲得第一記憶體單元110中所儲存的至少一有效資料以及所述有效資料對應的至少一儲存位址,並將所述有效資料複製至第二記憶體單元120中的所述儲存位址。換言之,與現有技術相比,在本發明的一些實施例中,其藉由在第一記憶體單元110的儲存欄位中記錄用以存取第二記憶體單元120的位址,等效地建立了第一記憶體單元110以及第二記憶體單元120之間的對應關係。在此基礎下,第二記憶體單元120中的儲存欄位便只須儲存資料內容,故能夠兼顧第二記憶體單元120的元件尺寸。同時,也可藉由第二記憶體單元120以提供較佳的讀取速度。
此外,控制器130還可在目前實體記憶頁中配置一標記,以指向在目前實體記憶頁的未寫入區中的一儲存欄位。當控制器130決定執行資料寫入動作時,便可將所接收到的寫入資料及其對應的寫入邏輯位址寫入至此標記指向的儲存欄位。
在步驟S304中,控制器130接收寫入資料。在步驟S306中,控制器130判斷寫入資料是否與第二記憶體單元120中對應寫入位址的的第一資料相同。當寫入資料與第一資料相同時,進入步驟S308,控制器130不執行資料寫入動作,並回到步驟S304,以接收下一筆寫入資料。當寫入資料與第一資料不同時,則進入步驟S310,控制器130執行資料寫入動作。本實施例的步驟S304與圖2實施例的步驟S202類似,且本實施例的步驟S306、S308、S310與圖2實施例的步驟S204類似,故相同或相似處不再贅述。須注意的是,在本實施例中,控制器130執行的資料寫入動作還可包括將寫入資料以及寫入位址寫入至目前實體記憶頁中未被寫入的同一儲存欄位。藉此,即可依據寫入至第一記憶體單元110中的上述寫入位址,同步更新第一記憶體單元110以及第二記憶體單元120之間的對應關係。
在執行資料寫入動作之後,進入步驟S312,控制器130判斷第一記憶體單元110的目前實體記憶頁是否被寫滿。在本實施例中,控制器130可例如依據是否能夠找到標記可指向的儲存欄位,從而判斷目前實體記憶頁是否被寫滿。當第一記憶體單元110的目前實體記憶頁未被寫滿時,進入步驟S314,控制器130使標記指向目前實體記憶頁中另一未被寫入的儲存欄位。之後,回到步驟S304。
在一些實施例中,本發明與現有技術相比,控制器130還可在目前實體記憶頁中設置一擦寫計數欄位,其用以儲存記憶體裝置10的循環擦寫次數。其中,當可調用的實體記憶頁皆被抹除一次時,控制器130可將循環擦寫次數累加1。值得一提的是,在各實體記憶頁中,由於只有在目前實體記憶頁的擦寫計數欄位中所儲存的資料不為預設值(在此,預設值例如是經抹除後所儲存的數值,例如:『0xFFFF』),故在這些實施例中,即可依據讀取循環擦寫次數欄位的資料是否為預設值來辨識目前實體記憶頁,並進而得知目前記憶體裝置10已執行過的循環擦寫次數。擦寫計數欄位的資料位元數例如是2個位元組。
因此,當第一記憶體單元110的目前實體記憶頁被寫滿時,在步驟S316中,控制器130判斷被寫滿的目前實體記憶頁是否為存取順序中對應的最後一個實體記憶頁。若判斷結果為否,則在步驟S318中,控制器130利用第二記憶體單元120中對應目前實體記憶頁的有效資料以對目前實體記憶頁執行資料整理動作。在此,步驟S318與圖2實施例的步驟S208類似,故細節不再重複說明。之後,進入步驟S314。
另一方面,若被寫滿的目前實體記憶頁為存取順序中對應的最後一個實體記憶頁時,則進入步驟S320,控制器130可累加循環擦寫次數。之後,進入步驟S318以對目前實體記憶頁執行資料整理動作,以及進入步驟S314。
值得一提的是,在一些實施例中,記憶體裝置10可提供的資料可靠度例如是依以下方程式(1)而計算得到。其中,R為平均每一資料的可靠度,SP為第一記憶體單元110的實體記憶頁的位元數,SC為擦寫計數欄位的位元數,SF為第一記憶體單元110的一個儲存欄位的位元數,ND為已被寫入資料的儲存欄位的個數,NP為可調用的實體記憶頁的個數,NE為第一記憶體單元110的可靠擦寫次數。(1)
例如,對於第一記憶體單元110的實體記憶頁的位元數(SP)為512位元組、擦寫計數欄位的位元數(SC)為2位元組、第一記憶體單元110的一個儲存欄位的位元數(SF)為2位元組、已被寫入資料的儲存欄位的個數(ND)為8、可調用的實體記憶頁的個數(NP)為2,且第一記憶體單元110的可靠擦寫次數(NE)為20000次的情況,記憶體裝置10可使平均每一資料的可靠度達到2470000次。藉此,可有效模擬出百萬次的資料可靠度。
圖4A至圖4D分別是依照本發明一實施例所繪示的範例,其中,第一記憶體單元410以及第二記憶體單元420為前述實施例中的第一記憶體單元110以及第二記憶體單元120的一種實施方式。
首先,請參照圖4A,其繪示出當初始化動作完成時的第一記憶體單元410以及第二記憶體單元420的示意圖。在此範例中,實體記憶頁P0、P1被選擇為可調用的實體記憶頁,且實體記憶頁P0、P1被依序存取。其中,目前實體記憶頁412被設定為實體記憶頁P1。
在此先對實體記憶頁P1的配置進行說明。如圖4A所示,實體記憶頁P1包括儲存欄位F0~Fi+1,且各儲存欄位包括兩個子欄位,以分別儲存位址資訊以及對應的資料內容。例如,儲存欄位F0儲存位址LA0以及資料D0,儲存欄位F1儲存位址LA1以及資料D1等。資料DP為資料預設值,代表對應的儲存欄位未寫入資料或是經過抹除動作。因此,在實體記憶頁P1中,儲存欄位F0~Fi-1可為已寫入區SR11,且儲存欄位Fi、Fi+1可為未寫入區SR12。此外,實體記憶頁P1還包括擦寫計數欄位,其儲存了記憶體裝置的循環擦寫次數CE。另一方面,標記414被配置以指向未寫入區SR12中的儲存欄位Fi。
在此範例中,實體記憶頁P0未被寫入資料(或是經過抹除動作),故其中的各儲存欄位儲存的是資料DP。此外,擦寫計數欄位中儲存的是循環擦寫次數的預設值CP。
另一方面,第二記憶體單元420可使用陣列形式來儲存資料,其包括N個儲存欄位,且N可大於i+1,以便提供足夠數量的儲存欄位來儲存實體記憶頁P0、P1中的有效資料。在第二記憶體單元420中,資料預設值也為資料DP。在初始化動作完成後,第一記憶體單元410中的資料會依據儲存在同個儲存欄位中的位址資訊而被對應複製至第二記憶體單元420。例如,實體記憶頁P1中的資料D0被複製至第二記憶體單元420中的位址LA0,實體記憶頁P1中的資料D1被複製至第二記憶體單元420中的位址LA1等。若第一記憶體單元410未儲存特定位址(例如位址LA3)對應的資料內容,則在第二記憶體單元420中,此特定位址(例如位址LA3)儲存的資料內容是資料DP。
接著,當接收到寫入資料D7以及對應的寫入位址LA7時,由於寫入資料D7與在第二記憶體單元120中對應寫入位址LA7的資料DP不相同,表示記憶體裝置10中的資料需要變更,故寫入位址LA7以及寫入資料D7被寫入至實體記憶頁P1中的儲存欄位Fi,且寫入資料D7被寫入至第二記憶體單元120的位址LA7。此外,標記414被調整以指向至未寫入區SR12中的儲存欄位Fi+1。上述動作完成後的示意圖如圖4B所示。
請繼續參照圖4B,若再接收到寫入資料D4以及對應的寫入位址LA4時,由於寫入資料D4與在第二記憶體單元120中對應寫入位址LA4的資料D4相同,表示記憶體裝置10中的資料無需變更,故不執行資料寫入動作。
之後,當接收到寫入資料DP以及對應的寫入位址LA0時,由於寫入資料DP與在第二記憶體單元120中對應寫入位址LA0的資料D0不相同,故寫入位址LA0以及寫入資料DP被寫入至實體記憶頁P1中的儲存欄位Fi+1,且寫入資料DP被寫入至第二記憶體單元120的位址LA0,如圖4C所示。
此時,實體記憶頁P1被寫滿,且實體記憶頁P1是存取順序中的最後一個實體記憶頁。因此,控制器130可存取第二記憶體單元420中的有效資料(例如位址LA1、LA4、LA6、LA7分別對應的資料D1、D4、D6、D7),並將上述的有效資料複製至實體記憶頁P0。此外,循環擦寫次數CE被累加1後寫入至實體記憶頁P0的擦寫計數欄位(經累加後的循環擦寫次數在本實施例中以CE’表示)。之後,實體記憶頁P1被抹除,且實體記憶頁P0被設定為目前實體記憶頁412。此時,實體記憶頁P0可包括已寫入區SR01以及未寫入區SR02,且標記414被指向未寫入區SR02中的儲存欄位Fj。至於被抹除的實體記憶頁P1中,各儲存欄位被抹除為資料預設值(資料DP),且擦寫計數欄位也被抹除為循環擦寫次數的預設值CP。完成上述流程後的示意圖如圖4D所示。
綜上所述,利用上述第一記憶體單元(快閃記憶體)和第二記憶體單元(靜態隨機存取記憶體)的組合,可在接收到寫入資料時,先將寫入資料與第二記憶體單元中的資料進行比對,從而在判斷資料需要變更時才執行資料寫入動作。此外,當第一記憶體的目前實體記憶頁被寫滿時,還可依據第二記憶體中的資料來對目前實體記憶頁進行資料整理。藉此,可有效降低第一記憶體單元需被存取的次數,等效提升了資料可靠度。另外,利用第二記憶體單元來提供讀取功能,也可加速記憶體裝置的資料讀取速度。
在一些實施例中,利用第二記憶體單元來等效提升可讀寫次數的作法雖會造成記憶體裝置的尺寸些微增加,但由於第二記憶體單元的儲存欄位只須用以儲存資料內容,而無須儲存對應的位址資訊,故仍可兼顧記憶體裝置整體的可讀寫次數、尺寸以及讀取速度。
值得一提的是,在另一些實施例中,只有在記憶體裝置上電、下電(記憶體裝置的電力供應停止)以及第一記憶體單元的目前使用記憶頁被寫滿的狀況,第一記憶體單元和第二記憶體單元之間才會進行資料交換動作,而在其他情況時,則可僅由第二記憶體單元來提供資料存取功能。其中,由於第二記憶體單元所儲存的資料會因電力供應停止而消失,故當記憶體裝置下電時,控制器也可適應性地將第二記憶體單元中的資料複製到第一記憶體單元中。
基於上述,在一些實施例中,本發明相較於現有技術將靜態隨機存取記憶體作為緩衝記憶體(Buffer)的情況,可提供較佳的資料可靠度並兼具高讀取速度。這是因為,緩衝記憶體通常是用以提供主機暫存資料,之後此暫存的資料再從緩衝記憶體複製到儲存裝置,故主機在將資料暫存至緩衝記憶體中之後,便不會再對緩衝記憶體中的資料進行讀取。此外,在現有技術的架構中,緩衝記憶體也無法增加儲存裝置的可讀寫次數。
另一方面,相較於現有技術將靜態隨機存取記憶體作為快取記憶體(Cache)的情況,由於快取記憶體一般僅用以提高資料存取速度,而無法增加儲存裝置的可讀寫次數,故在一些實施例中,本發明相較於現有技術可提供較佳的資料可靠度。
再加上,透過設置的擦寫計數欄位,本發明實施例還可有效指出第一記憶體單元中目前正在使用的目前實體記憶頁,並藉由擦寫計數欄位中所儲存的循環擦寫次數,進而提供記憶體裝置已執行過循環擦寫動作的次數的相關資訊。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10‧‧‧記憶體裝置
110、410‧‧‧第一記憶體單元
120、420‧‧‧第二記憶體單元
130‧‧‧控制器
412‧‧‧目前實體記憶頁
414‧‧‧標記
CE、CE’‧‧‧循環擦寫次數
CP‧‧‧循環擦寫次數的預設值
D0、D1、D4、D6、D7、DP‧‧‧資料
F0~Fi+1、Fj‧‧‧儲存欄位
LA0~LAN‧‧‧位址
P0、P1‧‧‧實體記憶頁
SR01、SR11‧‧‧已寫入區
SR02、SR12‧‧‧未寫入區
S202~S210、S302~S320‧‧‧方法步驟
圖1是依照本發明一實施例所繪示的一種記憶體裝置的方塊圖。 圖2是依照本發明一實施例所繪示的一種記憶體裝置的資料存取方法的流程圖。 圖3是依照本發明一實施例所繪示的一種記憶體裝置的資料存取方法的流程圖。 圖4A至圖4D分別是依照本發明一實施例所繪示的範例。
S202~S210‧‧‧方法步驟

Claims (10)

  1. 一種記憶體裝置的資料存取方法,其中該記憶體裝置包括一第一記憶體單元及一第二記憶體單元,其中該第一記憶體單元包括多個實體記憶頁,該第二記憶體單元的資料存取速度大於該第一記憶體單元的資料存取速度,且該資料存取方法包括: 接收一寫入資料,其中該寫入資料對應於一寫入位址; 比對該寫入資料以及在該第二記憶體單元中對應該寫入位址的一第一資料,以產生一比對結果,並依據該比對結果決定是否執行一資料寫入動作,其中該資料寫入動作包括將該寫入資料寫入至該第一記憶體單元的一目前實體記憶頁中未被寫入的一儲存欄位,以及將該寫入資料寫入至該第二記憶體單元中對應該寫入位址的一儲存欄位; 當執行該資料寫入動作之後,判斷該第一記憶體單元的該目前實體記憶頁是否被寫滿; 當該第一記憶體單元的該目前實體記憶頁被寫滿時,依據在該第二記憶體單元中對應該目前實體記憶頁的多數筆資料以對該目前實體記憶頁執行一資料整理動作;以及 當接收到一讀取指令時,依據該讀取指令中的一讀取位址,以讀取在該第二記憶體單元中對應該讀取位址的一第二資料。
  2. 如申請專利範圍第1項所述的記憶體裝置的資料存取方法,其中比對該寫入資料以及在該第二記憶體單元中對應該寫入位址的該第一資料,以產生該比對結果,並依據該比對結果決定是否執行該資料寫入動作的步驟包括: 判斷該寫入資料是否與該第一資料相同; 當該寫入資料與該第一資料相同時,不執行該資料寫入動作;以及 當該寫入資料與該第一資料不同時,執行該資料寫入動作。
  3. 如申請專利範圍第1項所述的記憶體裝置的資料存取方法,其中該目前實體記憶頁包括多個儲存欄位,各該些儲存欄位用以儲存一位址資訊以及對應的一資料內容,該第二記憶體單元中對應該位址資訊的一儲存欄位只用以儲存該資料內容,且該資料寫入動作更包括: 寫入該寫入位址以及該寫入資料至該目前實體記憶頁中未被寫入的該儲存欄位;以及 只寫入該寫入資料至該第二記憶體單元中對應該寫入位址的該儲存欄位。
  4. 如申請專利範圍第1項所述的記憶體裝置的資料存取方法,其中當該第一記憶體單元的該目前實體記憶頁被寫滿時,依據在該第二記憶體單元中對應該目前實體記憶頁的該些資料以對該目前實體記憶頁執行該資料整理動作的步驟包括: 選擇該些實體記憶頁的其中之一以建立一置換實體記憶頁,其中該置換實體記憶頁與該目前實體記憶頁不同; 複製在該第二記憶體單元中對應該目前實體記憶頁的該些資料中的至少一有效資料至該第一記憶體單元的該置換實體記憶頁;以及 抹除該目前實體記憶頁,並將該置換實體記憶頁設定為該目前實體記憶頁。
  5. 如申請專利範圍第1項所述的記憶體裝置的資料存取方法,更包括: 在該目前實體記憶頁中設置一擦寫計數欄位,其中該擦寫計數欄位用以儲存該記憶體裝置的一循環擦寫次數; 當該第一記憶體單元的該目前實體記憶頁被寫滿時,判斷該被寫滿的目前實體記憶頁是否為一存取順序中對應的最後一個實體記憶頁;以及 當該被寫滿的目前實體記憶頁為該存取順序中對應的該最後一個實體記憶頁時,累加該循環擦寫次數。
  6. 如申請專利範圍第1項所述的記憶體裝置的資料存取方法,更包括: 當該記憶體裝置上電時,獲得該第一記憶體單元中的至少一有效資料以及該至少一有效資料對應的至少一儲存位址;以及 複製該至少一有效資料至該第二記憶體單元中的該至少一儲存位址。
  7. 如申請專利範圍第1項所述的記憶體裝置的資料存取方法,其中該第二記憶體單元的多個儲存欄位的個數大於該第一記憶體單元的該目前實體記憶頁的多個儲存欄位的個數。
  8. 一種記憶體裝置,包括: 一第一記憶體單元,包括多個實體記憶頁; 一第二記憶體單元,該第二記憶體單元的資料存取速度大於該第一記憶體單元的資料存取速度;以及 一控制器,耦接至該第一記憶體單元以及該第二記憶體單元,該控制器接收一寫入資料,其中該寫入資料對應於一寫入位址,該控制器比對該寫入資料以及在該第二記憶體單元中對應該寫入位址的一第一資料,以產生一比對結果,並依據該比對結果決定是否執行一資料寫入動作,其中該資料寫入動作包括將該寫入資料寫入至該第一記憶體單元的一目前實體記憶頁中未被寫入的一儲存欄位,以及將該寫入資料寫入至該第二記憶體單元中對應該寫入位址的一儲存欄位, 當執行該資料寫入動作之後,該控制器判斷該第一記憶體單元的該目前實體記憶頁是否被寫滿,當該第一記憶體單元的該目前實體記憶頁被寫滿時,該控制器依據在該第二記憶體單元中對應該目前實體記憶頁的多數筆資料以對該目前實體記憶頁執行一資料整理動作,以及 當接收到一讀取指令時,該控制器依據該讀取指令中的一讀取位址,以讀取在該第二記憶體單元中對應該讀取位址的一第二資料。
  9. 如申請專利範圍第8項所述的記憶體裝置,其中該控制器判斷該寫入資料是否與該第一資料相同,當該寫入資料與該第一資料相同時,該控制器不執行該資料寫入動作,以及當該寫入資料與該第一資料不同時,該控制器執行該資料寫入動作。
  10. 如申請專利範圍第8項所述的記憶體裝置,其中該目前實體記憶頁包括多個儲存欄位,各該些儲存欄位用以儲存一位址資訊以及對應的一資料內容,該第二記憶體單元中對應該位址資訊的一儲存欄位只用以儲存該資料內容,且該控制器更寫入該寫入位址以及該寫入資料至該目前實體記憶頁中未被寫入的該儲存欄位,以及只寫入該寫入資料至該第二記憶體單元中對應該寫入位址的該儲存欄位。
TW105104069A 2016-02-05 2016-02-05 記憶體裝置及其資料存取方法 TWI556103B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW105104069A TWI556103B (zh) 2016-02-05 2016-02-05 記憶體裝置及其資料存取方法
US15/152,581 US9870826B2 (en) 2016-02-05 2016-05-12 Memory apparatus and data access method thereof by using multiple memories for lifetime extension
CN201610326354.4A CN107045423B (zh) 2016-02-05 2016-05-17 存储器装置及其数据存取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105104069A TWI556103B (zh) 2016-02-05 2016-02-05 記憶體裝置及其資料存取方法

Publications (2)

Publication Number Publication Date
TWI556103B TWI556103B (zh) 2016-11-01
TW201729100A true TW201729100A (zh) 2017-08-16

Family

ID=57851436

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105104069A TWI556103B (zh) 2016-02-05 2016-02-05 記憶體裝置及其資料存取方法

Country Status (3)

Country Link
US (1) US9870826B2 (zh)
CN (1) CN107045423B (zh)
TW (1) TWI556103B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI820883B (zh) * 2022-08-30 2023-11-01 新唐科技股份有限公司 積體電路及其快取記憶體有效位元清除方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI584290B (zh) * 2016-02-04 2017-05-21 新唐科技股份有限公司 非依電性記憶體裝置及其操作方法
CN109658867A (zh) * 2018-12-10 2019-04-19 北京欧徕德微电子技术有限公司 数据读写方法及其装置
CN112068765B (zh) * 2019-06-10 2024-04-26 伊姆西Ip控股有限责任公司 管理存储系统的方法、设备和计算机程序产品
US11461025B2 (en) * 2020-11-05 2022-10-04 Macronix International Co., Ltd. Data retention in memory devices

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6813679B2 (en) * 2002-06-20 2004-11-02 Purple Mountain Server Llc Method and circuit for increasing the memory access speed of an enhanced synchronous SDRAM
US7146469B2 (en) * 2002-10-24 2006-12-05 Sony Corporation Method, apparatus, and system for improving memory access speed
US7292487B1 (en) * 2006-05-10 2007-11-06 Micron Technology, Inc. Independent polling for multi-page programming
TWI358068B (en) * 2007-10-19 2012-02-11 Phison Electronics Corp Writing method for non-volatile memory and control
TWI368223B (en) * 2007-12-07 2012-07-11 Phison Electronics Corp Flash memory data writing method and controller using the same
JP2012128769A (ja) * 2010-12-17 2012-07-05 Toshiba Corp メモリシステム
CN102521146B (zh) * 2011-11-08 2014-10-22 福建新大陆通信科技股份有限公司 一种flash存储器块细分的数据寻址存储方法
CN103426470B (zh) * 2012-05-21 2016-04-20 北京兆易创新科技股份有限公司 提高快闪存储器的页编程速度的方法
CN103269339B (zh) * 2013-05-03 2015-10-28 武汉噢易云计算有限公司 基于超文本传输协议的文件传输方法及系统
KR102249810B1 (ko) * 2014-07-23 2021-05-11 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI820883B (zh) * 2022-08-30 2023-11-01 新唐科技股份有限公司 積體電路及其快取記憶體有效位元清除方法

Also Published As

Publication number Publication date
CN107045423B (zh) 2020-06-12
TWI556103B (zh) 2016-11-01
US9870826B2 (en) 2018-01-16
CN107045423A (zh) 2017-08-15
US20170229182A1 (en) 2017-08-10

Similar Documents

Publication Publication Date Title
CN110998550B (zh) 存储器寻址
US8453021B2 (en) Wear leveling in solid-state device
TWI556103B (zh) 記憶體裝置及其資料存取方法
US11030093B2 (en) High efficiency garbage collection method, associated data storage device and controller thereof
US8510502B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
US9880742B2 (en) Valid data merging method, memory controller and memory storage apparatus
US9146691B2 (en) Method for managing commands in command queue, memory control circuit unit and memory storage apparatus
US20080120488A1 (en) Apparatus and method of managing nonvolatile memory
US10475516B2 (en) Data storage device and data erasing method wherein after erasing process, predetermined value is written to indicate completion of said erasing method
US9176865B2 (en) Data writing method, memory controller, and memory storage device
US20130013853A1 (en) Command executing method, memory controller and memory storage apparatus
US8516184B2 (en) Data updating using mark count threshold in non-volatile memory
US8667234B2 (en) Data writing method, memory controller, and memory storage apparatus
TWI423022B (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
US7287117B2 (en) Flash memory and mapping control apparatus and method for flash memory
KR20210057193A (ko) 소계 기입 카운터에 기초한 하이브리드 웨어 레벨링 동작 수행
US9619380B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US20140372668A1 (en) Data writing method, memory controller and memory storage apparatus
JPWO2009096180A1 (ja) メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム
US9009442B2 (en) Data writing method, memory controller and memory storage apparatus
TW201917578A (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
CN113885808A (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
US8762685B2 (en) Data writing method, memory controller and memory storage apparatus
TWI571881B (zh) 有效資料合併方法、記憶體控制器與記憶體儲存裝置
JP2012068765A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法