国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      存儲器系統(tǒng)的制作方法

      文檔序號:6476542閱讀:302來源:國知局
      專利名稱:存儲器系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及到一種存儲器系統(tǒng),例如,包含NAND閃存的存儲器系統(tǒng)。
      背景技術(shù)
      近來,非易失性存儲器被用在諸如大型計算機、個人電腦、家用電器、手機等各種裝置中。具體說,NAND閃存是一種非易失性存儲器,它是電可重寫的,并且可以具有大容量及高集成密度。此外,最近,有考慮利用NAND閃存來替代硬盤驅(qū)動器(HDD)。
      NAND閃存是一種在進行寫處理之前需要進行擦除處理的半導體存儲器。其工作壽命取決于重寫操作的次數(shù)。NAND閃存中的數(shù)據(jù)寫入/擦除操作就是通過在基底和控制柵極之間施加高電壓向浮柵注入電子或從浮##放電子。如果上述操作進行了很多次,那么,浮柵周圍的柵氧化物膜就會退化,并且注入浮柵的電子會流失,從而破壞數(shù)據(jù)。就是說,當重寫操作的次數(shù)增加時,寫入數(shù)據(jù)后數(shù)據(jù)的保持時間會變短(保持特性退化)。
      此外,利用個人電腦等所記錄的數(shù)據(jù)既具有時間局域性(timelocality),也具有區(qū)域局域性(regional locality)(文獻1: David A.Patterson and John L. Hennessy,"計算機組織與設(shè)計硬件/軟件接口,,,Morgan Kaufmann Pub, 2004/8/31)。所以,當記錄數(shù)據(jù)時,如果數(shù)據(jù)項原樣順序地記錄在外部所指定的地址中的話,那么,重寫處理(即擦除處理)就在短時間內(nèi)集中在指定的區(qū)域中,因此,擦除處理的次數(shù)就變得非常不均衡了。
      已知NAND閃存的工作壽命也取決于擦除處理之間的間隔,當所述間隔比較大時,所述保持特性就比較好,并且所述工作壽命就比較長(文獻2: Neal Mielke等,"編程/擦除循環(huán)期間電荷俘獲所導致的閃型EEPROM閾值的不穩(wěn)定性",IEEE TRANSACTIONS ON DEVICE ANDMATERIALS RELIABILITY, Vol. 4, NO.3, 2004年9月,pp. 335-344 )。
      這也表明,當擦除間隔變短時,所述保持特性變差,并且所述工作壽命變短。
      此外已知,即使寫操作以很短的間隔進行,所述保持特性也會恢復,除非擦除處理進行了相應(yīng)較長的時間(文獻3: Neal Mielke等,"閃存的分布式循環(huán)中的恢復效應(yīng),,,44th Annual International Reliability PhysicsSymposium, San Jose, 2006, pp. 29-35 )。

      發(fā)明內(nèi)容
      根據(jù)本發(fā)明的一個方面,提供一種存儲器系統(tǒng),該系統(tǒng)包括非易失性存儲器,包含多個塊作為數(shù)據(jù)擦除單位;測量單元,用來測量每個塊中的數(shù)據(jù)被擦除時的擦除時間;塊控制器,它具有塊表,該表將每個塊的指示自由狀態(tài)和使用狀態(tài)之一的狀態(tài)值與其所述擦除時間聯(lián)系起來;探測器,用來探測在短時間內(nèi)共同地進行了重寫的塊;第一選擇器,基于所述塊表中的信息選擇具有較早擦除時間的自由塊作為第一塊;第二選擇器,基于所述塊表中的信息選擇具有較早擦除時間的使用中的塊作為第二塊;以及均衡單元,用來在所述第一塊包含在由所述探測器所探測到的塊中時將所述第二塊中的數(shù)據(jù)移動到所述第一塊中。


      圖l是一個示意圖,顯示了包4、根據(jù)本發(fā)明的第一實施例所述的存儲器系統(tǒng)1在內(nèi)的計算機系統(tǒng)的例子;
      圖2是一個示意圖,顯示了根據(jù)第一實施例所述的存儲器系統(tǒng)1的配
      置;
      圖3A是一個電路圖,顯示了 NAND閃存10中所包含的塊的配置;圖3B顯示了在四值數(shù)據(jù)記錄系統(tǒng)中所獲得的閾值分布的例子;圖4是一個方框圖,顯示了 NAND控制器ll的配置例子;
      圖5是一個方框圖,顯示了塊控制器30和擦除時間測量單元31的配
      置;
      圖6是一個流程圖,顯示了由NAND控制器11所進行的寫操作的順
      序;
      圖7是一個流程圖,顯示了 NAND控制器11所進行的塊釋放處理;
      圖8是一個方框圖,顯示了分配塊選擇器32的配置;
      圖9是一個流程圖,顯示了由分配塊選擇器32所進行的分配塊選擇處
      理;
      圖10是一個流程圖,顯示了由NAND控制器11所進行的塊分配處理; 圖11是一個流程圖,顯示了由NAND控制器11所進行的塊擦除處理; 圖12是一個方框圖,顯示了短期重寫探測器34的配置; 圖13是一個流程圖,顯示了由短期重寫探測器34所進行的短期重寫 探測處理;
      圖14用來說明所述短期重寫探測處理的實際例子; 圖15是一個方框圖,顯示了均衡單元35的配置; 圖16是一個流程圖,顯示了由NAND控制器11所進行的均衡處理; 圖17是一個方框圖,顯示了替換源塊選擇器33的配置; 圖18是一個流程圖,顯示了由替換源塊選擇器33所進行的替換源塊 選擇處理;
      圖19是一個方框圖,顯示了根據(jù)本發(fā)明的第二實施例所述的分配塊選 擇器32的配置;
      圖20是一個流程圖,顯示了由根據(jù)第二實施例所述的分配塊選擇器 32所進行的分配塊選擇處理;
      圖21是一個方框圖,顯示了根據(jù)本發(fā)明的第三實施例所述的替換源塊 選擇器33的配置;
      圖22是一個流程圖,顯示了由根據(jù)第三實施例所述的替換源塊選擇器 33所進行的替換源塊選擇處理;圖23是一個方框圖,顯示了根據(jù)本發(fā)明的第四實施例所述的短期重寫 探測器34的配置;
      圖24是一個流程圖,顯示了由短期重寫探測器34所進行的短期重寫 探測處理;
      圖25是一個流程圖,顯示了緊接著圖24的短期重寫探測處理;
      圖26用來說明所述短期重寫探測處理的實際例子;
      圖27是一個方框圖,顯示了根據(jù)本發(fā)明的第五實施例所述的NAND
      控制器ll的配置例子;
      圖28是一個方框圖,顯示了塊控制器30的配置;
      圖29是一個流程圖,顯示了由NAND控制器11所進行的讀操作;
      圖30是一個流程圖,顯示了由替換源塊選擇器33所進行的替換源塊
      選捧處理;
      圖31是一個方框圖,顯示了根據(jù)一個實施例所述的SSD 100的配置; 圖32是一個方框圖,顯示了驅(qū)動控制電路102的配置; 圖33是一個方框圖,顯示了處理器107的配置; 圖34是一個透視圖,顯示了裝有所述SSD 100的便攜式電腦200的一 個例子;
      圖35是一個方框圖,顯示了使用SSD 100的便攜式電腦200的系統(tǒng)配 置的例子。
      具體實施例方式
      下面將參考附圖來說明本發(fā)明的實施例。注意,在下面的說明中,相 同的參考數(shù)字指示功能和配置相同的元件,只在必須的時候才進行重復性 說明。
      下面將說明NAND控制器11的寫操作。圖6是一個流程圖,顯示了 由NAND控制器11所進行的寫操作的順序。
      首先,在從CPU 2接收到寫請求后,NAND控制器ll開始進行寫操 作(步驟SIO)。然后,塊控制器30利用地址表30A檢查是否向含有所述 寫請求的地址的地址區(qū)寄存了某個塊編號(分配了某個塊)(步驟Sll)。 如果寄存了某個塊編號(分配了某個塊),那么,在這個地址區(qū)中必須將 數(shù)據(jù)覆寫,于是,塊控制器30執(zhí)行塊釋放處理,釋放與所述塊編號相對應(yīng) 的塊(步驟S12)。
      如果在步驟Sll中判斷為沒有寄存了塊編號(沒有分配了塊),或者在步驟12中執(zhí)行了塊釋放處理之后,分配塊選擇器32執(zhí)行分配塊選擇處 理,選擇要被分配到所述地址區(qū)的塊(分配塊)(步驟S13)。
      然后,均衡單元35和替換源塊選擇器33執(zhí)行均衡處理(步驟S14 )。 之后,塊控制器30檢查在所述均衡處理中所述分配塊是否被替換(步驟 S15)。如果所述分配塊被替換,那么,所述處理就返回步驟S13,并且分 配塊選擇器32再次執(zhí)行分配塊選擇處理。
      如果在步驟S15中判斷為所述分配塊沒有^皮替換,那么塊控制器30 就利用與所述分配塊相對應(yīng)的塊編號(分配塊編號)來執(zhí)行塊分配處理, 以便更新地址表30A和塊表30B (步驟S16)。然后,塊控制器30對所述 分配塊進行塊擦除處理(步驟S17 ).
      隨后,塊控制器30在擦除了數(shù)據(jù)的所述分配塊中寫入新數(shù)據(jù)(步驟 S18)。就是說,塊控制器30向NAND接口電路25發(fā)布寫請求?;谶@ 個寫請求,NAND接口電路25命令NAND閃存10在所述分配塊中寫入新 數(shù)據(jù)。
      之后,短期重寫探測器34執(zhí)行短期重寫探測處理(步驟S19)。塊控 制器30利用短期重寫探測器34所提供的短期重寫信息更新塊表30B中的 標記。這樣,NAND控制器11就執(zhí)行了所述寫操作的序列。
      下面將說明所述寫操作中所包含的每個處理的細節(jié)。圖8是一個方框圖,顯示了分配塊選擇器32的配置。圖9是一個流程圖,顯示了由分配塊選擇器32所進行的分配塊選擇處理。
      分配塊選擇器32包括兩個選擇器32A和32B。分配塊選擇器32從塊控制器30接收所有塊信息(步驟S30)。這個所有塊信息被提供給選擇器32A。選擇器32A檢查所有塊的狀態(tài),并從所有塊中提取自由塊(步驟S31 )。然后,選擇器32A將與所述自由塊相對應(yīng)的塊信息(自由塊信息)發(fā)送到選擇器32B。
      選擇器32B從選擇器32A所提取的塊中選擇具有最早擦除時間的塊,作為分配塊(步驟S32)。與這個分配塊相對應(yīng)的分配塊編號被提供給塊控制器30。另外,與所述分配塊相對應(yīng)的分配塊信息被提供給均衡單元35。
      圖10是一個流程圖,顯示了由NAND控制器11所進行的塊分配處理。NAND控制器11為分配塊選擇器32所選擇的分配塊更新地址表30A和塊表30B中的信息。
      首先,塊控制器30從分配塊選擇器32接收所述分配塊編號(步驟S40)。然后,塊控制器30將所述分配塊的塊編號設(shè)置在地址表30A中所包含的、包含所述寫請求地址的地址區(qū)中(步驟S41)。隨后,塊控制器30將塊表30B中所包含的所述分配塊的狀態(tài)設(shè)置為使用狀態(tài)(a used state)(步驟S42)。這樣,由分配塊選擇器32所選擇的所述分配塊就從自由狀態(tài)變?yōu)閊f吏用狀態(tài)。
      為了延長NAND閃存10的工作壽命,需要使各個塊的擦除數(shù)均等,并避免在短時間內(nèi)在特定的區(qū)域中頻繁地進行重寫。如果只注意到擦除數(shù)的均等化以延長NAND閃存10的工作壽命,那么,根據(jù)寫狀態(tài),在短時間內(nèi)在特定的區(qū)域中會進行重寫。如果在短時間內(nèi)頻繁地進行校正(均衡),那么可以使所述擦除數(shù)均等并且避免在短時間內(nèi)在特定區(qū)域中集中進行寫入。然而,所述校正增加了擦除的次數(shù),這就使延長工作壽命變得不可能。另一方面,如果校正間隔延長得太大,那么短間隔擦除處理就會集中到某個特定區(qū)域,這就縮短了工作壽命?;谶@些發(fā)現(xiàn),在本實施例所述的均衡處理中,對均衡的次數(shù)進行優(yōu)化,并使各個塊的擦除數(shù)均等。
      均衡單元35和替換源塊選擇器33執(zhí)行所述均衡處理。圖15是一個方框圖,顯示了均衡單元35的配置。均衡單元35包括均衡判斷單元35A、以及用于存儲均衡閾值的存儲單元35B。
      均衡判斷單元35A利用所述均衡閾值、分配塊選擇器32所提供的分配塊信息、以及替換源塊選擇器33所提供的替換源塊信息來判斷在當前寫操作期間是否進行均衡處理。當進行均衡處理時,均衡判斷單元35A向NAND接口電路25發(fā)布與所述均衡處理相關(guān)的讀請求、擦除請求、和寫請求。
      圖16是一個流程圖,顯示了由NAND控制器11所進行的均衡處理。首先,替換源塊選擇器33執(zhí)行替換源塊選擇處理(步驟S70)。這個選擇處理的結(jié)果是,替換源塊選擇器33將所述替換源塊信息提供給均衡單元35。
      隨后,均衡判斷單元35A檢查分配塊選擇器32所提供的分配塊信息,并判斷這個分配塊信息中所包含的短期重寫標記是否為"ON"(步驟S71)。如果所述短期重寫標記為OFF,即,如果所述分配塊不頻繁地進行重寫,那么,均衡判斷單元35A就判斷所述替換源塊和所述分配塊的擦除數(shù)之間的差是否超過了均衡閾值(步驟S72)。如果所述差沒有超過所述均衡閾值,那么均衡單元35在當前的寫操作中不進行均衡處理。
      這個均衡閾值用來判斷是否進行均衡處理,它的設(shè)置基于這樣一個標準,該標準指示了 NAND閃存10的工作壽命(或數(shù)據(jù)保持時間)要^J^長的程度。如前所述,如果只注意到擦除數(shù)的均等化以延長NAND閃存IO的工作壽命,那么,由于進行均衡的緣故,數(shù)據(jù)擦除會發(fā)生許多次,這就增加了在某個特定區(qū)域中的擦除的次數(shù)。所以,在本實施例中,只有當所述替換源塊和分配塊的擦除數(shù)之間的差超過了所述均衡閾值時,才進行所述均衡處理。
      如果在步驟S71中短期重寫標記為ON,或者如果在步驟S72中超過了所述均衡閾值,那么,塊控制器30就對所述替換源塊進行塊釋放處理(步驟S73)。這個塊釋放處理與圖7所示的相同。
      隨后,塊控制器30執(zhí)行塊分配處理,將分配塊選擇器32所選擇的分配塊分配為替換源塊的數(shù)據(jù)要被移入的塊(步驟S74)。這個塊分配處理與圖IO所示的相同。
      然后,NAND控制器11讀取NAND閃存10中所包含的所述替換源塊的數(shù)據(jù)(步驟S75)。具體說,均衡判斷單元35A利用替換源塊選擇器33所提供的替換源塊信息向NAND接口電路25發(fā)布讀請求?;谶@個讀請求,NAND接口電路25命令NAND閃存10從所述替換源塊中讀取數(shù)據(jù)。所讀出的數(shù)據(jù)被臨時存儲在例如RAM 24中。
      之后,NAND控制器11擦除所述分配塊中的數(shù)據(jù)(步驟S76)。具體說,均衡判斷單元35A利用分配塊選擇器32所提供的分配塊信息向NAND接口電路25發(fā)布擦除請求?;谶@個擦除請求,NAND接口電路25命令NAND閃存10擦除所述分配塊中的數(shù)據(jù)。在這個步驟中,塊控制器30更新所述分配塊的擦除數(shù)和擦除時間(圖11)。
      隨后,NAND控制器11將從所述替換源塊中讀出的數(shù)據(jù)寫入NAND
      22閃存10中所包含的所述分配塊中(步驟S77 )。具體說,均衡判斷單元35A 利用所述分配塊信息向NAND接口電路25發(fā)布寫請求。基于這個寫請求, NAND接口電路25命令NAND閃存10將所述數(shù)據(jù)寫入所述分配塊中。
      上述處理可以將某個替換源塊中的數(shù)據(jù)移到某個分配塊中,并使所述 替換源塊成為自由塊。因此,大概不頻繁進行重寫的替換源塊可以被復用 為分配塊。另外,不被頻繁地重寫的數(shù)據(jù)被移動到擦除數(shù)已經(jīng)很大的分配 塊中。這就可以防止所述分配塊的擦除數(shù)將來增加。第三實施例給出了由替換源塊選擇器33所進行的替換源塊選擇處理 的另一個例子。就是說,選擇擦除時間早和擦除數(shù)小的塊,作為替換源塊。
      圖21是一個方框圖,顯示了根據(jù)第三實施例所述的替換源塊選擇器 33的配置。圖22是一個流程圖,顯示了由所述替換源塊選擇器33所進行 的替換源塊選擇處理。
      替換源塊選擇器33包括三個選擇器33A到33C、以及用來存儲替換 源塊設(shè)置值的存儲單元33D。替換源塊選擇器33從塊控制器30接收所有 塊信息(步驟S100 )。這個所有塊信息被提供給選擇器33A。選擇器33A 檢查所有塊的狀態(tài),并從所有塊中提取使用中的塊(步驟S101)。然后, 選擇器33A將與所述使用中的塊相對應(yīng)的塊信息(使用中的塊的信息)發(fā) 送到選擇器33B。
      選擇器33B從所述使用中的塊的信息中提取出滿足由所述替換源塊設(shè) 置值所設(shè)置的條件的塊信息(步驟S102 )。所述替換源塊設(shè)置值為下列(A ) 到(C )之一
      (A) 從具有最早擦除時間的塊開始的預定數(shù)目的塊
      (B) 從具有最早擦除時間的塊開始的預定比例的塊
      (C) 擦除時間比預定時間更早的塊
      條件(A)到(C )中的任何一個都可以被選作所述替換源塊設(shè)置值。例如, 當使用條件(A)作為所述替換源塊設(shè)置值時,選擇器33B在使用中的塊 中從具有最早擦除時間的塊開始順序地提取預定數(shù)目的塊。然后,選擇器 33B將與所提取的塊相對應(yīng)的塊信息發(fā)送到選擇器33C中。
      在* (A)和(B)之下,使用中的塊按擦除時間的順序進行揀選, 并從具有最早擦除時間的塊開始順序地搜尋預定數(shù)目/比例的塊。因此,在 步驟S102中可以增加所選擇的塊的數(shù)目,從而增加在步驟S103中選擇出 具有小擦除數(shù)的塊的可能性。在條件(C)之下,只需要揀選擦除時間超 過了預定時間的使用中的塊,所以,處理量是最低的。另外,在條件(A) 和(B)之下,總是從具有最早擦除時間的塊開始順序地提取預定數(shù)目/比 例的塊,而在條件(C)之下,則提取擦除時間比預定時間更早的塊。所
      26以,在條件(c)之下,擦除間隔總可以是預定間隔,于是用于比較擦除
      數(shù)的候選塊數(shù)目就可以減小。
      隨后,選擇器33C從選擇器33B所提取的塊中選擇具有最小擦除數(shù)的 塊作為替換源塊(步驟S103)。與這個替換源塊相對應(yīng)的替換源塊信息被 提供給均衡單元35。
      在上面所詳細描述的這個實施例中,當選擇用于進行均衡的替換源塊 時,從使用中的塊中可以選擇擦除時間早以及擦除數(shù)小的塊作為替換源塊。 這就可以選擇存儲著不常進行重寫的數(shù)據(jù)并具有良好保持特性的塊作為替 換源塊,并延長NAND閃存10的工作壽命。
      第四實施例給出了短期重寫探測處理的另 一個例子。在第四實施例中, 使用二分法搜尋(binary search )來進行短期重寫探測處理。
      圖23是一個方框圖,顯示了根據(jù)第四實施例所述的短期重寫探測器 34的配置。所述短期重寫探測器34包括選擇器34A、排列單元34B、搜 尋列表34C、判斷單元34D、用來存儲集中因子閾值(concentration factor threshold value )的存儲單元34E、以及信息輸出單元34F。
      判斷單元34D利用二分法搜尋從搜尋列表34C中選擇搜尋對象塊。然 后,判斷單元34D為這個搜尋對象塊計算要在短期重寫探測中使用的集中 因子,并判斷這個集中因子是否超過了所述集中因子閾值?;谒雠袛?結(jié)果,從搜尋列表34C對塊進行剔除,并使其范圍縮小到一個搜尋對象塊 上。利用所述最后一個搜尋對象塊,可以找到擦除時間發(fā)生突然變化的邊 界。
      存儲單元34E中所存儲的集中因子閾值用來指定數(shù)據(jù)凈皮頻繁重寫的塊 的范圍,該閾值的設(shè)置基于這樣一個標準,該標準指示了 NAND閃存10 的工作壽命(或數(shù)據(jù)保持時間)要^tt長的程度。當所述集中因子閾值減 小時,探測到短期重寫的可能性就增加,而當所述閾值增加時,這個可能 小生tfc減小。圖24和25是流程圖,顯示了由短期重寫探測器34所進行的短期重寫 探測處理。
      首先,短期重寫探測器34從塊控制器30接收所有塊信息(步驟S110 )。 這個所有塊信息被提供給選擇器34A。選擇器34A檢查所有塊的狀態(tài),并 從所有塊中提取使用中的塊(步驟Slll)。然后,選擇器34A將與所述使 用中的塊相對應(yīng)的塊信息(使用中的塊的信息)發(fā)送到排列單元34B。
      排列單元34B檢查所述使用中的塊的信息中所包含的擦除時間,并按 擦除時間的順序?qū)κ褂弥械膲K進行排列(步驟S112 )。將由排列單元34B 進行了排列的所述塊信息;^搜尋列表34C中,并從具有最晚擦除時間的 塊開始順序地為這些塊賦予序列號。
      隨后,在搜尋列表34C中,判斷單元34D將具有最晚擦除時間的塊設(shè) 置為"開頭",將具有最早擦除時間的塊設(shè)置為"結(jié)尾"(步驟S113)。 然后判斷單元選擇序列號為"(開頭+結(jié)尾)/2"的塊作為搜尋對象塊(步 驟S114)。
      之后,判斷單元34D為所述搜尋對象塊計算集中因子(步驟S115)。 這個集中因子由下式給出集中因子=當前時間-序列號-擦除時間。注意, 在所述集中因子中所使用的當前時間是,例如,從擦除時間測量單元31 提供給短期重寫探測器34的。可以使用,例如,擦除數(shù)計數(shù)器31A中的 計數(shù)作為所述當前時間。
      然后,判斷單元34D判斷所計算出的集中因子是否超過了所述集中因 子閾值(步驟S116)。如果所述集中因子超過了所述集中因子閾值,那么, 判斷單元3aD將所述搜尋對象塊設(shè)置為"結(jié)尾"(步驟S117)。隨后,判 斷單元34D從搜尋列表34C中剔除擦除時間比"結(jié)尾"的擦除時間更早的 塊(步驟S118)。
      另一方面,如果在步驟S116中判斷為所述集中因子沒有超過所述集中 因子閣值,那么,判斷單元34D就將擦除時間僅次于所述搜尋對象塊的擦 除時間而最早的塊^L置為"開頭"(步驟S119)。之后,判斷單元34D從 搜尋列表34C中剔除擦除時間比"開頭"的擦除時間更晚的塊(步驟S120 )。
      28在步驟S118或S120中從搜尋列表34C中排除了預定的塊之后,判斷 單元34D判斷在搜尋列表34C中是否還剩兩個或多個塊(步驟S121)。 如果在搜尋列表34C中還剩兩個或多個塊,那么,判斷單元34D就返回步 驟S114,并再次選擇搜尋對象塊。
      如果在步驟S121中判斷為在搜尋列表34C中沒有剩下兩個或多個塊, 那么判斷單元34D就選擇搜尋列表34C中的所述最后 一個塊作為搜尋對象 塊。然后,判斷單元34D為這個搜尋對象塊計算集中因子(=當前時間-序 列號-擦除時間)(步驟S122 )。
      隨后,判斷單元34D判斷所計算出的集中因子是否超過了所述集中因 子閾值(步驟S123)。如果所述集中因子超過了所述集中因子閾值,那么, 判斷單元34D就向信息輸出單元34F發(fā)送搜尋對象塊編號。通過^f吏用這個 搜尋對象塊編號,信息輸出單元34F計算所有塊中擦除時間比所述搜尋對 象塊的擦除時間更晚的塊的范圍(步驟S124)。信息輸出單元34F將上述 的范圍發(fā)送到塊控制器30,作為短期重寫信息。當接收到這個短期重寫信 息時,塊控制器30設(shè)置與所述短期重寫信息中所包含的塊相對應(yīng)的短期重 寫標記,并清除與其它塊相對應(yīng)的短期重寫標記。
      如果在步驟S123中判斷為所述集中因子沒有超過所述集中因子閾值, 那么,判斷單元34D就判斷為沒有探測到進行了短期重寫的塊,于是所述 短期重寫探測處理就結(jié)束了 。
      圖26用來說明由短期重寫探測器34所進行的短期重寫探測處理的實 際例子。假設(shè)NAND閃存10包括12個塊(塊#0到#11),塊#0到#7是 搜尋列表34C中所包含的使用中的塊,而塊#8到#11是自由塊。塊#0到#7 從具有最晚擦除時間的塊開始按擦除時間的順序排列。這些塊的擦除時間 示于圖26中。搜尋列表34C中所包含的塊#0到#7從具有最晚擦除時間的 塊開始按順序被賦予序列號。
      首先,在搜尋列表34C中,具有最晚擦除時間的塊#0被設(shè)置為"開頭", 而具有最早擦除時間的塊#7被:沒置為"結(jié)尾"。隨后,選擇具有序列號為 "(開頭+結(jié)尾)/2"的塊#3作為搜尋對象塊,為所述搜尋對象塊#3計算集中
      29因子(=當前時間-序列號-擦除時間),并檢查這個集中因子是否超過了所
      述集中因子閾值。假i殳所述當前時間為"106",所述集中因子閾值為"卯"。 搜尋對象塊#3的集中因子為"97",這個值超過了所述闊值。因此,將搜 尋對象塊#3設(shè)置為"結(jié)尾,,,并從搜尋列表34C中剔除擦除時間比塊#3 的擦除時間更早的塊糾到#7。
      然后,選擇具有序列號為"(開頭+結(jié)尾)/2"的塊#1作為搜尋對象塊, 為所述搜尋對象塊#1計算集中因子。搜尋對象塊#1的集中因子為"0", 這個值沒有超過所述閾值。所以,將擦除時間僅次于所述搜尋對象塊#1的 擦除時間而最早的塊#2設(shè)置為"開頭",并從搜尋列表34C中剔除擦除時 間比塊#2的擦除時間更晚的塊#0和#1。
      之后,選擇具有序列號為"(開頭+結(jié)尾)/2"的塊#2作為搜尋對象塊, 并為所述搜尋對象塊#2計算集中因子。搜尋對象塊#2的集中因子為"97", 這個值超過了所述閾值。所以,將搜尋對象塊#2設(shè)置為"結(jié)尾",并從搜 尋列表34C中剔除擦除時間比塊#2的擦除時間更早的塊#3。
      隨后,將搜尋列表34中最后剩下的塊#2選為搜尋對象塊,并為所述 搜尋對象塊#2計算集中因子。搜尋對象塊#2的這個集中因子超過了所述閾 值。因此,判斷單元34D就將搜尋對象塊#2的編號發(fā)送到信息輸出單元 34F。
      在包括自由塊在內(nèi)的所有的塊中,信息輸出單元34F對擦除時間比搜
      尋對象塊#2的擦除時間更晚的塊洲、#1、以及#8到#11進行計算。信息輸
      出單元34F將塊洲、#1、以及#8到#11發(fā)送到塊控制器30,作為短期重寫
      信息。塊控制器30 i殳置與塊洲、#1、以及#8到#11相對應(yīng)的短期重寫標記,
      并清除與其它塊相對應(yīng)的短期重寫標記。于是,就更新了塊表30B中的信 會
      在上面所詳細描述的這個實施例中,短期重寫探測器34能夠指定數(shù)據(jù) 被頻繁重寫的塊。另外,在所述短期重寫探測處理中,通過log2N次檢查 所述閾值來完成搜尋。這就可以增加短期重寫探測的效率。[第五實施例在第五實施例中,NAND控制器11包含錯誤檢查和校正(error check and correction, ECC )電路,這個ECC電路探測并校正數(shù)據(jù)讀取中的錯 誤。 一般地,隨著從數(shù)據(jù)寫入時起的時間的流逝,出錯數(shù)會增加。因此, 具有許多錯誤的塊可能是具有較早擦除時間的塊。所以,在這個實施例中, ECC電路所探測到的出錯數(shù)被用作替換源塊選擇的指數(shù)。圖27是一個方框圖,顯示了才艮據(jù)第五實施例所述的NAND控制器11 的配置例子。這個NAND控制器11包含ECC電路36。當從NAND閃存 IO中讀取數(shù)據(jù)時,ECC電路36探測并校正4I"^。另外,ECC電路36將 為每個塊探測到的出錯數(shù)發(fā)送到塊控制器30。圖28是一個方框圖,顯示了塊控制器30的配置。這個塊控制器30 中所包含的塊表30B為每個塊編號存儲著出錯數(shù)。每當從NAND閃存10 中讀取數(shù)據(jù)時(每當ECC電路36校正一個錯誤時),就更新所述塊表30B 中所包含的出錯數(shù)。下面將說明NAND控制器11的讀操作。圖29是一個流程圖,顯示了 由NAND控制器11所進行的讀操作。首先,當從CPU 2接收到讀請求時,NAND控制器11就開始進行讀 操作(步驟S130)。然后,塊控制器30利用地址表30A搜尋與包含所述 讀請求的地址的地址區(qū)相對應(yīng)的塊編號(步驟S131)。然后,塊控制器30從所述讀請求的塊中讀取數(shù)據(jù)(步驟S132 )。就 是說,塊控制器30向NAND接口電路25發(fā)布讀請求?;谶@個讀請求, NAND接口電路25命令NAND閃存10從所述讀請求的塊中讀取數(shù)據(jù)。之后,ECC電路36對從NAND閃存10中讀取的數(shù)據(jù)進行錯誤探測 與校正(步驟S133)。通過數(shù)據(jù)總線6將經(jīng)過了g校正的讀取數(shù)據(jù)提供 給CPU2等。在這個錯誤校正中,ECC電路36計算出錯數(shù),并將這個出 錯數(shù)發(fā)送到塊控制器30。塊控制器30從ECC電路36接收所述出錯數(shù), 并在塊表30B中記錄所述出錯數(shù)。這樣,就更新了塊表30B中所包含的出 錯數(shù)。下面將說明由替換源塊選擇器33所進行的替換源塊選擇處理。圖30 是一個流程圖,顯示了由替換源塊選擇器33所進行的替換源塊選擇處理。 注意,所述替換源塊選擇器33的配置與圖21所示的相同。替換源塊選擇器33從塊控制器30接收所有塊信息(步驟S140)。這 個所有塊信息被提供給選擇器33A。選擇器33A檢查所有塊的狀態(tài),并從 所有塊中提取使用中的塊(步驟S141)。然后,選擇器33A將與所述使用 中的塊相對應(yīng)的塊信息(使用中的塊的信息)發(fā)送到選擇器33B。選擇器33B從所述使用中的塊的信息中提取出滿足由述替換源塊設(shè)置 值所設(shè)置的條件的塊信息(步驟S142 )。在這個步驟中,"所具有的出錯 數(shù)大于預定值的塊"被設(shè)置為所述替換源塊設(shè)置值。然后,選擇器33C從選擇器33B所提取的塊中選擇具有最小擦除數(shù)的 塊作為替換源塊(步驟S143)。與這個替換源塊相對應(yīng)的替換源塊信息被 提供給均衡單元35。在上面所詳細描述的這個實施例中,在存儲器系統(tǒng)1的寫處理期間在 短時間內(nèi)共同地出現(xiàn)重寫的塊能夠被一度由數(shù)據(jù)寫入進行分配之后長時間 沒有進行釋放的塊來替換。這就可以抑制由短擦除時間間隔所引起的塊的 耗竭,并且可以在整個NAND閃存10中對塊的消耗進行均攤。另外,由ECC電路所計算出的出錯數(shù)較大的塊被選為替換源塊。因 此,由于對出錯數(shù)較大的塊的數(shù)據(jù)進行重寫,所以刷新處理(其中,讀取 NAND閃存10中所存儲的數(shù)據(jù),對其進行錯誤校正,并將其寫回NAND 閃存IO中)與所述均衡處理同時進行。于是,就能減少刷新處理的次數(shù)。 這就可以獲得一個效果,即,減少由刷新所導致的數(shù)據(jù)寫入的數(shù)量。[實施例]下面將說明通過將上述每個實施例中的存儲器系統(tǒng)1配置成固態(tài)驅(qū)動 器(solid state drive, SSD)而得到的實施例。圖31是一個方框圖,顯示 了 SSD 100的配置。SSD 100包括用于數(shù)據(jù)存儲的多個NAND閃存(NAND存儲器)10、32SSD 100通過ATA接口 ( ATA I/F)相對于主機裝置(諸如個人電腦) 進行數(shù)據(jù)傳輸。此外,SSD 100通過RS232C接口 ( RS232C I/F)相對于 調(diào)試裝置進行數(shù)據(jù)傳輸。電源電路103具有外部電源電壓,并利用這個外部電源電壓產(chǎn)生多個 內(nèi)部電源電壓。這些內(nèi)部電源電壓被提供給SSD 100的各個單元。此外, 電源電路103探測所述外部電源電壓的起伏,并產(chǎn)生通電重置信號或斷電 重置信號。所述通電重置信號或斷電重置信號被提供給驅(qū)動控制電路102。圖32是一個方框圖,顯示了驅(qū)動控制電路102的配置。驅(qū)動控制電路 102包括數(shù)據(jù)訪問總線104、第一電漆拴制總線105、和第二電路控制總線 106??刂普麄€驅(qū)動控制電路102的處理器107與第一電路控制總線105相 連。此外,存儲著管理程序(FW:固件)的引導程序的引導ROM108通 過ROM控制器109與第一電路控制總線105相連。另夕卜,從電源電路103 接收通電/斷電重置信號并將重置信號和時鐘信號提供給所述各個單元的 時鐘控制器109與第一電路控制總線105相連。第二電路控制總線106與第一電路控制總線105相連。并行IO( PIO ) 電路lll (向所述狀態(tài)顯示LED提供狀態(tài)顯示信號)和串行IO (SIO)電 路112 (控制RS232C接口 )與第二電路控制總線106相連。ATA接口控制器(ATA控制器)113、第一錯誤檢查和校正(ECC) 電路114、 NAND控制器115、和DRAM控制器119與數(shù)據(jù)訪問總線104 和第一電路控制總線105均相連。ATA控制器113通過ATA接口相對于 所述主機裝置來傳輸數(shù)據(jù)。用作數(shù)據(jù)工作區(qū)的SRAM 120通過SRAM控 制器121與數(shù)據(jù)訪問總線104相連。NAND控制器115包括NAND I/F 118 (相對于4個NAND存儲器10 進行接口處理)、第二ECC電路117、和控制DMA傳輸?shù)腄MA控制器33116 (在所述NAND存儲器和DRAM之間進行訪問控制)。
      圖33是一個方框圖,顯示了處理器107的配置。處理器107包括數(shù)據(jù)
      管理單元122、 ATA命令處理單元123、安全管理單元124、引導加載器
      125、初始化管理單元126和調(diào)試支持單元127。
      數(shù)據(jù)管理單元122通過NAND控制器115和第一 ECC電路114對與
      NAND芯片相關(guān)的各種功能以及對NAND存儲器和DRAM之間的數(shù)據(jù)傳
      輸進行控制。
      ATA命令處理單元123通過ATA控制器113和DRAM控制器119 與數(shù)據(jù)管理單元122協(xié)作進行數(shù)據(jù)傳輸處理。安全管理單元124與數(shù)據(jù)管 理單元122和ATA命令處理單元123協(xié)作來管理各種安全信息項。引導 加載器125在通電時從NAND存儲器10中將各種管理程序(FW)加載到 SRAM 120中。
      初始化管理單元126對驅(qū)動控制電路102中的各種控制器/電路進行初 始化。調(diào)試支持單元127對通過RS232C接口從外部提供的調(diào)試數(shù)據(jù)進行 處理。
      圖34是一個透視圖,顯示了裝有所述SSD 100的便攜式電腦200的一 個例子。便攜式電腦200具有主體201和顯示單元202。顯示單元202包 括顯示器外殼203和裝在顯示器外殼203內(nèi)的顯示裝置204。
      主體201包括機殼205、鍵盤206、和作為定點設(shè)備的觸摸墊207。在 機殼205中裝有主電路板、光盤裝置(optical disk device, ODD)單元、 卡的插口、 SSD 100等。
      所提供的卡的插口與機殼205的周圍側(cè)壁鄰近。在所述周圍側(cè)壁中, 形成面對所述卡的插口的開口 208。用戶可以通過開口 208從4幾殼205的 外部將附加裝置插入所述卡的插口并可以將其從所述卡的插口中拔出。
      可以將SSD 100安裝在便攜式電腦200中并替代常規(guī)的HDD,或者, 可以將SSD 100作為附加裝置插入便攜式電腦200上的卡的插口中。
      圖35顯示了4吏用SSD 100的1更攜式電腦200的系統(tǒng)配置的例子。所述 便攜式電腦200包括CPU 301、北橋302、主存儲器303、視頻控制器304、
      34音頻控制器305、南橋306、 BIOS-ROM 307、 SSD 100、 ODD單元308、 嵌入式控制器/鍵盤控制器(EC/KBC ) IC 309 、和網(wǎng)絡(luò)控制器310等。
      CPU 301是一個用來控制便攜式電腦200的操作的處理器,它執(zhí)行從 SSD 100加載到主存儲器303中的操作系統(tǒng)。當ODD單元308對所加載的 光盤進行讀處理或?qū)懱幚頃r,CPU301就執(zhí)行所述處理。
      CPU 301也執(zhí)行BIOS-ROM 307中所存儲的系統(tǒng)BIOS (basic input output system ,基本輸入輸出系統(tǒng))。系統(tǒng)BIOS是一個用于控制便攜式 電腦200中的石更件的程序。
      北橋302是一個橋式裝置,它將CPU 301的本地總線連接到南橋306 上。北橋302中具有存儲器控制器,用來控制對主存儲器303的訪問。
      北橋302的一個功能是,通過AGP總線(accelerated graphics port bus,加速圖形端口總線)與視頻控制器304和音頻控制器305進行通信。
      主存儲器303臨時存儲程序或數(shù)據(jù),它是CPU301的工作區(qū)。主存儲 器303由例如DRAM構(gòu)成。
      視頻控制器304是一個視頻再現(xiàn)控制器,用來對顯示單元(LCD ) 202 進行控制。顯示單元202被用作便攜式電腦200的顯示器。
      音頻控制器305是一個音頻再現(xiàn)控制器,用來對〗更攜式電腦200的揚 聲器311進行控制。
      南橋306控制LPC (low pin count,低管腳數(shù))總線上的裝置以及PCI (peripheral component interconnect,夕卜設(shè)組件互聯(lián))總線上的裝置。南 橋306也通過ATA接口來控制SSD 100。 SSD 100是用來存儲各種軟件和 數(shù)據(jù)的存儲單元。
      便攜式電腦200以扇區(qū)為單位對SSD 100進行訪問。通過ATA接口 將寫命令、讀命令和清除命令等提供給SSD100。
      南橋306的一個功能是,控制對BIOS-ROM 307和ODD單元308的 訪問。EC/KBC 309是單片微型計算機,其中嵌入了用于進行電源管理的 嵌入式控制器和用于控制鍵盤(KB) 206和觸摸墊207的鍵盤控制器。
      EC/KBC 309的一個功能是,根據(jù)用戶對電源掩組312的操作打開或 35關(guān)閉便攜式電腦200。網(wǎng)絡(luò)控制器310是一個通信單元,與外部網(wǎng)絡(luò)(例 如,互聯(lián)網(wǎng))進行通信。
      上述實施例中的存儲器系統(tǒng)1不限于所述SSD,也可以配置成存儲器 卡(其代表是SD (商標)卡)。當存儲器系統(tǒng)1被配置成存儲器卡時,它 不僅可以用于便攜式電腦,而且也可以用于其它各種電子裝置,諸如手機、 PDA (個人數(shù)字助理)、數(shù)碼相機、數(shù)字攝像機。
      本領(lǐng)域中的技術(shù)人員會容易地發(fā)現(xiàn)其它的優(yōu)點和修正。所以,本發(fā)明 就其更廣泛的方面而言不限于這里所顯示和描述的具體細節(jié)和有代表性的 實施例。因此,可以做出各種修正而不偏離由附屬權(quán)利要求書及其等^H兌 法所定義的一般性的發(fā)明性概念的精神或范圍。
      3權(quán)利要求
      1.一種存儲器系統(tǒng),包括非易失性存儲器,包含作為數(shù)據(jù)擦除單位的多個塊;測量單元,用來測量每個塊中的數(shù)據(jù)被擦除時的擦除時間;塊控制器,它具有塊表,該塊表將每個塊的指示自由狀態(tài)和使用狀態(tài)之一的狀態(tài)值與其所述擦除時間聯(lián)系起來;探測器,用來探測在短時間內(nèi)共同地進行了重寫的塊;第一選擇器,基于所述塊表中的信息選擇具有較早擦除時間的自由塊作為第一塊;第二選擇器,基于所述塊表中的信息選擇具有較早擦除時間的使用中的塊作為第二塊;以及均衡單元,用來在所述第一塊包含在由所述探測器所探測到的各個塊中時將所述第二塊中的數(shù)據(jù)移動到所述第一塊中。
      2. 根據(jù)權(quán)利要求l所述的系統(tǒng),其中,如果所述第二塊中的數(shù)據(jù)被移 動到所述第一塊中,那么所述第一選擇器就重選一個塊。
      3. 根據(jù)權(quán)利要求l所述的系統(tǒng),其中,所述塊控制器對每個塊的擦除 次數(shù)進行計數(shù),并將擦除數(shù)存儲在所述塊表中。
      4. 根據(jù)權(quán)利要求3所述的系統(tǒng),其中,如果所述第一塊包含在由所述 探測器所探測到的各個塊中,或者如果所述第一塊與所述第二塊的擦除數(shù) 之間的差超過了閾值,那么,所述均衡單元就將所述第二塊中的數(shù)據(jù)移動 到所述第一塊中。
      5. 根據(jù)權(quán)利要求l所述的系統(tǒng),其中,所述探測器探測一條邊界,在 該邊界處,各塊的擦除時間之差較大,并探測擦除時間比所述邊界更晚的 塊,作為在短時間內(nèi)共同地出現(xiàn)重寫的塊。
      6. 根據(jù)權(quán)利要求l所述的系統(tǒng),其中,所述塊表存儲著標記,該標記 指示是否在短時間內(nèi)在一個塊中共同地出現(xiàn)了重寫。
      7. 根據(jù)權(quán)利要求l所述的系統(tǒng),其中,所述探測器在使用中的各塊中計算第三塊的擦除時間與第四塊的擦除時間之間的差,其中,所述第四塊的擦除時間與所述第三塊的擦除時間相鄰且早于所述第三塊的擦除時間, 并且如果所述差大于預定間隔,那么就在所有的塊中探測擦除時間比所述 第四塊的擦除時間更晚的塊。
      8. 根據(jù)權(quán)利要求7所述的系統(tǒng),其中,所述探測器包括排列單元和判 斷單元,所述排列單元按擦除時間的順序來排列使用中的各塊的信息,而 所述判斷單元基于被排列的信息計算所述第三塊與所述第四塊的擦除時間 之差。
      9. 根據(jù)權(quán)利要求l所述的系統(tǒng),其中,所述第一選擇器選擇具有最早 擦除時間的自由塊作為所述第一塊。
      10. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述第一選擇器從具有最早 擦除時間的塊開始從預定數(shù)目的自由塊中選擇具有最小擦除數(shù)的塊,作為 所述第一塊。
      11. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述第一選擇器從具有最早 擦除時間的塊開始從預定比例的自由塊中選擇具有最小擦除數(shù)的塊,作為 所述第一塊。
      12. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述第一選擇器從擦除時間 早于預定時間的自由塊中選擇具有最小擦除數(shù)的塊,作為所述第一塊。
      13. 根據(jù)權(quán)利要求l所述的系統(tǒng),其中,所述第二選擇器選擇具有最 早擦除時間的使用中的塊,作為所述第二塊。
      14. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述第二選擇器從具有最早 擦除時間的塊開始從預定數(shù)目的使用中的塊中選擇具有最小擦除數(shù)的塊, 作為所述第二塊。
      15. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述第二選擇器從具有最早 擦除時間的塊開始從預定比例的使用中的塊中選擇具有最小擦除數(shù)的塊, 作為所述第二塊。
      16. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述第二選擇器從擦除時間 早于預定時間的使用中的塊中選擇具有最小擦除數(shù)的塊,作為所述第二塊。
      17. 根據(jù)權(quán)利要求l所述的系統(tǒng),其中,還包括錯誤檢查和校正電路, 該錯誤檢查和校正電路計算從所述非易失性存儲器中讀出的數(shù)據(jù)的出錯 數(shù),以及其中,所述塊表存儲著每個塊的出錯數(shù),以及所述第二選擇器從出錯數(shù)大于預定值的使用中的塊中選擇具有最小擦 除數(shù)的塊,作為所述第二塊。
      18. 根據(jù)權(quán)利要求l所述的系統(tǒng),其中,所述測量單元包括計數(shù)器,用來對在所有塊中進行的擦除的次數(shù)進行 計數(shù),以及所述擦除時間對應(yīng)著所述計數(shù)器中的計數(shù)。
      19. 根據(jù)權(quán)利要求l所述的系統(tǒng),其中, 所述測量單元測量每個塊中的數(shù)據(jù)被擦除時的時間,以及 所述擦除時間對應(yīng)著所述時間。
      20. 根據(jù)權(quán)利要求l所述的系統(tǒng),其中,所述測量單元測量在每個塊中的數(shù)據(jù)被擦除時所述存儲器系統(tǒng)的電源 提供時間,以及所述擦除時間對應(yīng)著所述電源提供時間。
      全文摘要
      一種存儲器系統(tǒng)包括非易失性存儲器,包含多個塊作為數(shù)據(jù)擦除單位;測量單元,用來測量每個塊中的數(shù)據(jù)被擦除時的擦除時間;塊控制器,它具有塊表,該表將每個塊的指示自由狀態(tài)和使用狀態(tài)之一的狀態(tài)值與其所述擦除時間聯(lián)系起來;探測器,用來探測在短時間內(nèi)共同地進行了重寫的塊;第一選擇器,基于所述塊表中的信息選擇具有較早擦除時間的自由塊作為第一塊;第二選擇器,基于所述塊表中的信息選擇具有較早擦除時間的使用中的塊作為第二塊;以及均衡單元,用來在所述第一塊包含在由所述探測器所探測到的塊中時將所述第二塊中的數(shù)據(jù)移動到所述第一塊中。
      文檔編號G06F12/16GK101652762SQ200880006649
      公開日2010年2月17日 申請日期2008年9月8日 優(yōu)先權(quán)日2008年4月24日
      發(fā)明者橘內(nèi)和也, 檜田敏克, 矢野浩邦, 矢野純二, 菅野伸一 申請人:株式會社東芝
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1