TWI467581B - 複合式儲存裝置及其複合式儲存媒體控制器與定址方法 - Google Patents
複合式儲存裝置及其複合式儲存媒體控制器與定址方法 Download PDFInfo
- Publication number
- TWI467581B TWI467581B TW99130228A TW99130228A TWI467581B TW I467581 B TWI467581 B TW I467581B TW 99130228 A TW99130228 A TW 99130228A TW 99130228 A TW99130228 A TW 99130228A TW I467581 B TWI467581 B TW I467581B
- Authority
- TW
- Taiwan
- Prior art keywords
- logical
- disk
- addresses
- address group
- blocks
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本發明是有關於一種複合式儲存裝置及其複合式儲存媒體控制器與定址方法,且特別是有關於一種同時利用非揮發性記憶體模組與硬碟模組作為儲存媒體的複合式儲存裝置及其複合式儲存媒體控制器與定址方法。
此外,由於非揮發性記憶體(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以亦已廣泛作為資料的儲存之用。例如,固態硬碟就是以非揮發性記憶體作為儲存媒體的儲存裝置。相對於傳統磁盤式硬碟來說,快閃記憶體具有速度較快的優點。特別是,在電腦系統的應用中,以快閃記憶體作為主硬碟(即,安裝作業系統的硬碟)的系統效能會遠優於以磁盤式硬碟作為主硬碟的系統。
然而,相對於快閃記憶體來說,磁盤式硬碟具有壽命較長且容量較大等優點。具體來說,快閃記憶體具有抹除次數(或寫入次數)的限制。當快閃記憶體的實體區塊被頻繁地寫入資料超過某一次數時,此實體區塊將無法在被用來寫入資料。特別是,當快閃記憶體作為安裝作業系統的主硬碟時,由於在電腦系統運作過程中作業系統的資料會被頻繁存取,因此快閃記憶體的壽命將會遠低於磁盤式硬碟的壽命。此外,隨著磁碟技術的發展,磁盤式硬碟的單位容量成本大幅的降低,因此,在相同成本下,所購得之磁盤式硬碟的容量是遠大於所購得之快閃記憶體的容量。
由於快閃記憶體與磁盤式硬碟各具有上述有缺點,因此,目前已開發出以快閃記憶體作為高速緩衝儲存器(cache)的磁盤式硬碟,以提升磁盤式硬碟的效能。然而,在此種磁盤式硬碟中,快閃記憶體僅是用作為暫存資料之用,以便磁盤式硬碟的控制器能夠快速地回應主機系統。實際上,控制器仍需將資料從快閃記憶體中搬移至對應的磁碟位址中。
基於上述,如何使得儲存裝置能夠同時具有高效能且較長壽命,是此領域技術人員所致力的目標。
本發明提供一種複合式儲存裝置及其複合式儲存媒體控制器與定址方法,其可有效地提升資料的存取速度以及裝置的使用壽命。
本發明範例實施例提出一種複合式儲存裝置,其包括連接器、非揮發性記憶體模組、硬碟模組與複合式儲存媒體控制器。連接器用以連接至主機系統;非揮發性記憶體模組具有多個實體區塊;硬碟模組具有多個實體磁碟位址;並且複合式儲存媒體控制器耦接至此連接器、非揮發性記憶體模組與硬碟模組。複合式儲存媒體控制器用以將此些實體區塊至少分組為儲存區與取代區,配置多個邏輯區塊以映射屬於儲存區的實體區塊並且配置多個邏輯磁碟位址以映射硬碟模組的實體磁碟位址。此外,複合式儲存媒體控制器更用以將此些邏輯磁碟位址分組為第一邏輯磁碟位址群與第二邏輯磁碟位址群,配置多個邏輯存取位址以供主機系統存取,並且將此些邏輯存取位址分組為第一邏輯存取位址群與第二邏輯存取位址群。再者,複合式儲存媒體控制器更用以初始地將屬於第一邏輯存取位址群的邏輯存取位址映射至此些邏輯區塊並且將屬於第二邏輯存取位址群的邏輯存取位址映射至屬於第二邏輯磁碟位址群的邏輯磁碟位址。
在本發明之一實施例中,上述之複合式儲存媒體控制器更用以判斷此些實體區塊之中的壞實體區塊的數目是否超過一預設門檻值。並且,當此些實體區塊之中的壞實體區塊的數目超過該預設門檻值時,複合式儲存媒體控制器更用以將儲存在此些邏輯區塊所映射的實體區塊中的資料複製到屬於第一邏輯磁碟位址群的邏輯磁碟位址所映射的實體磁碟位址中並且將屬於第一邏輯存取位址群的邏輯存取位址重新映射至屬於第一邏輯磁碟位址群的邏輯磁碟位址。
在本發明之一實施例中,上述之複合式儲存媒體控制器建立與維護位址映射表以記錄此些邏輯存取位址與此些邏輯區塊和屬於第二邏輯磁碟位址群的邏輯磁碟位址之間的映射關係。
在本發明之一實施例中,上述之複合式儲存媒體控制器將此位址映射表儲存在屬於第一邏輯磁碟位址群的邏輯磁碟位址所映射的些實體磁碟位址中。
在本發明之一實施例中,上述之屬於第一邏輯磁碟位址群的邏輯磁碟位址的大小相同於此些邏輯區塊的大小。
在本發明之一實施例中,當此些邏輯區塊之中的其中一個邏輯區塊所映射的實體區塊變成一壞實體區塊時,上述之複合式儲存媒體控制器更用以判斷取代區的實體區塊之中是否存有一正常實體區塊。並且,當取代區的實體區塊之中無存有正常實體區塊時,複合式儲存媒體控制器更用以將屬於第一邏輯存取位址群的邏輯存取位址之中映射此邏輯區塊的邏輯存取位址映射至屬於第一邏輯磁碟位址群的邏輯磁碟位址的其中之一。
在本發明之一實施例中,上述之屬於第一邏輯磁碟位址群的邏輯磁碟位址的大小相同或小於此些邏輯區塊的大小。
本發明範例實施例提出一種複合式儲存媒體控制器,用於管理非揮發性記憶體模組與硬碟模組,其中此非揮發性記憶體模組具有多個實體區塊且此硬碟模組具有多個實體磁碟位址。本複合式儲存媒體控制器包括主機介面、儲存媒體介面與儲存媒體管理電路。主機介面用以耦接至主機系統;儲存媒體介面用以耦接至非揮發性記憶體模組與硬碟模組;以及儲存媒體管理電路耦接此主機介面與儲存媒體介面。在此,儲存媒體管理電路用以將此些實體區塊至少分組為儲存區與取代區,配置多個邏輯區塊以映射屬於儲存區的實體區塊並且配置多個邏輯磁碟位址以映射此硬碟模組的實體磁碟位址。此外,儲存媒體管理電路更用以將此些邏輯磁碟位址分組為第一邏輯磁碟位址群與第二邏輯磁碟位址群,配置多個邏輯存取位址以供主機系統存取,並且將此些邏輯存取位址分組為第一邏輯存取位址群與第二邏輯存取位址群。再者,儲存媒體管理電路更用以初始地將屬於第一邏輯存取位址群的邏輯存取位址映射至此些邏輯區塊並且將屬於第二邏輯存取位址群的邏輯存取位址映射至屬於第二邏輯磁碟位址群的邏輯磁碟位址。
在本發明之一實施例中,上述之儲存媒體管理電路更用以判斷此些實體區塊之中的壞實體區塊的數目是否超過一預設門檻值。並且,當此些實體區塊之中的壞實體區塊的數目超過該預設門檻值時,複合式儲存媒體控制器更用以將儲存在此些邏輯區塊所映射的實體區塊中的資料複製到屬於第一邏輯磁碟位址群的邏輯磁碟位址所映射的實體磁碟位址中並且將屬於第一邏輯存取位址群的邏輯存取位址重新映射至屬於第一邏輯磁碟位址群的邏輯磁碟位址。
在本發明之一實施例中,上述之儲存媒體管理電路建立與維護位址映射表以記錄此些邏輯存取位址與此些邏輯區塊和屬於第二邏輯磁碟位址群的邏輯磁碟位址之間的映射關係。
在本發明之一實施例中,上述之儲存媒體管理電路將此位址映射表儲存在屬於第一邏輯磁碟位址群的邏輯磁碟位址所映射的些實體磁碟位址中。
在本發明之一實施例中,當此些邏輯區塊之中的其中一個邏輯區塊所映射的實體區塊變成一壞實體區塊時,上述之儲存媒體管理電路更用以判斷取代區的實體區塊之中是否存有一正常實體區塊。並且,當取代區的實體區塊之中無存有正常實體區塊時,儲存媒體管理電路更用以將屬於第一邏輯存取位址群的邏輯存取位址之中映射此邏輯區塊的邏輯存取位址映射至屬於第一邏輯磁碟位址群的邏輯磁碟位址的其中之一。
本發明範例實施例提出一種定址方法,用於具有非揮發性記憶體模組與硬碟模組的儲存裝置,其中此非揮發性記憶體模組具有多個實體區塊且此硬碟模組具有多個實體磁碟位址。本定址方法包括將此些實體區塊至少分組為儲存區與取代區;配置多個邏輯區塊以映射屬於儲存區的該些實體區塊;配置多個邏輯磁碟位址以映射硬碟模組的實體磁碟位址;以及將此些邏輯磁碟位址分組為第一邏輯磁碟位址群與第二邏輯磁碟位址群。本方法也包括配置多個邏輯存取位址以供一主機系統存取;以及將該些邏輯存取位址分組為第一邏輯存取位址群與第二邏輯存取位址群。本方法更包括初始地將屬於第一邏輯存取位址群的邏輯存取位址映射至邏輯區塊並且將屬於第二邏輯存取位址群的邏輯存取位址映射至屬於第二邏輯磁碟位址群的邏輯磁碟位址。
在本發明之一實施例中,上述之定址方法更包括判斷此些實體區塊之中的壞實體區塊的數目是否超過預設門檻值。並且,當此些實體區塊之中的壞實體區塊的數目超過預設門檻值時,本方法更包括將儲存在此些邏輯區塊所映射的實體區塊中的資料複製到屬於第一邏輯磁碟位址群的邏輯磁碟位址所映射的實體磁碟位址中並且將屬於第一邏輯存取位址群的邏輯存取位址重新映射至屬於第一邏輯磁碟位址群的邏輯磁碟位址。
在本發明之一實施例中,上述之定址方法更包括建立與維護位址映射表以記錄此些邏輯存取位址與此些邏輯區塊和屬於第二邏輯磁碟位址群的邏輯磁碟位址之間的映射關係。
在本發明之一實施例中,上述之定址方法更包括將此位址映射表儲存在屬於第一邏輯磁碟位址群的邏輯磁碟位址所映射的實體磁碟位址中。
在本發明之一實施例中,上述之將此些邏輯磁碟位址分組為第一邏輯磁碟位址群與第二邏輯磁碟位址群的步驟包括:將該些邏輯磁碟位址之中的部份邏輯磁碟位址分組為第一邏輯磁碟位址群,其中此部分邏輯磁碟位址的大小相同於該些邏輯區塊的大小;以及將此些邏輯磁碟位址之中的其他部分邏輯磁碟位址分組為第二邏輯磁碟位址群。
在本發明之一實施例中,上述之定址方法更包括:當此些邏輯區塊之中的其中一個邏輯區塊所映射的實體區塊變成一壞實體區塊時,判斷取代區的實體區塊之中是否存有一正常實體區塊。並且,當取代區的實體區塊之中無存有正常實體區塊時,本方法更包括將屬於第一邏輯存取位址群的邏輯存取位址之中映射此邏輯區塊的邏輯存取位址映射至屬於第一邏輯磁碟位址群的邏輯磁碟位址的其中之一。
在本發明之一實施例中,上述之將此些邏輯磁碟位址分組為第一邏輯磁碟位址群與第二邏輯磁碟位址群的步驟包括:將此些邏輯磁碟位址之中的部份邏輯磁碟位址分組為第一邏輯磁碟位址群,其中此部分邏輯磁碟位址的大小相同或小於該些邏輯區塊的大小;以及將此些邏輯磁碟位址之中的其他部分邏輯磁碟位址分組為第二邏輯磁碟位址群。
基於上述,本發明範例實施例的複合式儲存裝置及其複合式儲存媒體控制器與定址方法可有效地提升資料的存取速度並且延長使用壽命。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1A是根據本發明第一範例實施例繪示主機系統與複合式儲存裝置。
請參照圖1A,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108與資料傳輸介面1110。輸入/輸出裝置1106包括如圖1B的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖1B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明實施例中,複合式儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的運作可將資料寫入至複合式儲存裝置100或從複合式儲存裝置100中讀取資料。
圖2是繪示圖1A所示的複合式儲存裝置的概要方塊圖。
請參照圖2,複合式儲存裝置100包括連接器102、複合式儲存媒體控制器104、非揮發性記憶體模組106與硬碟模組108。
在本範例實施例中,連接器102為通用序列匯流排(Universal Serial Bus,USB)連接器。然而,必須瞭解的是,本發明不限於此,連接器102亦可以是電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394連接器、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)連接器、序列先進附件(Serial Advanced Technology Attachment,SATA)連接器、安全數位(Secure Digital,SD)介面連接器、記憶棒(Memory Stick,MS)介面連接器、多媒體儲存卡(Multi Media Card,MMC)介面連接器、小型快閃(Compact Flash,CF)介面連接器、整合式驅動電子介面(Integrated Device Electronics,IDE)連接器或其他適合的連接器。
複合式儲存媒體控制器104用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統1000的指令在非揮發性記憶體模組106中進行資料的寫入、讀取與抹除等運作。特別是,複合式儲存媒體控制器104會依據本範例實施例的定址方法來存取非揮發性記憶體模組106與硬碟模組108。本發明第一範例實施例的定址方法將於以下配合圖式作詳細說明。
非揮發性記憶體模組106是耦接至複合式儲存媒體控制器104,並且用以儲存主機系統1000所寫入之資料。非揮發性記憶體模組106包括多個實體區塊。各實體區塊分別具有複數個頁面,其中屬於於同一個實體區塊之實體頁面可被獨立地寫入且被同時地抹除。更詳細來說,實體區塊可為抹除之最小單位。亦即,每一實體區塊含有最小數目之一併被抹除之記憶胞。實體頁面可為程式化的最小單元。即,實體頁面為寫入資料的最小單元。此外,在其他範例實施例中,寫入資料的最小單元亦是容量小於實體頁面的區段(sector)。每一實體頁面通常可包括資料位元區與冗餘位元區。資料位元區用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,錯誤檢查與校正碼)。資料位元區與冗餘位元區的配置為此領域技術人員所知的一般知識,在此不詳細描述。在本範例實施中,非揮發性記憶體模組106為多層記憶胞(Multi Level Cell,MLC)NAND快閃記憶體模組。然而,本發明不限於此,非揮發性記憶體模組106亦可是單層記憶胞(Single Level Cell,SLC)NAND快閃記憶體模組、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
硬碟模組108是耦接至複合式儲存媒體控制器104,並且用以儲存主機系統1000所寫入之資料。硬碟模組108是以多個磁碟作為儲存媒體。此些磁碟具有多個實體磁碟位址,並且硬碟模組108的讀寫頭(未繪示)會在磁碟上移動以在此些實體磁碟位址上來進行資料的存取。
值得一提的是,在本範例實施例中,非揮發性記憶體模組106與硬碟模組108是分別地透過獨立的資料匯流排來與複合式儲存媒體控制器104耦接。然而,必須瞭解的是,本發明不限於此,在本發明另一範例實施例中,非揮發性記憶體模組106與硬碟模組108亦可透過同一資料匯流排與複合式儲存媒體控制器104耦接。在此例子中,複合式儲存媒體控制器104是藉由驅動不同的晶片致能接腳來將資料選擇地傳送給非揮發性記憶體模組106或硬碟模組108。
圖3是根據本發明第一範例實施例所繪示的記憶體控制器的概要方塊圖。
請參照圖3,複合式儲存媒體控制器104包括儲存媒體管理電路202、主機介面204與儲存媒體介面206。
儲存媒體管理電路202用以控制複合式儲存媒體控制器104的整體運作,以進行資料的寫入、讀取、抹除等運作。例如,儲存媒體管理電路202具有多個控制指令,並且在複合式儲存裝置100運作時,此些控制指令會被執行以根據本發明範例實施例的定址方法來存取與管理非揮發性記憶體模組106與硬碟模組108的儲存空間。
例如,在本範例實施例中,儲存媒體管理電路202的控制指令是以韌體型式來實作。例如,儲存媒體管理電路202具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當複合式儲存裝置100運作時,此些控制指令會由微處理器單元來執行以完成根據本發明實施例的定址方法。
在本發明另一範例實施例中,儲存媒體管理電路202的控制指令亦可以程式碼型式儲存於非揮發性記憶體模組106的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,儲存媒體管理電路202具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有驅動碼段,並且當複合式儲存媒體控制器104被致能時,微處理器單元會先執行此驅動碼段來將儲存於非揮發性記憶體模組106中之控制指令載入至儲存媒體管理電路202的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以執行本發明範例實施例的定址方法。此外,在本發明另一範例實施例中,儲存媒體管理電路202的控制指令亦可以一硬體型式來實作。
主機介面204是耦接至儲存媒體管理電路202並且用以接收與識別主機系統1000所傳送的指令與資料。也就是說,主機系統1000所傳送的指令與資料會透過主機介面204來傳送至儲存媒體管理電路202。在本範例實施例中,主機介面204是對應連接器102為USB介面。然而,必須瞭解的是本發明不限於此,主機介面204亦可以是IEEE 1394介面、PCI Express介面、SD介面、MS介面、MMC介面、CF介面、SATA介面、IDE介面或其他適合的資料傳輸介面。
儲存媒體介面206是耦接至儲存媒體管理電路202並且用以存取非揮發性記憶體模組106與硬碟模組108。例如,儲存媒體介面206包括記憶體介面206a與硬碟介面206b。欲寫入至非揮發性記憶體模組106的資料會經由記憶體介面206a轉換為非揮發性記憶體模組106所能接受的格式,並且欲寫入至硬碟模組108的資料會經由硬碟介面206b轉換為硬碟模組108所能接受的格式。
在本發明一範例實施例中,複合式儲存媒體控制器104還包括緩衝記憶體208。緩衝記憶體208是耦接至儲存媒體管理電路202並且用以暫存來自於主機系統1000的資料與指令或來自於非揮發性記憶體模組106的資料。在此,緩衝記憶體208為靜態隨機存取記憶體(Static Random-Access Memory,SRAM)。然而,必須瞭解的是,本發明不限於此,在另一範例實施例中,緩衝記憶體208亦可是動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)或其他適合的記憶體。
在本發明一範例實施例中,複合式儲存媒體控制器104還包括錯誤檢查與校正電路210。錯誤檢查與校正電路210是耦接至儲存媒體管理電路202並且用以執行錯誤檢查與校正程序以確保資料的正確性。例如,當儲存媒體管理電路202從主機系統1000中接收到寫入指令時,錯誤檢查與校正電路210會為對應此寫入指令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),並且儲存媒體管理電路202會將對應此寫入指令的資料與對應的錯誤檢查與校正碼寫入至非揮發性記憶體模組106或硬碟模組108中。之後,當儲存媒體管理電路202從非揮發性記憶體模組106或硬碟模組108中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼,並且錯誤檢查與校正電路210會依據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
在本發明一範例實施例中,複合式儲存媒體控制器104還包括電源管理電路212。電源管理電路212是耦接至儲存媒體管理電路202並且用以控制複合式儲存裝置100的電源。
圖4與圖5是根據本發明第一範例實施例所繪示之管理非揮發性記憶體模組的範例示意圖。
必須瞭解的是,在此描述非揮發性記憶體模組106之實體區塊的運作時,以“提取”、“交換”、“分組”、“輪替”等詞來操作實體區塊是邏輯上的概念。也就是說,記憶體模組106之實體區塊的實際位置並未更動,而是邏輯上對非揮發性記憶體模組106的實體區塊進行操作。
請參照圖4,複合式儲存媒體控制器104的儲存媒體管理電路202會將非揮發性記憶體模組106的實體區塊304(0)~304(R)邏輯地分組為包括資料區402與備用區404的儲存區410、系統區406與取代區408。
邏輯上屬於儲存區410的實體區塊是用以儲存來自於主機系統1000的資料。具體來說,資料區402是識為已儲存資料的實體區塊,而備用區404的實體區塊是用以替換資料區402的實體區塊。因此,備用區404的實體區塊為空或可使用的實體區塊,即無記錄資料或標記為已沒用的無效資料。也就是說,在備用區404中的實體區塊已被執行抹除運作,或者當備用區404中的實體區塊被提取用於儲存資料之前所提取之實體區塊會被執行抹除運作。因此,備用區404的實體區塊為可被使用的實體區塊。
邏輯上屬於系統區406的實體區塊是用以記錄系統資料,其中此系統資料可包括關於非揮發性記體模組的製造商與型號、非揮發性記體模組的實體區塊數、每一實體區塊的實體頁面數等。
邏輯上屬於取代區408中的實體區塊是替代實體區塊。例如,非揮發性記憶體模組106於出廠時可預留4%的實體區塊作為更換使用。也就是說,當資料區402、備用區404與系統區406中的實體區塊損毀時,預留於取代區408中的實體區塊是用以取代損壞的實體區塊(即,壞實體區塊(bad block))。因此,倘若取代區408中仍存有正常之實體區塊且發生實體區塊損毀時,儲存媒體管理電路202會從取代區408中提取正常的實體區塊來更換損壞的實體區塊。
值得一提的是,資料區402、備用區404、系統區406與取代區408之實體區塊的數量會依據不同的記憶體規格而有所不同。此外,必須瞭解的是,在複合式儲存裝置100的運作期間,實體區塊關聯至資料區402、備用區404、系統區406與取代區408的分組關係會動態地變動。例如,當備用區404中的實體區塊損壞而被取代區408的實體區塊取代時,則原本取代區408的實體區塊會被關聯至備用區404。
請參照圖5,如上所述,資料區402與備用區404的實體區塊是以輪替方式來儲存主機系統1000所寫入之資料。在本範例實施例中,儲存媒體管理電路202會配置邏輯區塊510(0)~510(H)以映射以上述輪替方式來儲存資料之實體區塊,並且將邏輯區塊510(0)~510(H)映射至提供給主機系統1000存取的邏輯存取位址,以利主機系統1000來存取資料。特別是,儲存媒體管理電路202會初始地將邏輯區塊510(0)~510(H)映射至資料區402的實體區塊。例如,當複合式儲存裝置100被完成製造時,邏輯區塊510(0)~510(H)分別地映射至資料區402的實體區塊304(0)~304(D)。也就是說,一個邏輯區塊會映射資料區402中的至少一個實體區塊。在此,儲存媒體管理電路202會建立邏輯區塊-實體區塊映射表(logical block-physical block mapping table),以記錄邏輯區塊與實體區塊之間的映射關係。
圖6是根據本發明第一範例實施例所繪示之管理硬碟模組的範例示意圖。
請參照圖6,如上所述,硬碟模組108具有多個磁碟,並且每一磁碟具有多個實體磁碟位址(例如,實體磁碟位址610(0)~610(J))。因此,每一實體磁碟位址是以包括磁碟面號、磁軌沆、磁區號的多維位址來表示。在本範例實施例中,儲存媒體管理電路202會配置以單維形式表示的邏輯磁碟位址650(0)~650(J)以映射每一實體磁碟位址,並且將邏輯磁碟位址650(0)~650(J)映射至提供給主機系統1000存取的邏輯存取位址,以利於主機系統1000存取資料。
圖7是根據本發明第一範例實施例所繪示之初始化定址的範例示意圖。
請參照圖7,在本範例實施例中,當複合式儲存裝置100被格式化(例如,主機系統1000的作業系統以檔案系統(例如,FAT 32)對複合式儲存裝置100進行格式化)時,複合式儲存媒體控制器104的儲存媒體管理電路202會將邏輯區塊510(0)~510(H)與邏輯磁碟位址650(0)~650(J)的其中一部份映射至提供給主機系統1000的邏輯存取位址710(0)~710(J)。
具體來說,儲存媒體管理電路202會將邏輯磁碟位址650(0)~650(G)分組為第一邏輯磁碟位址群660並且將邏輯磁碟位址650(G+1)~650(J)分組為第二邏輯磁碟位址群670。特別是,在本範例實施例中,屬於第一邏輯磁碟位址群660的邏輯磁碟位址650(0)~650(G)的大小是相同於邏輯區塊510(0)~510(H)的大小。
此外,儲存媒體管理電路202會將邏輯存取位址710(0)~710(J)分組為包含邏輯存取位址710(0)~710(G)的第一邏輯存取位址群760與包含邏輯存取位址710(G+1)~710(J)的第二邏輯存取位址群770。特別是,屬於第一邏輯存取位址群760的邏輯存取位址710(0)~710(G)的大小是相同於邏輯區塊510(0)~510(H)的大小,並且第二邏輯存取位址群770的邏輯存取位址710(G+1)~710(J)的大小是相同於屬於第二邏輯磁碟位址群670的邏輯磁碟位址650(G+1)~650(J)的大小。
特別是,儲存媒體管理電路202會將屬於第一邏輯存取位址群760的邏輯存取位址710(0)~710(G)映射至邏輯區塊510(0)~510(H),並且將屬於第二邏輯存取位址群770的邏輯存取位址710(G+1)~710(J)映射至屬於第二邏輯磁碟位址群670的邏輯磁碟位址650(G+1)~650(J)。具體來說,儲存媒體管理電路202會將邏輯存取位址與邏輯區塊和邏輯磁碟位址的映射關係記錄在位址映射表中,已完成定址。基此,當主機系統1000下達寫入或讀取指令來存取邏輯存取位址710(0)~710(J)時,儲存媒體管理電路202會根據位址映射表來實際地寫入資料至非揮發性記憶體模組106或硬碟模組108中或者從非揮發性記憶體模組106或硬碟模組108中讀取資料。
圖8是根據圖7所述的映射關係所繪示的初始化位址映射表的範例示意圖。
請參照圖8,位址映射表800包括邏輯存取位址欄位802與映射位址欄位804,其中邏輯存取位址欄位802記錄邏輯存取位址並且映射位址欄位804記錄對應的映射位址。
例如,複合式儲存裝置100於被製造完成並執行初始化時,邏輯存取位址710(0)~710(G)會被分別地映射至邏輯區塊510(0)~510(H)並且邏輯存取位址710(G+1)~710(J)會被分別地映射至邏輯磁碟位址650(G+1)~650(J)。
在本範例實施例中,位址映射表800會被儲存在屬於第一邏輯磁碟位址群660的邏輯磁碟位址650(0)~650(G)中。也就是說,儲存媒體管理電路202會將位址映射表800儲存在邏輯磁碟位址650(0)~650(G)所映射的實體磁碟位址中。具體來說,如圖7所示的映射關係,屬於第一邏輯磁碟位址群660的邏輯磁碟位址650(0)~650(G)未被提供給主機系統1000存取,因此,邏輯磁碟位址650(0)~650(G)所映射的實體磁碟位址610(0)~610(G)是未被使用的儲存空間。基此,邏輯磁碟位址650(0)~650(G)所映射的實體磁碟位址610(0)~610(G)可被用來儲存位址映射表800。
此外,在本發明另一範例實施例中,位址映射表800亦可被儲存在系統區406中,並且在複合式儲存裝置100運作期間,儲存媒體管理電路202能夠根據位址映射表800來寫入與讀取資料。
在本範例實施例中,在主機系統1000所存取的邏輯存取位址710(0)~710(J)之中邏輯存取位址710(0)~710(G)是屬於排列在前面的位址。因此,一般來說,當複合式儲存裝置100被作為安裝作業系統的主硬碟時,作業系統會被安裝在邏輯存取位址710(0)~710(G)中。由於邏輯存取位址710(0)~710(G)是映射至屬於非揮發性記憶體模組106的邏輯區塊510(0)~510(H),基此,複合式儲存裝置100的存取效能會高於一般僅使用傳統磁盤的硬碟。
在本範例實施例中,在複合式儲存裝置100運作期間,複合式儲存媒體控制器104的儲存媒體管理電路202會持續地記錄非揮發性記憶體模組106中壞實體區塊的數目。並且,當非揮發性記憶體模組106中壞實體區塊的數目超過一預設門檻值時,儲存媒體管理電路202會對邏輯存取位址710(0)~710(G)執行重新映射程序。
在此,預設門檻值可被設定為任何適當的值。例如,在本範例實施例中,預設門檻值是被設定為初始化時屬於取代區408之實體區塊的數目的90%。具體來說,如上所述,當在非揮發性記憶體模組106中偵測到壞實體區塊時,儲存媒體管理電路202會從取代區408中提取正常的實體區塊來取代壞實體區塊。當取代區408中的無正常實體區塊時,非揮發性記憶體模組106將無法在被用於儲存資料。也就是說,當取代區408之正常實體區塊的90%已被用於取代壞實體區塊時,儲存媒體管理電路202會對邏輯存取位址710(0)~710(G)執行重新映射程序,以延長複合式儲存裝置100的壽命。
具體來說,在重新映射程序中,儲存媒體管理電路202會將儲存於邏輯區塊510(0)~510(H)所映射之實體區塊中的資料複製到屬於第一邏輯磁碟位址群660的邏輯磁碟位址650(0)~650(G)所映射的實體磁碟位址中。然後,儲存媒體管理電路202會將邏輯存取位址710(0)~710(G)重新映射至屬於第一邏輯磁碟位址群660的邏輯磁碟位址650(0)~650(G)。
圖9是根據本發明第一範例實施例所繪示的在執行重新映射後之定址的範例示意圖。
請參照圖9,儲存媒體管理電路202會將屬於第一邏輯存取位址群760的邏輯存取位址710(0)~710(G)重新映射至屬於第一邏輯磁碟位址群660的邏輯磁碟位址650(0)~650(G)。而屬於第二邏輯存取位址群770的邏輯存取位址710(G+1)~710(J)會仍維持映射至屬於第二邏輯磁碟位址群670的邏輯磁碟位址650(G+1)~650(J)。基此,當主機系統1000下達寫入或讀取指令來存取邏輯存取位址710(0)~710(J)時,儲存媒體管理電路202會根據變更後的映射關係來實際地寫入資料至硬碟模組108中或者從硬碟模組108中讀取資料。
值得一提的是,在重新映射程序之後由於邏輯存取位址710(0)~710(J)是完全一對一映射至硬碟模組108的邏輯磁碟位址650(0)~650(J),因此,在本發明範例實施例中,儲存媒體管理電路202亦可直接根據邏輯存取位址710(0)~710(J)來存取邏輯磁碟位址650(0)~650(J)所映射的實體磁碟位址610(0)~610(J),而無需透過位址映射表800。因此,在本範例實施例中,在重新映射程序之後,位址映射表800會被抹除。
此外,在本發明另一範例實施例中,例如,位址映射表800是儲存於系統區406中,並且在執行上述重新映射程序時,儲存媒體管理電路202會更新位址映射表800。例如,圖10是根據圖9所述的映射關係所繪示的位址映射表的範例示意圖。由此,儲存媒體管理電路202可根據更新後之位址映射表800來存取資料。
圖11是根據本發明第一範例實施例所繪示的定址方法的流程圖,其係繪示初始化地定址複合式儲存裝置100的儲存空間的步驟。
請參照圖11,在步驟S1101中,複合式儲存媒體控制器104會將非揮發性記憶體模組106的實體區塊至少分組為儲存區與取代區。例如,非揮發性記憶體模組106的實體區塊會被分組為包含資料區402與備用區404的儲存區、系統區406與取代區408。
在步驟S1103中,複合式儲存媒體控制器104會配置邏輯區塊510(0)~510(H)以映射屬於儲存區的實體區塊,並且配置邏輯磁碟位址650(0)~650(J)以映射硬碟模組108的實體磁碟位址610(0)~610(J)。
然後,在步驟S1105中,複合式儲存媒體控制器104會將邏輯磁碟位址650(0)~650(J)分組為第一邏輯磁碟位址群660與第二邏輯磁碟位址群670。
在步驟S1107中,複合式儲存媒體控制器104會配置邏輯存取位址710(0)~710(J)以供主機系統1000存取,並且將邏輯存取位址710(0)~710(J)分組為第一邏輯存取位址群760與第二邏輯存取位址群770。
在步驟S1109中,複合式儲存媒體控制器104會初始地將屬於第一邏輯存取位址群760的邏輯存取位址710(0)~710(G)映射至邏輯區塊510(0)~510(H)並且將屬於第二邏輯存取位址群770的邏輯存取位址710(G+1)~710(J)映射至屬於第二邏輯磁碟位址群670的邏輯磁碟位址650(G)~650(J)。最後,在步驟S1111中,複合式儲存媒體控制器104會建立與儲存位址映射表800以記錄邏輯存取位址與邏輯區塊和邏輯磁碟位址的映射關係。
圖12A是根據本發明第一範例實施例所繪示的執行重新映射的流程圖。
請參照圖12A,在複合式儲存裝置100運作期間,在步驟S1201中,複合式儲存媒體控制器104會持續偵測非揮發性記憶體模組106的壞實體區塊的數目是否超過預設門檻值。
倘若非揮發性記憶體106的壞實體區塊未超過預設門檻值時,圖12的流程會返回步驟S1201。
倘若非揮發性記憶體106的壞實體區塊超過預設門檻值時,在步驟S1203中複合式儲存媒體控制器104會抹除儲存於屬於第一邏輯磁碟位址群660的邏輯磁碟位址650(0)~650(G)所映射的實體磁碟位址610(0)~610(G)中的位址映射表800。然後,在步驟S1205中,複合式儲存媒體控制器104會將儲存在邏輯區塊510(0)~510(H)所映射的實體區塊中的資料複製到屬於第一邏輯磁碟位址群660的邏輯磁碟位址650(0)~650(G)所映射的實體磁碟位址610(0)~610(G)中,並且將屬於第一邏輯存取位址群760的邏輯存取位址710(0)~710(G)重新映射至屬於第一邏輯磁碟位址群660的邏輯磁碟位址650(0)~650(G)。特別是,在執行圖S1205的步驟
圖12B是根據本發明第一範例實施例所繪示的讀寫資料的流程圖。
請參照圖12B,在步驟S1207中,複合式儲存媒體控制器104會從主機系統1000中接收讀取或寫入指令。
之後,在步驟S1209中,複合式儲存媒體控制器104會判斷是否存有位址映射表800。
倘若存有位址映射表800時,在步驟S1211中,複合式儲存媒體控制器104會根據位址映射表800來讀取或寫入資料。具體來說,在重新映射程序之前,位址映射表800會記錄邏輯存取位址與邏輯區塊和邏輯磁碟位址的映射關係。因此,複合式儲存媒體控制器104會根據位址映射表800來使用非揮發性記憶體模組106與硬碟模組108來儲存資料。
倘若無存有位址映射表800時,在步驟S1213中複合式儲存媒體控制器104會根據讀取或寫入指令所指示的邏輯存取位址直接從硬碟模組108的邏輯磁碟位址中讀取或寫入資料。具體來說,在重新映射程序之後,儲存媒體管理電路202可直接根據邏輯存取位址710(0)~710(J)來存取邏輯磁碟位址650(0)~650(J)所映射的實體磁碟位址610(0)~610(J),而無需透過位址映射表800。因此,若無存有位址映射表800時,複合式儲存媒體控制器104會僅使用硬碟模組108來儲存資料。
值得一提的是,如上所述,複合式儲存媒體控制器104亦可在執行重新映射程序之後,根據更新後之位址映射表800來存取資料。基此,在本發明另一範例實施例中,圖12A的步驟S1205中更包括更新位址映射表800,並且,不論在執行重新映射程序之前與之後,複合式儲存媒體控制器104都是根據位址映射表800來存取資料。
第二範例實施例的複合式儲存裝置的結構是相似於第一範例實施例的複合式儲存裝置,其差異之處在於複合式儲存裝置是以逐步取代的方式來重新映射邏輯存取位址。以下將配合圖1A、圖2與圖3來說明第二範例實施例的差異之處。
圖13是根據本發明第二範例實施例所繪示的初始化定址的範例示意圖,並且圖14是根據圖13所述的映射關係所繪示的位址映射表的範例示意圖。
請參照圖13與圖14,在本範例實施例中,當複合式儲存裝置100被格式化(例如,主機系統1000的作業系統為檔案系統時,複合式儲存媒體控制器104的儲存媒體管理電路202會將邏輯磁碟位址650(0)~650(L)分組為第二邏輯磁碟位址群670並且將邏輯磁碟位址650(L+1)~650(J)分組為第一邏輯磁碟位址群660。在此,屬於第一邏輯磁碟位址群660的邏輯磁碟位址650(L+1)~650(J)的大小是相同或小於於邏輯區塊510(0)~510(H)的大小。
此外,儲存媒體管理電路202會將邏輯存取位址710(0)~710(J)分組為包含邏輯存取位址710(0)~710(G)的第一邏輯存取位址群760與包含邏輯存取位址710(G+1)~710(J)的第二邏輯存取位址群770。特別是,屬於第一邏輯存取位址群760的邏輯存取位址710(0)~710(G)的大小是相同於邏輯區塊510(0)~510(H)的大小,並且第二邏輯存取位址群770的邏輯存取位址710(G+1)~710(J)的大小是相同於屬於第二邏輯磁碟位址群670的邏輯磁碟位址650(0)~650(L)的大小。
在第二範例實施例中,儲存媒體管理電路202會將屬於第一邏輯存取位址群760的邏輯存取位址710(0)~710(G)映射至邏輯區塊510(0)~510(H),並且將屬於第二邏輯存取位址群770的邏輯存取位址710(G+1)~710(J)映射至屬於第二邏輯磁碟位址群670的邏輯磁碟位址650(0)~650(L)。同樣的,在第二範例實施例中,儲存媒體管理電路202會將邏輯存取位址與邏輯區塊和邏輯磁碟位址的映射關係記錄在位址映射表800中,已完成定址。基此,當主機系統1000下達寫入或讀取指令來存取邏輯存取位址710(0)~710(J)時,儲存媒體管理電路202會根據位址映射表800來實際地寫入資料至非揮發性記憶體模組106或硬碟模組108中或者從非揮發性記憶體模組106或硬碟模組108中讀取資料。
值得一提的是,在第一範例實施例中,儲存媒體管理電路202是在當非揮發性記憶體模組106中壞實體區塊的數目大於預設門檻值時,執行重新映射程序,以延長複合式儲存裝置100的壽命。然而,在第二範例實施例中,儲存媒體管理電路202會在取代區408中無正常實體區塊時,以屬於第一邏輯磁碟位址群660的邏輯磁碟位址650(L+1)~650(J)來取代邏輯區塊以映射對應的邏輯存取位址。
具體來說,如上所述,邏輯區塊所映射的實體區塊會在多次抹除後損壞,並且儲存媒體管理電路202會從取代區408中提取正常的實體區塊來取代壞實體區塊。特別是,當取代區408中無正常實體區塊時儲存媒體管理電路202會重新調整映射關係。
例如,在邏輯存取位址710(1)是映射邏輯區塊510(1)並且邏輯區塊510(1)是映射實體區塊304(1)的例子中,倘若實體區塊304(1)變成壞實體區塊並且取代區408中無任何正常實體區塊時,媒體管理電路202會在位址映射表800中將邏輯存取位址710(1)映射至邏輯磁碟位址650(L+1),並且將主機系統1000欲寫入至邏輯存取位址710(1)的資料寫入至邏輯磁碟位址650(L+1)所映射的實體磁碟位址中(如圖15所示)。
也就是說,當發生實體區塊損壞且取代區408中無任何正常實體區塊時,屬於第一邏輯磁碟位址群660的邏輯磁碟位址會被用來取代映射壞實體區塊的邏輯區塊,以重新映射至邏輯存取位址。
基此,類似於第一範例實施例,當複合式儲存裝置100被作為安裝作業系統的主硬碟時,作業系統一般會被安裝在邏輯存取位址710(0)~710(G)中。由於邏輯存取位址710(0)~710(G)是映射至屬於非揮發性記憶體模組106的邏輯區塊510(0)~510(H),基此,根據第二範例實施例的複合式儲存裝置100的效能會高於一般僅使用傳統磁盤的硬碟。此外,藉由使用硬碟模組108中屬於第一邏輯磁碟位址群660的邏輯磁碟位址來取代映射壞實體區塊的邏輯區塊,可有效地延長複合式儲存裝置100的壽命。
第二範例實施例的初始定址方法的步驟是類似於圖11所述,在此不重複描述。以下將針對重新映射的步驟進行描述。
圖16是根據本發明第二範例實施例所繪示的重新映射的流程圖。
請參照圖16,在步驟S1601中,複合式儲存媒體控制器104會持續地監控以偵測是否有任何邏輯區塊所映射的實體區塊變成壞實體區塊。
倘若有任一邏輯區塊所映射的實體區塊變成壞實體區塊時,在步驟S1603中複合式儲存媒體控制器104會判斷取代區408中是否有正常的實體區塊。
倘若取代區408中有正常的實體區塊時,在步驟S1605,複合式儲存媒體控制器104會從取代區408中提取一個正常的實體區塊來取代損壞的實體區塊,並且圖16的流程會返回至步驟S1601。
倘若取代區408中無正常的實體區塊時,在步驟S1607中,複合式儲存媒體控制器104會判斷屬於第一邏輯磁碟位址群660的邏輯磁碟位址650(L+1)~650(J)之中是否有未被使用的邏輯磁碟位址。
倘若屬於第一邏輯磁碟位址群660的邏輯磁碟位址650(L+1)~650(J)之中有未被使用的邏輯磁碟位址,在步驟S1609中複合式儲存媒體控制器104會從屬於第一邏輯磁碟位址群660的邏輯磁碟位址650(L+1)~650(J)之中選擇一個未被使用的邏輯磁碟位址。並且,在步驟S1611中複合式儲存媒體控制器104會將映射至此邏輯區塊的邏輯存取位址重新映射至所選擇的邏輯磁碟位址(例如,如圖15所示),並且圖16的流程會返回步驟S1601。
倘若屬於第一邏輯磁碟位址群660的邏輯磁碟位址650(L+1)~650(J)之中已無未被使用的邏輯磁碟位址時,在步驟S1613中,複合式儲存媒體控制器104會宣告複合式資料儲存裝置100的儲存狀態為寫入保護模式,並且不允許主機系統1000再寫入資料至複合式資料儲存裝置100中。
綜上所述,相較於傳統磁碟硬碟來說,本發明範例實施例的複合式儲存裝置及其複合式儲存媒體控制器與定址方法能夠有效地提升資料存取的效能。此外,相較於純記憶體儲存裝置來說,本範例實施例的複合式儲存裝置的壽命可有效地被延長。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1000...主機系統
1100...電腦
1102...微處理器
1104...隨機存取記憶體
1106...輸入/輸出裝置
1108...系統匯流排
1110...資料傳輸介面
1202...滑鼠
1204...鍵盤
1206...顯示器
1208...印表機
1212...隨身碟
1216...固態硬碟
100...複合式儲存裝置
102...連接器
104...複合式儲存媒體控制器
106...非揮發性記憶體模組
108...硬碟模組
202...儲存媒體管理電路
204...主機介面
206...儲存媒體介面
206a...記憶體介面
206b...硬碟介面
208...緩衝記憶體
210...錯誤檢查與校正電路
212...電源管理電路
>
304(0)~304(N)‧‧‧實體區塊
402‧‧‧資料區
404‧‧‧備用區
406‧‧‧系統區
408‧‧‧取代區
510(0)~510(H)‧‧‧邏輯區塊
610(0)~610(J)‧‧‧實體磁碟位址
650(0)~650(J)‧‧‧邏輯磁碟位址
660‧‧‧第一邏輯磁碟位址群
670‧‧‧第二邏輯磁碟位址群
710(0)~710(J)‧‧‧邏輯存取位址
760‧‧‧第一邏輯存取位址群
770‧‧‧第二邏輯存取位址群
800‧‧‧位址映射表
802‧‧‧邏輯存取位址欄位
804‧‧‧映射位址欄位
S1101、S1103、S1105、S1107、S1109、S1111‧‧‧定址的步驟
S1201、S1203‧‧‧重新映射的步驟
S1205、S1207、S1209、S1211、S1213‧‧‧讀寫的步驟
S1601、S1603、S1605、S1607、S1609、S1611、S1613‧‧‧重新映射的步驟
圖1A是根據本發明第一範例實施例繪示主機系統與複合式儲存裝置。
圖1B是根據本發明一範例實施例所繪示的電腦、輸入/輸出裝置與複合式儲存裝置的示意圖。
圖2是繪示圖1A所示的複合式儲存裝置的概要方塊圖。
圖3是根據本發明第一範例實施例所繪示的記憶體控制器的概要方塊圖。
圖4與圖5是根據本發明第一範例實施例所繪示之管理非揮發性記憶體模組的範例示意圖。
圖6是根據本發明第一範例實施例所繪示之管理硬碟模組的範例示意圖。
圖7是根據本發明第一範例實施例所繪示之初始化定址的範例示意圖。
圖8是根據圖7所述的映射關係所繪示的初始化位址映射表的範例示意圖。
圖9是根據本發明第一範例實施例所繪示的在執行重新映射後之定址的範例示意圖。
圖10是根據圖9所述的映射關係所繪示的位址映射表的範例示意圖。
圖11是根據本發明第一範例實施例所繪示的定址方法的流程圖。
圖12A是根據本發明第一範例實施例所繪示的執行重新映射的流程圖。
圖12B是根據本發明第一範例實施例所繪示的讀寫資料的流程圖。
圖13是根據本發明第二範例實施例所繪示的初始化定址的範例示意圖。
圖14是根據圖13所述的映射關係所繪示的位址映射表的範例示意圖。
圖15是根據本發明第二範例實施例所繪示的重新映射後的位址映射表的範例。
圖16是根據本發明第二範例實施例所繪示的重新映射的流程圖。
S1101、S1103、S1105、S1107、S1109、S1111...定址的步驟
Claims (18)
- 一種複合式儲存裝置,包括:一連接器,用以連接至一主機系統;一非揮發性記憶體模組,具有多個實體區塊;一硬碟模組,具有多個實體磁碟位址;以及一複合式儲存媒體控制器,耦接至該連接器、該非揮發性記憶體模組與該硬碟模組,其中該複合式儲存媒體控制器用以將該些實體區塊至少分組為一儲存區與一取代區,配置多個邏輯區塊以映射屬於該儲存區的該些實體區塊並且配置多個邏輯磁碟位址以映射該硬碟模組的該些實體磁碟位址,其中該複合式儲存媒體控制器更用以將該些邏輯磁碟位址分組為至少一第一邏輯磁碟位址群與一第二邏輯磁碟位址群,其中該複合式儲存媒體控制器更用以配置多個邏輯存取位址以供該主機系統存取,並且將該些邏輯存取位址分組為一第一邏輯存取位址群與一第二邏輯存取位址群,其中該複合式儲存媒體控制器初始地將屬於該第一邏輯存取位址群的該些邏輯存取位址映射至該些邏輯區塊並且將屬於該第二邏輯存取位址群的該些邏輯存取位址映射至屬於該第二邏輯磁碟位址群的該些邏輯磁碟位址,其中該複合式儲存媒體控制器更用以判斷該些實體區塊之中的壞實體區塊的數目是否超過一預設門檻值,其中當該些實體區塊之中的壞實體區塊的數目超過 該預設門檻值時,該複合式儲存媒體控制器更用以將儲存在該些邏輯區塊所映射的該些實體區塊中的資料複製到屬於該第一邏輯磁碟位址群的該些邏輯磁碟位址所映射的該些實體磁碟位址中並且將屬於該第一邏輯存取位址群的該些邏輯存取位址重新映射至屬於該第一邏輯磁碟位址群的該些邏輯磁碟位址。
- 如申請專利範圍第1項所述之複合式儲存裝置,其中該複合式儲存媒體控制器建立與維護一位址映射表以記錄該些邏輯存取位址與該些邏輯區塊和屬於該第二邏輯磁碟位址群的該些邏輯磁碟位址之間的一映射關係。
- 如申請專利範圍第2項所述之複合式儲存裝置,其中該複合式儲存媒體控制器將該位址映射表儲存在屬於該第一邏輯磁碟位址群的該些邏輯磁碟位址所映射的該些實體磁碟位址中。
- 如申請專利範圍第1項所述之複合式儲存裝置,其中屬於該第一邏輯磁碟位址群的該些邏輯磁碟位址的大小相同於該些邏輯區塊的大小。
- 一種複合式儲存裝置,包括:一連接器,用以連接至一主機系統;一非揮發性記憶體模組,具有多個實體區塊;一硬碟模組,具有多個實體磁碟位址;以及一複合式儲存媒體控制器,耦接至該連接器、該非揮發性記憶體模組與該硬碟模組,其中該複合式儲存媒體控制器用以將該些實體區塊 至少分組為一儲存區與一取代區,配置多個邏輯區塊以映射屬於該儲存區的該些實體區塊並且配置多個邏輯磁碟位址以映射該硬碟模組的該些實體磁碟位址,其中該複合式儲存媒體控制器更用以將該些邏輯磁碟位址分組為至少一第一邏輯磁碟位址群與一第二邏輯磁碟位址群,其中該複合式儲存媒體控制器更用以配置多個邏輯存取位址以供該主機系統存取,並且將該些邏輯存取位址分組為一第一邏輯存取位址群與一第二邏輯存取位址群,其中該複合式儲存媒體控制器初始地將屬於該第一邏輯存取位址群的該些邏輯存取位址映射至該些邏輯區塊並且將屬於該第二邏輯存取位址群的該些邏輯存取位址映射至屬於該第二邏輯磁碟位址群的該些邏輯磁碟位址,其中當該些邏輯區塊之中的其中一個邏輯區塊所映射的實體區塊變成一壞實體區塊時,該複合式儲存媒體控制器更用以判斷該取代區的該些實體區塊之中是否存有一正常實體區塊,其中當該取代區的該些實體區塊之中無存有該正常實體區塊時,該複合式儲存媒體控制器更用以將屬於該第一邏輯存取位址群的該些邏輯存取位址之中映射該其中一個邏輯區塊的邏輯存取位址映射至屬於該第一邏輯磁碟位址群的該些邏輯磁碟位址的其中之一。
- 如申請專利範圍第5項所述之複合式儲存裝置,其中屬於該第一邏輯磁碟位址群的該些邏輯磁碟位址的大小 相同或小於該些邏輯區塊的大小。
- 一種複合式儲存媒體控制器,用於管理一非揮發性記憶體模組與一硬碟模組,其中該非揮發性記憶體模組具有多個實體區塊且該硬碟模組具有多個實體磁碟位址,該複合式儲存媒體控制器包括:一主機介面,用以耦接至一主機系統;一儲存媒體介面,用以耦接至該非揮發性記憶體模組與該硬碟模組;以及一儲存媒體管理電路,耦接該主機介面與該儲存媒體介面,並且用以將該些實體區塊至少分組為一儲存區與一取代區,配置多個邏輯區塊以映射屬於該儲存區的該些實體區塊並且配置多個邏輯磁碟位址以映射該硬碟模組的該些實體磁碟位址,其中該儲存媒體管理電路更用以將該些邏輯磁碟位址分組為至少一第一邏輯磁碟位址群與一第二邏輯磁碟位址群,其中該儲存媒體管理電路更用以配置多個邏輯存取位址以供該主機系統存取,並且將該些邏輯存取位址分組為一第一邏輯存取位址群與一第二邏輯存取位址群,其中該儲存媒體管理電路初始地將屬於該第一邏輯存取位址群的該些邏輯存取位址映射至該些邏輯區塊並且將屬於該第二邏輯存取位址群的該些邏輯存取位址映射至屬於該第二邏輯磁碟位址群的該些邏輯磁碟位址,其中該儲存媒體管理電路更用以判斷該些實體區塊 之中的壞實體區塊的數目是否超過一預設門檻值,其中當該些實體區塊之中的壞實體區塊的數目超過該預設門檻值時,該儲存媒體管理電路更用以將儲存在該些邏輯區塊所映射的該些實體區塊中的資料複製到屬於該第一邏輯磁碟位址群的該些邏輯磁碟位址所映射的該些實體磁碟位址中並且將屬於該第一邏輯存取位址群的該些邏輯存取位址重新映射至屬於該第一邏輯磁碟位址群的該些邏輯磁碟位址。
- 如申請專利範圍第7項所述之複合式儲存媒體控制器,其中該儲存媒體管理電路建立與維護一位址映射表以記錄該些邏輯存取位址與該些邏輯區塊和屬於該第二邏輯磁碟位址群的該些邏輯磁碟位址的一映射關係。
- 如申請專利範圍第8項所述之複合式儲存媒體控制器,其中該儲存媒體管理電路將該位址映射表儲存在屬於該第一邏輯磁碟位址群的該些邏輯磁碟位址所映射的該些實體磁碟位址中。
- 如申請專利範圍第7項所述之複合式儲存媒體控制器,其中屬於該第一邏輯磁碟位址群的該些邏輯磁碟位址的大小相同於該些邏輯區塊的大小。
- 一種複合式儲存媒體控制器,用於管理一非揮發性記憶體模組與一硬碟模組,其中該非揮發性記憶體模組具有多個實體區塊且該硬碟模組具有多個實體磁碟位址,該複合式儲存媒體控制器包括:一主機介面,用以耦接至一主機系統; 一儲存媒體介面,用以耦接至該非揮發性記憶體模組與該硬碟模組;以及一儲存媒體管理電路,耦接該主機介面與該儲存媒體介面,並且用以將該些實體區塊至少分組為一儲存區與一取代區,配置多個邏輯區塊以映射屬於該儲存區的該些實體區塊並且配置多個邏輯磁碟位址以映射該硬碟模組的該些實體磁碟位址,其中該儲存媒體管理電路更用以將該些邏輯磁碟位址分組為至少一第一邏輯磁碟位址群與一第二邏輯磁碟位址群,其中該儲存媒體管理電路更用以配置多個邏輯存取位址以供該主機系統存取,並且將該些邏輯存取位址分組為一第一邏輯存取位址群與一第二邏輯存取位址群,其中該儲存媒體管理電路初始地將屬於該第一邏輯存取位址群的該些邏輯存取位址映射至該些邏輯區塊並且將屬於該第二邏輯存取位址群的該些邏輯存取位址映射至屬於該第二邏輯磁碟位址群的該些邏輯磁碟位址,其中當該些邏輯區塊之中的其中一個邏輯區塊所映射的實體區塊變成一壞實體區塊時,該儲存媒體管理電路更用以判斷該取代區的該些實體區塊之中是否存有一正常實體區塊,其中當該取代區的該些實體區塊之中無存有該正常實體區塊時,該儲存媒體管理電路更用以將屬於該第一邏輯存取位址群的該些邏輯存取位址之中映射該其中一個邏 輯區塊的邏輯存取位址映射至屬於該第一邏輯磁碟位址群的該些邏輯磁碟位址的其中之一。
- 如申請專利範圍第11項所述之複合式儲存媒體控制器,其中屬於該第一邏輯磁碟位址群的該些邏輯磁碟位址的大小相同或小於該些邏輯區塊的大小。
- 一種定址方法,用於具有一非揮發性記憶體模組與一硬碟模組的一複合式儲存裝置,其中該非揮發性記憶體模組具有多個實體區塊且該硬碟模組具有多個實體磁碟位址,該定址方法包括:將該些實體區塊至少分組為一儲存區與一取代區;配置多個邏輯區塊以映射屬於該儲存區的該些實體區塊;配置多個邏輯磁碟位址以映射該硬碟模組的該些實體磁碟位址;將該些邏輯磁碟位址分組為至少一第一邏輯磁碟位址群與一第二邏輯磁碟位址群;配置多個邏輯存取位址以供一主機系統存取;將該些邏輯存取位址分組為一第一邏輯存取位址群與一第二邏輯存取位址群;初始地將屬於該第一邏輯存取位址群的該些邏輯存取位址映射至該些邏輯區塊並且將屬於該第二邏輯存取位址群的該些邏輯存取位址映射至屬於該第二邏輯磁碟位址群的該些邏輯磁碟位址;當該些邏輯區塊之中的其中一個邏輯區塊所映射的 實體區塊變成一壞實體區塊時,判斷該取代區的該些實體區塊之中是否存有一正常實體區塊;以及當該取代區的該些實體區塊之中無存有該正常實體區塊時,將屬於該第一邏輯存取位址群的該些邏輯存取位址之中映射該其中一個邏輯區塊的邏輯存取位址映射至屬於該第一邏輯磁碟位址群的該些邏輯磁碟位址的其中之一。
- 如申請專利範圍第13項所述之定址方法,更包括:建立與維護一位址映射表以記錄該些邏輯存取位址與該些邏輯區塊和屬於該第二邏輯磁碟位址群的該些邏輯磁碟位址之間的一映射關係。
- 如申請專利範圍第14項所述之定址方法,更包括:將該位址映射表儲存在屬於該第一邏輯磁碟位址群的該些邏輯磁碟位址所映射的該些實體磁碟位址中。
- 如申請專利範圍第13項所述之定址方法,其中將該些邏輯磁碟位址分組為該第一邏輯磁碟位址群與該第二邏輯磁碟位址群的步驟包括:將該些邏輯磁碟位址之中的部份邏輯磁碟位址分組為該第一邏輯磁碟位址群,其中該部分邏輯磁碟位址的大小相同於該些邏輯區塊的大小;以及將該些邏輯磁碟位址之中的其他部分邏輯磁碟位址分組為該第二邏輯磁碟位址群。
- 一種定址方法,用於具有一非揮發性記憶體模組 與一硬碟模組的一複合式儲存裝置,其中該非揮發性記憶體模組具有多個實體區塊且該硬碟模組具有多個實體磁碟位址,該定址方法包括:將該些實體區塊至少分組為一儲存區與一取代區;配置多個邏輯區塊以映射屬於該儲存區的該些實體區塊;配置多個邏輯磁碟位址以映射該硬碟模組的該些實體磁碟位址;將該些邏輯磁碟位址分組為至少一第一邏輯磁碟位址群與一第二邏輯磁碟位址群;配置多個邏輯存取位址以供一主機系統存取;將該些邏輯存取位址分組為一第一邏輯存取位址群與一第二邏輯存取位址群;初始地將屬於該第一邏輯存取位址群的該些邏輯存取位址映射至該些邏輯區塊並且將屬於該第二邏輯存取位址群的該些邏輯存取位址映射至屬於該第二邏輯磁碟位址群的該些邏輯磁碟位址;判斷該些實體區塊之中的壞實體區塊的數目是否超過一預設門檻值;以及當該些實體區塊之中的壞實體區塊的數目超過該預設門檻值時,將儲存在該些邏輯區塊所映射的該些實體區塊中的資料複製到屬於該第一邏輯磁碟位址群的該些邏輯磁碟位址所映射的該些實體磁碟位址中並且將屬於該第一邏輯存取位址群的該些邏輯存取位址重新映射至屬於該第 一邏輯磁碟位址群的該些邏輯磁碟位址。
- 如申請專利範圍第17項所述之定址方法,其中將該些邏輯磁碟位址分組為該第一邏輯磁碟位址群與該第二邏輯磁碟位址群的步驟包括:將該些邏輯磁碟位址之中的部份邏輯磁碟位址分組為該第一邏輯磁碟位址群,其中該部分邏輯磁碟位址的大小相同或小於該些邏輯區塊的大小;以及將該些邏輯磁碟位址之中的其他部分邏輯磁碟位址分組為該第二邏輯磁碟位址群。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW99130228A TWI467581B (zh) | 2010-09-07 | 2010-09-07 | 複合式儲存裝置及其複合式儲存媒體控制器與定址方法 |
US12/907,026 US8417869B2 (en) | 2010-09-07 | 2010-10-18 | Hybrid storage apparatus and hybrid storage medium controller and addressing method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW99130228A TWI467581B (zh) | 2010-09-07 | 2010-09-07 | 複合式儲存裝置及其複合式儲存媒體控制器與定址方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201212033A TW201212033A (en) | 2012-03-16 |
TWI467581B true TWI467581B (zh) | 2015-01-01 |
Family
ID=45771491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW99130228A TWI467581B (zh) | 2010-09-07 | 2010-09-07 | 複合式儲存裝置及其複合式儲存媒體控制器與定址方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8417869B2 (zh) |
TW (1) | TWI467581B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103890724B (zh) * | 2011-08-19 | 2017-04-19 | 株式会社东芝 | 信息处理设备、用于控制信息处理设备的方法、主机装置、以及用于外部存储装置的性能评估方法 |
US9710397B2 (en) * | 2012-02-16 | 2017-07-18 | Apple Inc. | Data migration for composite non-volatile storage device |
KR102072449B1 (ko) * | 2012-06-01 | 2020-02-04 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 리페어 방법 |
US10073851B2 (en) * | 2013-01-08 | 2018-09-11 | Apple Inc. | Fast new file creation cache |
US10642505B1 (en) | 2013-01-28 | 2020-05-05 | Radian Memory Systems, Inc. | Techniques for data migration based on per-data metrics and memory degradation |
US10445229B1 (en) | 2013-01-28 | 2019-10-15 | Radian Memory Systems, Inc. | Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US9229854B1 (en) | 2013-01-28 | 2016-01-05 | Radian Memory Systems, LLC | Multi-array operation support and related devices, systems and software |
US11249652B1 (en) | 2013-01-28 | 2022-02-15 | Radian Memory Systems, Inc. | Maintenance of nonvolatile memory on host selected namespaces by a common memory controller |
US9552176B2 (en) * | 2013-04-12 | 2017-01-24 | Microsoft Technology Licensing, Llc | Block storage using a hybrid memory device |
US9274715B2 (en) * | 2013-08-02 | 2016-03-01 | Qualcomm Incorporated | Methods and apparatuses for in-system field repair and recovery from memory failures |
US9542118B1 (en) | 2014-09-09 | 2017-01-10 | Radian Memory Systems, Inc. | Expositive flash memory control |
US10552085B1 (en) | 2014-09-09 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for directed data migration |
US9812222B2 (en) * | 2015-04-20 | 2017-11-07 | Qualcomm Incorporated | Method and apparatus for in-system management and repair of semi-conductor memory failure |
US10552058B1 (en) | 2015-07-17 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for delegating data processing to a cooperative memory controller |
US9971511B2 (en) | 2016-01-06 | 2018-05-15 | Samsung Electronics Co., Ltd. | Hybrid memory module and transaction-based memory interface |
US10942844B2 (en) | 2016-06-10 | 2021-03-09 | Apple Inc. | Reserved memory in memory management system |
TWI592799B (zh) * | 2016-07-01 | 2017-07-21 | 群聯電子股份有限公司 | 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置 |
US10282094B2 (en) * | 2017-03-31 | 2019-05-07 | Samsung Electronics Co., Ltd. | Method for aggregated NVME-over-fabrics ESSD |
US10446254B1 (en) * | 2018-05-03 | 2019-10-15 | Western Digital Technologies, Inc. | Method for maximizing power efficiency in memory interface block |
US11175984B1 (en) | 2019-12-09 | 2021-11-16 | Radian Memory Systems, Inc. | Erasure coding techniques for flash memory |
TWI773463B (zh) * | 2021-07-29 | 2022-08-01 | 緯穎科技服務股份有限公司 | 固態硬碟裝置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7330323B1 (en) * | 2005-06-28 | 2008-02-12 | Western Digital Technologies, Inc. | Disk drive determining a head-switch preheat period used to format a disk |
US20090240881A1 (en) * | 2008-03-24 | 2009-09-24 | Munif Farhan Halloush | System and Method for Information Handling System Operation With Different Types of Permanent Storage Devices |
US20100037017A1 (en) * | 2008-08-08 | 2010-02-11 | Samsung Electronics Co., Ltd | Hybrid storage apparatus and logical block address assigning method |
US20100172049A1 (en) * | 2009-01-07 | 2010-07-08 | Samsung Electronics Co., Ltd | Hybrid storage apparatus and method of sharing resources therein |
US20100199036A1 (en) * | 2009-02-02 | 2010-08-05 | Atrato, Inc. | Systems and methods for block-level management of tiered storage |
-
2010
- 2010-09-07 TW TW99130228A patent/TWI467581B/zh active
- 2010-10-18 US US12/907,026 patent/US8417869B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7330323B1 (en) * | 2005-06-28 | 2008-02-12 | Western Digital Technologies, Inc. | Disk drive determining a head-switch preheat period used to format a disk |
US20090240881A1 (en) * | 2008-03-24 | 2009-09-24 | Munif Farhan Halloush | System and Method for Information Handling System Operation With Different Types of Permanent Storage Devices |
US20100037017A1 (en) * | 2008-08-08 | 2010-02-11 | Samsung Electronics Co., Ltd | Hybrid storage apparatus and logical block address assigning method |
US20100172049A1 (en) * | 2009-01-07 | 2010-07-08 | Samsung Electronics Co., Ltd | Hybrid storage apparatus and method of sharing resources therein |
US20100199036A1 (en) * | 2009-02-02 | 2010-08-05 | Atrato, Inc. | Systems and methods for block-level management of tiered storage |
Also Published As
Publication number | Publication date |
---|---|
US8417869B2 (en) | 2013-04-09 |
US20120059972A1 (en) | 2012-03-08 |
TW201212033A (en) | 2012-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI467581B (zh) | 複合式儲存裝置及其複合式儲存媒體控制器與定址方法 | |
US8037232B2 (en) | Data protection method for power failure and controller using the same | |
US8291155B2 (en) | Data access method, memory controller and memory storage system | |
TWI480733B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
US8386905B2 (en) | Error correcting method, and memory controller and memory storage system using the same | |
US9213629B2 (en) | Block management method, memory controller and memory stoarge apparatus | |
TWI569139B (zh) | 有效資料合併方法、記憶體控制器與記憶體儲存裝置 | |
US20090307413A1 (en) | Data writing method for flash memory and storage system and controller using the same | |
US8589619B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
TW201437807A (zh) | 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置 | |
TWI479314B (zh) | 系統資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
US9268688B2 (en) | Data management method, memory controller and memory storage apparatus | |
TWI435329B (zh) | 快閃記憶體管理方法、快閃記憶體控制器與儲存系統 | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI420308B (zh) | 區塊管理方法、記憶體控制器與記憶體儲存裝置 | |
TWI459198B (zh) | 記憶體儲存裝置、其記憶體控制器與有效資料識別方法 | |
TWI421870B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
TWI381393B (zh) | 區塊管理與更換方法、快閃記憶體儲存系統及其控制器 | |
TWI509615B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI451247B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI410795B (zh) | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 | |
TWI414940B (zh) | 區塊管理與資料寫入方法、快閃記憶體儲存系統與控制器 | |
US8572350B2 (en) | Memory management, memory control system and writing method for managing rewritable semiconductor non-volatile memory of a memory storage system | |
TW201413450A (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI464585B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 |