欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

非易失性存儲器系統(tǒng)及其存取方法

文檔序號:6583983閱讀:119來源:國知局
專利名稱:非易失性存儲器系統(tǒng)及其存取方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種非易失性存儲器系統(tǒng)。更具體地講,本發(fā)明涉及一種非易失性存 儲器系統(tǒng)及其存取方法。
背景技術(shù)
通常,操作系統(tǒng)(OS)使用文件系統(tǒng)來管理存儲在計(jì)算機(jī)系統(tǒng)上的數(shù)據(jù),其中,所 述操作系統(tǒng)安裝在所述計(jì)算機(jī)系統(tǒng)上。文件系統(tǒng)是OS通過其來組織并管理文件的手段。 例如,MICROSOFT WINDOWS (微軟視窗)(Microsoft Corporation (微軟公司)的操作系統(tǒng) 系列)提供了格式化命令來配置這樣的文件系統(tǒng)并使諸如硬盤驅(qū)動器(HDD)或固態(tài)盤驅(qū)動 器(SSD)的大容量存儲裝置初始化。在對大容量存儲裝置配置了文件系統(tǒng)之后,用戶可以 存儲文件或從所述裝置刪除文件。各種操作系統(tǒng)采用不同的文件系統(tǒng)。例如,MICROSOFT WINDOWS 操作系統(tǒng)采用諸如 FAT (File Allocation Table (文件分配表))^P NTFS (New Technology File System(新技術(shù)文件系統(tǒng)))的文件系統(tǒng)。Unix/Linux系列的操作系統(tǒng)采 用諸如 UFS(Unix File System (Unix 文件系統(tǒng)))、EXT2 (Extended 2)、EXT3 (Extended 3)、 JFS(Journaling File System(日志文件系統(tǒng)))等的文件系統(tǒng)。如上所述,大容量存儲裝置的示例包括HDD和SSD。SSD是一種利用物理排列的閃 速存儲器的大容量存儲裝置,SSD通常可與HDD互換。然而,其他類型的閃速存儲器也被廣 泛地用作大容量存儲裝置。例如,存儲卡、USB thumb drive (USB拇指驅(qū)動器)等也是采用 閃速存儲器的大容量存儲裝置的示例。隨著諸如蜂窩電話、PDA、數(shù)字相機(jī)等的便攜式信息 電器的使用的快速增加,閃速存儲器取代硬盤而被廣泛地用作存儲裝置。對于閃速存儲器來說,對已經(jīng)包括數(shù)據(jù)的存儲器位置寫入數(shù)據(jù)之前必須進(jìn)行擦除 操作。此外,與閃速存儲器可以進(jìn)行寫入所按的存儲單位相比,閃速存儲器通常必須按更大 的存儲單位進(jìn)行擦除。這樣的性質(zhì)使得難以將閃速存儲器用作主存儲器。此外,在將閃速 存儲器用作輔助存儲器時(shí),這樣的性質(zhì)使得難以將為硬盤設(shè)計(jì)的文件系統(tǒng)直接應(yīng)用于閃速 存儲裝置。在文件系統(tǒng)和閃速存儲器之間使用閃存轉(zhuǎn)換層(Flash Translation Layer,下 文中,稱為FTL)按對于文件系統(tǒng)來說是透明的方式來優(yōu)化閃速存儲器的寫入和擦除操作。 在閃速存儲器的寫入操作時(shí),F(xiàn)TL將由文件系統(tǒng)產(chǎn)生的邏輯地址轉(zhuǎn)換為閃速存儲器的將要 進(jìn)行擦除操作的物理地址。這稱為地址映射功能/操作。然后,主機(jī)可以經(jīng)FTL的地址映 射功能將閃速存儲器識別為硬盤驅(qū)動器(或SRAM),以按與硬盤驅(qū)動器相同的方式來存取 閃速存儲器。

發(fā)明內(nèi)容
本發(fā)明構(gòu)思的示例性實(shí)施例涉及提供一種能夠提高非易失性存儲裝置的數(shù)據(jù)寫入操作的性能的方法和存儲器系統(tǒng)。本發(fā)明構(gòu)思的示例性實(shí)施例涉及提供一種利用閃存轉(zhuǎn)換層的非易失性存儲裝置 的存取方法。所述存取方法包括如下步驟接收來自文件系統(tǒng)的用于數(shù)據(jù)的寫入請求,并響 應(yīng)于所述寫入請求將所述數(shù)據(jù)記錄在所述非易失性存儲裝置中。所述文件系統(tǒng)通知所述閃 存轉(zhuǎn)換層是否記錄用于所述數(shù)據(jù)的確認(rèn)標(biāo)志。本發(fā)明構(gòu)思的示例性實(shí)施例涉及提供一種利用閃存轉(zhuǎn)換層的非易失性存儲裝置 的存取方法。所述存取方法包括如下步驟響應(yīng)于寫入請求來生成包括用戶數(shù)據(jù)和多個(gè)元 數(shù)據(jù)的文件;請求閃存轉(zhuǎn)換層將所述用戶數(shù)據(jù)或所述多個(gè)元數(shù)據(jù)記錄在所述非易失性存儲 裝置中。然后,通知閃存轉(zhuǎn)換層是否寫入確認(rèn)標(biāo)志。根據(jù)所述用戶數(shù)據(jù)或所述多個(gè)元數(shù)據(jù) 的屬性,經(jīng)閃存轉(zhuǎn)換層將確認(rèn)標(biāo)志記錄在非易失性存儲裝置中。所述閃存轉(zhuǎn)換層根據(jù)所述 通知來記錄用于所述用戶數(shù)據(jù)或所述多個(gè)元數(shù)據(jù)的確認(rèn)標(biāo)志。根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例,一種存儲器系統(tǒng)包括主機(jī),用于驅(qū)動文件系 統(tǒng);非易失性存儲裝置,用于存儲從所述主機(jī)提供的文件。當(dāng)在所述非易失性存儲裝置中記 錄所述文件時(shí),所述非易失性存儲裝置根據(jù)所述主機(jī)的指令來選擇性地記錄與形成所述文 件的多個(gè)數(shù)據(jù)中的每個(gè)數(shù)據(jù)對應(yīng)的確認(rèn)標(biāo)志。


將參照下面的附圖來描述本發(fā)明構(gòu)思的非限制性、非窮舉性的示例性實(shí)施例。相 同的標(biāo)號可以始終表示各個(gè)附圖的相同的部分。在附圖中圖1是示出根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的文件系統(tǒng)架構(gòu)的框圖;圖2是示出根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的寫入操作的示圖;圖3是示出根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的在非易失性存儲裝置中記錄文件 的示圖;圖4是示出根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的FTL和文件系統(tǒng)之間的接口關(guān)系的 框圖;圖5是示出根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的FTL寫入函數(shù)的表;圖6是示出根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的文件系統(tǒng)的操作的流程圖;圖7是示出根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的文件系統(tǒng)的操作的流程圖;圖8是示出根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的FTL操作的流程圖;圖9是示出根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的存儲器系統(tǒng)的框圖;圖10是示出根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的融合存儲器(fusion memory system)系統(tǒng)的框圖;圖11是示出根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的計(jì)算機(jī)系統(tǒng)的框圖。
具體實(shí)施例方式本發(fā)明構(gòu)思的示例性實(shí)施例采用閃存轉(zhuǎn)換層(FTL),該閃存轉(zhuǎn)換層產(chǎn)生確認(rèn)標(biāo)志, 所述確認(rèn)標(biāo)志指示將請求寫入的數(shù)據(jù)寫入到非易失性存儲裝置的寫入的完成。確認(rèn)標(biāo)志用 于恢復(fù)(recover)在寫入操作期間導(dǎo)致的因不正常的停電而損壞的數(shù)據(jù)。確認(rèn)標(biāo)志包括存 儲在非易失性存儲裝置中的信息,以指示是否已經(jīng)成功地完成了從文件系統(tǒng)請求的寫入操作。FTL可以基于確認(rèn)標(biāo)志的存在來判斷是否已經(jīng)成功地記錄了數(shù)據(jù)。雖然本發(fā)明構(gòu)思的 示例性實(shí)施例可以采用任意的文件系統(tǒng),但是為了便于描述,將采用FAT32作為示例性文 件系統(tǒng)。圖1是示出將閃速存儲器用作存儲介質(zhì)的計(jì)算機(jī)系統(tǒng)的文件系統(tǒng)架構(gòu)的框圖。參 照圖1,閃速存儲器文件系統(tǒng)包括應(yīng)用程序10、用于生成并管理文件的文件系統(tǒng)20、閃存轉(zhuǎn) 換層30??梢越?jīng)這樣的層10、20、30來進(jìn)行對非易失性存儲裝置40的存取。應(yīng)用程序10可以為安裝在系統(tǒng)上的用于特定目的的程序。文件系統(tǒng)20根據(jù)應(yīng)用 程序10來生成并存儲文件。文件系統(tǒng)20被定義為用于分級地存儲、搜索、存取、處理數(shù)據(jù)庫 的一組抽象的數(shù)據(jù)庫結(jié)構(gòu)。文件系統(tǒng)20將用戶數(shù)據(jù)提供給用戶,并為每個(gè)文件的用戶數(shù)據(jù) 關(guān)聯(lián)具有控制信息的元數(shù)據(jù)。閃存轉(zhuǎn)換層30響應(yīng)于來自文件系統(tǒng)20的(按扇區(qū)單位進(jìn)行 命名的)存取請求進(jìn)行操作,并按非易失性存儲裝置40的(按塊或頁的單位進(jìn)行命名的) 存取單位執(zhí)行寫入或讀取操作。如上所述,通過文件系統(tǒng)20管理的數(shù)據(jù)可以被分為用戶數(shù)據(jù)和用于管理用戶數(shù) 據(jù)的元數(shù)據(jù)。用戶數(shù)據(jù)包括由應(yīng)用程序10或用戶請求寫入的數(shù)據(jù)。為了根據(jù)寫入請求來 制作一個(gè)文件,可以記錄有元數(shù)據(jù),諸如用于恢復(fù)(restoration)的邏輯信息、FAT表、目錄 項(xiàng)等。文件系統(tǒng)20制作文件并按文件單位將用戶數(shù)據(jù)和元數(shù)據(jù)發(fā)送到閃存轉(zhuǎn)換層30,從而 被使用戶數(shù)據(jù)和元數(shù)據(jù)被記錄在非易失性存儲裝置40中。閃存轉(zhuǎn)換層30將與用戶數(shù)據(jù)和 元數(shù)據(jù)一起發(fā)送的邏輯地址轉(zhuǎn)換為物理地址,并將用戶數(shù)據(jù)和元數(shù)據(jù)寫入在非易失性存儲 裝置40中。閃存轉(zhuǎn)換層30的存取單位可以為頁或塊。在將存取單位的數(shù)據(jù)寫入在非易失 性存儲裝置40之后,閃存轉(zhuǎn)換層30將確認(rèn)標(biāo)志記錄在非易失性存儲裝置40中。與記錄在 非易失性存儲裝置40中的數(shù)據(jù)對應(yīng)的確認(rèn)標(biāo)志可以被用作用于恢復(fù)(recover)頁、扇區(qū)或 特定大小的數(shù)據(jù)的信息。例如,在編程操作期間出現(xiàn)停電的情況下,包括確認(rèn)標(biāo)志的被編程 的數(shù)據(jù)在恢復(fù)(recovery)流程時(shí)可以被判斷為有效數(shù)據(jù)。閃存轉(zhuǎn)換層30寫入確認(rèn)標(biāo)志, 這不是與所有的寫入請求有關(guān),而是針對文件系統(tǒng)20分配的數(shù)據(jù)單位的寫入請求有關(guān)。根 據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的存儲器系統(tǒng)可以根據(jù)如上所述的寫入確認(rèn)標(biāo)志的方式來 減少寫入操作的開銷(overhead)。圖2是示出由文件系統(tǒng)控制的閃存轉(zhuǎn)換層的確認(rèn)標(biāo)志的寫入時(shí)序的示圖。參照圖 2,將分別描述在非易失性存儲裝置40中編入文件的程序步驟。步驟(a)示出來自用戶或應(yīng)用程序的文件寫入請求。假設(shè)從應(yīng)用程序或用戶請求 寫入的文件由用戶數(shù)據(jù)110組成。文件系統(tǒng)20打開請求寫入的文件并在完成請求的寫入 操作之后關(guān)閉所述文件。打開的文件可以為在非易失性存儲裝置40中先前存在的文件或 者最新分配的文件。指示文件系統(tǒng)20在非易失性存儲裝置40中安全地記錄請求寫入的文 件。在步驟(b)中,文件系統(tǒng)20將文件名和文件大小分配給請求寫入的文件100。具 體地講,文件系統(tǒng)20從用戶數(shù)據(jù)110生成多個(gè)元數(shù)據(jù)120和130以管理并控制文件。例如, 元數(shù)據(jù)120和130可以包括用于用戶數(shù)據(jù)110的控制信息、停電時(shí)需要的恢復(fù)(recovery) fn息等。在步驟(c)中,文件系統(tǒng)20將寫入請求發(fā)送到閃存轉(zhuǎn)換層30。文件系統(tǒng)20針對 元數(shù)據(jù)120和130中的每個(gè)元數(shù)據(jù)的寫入請求將用于確認(rèn)標(biāo)志150和160中的每個(gè)確認(rèn)標(biāo)志的一個(gè)寫入請求發(fā)送到閃存轉(zhuǎn)換層30。此外,文件系統(tǒng)20針對用戶數(shù)據(jù)110將用于確認(rèn) 標(biāo)志140的一個(gè)寫入請求發(fā)送到閃存轉(zhuǎn)換層30。雖然用戶數(shù)據(jù)110的文件大小很大,但是 文件系統(tǒng)20針對請求寫入的用戶數(shù)據(jù)110分配確認(rèn)標(biāo)志的一個(gè)寫入請求。在步驟(d)中,示出了非易失性存儲裝置的寫入操作。閃存轉(zhuǎn)換層30根據(jù)文件系 統(tǒng)20的請求來控制寫入操作。如果從文件系統(tǒng)20請求寫入的用戶數(shù)據(jù)110的文件大小大 于非易失性存儲裝置40的處理單位(transaction unit),則用戶數(shù)據(jù)110可以經(jīng)多次處理 而被編入在非易失性存儲裝置40中。如果完成了大小相對小的元數(shù)據(jù)120的編程,則編入 與元數(shù)據(jù)120對應(yīng)的確認(rèn)標(biāo)志150。當(dāng)元數(shù)據(jù)130的編程結(jié)束時(shí),編入與元數(shù)據(jù)130對應(yīng)的 確認(rèn)標(biāo)志160。經(jīng)多次處理將用戶數(shù)據(jù)發(fā)送到閃存轉(zhuǎn)換層30。例如,完整的用戶數(shù)據(jù)200 可以按處理單位被劃分成多個(gè)子用戶數(shù)據(jù)210、220、230,并可以從文件系統(tǒng)20傳輸?shù)介W存 轉(zhuǎn)換層30。在用于子用戶數(shù)據(jù)210的寫入請求時(shí),文件系統(tǒng)20沒有指令寫入確認(rèn)標(biāo)志。同 樣地,在用于子用戶數(shù)據(jù)220的寫入請求時(shí),文件系統(tǒng)20沒有指示確認(rèn)標(biāo)志的寫入。另一 方面,在用于請求寫入的用戶數(shù)據(jù)110中的最后的子用戶數(shù)據(jù)220的寫入請求時(shí),文件系統(tǒng) 20指示閃存轉(zhuǎn)換層寫入確認(rèn)標(biāo)志140。因此,閃存轉(zhuǎn)換層30針對一個(gè)用戶數(shù)據(jù)200記錄一 次確認(rèn)標(biāo)志240。在本發(fā)明構(gòu)思的示例性實(shí)施例的存儲器系統(tǒng)中,因?yàn)橛晌募到y(tǒng)20管理確認(rèn)標(biāo) 志的寫入,所以防止了在沒有正確地寫入數(shù)據(jù)時(shí)閃存轉(zhuǎn)換層30記錄確認(rèn)標(biāo)志。因此,可以 防止在文件系統(tǒng)20中沒有關(guān)閉打開的文件時(shí)生成無效文件。圖3是示出根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的在非易失性存儲裝置中記錄文件 的示圖。參照圖3,文件系統(tǒng)20從請求寫入的用戶數(shù)據(jù)生成元數(shù)據(jù)。元數(shù)據(jù)300可以包括 日志(log)信息320、FAT表330、目錄項(xiàng)340等。文件系統(tǒng)20在請求日志信息320的寫入 時(shí)向閃存轉(zhuǎn)換層30指示日志信息確認(rèn)標(biāo)志360的寫入。文件系統(tǒng)20在FAT表330的寫入 請求時(shí)向閃存轉(zhuǎn)換層30指示FAT表確認(rèn)標(biāo)志370的寫入。文件系統(tǒng)20在目錄項(xiàng)340的寫 入請求時(shí)向閃存轉(zhuǎn)換層30指示目錄項(xiàng)確認(rèn)標(biāo)志380的寫入。文件系統(tǒng)20向閃存轉(zhuǎn)換層30 發(fā)出寫入請求,從而記錄完整的用戶數(shù)據(jù)310的多個(gè)子用戶數(shù)據(jù)311、312、313,并在最后的 子用戶數(shù)據(jù)313之后最終一次記錄確認(rèn)標(biāo)志350。子用戶數(shù)據(jù)311、312、313中的每個(gè)子用 戶數(shù)據(jù)與文件系統(tǒng)20和閃存轉(zhuǎn)換層30之間的一次處理量對應(yīng)。文件系統(tǒng)20指令閃存轉(zhuǎn) 換層30在記錄最后請求寫入的子用戶數(shù)據(jù)313的時(shí)間點(diǎn)記錄確認(rèn)標(biāo)志350。因?yàn)槲募到y(tǒng)確定確認(rèn)標(biāo)志的寫入,所以在下層獨(dú)立地執(zhí)行的數(shù)據(jù)保護(hù)操作被交 給上層。諸如閃存轉(zhuǎn)換層30的下層在用于一個(gè)文件的寫入請求時(shí)不識別按處理單位傳輸 的數(shù)據(jù)的重要性級別和價(jià)值。因此,下層按相同的權(quán)重管理所有的數(shù)據(jù),這成為會限制存儲 器系統(tǒng)的速度的因素。然而,可以通過將數(shù)據(jù)保護(hù)操作的一部分交給確定構(gòu)成文件的數(shù)據(jù) 的重要性級別的上層來減少數(shù)據(jù)寫入次數(shù)。因此,如上所述,可以減少確認(rèn)標(biāo)志的寫入次 數(shù)。圖4是示出根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的FTL和文件系統(tǒng)之間的接口關(guān)系 400的框圖。參照圖4,示出有文件系統(tǒng)410的寫入請求和閃存轉(zhuǎn)換層430的與所述寫入請 求對應(yīng)的響應(yīng)。如果成功地完成了文件的生成,則文件系統(tǒng)410向閃存轉(zhuǎn)換層430請求根據(jù)文件 的生成而產(chǎn)生的用于用戶數(shù)據(jù)或元數(shù)據(jù)的寫入操作。在寫入請求時(shí),文件系統(tǒng)410向閃存轉(zhuǎn)換層30請求當(dāng)前可用的開始扇區(qū)號和扇區(qū)計(jì)數(shù)。通過在閃存轉(zhuǎn)換層430的位置中的一 次處理來處理一個(gè)寫入請求。文件系統(tǒng)410參照從閃存轉(zhuǎn)換層30提供的開始扇區(qū)號和扇 區(qū)計(jì)數(shù),以指令是否寫入經(jīng)一次處理提供的數(shù)據(jù)和確認(rèn)標(biāo)志。在用于元數(shù)據(jù)的寫入操作時(shí), 文件系統(tǒng)410參照來自閃存轉(zhuǎn)換層430的開始扇區(qū)號和扇區(qū)計(jì)數(shù)經(jīng)接口單元420指令閃存 轉(zhuǎn)換層430寫入元數(shù)據(jù)和確認(rèn)標(biāo)志。因此,文件系統(tǒng)410參照來自閃存轉(zhuǎn)換層430的開始 扇區(qū)號和扇區(qū)計(jì)數(shù),并指令閃存轉(zhuǎn)換層430向與日志信息、FAT表、目錄項(xiàng)中的每個(gè)對應(yīng)的 數(shù)據(jù)寫入確認(rèn)標(biāo)志。然而,在用戶數(shù)據(jù)的寫入請求時(shí),文件系統(tǒng)410參照來自閃存轉(zhuǎn)換層 430的開始扇區(qū)號和扇區(qū)計(jì)數(shù),并指令閃存轉(zhuǎn)換層430寫入每個(gè)分開的子用戶數(shù)據(jù)以及在 記錄最后的子用戶數(shù)據(jù)的處理時(shí)記錄的確認(rèn)標(biāo)志。如將在下面描述的,雖然子用戶數(shù)據(jù)不 是最后的子用戶數(shù)據(jù),但是當(dāng)在記錄有子用戶數(shù)據(jù)的一部分的邏輯塊之后的邏輯塊處記錄 子用戶數(shù)據(jù)時(shí),可以記錄確認(rèn)標(biāo)志。假設(shè)在完成寫入操作之前填充塊。在這樣的情況下,雖 然當(dāng)前的處理不是用戶數(shù)據(jù)的最后的處理,但是在填充的塊處記錄確認(rèn)標(biāo)志以保護(hù)當(dāng)前記 錄的信息。即,當(dāng)一組子用戶數(shù)據(jù)中的子用戶數(shù)據(jù)被部分地記錄在兩個(gè)邏輯塊中時(shí),文件系 統(tǒng)410指令閃存轉(zhuǎn)換層430在將所述部分地記錄的子用戶數(shù)據(jù)的一部分記錄在記錄有至少 一個(gè)子用戶數(shù)據(jù)的邏輯塊之后的邏輯塊中之后寫入確認(rèn)標(biāo)志。閃存轉(zhuǎn)換層430向接口單元420提供用于從文件系統(tǒng)410接收指示是否寫入確認(rèn) 標(biāo)志的信息的函數(shù)。如圖4中所示,為了得到用于從文件系統(tǒng)410提供的寫入請求的信息, 閃存轉(zhuǎn)換層430提供寫入函數(shù)FTL_Write()。寫入函數(shù)FTL_Write ()中的參數(shù)可以包括由 文件系統(tǒng)410請求的開始扇區(qū)號、扇區(qū)計(jì)數(shù)、用于存儲數(shù)據(jù)的緩沖地址等。另外,寫入函數(shù) FTL_ffrite()中的參數(shù)還可以包括用于請求是否針對請求寫入的數(shù)據(jù)寫入確認(rèn)標(biāo)志的變 量。接收是否寫入確認(rèn)標(biāo)志的閃存轉(zhuǎn)換層430響應(yīng)于用于請求是否寫入確認(rèn)標(biāo)志的變量來 記錄或跳過用于對應(yīng)的處理的確認(rèn)標(biāo)志。圖5是示出圖4中描述的寫入函數(shù)FTL_Write()的參數(shù)配置的表。參照圖5,閃存 轉(zhuǎn)換層430發(fā)送下面的寫入函數(shù),以從文件系統(tǒng)410接收是否寫入確認(rèn)標(biāo)志。FTL_Write (Lsn, nSectorCount, pBuffer, Attr)參數(shù)Lsn表示在對應(yīng)的處理時(shí)用于用戶數(shù)據(jù)或元數(shù)據(jù)的寫入開始扇區(qū)的地址。參 數(shù)nSectorCount表示用于記錄請求寫入的數(shù)據(jù)的扇區(qū)計(jì)數(shù)。參數(shù)pBuffer表示請求寫入 的數(shù)據(jù)將被存儲的緩存地址。參數(shù)Attr用于將確認(rèn)標(biāo)志的寫入時(shí)間點(diǎn)的判斷交給文件系 統(tǒng)410。因此,參數(shù)Attr用于與文件系統(tǒng)410交換用于寫入操作的信息。圖6是示出根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的文件系統(tǒng)的寫入請求方法的流程 圖。將參照圖4和圖6來更充分地描述文件系統(tǒng)410的用于寫入一個(gè)文件的操作。如果從用戶或應(yīng)用程序請求文件寫入操作,則文件系統(tǒng)410開始將請求寫入的文 件記錄在非易失性存儲裝置中的寫入操作。在步驟SlO中,文件系統(tǒng)410打開請求寫入的文 件。在步驟S20中,文件系統(tǒng)410從打開的文件生成元數(shù)據(jù),從而生成將要被寫入的文件。 元數(shù)據(jù)可以包括日志信息、FAT表、目錄項(xiàng)等。文件系統(tǒng)410可以選擇構(gòu)成文件的一組數(shù)據(jù) 中的一個(gè)數(shù)據(jù),以請求用于生成的文件的寫入操作。例如,在步驟S30中,文件系統(tǒng)410可 以選擇用戶數(shù)據(jù)和諸如日志信息、FAT表、目錄項(xiàng)的元數(shù)據(jù)中的一個(gè)數(shù)據(jù)。在步驟S40中, 文件系統(tǒng)410確定選擇的數(shù)據(jù)的屬性,例如,類型。如果選擇的數(shù)據(jù)是元數(shù)據(jù),則保護(hù)根據(jù) 每個(gè)函數(shù)生成的每個(gè)元數(shù)據(jù)。因此,在步驟S50中,文件系統(tǒng)410在請求用于選擇的處理單
8位的每個(gè)選擇的元數(shù)據(jù)的寫入操作時(shí)指令閃存轉(zhuǎn)換層430寫入確認(rèn)標(biāo)志。如果完成用于第 一選擇的元數(shù)據(jù)的請求的寫入操作,則在步驟S60中,文件系統(tǒng)410可以選擇構(gòu)成生成的文 件的一組數(shù)據(jù)中的一個(gè)數(shù)據(jù),以請求下一寫入操作。文件系統(tǒng)410返回步驟S40,其中,確定 數(shù)據(jù)類型,用于下一選擇的數(shù)據(jù)的寫入操作。在步驟S40中,如果選擇的數(shù)據(jù)的數(shù)據(jù)類型為用戶數(shù)據(jù),則流程前進(jìn)至步驟S70, 其中,請求用于用戶數(shù)據(jù)的寫入操作。在用戶數(shù)據(jù)的最后的寫入請求時(shí)記錄確認(rèn)標(biāo)志。因 此,在步驟S70中,判斷選擇的用戶數(shù)據(jù)是否是被請求寫入的最后的子用戶數(shù)據(jù)。如果選擇 的用戶數(shù)據(jù)不是被請求寫入的最后的子用戶數(shù)據(jù)(否,步驟S70),則在步驟S80中,文件系 統(tǒng)410指令閃存轉(zhuǎn)換層430寫入選擇的子用戶數(shù)據(jù)而不寫入確認(rèn)標(biāo)志,并在步驟S60中選 擇下一數(shù)據(jù)。重復(fù)不需要寫入確認(rèn)標(biāo)志的子用戶數(shù)據(jù)的寫入請求,直到請求用于最后的子 用戶數(shù)據(jù)的寫入操作(是,步驟S70)。在步驟S70中,當(dāng)判斷出選擇的子用戶數(shù)據(jù)是構(gòu)成請求寫入的文件的最后的子用 戶數(shù)據(jù)時(shí)(是,步驟S70),文件系統(tǒng)410指令閃存轉(zhuǎn)換層430寫入選擇的子用戶數(shù)據(jù)和與 選擇的子用戶數(shù)據(jù)對應(yīng)的確認(rèn)標(biāo)志。如果完成了用于選擇的子用戶數(shù)據(jù)和與選擇的子用戶 數(shù)據(jù)對應(yīng)的確認(rèn)標(biāo)志的寫入操作,則文件系統(tǒng)410的文件寫入操作結(jié)束。因此,在步驟S90 中,文件系統(tǒng)410關(guān)閉打開的文件。上面描述的是本發(fā)明構(gòu)思的示例性實(shí)施例,其中,元數(shù)據(jù)的寫入請求在用戶數(shù)據(jù) 的寫入請求之前。然而,本發(fā)明構(gòu)思不限于此。例如,可以改變元數(shù)據(jù)和用戶數(shù)據(jù)的寫入請 求的順序。此外,用戶數(shù)據(jù)的寫入請求可以在一次處理內(nèi)完成。即,閃存轉(zhuǎn)換層430在用戶 數(shù)據(jù)的寫入請求時(shí)被指令一次寫入所述確認(rèn)標(biāo)志而不管所述用戶數(shù)據(jù)的大小如何。上面描 述的是本發(fā)明構(gòu)思的示例性實(shí)施例,其中,在一次處理內(nèi)進(jìn)行用于一組元數(shù)據(jù)的寫入請求。 然而,可以經(jīng)多次處理來進(jìn)行一個(gè)元數(shù)據(jù)的寫入請求。在這樣的情況下,可以在每次寫入請 求時(shí)通過寫入確認(rèn)標(biāo)志來保護(hù)元數(shù)據(jù)。例如,在經(jīng)兩次處理來兩次請求日志信息的寫入操 作的情況下,與用戶數(shù)據(jù)不同,文件系統(tǒng)410可以被配置為針對兩次寫入請求中的每次寫 入請求寫入確認(rèn)標(biāo)志。S卩,當(dāng)一組元數(shù)據(jù)中的元數(shù)據(jù)被部分地記錄在兩個(gè)邏輯塊中時(shí),文件 系統(tǒng)410指令閃存轉(zhuǎn)換層430在將所述部分地記錄的元數(shù)據(jù)的一部分記錄在記錄有至少一 個(gè)元數(shù)據(jù)的邏輯塊之后的邏輯塊中之后寫入確認(rèn)標(biāo)志。圖7是示出根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的文件系統(tǒng)的寫入請求方法的流程 圖。如果從用戶或應(yīng)用程序請求文件寫入操作,則文件系統(tǒng)410開始將請求寫入的文 件記錄在非易失性存儲裝置中的寫入操作。在步驟SllO中,文件系統(tǒng)410打開請求寫入的 文件。在步驟S120中,文件系統(tǒng)410生成用于打開的文件的元數(shù)據(jù),從而生成將要被寫入 的文件。例如,元數(shù)據(jù)可以包括日志信息、FAT表、目錄項(xiàng)等。文件系統(tǒng)410可以選擇構(gòu)成文 件的數(shù)據(jù),并可以請求用于生成的文件的寫入操作。例如,在步驟S130中,文件系統(tǒng)410可 以選擇用戶數(shù)據(jù)和諸如日志信息、FAT表、目錄項(xiàng)的元數(shù)據(jù)中的一個(gè)數(shù)據(jù)。在步驟S140中, 文件系統(tǒng)410確定選擇的數(shù)據(jù)的類型。如果選擇的數(shù)據(jù)是元數(shù)據(jù),則保護(hù)根據(jù)每個(gè)函數(shù)生 成的每個(gè)元數(shù)據(jù)。因此,在步驟S150中,文件系統(tǒng)410在請求用于選擇的處理單位的每個(gè) 選擇的元數(shù)據(jù)的寫入操作時(shí)指令閃存轉(zhuǎn)換層430寫入確認(rèn)標(biāo)志。如果完成用于第一選擇的 元數(shù)據(jù)的請求的寫入操作,則在步驟S160中,文件系統(tǒng)410可以選擇構(gòu)成生成的數(shù)據(jù)的數(shù)據(jù),以請求下一寫入操作。文件系統(tǒng)410返回步驟S140,其中,確定數(shù)據(jù)類型,以請求下一數(shù) 據(jù)的寫入操作來。在步驟S140中,如果選擇一組用戶數(shù)據(jù)中的一個(gè)數(shù)據(jù),則流程前進(jìn)至步驟S170, 其中,請求用于用戶數(shù)據(jù)的寫入操作。在用戶數(shù)據(jù)的最后的寫入請求時(shí)記錄確認(rèn)標(biāo)志。因 此,在步驟S170中,確定選擇的用戶數(shù)據(jù)是否是被請求寫入的最后的子用戶數(shù)據(jù)。在步驟 S170中,如果確定選擇的子用戶數(shù)據(jù)是構(gòu)成被請求寫入的文件的最后的子用戶數(shù)據(jù)(是, 步驟S70),則文件系統(tǒng)410指令閃存轉(zhuǎn)換層430寫入選擇的子用戶數(shù)據(jù)和與選擇的子用戶 數(shù)據(jù)對應(yīng)的確認(rèn)標(biāo)志。如果完成了用于選擇的子用戶數(shù)據(jù)和與選擇的子用戶數(shù)據(jù)對應(yīng)的確 認(rèn)標(biāo)志的寫入操作,則文件系統(tǒng)410的文件寫入操作結(jié)束。因此,在步驟S190中,文件系統(tǒng) 410關(guān)閉打開的文件。另一方面,如果選擇的用戶數(shù)據(jù)不是被請求寫入的最后的子用戶數(shù)據(jù)(否,步驟 S170),則在步驟S175中,文件系統(tǒng)410確定是否將選擇的用戶數(shù)據(jù)分配到請求寫入的邏輯 塊的邊界區(qū)域。當(dāng)邏輯塊的記錄選擇的子用戶數(shù)據(jù)的存儲區(qū)域不足(是,步驟S175)時(shí), 可以在請求將子用戶數(shù)據(jù)寫入到一個(gè)邏輯塊時(shí)通過記錄確認(rèn)標(biāo)志來保護(hù)記錄的數(shù)據(jù)(步 驟S150)。但是,在可以將請求寫入的子用戶數(shù)據(jù)記錄在一個(gè)邏輯塊內(nèi)的情況下(否,步驟 S175),在步驟S180中,文件系統(tǒng)410指令閃存轉(zhuǎn)換層430寫入選擇的子用戶數(shù)據(jù)而不寫入 確認(rèn)標(biāo)志(步驟S180)。對于下一數(shù)據(jù)重復(fù)用于不需要寫入確認(rèn)標(biāo)志的子用戶數(shù)據(jù)的寫入 請求(步驟S160),直到請求用于最后的子用戶數(shù)據(jù)的寫入操作(是,步驟S170)。上面描述的是本發(fā)明構(gòu)思的一個(gè)示例性實(shí)施例,其中,元數(shù)據(jù)的寫入請求在用戶 數(shù)據(jù)的寫入請求之前。然而,本發(fā)明構(gòu)思不限于此。例如,可以改變元數(shù)據(jù)和用戶數(shù)據(jù)的寫 入請求的順序。此外,用戶數(shù)據(jù)的寫入請求可以在一次處理內(nèi)完成。上面描述的是本發(fā)明 構(gòu)思的一個(gè)示例性實(shí)施例,其中,在一次處理內(nèi)進(jìn)行用于一組元數(shù)據(jù)的寫入請求。然而,可 以經(jīng)多次處理來進(jìn)行一個(gè)元數(shù)據(jù)的寫入請求。在這樣的情況下,可以在每次寫入請求時(shí)通 過寫入確認(rèn)標(biāo)志來保護(hù)元數(shù)據(jù)。例如,在經(jīng)兩次處理來兩次請求日志信息的寫入操作的情 況下,與用戶數(shù)據(jù)不同,文件系統(tǒng)410可以被配置為針對兩次寫入請求中的每次寫入請求 寫入確認(rèn)標(biāo)志。圖8是示出閃存轉(zhuǎn)換層的根據(jù)文件系統(tǒng)的寫入請求而執(zhí)行的操作的流程圖。在圖 8中,示出有根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的閃存轉(zhuǎn)換層430的操作流程,其中,基于文 件系統(tǒng)410的指令來確定是否寫入確認(rèn)標(biāo)志。當(dāng)從文件系統(tǒng)410請求寫入操作時(shí),閃存轉(zhuǎn)換層430的根據(jù)來自文件系統(tǒng)410的 請求的寫入操作開始。在步驟S210中,閃存轉(zhuǎn)換層430監(jiān)視是否經(jīng)接口單元420接收了來 自文件系統(tǒng)410的寫入請求。在檢測到寫入請求的情況下,例如,可以將如上面參照圖5所 描述的寫入函數(shù) FTL_Write (Lsn,nSectorCount, pBuffer, Attr)發(fā)送到接 口單元 420???以將指示從文件系統(tǒng)410請求的寫入操作是否與確認(rèn)標(biāo)志的寫入一起的信息提供到閃存 轉(zhuǎn)換層430,作為參數(shù)Attr的響應(yīng)。閃存轉(zhuǎn)換層430參照參數(shù)Attr來確定是否在寫入請求的數(shù)據(jù)之后寫入確認(rèn)標(biāo)志 (步驟S220)。如果經(jīng)參數(shù)Attr提供的信息包括指令寫入確認(rèn)標(biāo)志的信息(是,步驟S220), 則流程前進(jìn)至步驟S230,其中,閃存轉(zhuǎn)換層430將請求寫入的數(shù)據(jù)記錄在非易失性存儲裝 置中。在此之后,在步驟S240中,閃存轉(zhuǎn)換層430將用于保護(hù)請求寫入的數(shù)據(jù)的確認(rèn)標(biāo)志記錄在非易失性存儲裝置的指定的存儲區(qū)域中。另一方面,在經(jīng)參數(shù)Attr提供的信息沒有包括指令寫入確認(rèn)標(biāo)志的信息的情況 下(否,步驟S220),在步驟S250中,閃存轉(zhuǎn)換層430僅將請求寫入的數(shù)據(jù)記錄在非易失性 存儲裝置中。當(dāng)完成伴隨有確認(rèn)標(biāo)志寫入的數(shù)據(jù)寫入請求時(shí)或者完成未伴隨有確認(rèn)標(biāo)志寫 入的數(shù)據(jù)寫入請求時(shí),閃存轉(zhuǎn)換層430響應(yīng)于寫入請求而執(zhí)行的寫入操作結(jié)束。根據(jù)上述的本發(fā)明構(gòu)思的示例性實(shí)施例,對是否由閃存轉(zhuǎn)換層430寫入確認(rèn)標(biāo)志 的確定依賴于文件系統(tǒng)410的指令。閃存轉(zhuǎn)換層430不知道構(gòu)成文件的數(shù)據(jù)的重要性級別。 例如,在請求用于在諸如停電的嚴(yán)重錯(cuò)誤時(shí)恢復(fù)(recover)數(shù)據(jù)的元數(shù)據(jù)的寫入操作的情 況下,文件系統(tǒng)層指令寫入用于保護(hù)這樣的數(shù)據(jù)的確認(rèn)標(biāo)志。此外,可以通過使與文件元素 (諸如用戶數(shù)據(jù))相關(guān)的確認(rèn)標(biāo)志的寫入操作最少化來提高寫入性能。圖9是示出通過文件系統(tǒng)FS和閃存轉(zhuǎn)換層FTL執(zhí)行寫入操作的存儲器系統(tǒng)500的 框圖。參照圖9,存儲器系統(tǒng)500可以包括執(zhí)行文件系統(tǒng)FS的主機(jī)510、存儲器控制器520、 非易失性存儲裝置530。存儲器控制器520可以被配置為控制非易失性存儲裝置530。存 儲器控制器520和非易失性存儲裝置530可以形成存儲卡或固態(tài)驅(qū)動器(SSD)。主機(jī)510可以由驅(qū)動本發(fā)明的文件系統(tǒng)FS的信息處理系統(tǒng)形成。可以根據(jù)用戶 的經(jīng)用戶接口的請求或根據(jù)應(yīng)用程序的請求來進(jìn)行主機(jī)510的寫入請求。當(dāng)進(jìn)行寫入請求 時(shí),文件系統(tǒng)FS根據(jù)構(gòu)成文件的數(shù)據(jù)的重要性級別將數(shù)據(jù)分類并確定是否寫入確認(rèn)標(biāo)志。 文件系統(tǒng)FS在向安裝在存儲器控制器520上的閃存轉(zhuǎn)換層請求文件的寫入時(shí)根據(jù)重要性 級別指令是否寫入確認(rèn)標(biāo)志。存儲器控制器520響應(yīng)于來自文件系統(tǒng)FS的數(shù)據(jù)和確認(rèn)標(biāo)志的寫入請求而將數(shù) 據(jù)記錄在非易失性存儲裝置530中。SRAM 521被用作處理單元522的工作存儲器。主機(jī)接 口 523包括用于與主機(jī)510進(jìn)行數(shù)據(jù)交換的協(xié)議。ECC框524檢測并校正從非易失性存儲 裝置530讀取的數(shù)據(jù)中的錯(cuò)誤。存儲器接口 525與非易失性存儲裝置530接口連接。處理 單元522(例如,CPU)進(jìn)行用于存儲器控制器520的數(shù)據(jù)交換的總體控制操作。雖然在圖9 中沒有示出,但是存儲器系統(tǒng)500還包括用于存儲代碼數(shù)據(jù)并與主機(jī)510接口連接的ROM。 非易失性存儲裝置530可以由包括多個(gè)閃速存儲器芯片的多芯片封裝件形成。存儲器系統(tǒng)500可以在來自主機(jī)510的寫入請求時(shí)以高速將數(shù)據(jù)寫入在非易失性 存儲裝置530中。因此,存儲器系統(tǒng)500可以以低成本被提供為具有高密度和高可靠性的 存儲介質(zhì)。具體地講,根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的文件系統(tǒng)FS和閃存轉(zhuǎn)換層FTL可 以安裝在諸如固態(tài)驅(qū)動器(SSD)的存儲器系統(tǒng)上。在這樣的情況下,存儲器控制器520可 以被配置為經(jīng)諸如以USB、MMC、PCI-E、SATA, PATA, SCSI、ESDI、IDE等為例的接口協(xié)議與外 部(例如,主機(jī))通信。此外,上面描述了本發(fā)明構(gòu)思的示例性實(shí)施例,其中,主機(jī)510和存 儲器控制器520被作為分別驅(qū)動文件系統(tǒng)FS和閃存轉(zhuǎn)換層FTL的裝置是分開的。但是,本 發(fā)明構(gòu)思不限于此。文件系統(tǒng)FS和閃存轉(zhuǎn)換層FTL的驅(qū)動不限于此。在非易失性存儲裝置的情況下,閃速存儲裝置即使在停電時(shí)也可以保持存儲的數(shù) 據(jù)。隨著諸如蜂窩電話、PDA、數(shù)字相機(jī)、便攜式游戲控制器、MP3播放器的移動裝置的使用 的增加,閃速存儲裝置不僅被廣泛地用作數(shù)據(jù)存儲裝置,而且被廣泛地用作代碼存儲裝置。 閃速存儲裝置可以應(yīng)用于諸如HDTV、DVD、路由器、GPS等的家用電器。圖10是示出通過文件系統(tǒng)FS和閃存轉(zhuǎn)換層FTL執(zhí)行寫入操作的融合存儲器系統(tǒng)600的框圖。例如,本發(fā)明構(gòu)思的示例性實(shí)施例可以作為融合存儲裝置而應(yīng)用于Samsung Electronics, Ltd.(三星電子有限公司)銷售的OneNAND閃速存儲裝置620。參照圖10, 主機(jī)610可以由驅(qū)動根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的文件系統(tǒng)FS的信息處理系統(tǒng)形成。主機(jī)610根據(jù)用戶的經(jīng)用戶接口(未示出)的請求或應(yīng)用程序的請求而請求寫入 操作。當(dāng)請求寫入操作時(shí),文件系統(tǒng)FS根據(jù)構(gòu)成文件的數(shù)據(jù)的重要性級別來將數(shù)據(jù)分類, 并確定是否寫入確認(rèn)標(biāo)志。文件系統(tǒng)FS在向安裝在OneNAND閃速存儲裝置620上的閃存 轉(zhuǎn)換層FTL請求文件的寫入時(shí)根據(jù)重要性級別來指令是否寫入確認(rèn)標(biāo)志。OneNAND閃速存儲裝置620包括主機(jī)接口 621,用于利用不同的協(xié)議與裝置交換 各種信息;緩沖RAM 622,用于存儲用于驅(qū)動存儲裝置的代碼或臨時(shí)存儲數(shù)據(jù);控制器623, 用于響應(yīng)于外部提供的控制信號和命令來控制總體操作;寄存器624,用于存儲命令、地址 和限定存儲裝置的系統(tǒng)操作環(huán)境的配置;NAND閃存單元陣列625,由非易失性存儲單元和 頁緩沖器形成。如上面參照圖9描述的,在上面利用這樣的示例來描述本發(fā)明構(gòu)思的示例 性實(shí)施例,即,主機(jī)610和OneNAND閃速存儲裝置620作為分別驅(qū)動文件系統(tǒng)FS和閃存轉(zhuǎn) 換層FTL的裝置是分開的。但是,本發(fā)明構(gòu)思不限于此。文件系統(tǒng)FS和閃存轉(zhuǎn)換層FTL的 驅(qū)動不限于此。圖11是示出根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的執(zhí)行寫入操作的計(jì)算機(jī)系統(tǒng)700 的框圖。計(jì)算機(jī)系統(tǒng)700包括均連接到系統(tǒng)總線760的處理單元(例如,CPU) 720、RAM 730、用戶接口 740、諸如基帶芯片組的調(diào)制解調(diào)器750、存儲器系統(tǒng)710。存儲器系統(tǒng)710可 以被配置為與上面參照圖9和/或圖10中描述的存儲器系統(tǒng)類似。例如,存儲器系統(tǒng)710 可以包括存儲器控制器711和非易失性存儲器712。在根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例的 計(jì)算機(jī)系統(tǒng)是移動裝置時(shí),在計(jì)算機(jī)系統(tǒng)700中還包括電池(未示出),以向計(jì)算機(jī)系統(tǒng) 700提供操作電壓。雖然沒有在圖11中示出,但是計(jì)算機(jī)系統(tǒng)700還包括應(yīng)用程序芯片組、 相機(jī)圖像處理器(CIS)、移動DRAM等。存儲器系統(tǒng)710可以為例如使用非易失性存儲器以 存儲數(shù)據(jù)的SDD。此外,存儲器系統(tǒng)710可以被替換為融合閃速存儲器(例如,OneNAND閃 速存儲器)。根據(jù)本發(fā)明構(gòu)思的示例性實(shí)施例,可以利用各種封裝件來封裝閃速存儲裝置和 /或存儲器控制器,各種封裝件諸如PoP(封裝件上封裝件)、球柵陣列(BGA)、芯片級封 裝件(CSP)、塑料引線芯片載體(PLCC)、塑料雙列封裝件(PDIP)、華夫封裝件中芯片(die in waffle pack)、晶片形式芯片(die in wafer form)、板上芯片(COB)、陶瓷雙列封裝件 (CERDIP)、塑料公制四方扁平封裝件(MQFP)、薄型四方扁平封裝件(TQFP)、小外形集成電 路(SOIC)、縮小外形封裝件(SSOP)、薄小外形封裝件(TSOP)、封裝件中系統(tǒng)(SIP)、多芯片 封裝件(MCP)、晶片級制造封裝件(WFP)、晶片級處理堆疊封裝件(WSP)等。上面公開的主題應(yīng)被視為示出性的而非限制性的。本發(fā)明構(gòu)思不應(yīng)該被理解為受 前述示例性實(shí)施例的約束或限制。
權(quán)利要求
一種用于對非易失性存儲裝置進(jìn)行存取的方法,所述方法包括如下步驟從主機(jī)接收用于數(shù)據(jù)的寫入請求;響應(yīng)于寫入請求將數(shù)據(jù)記錄在非易失性存儲裝置中;當(dāng)已經(jīng)成功地將數(shù)據(jù)記錄到非易失性存儲裝置時(shí),利用來自主機(jī)的指令將用于數(shù)據(jù)的確認(rèn)標(biāo)志寫入到非易失性存儲裝置,其中,主機(jī)通知是否記錄用于數(shù)據(jù)的確認(rèn)標(biāo)志。
2.如權(quán)利要求1所述的方法,其中,主機(jī)參照數(shù)據(jù)的屬性來指令閃存轉(zhuǎn)換層是否寫入 確認(rèn)標(biāo)志。
3.如權(quán)利要求2所述的方法,其中,當(dāng)數(shù)據(jù)是用戶數(shù)據(jù)時(shí),主機(jī)指令閃存轉(zhuǎn)換層一次寫 入確認(rèn)標(biāo)志。
4.如權(quán)利要求3所述的方法,其中,當(dāng)用戶數(shù)據(jù)的大小大于閃存轉(zhuǎn)換層的處理單位的 大小時(shí),主機(jī)在形成用戶數(shù)據(jù)的一組子用戶數(shù)據(jù)中的一個(gè)子用戶數(shù)據(jù)的寫入操作時(shí)請求用 于寫入確認(rèn)標(biāo)志的寫入操作,所述一個(gè)子用戶數(shù)據(jù)是發(fā)送到閃存轉(zhuǎn)換層的最后的子用戶數(shù) 據(jù)。
5.如權(quán)利要求4所述的方法,其中,當(dāng)所述一組子用戶數(shù)據(jù)中的子用戶數(shù)據(jù)被部分地 記錄在兩個(gè)邏輯塊中時(shí),主機(jī)指令閃存轉(zhuǎn)換層在將所述部分地記錄的子用戶數(shù)據(jù)的一部分 記錄在記錄有至少一個(gè)子用戶數(shù)據(jù)的邏輯塊之后的邏輯塊中之后寫入確認(rèn)標(biāo)志。
6.如權(quán)利要求2所述的方法,其中,當(dāng)數(shù)據(jù)是元數(shù)據(jù)時(shí),主機(jī)指令閃存轉(zhuǎn)換層在閃存轉(zhuǎn) 換層的每次處理之后寫入確認(rèn)標(biāo)志。
7.如權(quán)利要求6所述的方法,其中,元數(shù)據(jù)是日志信息、FAT表或目錄項(xiàng)。
8.如權(quán)利要求6所述的方法,其中,當(dāng)一組元數(shù)據(jù)中的元數(shù)據(jù)被部分地記錄在兩個(gè)邏 輯塊中時(shí),主機(jī)指令閃存轉(zhuǎn)換層在將所述部分地記錄的元數(shù)據(jù)的一部分記錄在記錄有至少 一個(gè)元數(shù)據(jù)的邏輯塊之后的邏輯塊中之后寫入確認(rèn)標(biāo)志。
9.如權(quán)利要求2所述的方法,其中,閃存轉(zhuǎn)換層向主機(jī)提供用于與文件系統(tǒng)交換信息 的寫入函數(shù),寫入函數(shù)包括表示是否寫入確認(rèn)標(biāo)志的參數(shù)。
10.一種用于對非易失性存儲裝置進(jìn)行存取的方法,所述方法包括如下步驟響應(yīng)于寫入請求來生成包括用戶數(shù)據(jù)和多個(gè)元數(shù)據(jù)的文件;請求閃存轉(zhuǎn)換層將用戶數(shù)據(jù)或所述多個(gè)元數(shù)據(jù)記錄到非易失性存儲裝置;根據(jù)用戶數(shù)據(jù)或所述多個(gè)元數(shù)據(jù)的屬性,通知是否經(jīng)閃存轉(zhuǎn)換層將確認(rèn)標(biāo)志寫入到非 易失性存儲裝置,其中,閃存轉(zhuǎn)換層根據(jù)是否記錄確認(rèn)標(biāo)志的通知來記錄用于用戶數(shù)據(jù)或所述多個(gè)元數(shù) 據(jù)的確認(rèn)標(biāo)志。
11.如權(quán)利要求10所述的進(jìn)行存取的方法,其中,通過主機(jī)的文件系統(tǒng)來執(zhí)行生成步 驟、請求步驟、通知步驟。
12.如權(quán)利要求11所述的進(jìn)行存取的方法,其中,閃存轉(zhuǎn)換層與文件系統(tǒng)用寫入函數(shù) 進(jìn)行交流,寫入函數(shù)包括用于表示是否寫入確認(rèn)標(biāo)志的參數(shù)。
13.一種存儲器系統(tǒng),包括非易失性存儲裝置,用于存儲從主機(jī)提供的文件;存儲器控制器,用于將主機(jī)的文件寫入請求轉(zhuǎn)換為用于非易失性存儲裝置的寫入請求,其中,存儲器控制器根據(jù)主機(jī)的指令來選擇性地將用于形成文件的多個(gè)數(shù)據(jù)中的每個(gè) 數(shù)據(jù)的確認(rèn)標(biāo)志記錄在非易失性存儲裝置中。
14.如權(quán)利要求13所述的存儲器系統(tǒng),其中,存儲器控制器包括閃存轉(zhuǎn)換層,閃存轉(zhuǎn)換 層將主機(jī)的文件寫入請求轉(zhuǎn)換為用于非易失性存儲裝置的寫入請求。
15.如權(quán)利要求13所述的存儲器系統(tǒng),其中,所述多個(gè)數(shù)據(jù)包括從文件生成的多個(gè)元 數(shù)據(jù)和用戶數(shù)據(jù)。
16.如權(quán)利要求15所述的存儲器系統(tǒng),其中,存儲器控制器在所述多個(gè)元數(shù)據(jù)的寫入 請求時(shí)被指令寫入確認(rèn)標(biāo)志。
17.如權(quán)利要求15所述的存儲器系統(tǒng),其中,存儲器控制器在用戶數(shù)據(jù)的寫入請求時(shí) 被指令一次寫入確認(rèn)標(biāo)志而不管用戶數(shù)據(jù)的大小如何。
18.如權(quán)利要求17所述的存儲器系統(tǒng),其中,當(dāng)確定用戶數(shù)據(jù)根據(jù)存儲器控制器的處 理單位的大小經(jīng)多次處理被成功地記錄在非易失性存儲裝置中時(shí),存儲器控制器被指令在 進(jìn)行在主機(jī)和存儲器控制器之間執(zhí)行所述多次處理中的最后的處理的寫入操作時(shí)寫入確 認(rèn)標(biāo)志ο
19.如權(quán)利要求13所述的存儲器系統(tǒng),其中,主機(jī)參照所述多個(gè)數(shù)據(jù)中的每個(gè)數(shù)據(jù)的 屬性來指令是否寫入確認(rèn)標(biāo)志。
全文摘要
本發(fā)明公開了一種非易失性存儲器系統(tǒng)及其存取方法。公開的一種利用閃存轉(zhuǎn)換層對非易失性存儲裝置進(jìn)行存取的方法包括如下步驟接收來自文件系統(tǒng)的用于數(shù)據(jù)的寫入請求,并響應(yīng)于寫入請求將數(shù)據(jù)記錄在非易失性存儲裝置中。從文件系統(tǒng)通知閃存轉(zhuǎn)換層是否記錄用于數(shù)據(jù)的確認(rèn)標(biāo)志。
文檔編號G06F12/02GK101901114SQ20091022479
公開日2010年12月1日 申請日期2009年11月20日 優(yōu)先權(quán)日2008年11月20日
發(fā)明者張俊鎬, 徐東永, 李辰華, 鄭云在 申請人:三星電子株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
汾阳市| 玉溪市| 额尔古纳市| 肇庆市| 江西省| 榆树市| 海阳市| 和田市| 扎赉特旗| 上杭县| 江城| 潍坊市| 栾川县| 和静县| 河曲县| 兴宁市| 博乐市| 库伦旗| 和平县| 崇阳县| 平舆县| 巴林左旗| 吴堡县| 汕头市| 邳州市| 馆陶县| 富民县| 宁德市| 江永县| 江达县| 林西县| 武胜县| 凤阳县| 日照市| 澄迈县| 云浮市| 山阴县| 孟连| 汉川市| 怀柔区| 科尔|