相關(guān)申請(qǐng)的交叉引用
本申請(qǐng)要求2015年9月22日向韓國知識(shí)產(chǎn)權(quán)局提交的第10-2015-0133887號(hào)韓國專利申請(qǐng)的權(quán)益,其主題內(nèi)容通過引用整體并入本文。
本發(fā)明構(gòu)思涉及非易失性存儲(chǔ)器系統(tǒng),而且更具體地,涉及能夠執(zhí)行無用數(shù)據(jù)(garbage)收集操作的存儲(chǔ)器控制器、非易失性存儲(chǔ)器系統(tǒng)以及相關(guān)方法。
背景技術(shù):
存儲(chǔ)器系統(tǒng),例如,快閃存儲(chǔ)器系統(tǒng)被廣泛用作通用串行總線(usb)驅(qū)動(dòng)器、數(shù)碼相機(jī)、移動(dòng)電話、智能電話、平板個(gè)人計(jì)算機(jī)(pc)存儲(chǔ)卡和固態(tài)驅(qū)動(dòng)器(ssd)中的非易失性存儲(chǔ)器設(shè)備。在快閃存儲(chǔ)器設(shè)備中,寫/讀單元和擦除單元可以彼此不同,并且因此存儲(chǔ)器操作可以由快閃轉(zhuǎn)換層(ftl)管理,ftl可以包括固件。
在快閃存儲(chǔ)器系統(tǒng)中,數(shù)據(jù)可以被寫入已擦除的塊(例如,空閑塊),并且可以執(zhí)行無用數(shù)據(jù)收集操作以確保一個(gè)或多個(gè)空閑塊。由于數(shù)據(jù)可以根據(jù)無用數(shù)據(jù)收集操作的執(zhí)行而轉(zhuǎn)移,因此數(shù)據(jù)的地址映射信息可以被改變,而且存儲(chǔ)器系統(tǒng)的特定區(qū)域可以頻繁更新或者元數(shù)據(jù)寫入量可以在更新其映射信息的過程中增加。這可能增加完成無用數(shù)據(jù)收集所需的等待時(shí)段,并且還可以縮短存儲(chǔ)器系統(tǒng)的有效壽命。
技術(shù)實(shí)現(xiàn)要素:
附圖說明
根據(jù)以下結(jié)合附圖的詳細(xì)描述,本發(fā)明構(gòu)思的實(shí)施例將更加容易理解,在附圖中:
圖1是示出根據(jù)本發(fā)明構(gòu)思的實(shí)施例的存儲(chǔ)器系統(tǒng)的總體框圖;
圖2是進(jìn)一步示出圖1的存儲(chǔ)器控制器的一個(gè)實(shí)施例的框圖;
圖3是進(jìn)一步示出圖1的存儲(chǔ)器設(shè)備的一個(gè)實(shí)施例的框圖;
圖4是概括根據(jù)本發(fā)明構(gòu)思的實(shí)施例的存儲(chǔ)器控制器的一個(gè)示例性操作的流程圖;
圖5是示出圖3的存儲(chǔ)器單元陣列的一個(gè)可能結(jié)構(gòu)的概念圖;
圖6a和圖6b分別是示出存儲(chǔ)在映射表中的映射信息的示例的概念圖;
圖7、圖8和圖9各自是示出根據(jù)本發(fā)明構(gòu)思的某些實(shí)施例的執(zhí)行無用數(shù)據(jù)收集操作的示例、使用存儲(chǔ)在更新高速緩存中的信息來更新存儲(chǔ)器設(shè)備的映射表的示例、以及在無用數(shù)據(jù)收集操作期間針對(duì)映射表多次執(zhí)行更新操作的示例的概念圖;
圖10、圖11和圖12各自是概括用于本發(fā)明構(gòu)思的實(shí)施例的各種存儲(chǔ)器控制器操作的流程圖;
圖13是示出當(dāng)數(shù)據(jù)按隨機(jī)模式(randompattern)被寫入時(shí)包括在塊中的有效數(shù)據(jù)數(shù)目(計(jì)數(shù))的示例的曲線圖;
圖14a和圖14b各自是示出選擇源塊和目標(biāo)塊的示例和存儲(chǔ)在更新高速緩存中的映射信息的示例的框圖;
圖15是示出根據(jù)本發(fā)明構(gòu)思的實(shí)施例的更新映射表的示例的框圖;
圖16是概括根據(jù)本發(fā)明構(gòu)思的實(shí)施例的存儲(chǔ)器控制器的操作的流程圖;
圖17是示出根據(jù)所選擇的源塊的數(shù)目的更新操作的頻率(計(jì)數(shù))的示例的曲線圖;
圖18是示出根據(jù)本發(fā)明構(gòu)思的實(shí)施例的存儲(chǔ)器控制器的配置的框圖;
圖19是示出用于存儲(chǔ)器設(shè)備的存儲(chǔ)器單元陣列的一個(gè)可能實(shí)現(xiàn)變體的透視圖;
圖20是示出根據(jù)本發(fā)明構(gòu)思的實(shí)施例的、將存儲(chǔ)器系統(tǒng)應(yīng)用于存儲(chǔ)卡系統(tǒng)的示例的框圖;以及
圖21是示出根據(jù)本發(fā)明構(gòu)思的實(shí)施例的、將存儲(chǔ)器設(shè)備應(yīng)用到固態(tài)驅(qū)動(dòng)(ssd)系統(tǒng)的示例的框圖。
具體實(shí)施方式
如本文所使用的,術(shù)語“和/或”包括一個(gè)或多個(gè)關(guān)聯(lián)的列出項(xiàng)的的任意組合和所有組合。當(dāng)諸如“中的至少一個(gè)”出現(xiàn)在元件的列表之后時(shí),它修飾元件的整個(gè)列表,而不是修飾該列表的各個(gè)元件。
下文中,將參照附圖詳細(xì)描述本發(fā)明構(gòu)思的實(shí)施例。提供這些實(shí)施例以使得本公開將是徹底和完整的,并且向本領(lǐng)域普通技術(shù)人員充分傳達(dá)本發(fā)明構(gòu)思。本發(fā)明構(gòu)思可以包括各種實(shí)施例和修改,并且其實(shí)施例在附圖中示出并且將在本文中詳細(xì)說明。然而,應(yīng)該理解的是,本發(fā)明構(gòu)思不限制于這些實(shí)施例,并且包括落入本發(fā)明構(gòu)思的范圍內(nèi)的所有修改、等同和替換。在說明書和附圖中,相同的參考數(shù)字和標(biāo)記始終指代相同或相似的元件。在附圖中,為了便于描述和清楚,結(jié)構(gòu)的維度可能被夸大。
本文使用的術(shù)語僅用于描述具體實(shí)施例,而且并非旨在限制本發(fā)明構(gòu)思。如本文使用的,單數(shù)形式“一”、“一個(gè)”和“該”也旨在包括復(fù)數(shù)形式,除非上下文另外明確指出。應(yīng)該理解的是,當(dāng)諸如“包含”、“包括”和“具有”的術(shù)語在本文中使用時(shí),其指定所陳述的特征、整體、步驟、操作、元件、部件或它們的組合的存在,但是并不排除的一個(gè)或多個(gè)其它特征、整數(shù)、步驟、操作、元件、部件或它們的組合的存在或添加。
盡管本文中使用諸如“第一”和“第二”的術(shù)語來描述各種元件或組件,但是元件或組件不應(yīng)受術(shù)語的限制。這些術(shù)語可以用于將一個(gè)元件或組件與另一元件或組件區(qū)分開。例如,第一元件或組件也可以被稱為第二元件或組件,并且反之亦然。
除非另外定義,否則文本使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語)可以具有與本發(fā)明所屬領(lǐng)域的普通技術(shù)人員通常理解的含義相同的含義。還應(yīng)該理解,術(shù)語,如通常使用的詞典中定義的那些術(shù)語,應(yīng)該被解釋為所具有的含義與它們在相關(guān)領(lǐng)域的上下文中的含義一致,而不應(yīng)理想化地或過分形式化地對(duì)其進(jìn)行解釋,除非此處明確地如此定義。
圖1是示出根據(jù)實(shí)施例的存儲(chǔ)器系統(tǒng)的框圖。參照?qǐng)D1,存儲(chǔ)器系統(tǒng)100一般包括存儲(chǔ)器控制器110和存儲(chǔ)器設(shè)備120。存儲(chǔ)器設(shè)備120可以是非易失性存儲(chǔ)器設(shè)備,例如快閃存儲(chǔ)器設(shè)備(例如,nand型或nor型),或包括電阻存儲(chǔ)器單元(例如,reram、mram或pram)的存儲(chǔ)器設(shè)備。無論在存儲(chǔ)器設(shè)備120中使用什么類型的存儲(chǔ)器單元,都可以在存儲(chǔ)器單元陣列121中排列海量的構(gòu)成存儲(chǔ)器單元,存儲(chǔ)器單元陣列121一般包括元區(qū)域121_1和存儲(chǔ)區(qū)域121_2。
存儲(chǔ)器控制器110可以被用于在各種存儲(chǔ)器系統(tǒng)操作的執(zhí)行期間控制存儲(chǔ)器設(shè)備120,所述操作諸如讀、寫(或編程)、讀/寫和擦除操作,以及某些內(nèi)部管理功能(housekeeping)或存儲(chǔ)器系統(tǒng)管理操作。一個(gè)或多個(gè)存儲(chǔ)器系統(tǒng)操作通常響應(yīng)于來自主機(jī)的一個(gè)或多個(gè)請(qǐng)求(以下單獨(dú)或統(tǒng)稱為“數(shù)據(jù)訪問請(qǐng)求(dataaccessrequest)”)來執(zhí)行,其中各種數(shù)據(jù)訪問請(qǐng)求與一個(gè)或多個(gè)命令(cmd)、(多個(gè))控制信號(hào)指示(ctrl)、數(shù)據(jù)傳輸(data)等相關(guān)聯(lián)。
在圖1所示的示例中,存儲(chǔ)器控制器110被假定為包括快閃轉(zhuǎn)換層(ftl)111和更新高速緩存112。ftl111可以使用系統(tǒng)軟件(或固件)來實(shí)現(xiàn),所述系統(tǒng)軟件(或固件)管理存儲(chǔ)器設(shè)備120的某些存儲(chǔ)器系統(tǒng)的操作的執(zhí)行。ftl111的一個(gè)或多個(gè)組件可以被加載到存儲(chǔ)器控制器110的工作存儲(chǔ)器(未示出)。包含在ftl111中的固件可以由在存儲(chǔ)器控制器110中提供的處理單元(未示出)驅(qū)動(dòng)。更新高速緩存112可以包括能夠存儲(chǔ)數(shù)據(jù)的任何類型的存儲(chǔ)器。然而,在本發(fā)明構(gòu)思的許多實(shí)施例中,更新高速緩存112將使用提供相對(duì)快速數(shù)據(jù)訪問操作的、諸如dram或sram的易失性存儲(chǔ)器來實(shí)現(xiàn)。
當(dāng)從主機(jī)接收到包括至少一個(gè)邏輯地址的數(shù)據(jù)訪問請(qǐng)求時(shí),ftl111將邏輯地址轉(zhuǎn)換成相應(yīng)的物理地址,并且提供物理地址到存儲(chǔ)器設(shè)備120。也可以在某些存儲(chǔ)器系統(tǒng)管理操作期間使用ftl111,其中,這樣的管理操作相對(duì)于存儲(chǔ)器單元陣列121,根據(jù)已定義的單元區(qū)域基礎(chǔ)(例如,以芯片單元為基礎(chǔ)、以塊單位為基礎(chǔ)或以頁為單位為基礎(chǔ))來執(zhí)行。許多不同類型的管理操作,包括所謂的無用數(shù)據(jù)收集操作、壞塊管理操作等將本領(lǐng)域技術(shù)人員所理解。
作為管理操作的結(jié)果,將(多個(gè))物理地址與相應(yīng)的(多個(gè))邏輯地址相關(guān)的映射信息往往將被改變。得到的改變的映射信息最終將在存儲(chǔ)器單元陣列121的元區(qū)域121_1中被更新。也就是說,改變的映射信息可以由存儲(chǔ)器控制器110周期性地或非周期性地提供給存儲(chǔ)器設(shè)備120。在這方面,更新高速緩存112可以被用于暫時(shí)存儲(chǔ)改變的映射信息。
在存儲(chǔ)器單元陣列121中,元區(qū)域121_1可以被用于存儲(chǔ)一個(gè)或多個(gè)類型的非正常(或“元數(shù)據(jù)”)數(shù)據(jù),諸如開銷數(shù)據(jù)、存儲(chǔ)系統(tǒng)管理數(shù)據(jù)、參考數(shù)據(jù)等,而存儲(chǔ)區(qū)域121_2可以被用于存儲(chǔ)正常數(shù)據(jù),諸如用戶定義的數(shù)據(jù)、用戶指示的數(shù)據(jù)、有效載荷數(shù)據(jù)等。當(dāng)然,正常數(shù)據(jù)和元數(shù)據(jù)之間的確切邊界將在存儲(chǔ)器系統(tǒng)設(shè)計(jì)和應(yīng)用之間變化,但是本領(lǐng)域技術(shù)人員一般能夠理解這些常規(guī)區(qū)別。例如,元區(qū)域121_1通常被用于存儲(chǔ)(與各種信息類型相關(guān)聯(lián)的)元數(shù)據(jù),其在定義、排列、分配/解除分配、表征和管理存儲(chǔ)在存儲(chǔ)區(qū)域121_2中的正常數(shù)據(jù)方面是有用的。作為可以以這種方式使用的元數(shù)據(jù)的一個(gè)具體示例,某些邏輯-物理映射信息(或“l(fā)2p信息”)可以以非易失性方式存儲(chǔ)在元區(qū)域121_1中。這里,l2p信息是標(biāo)識(shí)或允許(多個(gè))邏輯地址和相應(yīng)的(多個(gè))物理地址之間的相關(guān)性的數(shù)據(jù)。此后,l2p信息將被用于更一般的“映射信息”的示例,其可以由ftl111和存儲(chǔ)器設(shè)備120生成和/或使用以使能存儲(chǔ)器控制器110和存儲(chǔ)器設(shè)備120之間的正常數(shù)據(jù)的通信。
在這方面,任意選擇當(dāng)前所請(qǐng)求的讀操作或?qū)懖僮髯鳛闀r(shí)間參考點(diǎn),包括映射信息l2p信息的初始(或第一)版本的元數(shù)據(jù)被存儲(chǔ)在元區(qū)域121_1中。存儲(chǔ)在元區(qū)域121_1中的第一映射信息l2p信息在某一點(diǎn)被提供給存儲(chǔ)器控制器110。當(dāng)被存儲(chǔ)器控制器110接收時(shí),第一映射信息可以被存儲(chǔ)在更新高速緩存112或與更新高速緩存112相關(guān)聯(lián)的存儲(chǔ)器中。以這種方式,存儲(chǔ)器控制器110可以通過參考存儲(chǔ)在更新高速緩存112中的映射信息l2p信息來管理對(duì)存儲(chǔ)器設(shè)備120的數(shù)據(jù)訪問操作的執(zhí)行。而且在每個(gè)數(shù)據(jù)訪問操作被執(zhí)行時(shí),存儲(chǔ)器控制器110可以在必要時(shí)改變存儲(chǔ)在更新高速緩存112或相關(guān)聯(lián)的存儲(chǔ)器中的映射信息l2p信息。在將第一映射信息從存儲(chǔ)器設(shè)備120轉(zhuǎn)移到存儲(chǔ)器控制器110之后并且還在作為(多個(gè))數(shù)據(jù)訪問操作的結(jié)果由存儲(chǔ)器控制器110至少一次改變所存儲(chǔ)的第一映射信息之后的某個(gè)時(shí)間點(diǎn),改變的(或第二、或更新的)版本的映射信息將被轉(zhuǎn)移到并且以非易失性方式存儲(chǔ)在存儲(chǔ)器設(shè)備120(例如,元區(qū)域121_1中)。在本發(fā)明構(gòu)思的某些實(shí)施例中,“更新的映射信息”的這個(gè)存儲(chǔ)可以由無用數(shù)據(jù)收集操作或某個(gè)其它管理操作的執(zhí)行而導(dǎo)致。
例如,元區(qū)域121_1可以包括多個(gè)映射表,不同地用于存儲(chǔ)映射信息。應(yīng)認(rèn)識(shí)到的是,存儲(chǔ)器單元陣列121可以被劃分成多個(gè)區(qū)域,每個(gè)區(qū)域具有一定大小,而且元區(qū)域121_1可以包括與多個(gè)區(qū)域相對(duì)應(yīng)的映射表。因此,假定存儲(chǔ)器單元陣列121的存儲(chǔ)區(qū)域121_2使用具有大小x的多個(gè)區(qū)域來實(shí)現(xiàn),其中“x”是表示gb的自然數(shù),相應(yīng)的映射表可以被保持用于每個(gè)大小為x的區(qū)域。也就是說,每個(gè)映射表可以被用于存儲(chǔ)與相應(yīng)的大小為x的單元相關(guān)聯(lián)的映射信息。因此,在某些實(shí)施例中,元區(qū)域121_1可以包括數(shù)百或數(shù)千個(gè)映射表,其共同用于管理存儲(chǔ)區(qū)域121_2的大小為x的區(qū)域的邏輯-物理地址轉(zhuǎn)換。這里,“x”的值可以由塊大小、塊的分組、頁的分組等等來確定。
本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到的是,無用數(shù)據(jù)收集操作可以按一個(gè)或多個(gè)源單元和目標(biāo)單元來執(zhí)行。(此后,假定源/目標(biāo)單元是塊,但是不必總是這種情況)。因此,假定所請(qǐng)求的無用數(shù)據(jù)收集操作指定源塊和目標(biāo)塊,作為無用數(shù)據(jù)收集操作的結(jié)果,存儲(chǔ)在元區(qū)域121_1中的至少一個(gè)映射表將被更新。即,在無用數(shù)據(jù)收集操作期間,在源塊中指定為“有效數(shù)據(jù)”的數(shù)據(jù)將被移動(dòng)到(即,復(fù)制到)目標(biāo)塊,而且與有效數(shù)據(jù)相關(guān)的相應(yīng)映射信息將被更新或改變。例如,得到的更新的映射信息在被暫時(shí)存儲(chǔ)在更新高速緩存112中之后,將被寫入到存儲(chǔ)在元區(qū)域121_1中的一個(gè)或多個(gè)映射表。假定在更新高速緩存112具有相對(duì)小的大小(例如,4kb)——因?yàn)樗哂邢鄬?duì)較低的構(gòu)成存儲(chǔ)器單元集成度——的特定示例中,在無用數(shù)據(jù)收集操作期間使用更新高速緩存112對(duì)元區(qū)域121_1中的(多個(gè))映射表的更新可以是需要多個(gè)數(shù)據(jù)復(fù)制/寫操作和相關(guān)聯(lián)的存儲(chǔ)器單元擦除操作的迭代過程。
然而,隨著更新(多個(gè))映射表所需的數(shù)據(jù)復(fù)制/寫操作(或構(gòu)成無用數(shù)據(jù)收集操作內(nèi)的迭代復(fù)制/寫步驟)的數(shù)目增加,無用數(shù)據(jù)收集操作的等待時(shí)段趨于增加,而且施加到用于在元區(qū)域121_1中存儲(chǔ)元數(shù)據(jù)的存儲(chǔ)器單元的擦除操作的數(shù)目(或計(jì)數(shù))也增加。這種施加的擦除操作的增加的數(shù)目導(dǎo)致非易失性存儲(chǔ)器單元加速疲勞,并且會(huì)減少存儲(chǔ)器設(shè)備120的實(shí)際工作壽命。
認(rèn)識(shí)到這些潛在的不利影響,本發(fā)明構(gòu)思的實(shí)施例試圖減少由于無用數(shù)據(jù)收集操作的執(zhí)行導(dǎo)致的映射表的更新頻率,以減少無用數(shù)據(jù)收集操作的執(zhí)行所需的等待時(shí)段,并且延長在與本發(fā)明構(gòu)思的實(shí)施例一致的存儲(chǔ)器系統(tǒng)中提供的非易失性存儲(chǔ)器設(shè)備的實(shí)際壽命。
作為減少元區(qū)域121_1的映射表的更新頻率的示例,存儲(chǔ)在更新高速緩存112中的信息可以以相對(duì)于映射表提供高局部性(locality)的方式進(jìn)行管理。作為其實(shí)施例,在無用數(shù)據(jù)收集操作期間,兩個(gè)或更多個(gè)源塊可以被一起選擇,并且無用數(shù)據(jù)收集操作可以對(duì)所選擇的源塊同時(shí)執(zhí)行。
例如,假定映射信息被存儲(chǔ)在更新高速緩存112中,存儲(chǔ)在更新高速緩存112中的相同映射表中要被更新的映射信息越多,存儲(chǔ)在更新高速緩存112中的映射信息可以在越小數(shù)目的映射表中更新。即,當(dāng)更新高速緩存112的映射信息相對(duì)于映射表具有高局部性時(shí),在映射信息更新處理過程中可以對(duì)相對(duì)小數(shù)目的映射表執(zhí)行更新操作。相反,當(dāng)更新高速緩存112的映射信息相對(duì)于映射表具有低局部性時(shí),在更新處理中可以對(duì)相對(duì)大數(shù)目的映射表執(zhí)行更新操作。也就是說,當(dāng)相對(duì)于映射表的局部性增加時(shí),因?yàn)橐桓碌挠成浔淼臄?shù)目減少,所以執(zhí)行映射信息更新處理所需的延遲時(shí)間可以減少。
此外,在無用數(shù)據(jù)收集操作過程中,可以重復(fù)執(zhí)行基于更新高速緩存112的更新操作。也就是說,由于用于在無用數(shù)據(jù)收集操作過程中傳遞的有效數(shù)據(jù)的復(fù)制/寫步驟的數(shù)目可能相對(duì)較大,但是更新高速緩存112的大小(即,數(shù)據(jù)存儲(chǔ)容量)相對(duì)較小,因此在無用數(shù)據(jù)收集操作的執(zhí)行期間必須反復(fù)更新相關(guān)聯(lián)的映射表。因此,當(dāng)相對(duì)于映射表的局部性增加時(shí),由于可以避免(或在頻率上降低)對(duì)于任何給定映射表的更新操作,因此可以降低每個(gè)映射表的更新頻率。另外,由于可以防止位于元區(qū)域121_1的相同位置處的存儲(chǔ)器單元被頻繁擦除,因此可以防止存儲(chǔ)器設(shè)備120的壽命被縮短。
根據(jù)本發(fā)明構(gòu)思的一些實(shí)施例,為了增加相對(duì)于映射表的局部性,可以同時(shí)對(duì)多個(gè)源塊執(zhí)行無用數(shù)據(jù)收集操作。也就是說,代替按塊順序地執(zhí)行無用數(shù)據(jù)收集操作(即,一個(gè)源塊接一個(gè)源塊地),可以同時(shí)對(duì)多個(gè)源塊執(zhí)行無用數(shù)據(jù)收集操作。該方法允許更大的池(pool)用于選擇與(多個(gè))相同映射表潛在相關(guān)的有效數(shù)據(jù)。
例如,當(dāng)以源塊為單元順序地執(zhí)行無用數(shù)據(jù)收集操作時(shí),與600個(gè)不同映射表相對(duì)應(yīng)的映射信息可以被存儲(chǔ)在大小為4kb(或者能夠存儲(chǔ)1000個(gè)映射信息元素)的更新高速緩存112中。另一方面,根據(jù)本發(fā)明構(gòu)思的一些實(shí)施例,當(dāng)針對(duì)三(3)個(gè)源塊同時(shí)收集無用數(shù)據(jù)時(shí),僅與200個(gè)不同映射表相對(duì)應(yīng)的映射信息可以被存儲(chǔ)在更新高速緩存112中。因此,針對(duì)元區(qū)域121_1中的有關(guān)映射表的更新頻率可以被減小到通過類似常規(guī)方法所需頻率的1/3。
用來執(zhí)行無用數(shù)據(jù)收集操作的、其中針對(duì)兩個(gè)或更多個(gè)源塊同時(shí)執(zhí)行“無用數(shù)據(jù)收集”的前述方法可以通過使用源塊確定操作來促進(jìn)。例如,當(dāng)數(shù)據(jù)根據(jù)順序模式而不是隨機(jī)模式被寫入存儲(chǔ)器設(shè)備120時(shí),數(shù)據(jù)可以根據(jù)順序的位置被物理寫入存儲(chǔ)器單元陣列121或者在存儲(chǔ)器單元陣列121中被無效。在這種情況下,即使當(dāng)以塊順序的方式執(zhí)行無用數(shù)據(jù)收集操作時(shí),存儲(chǔ)在更新高速緩存112中的映射信息將仍然相對(duì)于映射表具有高局部性。因此,認(rèn)識(shí)到這個(gè)結(jié)果,本發(fā)明構(gòu)思的一些實(shí)施例將確定被寫入包括在存儲(chǔ)器單元陣列121中的一個(gè)或多個(gè)塊的數(shù)據(jù)的數(shù)據(jù)類型(例如,隨機(jī)數(shù)據(jù)對(duì)比模式化的數(shù)據(jù)(patterneddata)),在數(shù)據(jù)被確定為具有隨機(jī)模式的情況下,將在多個(gè)源塊上同時(shí)執(zhí)行針對(duì)塊的無用數(shù)據(jù)收集操作。以這種方式,在無用數(shù)據(jù)收集操作期間必須被更新的元數(shù)據(jù)的量可以減少。例如,假定每個(gè)映射表的大小為16kb,映射表可以以16kb為單位進(jìn)行更新。然而,由于對(duì)于(多個(gè))映射表的更新頻率可以在可多次執(zhí)行的更新過程中被減少,因此無用數(shù)據(jù)收集操作期間被更新的元數(shù)據(jù)的總量可以減少。
參照?qǐng)D1,存儲(chǔ)器控制器110和存儲(chǔ)器設(shè)備120可以被集成到單個(gè)半導(dǎo)體設(shè)備中。作為示例,存儲(chǔ)器控制器110和存儲(chǔ)器設(shè)備120可以被集成到單個(gè)半導(dǎo)體設(shè)備,以構(gòu)成存儲(chǔ)卡,諸如pc卡(pcmcia)、緊湊閃存卡(cf)、智能媒體卡(sm/smc)、記憶棒、多媒體卡(mmc、rs-mmc或mmcmicro)、sd卡(sd、minisd卡或microsd)或通用閃存(ufs)。作為另一示例,存儲(chǔ)器控制器110和存儲(chǔ)器設(shè)備120可以被集成到單個(gè)半導(dǎo)體設(shè)備以構(gòu)成固態(tài)盤/驅(qū)動(dòng)器(ssd)。
在前述示例的上下文中,術(shù)語“無用數(shù)據(jù)收集操作”涵蓋將有效數(shù)據(jù)從至少一個(gè)源塊復(fù)制到至少一個(gè)目標(biāo)塊以生成一個(gè)或多個(gè)空閑塊的操作的范圍。下文中使用的術(shù)語“同時(shí)無用數(shù)據(jù)收集操作”指將有效數(shù)據(jù)從至少兩個(gè)源塊復(fù)制到至少一個(gè)目標(biāo)塊以生成一個(gè)或多個(gè)空閑塊的無用數(shù)據(jù)收集操作。在這方面,同時(shí)無用數(shù)據(jù)收集操作可以包括以下步驟:(1)選擇兩個(gè)或更多個(gè)源塊;(2)將有效數(shù)據(jù)從所選源塊復(fù)制到至少一個(gè)目標(biāo)塊;(3)根據(jù)復(fù)制步驟的執(zhí)行,將更新的映射信息存儲(chǔ)在與存儲(chǔ)器控制器相關(guān)聯(lián)的更新高速緩存中;(4)考慮存儲(chǔ)在更新高速緩存中的更新的映射信息,來更新存儲(chǔ)在一個(gè)或多個(gè)映射表中的映射信息;以及(5)擦除從其復(fù)制了有效數(shù)據(jù)的所選源塊。
以一個(gè)源塊為單位來執(zhí)行的塊順序無用數(shù)據(jù)收集操作,可以通過從一個(gè)源塊復(fù)制有效數(shù)據(jù)然后從另一源塊復(fù)制有效數(shù)據(jù)來確??臻e塊。與此相反,根據(jù)本發(fā)明構(gòu)思的實(shí)施例執(zhí)行的針對(duì)兩個(gè)或更多所選源塊的同時(shí)無用數(shù)據(jù)收集操作,可以通過從多個(gè)源塊復(fù)制有效數(shù)據(jù),而不管所選源塊的順序,來確??臻e塊。在這種情況下,兩個(gè)或更多個(gè)不同源塊的有效數(shù)據(jù)可以被稱為“一起復(fù)制”到一個(gè)或多個(gè)目標(biāo)塊。
圖2是進(jìn)一步示出圖1的存儲(chǔ)器控制器110的一個(gè)實(shí)施例200的框圖。參照?qǐng)D2,存儲(chǔ)器控制器200包括處理單元210、工作存儲(chǔ)器220、主機(jī)接口230、存儲(chǔ)器接口240、更新高速緩存250和只讀存儲(chǔ)器(rom)260。ftl可以被加載到工作存儲(chǔ)器220,并且可以包括固件。根據(jù)由固件實(shí)現(xiàn)的功能,ftl可以不同地包括耗損均衡模塊221、壞塊管理模塊222,無用數(shù)據(jù)收集模塊223和地址映射表224中的一個(gè)或多個(gè)。
雖然圖2中未示出,存儲(chǔ)器控制器200還可以包括其它常規(guī)理解的組件,諸如用于在讀/寫操作的執(zhí)行過程中暫時(shí)存儲(chǔ)數(shù)據(jù)的緩沖存儲(chǔ)器、用于控制緩沖存儲(chǔ)器的使用的緩沖控制模塊、以及用于響應(yīng)于來自主機(jī)的(多個(gè))請(qǐng)求生成用于控制不同數(shù)據(jù)訪問操作的執(zhí)行的(多個(gè))命令(cmd)的命令生成模塊。
處理單元210可以包括,例如,中央處理單元(cpu)或微處理器,而且可以控制存儲(chǔ)器控制器200的整體操作。為了控制存儲(chǔ)器控制器200,處理單元210可以驅(qū)動(dòng)加載到工作存儲(chǔ)器220中的固件。存儲(chǔ)器控制器200可以通過各種標(biāo)準(zhǔn)接口與外部主機(jī)通信,而且主機(jī)接口230可以在主機(jī)和存儲(chǔ)器控制器200之間提供接口。標(biāo)準(zhǔn)接口可以包括各種接口方案,諸如ata(高級(jí)技術(shù)附件)、sata(串行ata)、e-sata(外部sata)、scsi(小型計(jì)算機(jī)小接口)、sas(串行連接scsi)、pci(外圍組件互連)、pci-e(pciexpress)、ieee1394、usb(通用串行總線)、sd(安全數(shù)字)卡、mmc(多媒體卡)、emmc(嵌入式多媒體卡)、通用閃存(ufs)和cf(cf閃存)卡。
存儲(chǔ)器接口240可以提供用于存儲(chǔ)器設(shè)備的接口。例如,可以通過存儲(chǔ)器接口240與存儲(chǔ)器設(shè)備通信寫數(shù)據(jù)和讀數(shù)據(jù)。此外,存儲(chǔ)器接口240可以提供命令(cmd)和地址(add)到存儲(chǔ)器設(shè)備,并且還可以從存儲(chǔ)器設(shè)備接收各種信息并且將其提供到存儲(chǔ)器控制器200。
工作存儲(chǔ)器220可以包括各種存儲(chǔ)器,并且可以包括,例如,高速緩沖存儲(chǔ)器、dram、sram、pram和快閃存儲(chǔ)器中的至少一個(gè)。耗損均衡模塊221可以被用于管理存儲(chǔ)器設(shè)備中的存儲(chǔ)器單元的耗損均衡。存儲(chǔ)器單元因?qū)懞筒脸僮鞯膱?zhí)行而“老化”,而且最終高度老化或“磨損”的存儲(chǔ)器單元可以導(dǎo)致在存儲(chǔ)數(shù)據(jù)時(shí)發(fā)生數(shù)據(jù)錯(cuò)誤,或者導(dǎo)致存儲(chǔ)器系統(tǒng)操作中的缺陷。通過管理施加到存儲(chǔ)器單元陣列121中的每個(gè)存儲(chǔ)器單元的編程/擦除循環(huán)的數(shù)目,損耗均衡模塊221可以防止特定存儲(chǔ)器單元陣列區(qū)域中的存儲(chǔ)器單元磨損得比其他區(qū)域的存儲(chǔ)器單元更快。作為一個(gè)示例,耗損均衡模塊221可以管理地址映射表224,以使得編程/擦除計(jì)數(shù)(針對(duì)相同存儲(chǔ)器單元的各擦除和寫操作的次數(shù))均勻地分布在存儲(chǔ)器單元陣列的所定義的區(qū)域(例如,以塊為單位或以頁為單位)上。
壞塊管理模塊222可以被用于管理由存儲(chǔ)器設(shè)備120提供的多個(gè)塊當(dāng)中被認(rèn)為有缺陷的塊(“壞塊”)的識(shí)別和不使用或避免。例如,壞塊管理模塊222可以管理地址映射表224,以使得數(shù)據(jù)不被寫入壞塊。
無用數(shù)據(jù)收集模塊223可以被用于管理各種類型的無用數(shù)據(jù)收集操作的執(zhí)行,包括根據(jù)本發(fā)明構(gòu)思的實(shí)施例的同時(shí)無用數(shù)據(jù)收集操作。如上所述,無用數(shù)據(jù)收集操作被執(zhí)行,從而通過將有效數(shù)據(jù)從至少一個(gè)源塊復(fù)制到至少一個(gè)目標(biāo)塊并且此后擦除至少一個(gè)源塊以創(chuàng)建或重新分配一個(gè)或多個(gè)空閑塊,來生成一個(gè)或多個(gè)附加空閑塊。
地址映射表224可以被用于管理映射信息(例如,使從主機(jī)提供的(多個(gè))邏輯地址與表示實(shí)際被尋址的數(shù)據(jù)的物理位置的相應(yīng)的(多個(gè))物理地址相關(guān)的信息)的存儲(chǔ)。通過參照映射信息,從主機(jī)提供的邏輯地址可以被轉(zhuǎn)換成相應(yīng)的物理地址。地址映射表224可以包括從存儲(chǔ)器設(shè)備的元區(qū)域接收到的映射信息,以及從存儲(chǔ)器設(shè)備的元區(qū)域接收到的映射信息的(部分或全部)更新的版本。因此,映射信息可以根據(jù)地址映射表224,在與存儲(chǔ)器控制器所關(guān)聯(lián)的更新高速緩存和存儲(chǔ)器設(shè)備的元區(qū)域之間來回傳遞。
rom260可以被用于存儲(chǔ)初始引導(dǎo)存儲(chǔ)器控制器200和/或存儲(chǔ)系統(tǒng)100的存儲(chǔ)器設(shè)備120所需的代碼和/或數(shù)據(jù)。當(dāng)?shù)刂酚成浔?24的映射信息被更新時(shí),更新高速緩存250可以被用于暫時(shí)存儲(chǔ)所得到的更新的映射信息,以使得更新的映射信息隨后可以被提供給存儲(chǔ)器設(shè)備。由于更新高速緩存250具有相對(duì)小的大小,因此它可以僅存儲(chǔ)地址映射表224的一些映射信息。盡管圖2示出的是,更新高速緩存250被單獨(dú)地提供在存儲(chǔ)器控制器200中,但是在本發(fā)明構(gòu)思的不同實(shí)施例中也可以提供更新高速緩存250和地址映射表224的其他排列或組合。例如,包括諸如dram或sram的易失性存儲(chǔ)器的更新高速緩存250可以被提供在處理單元210中,或者可以被提供在工作存儲(chǔ)器220中。
圖3是進(jìn)一步示出圖1的存儲(chǔ)器設(shè)備120的一個(gè)實(shí)施例300的框圖。
參照?qǐng)D3,存儲(chǔ)器設(shè)備300包括存儲(chǔ)器單元陣列310、控制邏輯320、電壓發(fā)生器330、行解碼器340和頁緩沖器350。雖然圖3未示出,但是存儲(chǔ)器設(shè)備300還可以包括數(shù)據(jù)輸入/輸出電路或輸入/輸出接口。
存儲(chǔ)器單元陣列310包括用于存儲(chǔ)元數(shù)據(jù)的元區(qū)域311和用于存儲(chǔ)正常數(shù)據(jù)的存儲(chǔ)區(qū)域312。元區(qū)域311和存儲(chǔ)區(qū)域312中的每一個(gè)可以包括多個(gè)存儲(chǔ)器單元。假定對(duì)于存儲(chǔ)器單元陣列310包括快閃存儲(chǔ)器單元的某些實(shí)施例,存儲(chǔ)器單元陣列310可以連接到字線wl、串選擇線ssl、地選擇線gsl和位線bl。例如,存儲(chǔ)器單元陣列310可以通過字線wl、串選擇線ssl和地選擇線gsl連接到行解碼器340,并且可以通過位線bl連接到頁緩沖器350。
基于從存儲(chǔ)器控制器接收到的命令cmd、地址add和控制信號(hào)ctrl,控制邏輯320可以輸出各種內(nèi)部控制信號(hào),以用于將數(shù)據(jù)寫入存儲(chǔ)器單元陣列310、從存儲(chǔ)器單元陣列310讀取數(shù)據(jù)、以及擦除存儲(chǔ)在存儲(chǔ)器單元陣列310中的數(shù)據(jù)。
從控制邏輯320輸出的各種控制信號(hào)可以被提供給電壓發(fā)生器330、行解碼器340和頁緩沖器350。例如,控制邏輯320可以將電壓控制信號(hào)ctrl_vol提供給電壓發(fā)生器330、將行地址x-add提供給行解碼器340、并且將列地址y-add提供給頁緩沖器350。然而,本發(fā)明構(gòu)思不限于此,并且控制邏輯320還可以將其它控制信號(hào)提供給電壓發(fā)生器330、行解碼器340和頁緩沖器350。
根據(jù)一個(gè)實(shí)施例,元區(qū)域311可以包括多個(gè)映射表。在存儲(chǔ)器控制器的控制下,在無用數(shù)據(jù)收集操作期間,存儲(chǔ)器設(shè)備300將有效數(shù)據(jù)從存儲(chǔ)區(qū)域312的至少一個(gè)源塊復(fù)制到至少一個(gè)目標(biāo)塊。此外,在存儲(chǔ)器控制器的控制下,將根據(jù)執(zhí)行無用數(shù)據(jù)收集過程的結(jié)果來更新存儲(chǔ)在元區(qū)域311中的映射表。在無用數(shù)據(jù)收集操作的執(zhí)行期間可以重復(fù)執(zhí)行針對(duì)元區(qū)域311的更新操作,而且在更新操作的每個(gè)迭代期間可以更新一個(gè)或多個(gè)映射表。然而,通過本發(fā)明構(gòu)思的實(shí)施例可以顯著減少先前所描述的所需映射表更新的數(shù)目。
圖4是示出根據(jù)實(shí)施例的存儲(chǔ)器控制器的操作的流程圖。
參照?qǐng)D1、圖2、圖3和圖4,存儲(chǔ)器控制器110(200)確定執(zhí)行無用數(shù)據(jù)收集操作的要求。這個(gè)要求可以,例如,通過空閑塊的數(shù)目降至低于最小閾值的指示、或者通過預(yù)定時(shí)段的逝去被觸發(fā)。然而,執(zhí)行無用數(shù)據(jù)收集操作的要求的確定將導(dǎo)致至少一個(gè)附加空閑塊的生成,而且存儲(chǔ)器系統(tǒng)100進(jìn)入相應(yīng)的無用數(shù)據(jù)收集模式(s11)。在某些實(shí)施例中,正在進(jìn)行的存儲(chǔ)器系統(tǒng)數(shù)據(jù)訪問操作(例如,(多個(gè))讀/寫操作)可以在進(jìn)入無用數(shù)據(jù)收集模式時(shí)被中斷,其中存儲(chǔ)器控制器可以將相應(yīng)的中斷提供給主機(jī)。
當(dāng)進(jìn)入無用數(shù)據(jù)收集模式時(shí),存儲(chǔ)器控制器選擇多個(gè)源塊(s12)和至少一個(gè)目標(biāo)塊(s13)。可以選擇比目標(biāo)塊多的源塊,以確保一個(gè)或多個(gè)空閑塊。例如,可以選擇三個(gè)源塊和兩個(gè)目標(biāo)塊,而且存儲(chǔ)在三個(gè)源塊中的有效數(shù)據(jù)可以被復(fù)制到兩個(gè)目標(biāo)塊。當(dāng)三個(gè)所選源塊中的所有有效數(shù)據(jù)都被復(fù)制到(多個(gè))目標(biāo)塊時(shí),三個(gè)所選源塊可以被擦除,由此三個(gè)所選源塊被重新分配為三個(gè)空閑塊。
當(dāng)有效數(shù)據(jù)已經(jīng)被復(fù)制到至少一個(gè)目標(biāo)塊并且生成至少一個(gè)空閑塊時(shí)(s14),相應(yīng)的映射信息因此被更新(或改變)。例如,得到的更新的(或改變的)映射信息可以被暫時(shí)存儲(chǔ)在更新高速緩存中(s15)。此后,存儲(chǔ)器控制器可以使用存儲(chǔ)在更新高速緩存中的映射信息來更新存儲(chǔ)器設(shè)備中的映射表(s16)。
根據(jù)上述實(shí)施例,在無用數(shù)據(jù)收集操作期間選擇多個(gè)源塊,并且對(duì)所選源塊同時(shí)執(zhí)行無用數(shù)據(jù)收集。因此,可以增加與(多個(gè))相同映射表潛在對(duì)應(yīng)的有效數(shù)據(jù)的池,而且存儲(chǔ)在更新高速緩存中的映射信息有可能相對(duì)于存儲(chǔ)器設(shè)備的多個(gè)映射表具有相對(duì)高的局部性。因此,由于作為無用數(shù)據(jù)收集操作結(jié)果的實(shí)際更新的映射表的數(shù)目可以被減小,因此需要被更新的元數(shù)據(jù)的相應(yīng)量也可以被減小,而且對(duì)相同映射表必須執(zhí)行更新的頻率可以被減小。
圖5是是進(jìn)一步示出圖1的存儲(chǔ)器單元陣列121和圖3的存儲(chǔ)器單元陣列310的結(jié)構(gòu)的一個(gè)示例310的概念圖。參照?qǐng)D5,存儲(chǔ)器單元陣列310包括元區(qū)域311和存儲(chǔ)區(qū)域312。
元區(qū)域311可以被用于存儲(chǔ)多個(gè)映射表(l2p表),其包含與存儲(chǔ)在存儲(chǔ)區(qū)域312中的正常數(shù)據(jù)相關(guān)聯(lián)的映射信息。這里,存儲(chǔ)區(qū)域312可以在物理上或邏輯上被劃分為各種單元。例如,存儲(chǔ)區(qū)域312可以包括多個(gè)段(segment),并且每個(gè)段可以包括多個(gè)塊(blk),其中每個(gè)塊是存儲(chǔ)器設(shè)備內(nèi)的可擦除單元。
每個(gè)塊可以包括多個(gè)頁,而且包括在每個(gè)頁面中的多個(gè)存儲(chǔ)器單元可以連接到相同字線。存儲(chǔ)器設(shè)備的讀/寫單元可以在大小上對(duì)應(yīng)于頁的大小??商娲?,存儲(chǔ)器設(shè)備的讀/寫單元可以在大小上對(duì)應(yīng)于頁的一部分的大小。作為一個(gè)示例,每一頁的大小可以是16kb,而讀/寫單元可以是4kb。可替代地,每一頁的大小和每一個(gè)讀/寫單元的大小可以是4kb。地址可以以對(duì)應(yīng)于讀/寫單元的4kb數(shù)據(jù)單元被映射。
圖6a和圖6b分別是示出在映射表中存儲(chǔ)映射信息的一個(gè)示例的概念圖。
參照?qǐng)D5、圖6a和圖6b,每個(gè)映射表(l2p表)被假定為具有相同大小,并且將存儲(chǔ)用于存儲(chǔ)在存儲(chǔ)區(qū)域312的某個(gè)大小的區(qū)域中的正常數(shù)據(jù)的映射信息。作為一個(gè)示例,每個(gè)映射表的大小可以是16kb,其中映射表被用于存儲(chǔ)該存儲(chǔ)區(qū)域的16mb區(qū)域的映射信息。上述大小僅是示例性的,并且存儲(chǔ)器系統(tǒng)中的映射表的大小以及與映射表相對(duì)應(yīng)的存儲(chǔ)區(qū)域312的存儲(chǔ)區(qū)域的大小可以被各種修改。
當(dāng)數(shù)據(jù)被隨機(jī)寫入時(shí),任何一個(gè)映射表都可以存儲(chǔ)用于存儲(chǔ)在多個(gè)塊(blk)中的數(shù)據(jù)的映射信息。例如,隨機(jī)數(shù)據(jù)可以以4kb為單位被寫入,并且在16kb的映射表內(nèi),4b用于存儲(chǔ)4kb數(shù)據(jù)的映射信息。假定16kb映射表大小,每個(gè)映射表可以存儲(chǔ)與大約4000個(gè)單位的4kb正常數(shù)據(jù)相關(guān)聯(lián)的映射信息。假定包括在存儲(chǔ)區(qū)域312中的塊的數(shù)目是m,每個(gè)映射表可以存儲(chǔ)用于大約n個(gè)數(shù)據(jù)塊的映射信息,其中“n”可以小于或等于“m”。如果所存儲(chǔ)的數(shù)據(jù)是隨機(jī)數(shù)據(jù),則n的值可以增加。
參照?qǐng)D6a中所示的第一映射表(l2p表1),用于存儲(chǔ)在多個(gè)塊中的數(shù)據(jù)的映射信息被存儲(chǔ)在第一映射表(l2p表1)中。當(dāng)數(shù)據(jù)按照順序模式被寫入時(shí),第一映射表(l2p表1)可以存儲(chǔ)位于相對(duì)小數(shù)目的塊中的數(shù)據(jù)的映射信息。另一方面,當(dāng)數(shù)據(jù)被隨機(jī)寫入時(shí),第一映射表(l2p表1)可以存儲(chǔ)用于位于相對(duì)大數(shù)目的塊中的數(shù)據(jù)的映射信息。
參照?qǐng)D6b,假定第一映射表(l2p表1)包括用于邏輯地址(add_l)和相應(yīng)物理地址(add_p)的表信息。物理地址(add_p)可以包括塊地址(a_blk)和頁地址(a_page)。當(dāng)讀/寫單元小于頁的大小時(shí),除了指示塊中的頁的信息之外,頁地址(a_page)還可以包括代表數(shù)據(jù)在頁中的位置的信息(例如,列地址)。
如圖6b所示,當(dāng)數(shù)據(jù)被隨機(jī)寫入時(shí),第一映射表(l2p表1)可以存儲(chǔ)用于位于各塊中的數(shù)據(jù)的映射信息。
圖7是進(jìn)一步示出根據(jù)本發(fā)明構(gòu)思的某些實(shí)施例的執(zhí)行同時(shí)無用數(shù)據(jù)收集操作的一個(gè)示例的概念圖。
如圖7所示,多個(gè)源塊被選擇并且相對(duì)于至少一個(gè)目標(biāo)塊同時(shí)收集無用數(shù)據(jù)。例如,選擇三個(gè)源塊(源blk1、源blk2和源blk3),以及兩個(gè)目標(biāo)塊(目標(biāo)blk1和目標(biāo)blk2)。
每個(gè)源塊當(dāng)前存儲(chǔ)一些有效數(shù)據(jù),但是也存儲(chǔ)其他無效數(shù)據(jù)。與有效數(shù)據(jù)有關(guān)的映射信息可以被有效地存儲(chǔ),其中有效數(shù)據(jù)是可以被外部主機(jī)有用地訪問的數(shù)據(jù)。另一方面,與無效數(shù)據(jù)有關(guān)的映射信息可以不被有效地存儲(chǔ),其中無效數(shù)據(jù)是不可以被外部主機(jī)有用地訪問的數(shù)據(jù)。
在圖7的簡單示例中,假定有效數(shù)據(jù)被收集到每個(gè)塊的連續(xù)區(qū)域中。然而,特別地,在數(shù)據(jù)被隨機(jī)寫入的情況下,有效數(shù)據(jù)的存儲(chǔ)位置可以隨機(jī)地(非連續(xù)地)分布在該塊上。
如圖7中概念性地示出的,代替將有效數(shù)據(jù)從所選源塊順序地復(fù)制到特定目標(biāo)塊,存儲(chǔ)在三個(gè)所選源塊中的每一個(gè)源塊中的一些有效數(shù)據(jù)可以被一起復(fù)制到一個(gè)或多個(gè)目標(biāo)塊。作為一個(gè)示例,在這三個(gè)源塊中,與公共映射表(即,存儲(chǔ)在相同映射表中的映射信息)相關(guān)聯(lián)的有效數(shù)據(jù)可以被一起選擇并且被優(yōu)先地復(fù)制到相同目標(biāo)塊。在這些條件下,在更新高速緩存內(nèi),與相同映射表相對(duì)應(yīng)的更新的映射信息的比例可以增加,并且因此相對(duì)于映射表的局部性可以得到改善。
圖8是示出使用存儲(chǔ)在更新高速緩存中的更新的映射信息來更新存儲(chǔ)器設(shè)備的映射表的一個(gè)示例的另一概念圖。
參照?qǐng)D8,更新高速緩存被假定為4kb的大小。映射信息4b按照4kb寫入單位被存儲(chǔ)。在這些假定下,更新高速緩存可以臨時(shí)存儲(chǔ)大約1000個(gè)映射信息元素(例如,更新的(或改變的)映射信息元素i1,i2,i3,...)。
有效數(shù)據(jù)可以在無用數(shù)據(jù)收集操作期間被復(fù)制到目標(biāo)塊,而且更新的映射信息將被相應(yīng)地存儲(chǔ)在更新高速緩存中。接著,映射表可以根據(jù)存儲(chǔ)在更新高速緩存中的映射信息被更新。例如,對(duì)于每個(gè)映射表的更新操作可以被執(zhí)行為16kb大小的元數(shù)據(jù)寫入操作。圖8示出了這個(gè)示例,其中更新高速緩存被用來存儲(chǔ)與多個(gè)映射表有關(guān)的更新的映射信息,并且此后使用存儲(chǔ)在更新高速緩存中的更新的映射信息來選擇性地更新一些映射表。
圖9是示出在無用數(shù)據(jù)收集操作期間針對(duì)映射表的示例性的迭代更新操作的又一概念圖。
這里,假定多個(gè)源塊(例如,源blk1,源blk2和源blk3)每個(gè)包含一些有效數(shù)據(jù)(例如,6kb的有效數(shù)據(jù))。還假定組成的更新高速緩存可以存儲(chǔ)最多1kb的數(shù)據(jù)。在這些假定下,在相對(duì)于多個(gè)源塊順序地執(zhí)行的傳統(tǒng)的無用數(shù)據(jù)收集操作期間,總共18kb的有效數(shù)據(jù)將被復(fù)制到目標(biāo)塊。因此,與18kb已復(fù)制的數(shù)據(jù)相關(guān)的映射信息將被更新。在這種情況下,基于更新高速緩存的更新操作可以被執(zhí)行多達(dá)18次。
因此,在前述示例中,呈現(xiàn)在源塊中的每個(gè)1kb的有效數(shù)據(jù)必須被復(fù)制,并且相應(yīng)的映射信息通過更新高速緩存來更新。這個(gè)方法固有地降低了包含在更新的映射信息中的“更新數(shù)據(jù)”將與相同映射表有關(guān)的可能性。換句話說,作為無用數(shù)據(jù)收集操作的結(jié)果,前述方法趨向于增加需要被更新的映射表的數(shù)目。結(jié)果,在更新操作期間,許多不同的映射表被更新,而且執(zhí)行更新操作所需的等待時(shí)段增加。
從前述示例還可以認(rèn)識(shí)到,在執(zhí)行更新操作的過程中,相同的映射表可以被頻繁更新,多達(dá)18次。對(duì)于存儲(chǔ)相同映射表的存儲(chǔ)器單元的如此高頻率的重復(fù)寫/擦除操作將降低存儲(chǔ)器設(shè)備的使用壽命。
然而,與前述示例相比,本發(fā)明構(gòu)思的一些實(shí)施例選擇多個(gè)源塊,并且對(duì)所選擇的源塊的集體有效數(shù)據(jù)同時(shí)執(zhí)行無用數(shù)據(jù)收集操作。使用本發(fā)明的方法,來自多個(gè)源塊的有效數(shù)據(jù)與相同映射表(l2p表)有關(guān)的概率遠(yuǎn)高于傳統(tǒng)方法。即,有效數(shù)據(jù)的擴(kuò)展池更可能與相同映射表(l2p表)有關(guān),并且因此,與相對(duì)較小數(shù)目的映射表相對(duì)應(yīng)的映射信息可以被存儲(chǔ)在更新高速緩存中。結(jié)果,在對(duì)于任何給定映射表的后續(xù)更新操作期間,很可能是,映射表將需要更少的更新周期,從而避免了不必要的存儲(chǔ)器單元損耗。
圖10、圖11和圖12各自是示出根據(jù)本發(fā)明構(gòu)思的實(shí)施例的由存儲(chǔ)器系統(tǒng)中的存儲(chǔ)器控制器執(zhí)行的各種示例性操作的流程圖。
參照?qǐng)D10,可以做出關(guān)于是否應(yīng)當(dāng)執(zhí)行同時(shí)無用數(shù)據(jù)收集操作的閾值確定。例如,可以做出關(guān)于被選擇(或潛在被選擇)用于無用數(shù)據(jù)收集的一個(gè)或多個(gè)塊的數(shù)據(jù)類型(例如,隨機(jī)的還是模式化的)的確定。因此,可以通過考慮數(shù)據(jù)類型來做出要被執(zhí)行的無用數(shù)據(jù)收集操作的類型的閾值確定(例如,塊順序地還是塊同時(shí)地)。在數(shù)據(jù)類型是隨機(jī)或基本上隨機(jī)的情況下(s20=是),存儲(chǔ)器控制器可以確定執(zhí)行根據(jù)本發(fā)明構(gòu)思的實(shí)施例的同時(shí)無用數(shù)據(jù)收集操作。否則,如果數(shù)據(jù)被確定為模式化的數(shù)據(jù)(s20=否),則存儲(chǔ)器控制器可以確定執(zhí)行順序的無用數(shù)據(jù)收集操作(s21)。
順序的無用數(shù)據(jù)收集操作可以基本上沿著常規(guī)路線執(zhí)行,但是最終會(huì)導(dǎo)致存儲(chǔ)相應(yīng)更新的映射信息在更新高速緩存中(s25),和存儲(chǔ)至少一個(gè)映射表在非易失性存儲(chǔ)器中(s26)。
可以如上所述執(zhí)行同時(shí)無用數(shù)據(jù)收集操作。也就是說,如果在數(shù)據(jù)類型確定步驟(s20)中還沒有做出選擇,則選擇多個(gè)源塊(即,至少兩個(gè))(s22),而且還選擇至少一個(gè)目標(biāo)塊(s23)。在這些選擇之后,對(duì)多個(gè)源塊執(zhí)行同時(shí)無用數(shù)據(jù)收集操作(24)。同樣,這再次導(dǎo)致存儲(chǔ)相應(yīng)更新的映射信息在更新高速緩存中(s25),和存儲(chǔ)至少一個(gè)映射表在非易失性存儲(chǔ)器中(s26)。
可以使用一個(gè)或多個(gè)不同的考慮來做出是執(zhí)行順序的無用數(shù)據(jù)收集操作還是執(zhí)行同時(shí)無用數(shù)據(jù)收集操作的確定。在一個(gè)示例中,存儲(chǔ)器系統(tǒng)可以被預(yù)先設(shè)置為響應(yīng)于從主機(jī)接收的(多個(gè))寫請(qǐng)求而隨機(jī)地寫入數(shù)據(jù)。在另一示例中,隨機(jī)寫入的數(shù)據(jù)將針對(duì)所選擇的(多個(gè))源塊顯示出相對(duì)高的有效數(shù)據(jù)對(duì)總寫入數(shù)據(jù)的比率。
圖11示出對(duì)于無用數(shù)據(jù)收集操作類型的確定的第二替代方案。這里,代替考慮所存儲(chǔ)的數(shù)據(jù)類型(圖10中的s20),確定存儲(chǔ)在所選擇的(多個(gè))塊中的數(shù)據(jù)的有效數(shù)據(jù)比率(s31)。在所確定的有效數(shù)據(jù)比率大于已建立的閾值的情況下(s32=是),執(zhí)行同時(shí)無用數(shù)據(jù)收集操作。然而,在所確定的比率不大于已建立的閾值的情況下(s32=否),執(zhí)行順序的無用數(shù)據(jù)收集操作。
這里,順序的無用數(shù)據(jù)收集操作包括以一(1)個(gè)源塊為單位復(fù)制有效數(shù)據(jù)的步驟(s33)。最終,這個(gè)順序的無用數(shù)據(jù)收集操作導(dǎo)致被寫入更新高速緩存的更新的映射信息(s36)。隨后,使用存儲(chǔ)在更新高速緩存中的更新的映射信息來更新存儲(chǔ)在非易失性存儲(chǔ)器中的映射表(s37)。與此相比,如果在有效數(shù)據(jù)比率確定步驟(s31)中還沒有做出選擇,則同時(shí)無用數(shù)據(jù)收集操作包括選擇多個(gè)源塊的步驟(s34),并且以多于一個(gè)的資源塊為單位來復(fù)制有效數(shù)據(jù)(s35)。最終,這個(gè)順序的無用數(shù)據(jù)收集操作導(dǎo)致被寫入更新高速緩存的更新的映射信息(s36)。隨后,使用存儲(chǔ)在更新高速緩存中的更新的映射信息來更新存儲(chǔ)在非易失性存儲(chǔ)器中的映射表(s37)。
參照?qǐng)D12,示出了一個(gè)示例,其中使用多個(gè)考慮或因素來確定是應(yīng)該執(zhí)行順序的無用數(shù)據(jù)收集操作還是執(zhí)行同時(shí)無用數(shù)據(jù)收集操作。例如,做出關(guān)于存儲(chǔ)在至少一個(gè)所選擇的源塊中的數(shù)據(jù)的有效數(shù)據(jù)比率的最小值的第一確定(s41)。在比較有效數(shù)據(jù)的比率與閾值之后,可以進(jìn)一步確定數(shù)據(jù)是否被隨機(jī)寫入(s42)。這兩個(gè)確定可以針對(duì)多個(gè)源塊中的每一個(gè)被獨(dú)立地或有條件地做出。此后,被確定為基本上存儲(chǔ)隨機(jī)數(shù)據(jù)和/或滿足針對(duì)有效數(shù)據(jù)比率的已建立的閾值的一些所考慮的源塊可以被選擇用于同時(shí)無用數(shù)據(jù)收集(s43),并且此后可以執(zhí)行同時(shí)無用數(shù)據(jù)收集操作(s44)。雖然在圖12中未示出,但是應(yīng)當(dāng)理解,在步驟(s41)和(s42)中考慮的其他可能的源塊(即,被確定為基本上存儲(chǔ)模式化的數(shù)據(jù)和/或不滿足針對(duì)有效數(shù)據(jù)比率的已建立的閾值的源塊)可以被指定用于順序的無用數(shù)據(jù)收集。
圖13是示出當(dāng)數(shù)據(jù)被隨機(jī)寫入時(shí)針對(duì)存儲(chǔ)在所選擇的塊中的數(shù)據(jù)的有效數(shù)據(jù)計(jì)數(shù)的示例的曲線圖。
當(dāng)隨機(jī)數(shù)據(jù)被寫入到包含在存儲(chǔ)器設(shè)備中的多個(gè)塊時(shí),針對(duì)每個(gè)塊的有效數(shù)據(jù)計(jì)數(shù)的分布可以如圖13所示展現(xiàn)。在這里,針對(duì)每個(gè)塊的有效數(shù)據(jù)比率可以根據(jù)圖13中的有效數(shù)據(jù)計(jì)數(shù)來計(jì)算。
不具有(0個(gè))有效數(shù)據(jù)計(jì)數(shù)的(多個(gè))塊是(多個(gè))空閑塊。具有小于已建立的閾值的有效數(shù)據(jù)計(jì)數(shù)(即,具有相對(duì)低的有效數(shù)據(jù)計(jì)數(shù))的(多個(gè))塊是要被附加寫入的活動(dòng)塊。然而,如以上描述的,存儲(chǔ)在塊中的數(shù)據(jù)的連續(xù)寫入和重新寫入愈加導(dǎo)致塊中無效數(shù)據(jù)的積累。因此,無效數(shù)據(jù)的上升的計(jì)數(shù)降低了塊中的有效數(shù)據(jù)比率,直到它低于給定有效數(shù)據(jù)比率閾值。
在圖13示出的示例中,示例性的源塊具有寫入其中的隨機(jī)數(shù)據(jù),并且具有相對(duì)低的有效數(shù)據(jù)比率,對(duì)應(yīng)于約53kb,其表示塊的有效數(shù)據(jù)比率是約64%。被設(shè)計(jì)的存儲(chǔ)器系統(tǒng)可以建立多個(gè)閾值,通過所述多個(gè)閾值來確定是應(yīng)該執(zhí)行順序的無用數(shù)據(jù)收集操作還是執(zhí)行同時(shí)無用數(shù)據(jù)收集操作。此外,這些多個(gè)閾值可以被用于“選擇”與要被執(zhí)行的順序的無用數(shù)據(jù)收集操作或同時(shí)無用數(shù)據(jù)收集操作有關(guān)的一個(gè)或多個(gè)源塊。
圖14a和圖14b各自是示出選擇源塊和目標(biāo)塊的示例和存儲(chǔ)在更新高速緩存中的映射信息的示例的概念圖。
圖14a示出了示例,其中,對(duì)于同時(shí)無用數(shù)據(jù)收集操作,選擇了多個(gè)(例如,m個(gè))源塊而且選擇了多個(gè)(例如,n個(gè))目標(biāo)塊。源塊(源blk1到源blkm)的數(shù)目可以大于目標(biāo)塊(目標(biāo)blk1到目標(biāo)blkn)的數(shù)目。源塊(源blk1到源blkm)中的每一個(gè)的有效數(shù)據(jù)可以被復(fù)制到目標(biāo)塊(目標(biāo)blk1到目標(biāo)blkn)。
當(dāng)選擇多個(gè)源塊(源blk1到源blkm)時(shí),存儲(chǔ)在更新高速緩存中的映射信息可以相對(duì)于映射表具有較高的局部性。另一方面,當(dāng)選擇多個(gè)源塊(源blk1到源blkm)時(shí),需要管理——諸如跨多個(gè)源塊對(duì)相關(guān)的有效數(shù)據(jù)的選擇——的處理吞吐量,增加。根據(jù)本發(fā)明構(gòu)思的某些實(shí)施例,鑒于存儲(chǔ)器系統(tǒng)資源,可以針對(duì)源塊(源blk1到源blkm)的選擇設(shè)置(多個(gè))適當(dāng)?shù)南拗啤?/p>
如圖14b所示,在源塊(源blk1到源blkm)中,與相同映射表有關(guān)的有效數(shù)據(jù)可以被定義為相同組的有效數(shù)據(jù)。例如,具有與第一映射表(l2p表1)相關(guān)聯(lián)的映射信息的有效數(shù)據(jù)可以被分布地(或以分布式的方式)存儲(chǔ)在源塊(源blk1到源blkm)中,而且與其對(duì)應(yīng)的有效數(shù)據(jù)可以被定義為第一組的有效數(shù)據(jù)。多個(gè)組的有效數(shù)據(jù)可以被存儲(chǔ)在源塊(源blk1到源blkm)中。
在考慮到上述情況,可以以組為單位來執(zhí)行有效數(shù)據(jù)復(fù)制操作,并且其射信息可以基于以組為單位執(zhí)行的復(fù)制操作被存儲(chǔ)在更新高速緩存中。因此,與屬于相同組的有效數(shù)據(jù)相關(guān)聯(lián)的映射信息可以被存儲(chǔ)在更新高速緩存中,因此,存儲(chǔ)在更新高速緩存中的映射信息可以具有高局部性。
圖15是示出根據(jù)本發(fā)明構(gòu)思的實(shí)施例的更新映射表的示例的概念圖。圖15示出了一起選擇三個(gè)源塊(源blk1到源blk3)的示例。
源塊(源blk1到源blkm)中的每一個(gè)可以包括與多個(gè)映射表有關(guān)的多個(gè)有效數(shù)據(jù)。作為示例,第一源塊(源blk1)可以存儲(chǔ)與各種映射表有關(guān)的有效數(shù)據(jù)(data_t1,data_t2,data_t3,data_t12,data_t21,···)。
屬于相同組的有效數(shù)據(jù)可以從源塊(源blk1到源blkm)選擇并且被復(fù)制到目標(biāo)塊,而且改變的映射信息可以根據(jù)復(fù)制結(jié)果被存儲(chǔ)在更新高速緩存中。例如,第一組的有效數(shù)據(jù)(data_t1)可以從源塊(源blk1到源blkm)選擇,而且改變的映射信息可以被存儲(chǔ)在與第一組的有效數(shù)據(jù)(data_t1)有關(guān)的該更新高速緩存中的一些區(qū)域。類似地,第12和第21組中的有效數(shù)據(jù)(data_t12和data_21)可以從源塊(源blk1到源blkm)選擇,而且改變的映射信息可以被存儲(chǔ)與其有關(guān)的該更新高速緩存中的一些其它區(qū)域。
與該更新高速緩存中的相同映射表相對(duì)應(yīng)的映射信息量可以增加,并且因此,每個(gè)更新處理中更新的映射表的數(shù)目可以被最小化。例如,當(dāng)存儲(chǔ)在更新高速緩存中的映射信息僅包括與第一、第12和第21映射表(l2p表1、12和21)有關(guān)的信息時(shí),在更新過程中可以僅更新多個(gè)映射表中的第一、第12和第21映射表(l2p表1、12和21)。
圖16是示出根據(jù)本發(fā)明構(gòu)思的實(shí)施例的存儲(chǔ)器控制器的操作的流程圖。圖16示出了從多個(gè)源塊選擇有效數(shù)據(jù)、以及要被一起存儲(chǔ)在更新高速緩存中的相應(yīng)映射信息的示例。
參照?qǐng)D16,可以選擇用于無用數(shù)據(jù)收集的多個(gè)源塊,而且選擇操作可以通過根據(jù)上述實(shí)施例確定源塊中的有效數(shù)據(jù)比率來執(zhí)行。映射信息可以被存儲(chǔ)為在存儲(chǔ)器系統(tǒng)中的元數(shù)據(jù),并且因此可以確定多個(gè)源塊中的有效數(shù)據(jù)的映射信息(s51)。
根據(jù)確定結(jié)果,可以確定與存儲(chǔ)在多個(gè)源塊中的每一個(gè)中的有效數(shù)據(jù)有關(guān)的映射表的位置。根據(jù)確定結(jié)果,可以從多個(gè)源塊中選擇其映射信息要被一起存儲(chǔ)在更新高速緩存中的有效數(shù)據(jù)。例如,可以選擇與相同映射表有關(guān)的有效數(shù)據(jù)(或者具有存儲(chǔ)在相同映射表中的映射信息的有效數(shù)據(jù))(s52)。
可以將所選擇的有效數(shù)據(jù)復(fù)制到一個(gè)或多個(gè)目標(biāo)塊(s53),并且可以將關(guān)于所選擇的有效數(shù)據(jù)的映射信息一起存儲(chǔ)在更新高速緩存中(s54)。通過重復(fù)上述操作,可以將與相對(duì)較少數(shù)目的映射表相對(duì)應(yīng)的映射信息存儲(chǔ)在更新高速緩存中。從另一角度來看,可以將與任一映射表相對(duì)應(yīng)的大量映射信息元素一起存儲(chǔ)在更新高速緩存中。
此后,可以確定是否達(dá)到更新定時(shí)(s55)。當(dāng)未達(dá)到更新定時(shí)時(shí),可以重復(fù)上述選擇有效數(shù)據(jù)的過程和上述在更新高速緩存中存儲(chǔ)改變的映射信息的過程。此后,在達(dá)到更新定時(shí),可以在一個(gè)或多個(gè)映射表中更新存儲(chǔ)在更新高速緩存中的映射信息(s56)。
圖17是示出根據(jù)所選擇的源塊的數(shù)目的更新操作的頻率(計(jì)數(shù))的示例的曲線圖。
如圖17所示,當(dāng)針對(duì)無用數(shù)據(jù)收集所選擇的源塊的數(shù)目增加時(shí),關(guān)于映射表的更新計(jì)數(shù)可以降低。作為一個(gè)示例,當(dāng)選擇一個(gè)源塊時(shí),可以更新多達(dá)存儲(chǔ)在更新高速緩存中的映射信息元素的數(shù)目的約74%的映射表。然而,根據(jù)一個(gè)實(shí)施例,當(dāng)選擇四個(gè)源塊時(shí),可以僅更新存儲(chǔ)在更新高速緩存中的映射信息元素的數(shù)目的約38%那么多的映射表。這可以指示更新計(jì)數(shù)被減少到約51%。
圖18是示出根據(jù)本發(fā)明構(gòu)思的實(shí)施例的存儲(chǔ)器控制器的配置的框圖。
如圖18所示,存儲(chǔ)器控制器400可以包括源塊特性確定單元410、源塊選擇單元420、無用數(shù)據(jù)收集執(zhí)行單元430和更新高速緩存440。更新高速緩存440可以包括易失性存儲(chǔ)器,諸如sram或dram。另外,源塊特性確定單元410、源塊選擇單元420和無用數(shù)據(jù)收集執(zhí)行單元430可以被實(shí)現(xiàn)為硬件或軟件。作為一個(gè)示例,源塊特性確定單元410、源塊選擇單元420和無用數(shù)據(jù)收集執(zhí)行單元430的功能可以通過上述ftl的固件被實(shí)現(xiàn)為軟件。
通過參考映射信息(l2p信息),源塊特性確定單元410可以確定包括在每個(gè)源塊中的有效數(shù)據(jù)的特性。例如,可以確定存儲(chǔ)與包括在源塊中的每個(gè)有效數(shù)據(jù)有關(guān)的映射信息的映射表的位置。另外,與相同組有關(guān)的有效數(shù)據(jù)(或具有由相同映射表管理的映射信息)可以被集中地(或以集中的方式)存儲(chǔ)在一些源塊中,而且源塊特性確定單元410可以通過參考關(guān)于多個(gè)源塊的有效數(shù)據(jù)的映射信息(l2p信息)來確定源塊之間的關(guān)系。
參考上述確定結(jié)果,源塊選擇單元420可以選擇要被同時(shí)進(jìn)行無用數(shù)據(jù)收集的源塊??梢愿鶕?jù)上述確定結(jié)果來選擇能夠提高其局部性的源塊。例如,當(dāng)與特定映射表有關(guān)的有效數(shù)據(jù)的存儲(chǔ)比率在任何一個(gè)源塊中為高而且與相同映射表有關(guān)的有效數(shù)據(jù)的存儲(chǔ)比率在另一源塊中也為高時(shí),這些源塊可以被選擇為要被同時(shí)進(jìn)行無用數(shù)據(jù)收集的源塊。也就是說,根據(jù)本實(shí)施例,可以考慮有效數(shù)據(jù)的存儲(chǔ)特性來選擇源塊。
根據(jù)上述選擇結(jié)果(info_sel),無用數(shù)據(jù)收集執(zhí)行單元430可以生成無用數(shù)據(jù)收集控制信號(hào)(ctrl_gc),以執(zhí)行從所選擇的源塊復(fù)制有效數(shù)據(jù)的操作、將映射信息存儲(chǔ)在更新高速緩存中的操作、以及通過使用更新高速緩存來更新映射表的操作,如上述實(shí)施例中那樣。
圖19是示出可以結(jié)合在本發(fā)明構(gòu)思的一些實(shí)施例中的存儲(chǔ)器設(shè)備的存儲(chǔ)器單元陣列的透視圖。
存儲(chǔ)器單元陣列可以包括多個(gè)塊,并且每個(gè)塊可以具有三維(3d)結(jié)構(gòu)(或垂直結(jié)構(gòu))。例如,每個(gè)塊可以包括沿第一到第三方向延伸的結(jié)構(gòu)。例如,在快閃存儲(chǔ)器設(shè)備的情況下,每一個(gè)單元塊可以包括沿第三方向延伸的多個(gè)nand串。在這種情況下,多個(gè)nand串可以沿第一和第二方向彼此間隔開一定距離。圖19可以表示與一個(gè)塊blk1相對(duì)應(yīng)的示意圖。此外,塊blk1可以是被包括在元區(qū)域中的塊,或者可以是被包括在存儲(chǔ)區(qū)中的塊。
參照?qǐng)D19,單元塊blk1可以沿相對(duì)于襯底sub的垂直方向上形成。雖然圖19示出的是,單元塊blk1包括兩個(gè)選擇線gsl和ssl、八個(gè)字線wl1到wl8、以及三個(gè)位線bl1到bl3,但是線的數(shù)目可以進(jìn)行各種修改。
襯底sub可以具有第一導(dǎo)電類型(例如,p型),并且可以在襯底sub上提供公共源極線csl,其沿第一方向(例如,y方向)延伸并且摻雜有第二導(dǎo)電類型(例如,n型)的雜質(zhì)。在襯底sub的兩個(gè)相鄰公共源極線csl之間的區(qū)域上,可以沿第三方向(例如,z方向)順序地提供沿第一方向延伸的多個(gè)絕緣層il。多個(gè)絕緣層il可以沿第三方向彼此間隔開一定距離。例如,多個(gè)絕緣層il可以包括絕緣材料,諸如硅氧化物。
在襯底sub的兩個(gè)相鄰公共源極線csl之間的區(qū)域上,多個(gè)柱p可以被提供為沿第一方向順序地布置并且沿第三方向穿透絕緣層il。例如,柱p可以穿透絕緣層il以接觸襯底sub。例如,每個(gè)柱p的表面層s可以包括具有第一類型的硅材料,并且可以用作溝道區(qū)。每個(gè)柱p的內(nèi)部層i可以包括絕緣材料,諸如硅氧化物,或者空氣隙。
在兩個(gè)相鄰公共源極線csl之間的區(qū)域中,電荷存儲(chǔ)層的cs可以沿絕緣層il、柱p和襯底sub的暴露的表面提供。電荷存儲(chǔ)層cs可以包括柵極絕緣層(或隧穿絕緣層)、電荷捕獲層和阻擋絕緣層。例如,電荷存儲(chǔ)層cs可以具有氧化物-氮化物-氧化物(ono)結(jié)構(gòu)。另外,在兩個(gè)相鄰公共源極線csl之間的區(qū)域中,可以在電荷存儲(chǔ)層cs的暴露的表面上提供包括選擇線gsl和ssl的柵極電極ge和字線wl1到wl8。
可以在柱p上分別提供漏極或漏極觸點(diǎn)dr。例如,漏極或漏極觸點(diǎn)dr可以包括摻雜有具有第二導(dǎo)電類型的雜質(zhì)的硅材料。在漏極或漏極觸點(diǎn)dr上,位線bl1到bl3可以被提供為沿第二方向(例如,x方向)延伸并且沿第一方向彼此間隔開一定距離。
第7679133號(hào)、第8553466號(hào)、第8654587號(hào)、第8559235號(hào)美國專利公開和第2011/0233648號(hào)美國專利申請(qǐng)描述了3d存儲(chǔ)器陣列的各種配置,其中,3d存儲(chǔ)器陣列包括多個(gè)層級(jí)而且在這些層級(jí)之間共享字線和/或位線,這些公開的內(nèi)容通過引用并入本文。
圖20是示出根據(jù)本發(fā)明構(gòu)思的實(shí)施例的、將存儲(chǔ)器系統(tǒng)應(yīng)用于存儲(chǔ)卡系統(tǒng)的示例的框圖。作為一個(gè)示例,假定存儲(chǔ)器系統(tǒng)是快閃存儲(chǔ)器系統(tǒng)。
參照?qǐng)D20,存儲(chǔ)卡系統(tǒng)500可以包括主機(jī)510和存儲(chǔ)卡520。主機(jī)510可以包括主機(jī)控制器511和主機(jī)連接器512。存儲(chǔ)卡520可以包括卡連接器521、卡控制器522和存儲(chǔ)器系統(tǒng)523。存儲(chǔ)器系統(tǒng)523可以通過使用在圖1到圖19中示出的實(shí)施例來實(shí)現(xiàn)。因此,存儲(chǔ)器系統(tǒng)523可以根據(jù)上述實(shí)施例執(zhí)行無用數(shù)據(jù)收集操作,并且可以通過選擇多個(gè)源塊并且對(duì)其同時(shí)執(zhí)行無用數(shù)據(jù)收集操作來減少映射表的更新頻率。
主機(jī)510可以將數(shù)據(jù)寫入存儲(chǔ)卡520/從存儲(chǔ)卡520讀數(shù)據(jù)。主機(jī)控制器511可以通過主機(jī)連接器512將命令(cmd)、數(shù)據(jù)(data)和由主機(jī)510中的時(shí)鐘發(fā)生器(未示出)生成的時(shí)鐘信號(hào)(clk)發(fā)送給存儲(chǔ)卡520。
響應(yīng)于通過卡連接器521接收的請(qǐng)求,卡控制器522可以與由卡控制器522中的時(shí)鐘發(fā)生器(未示出)生成的時(shí)鐘信號(hào)同步地將數(shù)據(jù)提供給存儲(chǔ)器系統(tǒng)523。存儲(chǔ)器系統(tǒng)523可以存儲(chǔ)從主機(jī)510接收的數(shù)據(jù)。
存儲(chǔ)卡520可以被實(shí)現(xiàn)為包括,例如,緊湊閃存卡(cfc)、微驅(qū)動(dòng)、智能媒體卡(smc)、多媒體卡(mmc)、安全數(shù)字卡(sdc)、通用閃存(ufs)、記憶棒和usb閃存驅(qū)動(dòng)器。
圖21是示出根據(jù)本發(fā)明構(gòu)思的實(shí)施例的、將存儲(chǔ)器設(shè)備應(yīng)用到ssd系統(tǒng)的示例的框圖。
參照?qǐng)D21,ssd系統(tǒng)600可以包括主機(jī)610和ssd620。ssd620可以通過信號(hào)連接器與主機(jī)610交換信號(hào),并且通過電力連接器接收電力的輸入。ssd620可以包括ssd控制器621、輔助電源622和多個(gè)非易失性存儲(chǔ)系統(tǒng)623、624和625。非易失性存儲(chǔ)器系統(tǒng)623、624和625中的每一個(gè)可以包括根據(jù)實(shí)施例的存儲(chǔ)器設(shè)備。根據(jù)實(shí)施例,非易失性存儲(chǔ)器系統(tǒng)623、624和625中的每一個(gè)可以根據(jù)上述實(shí)施例執(zhí)行無用數(shù)據(jù)收集操作,并可以通過選擇多個(gè)源塊并且對(duì)其同時(shí)執(zhí)行無用數(shù)據(jù)收集操作來減少映射表的更新頻率。
以上例示了本發(fā)明構(gòu)思的實(shí)施例,并且不應(yīng)被解釋為限制本發(fā)明構(gòu)思。此外,本領(lǐng)域技術(shù)人員將容易理解的是,可以在這些實(shí)施例進(jìn)行各種修改而在實(shí)質(zhì)上不偏離本發(fā)明構(gòu)思的范圍。
雖然已經(jīng)參照具體實(shí)施例示出和描述了實(shí)施例,但是可以在形式和細(xì)節(jié)上做出各種改變而不脫離所附權(quán)利要求的精神和范圍。