本發(fā)明涉及一種存儲器裝置,且特別涉及一種非易失性存儲器裝置及其迭代排序方法。
背景技術:
與傳統(tǒng)的硬盤機(harddiskdrives)相比,由于快閃存儲器(flashmemory)存儲設備的讀/寫性能佳且功耗低,使得快閃存儲器被廣泛應用于數據存儲系統(tǒng)中??扉W轉換層(flashtranslationlayer,ftl)是快閃存儲器型存儲設備的核心部分??扉W轉換層不僅負責調度數據路徑任務(datapathtasks,亦即有關于性能),而且還管理著快閃存儲器的可靠性(reliability,亦即有關于耐久性)。快閃轉換層為現有技術,故不再贅述。
快閃轉換層操作,例如磨損平衡(wearleveling)、垃圾收集(garbagecollection)或巡檢讀取(patrolread),利用了來自于存儲設備的多個實體塊(block)的一些元數據(metadata)。這些實體塊的每一個各自具有不同的元數據,以記錄自己實體塊本身的管理信息或計數值。例如,每個實體塊的所述元數據可能包括編程/抹除(program/erase)計數、無效數據計數(invaliddatacount)以及時間標記(timestamp)。每當快閃轉換層需要執(zhí)行磨損平衡、垃圾收集或巡檢讀取時,所述元數據(即這些實體塊)需要被排序(或至少需要找到最大或最小值)。如何找出這些元數據的最大值(或最小值),或是排序這些元數據,是一個重要的課題。
技術實現要素:
本發(fā)明提供一種非易失性存儲器裝置及其迭代排序方法,以從多個候選實體塊中選擇一個目標實體塊去進行管理操作。
本發(fā)明的實施例提供一種非易失性存儲器裝置。非易失性存儲器裝置包括非易失性存儲器以及控制器。非易失性存儲器具有多個實體塊。控制器耦接至非易失性存儲器。控制器可以進行迭代排序方法來從這些實體塊的k個候選實體塊中選擇一個目標實體塊,以及對該目標實體塊進行管理操作。迭代排序方法包括:從所述k個候選實體塊中任意選擇n-m個候選實體塊加入排序集合,依照元數據(metadata)來排序該排序集合中的所有候選實體塊,經排序后從該排序集合中取走具有最大元數據或最小元數據的一個候選實體塊作為該目標實體塊,以及在從該排序集合中取走該目標實體塊后保留該排序集合中的m個候選實體塊且將其余候選實體塊從該排序集合舍棄。其中,k、m、n為整數,且k>n>m。
本發(fā)明的實施例提供一種非易失性存儲器裝置的迭代排序方法,用以從多個實體塊的k個候選實體塊中選擇一個目標實體塊,以便對該目標實體塊進行一管理操作。所述迭代排序方法包括下述步驟。從所述k個候選實體塊中任意選擇n-m個候選實體塊加入排序集合。依照元數據來排序該排序集合中的所有候選實體塊。經排序后,從該排序集合中取走具有最大元數據或最小元數據的一個候選實體塊作為該目標實體塊。在從該排序集合中取走該目標實體塊后,保留該排序集合中的m個候選實體塊,且將其余候選實體塊從該排序集合舍棄。其中,k、m、n為整數,且k>n>m。
基于上述,本發(fā)明實施例所提供的非易失性存儲器裝置及其迭代排序方法,其可以在一個排序集合中保留了前次迭代的m個候選實體塊,并且從非易失性存儲器裝置的多個實體塊中任意選擇n-m個實體塊加入該排序集合,然后依照元數據來排序該排序集合中的所有實體塊。藉由迭代抽樣方法(iterativesamplingmethod)找最大值/最小值塊,然后去進行管理操作。該排序集合中的實體塊的數量可以遠小于非易失性存儲器裝置的實體塊的數量。與傳統(tǒng)解決方案相比較,由于更小的排序空間,因此復雜度低得多,且搜索延遲較小。
為讓本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合附圖作詳細說明如下。
附圖說明
圖1是依照本發(fā)明一實施例說明一種非易失性存儲器裝置的電路方塊(circuitblock)示意圖。
圖2是依照本發(fā)明一實施例說明一種迭代排序方法的流程示意圖。
圖3a至圖3e與圖4a至圖4e是以磨損平衡作為應用例,說明在迭代排序方法進行過程中的所述排序集合ss示意圖。
圖5是依照本發(fā)明另一實施例說明一種非易失性存儲器裝置的電路方塊(circuitblock)示意圖。
【符號說明】
10:主機
100、500:非易失性存儲器裝置
110、110’:控制器
111:中央處理單元
112:存儲器控制電路
113:存儲器緩沖器
114:迭代排序電路
115:錯誤校驗糾正(ecc)電路
120:非易失性存儲器
b1~b14:候選實體塊
pe:編程/抹除計數
s210~s260:步驟
ss:排序集合
具體實施方式
在本申請說明書全文(包括權利要求書)中所使用的“耦接(或連接)”一詞可指任何直接或間接的連接手段。舉例而言,若文中描述第一裝置耦接(或連接)于第二裝置,則應該被解釋成該第一裝置可以直接連接于該第二裝置,或者該第一裝置可以通過其他裝置或某種連接手段而間接地連接至該第二裝置。另外,凡可能之處,在圖式及實施方式中使用相同標號的元件/構件/步驟代表相同或類似部分。不同實施例中使用相同標號或使用相同用語的元件/構件/步驟可以相互參照相關說明。
圖1是依照本發(fā)明一實施例說明一種非易失性存儲器裝置100的電路方塊(circuitblock)示意圖。依照設計需求,非易失性存儲器裝置100可以是隨身碟、固態(tài)硬盤(solidstatedisc,ssd)或是其他存儲裝置。非易失性存儲器裝置100可以耦接至主機(host)10。此主機10可以是計算機、手持式電話、多媒體播放器、相機或是其他電子裝置。非易失性存儲器裝置100包括控制器110以及非易失性存儲器120。依照設計需求,非易失性存儲器120可以是與非快閃存儲器(nandflashmemory)或是其他非易失性存儲電路/元件。非易失性存儲器120具有多個實體塊(block),以便存放數據。
控制器110耦接至非易失性存儲器120。控制器110可以依照主機10的寫入命令(writecommand)的邏輯地址而存取非易失性存儲器120。在一些實施例中,所述邏輯地址信息可以是邏輯塊地址(logicalblockaddress,lba)或是其他邏輯地址。當主機10對非易失性存儲器裝置100發(fā)出一個寫入命令時,控制器110會將此主機寫入命令轉換(或解碼)為多個內部寫入動作/指令。所述“將一個主機寫入命令轉換為多個內部寫入動作/指令”即為寫入放大(writeamplification,wa)。寫入放大主要是為了內部寫入操作,例如垃圾收集(garbagecollection)、磨損平衡(wearleveling)和/或其他管理性寫入操作,以便管理數據更新和存儲耐久性(storageendurance)。除此之外,控制器110還可以對存取非易失性存儲器120進行其他管理操作,例如巡檢讀取(patrolread)或是其他快閃轉換層(flashtranslationlayer,ftl)操作等。所述管理操作(例如磨損平衡、垃圾收集或巡檢讀取)為現有技術,故不再贅述。
管理操作往往需要利用來自于非易失性存儲器120的多個實體塊的一些元數據(metadata)。這些實體塊的每一個各自具有不同的元數據,以記錄自己實體塊本身的管理信息或計數值。例如,每個實體塊的所述元數據可能包括編程/抹除(program/erase)計數、無效數據計數(invaliddatacount)以及時間標記(timestamp)。每當控制器110需要執(zhí)行管理操作(例如磨損平衡、垃圾收集或巡檢讀取)時,所述元數據(即這些實體塊)需要被排序(或至少需要找到最大或最小值),以便從這些實體塊找出一個目標實體塊。控制器110還可以對存取非易失性存儲器120進行“迭代排序方法”,來從非易失性存儲器120的k個候選實體塊中選擇一個目標實體塊,以及對該目標實體塊進行管理操作(容后詳述)。
在圖1所示實施例中,控制器110包括中央處理單元111、存儲器控制電路112、存儲器緩沖器113、迭代排序電路114與錯誤校驗糾正(errorcheckingandcorrecting,以下稱ecc)電路115。中央處理單元111經由通信接口耦接至主機10。依照設計需求,所述通信接口包括小型計算機系統(tǒng)接口(smallcomputersysteminterface,scsi)、串行連接小型計算機系統(tǒng)接口(serialattachedscsi,sas)、增強型小型裝置接口(enhancedsmalldiskinterface,esdi)、串行先進技術連接(serialadvancedtechnologyattachment,sata)、快速周邊元件互連(peripheralcomponentinterconnectexpress,pci-express)、整合式電子裝置(integrateddriveelectronics,ide)接口、通用串行總線(universalserialbus,usb)、雷電(thunderbolt)接口或其他接口。本實施例并沒有限制主機10與非易失性存儲器裝置100之間的接口結構。
當主機10發(fā)出寫入命令時,待寫入的數據可以被暫存于存儲器緩沖器113,而中央處理單元111可以將主機10的寫入命令(包含邏輯地址)轉換/解碼為對應的內部控制信號(包含非易失性存儲器120的物理地址),并將內部控制信號提供給存儲器控制電路112和/或存儲器緩沖器113。存儲器緩沖器113的例子包括動態(tài)隨機存取存儲器(dynamicrandomaccessmemory,dram)、靜態(tài)隨機存取存儲器(staticrandomaccessmemory,sram)或是其他易失性存儲器(volatilememory)。ecc電路115可以執(zhí)行ecc算法,以便將暫存于存儲器緩沖器113的數據加以編碼為碼字(codeword)。在一些實施例中,ecc電路115可以執(zhí)行bch(bose-chaudhuri-hocquengh)碼算法、低密度同位校驗(lowdensityparitycheck,ldpc)碼算法或是其他ecc算法。依照內部控制信號,存儲器控制電路112可以定址/控制非易失性存儲器120,以便將碼字寫入非易失性存儲器120。
當主機10發(fā)出讀取命令時,中央處理單元111可以將主機10的讀取命令(包含邏輯地址)轉換/解碼為對應的內部控制信號(包含非易失性存儲器120的物理地址)。依照內部控制信號,存儲器控制電路112可以定址/控制非易失性存儲器120,以便將非易失性存儲器120內的碼字讀出。ecc電路115可以執(zhí)行ecc算法,以便將碼字解碼為數據,并將經解碼的數據暫存于存儲器緩沖器113。然后,中央處理單元111可以將暫存于存儲器緩沖器113的數據回傳給主機10。
控制器110的迭代排序電路114可以對存取非易失性存儲器120進行“迭代排序方法”,來從非易失性存儲器120的k個候選實體塊中選擇一個目標實體塊。依據迭代排序電路114所選擇的目標實體塊,中央處理單元111可以對該目標實體塊進行管理操作。舉例來說,圖2是依照本發(fā)明一實施例說明一種迭代排序方法的流程示意圖。本實施例所提出的想法是藉由迭代抽樣方法(iterativesamplingmethod)找最大值/最小值塊。圖2所示流程繪示了一次迭代的各個步驟。請參照圖1與圖2,控制器110的迭代排序電路114可以在步驟s210中判定此次迭代是否為首次迭代。若步驟s210判定此次迭代為首次迭代,則迭代排序電路114可以進行步驟s220。若步驟s210判定此次迭代非為首次迭代,則迭代排序電路114可以進行步驟s230。
在步驟s220中,控制器110的迭代排序電路114可以從非易失性存儲器120的k個候選實體塊中任意選擇n個候選實體塊作為排序集合,其中k、n為整數,且k>n。在步驟s230中,控制器110的迭代排序電路114可以從非易失性存儲器120的k個候選實體塊中任意選擇n-m個候選實體塊加入該排序集合,其中m為整數,且k>n>m。本實施例并不限定步驟s220與步驟s230中所述“任意選擇”的實現方式。舉例來說(但不限于此),所述“任意選擇”可以是利用任何隨機算法而從多個實體塊中選擇一個或多個候選實體塊。
所述k個候選實體塊的定義,是指在非易失性存儲器120的所有實體塊中,適合進行某一個管理操作的部分實體塊集合。迭代排序電路114可以從這些k個候選實體塊選擇一個目標實體塊,然后中央處理單元111可以對該目標實體塊進行管理操作。舉例來說,當該管理操作為磨損平衡(wearleveling)操作時,所述k個候選實體塊為在非易失性存儲器120的所有實體塊中的所有自由實體塊。當該管理操作為垃圾收集(garbagecollection)操作時,所述k個候選實體塊為在非易失性存儲器120的所有實體塊中的所有已寫滿實體塊。當該管理操作為巡檢讀取(patrolread)操作時,所述k個候選實體塊為在非易失性存儲器120的所有實體塊中的所有已寫滿實體塊。
在步驟s240中,控制器110的迭代排序電路114可以依照元數據(metadata)來排序在所述排序集合中的所有候選實體塊。本實施例并不限定步驟s240的排序操作的實施方式。舉例來說,迭代排序電路114可以采用任何排序算法,來依照元數據(metadata)對在所述排序集合中的所有候選實體塊進行排序。該排序集合中的候選實體塊的數量n可以遠小于非易失性存儲器120的所有候選實體塊的數量k。所述數量n可以依照設計需求來決定。例如,非易失性存儲器120的所有候選實體塊的數量k可能是幾百萬(或更多),而該排序集合中的候選實體塊的數量n可以是幾個或幾十個(例如n=30)。與傳統(tǒng)解決方案相比較,由于更小的排序空間,因此復雜度低得多,且搜索延遲較小。
依照管理操作的需求,在步驟s240的所述排序操作,可以是遞增排序,也可以是遞減排序。舉例來說,當該管理操作為磨損平衡(wearleveling)操作時,步驟s240的所述元數據為編程/抹除計數(program/erase),而步驟s240的所述排序操作可以是遞增排序。當該管理操作為垃圾收集(garbagecollection)操作時,步驟s240的所述元數據為無效數據計數(invaliddatacount),而步驟s240的所述排序操作可以是遞減排序。當該管理操作為巡檢讀取(patrolread)操作時,步驟s240的所述元數據為時間標記(timestamp),而步驟s240的所述排序操作可以是遞增排序。
在步驟s250中,控制器110的迭代排序電路114可以從該排序集合中取走具有最大元數據(或最小元數據)的一個候選實體塊作為該目標實體塊。舉例來說,當該管理操作為磨損平衡(wearleveling)操作時,步驟s250可以從該排序集合中取走具有最小元數據(最小編程/抹除計數)的一個候選實體塊作為該目標實體塊。當該管理操作為垃圾收集(garbagecollection)操作時,步驟s250可以從該排序集合中取走具有最大元數據(最大無效數據計數)的一個候選實體塊作為該目標實體塊。當該管理操作為巡檢讀取(patrolread)操作時,步驟s250可以從該排序集合中取走具有最小元數據(最早時間標記)的一個候選實體塊作為該目標實體塊。因此,控制器110的中央處理單元111可以對該目標實體塊進行管理操作。
在步驟s260中,控制器110的迭代排序電路114可以保留該排序集合中的m個候選實體塊,且將其余候選實體塊從該排序集合舍棄。所述數量m可以依照設計需求來決定。步驟s260可以從該排序集合中保留具有最大元數據(或最小元數據)的m個候選實體塊。舉例來說,當該管理操作為磨損平衡(wearleveling)操作時,步驟s260可以從該排序集合中保留具有最小元數據(最小編程/抹除計數)的m個候選實體塊。當該管理操作為垃圾收集(garbagecollection)操作時,步驟s260可以從該排序集合中保留具有最大元數據(最大無效數據計數)的m個候選實體塊。當該管理操作為巡檢讀取(patrolread)操作時,步驟s260可以從該排序集合中保留具有最小元數據(最早時間標記)的m個候選實體塊。
舉例來說,圖3a至圖3e與圖4a至圖4e是以磨損平衡作為應用例,說明在迭代排序方法進行過程中的所述排序集合ss示意圖。在圖3a至圖3e與圖4a至圖4e所示實施例中,排序集合ss中的候選實體塊的數量n被設定為8,而該排序集合中的候選實體塊的保留數量m被設定為2。依照設計需求,在其他實施例中,數量n和/或數量m可以被設定為其他數值。
圖3a至圖3e說明控制器110在進行首次迭代的過程。在排序集合ss沒有有效候選實體塊時,或是非易失性存儲器裝置100被初始化后,則迭代排序電路114可以進行步驟s220,以從非易失性存儲器120的k個候選實體塊中任意選擇n個候選實體塊作為排序集合ss。請參照圖3a,迭代排序電路114從非易失性存儲器120的k個候選實體塊中任意選擇8個候選實體塊(例如圖3a所示候選實體塊b1~b8)作為排序集合ss。其中,假設候選實體塊b1的編程/抹除計數pe(元數據)為10,候選實體塊b2的編程/抹除計數pe為14,候選實體塊b3的編程/抹除計數pe為7,候選實體塊b4的編程/抹除計數pe為68,候選實體塊b5的編程/抹除計數pe為52,候選實體塊b6的編程/抹除計數pe為33,候選實體塊b7的編程/抹除計數pe為3,而候選實體塊b8的編程/抹除計數pe為25。
請參照圖3b,控制器110的迭代排序電路114在步驟s240中依照編程/抹除計數pe來排序在所述排序集合ss中的所有候選實體塊b1~b8(遞增排序)。
請參照圖3c,控制器110的迭代排序電路114在步驟s250中可以從排序集合ss中取走具有最小編程/抹除計數pe的一個候選實體塊作為該目標實體塊。在圖3c所示實施例中,候選實體塊b7是排序集合ss中的具有最小編程/抹除計數pe的候選實體塊。因此,迭代排序電路114可以從排序集合ss中取走候選實體塊b7作為該目標實體塊??刂破?10的中央處理單元111可以對候選實體塊b7(目標實體塊)進行磨損平衡操作(管理操作)。
請參照圖3d,控制器110的迭代排序電路114在步驟s260中可以保留排序集合ss中的2個候選實體塊,且將其余候選實體塊從排序集合ss舍棄。在圖3d所示實施例中,步驟s260可以從排序集合ss中保留具有最小編程/抹除計數pe(元數據)的2個候選實體塊b3與b1。排序集合ss中的其余候選實體塊b2、b8、b6、b5與b4會被舍棄。
圖3e繪出舍棄了其余候選實體塊后的排序集合ss。在圖3e所示實施例中,候選實體塊b3與b1被保留在排序集合ss中。在一些實施例中,圖3e所示留有候選實體塊b3與b1的排序集合ss可以被存儲在非易失性存儲器120。在另一些實施例中,圖3e所示留有候選實體塊b3與b1的排序集合ss可以被存儲在易失性存儲器(例如存儲器緩沖器113或是其他隨機存取存儲器)中。在斷電之前,被存儲在易失性存儲器中的排序集合ss可以被存儲至非易失性存儲器120,以便在斷電(powerloss)期間保留圖3e所示留有候選實體塊b3與b1的排序集合ss。斷電后,易失性存儲器中的排序集合ss將被丟失。當在下次上電(poweron)時,控制器110的迭代排序電路114可以選擇使用(或不使用)在非易失性存儲器120中留有候選實體塊的排序集合ss。若系統(tǒng)選擇不使用在非易失性存儲器120中的排序集合ss,則在電源接通后,迭代排序電路114將重新進行上述迭代排序方法的首次迭代過程。若系統(tǒng)選擇使用在非易失性存儲器120中的排序集合ss,則在電源接通后,迭代排序電路114將從非易失性存儲器120取出圖3e所示留有候選實體塊b3與b1的排序集合ss,以待下一次迭代所使用。
圖4a至圖4e說明控制器110在進行第二次迭代的過程。當再一次進行磨損平衡操作(管理操作)時,上述迭代排序方法會被再次執(zhí)行。在排序集合ss具有有效候選實體塊時,則迭代排序電路114可以進行步驟s230,以從非易失性存儲器120的k個候選實體塊中任意選擇n-m個候選實體塊加入排序集合ss。例如,請參照圖4a,迭代排序電路114從非易失性存儲器120的k個候選實體塊中任意選擇6個(n-m個)候選實體塊(例如圖4a所示候選實體塊b9~b14)加入排序集合ss。其中,假設候選實體塊b9的編程/抹除計數pe(元數據)為61,候選實體塊b10的編程/抹除計數pe為9,候選實體塊b11的編程/抹除計數pe為4,候選實體塊b12的編程/抹除計數pe為29,候選實體塊b13的編程/抹除計數pe為12,而候選實體塊b14的編程/抹除計數pe為23。
請參照圖4b,控制器110的迭代排序電路114在步驟s240中依照編程/抹除計數pe來排序在所述排序集合ss中的所有候選實體塊b3、b1與b9~b14(遞增排序)。
請參照圖4c,控制器110的迭代排序電路114在步驟s250中可以從排序集合ss中取走具有最小編程/抹除計數pe的一個候選實體塊作為該目標實體塊。在圖4c所示實施例中,候選實體塊b11是排序集合ss中的具有最小編程/抹除計數pe的候選實體塊。因此,迭代排序電路114可以從排序集合ss中取走候選實體塊b11作為該目標實體塊??刂破?10的中央處理單元111可以對候選實體塊b11(目標實體塊)進行磨損平衡操作(管理操作)。
請參照圖4d,控制器110的迭代排序電路114在步驟s260中可以保留排序集合ss中的2個候選實體塊,且將其余候選實體塊從排序集合ss舍棄。在圖4d所示實施例中,步驟s260可以從排序集合ss中保留具有最小編程/抹除計數pe(元數據)的2個候選實體塊b3與b10。排序集合ss中的其余候選實體塊b1、b13、b14、b12與b9會被舍棄。
圖4e繪出舍棄了其余候選實體塊后的排序集合ss。在圖4e所示實施例中,候選實體塊b3與b10被保留在排序集合ss中,以待下一次迭代所使用。以此類推,當快閃轉換層需要進行磨損平衡時,上述迭代過程會被重復進行。
值得注意的是,在不同的應用情境中,上述控制器110、中央處理單元111、存儲器控制電路112、迭代排序電路114和/或ecc電路115的相關功能可以利用一般的編程語言(programminglanguages,例如c或c++)、硬件描述語言(hardwaredescriptionlanguages,例如veriloghdl或vhdl)或其他合適的編程語言來實現為軟件、固件或硬件。可執(zhí)行所述相關功能的軟件(或固件)可以被布置為任何已知的計算機可存取介質(computer-accessiblemedias),例如磁帶(magnetictapes)、半導體(semiconductors)存儲器、磁盤(magneticdisks)或光盤(compactdisks,例如cd-rom或dvd-rom),或者可通過互聯(lián)網(internet)、有線通信(wiredcommunication)、無線通信(wirelesscommunication)或其它通信介質傳送所述軟件(或固件)。所述軟件(或固件)可以被存放在計算機的可存取介質中,以便于由計算機的處理器來存取/執(zhí)行所述軟件(或固件)的編程碼(programmingcodes)。另外,本發(fā)明的裝置和方法可以通過硬件和軟件的組合來實現。
舉例來說,圖5是依照本發(fā)明另一實施例說明一種非易失性存儲器裝置500的電路方塊(circuitblock)示意圖。非易失性存儲器裝置500包括控制器110’以及非易失性存儲器120。在圖5所示實施例中,控制器110’包括中央處理單元111、存儲器控制電路112、存儲器緩沖器113與ecc電路115。圖5所示非易失性存儲器裝置500、控制器110’、非易失性存儲器120、中央處理單元111、存儲器控制電路112、存儲器緩沖器113與ecc電路115可以參照圖1所示非易失性存儲器裝置100、控制器110、非易失性存儲器120、中央處理單元111、存儲器控制電路112、存儲器緩沖器113與ecc電路115的相關說明來類推,故不再贅述。在圖5所示實施例中,迭代排序電路114已被省略,而迭代排序電路114的功能可以利用固件和/或軟件方式實現于中央處理單元111中。
綜上所述,本發(fā)明諸實施例所述非易失性存儲器裝置及其迭代排序方法,其可以在一個排序集合ss中保留了前次迭代的m個候選實體塊。當再一次進行管理操作時,所述非易失性存儲器裝置可以從非易失性存儲器120的多個候選實體塊中任意選擇n-m個候選實體塊加入排序集合ss,然后依照元數據來排序在排序集合ss中的所有候選實體塊。經排序后,所述非易失性存儲器裝置可以從排序集合ss中取走具有最大(或最小)元數據的一個候選實體塊作為目標實體塊,以便對該目標實體塊進行某一管理操作。在從排序集合ss中取走該目標實體塊后,所述非易失性存儲器裝置可以保留排序集合ss中的m個候選實體塊,且將其余候選實體塊從排序集合ss舍棄。保留了m個候選實體塊的排序集合ss可以被保存,以待下一次迭代所使用。藉由迭代抽樣方法(iterativesamplingmethod)找最大值/最小值塊,排序集合ss中的實體塊的數量可以遠小于非易失性存儲器120的實體塊的數量。與傳統(tǒng)解決方案相比較,由于更小的排序空間,因此復雜度低得多,且搜索延遲較小。
雖然本發(fā)明已以實施例公開如上,然其并非用以限定本發(fā)明,本領域技術人員,在不脫離本發(fā)明的精神和范圍內,當可作些許的更動與潤飾,故本發(fā)明的保護范圍當視所附權利要求書界定范圍為準。