TWI395100B - 應用於快閃記憶體的階級化分層處理資料的方法及相關快閃記憶體裝置 - Google Patents
應用於快閃記憶體的階級化分層處理資料的方法及相關快閃記憶體裝置 Download PDFInfo
- Publication number
- TWI395100B TWI395100B TW098101031A TW98101031A TWI395100B TW I395100 B TWI395100 B TW I395100B TW 098101031 A TW098101031 A TW 098101031A TW 98101031 A TW98101031 A TW 98101031A TW I395100 B TWI395100 B TW I395100B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- flash memory
- address
- classified
- layer
- 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/10—Providing a specific technical effect
- G06F2212/1004—Compatibility, e.g. with legacy hardware
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Description
本發明係有關一種應用於快閃記憶體處理資料的方法及相關快閃記憶體裝置,更明確地說,係有關一種應用於快閃記憶體的階級化分層處理資料的方法及相關快閃記憶體裝置。
快閃記憶體(Flash memory)是一種非揮發性固態儲存記憶體(Non-violate solid state memory)。快閃記憶體相較於傳統的非揮發性固態儲存記憶體,具有單位儲存成本低、讀寫速度快的優點。另一方面,快閃記憶體相較於硬碟而言,有較佳的抗震性。也就是說,儲存的資料較不會因震動而損壞。由於快閃記憶體具有以上特性,因此常被應用在可攜式裝置(如數位隨身聽、數位相機、手機、記憶卡以及USB隨身碟等)裡面作為儲存媒體。
快閃記憶體有很多不同的類型,比如說單階記憶單元(Single Level Cell,SLC)小已分類單獨區塊(small block)快閃記憶體、單階記憶單元大已分類單獨區塊(large block)快閃記憶體,以及多階記憶單元(Multi-Level Cell,MLC)大已分類單獨區塊(large block)快閃記憶體...等。快閃記憶體有很多不同的製造廠商,比如說Samsung、Hynix及Toshiba...等。不同類型的快閃記憶體或不同製造廠商的快閃記憶體具有不同的結構與不同的控制方法。舉例而言,SLC小已分類單獨區塊快閃記憶體之每一已分類單獨區塊包含32個已分類區塊分頁(page);每一已分類區塊分頁包含528位元組(byte),其中前512位元組為資料區(data area),而後16位元組為保留區(spare area)。SLC大已分類單獨區塊快閃記憶體之每一已分類單獨區塊包含64個已分類區塊分頁;每一已分類區塊分頁包含2112位元組,其中前2048位元組為資料區,而後64位元組為保留區。
請參考第1圖。第1圖係為說明先前技術之快閃記憶體轉譯層(Flash Translation Layer)FTL之示意圖。快閃記憶體轉譯層FTL介於一主控端H與一快閃記憶體MF1
之間。
快閃記憶體MF1
包含(M×N)個已分類單獨區塊BL11
~BLMN
。快閃記憶體轉譯層FTL用以接收或回應來自主控端H的要求,而對快閃記憶體MF1
進行資料處理動作。此外,主控端H可為一用戶端應用程式及/或檔案系統。
快閃記憶體轉譯層FTL讀取快閃記憶體MF1
之硬體架構資訊DSPEC
。更明確地說,快閃記憶體轉譯層FTL讀取快閃記憶體MF1
之型號IDFLASH
以獲得有關快閃記憶體MF1
之類型(如SLC大已分類單獨區塊)、製造廠商(如Samsung)、結構(如已分類單獨區塊數量)、容量、控制方法...等之硬體架構資訊DSPEC
。快閃記憶體轉譯層FTL,根據硬體架構資訊DSPEC
所描述的快閃記憶體MF1
之結構,以轉換邏輯位址(Logic Address,LA)為一對應於快閃記憶體MF1
之一實體儲存單元之實體位址(Physical Address,PA)。然後,快閃記憶體轉譯層FTL根據所接收的硬體架構資訊DSPEC
,找到對應於快閃記憶體MF1
的控制方法,以控制快閃記憶體MF1
來進行資料處理動作。如此一來,主控端H便可透過快閃記憶體轉譯層FTL,要求快閃記憶體MF1
,進行資料處理動作。舉例來說,當主控端H對快閃記憶體MF1
發出資料處理動作的要求時且傳送邏輯位址為「P」(表一數值)至快閃記憶體轉譯層FTL時,快閃記憶體轉譯層FTL會轉譯邏輯位址「P」為實體位址「X」,而要求快閃記憶體MF1
中的已分類獨立區塊BLX
,進行資料處理的動作。
值得注意的是,由於快閃記憶體轉譯層FTL需直接控制快閃記憶體MF1
,因此,快閃記憶體轉譯層FTL,需根據快閃記憶體MF1
之控制方法與結構來設計。然而,不同製造廠商之快閃記憶體或不同類型之快閃記憶體具有不同的控制方法與結構。因此,每當快閃記憶體MF1
(如Samsung生產之快閃記憶體)更換為另一新型快閃記憶體MF2
(如Toshiba生產之快閃記憶體)時,快閃記憶體轉譯層FTL,就需要根據新型快閃記憶體MF2
之控制方法與結構,來重新設計。如此一來,便會造成使用者極大的不便。
本發明係提供一種應用於一快閃記憶體的階級化分層處理資料的方法。該方法包含將一邏輯位址傳送至一高階轉譯層以要求在該快閃記憶體中進行一資料處理動作、由一低階處理層取得屬於該快閃記憶體的一硬體架構資訊以將該硬體架構資訊傳送至該高階轉譯層、由該高階轉譯層根據該硬體架構資訊,在該快閃記憶體中,設置一組對應至該邏輯位址的實體儲存單元、由該高階轉譯層根據該硬體架構資訊,找出在該組對應至該邏輯位址的實體儲存單元中,有一可供進行資料處理動作的實體儲存單元、由該高階轉譯層根據該硬體架構資訊,決定一資料處理流程,以將該邏輯位址轉換為對應至該可供進行資料處理動作的實體儲存單元的一實體位址,以及由該低階處理層根據由該高階轉譯層傳送之該實體位址,在該可供進行資料處理動作的實體儲存單元中,進行該資料處理動作。該高階轉譯層用以令一用戶端應用程式及一檔案系統可在該快閃記憶體內進行資料處理,以及負責蒐集該快閃記憶體使用狀態的相關資訊以管理該快閃記憶體。該低階處理層根據該實體位址內的一第一段位址資料得知一組已分類區塊、該低階處理層根據該實體位址內的一第二段位址資料得知一已分類單獨區塊、該低階處理層根據該實體位址內的一第三段位址資料得知一已分類區塊分頁、該低階處理層根據該實體位址內的一第四段位址資料得知一已分類區塊通道。
本發明另提供一種應用於一快閃記憶體的階級化分層處理資料的方法。該方法包含將一邏輯位址傳送至一高階轉譯層以要求在該快閃記憶體中進行一資料處理動作、由一快閃架構處理層取得屬於該快閃記憶體的一硬體架構資訊以將該硬體架構資訊傳送至該高階轉譯層、由該高階轉譯層根據該硬體架構資訊,在該快閃記憶體中,設置一組對應至該邏輯位址的實體儲存單元、由該高階轉譯層根據該硬體架構資訊,找出在該組對應至該邏輯位址的實體儲存單元中,有一可供進行資料處理動作的實體儲存單元、由該高階轉譯層根據該硬體架構資訊,決定一資料處理流程以將該邏輯位址轉換為對應至該可供進行資料處理動作的實體儲存單元的一實體位址,以及由該快閃架構處理層根據由該高階轉譯層傳送之該實體位址,在該可供進行資料處理動作的實體儲存單元中,進行該資料處理動作。該高階轉譯層用以令一用戶端應用程式及一檔案系統可在該快閃記憶體內進行資料處理,以及負責蒐集該快閃記憶體使用狀態的相關資訊以管理該快閃記憶體。該快閃架構處理層根據該實體位址內的一第一段位址資料得知一組已分類區塊、該快閃架構處理層根據該實體位址內的一第二段位址資料得知一已分類單獨區塊、該快閃架構處理層根據該實體位址內的一第三段位址資料得知一已分類區塊分頁、該快閃架構處理層根據該實體位址內的一第四段位址資料得知一已分類分頁區段、該快閃架構處理層根據該實體位址內的一第五段位址資料得知一已分類區塊通道。
本發明另提供一種使用階級化分層處理資料的快閃記憶體裝置。該快閃記憶體裝置包含一快閃記憶體,由複數個已分類單獨區塊組成、一命令及邏輯位址轉換電路,以及一執行命令及實體位址定址電路。該命令及邏輯位址轉換電路用以令一高階轉譯層接收一邏輯位址及一在該快閃記憶體中進行一資料處理動作之要求,命令一低階處理層取得屬於該快閃記憶體的一硬體架構資訊以將該硬體架構資訊傳送至該高階轉譯層,且令該高階轉譯層根據該硬體架構資訊,在該複數個已分類單獨區塊中,設置一組對應至該邏輯位址的實體儲存單元,找出在該組對應至該邏輯位址的實體儲存單元中,有一可供進行資料處理動作的實體儲存單元,並決定一資料處理流程以將該邏輯位址轉換為對應至該可供進行資料處理動作的實體儲存單元的一實體位址。該執行命令及實體位址定址電路用以令該低階處理層根據由該高階轉譯層傳送之該實體位址,在該可供進行資料處理動作的實體儲存單元中,進行該資料處理動作。該高階轉譯層用以令一用戶端應用程式及一檔案系統可在該快閃記憶體內進行資料處理,以及負責蒐集該快閃記憶體使用狀態的相關資訊以管理該快閃記憶體。該低階處理層根據該實體位址內的一第一段位址資料得知一組已分類區塊、該低階處理層根據該實體位址內的一第二段位址資料得知一已分類單獨區塊、該低階處理層根據該實體位址內的一第三段位址資料得知一已分類區塊分頁、該低階處理層根據該實體位址內的一第四段位址資料得知一已分類區塊通道。
有鑑於此,本發明係將快閃記憶體轉譯層FTL分隔為高階轉譯層(High-level Translation Layer,HTL)與低階處理層(Low-level Abstraction Layer,LAL),以解決當原本所使用的快閃記憶體MF1
更換為另一新型快閃記憶體MF2
時,整個快閃記憶體轉譯層FTL都需要重新設計的困擾。其中,低階處理層LAL可為快閃架構處理層(Flash Abstraction Layer)FAL;而高階轉譯層HTL可為快閃架構轉譯層(Flash Translation Layer,FTL)。
請參考第2圖。第2圖係為說明本發明應用於快閃記憶體的階級化分層處理資料之示意圖。如第2圖所示,高階轉譯層HTL介於主控端H與低階處理層LAL之間;低階處理層LAL介於高階轉譯層HTL與快閃記憶體MF
之間。高階轉譯層HTL之設計與快閃記憶體MF
之控制方法無關;低階處理層LAL之設計則必須根據快閃記憶體MF
的不同而更動。於第2圖中,CH表示已分類區塊通道(channel)、BK表示一組已分類區塊(bank)、BL表示已分類單獨區塊(block)、PG表示已分類區塊分頁(page)、ST表示已分類分頁區段(sector)。
高階轉譯層FTL用以令主控端H(如一用戶端應用程式或/及一檔案系統)可在快閃記憶體MF
內進行資料處理、負責蒐集快閃記憶體MF
使用狀態的相關資訊,以及管理快閃記憶體MF
。此外,高階轉譯層FTL隔絕由主控端H發送之要求直接進入該低階處理層LAL。
低階處理層LAL介於高階轉譯層HTL及快閃記憶體MF
之間,用以執行由高階轉譯層HTL發送之命令,並將快閃記憶體MF
之硬體架構資訊DSPEC
及由快閃記憶體MF
取得之一保留資訊DSP
(spare data)回傳至高階轉譯層HTL。同樣地,低階處理層LAL可藉由讀取快閃記憶體MF
之型號IDFLASH
以獲得有關快閃記憶體MF
之類型(如SLC大已分類單獨區塊)、製造廠商(如Samsung)、結構(如已分類單獨區塊數量)、容量、控制方法...等之硬體架構資訊DSPEC
。此外,低階處理層LAL隔絕高階轉譯層HTL發送之命令直接進入快閃記憶體MF
。
如此一來,由於低階處理層LAL隔絕了高階轉譯層HTL與快閃記憶體MF
之間的直接溝通(意即低階處理層LAL會根據高階轉譯層HTL所發出的命令控制快閃記憶體MF
,而高階轉譯層HTL所發出的命令並不能直接傳達至快閃記憶體MF
),因此不論快閃記憶體MF
是更換為快閃記憶體MF1
或MF2
,對於高階轉譯層HTL皆不會有任何影響,而能夠省除高階轉譯層HTL因為快閃記憶體MF
的更換所造成的困擾。
請參考第3圖。第3圖係為說明本發明應用於一快閃記憶體的階級化分層處理資料的方法300之流程圖。步驟說明如下:步驟301:由高階轉譯層HTL發出第一命令CMD1
以指示低階處理層LAL,取得屬於快閃記憶體MF1
之硬體架構資訊DSPEC1
;步驟302:由低階處理層LAL,根據第一命令CMD1
,取得屬於快閃記憶體MF1
之硬體架構資訊DSPEC1
,並傳送至高階轉譯層HTL;步驟303:由高階轉譯層HTL發出第二命令CMD2
以指示低階處理層LAL,取得屬於快閃記憶體MF
之保留資訊DSP1
;步驟304:由低階處理層LAL,根據第二命令CMD2
,取得屬於快閃記憶體MF1
之保留資訊DSP1
,並傳送至高階轉譯層HTL;步驟305:主控端H將一邏輯位址「P」,傳送至高階轉譯層HTL以要求在快閃記憶體MF1
中進行一資料處理動作;步驟306:由高階轉譯層HTL根據硬體架構資訊DSPEC1
,在快閃記憶體MF1
中,設置一組對應至邏輯位址「P」的實體儲存單元;步驟307:由高階轉譯層HTL根據保留資訊DSP1
,找出在該組對應至邏輯位址「P」的實體儲存單元中,有一可供進行資料處理動作的實體儲存單元;步驟308:由高階轉譯層HTL根據硬體架構資訊DSPEC1
與保留資訊DSP1
,決定一資料處理流程DPS,以將邏輯位址「P」轉換為對應至該可供進行資料處理動作的實體儲存單元的一實體位址「X」;步驟309:由低階處理層LAL根據由高階轉譯層HTL傳送之實體位址「X」,在該可供進行資料處理動作的實體儲存單元中,進行該資料處理動作。
於方法300中,當一新型快閃記憶體MF2
取代快閃記憶體MF1
時,方法300會重新設置一新型低階處理層LAL2
取代原有之低階處理層LAL(設原有之低階處理層為LAL1
),且由新型低階處理層LAL2
取得屬於新型快閃記憶體MF2
的硬體架構資訊DSPEC2
與保留資訊DSP
以將硬體架構資訊DSPEC2
與保留資訊DSP
傳送至高階轉譯層HTL。換句話說,當一新型快閃記憶體MF2
取代原有之快閃記憶體MF1
時,步驟301~308便會再重新進行一次,以告知高階轉譯層HTL需重新設定將邏輯位址轉譯成實體位址的方式。
於步驟309中,低階處理層LAL能夠根據高階轉譯層HTL所傳送來之實體位址「X」,得知在快閃記憶體MF1
中實際上所對應的一已分類區塊通道、一組已分類區塊(Bank)、一已分類單獨區塊、一已分類區塊分頁,以及一已分類分頁區段。換句話說,實體位址「X」可區分成五段為(x1
,x2
,x3
,x4
,x5
)。第一段實體位址「x1
」的數值代表實體上對應到快閃記憶體MF1
中所分配之一已分類區塊通道;第二段實體位址「x2
」的數值代表實體上對應到快閃記憶體MF1
中所分配之一組已分類區塊;第三段實體位址「x3
」的數值代表實體上對應到快閃記憶體MF1
中所分配之一已分類單獨區塊;第四段實體位址「x4
」的數值代表實體上對應到快閃記憶體MF1
中所分配之一已分類區塊分頁;第五段實體位址「x5
」的數值代表實體上對應到快閃記憶體MF1
中所分配之一已分類分頁區段。舉例來說,若實體位址X為(1,1,1,1,1),則表示在實體上可供進行資料處理動作的實體儲存單元係位於快閃記憶體MF1
的已分類區塊通道CH1
中的一組已分類區塊BK1
中的已分類單獨區塊BL1
中的已分類區塊分頁PG1
中的已分類分頁區段ST1
。
此外,硬體架構資訊DSPEC1
提供可在快閃記憶體MF1
所規劃行已分類區塊通道、組已分類區塊、已分類單獨區塊、已分類區塊分頁和已分類分頁區段的資訊。舉例來說,硬體架構資訊DSPEC1
可為(10,10,10,64,4),則表示在快閃記憶體MF1
中,有10個已分類區塊通道、每個已分類區塊通道包含10組已分類區塊、每組已分類區塊包含10個已分類單獨區塊、每個已分類單獨區塊包含64個已分類區塊分頁、每個已分類區塊分頁包含4個已分類分頁區段。另外,一般定義一個已分類分頁區段的大小為512位元組,因此不需要在硬體架構資訊DSPEC1
中提供。
因此,高階轉譯層HTL便可根據硬體架構資訊DSPEC1
,將邏輯位址「P」轉換成對應的實體位址「X」。如前所述,若硬體架構資訊DSPEC1
為(10,10,10,64,4),舉例邏輯位址「X」為[123456],則高階轉譯層HTL可將[123456]除以25600(10×10×64×4,表示一個已分類區塊通道的大小),得到4且餘21056(表示實體位址x1
為4);再將餘數[21056]除以2560(10×64×4,表示一組已分類區塊的大小),得到8且餘576(表示實體位址x2
為8);再將餘數[576]除以256(64×4,表示一已分類單獨區塊的大小),得到2且餘64(表示實體位址x3
為2);再將餘數[64]除以4(4,表示一已分類區塊分頁的大小),得到16且餘0(表示實體位址x4
為4而實體位址x5
為餘數0)。簡單的說,當邏輯位址「P」為[123456]時,高階轉譯層HTL根據硬體架構資訊DSPEC1
所轉譯出來的實體位址X為(4,8,2,16,0),其表示為快閃記憶體MF1
中第4個已分類區塊通道CH4
中的第8組已分類區塊BK8
中的第2個已分類單獨區塊BL2
中的第16個已分類區塊分頁PG16
中的第0個已分類分頁區段ST0
。
然而,在快閃記憶體中,一有儲存資料之已分類區塊分頁無法再被寫入資料。更明確地說,若要將資料寫入至有儲存資料的已分類區塊分頁,必須要先抹除該已分類區塊分頁所屬的已分類單獨區塊。每次抹除(erase)資料的動作是以一個「已分類單獨區塊」作為單位。也就是說,每次抹除資料的動作至少要抹除一個已分類單獨區塊,而無法只抹除一個已分類區塊分頁或一個位元組。是故,為了加速主控端H對於快閃記憶體MF1
所進行的資料處理動作,在高階轉譯層HTL中,會設置一查詢表(Look Up Table,LUT)TB
,以選擇對應到同一個邏輯位址的已分類單獨區塊中並未儲存資料的實體儲存單元,來進行資料處理的動作。更明確地說,在前述高階轉譯層HTL轉譯邏輯位址「P」為實體位址「X」時,其所轉譯出的實體位址x3
並不會直接對應到一個單一個已分類單獨區塊,而是對應到兩個不同的已分類單獨區塊,然後再根據快閃記憶體MF1
所提供的保留資訊DSP
,選擇其中之一可提供進行資料處理的已分類單獨區塊。其中保留資訊DSP
係用來提供所欲處理的實體儲存單元是否已經有儲存資料以方便高階轉譯層HTL選擇未儲存資料的實體儲存單元。以下將更詳細解釋其運作原理。
請參考第4圖。第4圖係為說明高階轉譯層HTL根據邏輯位址、保留資訊,以及查詢表找出實際上可供資料處理的實體儲存單元之示意圖。同樣舉邏輯位址「P」為[123456]為例,可知實體位址x3
為「2」。因此可從查詢表TB
中的第2欄查得對應於實體位址x3
的已分類單獨區塊為已分類單獨區塊BL5
與BL13
。而實際上欲進行資料處理的實體儲存單元位於第4個已分類區塊分頁中的第0個已分類分頁區段。由保留資訊DSP
可知,在已分類單獨區塊BL5
中的第4個已分類區塊分頁已有儲存資料而在已分類單獨區塊BL13
中的第4個已分類區塊分頁並未儲存資料。因此,高階轉譯層HTL便會選擇已分類單獨區塊BL13
作為實際上要進行資料處理的實體儲存單元。更明確地說,邏輯位址[123456]經過高階轉譯層HTL處理後,會對應到實體位址為(4,8,「13」,16,0)而不是原本的實體位址(4,8,「2」,16,0),亦非(4,8,「5」,16,0)。換句話說,實際上經由高階轉譯層HTL所找出的實體儲存單元係位於快閃記憶體MF1
中第4個已分類區塊通道CH4
中的第8組已分類區塊BK8
中的第13個已分類單獨區塊BL13
中的第16個已分類區塊分頁PG16
中的第0個已分類分頁區段ST0
。
於步驟308中,資料處理流程DPS係用來決定低階處理層LAL取得實體位址「X」中的第一段實體位址(x1
)、第二段實體位址(x2
)、第三段實體位址(x3
)、第四段實體位址(x4
)以及第五段實體位址(x5
)之順序。
請參考第5圖。第5圖係為說明本發明之資料處理流程DPS之一第一實施例之流程圖。步驟說明如下:步驟501:令低階處理層LAL取得第二段實體位址(x2
),得知在快閃記憶體MF1
中,存在對應之一組已分類區塊,而可對資料進行處理動作;步驟502:在取得該第二段實體位址之後,取得第三段實體位址(x3
),得知在快閃記憶體MF1
中,存在對應之一已分類單獨區塊,可對資料進行處理動作;步驟503:在取得該第三段實體位址之後,取得第四段實體位址(x4
),得知在快閃記憶體MF1
中,存在對應之一已分類區塊分頁,可對資料進行處理動作;步驟504:在取得該第四段實體位址之後,取得第五段實體位址(x5
),得知在快閃記憶體MF1
中,存在對應之一已分類分頁區段,可對資料進行處理動作;步驟505:在取得該第五段實體位址之後,取得第一段實體位址(x1
),最後得知在快閃記憶體MF1
中,存在對應之一已分類區塊通道,可對資料進行處理動作。
請參考第6圖。第6圖係為說明本發明之資料處理流程DPS之一第二實施例之流程圖。步驟說明如下:步驟601:令低階處理層LAL取得第一段實體位址(x1
),得知在快閃記憶體MF1
中,存在對應之一已分類區塊通道,而可對資料進行處理動作;步驟602:在取得該第一段實體位址之後,取得第三段實體位址(x3
),得知在快閃記憶體MF1
中,存在對應之一已分類單獨區塊,可對資料進行處理動作;步驟603:在取得該第三段實體位址之後,取得第四段實體位址(x4
),得知在快閃記憶體MF1
中,存在對應之一已分類區塊分頁,可對資料進行處理動作;步驟604:在取得該第四段實體位址之後,取得第五段實體位址(x5
),得知在快閃記憶體MF1
中,存在對應之一已分類分頁區段,可對資料進行處理動作;步驟605:在取得該第五段實體位址之後,取得第二段實體位址(x2
),最後得知在快閃記憶體MF1
中,存在對應之一組已分類區塊,可對資料進行處理動作。
請參考第7圖。第7圖係為說明本發明之資料處理流程DPS之一第三實施例之流程圖。步驟說明如下:步驟701:令低階處理層LAL取得第三段實體位址(x3
),得知在快閃記憶體MF1
中,存在對應之一已分類單獨區塊,而可對資料進行處理動作;步驟702:在取得該第三段實體位址之後,取得第二段實體位址(x2
),得知在快閃記憶體MF1
中,存在對應之一組已分類區塊,可對資料進行處理動作;步驟703:在取得該第二段實體位址之後,取得第四段實體位址(x4
),得知在快閃記憶體MF1
中,存在對應之一已分類區塊分頁,可對資料進行處理動作;步驟704:在取得該第四段實體位址之後,取得第五段實體位址(x5
),得知在快閃記憶體MF1
中,存在對應之一已分類分頁區段,可對資料進行處理動作;步驟705:在取得該第五段實體位址之後,取得第一段實體位址(x1
),最後得知在快閃記憶體MF1
中,存在對應之一組已分類區塊通道,可對資料進行處理動作。
於上述資料處理流程DPS之三個實施例中,第五段實體位址並非為必須,意即低階處理層LAL不一定需要以已分類分頁區段為單位來進行資料處理動作。換句話說,若低階處理層LAL所接收到的實體位址僅定址到已分類區塊分頁,則低階處理層LAL便以一已分類區塊分頁為單位來進行資料處理動作;而若低階處理層LAL所接收到的實體位址定址到已分類分頁區段,則低階處理層LAL便可以一已分類分頁區段為單位來進行資料處理動作。此外,實體位址x3
係為高階轉譯層HTL,根據邏輯位址「P」、查詢表TB
以及保留資訊DSP
,最後所求得之實體位址(如第4圖之示範例)。
請參考第8圖。第8圖係為本發明之使用階級化分層處理資料的快閃記憶體裝置800之示意圖。如第8圖所示,快閃記憶體裝置800包含一命令及邏輯位址轉換電路810、一執行命令及實體位址定址電路820,以及一快閃記憶體MF
。快閃記憶體MF
包含複數個已分類單獨區塊BL11
~BLMN
。
命令及邏輯位址轉換電路810位於高階轉譯層HTL;執行命令及實體位址定址電路820位於低階處理層LAL。命令及邏輯位址轉換電路810另包含一邏輯判斷電路811。於第8圖中,主控端H、高階轉譯層HTL、低階處理層LAL以及快閃記憶體MF
之運作原理皆如前述,於此不再贅述。
命令及邏輯位址轉換電路810係用來執行下列幾項動作:
1.令高階轉譯層HTL接收主控端H傳送之邏輯位址「P」,並據以在快閃記憶體MF
中進行一資料處理動作之要求;
2.命令低階處理層LAL取得屬於快閃記憶體MF
的硬體架構資訊DSPEC
以傳送至高階轉譯層HTL;
3.令高階轉譯層HTL根據硬體架構資訊DSPEC
,在該複數個已分類單獨區塊中,設置一組對應至邏輯位址「P」的實體儲存單元,找出在該組對應至該邏輯位址的實體儲存單元中,有一可供進行資料處理動作的實體儲存單元,決定一資料處理流程以將該邏輯位址轉換為對應至該可供進行資料處理動作的實體儲存單元的一實體位址。
執行命令及實體位址定址電路820係用來令低階處理層LAL根據由高階轉譯層HTL傳送之實體位址「X」,在該可供進行資料處理動作的實體儲存單元中,進行資料處理動作。
邏輯判斷電路811係用來執行下列幾項動作:
1.令高階轉譯層HTL發出一命令(CMD1
或CMD2
)以指示低階處理層LAL取得硬體架構資訊DSPEC
及保留資訊DSP
其中之一;
2.令低階處理層LAL根據所發出的命令,讀取快閃記憶體MF
之硬體架構資訊DSPEC
及保留資訊DSP
其中之一,以回傳至高階轉譯層HTL;
3.令高階轉譯層HTL根據硬體架構資訊DSPEC
及保留資訊DSP
,決定資料處理流程,以轉換所接收之邏輯位址「P」為對應的實體位址「X」。
綜上所述,藉由本發明將快閃記憶體轉譯層分隔為高階轉譯層與低階處理層,便可解決當原本所使用的快閃記憶體更換為另一新型快閃記憶體時,整個快閃記憶體轉譯層都需要重新設計的困擾,而藉由本發明所提供之低階處理層,可對於各種不同的快閃記憶體,根據高階轉譯層所提供的實體位址,並使用對應的控制方法,直接對對應的儲存單元進行資料處理的動作,如此便可提供給使用者更大的便利性。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
H...主控端
FTL...快閃記憶體轉譯層
MF
、MF1
...快閃記憶體
BL11
~BLMN
...已分類單獨區塊
HTL...高階轉譯層
LAL...低階處理層
CH1
~CHM
...已分類區塊通道
BK1
~BKN
...組已分類區塊
PG0
、PG1
、PG2
、PG3
PG4
、PGY
...已分類區塊分頁
STZ
...已分類分頁區段
P...邏輯位址
X...實體位址
TB
...查詢表
DSP
...保留資訊
301~309、501~505、601~605、701~705...步驟
800...快閃記憶體裝置
810...命令及邏輯位址轉換電路
811...邏輯判斷電路
820...執行命令及實體位址定址電路
第1圖係為說明先前技術之快閃記憶體轉譯層之示意圖。
第2圖係為說明本發明應用於快閃記憶體的階級化分層處理資料之示意圖。
第3圖係為說明本發明應用於一快閃記憶體的階級化分層處理資料的方法之流程圖。
第4圖係為說明高階轉譯層根據邏輯位址、保留資訊,以及查詢表找出實際上可供資料處理的實體儲存單元之示意圖。
第5圖係為說明本發明之資料處理流程之一第一實施例之流程圖。
第6圖係為說明本發明之資料處理流程之一第二實施例之流程圖。
第7圖係為說明本發明之資料處理流程之一第三實施例之流程圖。
第8圖係為本發明之使用階級化分層處理資料的快閃記憶體裝置之示意圖。
H...主控端
MF
...快閃記憶體
BL11
~BLMN
...已分類單獨區塊
HTL...高階轉譯層
LAL...低階處理層
CH1
~CHM
...已分類區塊通道
BK1
~BKN
...組已分類區塊
PG0
、PG1
、PGY
...已分類區塊分頁
STZ
...已分類分頁區段
Claims (39)
- 一種應用於一快閃記憶體的階級化分層處理資料的方法,包含:將一邏輯位址(Logical Address)傳送至一高階轉譯層(High-Level Translation Layer)以要求在該快閃記憶體中進行一資料處理動作;由一低階處理層(Low-Level Abstraction Layer)取得屬於該快閃記憶體的一硬體架構資訊以將該硬體架構資訊傳送至該高階轉譯層;由該高階轉譯層根據該硬體架構資訊,在該快閃記憶體中,設置一組對應至該邏輯位址的實體儲存單元;由該高階轉譯層根據該硬體架構資訊,找出在該組對應至該邏輯位址的實體儲存單元中,有一可供進行資料處理動作的實體儲存單元;由該高階轉譯層根據該硬體架構資訊,決定一資料處理流程,以將該邏輯位址轉換為對應至該可供進行資料處理動作的實體儲存單元的一實體位址(Physical Address);以及由該低階處理層根據由該高階轉譯層傳送之該實體位址,在該可供進行資料處理動作的實體儲存單元中,進行該資料處理動作;其中,該高階轉譯層用以令一用戶端應用程式及一檔案系統可在該快閃記憶體內進行資料處理,以及負責蒐集該快閃記憶體使用狀態的相關資訊以管理該快閃記憶體,並且,該低階處理層根據該實體位址內的一第一段位址資料得知一組已分類區塊(Bank),根據該實體位址內的一第二段位址資料得知一已分類單獨區塊(Block),根據該實體位址內的一第三段位址資料得知一已分類區塊分頁(page),根據該實體位址內的一第四段位址資料得知一已分類區塊通道(Channel)。
- 如請求項1所述之方法,其中更包含:由該高階轉譯層發出一第一命令以指示該低階處理層取得該硬體架構資訊;以及該低階處理層根據該第一命令讀取該快閃記憶體之該硬體架構資訊以回傳至該高階轉譯層。
- 如請求項2所述之方法,其中更包含:由該高階轉譯層發出一第二命令以指示該低階處理層取得一保留資訊(spare data);該低階處理層根據該第二命令讀取該快閃記憶體之該保留資訊以回傳至該高階轉譯層;以及由該高階轉譯層根據該硬體架構資訊及該保留資訊,決定該資料處理流程,以轉換為該實體位址。
- 如請求項1所述之方法,其中該高階轉譯層用以隔絕由該用戶端應用程式和經由該檔案系統發送之要求直接進入該低階處理層。
- 如請求項1所述之方法,其中該低階處理層介於該高階轉譯層及該快閃記憶體之間,用以執行由該高階轉譯層發送之命令,並將該硬體架構資訊及由該快閃記憶體取得之一保留資訊回傳至該高階轉譯層。
- 如請求項1所述之方法,其中該低階處理層用以執行由該高階轉譯層發送之命令,隔絕該高階轉譯層發送之命令直接進入該快閃記憶體,並將該硬體架構資訊及由該快閃記憶體取得之一保留資訊回傳至該高階轉譯層。
- 如請求項1所述之方法,其中當一新型快閃記憶體取代該快閃記憶體時,設置一新型低階處理層取代該低階處理層,由該新型低階處理層取得屬於該新型快閃記憶體的一新型硬體架構資訊以將該新型硬體架構資訊傳送至該高階轉譯層。
- 如請求項1所述之方法,其中該硬體架構資訊提供可在該快閃記憶體規劃該組已分類區塊、該已分類單獨區塊、該已分類區塊分頁和該已分類區塊通道之資訊。
- 如請求項8所述之方法,其中該資料處理流程決定該低階處理層取得該第一段位址資料、該第二段位址資料、第三段位址資料和該第四段位址資料之順序。
- 如請求項9所述之方法,其中該資料處理流程包含:令該低階處理層取得該第一段位址資料,得知在該快閃記憶體中,存在該組已分類區塊,可對資料進行處理動作;在取得該第一段位址資料之後,取得該第二段位址資料,得知在該快閃記憶體中,存在該已分類單獨區塊,可對資料進行處理動作;在取得該第二段位址資料之後,取得該第三段位址資料,得知在該快閃記憶體中,存在該已分類區塊分頁,可對資料進行處理動作;以及在取得該第三段位址資料之後,取得該第四段位址資料,最後得知在該快閃記憶體中,存在已分類區塊通道,可對資料進行處理動作。
- 如請求項9所述之方法,其中該資料處理流程包含:令該低階處理層取得該第四段位址資料,得知在該快閃記憶體中,存在該已分類區塊通道,可對資料進行處理動作;在取得該第四段位址資料之後,取得該第二段位址資料,得知在該快閃記憶體中,存在該已分類單獨區塊,可對資料進行處理動作;在取得該第二段位址資料之後,取得該第三段位址資料,得知在該快閃記憶體中,存在該已分類區塊分頁,可對資料進行處理動作;以及在取得該第三段位址資料之後,取得該第一段位址資料,最後得知在該快閃記憶體中,存在該組已分類區塊,可對資料進行處理動作。
- 如請求項9所述之方法,其中該資料處理流程包含:令該低階處理層取得該第二段位址資料,得知在該快閃記憶體中,存在該已分類單獨區塊,可對資料進行處理動作;在取得該第二段位址資料之後,取得該第一段位址資料,得知在該快閃記憶體中,存在該組已分類區塊,可對資料進行處理動作;在取得該第一段位址資料之後,取得該第三段位址資料,得知在該快閃記憶體中,存在該已分類區塊分頁,可對資料進行處理動作;以及在取得該第三段位址資料之後,取得該第四段位址資料,最後得知在該快閃記憶體中,存在已分類區塊通道,可對資料進行處理動作。
- 如請求項1所述之方法,其中該低階處理層為快閃架構處理層(Flash Abstraction Layer)。
- 一種應用於一快閃記憶體的階級化分層處理資料的方法,包含:將一邏輯位址(Logical Address)傳送至一高階轉譯層(High-Level Translation Layer)以要求在該快閃記憶體中進行一資料處理動作;由一快閃架構處理層(Flash Abstraction Layer)取得屬於該快閃記憶體的一硬體架構資訊以將該硬體架構資訊傳送至該高階轉譯層;由該高階轉譯層根據該硬體架構資訊,在該快閃記憶體中,設置一組對應至該邏輯位址的實體儲存單元;由該高階轉譯層根據該硬體架構資訊,找出在該組對應至該邏輯位址的實體儲存單元中,有一可供進行資料處理動作的實體儲存單元;由該高階轉譯層根據該硬體架構資訊,決定一資料處理流程以將該邏輯位址轉換為對應至該可供進行資料處理動作的實體儲存單元的一實體位址(Physical Address);以及由該快閃架構處理層根據由該高階轉譯層傳送之該實體位址,在該可供進行資料處理動作的實體儲存單元中,進行該資料處理動作;其中,該高階轉譯層用以令一用戶端應用程式及一檔案系統可在該快閃記憶體內進行資料處理,以及負責蒐集該快閃記憶體使用狀態的相關資訊以管理該快閃記憶體,並且,該快閃架構處理層根據該實體位址內的一第一段位址資料得知一組已分類區塊(Bank),根據該實體位址內的一第二段位址資料得知一已分類單獨區塊(Block),根據該實體位址內的一第三段位址資料得知一已分類區塊分頁(Page),根據該實體位址內的一第四段位址資料得知一已分類分頁區段(Sector),根據該實體位址內的一第五段位址資料得知一已分類區塊通道(Channel)。
- 如請求項14所述之方法,其中更包含:由該高階轉譯層發出一第一命令以指示該低階處理層取得該硬體架構資訊;以及該低階處理層根據該第一命令讀取該快閃記憶體之該硬體架構資訊以回傳至該高階轉譯層。
- 如請求項15所述之方法,其中更包含:由該高階轉譯層發出一第二命令以指示該低階處理層取得一保留資訊(spare data);該低階處理層根據該第二命令讀取該快閃記憶體之該保留資訊以回傳至該高階轉譯層;以及由該高階轉譯層根據該硬體架構資訊及該保留資訊,決定該資料處理流程以轉換為該實體位址。
- 如請求項14所述之方法,其中該高階轉譯層用以隔絕由該用戶端應用程式和經由該檔案系統發送之要求直接進入該快閃架構處理層。
- 如請求項14所述之方法,其中該快閃架構處理層介於該高階轉譯層及該快閃記憶體之間,用以執行由該高階轉譯層發送之命令,並將該硬體架構資訊及由該快閃記憶體取得之一保留資訊回傳至該高階轉譯層。
- 如請求項14所述之方法,其中該快閃架構處理層用以執行由該高階轉譯層發送之命令,隔絕該高階轉譯層發送之命令直接進入該快閃記憶體,並將該硬體架構資訊及由該快閃記憶體取得之一保留資訊回傳至該高階轉譯層。
- 如請求項14所述之方法,其中當一新型快閃記憶體取代該快閃記憶體時,設置一新型快閃架構處理層取代該快閃架構處理層,由該新型快閃架構處理層取得屬於該新型快閃記憶體的一新型硬體架構資訊以將該新型硬體架構資訊傳送至該高階轉譯層。
- 如請求項14所述之方法,其中該硬體架構資訊提供可在該快閃記憶體規劃該組已分類區塊、該已分類單獨區塊、該已分類區塊分頁、該已分類分頁區段和該已分類區塊通道之資訊。
- 如請求項21所述之方法,其中該資料處理流程決定該快閃架構處理層取得該第一段位址資料、該第二段位址資料、第三段位址資料、該第四段位址資料和該第五段位址資料之順序。
- 如請求項22所述之方法,其中該資料處理流程包含:令該快閃架構處理層取得該第一段位址資料,得知在該快閃記憶體中,存在該組已分類區塊,可對資料進行處理動作;在取得該第一段位址資料之後,取得該第二段位址資料,得知在該快閃記憶體中,存在該已分類單獨區塊,可對資料進行處理動作;在取得該第二段位址資料之後,取得該第三段位址資料,得知在該快閃記憶體中,存在該已分類區塊分頁,可對資料進行處理動作;在取得該第三段位址資料之後,取得該第四段位址資料,得知在該快閃記憶體中,存在該已分類分頁區段,可對資料進行處理動作;以及在取得該第四段位址資料之後,取得該第五段位址資料,最後得知在該快閃記憶體中,存在已分類區塊通道,可對資料進行處理動作。
- 如請求項22所述之方法,其中該資料處理流程包含:令該快閃架構處理層取得該第五段位址資料,得知在該快閃記憶體中,存在已分類區塊通道,可對資料進行處理動作;在取得該第五段位址資料之後,取得該第二段位址資料,得知在該快閃記憶體中,存在該已分類單獨區塊,可對資料進行處理動作;在取得該第二段位址資料之後,取得該第三段位址資料,得知在該快閃記憶體中,存在該已分類區塊分頁,可對資料進行處理動作;在取得該第三段位址資料之後,取得該第四段位址資料,得知在該快閃記憶體中,存在該已分類分頁區段,可對資料進行處理動作;以及在取得該第四段位址資料之後,取得該第一段位址資料,最後得知在該快閃記憶體中,存在該組已分類區塊,可對資料進行處理動作。
- 如請求項22所述之方法,其中該資料處理流程包含:令該快閃架構處理層取得該第二段位址資料,得知在該快閃記憶體中,存在該已分類單獨區塊,可對資料進行處理動作;在取得該第二段位址資料之後,取得該第一段位址資料,得知在該快閃記憶體中,存在該組已分類區塊,可對資料進行處理動作;在取得該第一段位址資料之後,取得該第三段位址資料,得知在該快閃記憶體中,存在該已分類區塊分頁,可對資料進行處理動作;在取得該第三段位址資料之後,取得該第四段位址資料,得知在該快閃記憶體中,存在該已分類分頁區段,可對資料進行處理動作;以及在取得該第四段位址資料之後,取得該第五段位址資料,最後得知在該快閃記憶體中,存在已分類區塊通道,可對資料進行處理動作。
- 如請求項14所述之方法,其中該高階轉譯層為快閃架構轉譯層(Flash Translation Layer)。
- 一種使用階級化分層處理資料的快閃記憶體裝置,包含:一快閃記憶體,由複數個已分類單獨區塊組成;一命令及邏輯位址轉換電路,用以令一高階轉譯層(High-Level Translation Layer)接收一邏輯位址(Logical Address)及一在該快閃記憶體中進行一資料處理動作之要求,命令一低階處理層(Low-Level Abstraction Layer)取得屬於該快閃記憶體的一硬體架構資訊以將該硬體架構資訊傳送至該高階轉譯層,令該高階轉譯層根據該硬體架構資訊,在該複數個已分類單獨區塊中,設置一組對應至該邏輯位址的實體儲存單元,找出在該組對應至該邏輯位址的實體儲存單元中,有一可供進行資料處理動作的實體儲存單元,決定一資料處理流程以將該邏輯位址轉換為對應至該可供進行資料處理動作的實體儲存單元的一實體位址(Physical Address);以及一執行命令及實體位址定址電路,用以令該低階處理層根據由該高階轉譯層傳送之該實體位址,在該可供進行資料處理動作的實體儲存單元中,進行該資料處理動作;其中,該高階轉譯層用以令一用戶端應用程式及一檔案系統可在該快閃記憶體內進行資料處理,以及負責蒐集該快閃記憶體使用狀態的相關資訊以管理該快閃記憶體,並且,該低階處理層根據該實體位址內的一第一段位址資料得知一組已分類區塊(Bank),根據該實體位址內的一第二段位址資料得知一已分類單獨區塊(Block),根據該實體位址內的一第三段位址資料得知一已分類區塊分頁(page),根據該實體位址內的一第四段位址資料得知一已分類區塊通道(Channel)。
- 如請求項27所述之裝置,其中該命令及邏輯位址轉換電路更包含:一邏輯判斷電路,用以令該高階轉譯層發出一命令以指示該低階處理層取得該硬體架構資訊及一保留資訊(spare data)其中之一,令該低階處理層根據該命令讀取該快閃記憶體之該硬體架構資訊及該保留資訊(spare data)其中之一,以回傳至該高階轉譯層以及令該高階轉譯層根據該硬體架構資訊及該保留資訊,決定該資料處理流程以轉換為該實體位址。
- 如請求項27所述之裝置,其中該高階轉譯層用以隔絕由該用戶端應用程式和經由該檔案系統發送之要求直接進入該低階處理層。
- 如請求項27所述之裝置,其中該低階處理層介於該高階轉譯層及該快閃記憶體之間,用以執行由該高階轉譯層發送之命令,並將該硬體架構資訊及由該快閃記憶體取得之一保留資訊回傳至該高階轉譯層。
- 如請求項27所述之裝置,其中該低階處理層用以執行由該高階轉譯層發送之命令,隔絕該高階轉譯層發送之命令直接進入該快閃記憶體,並將該硬體架構資訊及由該快閃記憶體取得之一保留資訊回傳至該高階轉譯層。
- 如請求項27所述之裝置,其中當一新型快閃記憶體取代該快閃記憶體時,設置一新型低階處理層取代該低階處理層,由該新型低階處理層取得屬於該新型快閃記憶體的一新型硬體架構資訊以將該新型硬體架構資訊傳送至該高階轉譯層。
- 如請求項27所述之裝置,其中該硬體架構資訊提供可在該快閃記憶體規劃該組已分類區塊、該已分類單獨區塊、該已分類區塊分頁和該已分類區塊通道之資訊。
- 如請求項33所述之裝置,其中該資料處理流程決定該低階處理層取得該第一段位址資料、該第二段位址資料、第三段位址資料和該第四段位址資料之順序。
- 如請求項34所述之裝置,其中該資料處理流程包含:令該低階處理層取得該第一段位址資料,得知在該快閃記憶體中,存在該組已分類區塊,可對資料進行處理動作;在取得該第一段位址資料之後,取得該第二段位址資料,得知在該快閃記憶體中,存在該已分類單獨區塊,可對資料進行處理動作;在取得該第二段位址資料之後,取得該第三段位址資料,得知在該快閃記憶體中,存在該已分類區塊分頁,可對資料進行處理動作;以及在取得該第三段位址資料之後,取得該第四段位址資料,最後得知在該快閃記憶體中,存在已分類區塊通道,可對資料進行處理動作。
- 如請求項34所述之裝置,其中該資料處理流程包含:令該低階處理層取得該第四段位址資料,得知在該快閃記憶體中,存在該已分類區塊通道,可對資料進行處理動作;在取得該第四段位址資料之後,取得該第二段位址資料,得知在該快閃記憶體中,存在該已分類單獨區塊,可對資料進行處理動作;在取得該第二段位址資料之後,取得該第三段位址資料,得知在該快閃記憶體中,存在該已分類區塊分頁,可對資料進行處理動作;以及在取得該第三段位址資料之後,取得該第一段位址資料,最後得知在該快閃記憶體中,存在該組已分類區塊,可對資料進行處理動作。
- 如請求項34所述之裝置,其中該資料處理流程包含:令該低階處理層取得該第二段位址資料,得知在該快閃記憶體中,存在該已分類單獨區塊,可對資料進行處理動作;在取得該第二段位址資料之後,取得該第一段位址資料,得知在該快閃記憶體中,存在該組已分類區塊,可對資料進行處理動作;在取得該第一段位址資料之後,取得該第三段位址資料,得知在該快閃記憶體中,存在該已分類區塊分頁,可對資料進行處理動作;以及在取得該第三段位址資料之後,取得該第四段位址資料,最後得知在該快閃記憶體中,存在已分類區塊通道,可對資料進行處理動作。
- 如請求項27所述之裝置,其中該低階處理層為快閃架構處理層(Flash Abstraction Layer)。
- 如請求項27所述之裝置,其中該高階轉譯層為快閃架構轉譯層(Flash Translation Layer)。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098101031A TWI395100B (zh) | 2009-01-13 | 2009-01-13 | 應用於快閃記憶體的階級化分層處理資料的方法及相關快閃記憶體裝置 |
US12/647,505 US8266370B2 (en) | 2009-01-13 | 2009-12-27 | Method for processing data of flash memory by separating levels and flash memory device thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098101031A TWI395100B (zh) | 2009-01-13 | 2009-01-13 | 應用於快閃記憶體的階級化分層處理資料的方法及相關快閃記憶體裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201027335A TW201027335A (en) | 2010-07-16 |
TWI395100B true TWI395100B (zh) | 2013-05-01 |
Family
ID=42319831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098101031A TWI395100B (zh) | 2009-01-13 | 2009-01-13 | 應用於快閃記憶體的階級化分層處理資料的方法及相關快閃記憶體裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8266370B2 (zh) |
TW (1) | TWI395100B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI719654B (zh) * | 2019-06-21 | 2021-02-21 | 慧榮科技股份有限公司 | 閃存實體資源集合管理裝置及方法以及電腦程式產品 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120317377A1 (en) * | 2011-06-09 | 2012-12-13 | Alexander Palay | Dual flash translation layer |
US9266370B2 (en) | 2012-10-10 | 2016-02-23 | Apdn (B.V.I) Inc. | DNA marking of previously undistinguished items for traceability |
US10037152B2 (en) | 2016-12-19 | 2018-07-31 | Alibaba Group Holding Limited | Method and system of high-throughput high-capacity storage appliance with flash translation layer escalation and global optimization on raw NAND flash |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050198596A1 (en) * | 2000-04-24 | 2005-09-08 | Microsoft Corporation | Dynamically configuring resources for cycle translation in a computer system |
US7093101B2 (en) * | 2002-11-21 | 2006-08-15 | Microsoft Corporation | Dynamic data structures for tracking file system free space in a flash memory device |
US7139883B2 (en) * | 2002-02-27 | 2006-11-21 | Microsoft Corporation | Transactional file system for flash memory |
TW200828020A (en) * | 2006-10-26 | 2008-07-01 | Sandisk Il Ltd | Erase history-based flash writing method |
TW200834319A (en) * | 2007-02-08 | 2008-08-16 | Winbond Electronics Corp | Flash memory apparatus and operation method for flash memory thereof |
US20080235486A1 (en) * | 2007-03-20 | 2008-09-25 | Micron Technology, Inc. | Non-volatile memory devices, systems including same and associated methods |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060044934A1 (en) * | 2004-09-02 | 2006-03-02 | Micron Technology, Inc. | Cluster based non-volatile memory translation layer |
-
2009
- 2009-01-13 TW TW098101031A patent/TWI395100B/zh active
- 2009-12-27 US US12/647,505 patent/US8266370B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050198596A1 (en) * | 2000-04-24 | 2005-09-08 | Microsoft Corporation | Dynamically configuring resources for cycle translation in a computer system |
US6970957B1 (en) * | 2000-04-24 | 2005-11-29 | Microsoft Corporation | Dynamically configuring resources for cycle translation in a computer system |
US7284083B2 (en) * | 2000-04-24 | 2007-10-16 | Microsoft Corporation | Dynamically configuring resources for cycle translation in a computer system |
US7139883B2 (en) * | 2002-02-27 | 2006-11-21 | Microsoft Corporation | Transactional file system for flash memory |
US7093101B2 (en) * | 2002-11-21 | 2006-08-15 | Microsoft Corporation | Dynamic data structures for tracking file system free space in a flash memory device |
TW200828020A (en) * | 2006-10-26 | 2008-07-01 | Sandisk Il Ltd | Erase history-based flash writing method |
TW200834319A (en) * | 2007-02-08 | 2008-08-16 | Winbond Electronics Corp | Flash memory apparatus and operation method for flash memory thereof |
US20080235486A1 (en) * | 2007-03-20 | 2008-09-25 | Micron Technology, Inc. | Non-volatile memory devices, systems including same and associated methods |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI719654B (zh) * | 2019-06-21 | 2021-02-21 | 慧榮科技股份有限公司 | 閃存實體資源集合管理裝置及方法以及電腦程式產品 |
US11449416B2 (en) | 2019-06-21 | 2022-09-20 | Silicon Motion, Inc. | Apparatus and method and computer program product for handling flash physical-resource sets |
US11675698B2 (en) | 2019-06-21 | 2023-06-13 | Silicon Motion, Inc. | Apparatus and method and computer program product for handling flash physical-resource sets |
Also Published As
Publication number | Publication date |
---|---|
TW201027335A (en) | 2010-07-16 |
US20100180071A1 (en) | 2010-07-15 |
US8266370B2 (en) | 2012-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8583860B2 (en) | Block management method for flash memory and controller and storage system using the same | |
TWI386802B (zh) | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 | |
US8250286B2 (en) | Block management method, and storage system and controller using the same | |
US8001317B2 (en) | Data writing method for non-volatile memory and controller using the same | |
US8291155B2 (en) | Data access method, memory controller and memory storage system | |
US7035993B2 (en) | Flash memory data access method and configuration employing logical-to-virtual and virtual-to-physical sector mapping | |
KR100441587B1 (ko) | 블록 얼라인먼트 기능을 갖는 반도체 기억 장치 | |
CN111475427A (zh) | 使用低延迟非易失性存储器进行逻辑至物理映射管理 | |
JP5089385B2 (ja) | フラッシュファイル・システム内での仮想アドレスから物理アドレスへの変換 | |
US7571282B2 (en) | Computer system having a flash memory storage device | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US8341336B2 (en) | Region-based management method of non-volatile memory | |
TWI385518B (zh) | 用於快閃記憶體的資料儲存方法及儲存系統 | |
US20100057979A1 (en) | Data transmission method for flash memory and flash memory storage system and controller using the same | |
TWI476590B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
US8037236B2 (en) | Flash memory writing method and storage system and controller using the same | |
US9009442B2 (en) | Data writing method, memory controller and memory storage apparatus | |
TWI584189B (zh) | 記憶體控制器、記憶體儲存裝置與資料寫入方法 | |
US8423707B2 (en) | Data access method for flash memory and storage system and controller using the same | |
TW201705148A (zh) | 映射表存取方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI395100B (zh) | 應用於快閃記憶體的階級化分層處理資料的方法及相關快閃記憶體裝置 | |
US8943264B2 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
CN114968096A (zh) | 一种存储器的控制方法、存储器与存储系统 | |
CN114036079B (zh) | 映射表压缩方法、系统、存储器控制器、固态硬盘及数据读取方法 | |
JP4561246B2 (ja) | メモリ装置 |