亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

儲存裝置和其讀取回收方法與流程

文檔序號:11620497閱讀:268來源:國知局
儲存裝置和其讀取回收方法與流程

本申請要求于2015年12月18日在韓國知識產權局提交的韓國專利申請第10-2015-0181872的優(yōu)先權,其全部的內容通過引用合并于此。

公開的實施例涉及一種半導體存儲裝置,并且具體地,涉及一種儲存裝置和其讀取回收方法。



背景技術:

閃存存儲裝置正被用作如計算機、智能手機、個人數(shù)字助理(pda)、數(shù)碼相機、錄音機、mp3播放器、手持pc等的信息裝置的語音和圖像數(shù)據(jù)存儲媒介。然而,因為在寫入數(shù)據(jù)于閃存存儲器之前,擦除操作被執(zhí)行,將被寫入的數(shù)據(jù)單元可能大于將被擦除的數(shù)據(jù)單元。這導致甚至在閃存存儲器被用作輔助存儲裝置情況下也難以利用標準硬盤的文件系統(tǒng)。

被稱作“讀取回收(readreclaim)”的操作模式正在被應用于包括閃存存儲裝置的各種存儲裝置中。當關于任何一個存儲塊,讀操作被重復時,錯誤位增加,例如,由于讀取擾動。讀取回收指在不可修正的錯誤發(fā)生于存儲在存儲器中的數(shù)據(jù)之前,將存儲于存儲塊中的數(shù)據(jù)復制到不同的存儲塊中的操作。本公開提供了一種讀取回收技術,所述讀取回收技術能夠關于非易失性存儲裝置執(zhí)行有效管理和磨損均衡。



技術實現(xiàn)要素:

本公開的實施例提供可以降低讀取失敗的可能性的讀取回收方法和包括該讀取回收方法的存儲裝置。

本公開實施例的一方面旨在提供存儲裝置的讀取回收方法。所述方法可以包括:在隨機數(shù)量的讀操作的周期檢測存儲于多個存儲塊中的每一個內的非選擇數(shù)據(jù)中的錯誤位數(shù)量。選擇具有在隨機數(shù)量的讀操作的一個或多個周期上相對于讀操作的數(shù)量的、檢測到的錯誤位的數(shù)量以大于基準率的率值增加的存儲塊為弱塊。在固定數(shù)量的讀操作的周期中,檢測存儲于弱塊中的非選擇數(shù)據(jù)中的錯誤位數(shù)量。檢測根據(jù)固定數(shù)量的周期檢測到的錯誤位數(shù)量是否大于或等于讀取回收基準。非選擇數(shù)據(jù)為沒有被主機請求的數(shù)據(jù)。

本公開實施例的另一方面旨在提供存儲裝置的讀取回收方法。所述方法可以包括:在第一數(shù)量的讀操作之后,檢測存儲于多個存儲塊中的每一個中的數(shù)據(jù)的錯誤位數(shù)量。在第二數(shù)量的讀操作之后,檢測存儲于存儲塊中的每一個中的數(shù)據(jù)的錯誤位數(shù)量。對于每個存儲塊計算發(fā)生在第一數(shù)量和第二數(shù)量的讀操作之間的檢測到的錯誤位數(shù)量的增長率。存儲塊基于計算結果被分類為兩個組。兩個組的第一組的第一存儲塊被基于第一基準值指定為讀取回收塊,并且兩個組的第二組的第二存儲塊被基于不同于第一基準值的第二基準值指定為讀取回收塊。

本公開實施例的又一方面旨在提供一種包括非易失性存儲裝置和存儲控制器的存儲裝置,非易失性存儲裝置具有多個存儲塊。存儲控制器相對于對存儲塊請求的讀操作的數(shù)量,檢測在多個存儲塊中的每一個內存儲的數(shù)據(jù)的錯誤位數(shù)量的增長率。存儲控制器基于檢測到的存儲塊的增長率對每個存儲塊分配:(1)用于指定存儲塊為讀取回收塊的基準值,或者(2)在檢測存在于存儲塊中的錯誤位數(shù)量做出之前發(fā)生在周期中的讀操作的數(shù)量

本公開實施例的再一方面旨在提供非易失性存儲裝置的讀取回收方法。所述方法包括:a)接收之前的讀操作請求,讀操作請求為被之前的請求標識的非易失性存儲裝置的存儲塊的位置的讀操作;b)響應之前的請求和通過存儲塊的讀操作,確定由沒有被之前的請求標識的存儲塊的位置存儲的錯誤位數(shù)量;c)接收當前的讀操作請求,該讀操作為被當前的請求標識的存儲塊的位置的讀操作;d)響應于當前的請求并且通過存儲塊的讀操作,確定由沒有被當前的請求標識的存儲塊的位置存儲的錯誤位數(shù)量;e)相對于之前和當前的請求之間接收的讀操作請求的數(shù)量,確定所確定的錯誤位數(shù)量之間的增長率;f)當增長率超過基準率時指定存儲塊為弱塊,并且否則指定存儲塊為普通塊;g)重復操作(c)和操作(d)中的每一個多次;以及h)當在操作d)的重復中確定的錯誤位數(shù)量超過讀取回收閾值或對存儲塊的讀請求的總數(shù)超過閾值數(shù)時,指定弱塊為可用于讀取回收操作。

附圖說明

上述和其他目的和特征將參考后面的附圖從后面的描述變得清楚,其中除非另有指定,相同的標記指貫穿各圖指代相同的部件,并且其中

圖1為示出根據(jù)本公開實施例的儲存裝置的框圖;

圖2為示出根據(jù)本公開實施例,圖1中示出的存儲控制器的構造的框圖;

圖3為示出根據(jù)本公開的實施例的存儲控制器的功能的框圖;

圖4為示出根據(jù)本公開的實施例的非易失性存儲裝置的框圖;

圖5為示出根據(jù)本公開的實施例的每塊錯誤位表格的圖;

圖6為示出根據(jù)本公開的實施例,對弱塊的讀取回收方法的圖;

圖7為示出根據(jù)本公開的實施例,圖6示出的讀取回收方法的流程圖;

圖8a和圖8b為示出根據(jù)本公開的讀取回收方法的詳細示例的流程圖;

圖9為示出根據(jù)本公開的另一實施例,弱塊的讀取回收方法的圖;

圖10為示出根據(jù)本公開的一實施例的讀取回收方法的流程圖;

圖11為示出根據(jù)本公開的讀取回收方法的詳細示例的流程圖;

圖12為示出根據(jù)本公開的另一實施例的讀取回收方法的圖;

圖13為示出根據(jù)本公開的實施例,圖12示出的讀取回收方法的流程圖;

圖14為示出根據(jù)本公開的又一實施例的讀取回收方法的圖;

圖15為示出根據(jù)本公開的一實施例,圖12示出的讀取回收方法的流程圖;

圖16為示出根據(jù)本公開的另一實施例的儲存裝置的框圖;

圖17為示出使用弱塊信息的數(shù)據(jù)寫入方法的流程圖;

圖18為示出使用弱塊信息的數(shù)據(jù)寫入方法的另一示例的流程圖;

圖19為示出使用弱塊信息的數(shù)據(jù)寫入方法的另一示例的流程圖;

圖20為示出根據(jù)本公開的又一實施例的儲存系統(tǒng)的框圖;

圖21為示出參照主機提示信息分配存儲塊的方法的流程圖;

圖22為示出根據(jù)本公開的另一實施例的用戶系統(tǒng)的框圖;

圖23為示出包括在參照圖1、圖4、圖16、圖20和圖22描述的存儲單元陣列中的存儲塊的第一存儲塊的電路圖;

圖24為示出根據(jù)本公開的實施例的包括非易失性存儲系統(tǒng)的存儲卡系統(tǒng)的框圖;

圖25為示出根據(jù)本公開的實施例的包括非易失性存儲系統(tǒng)的固態(tài)驅動器的框圖;以及

圖26為示出根據(jù)本公開的另一實施例的包括非易失性存儲系統(tǒng)的用戶系統(tǒng)的框圖。

具體實施方式

可以理解為,之前的一般描述和后面的詳細描述兩者均作為示例提供,用于說明而不是為限定本公開的范圍?,F(xiàn)在將詳細地參照本公開的優(yōu)選實施例,所述實施例的示例在附圖中被闡明。在任何可能的情況下,同樣的附圖標記被用于在圖或描述中指代同樣的或類似的部件。

下面,將舉例說明使用閃存存儲裝置的儲存裝置,以描述本公開的特征和功能。然而,其他特征和功能可以從這里公開的信息被很容易地理解。本公開可以通過其他實施例實現(xiàn)和應用。此外,詳細的描述可以根據(jù)觀點和應用被變化或修改,而不背離本公開的主張,范圍和精神,以及任何其他目的。

圖1為示出根據(jù)本發(fā)明的實施例的儲存裝置的框圖。參照圖1,儲存裝置100可以包括存儲控制器110和非易失性存儲裝置120。在實施例中,存儲控制器110和非易失性存儲裝置120中的每一個可以通過一個芯片,一個封裝,或一個模塊實現(xiàn)。可替代地,存儲控制器110和非易失性存儲裝置120可以通過一個芯片,一個封裝,或一個模塊實現(xiàn)以構成存儲系統(tǒng),例如存儲卡,記憶棒,或固態(tài)驅動器(ssd)。

控制器110可以被配置成控制非易失性存儲裝置120。例如,存儲控制器110可以響應外部請求,向非易失性存儲裝置120中存儲數(shù)據(jù)或從非易失性存儲裝置120讀取數(shù)據(jù)。存儲控制器110可以為非易失性存儲裝置120提供命令,地址,和控制信號,以訪問非易失性存儲裝置120。

存儲控制器110可以包括讀取回收(rr)管理器(此后簡稱“rr管理器”)112。rr管理器112可以使用表格管理和保持以下信息:對于多個存儲塊中每一個的讀計數(shù),錯誤位數(shù)量,和錯誤位增長率(ebir)。上面描述的存儲在表格中的值可以在當讀操作發(fā)生的時間點被更新,并且可以被存儲在非易失性存儲裝置120中。所述rr管理器112可以基于每個存儲塊的錯誤位增長率ebir將存儲塊分類為至少兩組。例如,rr管理器112可以將如下存儲塊分類為弱塊,每個所述存儲塊具有大于基準的錯誤位增長率ebir。rr管理器112可以將如下的存儲塊分類為普通塊或強塊,每個所述存儲塊具有小于或等于基準的錯誤位增長率ebir。

當弱塊的錯誤位數(shù)量達到基準時,rr管理器112可以指定對應的存儲塊作為讀取回收塊??梢噪S機地或周期性地檢測弱塊的錯誤位。根據(jù)本公開的錯誤位檢測方式,弱塊可以在不可修正錯誤發(fā)生前被指定為讀取回收目標。

存儲控制器110可以進一步地包括非選擇讀取管理器(此處之后簡稱“usr管理器”)114。usr管理器114可以監(jiān)控在非易失性存儲裝置120中的每個存儲塊blk0到blki的錯誤位數(shù)量。也就是說,當存儲塊的被選擇頁的讀操作從主機被請求時,usr管理器114可以對鄰近被選擇頁的非被選擇頁執(zhí)行讀操作作為背景操作或者與被選擇頁同時。該讀操作可以被簡稱為“非被選擇讀操作”非被選擇頁的讀操作可以以隨機讀計數(shù)執(zhí)行。本公開的實施例將被舉例說明,其中隨機讀操作以隨機讀計數(shù)執(zhí)行。然而,本公開的范圍和精神不可以被限制于此。例如,隨機讀操作可以針對每個具體的讀計數(shù)周期被執(zhí)行。也就是說,當弱塊的錯誤位數(shù)量超過基準時,通常以隨機讀計數(shù)被執(zhí)行的非被選擇讀操作可以被周期性地執(zhí)行。

由usr管理器114計數(shù)的錯誤位數(shù)量可以用作計算相對于讀計數(shù)的存儲塊的錯誤位數(shù)量的增長率的信息。也就是說,被計數(shù)的錯誤位數(shù)量可以指用于rr管理器112選擇弱塊的信息。弱塊可以基于非選擇讀操作的結果被指定為讀取回收塊,所述非選擇讀操作對于弱塊周期性地執(zhí)行。rr管理器112或者usr管理器114可以在存儲控制器110內部以硬件組件或軟件組件的形式被實現(xiàn)。

在控制電路110的控制下,非易失性存儲裝置120可以存儲從存儲控制器110接收的數(shù)據(jù)或者可以向存儲控制器110傳輸存儲在其中的數(shù)據(jù)。非易失性存儲裝置120可以包括多個存儲塊blk0到blki。具體地,一個存儲塊可以包括多個頁。在一個頁被反復讀取的情況下,非選擇讀取電壓vread可以被施加于字線,所述字線分別對應于反復被讀取的頁之外的相同的塊的剩下的頁。非選擇讀取電壓vread可以是足夠開啟未被選擇存儲單元的電壓,并且其電平可以高于讀取電壓的電平。由于這個原因,當非選擇讀取電壓vread被反復施加于未被選擇存儲單元時,干擾可能對存儲單元的電荷數(shù)量產生影響。這可以被稱為“讀取擾動”。例如,在頁page_i被反復讀取的情況下,周圍的頁page_i-1到page_i+1或者在同個塊中剩下的頁可能被讀取擾動影響。

在隨機讀計數(shù)上由usr管理器執(zhí)行的未被選擇頁的隨機讀操作可能降低讀取擾動的影響。此外,usr管理器114可以監(jiān)控各自的未被選擇頁的錯誤位數(shù)量的變化。用于每個未被選擇頁的錯誤位數(shù)量可以用作計算存儲塊錯誤位增長率ebir的信息。根據(jù)本公開的一實施例的存儲控制器可以控制非易失性存儲裝置120,以執(zhí)行讀取回收操作。讀取回收操作可以指移動存儲塊的操作,所述存儲塊包括存儲單元,從非易失性存儲裝置120讀取的數(shù)據(jù)被存儲于所述存儲單元,或者指當所述讀取數(shù)據(jù)的錯誤位數(shù)量大于或等于基準時,移動存儲塊中的部分數(shù)據(jù)到另外的存儲塊的操作。也就是說,錯誤修正操作可以指移動數(shù)據(jù)到另外的存儲塊以保持數(shù)據(jù)可靠性的操作,所述數(shù)據(jù)為包括多個錯誤位或者數(shù)據(jù),其具有錯誤位數(shù)量超過錯誤修正塊117(參見圖2)的錯誤修正能力的可能性。當數(shù)據(jù)從非易失性存儲裝置120被讀取時,存儲控制器110可以通過錯誤修正塊117檢測和修正錯誤,并且可以向主機(未示出)或者非易失性存儲裝置120傳送錯誤修正數(shù)據(jù)。如以上所述,當從非易失性存儲裝置120讀取的數(shù)據(jù)的錯誤位數(shù)量大于或者等于基準時,存儲控制器110可以控制非易失性存儲裝置120,以執(zhí)行讀取回收操作。

根據(jù)本公開的實施例的存儲控制器110可以基于存儲塊的錯誤位增長率ebir更改存儲塊的錯誤位檢測周期。例如,錯誤位數(shù)量可以相對于弱塊以固定的檢測周期而不是隨機讀計數(shù)檢測,所述弱塊的錯誤位增長率大于基準增長率。在實施例中,未被選擇頁的錯誤位可以在錯誤位檢測周期上被檢查,所述錯誤位檢測周期短于存在于先前的隨機讀操作的平均讀取周期。根據(jù)以上描述,弱塊可以在不可修正的錯誤發(fā)生在存儲在其中的數(shù)據(jù)中之前被指定為讀取回收塊。

根據(jù)本公開的實施例,儲存裝置110可以基于存儲塊的錯誤特征確定讀取回收塊。也就是說,通過將錯誤檢測周期設定為固定值,而不是隨機值,具有大的錯誤位增長率的存儲塊可以在不可修正的錯誤發(fā)生前,被指定為讀取回收塊。因此,儲存裝置100的數(shù)據(jù)完整性和操作性能可以通過應用上面描述的讀取回收方法于所述儲存裝置100被提高。

圖2為示出根據(jù)本公開的實施例,圖1示出的存儲控制器的構造的框圖。參照圖2,存儲控制器110可以包括處理單元111,工作存儲器113,主機接口115,錯誤修正塊117,以及存儲接口119。然而,需要理解為,存儲控制器110的組件不限于圖2示出的組件。例如,存儲控制器110還可以包括只讀存儲器(rom),其存儲初始引導操作所需要的代碼數(shù)據(jù)。

處理單元111可以包括中央處理單元或者微處理器。處理單元111可以管理存儲控制器110的全部操作。處理單元111可以驅動固件以驅動存儲控制器110。固件可以被加載在工作存儲器113上,并且可以響應處理器111的呼叫被驅動。

工作存儲器113可以被用于加載軟件(或固件)以控制存儲控制器110或數(shù)據(jù)。被存儲的軟件或數(shù)據(jù)可以被所述處理單元111驅動或處理。工作存儲器113可以包括高速緩沖存儲裝置,動態(tài)隨機存取存儲(dram)裝置,相變ram(pram)裝置,或者閃存存儲裝置中的至少一個。根據(jù)本公開的實施例,工作存儲器113可以包括所述rr管理器112和usr管理器114。雖然未示出,應該理解為,閃存轉換層(ftl)等被加載在工作存儲器113上。

主機接口115可以提供在主機和存儲控制器110之間的接口。主機和存儲控制器110可以通過各種標準接口中的至少一個連接。標準接口可以包括高級技術附件(ata)接口,串行ata(sata)接口,外部sata(e-sata)接口,小型計算機小型接口(scsi),串行連接scsi(sas),周邊部件互聯(lián)(pci)接口,pci-express(pci-e)接口,通用串行總線(usb)接口,ieee1394接口,通用閃存存儲(ufs)接口,卡接口等。

錯誤修正塊117可以修正由于各種原因產生的數(shù)據(jù)的錯誤。例如,錯誤修正塊117可以被配置成檢測和修正從非易失性存儲裝置120讀取的數(shù)據(jù)的錯誤。具體地,錯誤修正塊117可以響應usr管理器114請求,檢測讀取數(shù)據(jù)的錯誤位數(shù)量。檢測的錯誤位數(shù)量neb可以被提供給rr管理器112。rr管理器112可以基于被選擇的存儲塊的錯誤位數(shù)量neb,計算被選擇的存儲塊的錯誤位增長率ebir。例如,rr管理器112可以基于錯誤位增長率ebir,確定被選擇的存儲塊是否是弱塊。usr管理器114可以設定被確定為弱塊的存儲塊的錯誤位檢測周期為一個固定的值以管理??商娲?,usr管理器112可以管理用于將弱塊指定為讀取回收塊的錯誤位數(shù)量或讀計數(shù),以與普通存儲塊的錯誤位數(shù)量或讀計數(shù)不同。

存儲接口19可以提供存儲控制器110和非易失性存儲裝置120之間的接口。例如,由處理單元111處理的數(shù)據(jù)可以通過存儲接口119被存儲于非易失性存儲裝置120中。又如,存儲在非易失性存儲裝置120中的數(shù)據(jù)可以通過存儲接口119提供給處理單元111。

存儲控制器110的組件被舉例說明。根據(jù)本公開的實施例的存儲控制器110可以,基于存儲塊的錯誤特征,更改用于選擇存儲塊為讀取回收塊的讀取回收基準。這可以意味著,用于將存儲塊指定為讀取回收塊的錯誤位檢測周期,錯誤位數(shù)量,和讀計數(shù)被更改。

圖3為示出根據(jù)本公開的實施例的存儲控制器的功能的框圖。參照圖3,存儲控制器110可以包括讀取回收(rr)管理器112,非選擇讀取(usr)管理器114,和每塊錯誤位表格116。這里,每塊錯誤位表格116可以在工作存儲器113上實現(xiàn),并且可以周期性地或者每當讀計數(shù)rc增加時,存儲在非易失性存儲裝置120中。這里,rr管理器112可以用閃存轉換層(ftl)的一部分或者用當讀取失敗發(fā)生時被驅動的代碼的一部分實現(xiàn)。

rr管理器112可以從主機接收讀請求。rr管理器112可以參考弱塊列表116’和usr管理器114的錯誤位檢測結果確定讀取回收塊,所述弱塊列表116’存儲于每塊錯誤位表格116中。具體地,rr管理器112可以使用不同于普通塊的基準確定弱塊為讀取回收塊。

usr管理器114可以執(zhí)行被選擇的存儲塊的非選擇讀操作。為此,usr管理器114可以包括隨機數(shù)產生器114a和讀取計數(shù)器114b。當讀請求發(fā)生,usr管理器114可以增加被選擇存儲塊的讀計數(shù)rc。如果被增加的讀計數(shù)rc與隨機數(shù)產生器114a生成的數(shù)相同,相對于被選擇存儲塊的未被選擇頁,非選擇讀操作可以被執(zhí)行。為非選擇讀操作計數(shù)的錯誤位數(shù)量可以在每塊錯誤位表格116中更新。

rr管理器112可以,在每塊錯誤位表格116中,存儲對應于用于相對于每個存儲塊發(fā)生的非選擇讀操作的讀計數(shù)rc的錯誤位數(shù)量。

rr管理器112可以,參照存儲于每塊錯誤位表格116中的每個存儲塊的讀計數(shù)rc和錯誤位數(shù)量neb,決定存儲塊是否為弱塊wb。也就是說,當根據(jù)讀計數(shù)的錯誤位增長率大于基準增長率時,rr管理器112可以將存儲塊分類為弱塊,所述弱塊的可靠性相對低。當根據(jù)讀計數(shù)的錯誤位增長率小于或者等于基準增長率時,rr管理器112可以將存儲塊分類為強塊,所述強塊的可靠性相對高。

一旦存儲塊被分類為弱塊,rr管理器112可以將存儲塊注冊于弱塊列表116'。usr管理器114可以以恒定的周期,不考慮隨機數(shù),執(zhí)行弱塊的非選擇讀操作。在實施例中,固定的非選擇讀操作的周期可以被減小到短于隨機的非選擇讀操作的周期。rr管理器112可以以減小的、固定的周期,檢測在弱塊的錯誤位數(shù)量的變化。如果從弱塊檢測到的錯誤位數(shù)量達到指定弱塊為讀取回收塊的值,rr管理器112可以指定弱塊為讀取回收塊。在實施例中,用于指定弱塊為讀取回收塊的錯誤位數(shù)量可以同樣地被應用于弱塊和普通塊兩者。

在另一實施例中,rr管理器112可以對普通塊和弱塊應用不同的基準,以指定塊為讀取回收塊。也就是說,用于弱塊的讀取回收的錯誤位數(shù)量的基準可以被設定為低于用于普通塊的讀取回收的錯誤位數(shù)量的基準。在這種情況下,檢測錯誤位數(shù)量的周期可以不是固定的。

在又一實施例中,rr管理器112可以對普通塊和弱塊應用不同的基準(例如,不同的讀計數(shù))以指定塊作為讀取回收塊。也就是說,用于弱塊讀取回收的讀計數(shù)的基準可以被設定為低于用于普通塊的讀取回收的讀計數(shù)的基準。在這種情況下,檢測錯誤位數(shù)量的周期可以不是固定的。

在另一實施例中,rr管理器112可以對普通塊和弱塊應用錯誤位基準和讀計數(shù)基準兩種,所述錯誤位基準和讀計數(shù)基準被用于指定塊為讀取回收塊。如果弱塊的錯誤位基準和讀計數(shù)基準中的任何一個被滿足,對應的弱塊可以被指定為讀取回收塊。

rr管理器,usr管理器114,和每塊錯誤位表格116的功能在上面被描述。上面描述的儲存裝置100的組件可以使讀取回收操作根據(jù)存儲塊的特征被有效執(zhí)行。

圖4為示出根據(jù)本公開的實施例的非易失性存儲裝置的框圖。參照圖4,非易失性存儲裝置120可以包括存儲單元陣列121,解碼器122,頁緩沖器123,控制邏輯124,和電壓產生器125。

存儲單元陣列121可以通過字線和選擇線與解碼器122連接。存儲單元陣列121可以通過位線bl與頁緩沖器123連接。存儲單元陣列121可以包括多個存儲單元blk1到blki。每個存儲塊可以包括多個nand單元串。數(shù)據(jù)可以通過頁寫入存儲單元陣列121中。擦除操作可以由存儲塊執(zhí)行。存儲塊blk1到blki的錯誤位特征可以由于各種原因彼此不同。也就是說,即使相同的數(shù)據(jù)在相同的偏置條件下,被寫入在各存儲塊,讀取數(shù)據(jù)的錯誤位數(shù)量可以是變化的。

在本公開的實施例中,存儲單元陣列121可以用三維(3d)存儲器實現(xiàn)。3d存儲陣列整體(monolithically)形成于存儲單元的陣列的一個或更多物理層級中,所述存儲單元具有布置在硅基底上的有源區(qū),和與這些存儲單元的操作相關聯(lián)的電路,不論這樣的關聯(lián)電路是在這樣的基底上還是在這樣的基底中。術語“整體(monolithically)”意味著所述陣列的每個層級的層直接被布置在所述陣列的每個基礎層級的層上。

在本公開的實施例中,3d存儲陣列包括垂直的nand串,所述nand串垂直定向使得至少一個存儲單元位于另一個存儲單元之上。所述至少一個存儲單元可以包括電荷陷阱層。每個豎直nand串可以包括至少一個位于存儲單元上的選擇晶體管,所述至少一個選擇晶體管具有與存儲單元相同的結構,并且與存儲單元一起整體(monolithically)形成。

通過引用接合于此的下面的專利文本描述了用于三維存儲陣列的合適的構造,其中三維存儲陣列被構造為多個層級,在層級間字線和/或位線被共享:美國專利號7,679,133;8,533,466;8,654,587;8,559,235;和美國專利公開號2011/0233648。

解碼器122可以響應地址add選擇存儲單元陣列121的存儲塊blk1到blki中的一個。解碼器122可以向被選擇的存儲塊的字線提供對應于操作模式的字線電壓vwl。在程序操作過程中,例如,解碼器122可以將程序電壓和核對電壓傳遞到被選擇字線,并且將通過電壓傳遞到未被選擇字線。解碼器122可以通過向選擇線ssl和gsl提供選擇信號選擇存儲塊。在讀操作過程中,讀取電壓可以被施加于存儲塊的被選擇字線。在讀操作過程中,分別地,通過讀取電壓可以被施加于存儲塊的未被選擇字線。

頁緩沖器123可以基于操作模式,作為寫入驅動器或者感測放大器運轉。在程序操作過程中,頁緩沖器123可以將對應于將被編程的數(shù)據(jù)data的位線電壓傳遞到存儲單元陣列121的位線。在讀操作過程中,頁緩沖器123可以通過位線感測存儲于被選擇存儲單元的數(shù)據(jù)。頁緩沖器123可以鎖存檢測到的數(shù)據(jù)并且可以輸出被鎖存數(shù)據(jù)data至外部設備。

控制邏輯124可以響應來自外部設備的命令cmd控制解碼器122和頁緩沖器123。

電壓產生器125可以在控制邏輯124的控制下,生成將被施加于字線的各種字線電壓和施加于體(bulk)(例如,阱區(qū))的電壓,存儲單元形成于所述體(bulk)。將被施加于字線的字線電壓可以包括程序電壓(例如,vpgm_i),通過電壓(例如,vpass),讀取電壓(例如,vrd_i),通過讀取電壓(例如,vread_i)等。電壓產生器125還可以產生選擇線電壓(例如,vssl和vgsl)以在讀操作或者程序操作過程中提供給選擇線ssl和gsl。

圖5為示出根據(jù)本公開的實施例的每塊錯誤位表格的圖表。參照圖5,每塊錯誤位表格116可以包括關于每個存儲塊的讀計數(shù)rc,錯誤位數(shù)量neb,錯誤位增長率ebir,和塊分類項。

讀計數(shù)rc可以表示用于每個存儲塊blk0到blki的讀取頻率。這里,讀計數(shù)可以包括由主機請求的讀操作的數(shù)量和非選擇讀操作的數(shù)量兩種。當讀操作被從主機請求時或者當非選擇讀操作被執(zhí)行時,讀計數(shù)rc可以增加。

錯誤位數(shù)量neb可以表示由主機或者通過非選擇讀操作為對應的存儲塊檢測的錯誤位數(shù)量。例如,錯誤位數(shù)量neb可以表示任一頁產生的錯誤位數(shù)量。在非選擇讀操作的情況下,由于讀取擾亂在未被選擇頁上產生的錯誤位數(shù)量可以指錯誤位數(shù)量neb。在實施例中,在存儲塊blk1的讀計數(shù)(n-2)上檢測的錯誤位數(shù)量neb可以對應于“2”。相比之下,如內存塊blk0,在讀計數(shù)3n上沒有檢測到錯誤位。

錯誤位增長率ebir可以基于讀計數(shù)rc和錯誤位數(shù)量neb計算。也就是說,錯誤位增長率ebir可以表示錯誤位數(shù)量對特定讀計數(shù)的增長。例如,每個存儲塊的錯誤位增長率ebir可以通過計算從第一次被執(zhí)行的非選擇讀操作,在第n讀計數(shù)的增長部分中檢測到的錯誤位數(shù)量中的變化得到。錯誤位增長率ebir可以基于對特定讀計數(shù)部分的錯誤位數(shù)量中的變化計算??商娲?,根據(jù)讀計數(shù)中的增長的錯誤位的增長可以通過各種統(tǒng)計方法計算。

塊分類可以表示根據(jù)錯誤位增長率ebir對應的塊是否被確定為弱塊。可以假設,錯誤位增長率ebir在讀計數(shù)rc增長后被檢測n次。在這種假設下,存儲塊blk2可以被分類為弱塊wb。原因是,存儲塊blk2的錯誤位增長率α大于基準增長率r。由于存儲塊blk0,blk3,blk4和blkm的錯誤位增長率β,γ,δ和ε小于基準增長率r,存儲塊blk0,blk3,blk4和blkm被分類為普通塊nb。然而,由于存儲塊blk1的讀計數(shù)沒有達到讀計數(shù)n以確定錯誤位增長率ebir,存儲塊blk1可以保持為未決定狀態(tài)。這里,應該理解為,存儲塊被分類為不同的組。

圖6為示出根據(jù)本公開的實施例,對弱塊的讀取回收方法的圖。參照圖6,關于弱塊wb和普通塊nb,各自表示讀計數(shù)rc的錯誤位數(shù)量neb的直線被示出。弱塊wb的錯誤位增長率可以大于普通塊nb的錯誤位增長率。也就是說,表示弱塊wb的直線的斜率可以大于表示普通塊nb的直線的斜率。

首先,當數(shù)據(jù)被寫入在被選擇存儲塊時,用于管理被選擇存儲塊的讀計數(shù)rc和錯誤位數(shù)量neb的每塊錯誤位表格116被建立。第二,當用于檢測錯誤位增長率的讀計數(shù)rc被滿足時,錯誤位增長率ebir可以被計算。存儲塊是否為弱塊可以根據(jù)錯誤位增長率ebir確定。

在所述圖中,關于被確定為弱塊wb的存儲塊,從當錯誤位數(shù)量neb大于或等于閾值th0的時間點,非選擇讀操作可以每固定的周期m被執(zhí)行。也就是說,在存儲塊被確定為弱塊wb的情況下,每當讀計數(shù)增長m時,錯誤位數(shù)量neb可以被檢測。在弱塊wb中,在錯誤位數(shù)量neb小于閾值th0的時間點,非選擇讀操作可以根據(jù)隨機讀計數(shù)被執(zhí)行。然而,如果弱塊的錯誤位數(shù)量neb達到或超過閾值th0,則非選擇讀操作可以每固定周期m被執(zhí)行以檢測錯誤位數(shù)量。在實施例中,固定周期m可以被設置為小于隨機讀計數(shù)的平均周期的值。錯誤位每固定周期被監(jiān)控的這個部分可以被稱為“精細監(jiān)控部分”。

如果弱塊wb的錯誤位數(shù)量以固定周期(例如,m次)被檢測,則弱塊wb可以在合適的時間被指定為讀取回收塊。在弱塊wb的錯誤位數(shù)量在隨機讀計數(shù)上被檢測的情況下,在最差的情況下,弱塊wb可以被指定為具有不可修正錯誤的塊,而不是讀取回收塊。然而,如果弱塊wb的錯誤位的數(shù)量被以固定周期(m次)被檢測,則弱塊wb可以在(rn5+4m)的讀計數(shù)上被指定為讀取回收塊,在所述(rn4+4m)的讀計數(shù)上錯誤位數(shù)量neb大于閾值th1。

圖7為示出根據(jù)本公開的實施例,圖6示出的讀取回收方法的流程圖。參照圖7,根據(jù)本公開實施例的讀取回收方法的特征可以在于弱塊被檢測并且檢測到的弱塊的錯誤位數(shù)量以固定的檢測周期被檢測。

在步驟s10中,弱塊wb可以被檢測。每個在該處被寫入數(shù)據(jù)的讀操作被請求的存儲塊的讀計數(shù)rc和在隨機讀計數(shù)上檢測到的錯誤位數(shù)量neb可以存儲在每塊錯誤位表格116中。錯誤位數(shù)量大于基準增長率的存儲塊可以基于被存儲的讀計數(shù)rc和錯誤位數(shù)量neb被指定為弱塊wb。這里,在每塊錯誤位表格116中被管理的所有存儲塊的錯誤位增長率的平均值可以被用作錯誤位增長率ebir的基準增長率以選擇弱塊wb??商娲兀ㄟ^實驗得到的固定的錯誤位增長被用作錯誤位增長率ebir的基準增長率以選擇弱塊wb。

在步驟s20中,檢測到的弱塊wb的錯誤位數(shù)量neb可以以固定的周期被檢測。例如,可以假設,在存儲塊被確定為弱塊wb之前,用于在隨機讀計數(shù)rc上檢測錯誤位數(shù)量的非選擇讀操作被執(zhí)行。然而,對于被判定為弱塊wb的存儲塊,每當讀計數(shù)增長兩次,用于檢測錯誤位數(shù)量的非選擇讀操作可以執(zhí)行一次。然而,用于確定讀取回收塊的錯誤位數(shù)量的閾值th1可以同等地被應用于弱塊wb和普通塊nb。

在步驟s30中,可以確定以固定周期從弱塊wb檢測到的錯誤位數(shù)量是否達到用于指定塊為讀取回收塊的錯誤位數(shù)量neb的閾值th1。如果檢測到的錯誤位數(shù)量neb不大于閾值th1(否),則程序可以返回步驟s20以繼續(xù)以固定周期檢測錯誤位數(shù)量。如果檢測到的錯誤位數(shù)量neb大于閾值th1(是),則流程可以進行到步驟s40,在所述步驟s40中對應的弱塊wb被指定為讀取回收塊。

在步驟s40中,以固定周期檢測到錯誤位數(shù)量的弱塊wb可以被指定為讀取回收塊。雖然沒有被描繪,存儲于被指定為讀取回收塊的弱塊wb中的數(shù)據(jù)可以被復制到另外的普通存儲塊,并且弱塊wb可以被擦除。

以上,描述了讀取回收方法,其中對于檢測到的弱塊wb,讀取回收塊基于以固定周期檢測到的錯誤位數(shù)量被確定。隨著弱塊wb被檢測并且錯誤位數(shù)量以固定周期被檢測,錯誤位增長率ebir相對大的弱塊可以被準確地指定為讀取回收塊。也就是說,在錯誤位增長率相對大的弱塊發(fā)生不可修正錯誤的情況可以被防止。

圖8a和8b為示出根據(jù)本公開的讀取回收方法的詳細示例的流程圖。用于執(zhí)行非選擇讀操作的程序將參照附圖8a被描述,在所述非選擇讀操作中,弱塊的錯誤位以固定周期被檢測。非選擇讀操作在其中以隨機讀計數(shù)rc被執(zhí)行的方法將參照附圖8b被描述。

參照圖8a,如果弱塊wb的錯誤位數(shù)量neb超過閾值th0,則在其中錯誤位數(shù)量被以固定周期檢測的非選擇讀操作可以被執(zhí)行。這一點將在以下被更詳細地描述。

在步驟s110中,存儲控制器110可以從主機接收讀請求。存儲控制器110的讀取回收管理器112可以產生,保持,和更新用于管理每個在其中數(shù)據(jù)被寫入的存儲塊的讀計數(shù)rc和錯誤位數(shù)量neb的每塊錯誤位表格116。

在步驟s120中,存儲控制器110可以確定被讀請求的存儲塊是否為弱塊wb。存儲控制器110可以,基于每塊錯誤位表格116,確定被讀請求的存儲塊是否包括在弱塊列表116’中。如果被選擇的存儲塊不是弱塊wb(否),程序可以進行到“a”。對應于“a”的非選擇讀操作將參照附圖8b描述。如果被選擇的存儲塊是弱塊wb(是),程序可以進行到步驟s130。

在步驟s130中,存儲控制器110可以檢查關于被選擇的弱塊wb的最近被計數(shù)的錯誤位數(shù)量neb。如果最近被計數(shù)的錯誤位數(shù)量大于閾值th0,則程序可以進行到步驟s140。如果最近被計數(shù)的錯誤位數(shù)量不大于閾值th0,則程序可以進行到“a”。

在步驟s140中,發(fā)生讀請求的存儲塊的讀計數(shù)rc可以被增加,并且每塊錯誤位表格116可以用增長的讀計數(shù)更新。每塊錯誤位表格116的值可以周期性地或者如果必要被存儲于非易失性存儲裝置120的特定的區(qū)域中。因此,即使電源被移除,可能可以保持每個數(shù)據(jù)被寫入其中的存儲塊的讀計數(shù)rc和錯誤位數(shù)量neb的信息。

在步驟s150中,存儲控制器110可以確定更新的讀計數(shù)rc是否與固定周期m相同。如果更新的讀計數(shù)rc與固定周期m不同(否),程序可以進行到s170以讀取被選擇頁,而沒有非選擇讀操作。如果更新的讀計數(shù)rc與固定周期m相同(是),程序可以進行到s160以與被選擇頁一起讀取未被選擇頁。

在步驟s160中,存儲控制器110可以從被選擇存儲塊讀取被主機請求的頁的數(shù)據(jù),并且可以輸出讀取數(shù)據(jù)。此外,存儲控制器110可以從非易失性存儲裝置120的被選擇存儲塊讀取沒有被主機請求的未被選擇頁的數(shù)據(jù),并且可以檢測讀取數(shù)據(jù)的錯誤位。

在步驟s170中,存儲控制器110可以從非易失性存儲裝置120的被選擇存儲塊讀取只被主機請求的頁,并且可以輸出被讀取數(shù)據(jù)到主機。

在步驟s180中,存儲控制器110可以確定在步驟s160中從未被選擇頁讀取的錯誤位數(shù)量neb是否大于閾值th1。如果最近檢測到的錯誤位數(shù)量大于閾值th1,則程序可以進行到步驟s190。如果最近檢測到的錯誤位數(shù)量不大于閾值th1,則程序可以結束。

在步驟s190中,存儲控制器110可以對弱塊wb執(zhí)行讀取回收程序,在所述弱塊中檢測到的錯誤位數(shù)量neb變得大于閾值th1。閾值th1可以對應于用于指定塊為讀取回收塊的錯誤位數(shù)量的基準。如果塊由存儲控制器110指定為讀取回收塊,數(shù)據(jù)復制和擦除程序可以在讀取回收管理器112的控制下執(zhí)行。

根據(jù)本公開的實施例的在存儲控制器處被執(zhí)行的讀取回收方法在上面被描述。

圖8b為示出圖8a示出的程序“a”的流程圖。參照圖8b,與下面相關聯(lián)的程序將被描述:被讀請求的存儲塊不是弱塊的情況和即使讀取的被讀請求的塊是弱塊,被最近檢測的錯誤位數(shù)量不大于閾值th0的情況。

在步驟s210中,被選擇存儲塊的讀計數(shù)rc可以被增加。讀計數(shù)rc可以在上述每塊錯誤位表格116中被保持和管理。

在步驟s220中,存儲控制器110可以產生隨機讀數(shù)(rn)。然而,應該理解為,隨機數(shù)rn是之前產生的多個值中的一個。

在步驟s230中,增加的讀計數(shù)rc可以與隨機數(shù)rn比較。如果讀計數(shù)rc與隨機數(shù)rn相同(是),程序可以進行到步驟s240。如果讀計數(shù)rc與隨機數(shù)rn不同(否),則程序可以進行到步驟s250。

在步驟s240中,存儲控制器110可以既執(zhí)行未被選擇頁也執(zhí)行被選擇頁的非選擇讀操作。

在步驟s250中,存儲控制器110可以從被選擇塊只讀取被選擇頁。

在步驟s260中,存儲控制器110可以通過非選擇讀操作檢測被讀取頁的錯誤。

在步驟s270中,存儲控制器110可以更新通過非選擇讀操作檢測的錯誤位數(shù)量。此外,存儲塊是否為弱塊wb可以參照檢測到的錯誤位數(shù)量被確定。

參考附圖8a到8b描述非選擇讀操作和用于以固定周期檢測弱塊wb的錯誤位的操作。

圖9為示出根據(jù)本公開的另一實施例的弱塊的讀取回收方法的圖。參照圖9,關于弱塊wb和普通塊nb,示出分別表示對于讀計數(shù)rc的錯誤位數(shù)量neb的直線。弱塊wb的錯誤位增長率可以大于普通塊nb的錯誤位增長率。也就是說,表示弱塊wb的直線的斜率大于表示普通塊nb的直線的斜率。

首先,當數(shù)據(jù)在被選擇存儲塊被寫入時,用于管理所選擇存儲塊的讀計數(shù)rc和錯誤位數(shù)量neb的每塊錯誤位表格116被建立。當讀操作被執(zhí)行至少兩次或更多次時,錯誤位增長率可以被檢測。存儲塊是否為弱塊可以根據(jù)錯誤位增長率ebir被確定。

在圖中,被確定為弱塊wb的存儲塊可以從當錯誤位數(shù)量大于或等于閾值th0的時間點或者從特定讀計數(shù)5n之后的時間點根據(jù)縮短的周期被檢查。也就是說,在存儲塊被指定為弱塊wb的情況下,每當讀計數(shù)增加m,就檢測錯誤位數(shù)量neb。在特定讀計數(shù)5n之前或者當錯誤位數(shù)量小于閾值th0的時間點,每當讀計數(shù)增加n(n>m)就可以檢測錯誤位數(shù)量。也就是說,對于弱塊wb,檢測錯誤位數(shù)量的周期可以在特定讀計數(shù)5n之后或者從當錯誤位數(shù)量大于或等于閾值th0的時間點被縮短。

這里,對于任意一個塊檢測錯誤位可以意味著,關于周圍的沒有被主機請求的存儲區(qū)域,讀和錯誤檢測被執(zhí)行。也就是說,錯誤位被檢測意指非選擇讀操作被執(zhí)行。然而,圖9中的錯誤位檢查方式可以不同于圖6中的錯誤位檢查方式在于,非選擇讀操作以周期(例如,n)被執(zhí)行,所述周期不是隨機讀計數(shù)rc。在主機請求包括在任意一個存儲塊中的特定頁的讀操作的情況下,關于被請求頁的周圍的頁,讀和錯誤檢測可以每特定讀計數(shù)周期(例如,n或m)被執(zhí)行。

如果以減小的周期(例如,m)檢測弱塊wb的錯誤位數(shù)量neb,則弱塊wb可以在合適的時間被指定為讀取回收塊。在弱塊wb錯誤位數(shù)量以恒定讀計數(shù)(例如,n)被檢測的情況下,在最差的情況下,弱塊wb可以被指定為具有不可修正錯誤的塊,而不是讀取回收塊。然而,如果以固定周期(例如,m)檢測弱塊wb的錯誤位數(shù)量,則弱塊wb可以在錯誤位數(shù)量neb被檢測為大于閾值th1處的讀計數(shù)(例如,6n)情況下被指定為讀取回收塊。

圖10為示出根據(jù)本公開的一實施例的讀取回收方法的流程圖。參照圖10,根據(jù)本公開一實施例的讀取回收方法的特征可以在于弱塊被檢測并且以減小的檢測周期檢測檢測到的弱塊的錯誤位數(shù)量。

在步驟s310中,弱塊wb可以被檢測。每個在其中被寫入數(shù)據(jù)的讀操作被請求并且錯誤位數(shù)量neb在每次讀計數(shù)被檢測的存儲塊的讀計數(shù)rc可以存儲在每塊錯誤位表格116中??梢曰诒淮鎯Φ淖x計數(shù)rc和錯誤位數(shù)量neb指定錯誤位數(shù)量大于基準增長率的存儲塊為弱塊wb。這里,在每塊錯誤位表格116中被管理的全部存儲塊的錯誤位增長率可以被用作用以選擇弱塊wb的錯誤位增長率ebir的基準增長率??商娲?,通過實驗得到的固定的錯誤位增長被用作用以選擇弱塊wb的錯誤位增長率ebir的基準增長率。

在步驟s320中,弱塊wb的錯誤位數(shù)量可以以短于普通塊周期的周期被檢測。例如,可以假設,對于普通塊nb,每當讀計數(shù)增加10,錯誤位就被檢測一次。然而,對于弱塊wb,錯誤位數(shù)量可以在每次讀計數(shù)增加2時被計數(shù)。然而,用于將塊分配為讀取回收塊的錯誤位數(shù)量的閾值th1可以同樣地被應用于弱塊wb和普通塊nb。

在步驟s330中,可以確定以減小的周期針對弱塊wb檢測的錯誤位數(shù)量是否達到用于指定塊為讀取回收塊的錯誤位數(shù)量neb的閾值th1。如果檢測到的錯誤位數(shù)量eb不大于閾值th1(否),則程序可以返回步驟s320以繼續(xù)以減小的周期檢測錯誤位數(shù)量。如果檢測到的錯誤位數(shù)量neb大于閾值th1(是),流程可以進行到步驟s340,其中對應的弱塊wb被指定為讀取回收塊。

在步驟s340中,在其中以減小的周期被檢測錯誤位數(shù)量的弱塊wb可以被指定為讀取回收塊。雖然沒有被描繪,但是存儲于被指定為讀取回收塊的弱塊wb中的數(shù)據(jù)可以被復制到另外的普通存儲塊,并且弱塊wb可以被擦除。

以上,描述了讀取回收方法,其中對于被檢測的弱塊wb,基于以減小的周期被檢測的錯誤位數(shù)量指定讀取回收塊。由于弱塊wb被檢測并且錯誤位數(shù)量neb以減小的周期被檢測,因此錯誤位增長率ebir相對大的弱塊可以被準確地指定為讀取回收塊。也就是說,可以防止不可修正錯誤發(fā)生在錯誤位增長率ebir相對大的弱塊的情況。

圖11為示出根據(jù)本公開的讀取回收方法的詳細示例的流程圖。參照圖11,在弱塊檢測部分,每當讀計數(shù)增加n時就可以檢測錯誤位數(shù)量,并且每當讀計數(shù)增加m(例如,對應于從對應于固定周期的值減小的值)時可以檢測檢測到的弱塊wb的錯誤位數(shù)量。這一點將在以下被更詳細地描述。

在步驟s410中,存儲控制器110可以從主機接收讀請求。存儲控制器110的讀取回收管理器112可以產生,保持,和更新用于管理每個在其中數(shù)據(jù)被寫入的存儲塊的讀計數(shù)rc和錯誤位數(shù)量neb的每塊錯誤位表格116。

在步驟s420中,存儲控制器110可以增加讀請求發(fā)生于此的存儲塊的讀計數(shù)rc,并且可以用增長的讀計數(shù)更新每塊錯誤位表格116。每塊錯誤位表格166的值可以,周期性地或者必要時,被存儲于非易失性存儲裝置120的特定的區(qū)域。因此,即使電源被移除,也可以保持每個在其中數(shù)據(jù)被寫入的存儲塊的讀計數(shù)rc和錯誤位數(shù)量neb的信息。

在步驟430中,可以確定更新的讀計數(shù)rc是否與用于檢測弱塊wb的錯誤位檢測周期n相對應。如果被讀請求的塊的讀計數(shù)rc不與錯誤位檢測周期n相同(否),則程序可以進行到步驟s410以檢測下一個讀請求。如果讀計數(shù)rc與錯誤位檢測周期(例如,n的倍數(shù))相對應(是),則程序可以進行到步驟s440以用于錯誤檢測。

在步驟s440中,存儲控制器110可以讀取非易失性存儲裝置120的被選擇存儲塊的數(shù)據(jù),并且可以執(zhí)行被讀取數(shù)據(jù)的錯誤檢測操作。此時,錯誤檢測操作可以由存儲控制器110的錯誤修正塊117執(zhí)行。

在步驟450中,存儲控制器110可以確定從其中讀取數(shù)據(jù)的存儲塊是否為弱塊wb,而與錯誤修正和數(shù)據(jù)輸出無關。也就是說,如果對于讀計數(shù)的錯誤位增長率被計算,則存儲塊是否為弱塊wb可以被確定。錯誤位增長率被確定為大于基準值的存儲塊可以被指定為弱塊wb。如果從其中檢測到錯誤位的存儲塊不是弱塊wb(否),則程序進行到步驟s460。如果計算錯誤位增長率的結果表明存儲塊為弱塊wb(是),則程序可以進行到步驟s470。

在步驟s460中,每塊錯誤位表格116可以用存儲塊的錯誤位數(shù)量neb更新,所述存儲塊基于錯誤位增長率被判定為普通塊nb。然后,程序可以返回步驟s410以接收讀請求。

在步驟470中,用于管理弱塊wb的程序可以開始。也就是說,弱塊wb的錯誤位數(shù)量neb可以以減小的讀計數(shù)周期m檢測。這里,減小的讀計數(shù)周期m可以關于從主機的讀請求被使用。可替代地,不管從主機的讀計數(shù)請求為何,存儲控制器110都可以以減小的讀計數(shù)周期m從弱塊wb讀取數(shù)據(jù),并且可以檢測被讀取數(shù)據(jù)的錯誤。這里,減小的讀計數(shù)周期m可以比上述弱塊檢測周期n短。

在步驟s480中,從弱塊wb被檢測的錯誤位數(shù)量是否大于用于將塊指定為讀取回收塊的閾值th1可以被確定。如果關于弱塊wb被檢測的錯誤位數(shù)量neb大于閾值th1(是),則程序可以進行到步驟s490。如果關于弱塊wb被檢測的錯誤位數(shù)量neb小于或等于閾值th1(否),則程序可以返回步驟s470,在所述步驟s470中,錯誤位數(shù)量以減小的周期被檢測。

在步驟s490中,存儲控制器110可以關于弱塊wb執(zhí)行讀取回收程序,在所述弱塊wb中被檢測的錯誤位數(shù)量neb變得大于用于將塊指定為讀取回收塊的閾值th1。如果塊被存儲控制器110指定為讀取回收塊,則數(shù)據(jù)復制和擦除程序可以在讀取回收管理器112的控制下執(zhí)行。

根據(jù)本公開的一實施例的讀取回收方法在上面被描述。

圖12為示出根據(jù)本公開的另一實施例的讀取回收方法的圖。參照圖12,存儲塊可以被基于錯誤位增長率分為至少兩組或更多組,并且不同的讀取回收基準可以分別被應用于所述組中。

各存儲塊的讀計數(shù)rc和錯誤位數(shù)量neb可以被檢測。也就是說,可以每隔特定的讀計數(shù)(例如,隨機讀計數(shù))檢測錯誤位數(shù)量neb,并且每塊錯誤位表格116可以用檢測到的錯誤位數(shù)量更新。在數(shù)據(jù)被寫入存儲塊中后,可以在特定的部分δk中檢測和計算對于讀計數(shù)rc的錯誤位增長率。錯誤位增長率被計算的存儲塊可以,基于錯誤特征,被分為至少兩組。本公開的一實施例在圖12中舉例說明,其中存儲塊被分為三組wb,nb,和sb。然而,本公開的范圍和精神不可以被限于此。例如,存儲塊可以基于錯誤位增長率的大小被分為兩組或四組或更多組。

關于三個存儲塊,對讀計數(shù)rc的錯誤位增長率可以大小各自不同。在圖12的圖中,直線可以對應于具有錯誤位增長率“α”的弱塊wb,具有錯誤位增長率“β”(α>β)的普通塊,以及具有錯誤位增長率“γ”(β>γ)的強塊??梢杂脜^(qū)段δk分類存儲塊以計算錯誤位增長率。

如果存儲塊根據(jù)錯誤特征被完全分類,具有不同大小的讀取回收基準eb0,eb1,eb2可以分別應用于存儲塊wb,nb,和sb。也就是說,當錯誤位數(shù)量neb大于或等于第一基準值eb0時,弱塊wb可以被指定為讀取回收塊。當錯誤位數(shù)量neb大于或等于第二基準值eb1時,普通塊nb可以被指定為讀取回收塊。當錯誤位數(shù)量neb大于或等于第三基準值eb2時,強塊sb可以被指定為讀取回收塊。

總之,在實施例中,用于將塊指定為讀取回收塊的錯誤位數(shù)量的不同位數(shù)量基準值可以被分別應用于具有不同錯誤特征的存儲塊。如果上面提及到的讀取回收基準eb0,eb1,和eb2根據(jù)分類的組被應用,則弱塊wb的錯誤位數(shù)量可以在第rni的讀計數(shù)rni(i為自然數(shù))被檢測。因此檢測到的錯誤位數(shù)量可以大于或等于第一基準值eb0。因此,弱塊wb可以在讀計數(shù)rni被指定為讀取回收塊。相比之下,普通塊nb的錯誤位數(shù)量可以在第rnj的讀計數(shù)rcj(j為自然數(shù))達到第二基準值eb1。因此,普通塊nb可以在讀計數(shù)rnj上被指定為讀取回收塊。強塊sb的錯誤位數(shù)量可以在第rnk的讀計數(shù)rck(k為自然數(shù))達到第二基準值eb2。因此,強塊sb可以在讀計數(shù)rnk上被指定為讀取回收塊。

本公開的一實施例被舉例說明,其中用于將塊指定為讀取回收塊的不同的基準值基于錯誤特征被應用于存儲塊。在上述實施例中,被選擇頁之外的剩余頁的錯誤位檢測周期可以不改變。然而,通過精確地應用讀取回收基準于錯誤特征不好的存儲塊,弱塊被指定為讀取回收塊的時間可以變得相對短。

圖13為示出根據(jù)本公開的一實施例,圖12示出的讀取回收方法的流程圖。參照圖13,根據(jù)錯誤特征的存儲塊的分類和具有不同大小的錯誤位數(shù)量可以被應用作為讀取回收基準。

在步驟s510中,數(shù)據(jù)被寫于其上的存儲塊的錯誤位增長率ebir可以在讀計數(shù)rc上被計算。當讀操作被執(zhí)行至少兩次時,錯誤位增長率ebir可以被計算。然而,為提高準確度,可以參照當讀操作被執(zhí)行三次或更多次時檢測到的錯誤位數(shù)量計算錯誤位增長率ebir。

在步驟s520中,操作可以根據(jù)錯誤位增長率ebir分開。如果存儲塊被基于錯誤位增長率ebir分類為弱塊wb,則程序可以進行到步驟s530。如果存儲塊被基于錯誤位增長率ebir分類為普通塊nb,則程序可以進行到步驟s540。如果存儲塊被基于錯誤位增長率ebir分類為強塊sb,則程序可以進行到步驟s550。

在步驟s530中,rr管理器112可以對被分類為弱塊wb的存儲塊應用特定的讀取回收基準。也就是說,當檢測到的錯誤位數(shù)量neb大于或等于第一基準值eb0時,被分為弱塊wb的存儲塊可以被指定為讀取回收塊。

在步驟s540中,rr管理器112可以對被分類為普通塊nb的存儲塊應用特定的讀取回收基準。也就是說,當檢測到的錯誤位數(shù)量neb大于或等于第二基準值eb1時,被分類為普通塊nb的存儲塊可以被指定為讀取回收塊。

在步驟s550中,rr管理器112可以對被分類為強塊sb的存儲塊應用特定的讀取回收基準。也就是說,當檢測到的錯誤位數(shù)量neb大于或等于第三基準值eb2時,被分類為強塊sb的存儲塊可以被指定為讀取回收塊。

本公開的一實施例在圖13中被例示,其中不同的讀取回收基準被基于錯誤特征應用于不同存儲塊。根據(jù)所述讀取回收方法,錯誤位增長率相對大的弱塊wb可以在相對小的讀計數(shù)rc上被指定為讀取回收塊。因此,不可修正錯誤發(fā)生在讀取弱塊wb中的可能性可以被顯著降低。

圖14為示出根據(jù)本公開的又一實施例的讀取回收方法的圖。參照圖14,存儲塊可以基于錯誤位增長率被分類為至少兩組或更多組。不同的讀取回收的讀計數(shù)基準可以分別被應用于所述組。

參照圖12描述使用錯誤位增長率的用于分類存儲塊的方法,并且其描述被因此省略。存儲塊可以基于參照圖12描述的方法被分類為多個組。本公開的一實施例在圖13中例示,其中存儲塊被分類為三組wb,nb,和sb。

如果存儲塊根據(jù)錯誤特征被完全分類,則具有不同大小的讀取回收基準i,j,k可以分別應用于存儲塊wb,nb,和sb。也就是說,當讀計數(shù)rc大于或等于第一讀計數(shù)i時,弱塊wb可以被指定為讀取回收塊。當讀計數(shù)rc大于或等于第二讀計數(shù)j時,普通塊nb可以被指定為讀取回收塊。當讀計數(shù)rc大于或等于第三讀計數(shù)k時,強塊sb可以被指定為讀取回收塊。

總之,在實施例中,用于將塊指定為讀取回收塊的不同的讀計數(shù)可以被分別應用于具有不同錯誤特征的存儲塊。通過應用所述不同的讀取回收基i,j,k于經分類的組,弱塊wb被指定為讀取回收塊的時間可以變得相對短。因此,可能防止由于不可修正錯誤引起的讀取錯誤發(fā)生在錯誤特征不良的塊上。

圖15為示出根據(jù)本公開的一實施例,圖14示出的讀取回收方法的流程圖。參照圖15,根據(jù)錯誤特征的存儲塊的分類和具有不同大小的錯誤位數(shù)量可以被應用作為讀取回收基準。

在步驟s610中,數(shù)據(jù)被寫于其中的存儲塊的錯誤位增長率ebir可以在讀計數(shù)rc上被計算。當讀操作被執(zhí)行至少兩次時,錯誤位增長率ebir可以被計算。然而,為提高準確度,錯誤位增長率ebir可以參照當讀操作被執(zhí)行三次或更多次時被檢測的錯誤位數(shù)量被計算。

在步驟s620中,根據(jù)錯誤位增長率ebir操作可以分開。如果存儲塊基于錯誤位增長率ebir被分類為弱塊wb,則程序可以進行到步驟s630。如果存儲塊基于錯誤位增長率ebir被分類為普通塊nb,則程序可以進行到步驟s640。如果存儲塊基于錯誤位增長率ebir被分類為強塊sb,則程序可以進行到步驟s650。

在步驟s630中,rr管理器112可以對被分類為弱塊wb的存儲塊應用特定的讀取回收基準。也就是說,當檢測到的讀計數(shù)rc的大于或等于第一讀計數(shù)i時,被分類為弱塊wb的存儲塊可以被指定為讀取回收塊。

在步驟s640中,rr管理器112可以對被分類為普通塊nb的存儲塊應用特定的讀取回收基準。也就是說,當檢測到的讀計數(shù)rc的大小大于或等于第二讀計數(shù)j時,被分類為普通塊sb的存儲塊可以被指定為讀取回收塊。

在步驟s650中,rr管理器112可以對被分類為強塊sb的存儲塊應用特定的讀取回收基準。也就是說,當檢測到的讀計數(shù)rc的大于或等于第三讀計數(shù)k時,被分類為強塊sb的存儲塊可以被指定為讀取回收塊。

本公開的一實施例在圖15中被例示,其中不同的讀取回收基準基于錯誤特征被應用于不同存儲塊。根據(jù)所述讀取回收方法,錯誤位增長率相對大的弱塊wb可以在相對小的讀計數(shù)rc上被指定為讀取回收塊。因此,不可修正錯誤發(fā)生在讀取弱塊wb中的可能性可以被顯著降低。

本公開的一實施例在圖12中被例示,其中用于將塊指定為讀取回收塊的錯誤位數(shù)量是根據(jù)存儲塊的特征變化的。本公開的一實施例在圖14中被例示,其中用于將塊指定為讀取回收塊的讀計數(shù)的大小是根據(jù)存儲塊的錯誤特征可變的。應當理解,塊可以通過圖12的方法和圖14的方法的結合被指定為讀取回收塊。

圖16為示出根據(jù)本公開的另一實施例的儲存裝置的框圖。參照圖16,儲存裝置200可以包括存儲控制器210和非易失性存儲裝置220。非易失性存儲裝置220基本與圖1的非易失性存儲裝置120相同,并且其詳細的描述被因此省略。

存儲控制器210可以建立和保持有關弱塊wb的信息,所述弱塊wb的錯誤位增長率相對大。此外,存儲控制器210可以基于參照圖1到15的讀取回收方法管理弱塊wb。具體地,存儲控制器210可以基于被寫請求的數(shù)據(jù)的模式和關于弱塊wb的信息分配存儲塊。

存儲控制器210可以基于基本與存儲控制器110相同的方式檢測存儲塊的錯誤特征。具體地,可以根據(jù)錯誤位增長率ebir的檢測確定弱塊wb。存儲控制器210可以在讀取回收操作之外的操作期間使用關于弱塊的弱塊wb信息215。例如,在數(shù)據(jù)寫操作期間,存儲控制器210可以執(zhí)行塊分配,使得特定寫模式的數(shù)據(jù)被寫于弱塊。經常被更新或用相同邏輯地址寫的數(shù)據(jù)可以被稱為“熱數(shù)據(jù)”。存儲控制器210可以執(zhí)行塊分配使得熱數(shù)據(jù)被寫于弱塊wb。

圖17為示出使用弱塊信息的數(shù)據(jù)寫入方法的流程圖。參照圖17,弱塊wb可以被分配給用于寫入特定模式的數(shù)據(jù)(例如,熱數(shù)據(jù))的存儲塊。

在步驟s710中,存儲控制器210可以從主機接收寫請求。

在步驟s720中,存儲控制器210可以確定被請求寫的數(shù)據(jù)的屬性或模式。存儲控制器210可以參照被請求寫的數(shù)據(jù)的邏輯地址確定被請求寫的數(shù)據(jù)的模式或屬性。例如,被經常更新或修正的數(shù)據(jù)可以被確定為熱數(shù)據(jù)。區(qū)分熱數(shù)據(jù)和冷數(shù)據(jù)的基準可以根據(jù)用于確定數(shù)據(jù)屬性的各種算法改變。

在步驟s730中,根據(jù)數(shù)據(jù)屬性操作被分開。如果被請求寫的數(shù)據(jù)被確定為熱數(shù)據(jù)(是),則程序可以進行到步驟s740。如果被請求寫的數(shù)據(jù)被確定為不是熱數(shù)據(jù)(否),則程序可以進行到步驟s750。

在步驟s740中,存儲控制器210可以分配弱塊wb給用于寫入所述被請求寫的數(shù)據(jù)的存儲塊。關于弱塊wb的地址信息可以被持續(xù)地保持在存儲控制器210中或者可以在存儲控制器中被更新。

在步驟s750中,存儲控制器210可以分配普通塊nb或強塊sb,而不是弱塊wb,給用于寫入所述被請求寫的數(shù)據(jù)的存儲塊。

參照圖17描述使用弱塊信息的數(shù)據(jù)寫入方法。存儲控制器210可以檢測被請求寫的數(shù)據(jù)的模式或屬性,并且特定模式或屬性的數(shù)據(jù)可以被存儲在弱塊wb中。在經常更改的熱數(shù)據(jù)被存儲的情況下,擦除時間點可以根據(jù)不能被覆蓋寫入的閃存存儲裝置的特征加速。因此,在寫入熱數(shù)據(jù)于弱塊的情況下,可以不需要考慮由于讀取擾動引起的錯誤位的增加。

圖18為示出使用弱塊信息的數(shù)據(jù)寫入方法的另一示例的流程圖。參照圖18,弱塊wb可以被分配給用于寫入特定屬性的數(shù)據(jù)(例如,元數(shù)據(jù))的存儲塊。數(shù)據(jù)可以被以單電平單元(slc)的方法寫于被選擇的弱塊。

在步驟s810中,存儲控制器210可以從主機接收寫請求。

在步驟s820中,存儲控制器210可以確定被請求寫的數(shù)據(jù)的屬性。存儲控制器210可以參照各種信息確定被請求寫的數(shù)據(jù)的屬性。例如,存儲控制器210可以參照來自主機的標簽或各種屬性信息檢測數(shù)據(jù)的屬性。下面,元數(shù)據(jù)可以被用作數(shù)據(jù)的屬性的示例。

在步驟s830中,操作被根據(jù)數(shù)據(jù)屬性分開。如果被請求寫的數(shù)據(jù)被確定為元數(shù)據(jù)(是),則程序可以進行到步驟s840。如果被請求寫的數(shù)據(jù)被確定為不是元數(shù)據(jù)(否),則程序可以進行到步驟s860。

在步驟s840中,存儲控制器210可以分配弱塊wb作為用于寫入所述被請求寫的數(shù)據(jù)的存儲塊。弱塊wb的地址信息可以被持續(xù)地保持在存儲控制器210中或者可以在存儲控制器210中被更新。

在步驟s850中,存儲控制器210可以以slc寫入模式將被請求寫的數(shù)據(jù)寫入于弱塊wb。

在步驟s860中,存儲控制器210可以分配普通塊nb或強塊sb作為用于寫入被請求寫的數(shù)據(jù)的存儲塊。

在步驟s870中,存儲控制器210可以以mlc寫入模式將被請求寫的數(shù)據(jù)寫入于被選擇的存儲塊。

圖19為示出使用弱塊信息的數(shù)據(jù)寫入方法的另一示例的流程圖。參照圖19,存儲控制器210可以,首先,在由于缺乏自由塊(freeblock)緊急執(zhí)行垃圾收集操作或合并操作的情況下,分配弱塊給合并目標。這一點將在以下被更詳細地描述。

在步驟s910中,存儲控制器210可以從主機接收寫請求。

在步驟s920中,存儲控制器210可以檢查自由塊的狀態(tài)以選擇存儲塊,被請求寫的數(shù)據(jù)被寫于所述存儲塊。例如,存儲控制器210可以確定可用的自由塊是否足夠地包括在自由塊池中。

在步驟s930中,存儲控制器210可以確定是否需要垃圾收集操作。例如,在自由塊不足夠的情況下,垃圾收集操作可以被快速地執(zhí)行以得到自由塊。作為確定需要垃圾收集操作的結果,程序可以進行到步驟s940。相反地,作為確定自由塊的數(shù)量為足夠的結果,程序可以進行到步驟s960。

在步驟s940中,存儲控制器210可以指定弱塊wb作為將被合并用于垃圾收集的存儲塊的候選。

在步驟s950中,存儲控制器210可以復制存儲于被選擇用于垃圾收集的弱塊的數(shù)據(jù)并且可以在弱塊上執(zhí)行擦除操作。所述被擦除的弱塊可以被指定為自由塊。

在步驟s960中,存儲控制器210可以選擇任何存在于自由塊池中的塊作為數(shù)據(jù)將被寫入的存儲塊,而不執(zhí)行垃圾收集操作。

使用弱塊信息的各種實施例參照圖16到19被描述。然而,本公開的范圍和精神不限于此。

圖20為示出根據(jù)本公開的又一實施例的儲存裝置的框圖。參照圖20,儲存裝置300可以包括存儲控制器310和非易失性存儲裝置320。非易失性存儲裝置320基本與圖1的非易失性存儲裝置120或圖16的非易失性存儲裝置220相同,并且其詳細的描述被因此省略。

存儲控制器310可以建立和保持有關弱塊wb的信息,所述弱塊wb的錯誤位增長率ebir相對大。存儲控制器310可以基于參照圖1到15描述的方法執(zhí)行弱塊wb的讀取回收操作。存儲控制器310可以基于被請求寫的數(shù)據(jù)的屬性分配弱塊或普通塊。數(shù)據(jù)的屬性可以被包括于來自主機的數(shù)據(jù)標簽中。

存儲控制器310可以參照包括于來自主機的寫請求或命令的數(shù)據(jù)標簽得到數(shù)據(jù)的屬性或模式。存儲控制器310可以基于通過數(shù)據(jù)標簽檢測的數(shù)據(jù)屬性或模式選擇存儲塊,被請求寫的數(shù)據(jù)將被寫于所述存儲塊。這里,包含在數(shù)據(jù)標簽中的數(shù)據(jù)的屬性或模式可以為表明被請求寫的數(shù)據(jù)是否為熱數(shù)據(jù)或者被請求寫的數(shù)據(jù)的模式是否為順序模式或隨機模式的信息。然而,本公開的范圍和精神不限于此。例如,各種各樣的信息可以被包含在數(shù)據(jù)標簽中。

例如,在包括在數(shù)據(jù)標簽中的被請求寫的數(shù)據(jù)的屬性與熱數(shù)據(jù)有關的情況下,存儲控制器310可以選擇弱塊wb作為存儲塊,被請求寫的數(shù)據(jù)被存儲于所述存儲塊。

圖21為示出參照主機的提示信息分配存儲塊的方法的流程圖。參照圖21,弱塊wb或普通塊nb可以參照從主機提供的數(shù)據(jù)標簽被分配。

在步驟s1010中,存儲控制器310可以從主機接收寫請求。在一實施例中,從主機提供的寫入命令、地址、或數(shù)據(jù)可以包括定義被請求寫的數(shù)據(jù)的屬性或模式的數(shù)據(jù)標簽。

在步驟s1020中,存儲控制器310可以基于數(shù)據(jù)標簽確定被請求寫的數(shù)據(jù)的屬性或模式。

在步驟s1030中,操作可以被根據(jù)數(shù)據(jù)屬性分開。如果被請求寫的數(shù)據(jù)被確定為熱數(shù)據(jù)(是),程序可以進行到步驟s1040。如果被請求寫的數(shù)據(jù)被確定為不是熱數(shù)據(jù)(否),程序可以進行到步驟s1050。

在步驟s1040中,存儲控制器310可以分配弱塊wb給用于寫入所述被請求寫的數(shù)據(jù)的存儲塊。關于弱塊wb的地址信息可以被持續(xù)地保持在存儲控制器310中或者可以在存儲控制器210中被更新。

在步驟s1050中,存儲控制器310可以分配普通塊nb或強塊sb,而不是弱塊wb,給用于寫入被請求寫的數(shù)據(jù)的存儲塊。

使用弱塊信息的數(shù)據(jù)寫入方法參照圖17被描述。存儲控制器310可以參照來自主機的數(shù)據(jù)標簽檢測被請求寫的數(shù)據(jù)的模式或屬性,并且具有特定模式或屬性的數(shù)據(jù)可以存儲在弱塊wb中。

圖22為示出根據(jù)本公開的另一實施例的用戶系統(tǒng)的框圖。參照圖22,用戶系統(tǒng)400可以包括主機410和儲存裝置420。主機410可以包括核412,工作存儲器414和存儲接口416。儲存裝置420可以包括微控制器422和非易失性存儲裝置424。這里,儲存裝置420可以用完美頁新(perfectpagenew,ppn)裝置實現(xiàn)。

主機410的核412可以運行各種加載于工作存儲器414上的應用程序或可以處理加載在工作存儲器414上的數(shù)據(jù)。諸如操作系統(tǒng)和應用程序這樣的軟件可以被加載在工作存儲器414上。具體地,如本公開的讀取回收rr管理器415和非選擇讀取管理器417的算法或軟件模塊可以被加載在加載在工作存儲器414上的操作系統(tǒng)上。

存儲接口416可以將由核412請求訪問的存儲地址轉換為物理地址。存儲接口416可以執(zhí)行,例如,閃存轉換層(ftl)的功能。

在主機410的控制下,rr管理器415和usr管理器417可以基于錯誤位增長率將存儲裝置420的存儲塊分類。rr管理器415和usr管理器417可以管理用固定的錯誤位檢測周期分類為弱塊的存儲塊。如果檢測到的錯誤位數(shù)量大于或等于特定的閾值,則弱塊可以被指定為讀取回收塊。

儲存裝置420可以包括所述微控制器422和非易失性存儲裝置424。微控制器422可以給非易失性存儲裝置424提供來自主機410的命令cmd,地址addr,控制信號ctrl,和數(shù)據(jù)data。

圖23為示出包括在參照圖1、圖4、圖16、圖20和圖22描述的存儲單元陣列中的存儲塊的第一存儲塊blk1的電路圖。在一實施例中,具有三維結構的第一存儲塊blk1將參照圖23描述。然而,本公開的范圍和精神不限于此。例如,分別包括于非易失性存儲裝置423中的其他存儲塊可以具有與第一存儲塊blk1類似的結構。

參照圖23,第一存儲塊blk1可以包括多個單元串cs11,cs12,cs21,和cs22。單元串cs11,cs12,cs21,和cs22可以沿行方向和列方向排列,并且可以形成行或列。

例如,單元串cs11和cs12可以連接于串選擇線ssl1a和ssl1b以形成第一行。單元串cs21和cs22可以連接于串選擇線ssl2a和ssl2b以形成第二行。例如,單元串cs11和cs21可以連接于第一位線bl1以構成第一列。單元串cs12和cs22可以連接于第二位線bl2以構成第二列。

各單元串cs11,cs12,cs21,和cs22可以包括多個單元晶體管。各單元串cs11,cs12,cs21,和cs22可以包括串選擇晶體管ssta和sstb,多個存儲單元mc1到mc8,地選擇晶體管gsta和gstb,和虛擬存儲單元dmc1和dmc2。在一實施例中,包括在單元串cs11,cs12,cs21,和cs22中的各存儲單元可以是電荷捕獲閃存(ctf)存儲單元。

存儲單元mc1到mc8可以被串行地連接并且可以在高度方向堆疊,所述高度方向為垂直于由行方向和列方向定義的平面的方向。串選擇晶體管ssta和sstb可以被串行地連接并且可以被布置于存儲單元mc1到mc8和位線bl之間。地選擇晶體管gsta和gstb可以被串行地連接并且可以被布置于存儲單元mc1到mc8和公共源極線csl之間。

在一實施例中,第一虛擬存儲單元dmc1可以被布置于存儲單元mc1到mc8和地選擇晶體管gsta和gstb之間。在一實施例中,第二虛擬存儲單元dmc2可以被布置于存儲單元mc1到mc8和串選擇晶體管ssta和sstb之間。

單元串cs11,cs12,cs21,和cs22的地選擇晶體管gsta和gstb可以共同連接于地選擇線gsl。在一實施例中,在相同行的地選擇晶體管可以被連接于相同地選擇線,并且在不同行的地選擇晶體管可以被連接于不同的地選擇線。例如,在第一行的單元串cs11和cs12的第一地選擇晶體管gsta可以被連接于第一地選擇線,并且在第二行的單元串cs21和cs22的第一地選擇晶體管gsta可以被連接于第二地選擇線。

在一實施例中,即使沒有在圖23中示出,被提供在距基底(未示出)相同高度的地選擇晶體管也可以被連接于相同地選擇線,被提供在不同高度的地選擇晶體管可以被連接于不同地選擇線。例如,單元串cs11,cs12,cs21,和cs22的第一地選擇晶體管gsta可以被連接于第一地選擇線,并且其第二地選擇晶體管gstb可以被連接于第二地選擇線。

置于距基底(或者地選擇晶體管gsta和gstb)相同高度的存儲單元可以被共同連接于相同字線,并且置于距此不同高度的存儲單元可以連接于不同字線。例如,在單元串cs11,cs12,cs21,和cs22中的第一到第八存儲單元mc1到mc8可以分別共同地連接于第一到第八字線wl1到wl8。

來自在同樣的高度的第一串選擇晶體管ssta中的屬于相同行的串選擇晶體管可以被連接于同樣的串選擇線,并且屬于不同行的串選擇晶體管可以被連接于不同的串選擇線。例如,在第一行的單元串cs11和cs12的第一串選擇晶體管ssta可以被共同地連接于串選擇線ssl1a并且在第二行的單元串cs21和cs22的第一串選擇晶體管ssta可以被連接于串選擇線ssl2a。

來自在同樣的高度的第二串選擇晶體管sstb中的屬于相同行的串選擇晶體管可以被連接于同樣的串選擇線,并且屬于不同行的串選擇晶體管可以被連接于不同的串選擇線。例如,在第一行的單元串cs11和cs12的第二串選擇晶體管sstb可以被共同地連接于串選擇線ssl1b并且在第二行的單元串cs21和cs22的第二串選擇晶體管sstb可以被連接于串選擇線ssl2b。

即使未示出,在相同行的單元串的串選擇晶體管也可以共同被連接于相同的串選擇線。例如,在第一行的單元串cs11和cs12的第一串選擇晶體管ssta和第二串選擇晶體管sstb可以被共同連接于相同串選擇線。在第二行的單元串cs21和cs22的第一串選擇晶體管ssta和第二串選擇晶體管sstb可以被共同連接于相同串選擇線。

在一實施例中,在相同高度的虛擬存儲單元可以與相同虛擬字線連接,并且在不同高度的虛擬存儲單元可以與不同的虛擬字線連接。例如,第一虛擬存儲單元dmc1可以被連接于第一虛擬字線dwl1并且第二虛擬存儲單元dmc2可以被連接于第二虛擬字線dwl2。

在第一存儲塊blk1中,讀操作和寫操作可以通過行執(zhí)行。例如,存儲塊blk1的一行可以被串選擇線ssl1a,ssl1b,ssl2a,和ssl2b選擇。當開啟電壓供給串選擇線ssl1a和ssl1b并且關閉電壓供給串選擇線ssl2a和ssl2b時,在第一行的單元串cs11和cs12可以分別連接于位線bl1和bl2。當開啟電壓供給串選擇線ssl2a和ssl2b并且關閉電壓供給串選擇線ssl1a和ssl1b時,在第二行的單元串cs21和cs22可以分別連接于位線bl1和bl2。屬于相同高度的存儲單元可以自通過操作字線被驅動的行中的單元串的存儲單元中被選擇。在被選擇存儲單元中,讀操作和寫操作可以被執(zhí)行。被選擇的存儲單元可以構成物理頁單元。

在存儲塊blk1中,存儲單元可以被存儲塊或子塊擦除。當擦除由存儲塊執(zhí)行時,在存儲塊blk1中的所有存儲單元mc可以根據(jù)擦除請求被同時擦除。當擦除由子塊執(zhí)行時,存儲塊blk1中的部分存儲單元mc可以根據(jù)擦除請求被同時擦除,同時它的其他部分可以被禁止擦除。低電壓(例如,地電壓)可以被供給連接于被擦除存儲單元mc的字線,并且連接于被禁止擦除的存儲單元mc的字線可以被浮置。

圖23示出的第一存儲塊blk1可以為一示例。例如,單元串的數(shù)量可以增加或減少,并且單元串的行的數(shù)量和單元串的列的數(shù)量可以根據(jù)單元串的數(shù)量增加或減少。在第一存儲塊blk1中,單元晶體管(gst,mc,dmc,sst等)的數(shù)量可以增加或減少,第一存儲塊blk1的高度可以根據(jù)單元晶體管(gst,mc,dmc,sst等)的數(shù)量增加或減小。此外,連接于單元晶體管的線(gsl,wl,dwl,ssl等)的數(shù)量可以根據(jù)單元晶體管(gst,mc,dmc,sst等)的數(shù)量增加或減小。

當連接于第一存儲塊blk1的字線wl5的存儲單元被選擇,非選擇讀操作可以被應用于周圍的字線wl1到wl4和wl6到wl8至少之一。具體地,由于供給有具有相對高電平的非選擇讀取電壓vread2(>vread1),因此臨近于被選擇字線wl5的字線可能受更大的讀取擾動干擾。根據(jù)本公開的讀取回收方法,當?shù)谝淮鎯Kblk1被檢查為弱塊時,用于第一存儲塊blk1的非選擇讀操作的周期可以由隨機周期變?yōu)楣潭ㄖ芷???商娲?,用于第一存儲塊blk1的讀取回收基準可以被處理為不同于其他普通塊的讀取回收基準。

圖24為示出根據(jù)本公開的一實施例的包括非易失性存儲系統(tǒng)的存儲卡系統(tǒng)的框圖;參照圖24,存儲卡系統(tǒng)1000可以包括存儲控制器1100,非易失性存儲器1200,和接口1300。

存儲控制器1100可以連接于非易失性存儲器1200。存儲控制器1100可以被配置成訪問非易失性存儲器1200。例如,存儲控制器1100可以被配置成控制非易失性存儲器1200全部操作,包括但不限于,讀操作,寫操作,擦除操作,和背景操作。背景操作可以包括如磨損均衡管理和垃圾收集的操作。在一實施例中,存儲控制器1100可以執(zhí)行與參照圖1到圖21描述的存儲控制器110、210、和310至少之一相同的控制操作。也就是說,存儲控制器1100可以基于在非易失性存儲裝置1200中的存儲塊的讀計數(shù)計算錯誤位增長率并且可以基于計算的錯誤位增長率選擇弱塊。存儲控制器1100可以基于不同于其他存儲塊的基準(例如,錯誤位數(shù)量或讀計數(shù))指定被選擇的弱塊為讀取回收塊。

存儲控制器1100可以提供非易失性存儲器1200和主機之間的接口。存儲控制器1100可以被配置成驅動固件以控制非易失性存儲器1200。在一實施例中,存儲控制器1100可以包括例如,但不限于,ram,處理單元,主機接口,存儲接口,和錯誤修正單元的組件。

存儲控制器1100可以通過連接器1300與外部設備通信。存儲控制器1100可以基于特定的通信協(xié)議與外部設備通信。例如,存儲控制器可以通過各種通信協(xié)議中至少之一與外部設備通信,所述通信協(xié)議例如,但不限于,通用串行總線(usb),多媒體卡(mmc),emmc(嵌入式mmc),周邊部件互聯(lián)(pci),pci-express(pci-e),高級技術附件(ata),串行-ata,并行-ata,小型計算機小型接口(smallcomputersmallinterface,scsi),增強型小型磁盤接口(esdi),電子集成驅動器(ide),火線,通用閃存存儲(ufs),非易失性存儲標準(nvme)。在一實施例中,由上面描述的標準定義的寫入命令可以包括寫入數(shù)據(jù)的大小信息。

非易失性存儲器1200可以由各種各樣的非易失性存儲裝置實現(xiàn),所述非易失性存儲裝置包括,但不限于,電可擦除可編程只讀存儲器(eeprom),nand閃存存儲器,nor閃存存儲器,相變ram(pram),阻變式ram(reram),鐵電ram(frram),和自旋力矩磁性ram(stt-mram)。

在一實施例中,存儲控制器1100和非易失性存儲器1200可以被集成在單獨的半導體器件中。存儲控制器1100和非易失性存儲器1200可以被集成在單獨的半導體器件中以形成固態(tài)驅動器(ssd)。存儲控制器1100和非易失性存儲器1200可以被集成在單獨的半導體器件中以構成存儲卡。例如,存儲控制器1100和非易失性存儲器1200可以被集成在單獨的半導體器件中以構成存儲卡,所述存儲卡例如,但不限于,pc卡(個人計算機存儲卡國際聯(lián)合會(pcmcia)卡),緊湊閃存卡(cf),智能媒體卡(sm,smc),記憶棒,多媒體卡(mmc,rs-mmc,mmc-micro),sd卡(sd,minisd,sdhc),和通用閃存存儲器(ufs)。

圖25為示出根據(jù)本公開的一實施例的包括非易失性存儲系統(tǒng)的固態(tài)驅動器的框圖。參照圖25,固態(tài)驅動器(ssd)系統(tǒng)2000可以包括主機2100和ssd2200。ssd2200可以通過信號連接器2001與主機2100交換信號并且可以通過電源連接器2002被供電。ssd2200可以包括ssd控制器2210,多個閃存存儲器2221到222n,輔助電源2230,和緩沖存儲器2240。

ssd控制器2210可以響應來自主機2100的信號控制閃存存儲器2221到222n。在一實施例中,ssd控制器2210可以執(zhí)行與參照圖1到21描述的存儲控制器110、210和310至少之一相同的控制操作。也就是說,ssd控制器2210可以基于閃存存儲器221到222n的讀計數(shù)計算錯誤位增長率并且可以基于計算的錯誤位增長率選擇弱塊。ssd控制器2210可以基于不同于其他存儲塊的基準(例如,錯誤位數(shù)量或讀計數(shù))指定被選擇的弱塊為讀取回收塊。

輔助電源2230可以通過電源接口2002被連接于主機2100。輔助電源2230可以被來自主機2100的電能充電。當電能不能從主機2100平穩(wěn)地被供應時,輔助電源2230可以為ssd系統(tǒng)2000供電。輔助電源2230可以放置于ssd2200里面或外面。例如,輔助電源2230可以放在主板上以向ssd2200提供輔助電能。

緩沖存儲器2240可以用作ssd2200的緩沖存儲器。例如,緩沖存儲器2240可以暫時儲存從主機2100或從閃存存儲器2221到222n接收的數(shù)據(jù)或者可以暫時存儲閃存存儲器2221到222n的元數(shù)據(jù)(例如,映射表)。緩沖存儲器2240可以包括易失存儲器,例如dram,sdram,ddrdram,lpddrsdram,和sram,或者非易失性存儲器,例如fram,reram,stt-mram,和pram。

圖26為示出根據(jù)本公開的另一實施例的包括非易失性存儲系統(tǒng)的用戶系統(tǒng)的框圖。參照圖26,用戶系統(tǒng)3000可以包括應用處理器3100,存儲器模塊3200,網絡模塊3300,存儲模塊3400,和用戶接口3500。

應用處理器3100可以驅動用戶系統(tǒng)3000的組件,操作系統(tǒng)等。例如,應用處理器3100可以包括控制器,以控制用戶系統(tǒng)3000的組件,圖形引擎,各種接口等。例如,應用處理器3100可以是片上系統(tǒng)(soc)。

存儲器模塊3200可以作為用戶系統(tǒng)3000的主存儲器,工作存儲器,緩沖存儲器,或者高速緩沖存儲器操作。存儲器模塊3200可以用易失性隨機存取存儲器或非易失性隨機存取存儲器實現(xiàn),所述易失性隨機存取存儲器例如dram,sdram,雙倍數(shù)據(jù)速率dram(ddrdram),ddr2sdram,ddr3sdram,lpddrdram,lpddr2dram,或者lpddr3dram,所述非易失性隨機存取存儲器例如pram,mram,rram,或者fram。

網絡模塊3300可以與外部設備通信。例如,網絡模塊3300可以支持無線通信,例如碼分多址(cdma),全球移動通信系統(tǒng)(gsm),寬帶cdma(wcdma),cdma-2000,時分多址(tdma),長期演進(lte),wimax,wlan,uwb,藍牙,和wi-di。在一實施例中,網絡模塊3300可以包括在應用處理器3100中。

存儲模塊3400可以存儲數(shù)據(jù)。例如,存儲模塊3400可以存儲從應用處理器3100接收的數(shù)據(jù)??商娲?,存儲模塊3400可以提供存儲于其中的數(shù)據(jù)給應用處理器3100。例如,存儲模塊3400可以用半導體存儲裝置實現(xiàn),所述半導體存儲裝置例如pram,mram,rram,nand閃存存儲器,nor閃存存儲器,或者三維nand閃存存儲器。

在一實施例中,存儲模塊3400可以基于參照圖1到圖21的讀取回收方法控制多個非易失性存儲裝置。

用戶接口3500可以包括向應用處理器3100中輸入數(shù)據(jù)或命令或向外部設備輸出數(shù)據(jù)的接口。例如,用戶接口3500可以包括用戶輸入接口,例如鍵盤(keyboard),小鍵盤(keypad),按鍵,觸摸板(touchpanel),觸摸屏,觸摸板(touchpad),觸摸球,相機,麥克風,陀螺儀傳感器,和振動傳感器。用戶接口3500還可以包括用戶輸出接口,例如液晶顯示器(lcd),有機發(fā)光二極管(oled)顯示裝置,有源矩陣oled(amoled)顯示裝置,發(fā)光二極管(led),揚聲器,和電機。

根據(jù)本公開的非易失性存儲裝置,卡控制器,和存儲卡可以根據(jù)各種不同的封裝技術中的任一種被封裝。這樣的封裝技術的示例可以包括以下:層疊封裝(packageonpackage,pop),球柵陣列(bgas),芯片尺寸封裝(csps),塑料有引線芯片載體封裝(plcc),塑料雙列直插封裝(pdip),晶片包中管芯封裝(dieinwafflepack),晶片形式的管芯封裝(dieinwaferform),板上芯片(cob),陶瓷雙列直插封裝(cerdip),塑料公制方形扁平封裝(mqfp),小外形封裝(soic),收縮型小外形封裝(ssop),薄型小外形封裝(tsop),薄型方形扁平封裝(tqfp),系統(tǒng)封裝(sip),多芯片封裝(mcp),晶圓級制造封裝(wfp),晶圓級處理堆棧封裝(wsp)。

根據(jù)本公開的實施例,被選擇為讀取回收塊的存儲塊的數(shù)量可以,基于存儲塊的物理特征,通過改變當塊被指定為讀取回收塊的時間點而減少。因此,可能延長存儲裝置的壽命并且提高存儲裝置的性能。

如本領域的慣例,實施例可以依據(jù)塊被描述和圖示,所述塊執(zhí)行所描述的一種功能或多種功能。這些塊,在此處指單元或模塊等,由如邏輯門,集成電路,微處理器,微控制器,存儲電路,無源電子元件,有源電子元件,光學元件,硬連線電路等模擬和/或數(shù)字電路物理地實現(xiàn),并且可以由固件和/或軟件選擇性地驅動。電路可以,例如,在一個或更多半導體芯片中,或者在印刷電路板等基底支撐件上體現(xiàn)。構成塊的電路可以由專用硬件,或由處理器(例如,一個或更多編程微處理器和相關電路),或由用于執(zhí)行塊的一些功能的專用硬件和用于執(zhí)行塊的其他功能的處理器的組合實現(xiàn)。實施例的各塊可以物理分離為兩個或更多相互作用的和離散的塊,而不背離被公開的范圍。類似地,實施例的塊可以物理的合并為更多復雜的塊,而不背離本公開的范圍。

本公開已參照示例的實施例被描述,對本領域技術人員來說,顯然,各種變化和修改可以被實現(xiàn)而不背離本公開的精神和范圍。因此,應該理解,上述實施例不是限定性的,而是示例性的。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1