專利名稱:電子存儲裝置及其操作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種電子存儲裝置及其操作方法,特別是涉及一種非揮發(fā)性電子存儲 裝置及其操作方法。
背景技術(shù):
NAND型閃存因具有讀寫速度快、省電、可靠度高等優(yōu)點,廣泛被應(yīng)用在消費型電 子產(chǎn)品中,作為存儲媒體使用。習(xí)知固態(tài)數(shù)據(jù)存儲裝置,如固態(tài)硬盤(Solid-State Disk, SSD)、優(yōu)盤(USB Flash Drive,UFD)、記憶卡等。其中又以采用NAND型閃存(NAND-Type FlashMemory)作為主要存儲媒體。圖1是固態(tài)硬盤的功能方塊圖。固態(tài)硬盤120通過磁盤驅(qū)動器接口 130與主機 系統(tǒng)相連,控制單元140須執(zhí)行主機系統(tǒng)100 (Host System)透過系統(tǒng)界面下達的指令 (Command),并依指令所指定的邏輯地址(Logical Address),將數(shù)據(jù)寫入存儲媒體160,或 自存儲媒體160讀取數(shù)據(jù)。為達成此一功能,控制單元140須具備邏輯-實體地址轉(zhuǎn)換 (Logical-to-PhysicalAddress Translation)的功能,并須于固態(tài)硬盤120內(nèi)部設(shè)置存 儲媒體160用于存放一邏輯-實體地址對應(yīng)表(Logical-to-Physical Address Mapping Table),以記錄邏輯地址與實體地址的對應(yīng)關(guān)系。由于該邏輯_實體地址對應(yīng)表所需存儲 空間甚大,為減少此存儲空間,以簡化轉(zhuǎn)換程序并降低控制單元成本,習(xí)知技術(shù)以相等或不 等的容量,將實體存儲空間,劃分為多個記憶區(qū)段(Segment或Zone),并于每一記憶區(qū)段保 存該記憶區(qū)段的邏輯_實體地址對應(yīng)表。如圖2所示,當主機系統(tǒng)100下達讀寫指令要求 存取特定邏輯地址所對應(yīng)的資料時,控制單元140即依該邏輯-實體地址對應(yīng)表決定存儲 該邏輯地址的物理內(nèi)存所屬記憶區(qū)段,若該記憶區(qū)段的邏輯_實體地址對應(yīng)表當時并未載 入控制單元140內(nèi)部的記憶單元150,則將原先存放在控制單元140內(nèi),當時并未使用的對 應(yīng)表寫回存儲媒體160,并自存儲媒體160中載入該指令所須的對應(yīng)表。若主機系統(tǒng)100下達的指令所存取的地址,是循序(Sequential)時,亦即依序由 小而大,或由大而小時,則上述情形尚不致對存儲裝置的存取速度造成嚴重的影響。但當主 機系統(tǒng)100前后下達的指令所存取的地址并不連續(xù)時,且經(jīng)常對應(yīng)著不同的記憶區(qū)段,如 此會造成需頻繁切換寫回對應(yīng)表與重新載入對應(yīng)表,嚴重影響該存儲裝置的存取速度。雖然可以增加控制單元140內(nèi)存放對應(yīng)表的內(nèi)存容量,并容許同時加載兩個或以 上的記憶區(qū)段的對應(yīng)表,以免于頻繁切換對應(yīng)表,但此方法仍受限于控制單元140內(nèi)記憶 單元150的容量。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)的不足,本發(fā)明解決的技術(shù)問題是提供一種電子存儲裝置及其操作 方法,使得電子存儲裝置不僅寫入迅速,且可增加記憶體壽命。小型計算機系統(tǒng)接口(Small Computer System Interface, SCSI)界面以及串行 高級技術(shù)附件(Serial-ATA,SATA)界面裝置具有存儲指令隊列(Command Queue)的功能?;谏鲜鲅b置,當主機系統(tǒng)可在前一指令尚未完成的情況下,繼續(xù)下達后續(xù)的指令,并繼續(xù) 傳輸后續(xù)指令直到填滿存儲裝置的指令隊列記憶空間,或主機系統(tǒng)并無后續(xù)指令為止。存儲裝置在接獲多筆指令后,依據(jù)指令隊列中的各個指令所要求進行的作業(yè)項 目,重新予以排列執(zhí)行順序。本發(fā)明提出一種電子存儲裝置,其中,所述電子存儲裝置包括存儲單元、記憶單 元及控制單元。存儲單元包含至少一個記憶區(qū)段,記憶區(qū)段由至少一個實體區(qū)塊組成。記 憶單元接收并存儲主機系統(tǒng)下達的多個存取指令,每一筆指令包含至少一個邏輯地址,每 一個邏輯地址對應(yīng)著一個實體區(qū)塊??刂茊卧B接于記憶單元,依據(jù)存取指令中邏輯地址 對應(yīng)的實體區(qū)塊位于記憶區(qū)段的相鄰程度,而排序存取指令的執(zhí)行順序。本發(fā)明亦提出一種電子存儲裝置操作方法,電子存儲裝置包含至少一個記憶區(qū) 段,且記憶區(qū)段由至少一個實體區(qū)塊組成,其特征在于,所述操作方法包括以下步驟接收 并存儲多個存取指令,且每一筆指令包含至少一個邏輯地址,每一個邏輯地址對應(yīng)著一個 實體區(qū)塊;檢查存取指令是否能夠重新排序;當存取指令能夠重新排序時,依據(jù)存取指令 中邏輯地址對應(yīng)的實體區(qū)塊位于記憶區(qū)段的相鄰程度,而排序存取指令的執(zhí)行順序;當存 取指令不能重新排序時,依據(jù)接收存取指令的順序,而執(zhí)行存取指令。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是電子存儲裝置以記憶區(qū)段為單位執(zhí)行指 令,同一記憶區(qū)段內(nèi),優(yōu)先執(zhí)行與上一指令相同類型的指令,再按數(shù)據(jù)大小進行排序。記憶 區(qū)段間,亦按數(shù)據(jù)大小進行排序,以優(yōu)化指令執(zhí)行順序。如此可大大減少快閃記憶體頻繁變 換邏輯實體地址對應(yīng)表操作的時間,還有益于延長快閃記憶體的壽命。
圖1是固態(tài)硬盤的功能方塊圖;圖2是實體空間與邏輯_實體地址對應(yīng)表的轉(zhuǎn)換關(guān)系圖;圖3A是本發(fā)明電子存儲裝置第一種系統(tǒng)架構(gòu)圖;圖3B是本發(fā)明電子存儲裝置第二種系統(tǒng)架構(gòu)圖;圖4是本發(fā)明調(diào)整不同記憶區(qū)段間指令執(zhí)行順序流程圖;圖5是本發(fā)明的指令執(zhí)行順序流程圖;圖6A是本發(fā)明的指令執(zhí)行順序調(diào)整的示意圖;圖6B是本發(fā)明的控制單元接收到新指令后,調(diào)整指令執(zhí)行順序的示例圖;圖6C是本發(fā)明的控制單元執(zhí)行完一整個記憶區(qū)段的指令后的操作示意圖。
具體實施例方式圖3A為本發(fā)明最佳實施方式電子存儲裝置第一種系統(tǒng)架構(gòu)圖,電子存儲裝置320 包括電子存儲裝置接口 330與主機系統(tǒng)100的系統(tǒng)接口 310相連,和主機系統(tǒng)100進行數(shù) 據(jù)交換;控制單元340用于執(zhí)行主機系統(tǒng)100的控制指令,控制單元340中還包含記憶單元 350,由揮發(fā)性記憶體構(gòu)成,提供指令隊列記憶空間,用于存儲指令隊列;存儲單元360由快 閃記憶體構(gòu)成,與控制單元340相連,用于存儲數(shù)據(jù)。本發(fā)明亦提出另一系統(tǒng)結(jié)構(gòu),將電子存儲裝置所接收的指令存儲于單獨的記憶單 元,然后由控制單元進行操作,可獲得同樣的技術(shù)效果,且不受控制單元的存儲能力的限制。圖3B是本發(fā)明最佳實施方式電子存儲裝置第二種系統(tǒng)架構(gòu)圖,電子存儲裝置320包括 電子存儲裝置接口 330與主機系統(tǒng)100的系統(tǒng)接口 310相連,從而使電子存儲裝置320可以 與主機系統(tǒng)100進行數(shù)據(jù)交換;記憶單元350由揮發(fā)性記憶體構(gòu)成,耦接于控制單元340, 并與電子存儲裝置接口 330相連,用于存儲指令隊列;存儲單元360由快閃記憶體構(gòu)成,用 于存儲數(shù)據(jù);以及用于執(zhí)行主機系統(tǒng)100控制指令的控制單元340?;谏鲜鱿到y(tǒng)架構(gòu),當主機系統(tǒng)100下達指令時,控制單元340檢查揮發(fā)性記憶單 元350的指令隊列中的指令,并依據(jù)指令的類型與指定存取的邏輯地址,決定所述指令隊 列中的指令是否可重新排列執(zhí)行順序(或是否具有執(zhí)行先后順序的限制)。若能重新排序, 控制單元340依指令的邏輯地址相鄰程度予以分類,優(yōu)先執(zhí)行與前一指令相鄰程度高的指 令,然后將決定的執(zhí)行順序記錄于控制單元340內(nèi),構(gòu)成指令執(zhí)行順序索引??刂茊卧?40 依指令執(zhí)行順序索引記錄的次序,執(zhí)行指令完成數(shù)據(jù)傳輸??刂茊卧?40于每一指令完成 后,將該指令的完成狀態(tài)通知主機系統(tǒng)100,并清除該指令所占用的指令隊列的空間。每一 指令完成后,控制單元340將檢查是否接收到新指令,若接收到新指令,即將新指令存入指 令隊列中的閑置空間,重新檢查指令執(zhí)行順序索引,將新指令插入指令執(zhí)行順序索引的較 佳位置??刂茊卧?40若未接收到新指令,則執(zhí)行并清除完順序索引中所有指令后,即回復(fù) 待命狀態(tài)。前述“邏輯地址相鄰程度”指兩個或以上的類型相同的指令(亦即同為寫入或 同為讀取指令),指定存取的邏輯地址所對應(yīng)的實體地址,經(jīng)計算系屬同一記憶區(qū)段予以分 類,所述記憶區(qū)段包括至少一實體區(qū)塊。圖4是本發(fā)明調(diào)整不同記憶區(qū)段間指令執(zhí)行順序的示意圖。假設(shè)存儲單元包括記 憶區(qū)段1與記憶區(qū)段2,其中記憶區(qū)段1包括實體區(qū)塊0至實體區(qū)塊9,區(qū)段2包括實體區(qū) 塊10至實體區(qū)塊19。假設(shè)每次僅能調(diào)用一個記憶區(qū)段的邏輯實體地址對應(yīng)表,且在指令隊 列中有四筆類型相同的存取指令C1、C2、C3、C4,其中第一筆指令Cl存取地址為實體區(qū)塊8、 9,第二筆指令C2存取地址為實體區(qū)塊15、16,第三筆指令C3存取地址為實體區(qū)塊10、11, 第四筆指令C4存取地址為實體區(qū)塊5、6,且四筆指令存取的數(shù)據(jù)量一樣大。根據(jù)上述“邏輯地址相鄰程度”排序后,同一記憶區(qū)段中的存取指令將排在一起, 則所述指令隊列中的指令執(zhí)行順序為Cl、C4、C2、C3,即指令存取地址的順序為8、9、5、6、 15、16、10、11,或C4、C1、C3、C2,即指令存取地址的順序為5、6、8、9、10、11、15、16。所以在控 制單元執(zhí)行存取指令Cl、C4、C2、C3時,系讀取記憶區(qū)段1的對應(yīng)表,以存取實體區(qū)塊8、9、 5、6,完成存取后便存回記憶區(qū)段1的對應(yīng)表,再讀取記憶區(qū)段2的對應(yīng)表以存取實體區(qū)塊 15、16、10、11。如此,即可有效減少邏輯實體地址對應(yīng)表的轉(zhuǎn)換頻率,提升數(shù)據(jù)存儲效率。圖5是本發(fā)明的指令執(zhí)行順序流程圖首先電子存儲裝置320接收主機系統(tǒng)100 下達的存取指令至指令隊列中(步驟S501);接著判斷該指令的執(zhí)行順序是否有限制(步 驟S503),即依據(jù)該存取指令的類型與指定存取的邏輯地址,判斷該指令的執(zhí)行順序是否 可以重新排序;若有執(zhí)行順序的限制,則根據(jù)該限制執(zhí)行指令(步驟S505),即根據(jù)該存取 指令的先后執(zhí)行限制來決定該存取指令的執(zhí)行順序;若沒有執(zhí)行順序的限制,則根據(jù)該指 令類型以及指定存取的邏輯地址來決定該存取指令的執(zhí)行順序(步驟S507);通過上述操 作,電子存儲裝置320將記錄已經(jīng)決定的執(zhí)行順序,構(gòu)成指令執(zhí)行順序索引(步驟S509); 至此,已經(jīng)確定指令執(zhí)行順序,控制單元340依指令執(zhí)行順序索引執(zhí)行指令(步驟S511);接著控制單元340執(zhí)行完該指令(步驟S513);然后,電子存儲裝置320將指令完成的狀態(tài) 通知給主機系統(tǒng)100(步驟S515);控制單元340清除指令隊列中已完成的指令占用的空間 (步驟S517);接著,控制單元340將判斷是否接收到新的指令(步驟S519);若接收到新 指令,則按上述的步驟重新操作一次,即跳轉(zhuǎn)到步驟S501 ;若沒有接收到新指令,控制單元 340則檢查執(zhí)行隊列中是否有未執(zhí)行的指令(步驟S521);若還有未執(zhí)行的指令,則按指令 執(zhí)行順序索引記錄的次序執(zhí)行指令(步驟S511);若指令均已執(zhí)行完,則電子存儲裝置320 進入待機狀態(tài)(步驟S523)。上述中,決定較佳排列順序的方法為1.依指令存取類型相同者予以分類,(同一 地址先讀后寫或先寫后讀,須依其次序執(zhí)行,不能改變執(zhí)行次序的指令,不在此列);2.依 指令存取邏輯地址的相鄰程度予以分組;3.優(yōu)先執(zhí)行與先前存取的記憶相同類型的指令, 然后執(zhí)行在同一記憶區(qū)段內(nèi)存取數(shù)據(jù)量最大的指令群組。執(zhí)行時以記憶區(qū)段為單位,在相 同記憶區(qū)段中存取數(shù)據(jù)量較大者優(yōu)先,執(zhí)行時依存取地址較小者開始至存取地址較大者循 序排列。圖6A是本發(fā)明的指令執(zhí)行順序調(diào)整的示意圖。記憶單元350內(nèi)存儲的是對應(yīng)表 1,指令隊列中指令1、6、9為對應(yīng)表1的相應(yīng)指令,即這三個指令存取的記憶區(qū)段為記憶區(qū) 段1。同樣,記憶區(qū)段2對應(yīng)著指令3和指令7 ;指令5對記憶區(qū)段3進行存?。挥洃泤^(qū)段 (n-1)對應(yīng)著指令2、4、8。因為記憶單元350內(nèi)存儲的是對應(yīng)表1,故優(yōu)先執(zhí)行關(guān)于記憶區(qū) 段1的指令。在其它記憶區(qū)段中,選擇相應(yīng)的存取數(shù)據(jù)量大的指令優(yōu)先執(zhí)行。若指令2、4、 8寫入記憶區(qū)段(n-1)的數(shù)據(jù)量大于指令3、7寫入記憶區(qū)段2的數(shù)據(jù)量,則將指令2、4、8優(yōu) 先指令3、7來執(zhí)行。否則,則將先執(zhí)行指令3或指令7。如此,則形成指令執(zhí)行順序索引 指令 1、6、9、2、4、8、3、7、5。圖6B是本發(fā)明的控制單元接收到新指令后,調(diào)整指令執(zhí)行順序的示例圖。每個指 令執(zhí)行完后,控制單元340將清除指令隊列中這一指令占用的空間,用來接收后續(xù)指令。另 外,每一指令完成后,控制單元340將檢查是否接收到新指令,若有新指令,即將新指令存 入指令隊列中的閑置空間,并將其置于合適的位置。例如,在執(zhí)行完指令1后,系統(tǒng)又接收 了指令10,此時,控制單元340將檢查指令10存取邏輯地址對應(yīng)的記憶區(qū)段,若指令10所 指定的實體地址也為對應(yīng)表1的對應(yīng)范圍,則指令10的執(zhí)行順序?qū)?yōu)先于記憶區(qū)段2的指 令。如此,形成指令執(zhí)行順序索引指令6、9、10、2、4、8、3、7、5。圖6C是本發(fā)明的控制單元執(zhí)行完一整個記憶區(qū)段的指令后的操作示意圖??刂?單元340執(zhí)行完記憶區(qū)段1的指令后,切換邏輯_實體地址對應(yīng)表,并執(zhí)行其它記憶區(qū)段的 數(shù)據(jù)存取作業(yè)。將抹除記憶單元350中的對應(yīng)表1,寫回對應(yīng)表1至存儲單元360后,讀取 對應(yīng)表(11-1),以執(zhí)行指令2、4、8。如此,形成指令執(zhí)行順序索引指令2、4、8、3、7、5。將指令隊列中的指令依存取類型予以分類后,除不能改變先后順序者以外,優(yōu)先 執(zhí)行與先前所執(zhí)行的指令存取同一記憶區(qū)段的指令,如此可避免切換邏輯_實體地址對應(yīng) 表。然后選擇存取數(shù)據(jù)量最大的記憶區(qū)段的相應(yīng)的指令執(zhí)行,再執(zhí)行該一記憶區(qū)段內(nèi)的其 它存取指令,最后再切換邏輯_實體地址對應(yīng)表,執(zhí)行其它記憶區(qū)段的數(shù)據(jù)存取作業(yè)。如此 即可減少切換邏輯_實體地址對應(yīng)表的次數(shù),達到提高存取效能的目的。更有,因能以管理 單位的存儲空間為單位,調(diào)整主機系統(tǒng)100傳輸數(shù)據(jù)的寫入順序,因而減少由于未循序?qū)?入數(shù)據(jù)所產(chǎn)生的額外數(shù)據(jù)搬移與抹除作業(yè),達到延長NAND型閃存的使用壽命的功效。
以上所述僅為本發(fā)明的較佳可行實施例,非因此即局限本發(fā)明的專利范圍,故舉 凡運用本發(fā)明說明書及圖示內(nèi)容所為的等效結(jié)構(gòu)變化,均同理包含于本發(fā)明的范圍內(nèi)。
權(quán)利要求
一種電子存儲裝置,用以連接主機系統(tǒng),其特征在于,所述電子存儲裝置包含存儲單元,包含至少一個記憶區(qū)段,所述記憶區(qū)段由至少一個實體區(qū)塊組成;記憶單元,接收并存儲所述主機系統(tǒng)下達的多個存取指令,每一筆所述指令包含至少一個邏輯地址,每一個邏輯地址對應(yīng)著一個實體區(qū)塊;及控制單元,連接于所述記憶單元,依據(jù)所述存取指令中邏輯地址對應(yīng)的所述實體區(qū)塊位于所述記憶區(qū)段的相鄰程度,而排序所述存取指令的執(zhí)行順序。
2.如權(quán)利要求1所述的電子存儲裝置,其特征在于,所述存儲單元由快閃記憶體構(gòu)成。
3.如權(quán)利要求1所述的電子存儲裝置,其特征在于,所述記憶單元為揮發(fā)性記憶體。
4.如權(quán)利要求1所述的電子存儲裝置,其特征在于,所述記憶單元中包含至少一個邏 輯實體地址對應(yīng)表,每一個邏輯實體地址對應(yīng)表用于記錄每一個記憶區(qū)段中各邏輯地址所 對應(yīng)的實體區(qū)塊。
5.如權(quán)利要求1所述的電子存儲裝置,其特征在于,所述相鄰程度是指所述存取指令 的邏輯地址對應(yīng)同一個記憶區(qū)段。
6.一種電子存儲裝置操作方法,所述電子存儲裝置包含至少一個記憶區(qū)段,且所述記 憶區(qū)段由至少一個實體區(qū)塊組成,其特征在于,所述操作方法包括以下步驟接收并存儲多個存取指令,且每一筆所述指令包含至少一個邏輯地址,每一個邏輯地 址對應(yīng)著一個實體區(qū)塊;檢查所述存取指令是否能夠重新排序;當所述存取指令能夠重新排序時,依據(jù)所述存取指令中邏輯地址對應(yīng)的所述實體區(qū)塊 位于所述記憶區(qū)段的相鄰程度,而排序所述存取指令執(zhí)行順序;及當所述存取指令不能重新排序時,依據(jù)接收所述存取指令的順序,而執(zhí)行所述存取指令。
7.如權(quán)利要求6所述的電子存儲裝置操作方法,其特征在于,所述相鄰程度是指所述 存取指令的邏輯地址對應(yīng)同一個記憶區(qū)段。
8.如權(quán)利要求7所述的電子存儲裝置操作方法,其特征在于,排序所述存取指令的執(zhí) 行順序后,是以記憶區(qū)段為單位而執(zhí)行所述存取指令。
9.如權(quán)利要求6所述的電子存儲裝置操作方法,其特征在于,上述的操作方法還包含 下列步驟執(zhí)行完一筆所述存取指令后,清除此指令占用所述電子存儲裝置的空間; 檢查是否接收到一新指令;當接收到所述新指令時,重新檢查所述存取指令執(zhí)行順序,并將所述新指令插入所述 存取指令的執(zhí)行順序中;及當未接收到所述新指令時,繼續(xù)按所述存取指令的執(zhí)行順序執(zhí)行其它指令。
10.如權(quán)利要求9所述的電子存儲裝置操作方法,其特征在于,上述的操作方法還包含 下列步驟執(zhí)行完一個所述記憶區(qū)段的所有指令后,選擇下一筆指令執(zhí)行; 其中,優(yōu)先選擇與先前存取的記憶區(qū)段相同類型的指令,再優(yōu)先選擇存取數(shù)據(jù)量大的 指令。
全文摘要
一種電子存儲裝置用以連接主機系統(tǒng),其特征在于,所述電子存儲裝置包含存儲單元、記憶單元及控制單元。存儲單元包含至少一個記憶區(qū)段,記憶區(qū)段由至少一個實體區(qū)塊組成。記憶單元接收并存儲主機系統(tǒng)下達的多個存取指令,每一筆指令包含至少一個邏輯地址,每一個邏輯地址對應(yīng)著一個實體區(qū)塊??刂茊卧B接于記憶單元,依據(jù)所述存取指令中邏輯地址的實體區(qū)塊位于記憶區(qū)段的相鄰程度,而排序所述存取指令的執(zhí)行順序。本發(fā)明的有益效果是電子存儲裝置以記憶區(qū)段為單位執(zhí)行指令,同一記憶區(qū)段內(nèi),優(yōu)先執(zhí)行與上一指令相同類型的指令,再按數(shù)據(jù)大小進行排序。記憶區(qū)段間,亦按數(shù)據(jù)大小進行排序,以優(yōu)化指令執(zhí)行順序。如此可大大減少快閃記憶體頻繁變換邏輯實體地址對應(yīng)表操作的時間,還有益于延長快閃記憶體的壽命。
文檔編號G11C11/34GK101908368SQ20091003379
公開日2010年12月8日 申請日期2009年6月4日 優(yōu)先權(quán)日2009年6月4日
發(fā)明者謝祥安 申請人:威剛科技(蘇州)有限公司