專利名稱:非易失性存儲設備中的數據管理方法及非易失性存儲系統的制作方法
技術領域:
本發明涉及非易失性存儲系統。更具體地,本發明涉及非易失性存儲系 統中的數據管理方法。
背景技術:
閃速存儲器被廣泛地用在計算機、存儲卡等中。近年來隨著便攜式信息
設備(諸如蜂窩電話、PDA、數字照相機等等)的使用變得越來越廣泛,閃 速存儲器已被用作替換傳統硬盤的存儲設備。上述移動設備可能需要大容量 存儲設備以便提供各種功能(例如,記錄和/或重放全動視頻)。為滿足這樣 的要求,已經開發出在一個存儲單元中存儲兩個或多個數據比特的多比特存 儲設備。存儲多比特數據的存儲單元可以被稱為多電平單元(MLC),而存 儲1比特數據的存儲單元可以被稱為單電平單元(SLC )。在采用MLC配置 的閃速存儲設備的情況下,可以增加可用容量,但是寫數據所花的時間也將 增加。相反,在采用SLC配置的閃速存儲設備中,與MLC閃速存儲設備相 比可用容量可能相對較低,但是與MLC閃速存儲設備相比寫數據所花的時 間可以相對較短。也就是說,與采用MLC配置的閃速存儲設備相比,采用 SLC配置的閃速存儲設備可以以相對較高的速度工作。此外,混合NAND 閃速存儲設備已被開發,其可以能夠有選擇地使用MLC或SLC存儲單元。 具體地, 一些設備可以在單個封裝中包括SLC存儲器芯片和MLC存儲器芯 片,以便改善性能和節省成本。例如,設備可以包括既相對較高速度和昂貴 的非易失性存儲器(例如,SLC)又包括相對低速的和廉價的非易失性存 儲器(例如,MLC)。在這樣的設備中,性能可能受數據寫入方法和數據管 理方法的影響。 一般說來,寫入速度相對較快的非易失性存儲器可以被頻繁 地更新,并且相對小尺寸的熱數據可以被記錄在該非易失性存儲器里。相對 慢的寫入速度的非易失性存儲器的降低的性能和/或擦除數限制可以由相對 迅速的寫入速度的非易失性存儲器補償。
由于MLC技術的進步,3比特和4比特MLC存儲器已被開發出來。但是,當存儲在一個存儲單元中的比特數增加時,可能會出現問題。例如,非
易失性存儲器的擦除計數可能減'J、。
與其他存儲器相比,閃速存儲器可以提供諸如相對低的成本且相對迅速
的讀取速度的優點。然而,可能在將數據寫入閃速存儲器中之前進行擦除操 作,并且要被寫(或編程)的數據的單元典型地小于要被擦除的數據的單元。 這樣的特征可能使得難以使用閃速存儲器作為主存儲器。此外,當閃速存儲 設備被用作輔助存儲設備時,這樣的特征可能妨礙硬盤的文件系統的直接使
用。因此,可以使用閃速轉換層(FTL, Flash Translation Layer)來提供文件 系統和閃速存儲器之間的兼容性。FTL可以執行將由文件系統產生的邏輯地 址映射為要被擦除的閃速存儲器的物理地址的角色。典型的FTL技術可以是 記錄(log)塊映射技術。記錄塊映射技術可以是使用有限數目的記錄塊作為 寫入緩沖器的塊映射方法。FTL的上述地址映射功能可以使得主機能夠將閃 速存儲器識別為硬盤驅動器(或SRAM)。這意味著,從主機的角度,可以 按照與硬盤驅動器相同的方式來訪問閃速存儲器。
FTL的一個功能可以與映射技術有關。在下述文獻中公開了映射技術的 例子題為"FLASH FILE SYSTEM"的美國專利No. 5,404,485;題為 "METHOD OF DRIVING REMAPPING IN FLASH MEMORY AND FLASH MEMORY ARCHITECTURE SUITABLE THEREFOR"的美國專利No. 6,381,176;題為"INCREMENTAL MERGE METHODS AND MEMORY SYSTEMS USING THE SAME"的美國專利No. 7,529,879,這些公開通過引 用而^皮合并于此。
發明內容
本發明的實施例提供可以提高包括不同的非易失性存儲器的存儲系統 的速度和/或壽命的數據管理方法。
根據一些實施例, 一種在包括第一存儲設備和第二存儲設備的存儲系統 中管理數據的方法包括以預定的數據單元將數據編程到第一存儲設備中。例 如,該數據可以被配置用于以扇區的單元傳送。被編程在第一存儲設備中的 多個數據根據轉儲刷新(flush)順序以逐個組的方式被轉儲刷新到第二存儲 設備的至少一個記錄塊中,其中多個數據中的數據被指派給分別具有不同的 各自的轉儲刷新優先級的至少兩個不同的組。所述不同的組中的至少 一個具有被指派給其的多個數據中的至少兩個單元的數據。
在一些實施例中,該多個數據可以是多個扇區數據,該多個扇區數據中 的 一個或多個可以根據其邏輯扇區號被包括在不同的組中的 一個組中。例 如,包括在相同的組中的多個扇區數據中的扇區數據可以具有與第二存儲設 備的相同的數據塊對應的邏輯扇區號。
在一些實施例中,在轉儲刷新順序中的不同的組的各自的轉儲刷新優先 級可以根據多個扇區數據中的多少個數據被包括在不同的組中的每一個中 來確定。此外,包括在相同的組中的多個扇區數據的每一個可以根據其邏輯 扇區號具有與其相關的各自的優先級。
在一些實施例中,在轉儲刷新順序中的不同的組中的至少 一個的各自的 轉儲刷新優先級可以根據在確定各自的轉儲刷新優先級時所述至少一個記 錄塊被指派到的第二存儲設備的數據塊來確定。例如,包括具有與第二存儲 設備的數據塊對應的邏輯扇區號的多個扇區數據中的至少 一個的組可以具 有轉儲刷新順序中的最高優先級,而且可以是被轉儲刷新到第二存儲設備的 第一組。
根據進一步的實施例, 一種存儲系統中的數據轉儲刷新方法,其將第一
存儲設備中緩沖的多個數據傳送到第二存儲設備中,該方法包括選擇要傳 送到第二存儲設備的多個數據中的 一個數據;以及檢測多個數據中的具有與
多個數據中所選擇的一個數據相同的第二存儲設備的目標塊的至少一個附 加數據。在移動多個數據中的剩余數據之前將多個數據中的被選擇的和檢測 的數據移動到被指派給該目標塊的第二存儲設備的記錄塊中。
在一些實施例中,該多個數據可以是多個扇區數據,而且多個扇區數據
被首先移動的順序依次被移動到記錄塊中。可以重復該選擇、檢測、和移動 步驟,直到第一存儲設備中緩沖的多個扇區數據被傳送到第二存儲設備中。
在一些實施例中,多個數據中所選擇的一個數據可以是根據第一存儲設 備的緩沖順序的多個數據中的第 一個數據。
根據更進一步的實施例, 一種信息處理系統包括第一存儲設備,被配 置為以扇區單元依次存儲從主機設備提供的數據;第二存儲設備,被配置為 存儲從第一存儲設備傳送給其的多個扇區數據;和控制器,被配置為提供主 機與第一和第二存儲設備之間的接口 。該控制器被配置為根據轉儲刷新順序
8以逐個組的方式將來自于第一存儲設備的多個數據轉儲刷新到第二存儲設 備中,其中多個扇區數據中的扇區數據被指派給分別具有不同的各自的轉儲 刷新優先級的不同的組。所述不同的組中的至少一個具有被指派給其的多個 數據的至少兩個單元。
在一些實施例中,第 一和第二存儲設備可以被包括在非易失性存儲卡中。
在一些實施例中,可以根據記錄塊映射方法管理第二存儲設備中的數 據,而且該控制器可以被配置為將該多個扇區數據轉儲刷新到第二存儲設備 的至少一個記錄塊中。
在一些實施例中,多個數據中的數據可以根據第二存儲設備的數據塊大 小被指派給不同的組。
在一些實施例中,包括多個數據中的較大數量的數據的組可以具有轉儲 刷新順序中的較高轉儲刷新優先級。 .
在一些實施例中,包括具有與該第二存儲設備的至少一個記錄塊被指派 到的第二存儲設備的數據塊對應的邏輯扇區號的多個數據中的至少 一個的 組可以具有轉儲刷新順序中的最高優先級,而且可以被控制器首先轉儲刷 新。
在一些實施例中,包括多個數據中的較大數量的數據的組可以具有轉儲 刷新順序中的較低轉儲刷新優先級。
在一些實施例中,該控制器可以是主機驅動程序,被配置為將多個數據 中的數據指派到分別具有各自的轉儲刷新優先級的不同的組中。
在一些實施例中,該控制器可以是存儲控制器,其包括閃速轉換層,被 配置為將多個數據中的數據指派到分別具有各自的轉儲刷新優先級的不同 的組中。該閃速轉換層可以根據在由閃速轉換層確定各自的轉儲刷新優先級 時第二存儲器的至少 一個記錄塊被指派到的第二存儲設備的數據塊來確定 不同的組中的至少一個的各自的轉儲刷新優先級。
在一些實施例中,第一存儲設備可以是單電平閃速存儲設備,第二存儲 設備可以是多電平閃速存儲設備。
根據進一步的實施例,在一種數據管理方法中,緩沖在第一存儲設備中 的數據被指派到至少兩個不同的組中以傳送到第二存儲設備。所述不同的組 中的至少 一個具有被指派給其的至少兩個單元的數據。以逐個組的方式根據與所述不同的組中的每一個相關的各自的優先級將數據從第 一存儲設備傳 送到第二存儲設備,以使得指派給具有較高優先級的組的數據單元在指派給 具有較低優先級的組的數據單元之前被傳送到第二存儲設備。
在一些實施例中,所述不同的組中的每一個的各自的優先級是基于指派 給其的數據單元的數量。
在一些實施例中,指派給相同的組的數據單元包括與第二存儲設備的相 同的數據塊對應的邏輯扇區號。
在一些實施例中,該數據可以被傳送到第二存儲設備的至少一個記錄 塊。所述不同的組中的至少一個的各自的優先級可以基于在確定各自的優先 級時至少一個記錄塊被指派到的第二存儲設備的數據塊來確定。例如,包括 具有與至少一個記錄塊被指派到的第二存儲設備的數據塊對應的邏輯扇區 號的凄t據的組可以具有最高優先級。
圖1是示出根據一些實施例的數據轉儲刷新操作的框圖。
圖2是示出根據一些實施例的信息處理系統的框圖。 圖3是示出圖2的轉儲刷新方法的框圖。
圖4是示出經由圖2中的主機驅動程序對邏輯扇區號進行分組的框圖。 圖5A是示出基于圖4的分組的根據一些實施例的轉儲刷新過程的圖。 圖5B是示出FIFO轉儲刷新過程的圖。
圖6是示出根據一些實施例的包括支持分組和轉儲刷新操作的閃速轉換 層的信息處理系統的框圖。
圖7是示出由圖6中的閃速轉換層執行的轉儲刷新過程的圖。 圖8是基于圖7的組的交換合并(merge)操作的圖。 圖9是示出根據其它實施例的轉儲刷新方法的圖。 圖10是示出4艮據一些實施例的電子裝置的框圖。
具體實施例方式
現在將參考示出本發明的實施例的附圖更完整地描述本發明。然而,本 發明可以被實施為許多不同的形式,并且不應當被理解為限于這里闡述的實 施例。相反,提供這些實施例以使得本公開是徹底且完全的,并且將本發明的范圍完全傳達給本領域技術人員。在附圖中,為了清楚,層和區的厚度被 放大。相似的數字始終指代相似的元件。
應當理解,當稱一個元件或層"在…上"、"連接到"、"耦接到,,另一個 元件或層時,其能夠直接在另一元件或層上、連接到或耦接到另一個元件或 層上,或者也可以存在插入元件或層。相反,當稱一個元件"直接在…上"、 "直接連接到"、或"直接耦接到"另一元件或層時,則不存在插入元件或 層。這里所用的,術語"和/或"包括相關列出條目的一個或多個的任意和所 有組合。
應當理解,盡管這里可能使用術語第一、第二、第三等來描述各種元件、 部件、區域、層和/或區段,但是這些元件、部件、區域、層和/或區段不應 當被這些術語所限制。這些術語可以僅用于將一個元件、組件、區域、層和 部件和另一個區域、層或部件區分開來。因此,在不脫離這些示范性實施例 的教導的情況下,下面討論的第一元件、組件、區域、層或部件可以被稱為 第二元件、組件、區域、層或部件。
這里所用的術語僅僅是為了描述具體的示范性實施例,不意欲是限制性 的。正如這里所用的,單數形式"一"、"一個"和"這個"可以意欲也包括 復數形式,除非上下文清楚地指明是單數。還應當理解,用于本說明書中的 術語"包括"和/或"包含"指定了既定特征、整數、步驟、操作、元件和/ 或部件的存在,但是不排除一個或更多的其它特征、整數、步驟、操作、元 件、部件、和/或它們的分組的存在或增加。
除非另有定義,這里所用的所有術語(包括技術和科學術語)具有和本 領域技術人員通常理解的相同的意思。還應當理解,諸如在通常使用的詞典 中定義的那些術語應當被理解為具有和在相關技術的內容中的意思一致的 意思,并且不應當被解釋為理想化的或超出正規認識的,除非這里做了特別 的定義。
如這里所描述的,包括SLC和MLC存儲設備的系統可以被用作具有不 同的存儲器區的存儲系統的例子,以便描述根據一些實施例的屬性和功能。 此外,這里可以參考扇區單元作為要被傳送的預定的數據單元來描述示范性 的實施例。然而,非易失性存儲設備的頁單元或其它固有數據傳輸單元也可 以被用作要被傳送的數據單元。其它方面可以被本領域技術人員容易地理 解。此外,不同的存儲器區可以包括不同類型的非易失性存儲器。例如,本發明的一些實施例可以提供包括不同類型的存儲設備的存儲系統,這些存儲
設備例如PRAM和閃速存儲器、NOR閃速存儲器和NAND閃速存儲器等等。 圖l是示出根據一些實施例的數據轉儲刷新操作的框圖。參考圖1,信 息處理系統10可以包括主機20和存儲卡50。存儲卡50響應于來自主機20 的命令CMD將來自于主機20的數據存儲在第 一非易失性存儲器模塊30中。 在轉儲刷新操作期間,存儲卡50重排依次存儲在第一非易失性存儲器30中 的扇區數據C、 2、 A、 1和B以便分成組Gl和G2,并且將扇區數據的組 Gl和G2存儲在第二非易失性存儲器模塊40中。
主機20是使用存儲卡50作為存儲設備的設備。例如,主機20可以是 個人計算機、數字照相機、PDA、和/或便攜式媒體再現設備。主機20可以 執行用戶應用程序和主機驅動程序。用戶應用程序可以執行用戶指示的特定 功能。當用戶應用程序向存儲卡50寫入或者從中讀出數據時,主機驅動程 序根據給定的協議作為主機10和存儲卡50的接口 。大多數系統可以使用硬 盤驅動器(HDD)作為大容量存儲設備。因此,從主機20傳送到存儲卡50 的數據可以根據應用于HDD的方式(例如,以扇區單元)被傳送。主機20 可以使用各自與扇區數據對應的邏輯扇區號來控制存儲卡50內的數據傳送。 因此,主機20可以通過控制邏輯扇區號來執行對于扇區數據的分組和重排 操作。然而,在一些實施例中,存儲卡50可以代替主機20執行扇區分組和 重排操作。
存儲卡50可以包括第一和第二非易失性存儲器30和40。來自于主機 20的數據可以被依次存儲在第一非易失性存儲器30中,在轉儲刷新操作期 間,存儲在第一非易失性存儲器30中的數據可以被"轉儲刷新,,到第二非 易失性存儲器40中,這里所用的"轉儲刷新"操作是指將數據單元從第一 和第二存儲器30和40中的一個復制或重新安置到另 一個。在一些實施例中, 記錄塊映射方法(也稱為"記錄映射技術")可以被用于存儲卡50中的地址 映射。然而,如果按照與扇區被輸入到第一非易失性存儲器30中的相同的 順序來轉儲刷新數據,則在第二非易失性存儲器40的記錄塊之間可能會引 起過多的合并操作。因此,本發明的一些實施例可以將合并操作數和/或擦除 數減小到低于經由主機20的主機驅動程序或傳統存儲卡50的閃速轉換層 FTL可能實現的數目。在特定實施例中,按照FIFO方式輸入到第一非易失 性存儲器30中的扇區數據C、 2、 A、 1和B可以被分成組G1和G2。組Gl新到第二非易失性存儲器40中,這可以減小將數據傳送到第二非易失性存
儲器40所執行的合并操作數。這里舉例描述使用記錄塊映射方法的存儲卡,
圖2是示出根據一些實施例的信息處理系統的框圖。圖2示出了其中主 機100的主機驅動程序120執行用于將扇區數據重排到具有不同的優先級的 組中的操作的示范性實施例。
如圖2所示,當用戶應用程序將數據寫入存儲卡160時,主機驅動程序 120可以根據給定協議與存儲卡160實現接口 。主機驅動程序120可以被提 供為主機110的驅動程序以支持與存儲卡160的接口。然而,在一些實施例 中,這樣的功能可以用硬件來實現。主機驅動程序120可以以扇區單元管理 來自于存儲卡160的數據,這里也被稱為扇區單元。主機驅動程序120可以 將邏輯扇區號加到每個扇區以便支持扇區單元的數據交換。然而,主機驅動 程序120可以不考慮存儲卡160中的硬件信息。例如,主機驅動程序120可 以不考慮與擦除數、合并映射方式、地址映射方式、磨損均衡等等有關的狀 態來提供數據。因此,主機驅動程序120可以不知道第一和第二非易失性存 儲器140和150中的每個存儲塊的扇區號、與當前記錄塊對應的數據塊號等 等。因而,主機驅動程序120能夠通過邏輯扇區號來對要被轉儲刷新的扇區 數據進行分組,例如,通過第40單元或第50單元。具體地,如果扇區數據 是通過第40單元分組的,則與第O扇區和第39扇區之間的邏輯扇區號對應 的扇區數據可以被分組。同樣地,與第40扇區和第79扇區之間的邏輯扇區 號對應的所有扇區可以構成另一個組。確定一個組的最大尺寸的扇區大小可 以基于第二非易失性存儲器150的塊大小來定義。如果這樣的信息沒有被主 機驅動程序120獲得,則一個組的最大尺寸可以由主機驅動程序120中設置 的缺省值來確定。
主機驅動程序120可以將要被轉儲刷新的扇區單元的數據的邏輯扇區號 分為多個組。分成的組可以基于包括的扇區單元數據的數目而具有不同的轉 儲刷新優先級。此外,相同組中的扇區數據可以根據邏輯扇區號以不同的優 先級被轉儲刷新。根據一些實施例,在主機驅動程序120的控制下進行的數 據轉儲刷新策略如下
(1)為相對較大的組(或具有較多數量的分配(allot)的扇區的組)的數據的傳送分組邏輯扇區號和/或授予優先級;
(2) 以FIFO方式傳送數據,其中數據將在具有相同大小或包括相同的 扇區數的組之間傳送;
(3) 首先傳送具有較低扇區號的扇區數據,其中數據將在相同組的扇 區之間4專送。
存儲卡160可以根據主機驅動程序120確定的傳送次序將緩沖在第一非 易失性存儲器140中的數據傳送到第二非易失性存儲器150中。存儲控制器 130可以控制存儲卡160和主機110之間的數據交換。第一非易失性存儲器 140可以是具有相對快速的寫入速度的存儲設備或存儲器區,例如SLC存儲 設備。第二非易失性存儲器150被用作大容量存儲器介質,緩沖在第一非易 失性存儲器140中的數據可以在轉儲刷新操作中被傳送到第二非易失性存儲 器150。第二非易失性存儲器150不局限于任何特定的地址映射方法;但是, 這里以舉例方式使用記錄塊映射方法描述第二非易失性存儲器150。而且, 這里在主機驅動程序120的邏輯扇區號被控制的假定下描述轉儲刷新操作。 但是,本發明不限于此,本發明的實施例可以包括控制從主機110到第一非 易失性存儲器130的輸入次序以便按照主機驅動程序120分組的次序來傳 送。下面將更詳細地描述從第一非易失性存儲器140到第二非易失性存儲器 150的數據的轉儲刷新。
圖3是示出參考圖2的上述轉儲刷新方法的框圖。在圖3的實施例中, 第一非易失性存儲器140是SLC閃速存儲器,第二非易失性存儲器150是 MLC閃速存儲器。
第一非易失性存儲器140可以具有快速的寫入速度。因而,輸入數據可 以被快速地存儲在第一非易失性存儲器140中。 一般說來,可以使用第一非 易失性存儲器140 (可以擔當寫入緩沖器)存儲頻繁更新的主機數據(例如 元數據)。第一非易失性存儲器140的數據區可以被布置為使得依次對多個 扇區進行編程。從第0扇區141到第M-l扇區145輸入的數據可以被依次編 程。扇區141到145的每一個不^皮覆寫。在所有的扇區141到145都充滿輸 入數據時,可以將數據從第一非易失性存儲器140轉儲刷新到第二非易失性 存儲器150中。
可以根據記錄塊映射方法利用存儲塊單元管理第二非易失性存儲器150 中的數據。第二非易失性存儲器150可以包括可以擔當緩沖器的記錄塊151
14和152、以及從記錄塊向其傳送有效數據的數據塊153-157。盡管圖中未示 出,還可以包括各自指示擦除的存儲塊的空閑塊,并且該空閑塊可以根據需 要被分配給記錄塊。
轉儲刷新操作可以如下進行。在下面例子中,第二非易失性存儲器150 的每個數據塊具有50個扇區。因此,扇區數據可以通過第50單元分組。在 扇區數據是通過第50單元分組的情況下,第0扇區和第49扇區之間的扇區 數據可以構成一個組。同樣地,第50扇區和第99扇區之間的扇區數據可以 構成另一個組。
在轉儲刷新操作中從第 一非易失性存儲器140傳送的數據可以首先被編 程到記錄塊151和152的任意一個中。在示范性實施例的情況下,轉儲刷新 數據可以按照多個組單元被傳送。對于分組,相同的組中的存儲單元參考非 易失性存儲器150的數據塊的大小來定義。例如,假定具有邏輯扇區號l、 34、 159、 160、 188和144的扇區被轉儲刷新。扇區1和34對應于第二非易 失性存儲器150的第0塊153。扇區159、 160和188對應于第二非易失性存 儲器150的第3塊156。扇區144對應于第2塊155。因而,才艮據主才幾驅動 程序120的數據轉儲刷新策略,對應于第3數據塊的扇區159、 160和188 被選為第一組(Groupl ),其包括最大數目的扇區。扇區1和34被選為第二 組(Group2),而扇區144被選為第三組(Group3),其包括最小數目的扇區。 轉儲刷新操作可以從第一組(Groupl)開始。
/人以上描述可以理解,主才幾驅動程序120可以對邏輯扇區號進^f亍分組并 設置優先級。在轉儲刷新操作中,借助于主機驅動程序120,根據分組的邏 輯扇區號和設置的優先級,緩沖在第一非易失性存儲器140中的數據可以被 傳送到第二非易失性存儲器150。換句話說,緩沖在第一非易失性存儲設備 140中的數據可以被逐個組地轉儲刷新,以使得指派給具有較高優先級的組 的數據在指派給具有較低優先級的組的數據之前被傳送到第二存儲設備 150。
圖4是示出借助于圖2的主機驅動程序分組邏輯扇區號的框圖。扇區可 以按以下順序被緩沖在第一非易失性存儲器140中53、 159、 1、 188、 54、 111、和162。扇區159、162、和188由主機驅動程序120指派或分配給Groupl。 扇區53和54被分配給Group2。僅僅一個扇區被包括在Group3中,但是具 有較低邏輯扇區號的扇區(在這種情況下為扇區1)被分配到其中。最后的扇區111被分配給Group4。第一組(Groupl)可以被首先轉儲刷新。在組 Groupl到Group4的每一個內,具有相對低的扇區號的扇區與具有相對較高 的扇區號的扇區相比,具有較高的優先級。因此,扇區可以按照159、 162、 188、 53、 54、 1和111的轉儲刷新次序被重排,以提供與第一存儲設備中的 緩沖順序不同的轉儲刷新順序。
轉儲刷新次序的重排可以由主機驅動程序120來進行。扇區數據可以根 據該重排的轉儲刷新次序從第 一非易失性存儲器140傳送到第二非易失性存 儲器150。因此,如圖4所示,包括更多扇區的組具有較高的轉儲刷新優先 級,而每個組內的較低編號的扇區具有較高的轉儲刷新優先級。
圖5A是示出根據一些實施例的轉儲刷新過程的圖。參考圖5A,示出了 記錄塊LOG BLOCK0和LOG BLOCKl以及以扇區單元提供的轉儲刷新數 據。在這個例子中,假定當前記錄塊LOGBLOCK0被分配給數據塊Block0, 記錄塊LOGBLOCKl被分配給數據塊Block3。陰影的塊指示其中傳送的扇 區數據被編程的記錄塊。記錄在每個記錄塊中的塊號與記錄塊被分配給的數 據塊的號對應。在此狀態下,從包括較多扇區數的組的扇區到包括較少扇區 數的組的扇區依次進行轉儲刷新操作。下面將更詳細地描述轉儲刷新操作。
首先,根據由通過主機驅動程序120布置或指派的轉儲刷新順序指示的 優先級,將第一組Groupl的扇區159從第一非易失性存儲器140移動到第 二非易失性存儲器150。扇區159可以對應于其中存儲第二非易失性存儲器 150的與邏輯扇區號150到199對應的扇區的數據塊Block3。由于記錄塊 LOG BLOCKl被分配或分派(allocate)給數據塊Block3 ,因此扇區159可 以被編程到記錄塊LOG BLOCKl中(S10)。然后,將第一組Groupl的扇 區162從第一非易失性存儲器140移動到第二非易失性存儲器150。扇區162 對應于其中存儲與邏輯扇區號150到199對應的扇區的數據塊Block3。由于 記錄塊LOG BLOCKl -陂分配給數據塊Block3 ,因此扇區162被編程到記錄 塊LOG BLOCKl中(S20)。然后,將第一組Groupl的扇區188從第一非 易失性存儲器140傳送到第二非易失性存儲器150。扇區188被包括在其中 存儲與邏輯扇區號150到199對應的扇區的彩:據塊Block3中。由于記錄塊 LOG BLOCKl被分配給凄t據塊Block3 ,因此扇區188 ^皮編程到記錄塊LOG BLOCKl中(S30)。當包括在一個組中的扇區單元的轉儲刷新數據被移動時, 由于沒有分配附加記錄塊,因此不執行合并操作。
16在來自于第一組Groupl的數據的數據傳送之后,對于第二組Group2的 扇區53和54執行數據轉儲刷新操作。將扇區53從第一非易失性存儲器140 傳送到第二非易失性存儲器150。扇區53對應于其中存儲第二非易失性存儲 器150的與邏輯扇區號50到99對應的扇區的數據塊Blockl。但是,記錄塊 LOG BLOCK0和LOG BLOCK1中沒有一個^皮分配給數據塊Blockl 。因而, 執行合并操作以獲得擦除的塊作為記錄塊。具體地,通過合并數據塊Block0
和分配給當前數據塊Block0的記錄塊LOG BLOCK0來獲得一個擦除的空閑 塊。獲得的空閑塊被指派給記錄塊LOG BLOCK0,其被分配給數據塊 Blockl 。輸入扇區53被編程到分配給數據塊Blockl的記錄塊LOG BLOCK0 中(S40)。然后,通過將包括在與扇區53相同的組中的扇區54編程到記錄 塊LOG BLOCK0中而不用另外的合并操作,來完成第二組Group2的數據傳 送操作(S50 )。
在來自于第二組Group2的數據的傳送之后,對于與第三組Group3對應 的扇區l執行數據轉儲刷新操作。扇區l對應于其中存儲第二非易失性存儲 器150的與邏輯扇區號0到49對應的扇區的數據塊Block0。但是,因為當 前沒有記錄塊被分配給數據塊Block0,因此經由合并操作可以獲得擦除的塊 作為記錄塊。具體地,通過合并數據塊Block3和分配給當前數據塊Block3 的記錄塊LOG BLOCK1來獲得一個擦除的空閑塊。獲得的空閑塊被指派給 記錄塊LOG BLOCK1 ,其被分配給數據塊Block0。通過將輸入扇區1編程 到記錄塊LOGBLOCKl中來完成第三組group3的數據傳送(S60 )。
在來自于第三組Group3的數據的傳送之后,對于與第四組Group4對應 的扇區lll執行數據轉儲刷新操作。扇區111對應于其中存儲第二非易失性 存儲器150的與邏輯扇區號100到149對應的扇區的數據塊Block2。但是, 因為當前沒有記錄塊被分配給數據塊Block2,因此經由合并操作可以獲得擦 除的塊作為記錄塊。通過合并數據塊Block0和分配給當前數據塊Block0的 記錄塊LOGBLOCKl來獲得一個擦除的空閑塊。獲得的空閑塊被指派給記 錄塊LOG BLOCKl,其被分配給數據塊Block2。通過將輸入扇區111編程 到記錄塊LOG BLOCKl中來完成第四組Group4的數據傳送(S70 )。
按照根據一些實施例的轉儲刷新操作,當傳送相同組中的扇區數據時, 可以不需要合并操作。合并操作發生在組之間需要擦除的記錄塊的時間點。 也就是說,如果參考四個組進行轉儲刷新操作,則通過三次合并操作獲得記錄塊。結果,通過對轉儲刷新數據進行分組有可能降低獲得或得到新記錄塊 的頻率。因而,可以減小合并操作數量和擦除計數。
圖5B是示出根據FIFO方式執行的轉儲刷新過程的圖。參考圖5B,示 出了第二非易失性存儲器150的記錄塊LOG BLOCK0和LOG BLOCKl以 及以扇區單元提供的轉儲刷新數據。在這個例子中,假定當前記錄塊LOG BLOCKO ^皮分配給數據塊BlockO,記錄塊LOG BLOCKl #1分配給凄史據塊 Block3。在此狀態下,第一非易失性存儲器140的轉儲刷新數據可以按照第 一非易失性存儲器140的輸入次序被傳送到第二非易失性存儲器150。下面 將更詳細地描述這樣的轉儲刷新操作。
在步驟SllO,首先輸入到第一非易失性存儲器140的扇區53被傳送到 第二非易失性存儲器150。扇區53對應于其中存儲第二非易失性存儲器150 的與邏輯扇區號50到99對應的扇區的數據塊Blockl。但是,由于當前沒有 記錄塊凈皮分配給數據塊Blockl,因此記錄塊LOG BLOCK0與數據塊BlockO 合并。通過合并操作獲得的空閑塊可以被指派給記錄塊LOG BLOCK0,其 被分配給數據塊Blockl 。 一旦記錄塊BLOCKO已被分配給數據塊Blockl , 則扇區53被編程到記錄塊LOG BLOCKO中(S110 )。然后,將扇區159從 第一非易失性存儲器140移動到或轉換到第二非易失性存儲器150。扇區159 對應于其中存儲第二非易失性存儲器150的與邏輯扇區號150到199對應的 扇區的數據塊Block3。由于記錄塊LOG BLOCKl被分配給數據塊Block3, 因此扇區159可以不用合并操作而被編程到記錄塊LOGBLOCKl中(S120)。 然后,將扇區l從第一非易失性存儲器140移動到或轉換到第二非易失性存 儲器150。扇區1對應于其中存儲第二非易失性存儲器的與邏輯扇區號0到 49對應的扇區的數據塊Block0。但是,當前沒有記錄塊被分配給數據塊 Block0。這樣,分配給數據塊Blockl的記錄塊LOG BLOCK0與數據塊Blockl 合并。通過合并操作獲得的空閑塊被指派給記錄塊LOG BLOCKO,其被分 配給數據塊BlockO。 一旦記錄塊BLOCKO已被分配給數據塊Blockl ,則將 扇區1編程到記錄塊LOG BLOCKO中(S130 )。扇區188的it據傳送可以在 步驟S140中進行。扇區188對應于其中存儲第二非易失性存儲器150的與 邏輯扇區號150到199對應的扇區的數據塊Block3。由于記錄塊LOG BLOCKl被分配給數據塊Block3,因此扇區188可以不用合并操作而被編程 到記錄塊LOG BLOCKl中(S140 )。扇區54的數據傳送可以在步驟S150中進行。扇區54對應于存儲第二 非易失性存儲器150的與邏輯扇區號50到99對應的扇區的數據塊Blockl。 因為當前沒有記錄塊被分配給數據塊Block0,因此將分配給數據塊Block3 的記錄塊LOG BLOCKl與數據塊Block3合并。通過合并操作獲得的擦除的 空閑塊被指派給記錄塊LOG BLOCKl,其被分配給數據塊Blockl。 一旦獲 得分配給數據塊Blockl的記錄塊LOG BLOCKl,則將扇區54編程到記錄 塊LOG BLOCKl中(S150)。然后,扇區111的數據傳送在步驟S160中執 行。扇區111對應于其中存儲與第二非易失性存儲器150的與邏輯扇區號100 的149對應的扇區的凝:據塊Block2。因為當前沒有記錄塊被分配給數據塊 Block2,因此將分配給數據塊Blockl的記錄塊LOG BLOCKl與數據塊 Blockl合并。通過合并操作獲得的空閑塊被指派給記錄塊LOG BLOCKl, 其被分配給數據塊Block2。 一旦獲得分配給數據塊Block2的記錄塊LOG BLOCKl,則將扇區111編程到記錄塊LOG BLOCKl中(S160X扇區162 的數據傳送在步驟S170中執行。扇區162對應于其中存儲第二非易失性存 儲器150的與邏輯扇區號150到199對應的扇區的數據塊Block3。因為當前 沒有記錄塊被分配給數據塊Block3,因此將分配給數據塊Block0的記錄塊 LOG BLOCK0與數據塊Block0合并。通過合并操作獲得的空閑塊被指派給 記錄塊LOG BLOCK0,其^皮分配給數據塊Block3 。 一旦記錄塊LOG BLOCK0 已被分配給數據塊Block3,則將扇區162編程到記錄塊LOG BLOCK0中 (S170)。因而,根據在不對要被轉儲刷新的數據進行分組和/或優先級重排 的情況下執行的圖5B的數據轉儲刷新操作,更頻繁地使用合并操作以獲得 空閑塊。具體地,如圖5B所示,執行五個合并操作。這樣,可以增加擦除 數并且可以降低寫入速度。
但是,如圖5A所示,根據本發明的一些實施例的轉儲刷新操作可以僅 僅執行三次合并操作,而不是在圖5B的FIFO轉儲刷新操作(其中轉儲刷 新數據沒有被分組并且優先次序沒有被重排)中執行的五次合并操作。因此, 在本發明的一些實施例中,通過借助于主機驅動程序120對轉儲刷新數據的 邏輯扇區號進行分組和/或重排優先級次序,有可能減小擦除計數和/或提高 寫入速度。
圖6是示出根據一些實施例的包括支持分組和轉儲刷新才喿作的閃速轉換 層的信息處理系統的框圖。參考圖6,轉儲刷新數據的分組和重排可以由存儲卡250而不是主機210來執行。存儲卡250包括存儲控制器220,其被配 置為在存儲卡250和主機210之間實現接口。此外,存儲控制器220可以包 括閃速轉換層(FTL ) 225作為存儲控制器220的組成元件或功能中的 一個。 在這樣的信息處理系統200中,轉儲刷新數據分組和重排可以由存儲控制器 220執行,而且具體地由FTL 225執行。
在圖6的一些實施例中,主機210可以不執行轉儲刷新數據分組操作和 /或優先級重排操作。因此,基于邏輯扇區號的控制操作可以不由主機210 執行。相反,可以用一般方式將扇區數據和寫入命令發送給存儲卡250。
存儲卡250可以包括具有FTL 225的配置或功能的存儲控制器220、第 一非易失性存儲器230、和第二非易失性存儲器240。第一和第二非易失性 的存儲器230和240的配置和/或操作可以類似于參考圖2所討論的。但是, 存儲控制器220還可以執行諸如上述的分組和重排操作的功能的功能。具體 地,FTL 225可以執行轉儲刷新數據分組操作和優先級重排操作。由于FTL 225也可以執行地址映射操作和/或諸如磨損均衡、碎片(garbage)收集等等 的功能,因此主機210可以不必實時地獲得存儲卡250的總體信息。因此, 借助于FTL 225來執行轉儲刷新數據分組操作和/或優先級重排操作可以是 有效的,FTL225可以存取存儲卡250的特有信息,例如每塊的扇區數、當 前分配或指派的記錄塊號等等。由圖6的FTL 225執行的數據轉儲刷新策略 如下
(1) 以扇區單元對存儲在第一非易失性存儲器230中的要被轉儲刷新 的數據進行分組,并且基于第二非易失性存儲器240的每個塊的扇區數量來 確定每個組的大小;
(2) 首先傳送組當中的能夠被存儲在分配給第二非易失性存儲器240 的記錄塊中的數據;
(3) 除能夠被存儲在當前分配的記錄塊中的組之外,向具有指派給其 的較多數量的扇區的組給予優先;
(4 )在包括的扇區的大小或^&量相同的組的情況下,以FIFO方式傳送
數據;
(5)與具有較高邏輯扇區號的扇區數據相比,向具有較低邏輯扇區號 的扇區數據給予優先。
根據圖6的FTL 225的轉儲刷新策略,能夠被編程到當前分配的記錄塊中的組的數據被首先傳送。
圖7是示出借助于圖6的閃速轉換層225執行的轉儲刷新過程。參考圖 7,在第二非易失性存儲器240中,記錄塊LOG BLOCK0和記錄塊LOG BLOCKl由FTL 225分別分配給數據塊Block0和數據塊Block3。該條件下, FTL 225基于第二非易失性存儲器240的存儲塊的尺寸,將轉儲刷新數據分 成多個扇區組。在其中包括轉儲刷新數據的多個扇區組可以與圖4所示的扇 區組相同。但是,可以與圖5A的轉儲刷新過程不同地確定組當中的轉儲刷 新優先級。FTL 225可以存取當前記錄塊的全部分派信息。因此,FTL 225 可以基于當前記錄塊已被分配或指派給的數據塊的數目來確定對于每個扇 區組的優先級。也就是說,與數據塊Block0和/或數據塊Block3對應的扇區 組被首先傳送,因為記錄塊LOG BLOCKO當前被分配給數據塊BlockO,而 記錄塊LOG BLOCKl當前被分配給數據塊Block3。下面將更詳細地描述圖 7的轉儲刷新過程。
首先,對應于數據塊BlockO (記錄塊LOG BLOCKO當前被分配給其) 的扇區組可以是第三組Group3。因而,第三組Group3的扇區1可以不用合 并操作被編程到第二非易失性存儲器240的記錄塊LOG BLOCKO中(S210 )。
在步驟S220,將對應于數據塊Block3 (記錄塊LOG BLOCKl當前被分 配給其)的扇區組從第一存儲器230傳送到第二存儲器,對應于數據塊Block3 的扇區組可以是第一組Group 1。因此,第一組Group 1的扇區159、 162、和 188可以不用合并操作而被依次編程到第二非易失性存儲器240的記錄塊 LOG BLOCKl中(S220、 S230、 S240 )。
在從第一組Groupl傳送數據之后,根據將較高優先級授予包括較大數 目的扇區的組的轉儲刷新策略,傳送來自于第二組Group2的數據。第二組 Group2的扇區53和54對應于第二非易失性存儲器240的數據塊Blockl。 但是,由于當前記錄塊LOG BLOCKO和LOG BLOCKl都沒有被分配給數 據塊Blockl,因此借助于合并操作獲得用于記錄塊的擦除塊。通過合并記錄 塊LOG BLOCKO和數據塊Block0來獲得該個擦除的空閑塊。獲得的空閑塊 被指派給記錄塊LOG BLOCKO,其被分配給數據塊Blockl。然后輸入扇區 53可以被編程到分配給數據塊Blockl的記錄塊LOG BLOCKO中(S250 )。 通過將扇區54編程到記錄塊LOG BLOCKO中來完成來自第二組Group2的 數據傳送,而不用進一步的合并操作(S260)。
21在第二組Group2中的扇區被移動后,可以傳送第四組Group4中的扇區 111。扇區111對應于第二非易失性存儲器240的數據塊Block2。但是,記 錄塊LOG BLOCK0和LOG BLOCKl當前被分別分配給數據塊Blockl和 Block3。由于當前沒有記錄塊被分配給數據塊Block2,因此經由合并操作獲 得擦除的塊作為記錄塊。FTL 225可以通過合并記錄塊LOG BLOCKl和數 據塊Block3來獲得擦除的空閑塊。獲得的空閑塊被指派給記錄塊LOG BLOCKl,其被分配給數據塊block2。從而完成來自包括扇區111的第四組 Group4的數據傳送(S270 )。
根據圖7中描述的由FTL 225管理的轉儲刷新操作,四個扇區組Group 1 到Group4的轉儲刷新操作可以需要兩個合并操作,因為優先級是由FTL225 基于記錄塊的當前分派來確定的。結果,直到傳送開頭兩個組之后才執行合 并操作。與圖5A中描述的轉儲刷新過程相比,由于由FTL 225執行分組和 優先級確定,因此需要的合并操作的數目減小了。
圖8是示出可以應用于圖7的任何一組的交換合并操作的圖。參考圖8, 示出了 一種在轉儲刷新數據的傳送之后基于記錄塊當前被分配給的數據塊 來將記錄塊切換成數據塊的方法。也就是說,可以執行交換合并操作,其中, 通過將存儲在與當前記錄塊對應的數據塊中的數據與要被轉儲刷新的扇區 組組合來配置一個存儲塊單元,下面將更詳細地描述。
在圖8中,由FTL 225分組的扇區組Groupm包括扇區50到95以及98 和99,未包括在扇區組Groupm中的扇區96和97之前已^皮記錄在數據塊 Blockl中。FTL 225首先將扇區50到95記錄在分配給數據塊Blockl的記錄 塊LOG BLOCKl中(①)。FTL 225將扇區96和97從記錄塊LOG BLOCKl 被分配給的數據塊Blockl傳送到記錄塊LOG BLOCKl (②)。FTL 225將扇 區組Groupm的扇區98和99傳送到記錄塊LOG BLOCKl中(③)。因此, 與相同的目標塊對應的所有扇區被編程到記錄塊LOG BLOCKl中,在該記 錄塊中,扇區98和99被編程。因而,執行交換合并操作,其中,記錄塊 LOG BLOCKl的地址被指派給數據塊Blockl,而沒有附加的合并操作(④)。
根據上述交換合并操作,通過變更地址而不是將數據從記錄塊傳送到數 據塊,來進行合并操作。因而,使用根據一些實施例的交換合并操作,可以 減小用于數據傳送所需的時間。
圖9是示出根據一些其它實施例的轉儲刷新方法的圖。參考圖9,可以不執行緩沖在第一非易失性存儲器230中的扇區數據的分組和/或通過重排 實現的優先級的授予。取而代之的是,當執行轉儲刷新操作時,以FIFO方 式掃描包括在相同的組中的扇區作為選擇用于轉儲刷新的扇區。根據掃描操
因而,可以減小為獲得記錄塊而執行的附加合并操作的數目,下面進行進一 步的詳細描述。
首先,如果第一非易失性存儲器230不具有空閑存儲器或剩余數據區, 則進行數據轉儲刷新操作。根據扇區被編程到第一非易失性存儲器230的次 序,首先轉儲刷新扇區159。在移動扇區159之前,確定是否有要被轉儲刷 新的附加的扇區包括在與扇區159相同的組中。也就是說,對于具有扇區號 150到199的扇區,掃描要被轉儲刷新的扇區(①)。扇區188和162被識別 為掃描的結果,并且被傳送到被分配或關聯(associate)到數據塊Block3的 記錄塊LOGBLOCKl (②)。當傳送扇區1時,對于與扇區l相同的組的扇 區,掃描要被轉儲刷新的剩余扇區。也就是說,對于具有扇區號0到49的 扇區,掃描要被轉儲刷新的扇區(③)。由于不存在與扇區l相同組的扇區, 扇區l被編程到分配的記錄塊LOGBLOCK0 (④)。如上所述,在轉儲刷新 的時間點掃描要被轉儲刷新的扇區,并在剩余扇區之前將相同組中的扇區傳 送到第二非易失性存儲器240的記錄塊。
盡管并沒有參考用于執行上述掃描操作的設備具體描述圖9的操作,但 是應當理解,上述操作可以由這里圖1、 2和6所述的設備中的任何一個來 執行,例如存儲卡250的存儲控制器220和/或主機110的主機驅動程序120。
圖10是示出根據一些實施例的電子裝置的框圖。該電子裝置可以是例 如數字照相機。參考圖10,數字照相機300可以包括存儲卡310。根據示范 性實施例的數字照相機300可以包括存儲卡310,其包括用于數據存儲的第 一和第二非易失性存儲器312和313。數字照相機300包括用于與存儲卡310 實現接口的卡控制器320。數字照相機300還包括MCU 330和照相機圖像處 理器340,其電連接到總線。照相機圖像處理器340處理從圖像傳感器350 提供的圖像信號,該圖像傳感器350從鏡頭感測光學圖像。數字照相機300 還包括顯示器360,其處理圖像信號以提供可見圖像。還可以提供電池370 以為數字照相機300供電。盡管圖中未示出,但是應當理解,根據實施例的 系統還可以包括應用芯片組、移動DRAM等等。根據圖10的實施例的存儲卡310可以是MMC卡、SD卡、微SD卡、 存儲棒、ID卡、PCMCIA卡、芯片卡、USB卡、智能卡、CF卡等等。
非易失性存儲器312和313被配置為即使在斷電時也保持其中存儲的數 據。非易失性存儲器312和313可以被廣泛地用作例如蜂窩電話、PDA、數 字照相機、便攜式游戲控制臺、和/或MP3播放器的移動設備中的數據存儲 器和/或代碼存儲器。包括非易失性存儲器312和313以及閃速控制器311 的存儲卡310還可以被用于家用電器中,例如HDTV、 DVD、路由器、和/ 或GPS設備。
這里描述的存儲卡還可以被實現為系統。實現的系統可以是被包括作為 其它設備的一部分的計算系統,并且可以根據包括在該系統中的設備的需要 執行特定的計算操作,這與通用計算機不同。這樣的系統還可以包括具有中 央處理器的操作系統,并且可以通過操作系統執行應用以執行特定功能。一 般說來,該系統可以被配置為控制例如軍用設備、工業設備、通信設備、機 頂盒、DTV、和/或數字照相機的電子設備。
上述公開的主題將被認為是說明性的,而不是限制性的,并且所附的權 利要求書意欲覆蓋落入本發明的真實精神以及范圍的所有這樣的修改、增強 及其他實施例。因而,以法律允許的最大程度,本發明的范圍將由以下權利 要求書和它們的等價物的最寬泛的可允許的解釋來確定,而不應該被前述詳 細說明限制或局限。
對相關申請的交叉引用
本申請要求于2008年6月17日向韓國特許廳提交的韓國專利申請 No.10-2008-0056980的優先權,通過引用將其/>開的全部內容合并于此。
權利要求
1、一種在包括第一存儲設備和第二存儲設備的存儲系統中管理數據的方法,該方法包括以預定單元將數據編程到第一存儲設備中;以及根據轉儲刷新順序以逐個組的方式將被編程在第一存儲設備中的多個數據轉儲刷新到第二存儲設備的至少一個記錄塊中,其中所述多個數據中的數據被指派到分別具有各自不同的轉儲刷新優先級的至少兩個不同的組,其中所述不同的組中的至少一個具有被指派給其的多個數據的至少兩個單元。
2、 如權利要求1所述的方法,其中,該多個數據包括多個扇區數據,而且其中根據其邏輯扇區號將該多個扇區數據中的一個或多個包括在所述不同的組中的一個中。
3、 如權利要求2所述的方法,其中,包括在相同的組中的多個扇區數據中的扇區數據具有與第二存儲設備的相同的數據塊對應的邏輯扇區號。
4、 如權利要求1所述的方法,其中,在轉儲刷新順序中的所述不同的組的各自的轉儲刷新優先級是根據多個數據中的多少個單元被包括在所述不同的組中的每一個中來確定的。
5、 如權利要求4所述的方法,其中,包括在相同的組中的多個數據的每一個根據其邏輯扇區號具有與其相關的各自的優先級。
6、 如權利要求1所述的方法,其中,在轉儲刷新順序中的所述不同的組中的至少一個的各自的轉儲刷新優先級是根據在確定各自的轉儲刷新優先級時所述至少 一個記錄塊被指派到的第二存儲設備的數據塊來確定的。
7、 如權利要求6所述的方法,其中,包括具有與第二存儲設備的數據塊對應的邏輯扇區號的所述多個數據中的至少一個的組包括轉儲刷新順序中的最高優先級,而且被首先轉儲刷新到第二存儲設備中。
8、 一種存儲系統中的數據轉儲刷新方法,其將緩沖在第一存儲設備中的多個數據傳送到第二存儲設備中,該方法包括選擇要傳送到第二存儲設備的多個數據中的一個;檢測多個數據中具有與多個數據中所選擇的 一個數據相同的第二存儲設備的目標塊的至少一個附加數據;以及在移動多個數據中的剩余數據之前,將多個數據中的選擇的和檢測的數據移動到被指派給該目標塊的第二存儲設備的記錄塊中。
9、 如權利要求8所述的方法,其中,該多個數據包括多個扇區數據,以及其中該移動步驟包括按照多個扇區數據中的被選擇和檢測的數據當中具有較低邏輯扇區號的扇區數據被首先移動的順序,將多個扇區數據中的被選擇和檢測的扇區數據依次移動到記錄塊中。
10、 如權利要求9所述的方法,其中,重復所述選擇、檢測、和移動步驟,直到緩沖在第一存儲設備中的多個扇區數據被傳送到第二存儲設備中。
11、 如權利要求8所述的方法,其中,多個數據中的被選擇的一個數據包括根據第 一存儲設備的緩沖順序的多個數據中的第 一個數據。
12、 一種信息處理系統,包括第一存儲設備,被配置為以預定單元按照緩沖順序依次存儲從主機設備提供的數據;第二存儲設備,被配置為存儲從第一存儲設備傳送給其的多個數據;和控制器,被配置為提供主機與第一和第二存儲設備之間的接口,并根據轉儲刷新順序以逐個組的方式將來自于第一存儲設備的多個數據轉儲刷新到第二存儲設備中,其中多個數據中的數據被指派到分別具有不同的各自的轉儲刷新優先級的至少兩個不同的組,其中不同的組中的至少 一個具有^皮指派給其的多個數據的至少兩個單元。
13、 如權利要求12所述的信息處理系統,其中,第一和第二存儲設備被包括在非易失性存儲卡中。
14、 如權利要求13所述的信息處理系統,其中,根據記錄塊映射方法管理第二存儲設備中的數據,而且其中該控制器被配置為將該多個數據轉儲刷新到第二存儲設備的至少 一個記錄塊中。
15、 如權利要求14所述的信息處理系統,其中,多個數據中的數據根據第二存儲設備的數據塊大小被分配到不同的組。
16、 如權利要求15所述的信息處理系統,其中,在不同的組當中,包括多個數據中的較大數量的數據的組具有轉儲刷新順序中的較高轉儲刷新優先級。
17、 如權利要求15所述的信息處理系統,其中,在不同的組當中,包括具有與該第二存儲設備的至少 一個記錄塊被指派給其的第二存儲設備的數據塊對應的邏輯扇區號的多個數據中的至少 一個的組包括轉儲刷新順序 中的最高優先級,并且被控制器首先轉儲刷新。
18、 如權利要求17所述的信息處理系統,其中,包括多個數據中的較 大數量的數據的組具有轉儲刷新順序中的較低轉儲刷新優先級。
19、 如權利要求13所述的信息處理系統,其中,該控制器包括主機驅 動程序,其被配置為將多個數據中的數據指派到分別具有各自的轉儲刷新優 先級的不同的組中。
20、 如權利要求14所述的信息處理系統,其中,該控制器包括存儲控 制器,其包括閃速轉換層,被配置為將多個數據中的數據指派到分別具有各 自的轉儲刷新優先級的不同的組中。
21、 如權利要求20所述的信息處理系統,其中,該閃速轉換層根據在 由閃速轉換層確定各自的轉儲刷新優先級時第二存儲器的至少一個記錄塊 被指派到的第二存儲設備的數據塊,來確定不同的組中的至少一個的各自的 轉儲刷新優先級。
22、 如權利要求12所述的信息處理系統,其中,第一存儲設備是單電 平閃速存儲設備,第二存儲設備是多電平閃速存儲設備。
23、 一種數據管理方法,包括將緩沖在第 一存儲設備中的數據指派到至少兩個不同的組中以傳送到 第二存儲設備,以使得不同的組中的至少一個具有被指派給其的至少兩個數 據單元;以及以逐個組的方式根據與不同的組中的每一個分別相關的各自的優先級 依次將數據從第 一存儲設備傳送到第二存儲設備,以使得指派給具有較高優 先級的組的數據單元在指派給具有較低優先級的組的數據單元之前被傳送 到第二存儲設備。
24、 如權利要求23所述的方法,其中,所述不同的組中的每一個的各 自的優先級是基于指派給其的數據單元的數量。
25、 如權利要求23所述的方法,其中,指派給相同的組的數據的單元 包括與第二存儲設備的相同的數據塊對應的邏輯扇區號。
26、 如權利要求25所述的方法,其中,所述傳送數據的步驟包括 將數據傳送到第二存儲設備的至少 一個記錄塊,其中不同的組中的至少一個的各自的優先級是基于在確定各自的優先級時所述至少 一個記錄塊被指派到的第二存儲設備的數據塊來確定的。
27、如權利要求26所述的方法,其中,包括具有與至少一個記錄塊被 指派到的第二存儲設備的數據塊對應的邏輯扇區號的數據的單元的組包括 最高優先級。
全文摘要
一種非易失性存儲設備中的數據管理方法及非易失性存儲系統。該數據管理方法包括將緩沖在第一存儲設備中的數據指派到至少兩個不同的組,以傳送到第二存儲設備。所述不同的組中的至少一個具有被指派給其的至少兩個單元的數據。以逐個組的方式根據與所述不同的組中的每一個分別相關的各自的優先級依次將數據從第一存儲設備傳送到第二存儲設備,以使得指派給具有較高優先級的組的數據單元在指派給具有較低優先級的組的數據單元之前被傳送到第二存儲設備。也公開了相關系統和方法。
文檔編號G06F12/00GK101639808SQ20091014588
公開日2010年2月3日 申請日期2009年6月17日 優先權日2008年6月17日
發明者崔相勛, 張俊鎬, 李辰華, 鄭云在, 金男勛 申請人:三星電子株式會社