背景技術(shù):
目前的隨機(jī)訪問閃存系統(tǒng)(諸如固態(tài)驅(qū)動器)在訪問存儲在存儲器系統(tǒng)中的數(shù)據(jù)時經(jīng)常不具有固有的尋找懲罰。然而,存儲器系統(tǒng)經(jīng)常能夠比能夠訪問循序存儲在同一存儲器管芯的存儲器區(qū)塊中的數(shù)據(jù)的存儲器系統(tǒng)更有效地訪問橫跨不同存儲器管芯中的存儲器區(qū)塊并行存儲的數(shù)據(jù)。
為了利用閃存系統(tǒng)的該性質(zhì),在存儲器系統(tǒng)將數(shù)據(jù)存儲在其存儲器中之前,存儲器系統(tǒng)獲知主機(jī)系統(tǒng)稍后將如何訪問數(shù)據(jù)將是有利的。
技術(shù)實現(xiàn)要素:
在一個方面,公開一種方法。該方法的要素用主機(jī)系統(tǒng)的處理器來執(zhí)行。處理器確定主機(jī)系統(tǒng)是否已發(fā)起將發(fā)送命令至非易失性存儲器系統(tǒng)的規(guī)程。處理器分析與命令相關(guān)聯(lián)的元數(shù)據(jù)或有效載荷數(shù)據(jù)中的至少一個,以確定處理器是否能夠生成與元數(shù)據(jù)或有效載荷數(shù)據(jù)中的所述至少一個相關(guān)聯(lián)的提示信息。
主機(jī)系統(tǒng)的處理器基于數(shù)據(jù)的分析生成提示信息;發(fā)送提示信息至非易失性存儲器系統(tǒng);并且發(fā)送命令至非易失性存儲器系統(tǒng)。
在另一方面,公開一種主機(jī)系統(tǒng)。該主機(jī)系統(tǒng)包括處理電路系統(tǒng)和與處理電路系統(tǒng)通信的驅(qū)動器模塊。
處理器電路系統(tǒng)被配置為基于與主機(jī)系統(tǒng)將要發(fā)送到非易失性存儲器系統(tǒng)的命令相關(guān)聯(lián)的元數(shù)據(jù)或有效載荷數(shù)據(jù)中的至少一個而生成關(guān)于與該命令相關(guān)聯(lián)的數(shù)據(jù)的特性的信息。
驅(qū)動器模塊被配置為連同主機(jī)系統(tǒng)發(fā)送命令至存儲器模塊而將生成的信息發(fā)送至非易失性存儲器系統(tǒng)。
在進(jìn)一步的方面,公開另一種方法。在該方法中,非易失性存儲器系統(tǒng)從存在于主機(jī)系統(tǒng)上的提示生成器接收信息,該信息向非易失性存儲器系統(tǒng)指示與命令相關(guān)聯(lián)的數(shù)據(jù)的特性。
非易失性存儲器系統(tǒng)從主機(jī)系統(tǒng)接收該命令,基于指示該數(shù)據(jù)的特性的信息來選擇用于將數(shù)據(jù)存儲在非易失性存儲器系統(tǒng)的非易失性存儲器中的規(guī)程,以及執(zhí)行所選擇的規(guī)程。
附圖說明
圖1a是示例非易失性存儲器系統(tǒng)的框圖。
圖1b是示出示例性存儲模塊的框圖。
圖1c是示出分層存儲系統(tǒng)的框圖。
圖2a是示出非易失性存儲器系統(tǒng)的控制器的示例性部件的框圖。
圖2b是示出非易失性存儲器系統(tǒng)的非易失性存儲器的示例性部件的框圖。
圖3示出存儲器組的示例物理存儲器組織。
圖4示出圖3的物理存儲器的一部分的展開圖。
圖5是與非易失性存儲器系統(tǒng)耦合的主機(jī)系統(tǒng)的一種實施方式的框圖。
圖6是提示生成器響應(yīng)于主機(jī)系統(tǒng)發(fā)起在非易失性存儲器系統(tǒng)上安裝應(yīng)用程序的過程而生成提示信息的方法的一種實施方式的流程圖。
圖7是提示生成器響應(yīng)于主機(jī)系統(tǒng)發(fā)起在非易失性存儲器系統(tǒng)上創(chuàng)建文件或打開文件的過程而生成提示信息的方法的一種實施方式的流程圖。
圖8是非易失性存儲器系統(tǒng)接收并利用提示信息以在非易失性存儲器系統(tǒng)中有效地處理和/或存儲數(shù)據(jù)的方法的一種實施方式的流程圖。
具體實施方式
本公開涉及用于生成與主機(jī)命令相關(guān)聯(lián)的提示信息的系統(tǒng)和方法。隨機(jī)訪問閃存系統(tǒng)在訪問存儲在存儲器系統(tǒng)中的數(shù)據(jù)時經(jīng)常不具有固有的懲罰。然而,存儲器系統(tǒng)經(jīng)常能夠比能夠訪問循序存儲在同一存儲器管芯的存儲器區(qū)塊中的數(shù)據(jù)的存儲器系統(tǒng)更有效地訪問橫跨不同存儲器管芯中的存儲器區(qū)塊并行存儲的數(shù)據(jù)。
如下面更詳細(xì)論述,為了利用該效率,在主機(jī)系統(tǒng)上存在的提示生成器監(jiān)控主機(jī)系統(tǒng)動作并將提示信息傳送至非易失性存儲器系統(tǒng)。當(dāng)存儲器系統(tǒng)從主機(jī)系統(tǒng)接收主機(jī)命令時,存儲器系統(tǒng)利用所接收的提示信息以便更有效地處理數(shù)據(jù)和/或存儲數(shù)據(jù)到存儲器系統(tǒng)的非易失性存儲器中。
圖1a是示出非易失性存儲器系統(tǒng)的框圖。非易失性存儲器系統(tǒng)100包括控制器102和可由一個或多個非易失性存儲器管芯104構(gòu)成的非易失性存儲器。如本文所用,術(shù)語“管芯”是指非易失性存儲器單元組,以及用于管理那些非易失性存儲器單元的物理操作的相關(guān)聯(lián)電路系統(tǒng),它們形成在單個存儲器襯底上??刂破?02與主機(jī)系統(tǒng)接合并向非易失性存儲器管芯104傳輸用于讀取、編程和擦除操作的命令序列。
控制器102(其可以是閃存控制器)可以采用處理電路系統(tǒng)、微處理器或處理器以及存儲可由例如(微)處理器、邏輯門、開關(guān)、專用集成電路(asic)、可編程邏輯控制器和嵌入式微控制器執(zhí)行的計算機(jī)可讀程序代碼(例如軟件或固件)的計算機(jī)可讀介質(zhì)的形式。控制器102可用硬件和/或固件配置以執(zhí)行下面描述并在流程圖中示出的各種功能。同樣,顯示為在控制器內(nèi)部的一些部件也可存儲在控制器外部,并且可使用其它部件。另外,短語“可操作地與……通信”可意指(有線或無線)直接通信或者通過一個或多個部件(有線或無線)間接通信,其可能在或可能不在本文中示出或描述。
如本文所用,閃存控制器是管理存儲在閃存上的數(shù)據(jù)并與主機(jī)(諸如計算機(jī)或電子裝置)通信的裝置。除本文所描述的特定功能之外,閃存控制器也可具有的各種功能。例如,閃存控制器可以將閃存格式化以確保存儲器正確地操作、標(biāo)出損壞的閃存單元以及分配備用單元以替換未來故障單元。備用單元的一些部分可用于保持固件以操作閃存控制器和實施其他特征。在操作中,當(dāng)主機(jī)需要從閃存讀取數(shù)據(jù)或?qū)?shù)據(jù)寫入到閃存中時,其將與閃存控制器通信。如果主機(jī)提供數(shù)據(jù)將被讀取/寫入的邏輯地址,則閃存控制器可將從主機(jī)接收的邏輯地址轉(zhuǎn)換成閃存中的物理地址。(可替換地,主機(jī)可提供物理地址)。閃存控制器也可以執(zhí)行各種存儲器管理功能,諸如但不限于損耗均衡(分布寫入以避免損耗掉否則將被重復(fù)寫入的存儲器特定區(qū)塊)和垃圾收集(在區(qū)塊存滿之后,僅移動有效頁面的數(shù)據(jù)到新區(qū)塊,因此可擦除和復(fù)用已滿區(qū)塊)。
非易失性存儲器管芯104可包括任何合適的非易失性存儲介質(zhì),其包括nand閃存單元和/或nor閃存單元。存儲器單元可采取固態(tài)(例如,閃存)存儲器單元的形式,并可以是一次可編程的、幾次可編程的或多次可編程的。存儲器單元也可以是單層單元(slc)、多層單元(mlc)、三層單元(tlc)或使用現(xiàn)在已知或以后發(fā)展的其他存儲器技術(shù)。而且,存儲器單元可以以二維或三維形式布置。
控制器102和非易失性存儲器管芯104之間的接口可以是任何合適的閃存接口,諸如觸發(fā)模式200、400或800。在一個實施例中,存儲器系統(tǒng)100可以是基于卡的系統(tǒng),諸如安全數(shù)字(sd)卡或微型安全數(shù)字(微型sd)卡。在可替換實施例中,存儲器系統(tǒng)100可以是嵌入式存儲器系統(tǒng)的一部分。
盡管在圖1a所示示例中非易失性存儲器系統(tǒng)100包括控制器102和非易失性存儲器管芯104之間的單個通道,但本文描述的主題不限于具有單個存儲器通道。例如,在一些nand存儲器系統(tǒng)架構(gòu)中,2個、4個、8個或更多個nand通道可存在于控制器和nand存儲器裝置之間,這取決于控制器能力。在本文所述實施例中的任一個中,多于單個通道可存在于控制器和存儲器管芯之間,即使在附圖中示出單個通道。
圖1b示出包括復(fù)數(shù)個非易失性存儲器系統(tǒng)100的存儲模塊200。同樣,存儲模塊200可以包括與主機(jī)并與存儲系統(tǒng)204接合的存儲控制器202,存儲系統(tǒng)204包括多個非易失性存儲器系統(tǒng)100。在存儲控制器202和非易失性存儲器系統(tǒng)100之間的接口可以是總線接口,諸如串行高級技術(shù)附件(sata)接口或外圍部件接口高速(pcie)接口。在一個實施例中,存儲模塊200可以是諸如在便攜式計算裝置諸如膝上計算機(jī)和平板計算機(jī)中發(fā)現(xiàn)的固態(tài)驅(qū)動器(ssd)。
圖1c是示出分層存儲系統(tǒng)的框圖。分層存儲系統(tǒng)210包括多個存儲控制器202,其每一個控制相應(yīng)的存儲系統(tǒng)204。主機(jī)系統(tǒng)212可經(jīng)由總線接口訪問分層存儲系統(tǒng)內(nèi)的存儲器。在一個實施例中,總線接口可以是非易失性存儲器高速(nvme)接口或以太網(wǎng)上的光線通道(fcoe)接口。在一個實施例中,圖1c所示的系統(tǒng)可以是可安裝在機(jī)架上的大容量存儲系統(tǒng),其是由多個主機(jī)計算機(jī)可訪問的,諸如可在數(shù)據(jù)中心或需要大容量存儲的其他位置發(fā)現(xiàn)的那些存儲系統(tǒng)。
圖2a是更詳細(xì)地示出控制器102的示例性部件的框圖。控制器102包括與主機(jī)接合的前端模塊108,與一個或多個非易失性存儲器管芯104接合的后端模塊110,以及執(zhí)行現(xiàn)將更詳細(xì)描述的功能的各種其他模塊。
例如,模塊可以采取被設(shè)計用于與其他部件一起使用的封裝功能硬件單元、可由通常執(zhí)行相關(guān)功能中的特定功能的(微)處理器或處理電路系統(tǒng)執(zhí)行的程序代碼(例如軟件或固件)的一部分、或與更大系統(tǒng)接合的自持硬件或軟件部件的形式。
控制器102的模塊可以包括提示處理模塊112。如下面結(jié)合圖5至圖8更詳細(xì)論述,提示處理模塊112處理從存在于主機(jī)系統(tǒng)上的提示生成器接收的提示信息,并且可選擇用于基于在提示信息中識別的數(shù)據(jù)的特性而處理數(shù)據(jù)的規(guī)程。
再次參考控制器102的模塊,緩沖器管理器/總線控制器114管理隨機(jī)訪問存儲器(ram)116中的緩沖器,并且控制控制器102的內(nèi)部總線仲裁。只讀存儲器(rom)118存儲系統(tǒng)啟動代碼。盡管圖2a中示出為與控制器102分離定位,但在其他實施例中,ram116和rom118中的一個或兩個可以位于控制器內(nèi)。在其他實施例中,ram和rom中的一些部分可位于控制器102內(nèi)和該控制器外。進(jìn)一步地,在一些實施方式中,控制器102、ram116和rom118可位于分離的半導(dǎo)體管芯上。
前端模塊108包括主機(jī)接口120和提供與主機(jī)或下一級存儲控制器的電接口的物理層接口(phy)122。主機(jī)接口120的類型的選擇可取決于使用的存儲器類型。主機(jī)接口120的示例包括但不限于sata、sata高速、sas、光纖信道、usb、pcie和nvme。主機(jī)接口120通常有利于數(shù)據(jù)、控制信號和定時信號的傳遞。
后端模塊110包括糾錯控制器(ecc)引擎124,其將編碼從主機(jī)接收的數(shù)據(jù)字節(jié),并對從非易失性存儲器讀取的數(shù)據(jù)字節(jié)進(jìn)行解碼和糾錯。命令定序器126生成將被傳輸至非易失性存儲器管芯104的命令序列(諸如編程和擦除命令序列)。raid(獨(dú)立驅(qū)動器的冗余陣列)模塊128管理raid奇偶校驗的生成和失效數(shù)據(jù)的恢復(fù)。raid奇偶校驗可用作被寫入存儲器裝置104中的數(shù)據(jù)的額外完整性保護(hù)水平。在一些情況下,raid模塊128可以是ecc引擎124的一部分。存儲器接口130提供命令序列至非易失性存儲器管芯104并從非易失性存儲器管芯104接收狀態(tài)信息。在一個實施例中,存儲器接口130可以是雙倍數(shù)據(jù)速率(ddr)接口,諸如觸發(fā)模式200、400或800接口。閃存控制層132控制后端模塊110的總體操作。
圖2a所示的系統(tǒng)100的額外部件包括介質(zhì)管理層138,其執(zhí)行非易失性存儲器管芯104的存儲器單元的損耗均衡。系統(tǒng)100還包括其他分立部件140,諸如外部電氣接口、外部ram、電阻器、電容器或可與控制器102接合的其他部件。
在可替換實施例中,物理層接口122、raid模塊128、介質(zhì)管理層138和緩沖器管理/總線控制器114中的一個或多個是控制器102中非必要的可選部件。
圖2b是更詳細(xì)地示出非易失性存儲器管芯104的示例性部件的框圖。非易失性存儲器管芯104包括外圍電路系統(tǒng)141和非易失性存儲器陣列142。非易失性存儲器陣列142包括用于存儲數(shù)據(jù)的非易失性存儲器單元。非易失性存儲器單元可以是任何合適的非易失性存儲器單元,包括二維和/或三維配置中的nand閃存單元和/或nor閃存單元。外圍電路系統(tǒng)141包括向控制器102提供狀態(tài)信息的狀態(tài)機(jī)152。非易失性存儲器管芯104進(jìn)一步包括高速緩存數(shù)據(jù)的數(shù)據(jù)高速緩存器156。
圖3在概念上圖示說明多平面布置,其示出存儲器單元的四個平面302-308。這些平面302-308可以在單個管芯、兩個管芯(每個管芯上這些平面中的兩個)或四個分離的管芯上。當(dāng)然,其他數(shù)量(諸如1、2、8、16或更多個)平面可存在于系統(tǒng)的每個管芯中。這些平面被各自劃分成圖3中以矩形示出的存儲器單元的區(qū)塊,諸如區(qū)塊310、312、314和316,其位于相應(yīng)的平面302-308中。在每個平面中可存在幾十或幾百個區(qū)塊。
如上所述,存儲器單元的區(qū)塊是擦除的單位,即在物理上可以一起擦除的最小數(shù)量的存儲器單元。為了提高并行度,一些存儲器系統(tǒng)以較大的元區(qū)塊單位操作區(qū)塊。然而,其他存儲器系統(tǒng)可以利用異步存儲器管芯形式而不是以較大的元區(qū)塊單位操作。
在利用元區(qū)塊單位的存儲器系統(tǒng)中,來自每個平面的一個區(qū)塊在邏輯上鏈接在一起以形成元區(qū)塊。四個區(qū)塊310-316被示出形成一個元區(qū)塊318。元區(qū)塊內(nèi)的所有單元通常一起被擦除。用于形成元區(qū)塊的單元不需要被約束于它們的相應(yīng)平面內(nèi)的相同的相對位置,如在由區(qū)塊322-328構(gòu)成的第二元區(qū)塊320中所示。盡管通常優(yōu)選使元區(qū)塊橫跨所有平面延伸,但為了高系統(tǒng)性能,存儲器系統(tǒng)可以用在不同平面中動態(tài)形成任一個或全部一個、兩個或三個區(qū)塊的元區(qū)塊的能力進(jìn)行操作。這允許元區(qū)塊的大小更緊密地匹配在一個編程操作中可用于存儲的數(shù)據(jù)量。
如圖4所示,個體區(qū)塊進(jìn)而為了操作目的被劃分成存儲器單元的頁面。例如,區(qū)塊310-316中的每個區(qū)塊的存儲器單元各自劃分成八個頁面p0-p7??商鎿Q地,在每個區(qū)塊內(nèi)可以存在存儲器單元的32個、64個或更多個頁面。頁面是在區(qū)塊內(nèi)進(jìn)行數(shù)據(jù)編程和讀取的單位,其包含同時編程或讀取的最少量的數(shù)據(jù)。然而,為了提高存儲器系統(tǒng)操作并行度,在兩個或更多個區(qū)塊內(nèi)的此類頁面可以在邏輯上鏈接到元頁面。元頁面428在圖4中示出,其由來自四個區(qū)塊310-316中的每個區(qū)塊的一個物理頁面形成。例如,元頁面402包括四個區(qū)塊中的每個區(qū)塊中的頁面p2,但元頁面的頁面不必在每個區(qū)塊內(nèi)具有相同的相對位置。
如上所述,非易失性存儲器系統(tǒng)經(jīng)常能夠比能夠訪問循序存儲在同一存儲器管芯的存儲器區(qū)塊中的數(shù)據(jù)的存儲器系統(tǒng)更有效地訪問橫跨不同存儲器管芯中的存儲器區(qū)塊并行存儲的數(shù)據(jù)。然而,在不知主機(jī)系統(tǒng)將訪問存儲在非易失性存儲器系統(tǒng)中的數(shù)據(jù)的訪問模式的情況下,存儲器系統(tǒng)難以利用該效率并且針對主機(jī)系統(tǒng)一次將訪問的數(shù)據(jù)在不同存儲器管芯中橫跨存儲器區(qū)塊并行存儲數(shù)據(jù)。
本文所述的非易失性存儲器系統(tǒng)可以利用來自位于主機(jī)系統(tǒng)上的提示生成器的信息以便更智能地在存儲器系統(tǒng)的非易失性存儲器中處理并存儲數(shù)據(jù)。圖5是與諸如上述那些非易失性存儲器系統(tǒng)耦合的主機(jī)系統(tǒng)的一種施方式的框圖。
主機(jī)系統(tǒng)500存儲數(shù)據(jù)至非易失性存儲器系統(tǒng)502(諸如上面關(guān)于圖1a至圖4描述的那些)中,并從非易失性存儲器系統(tǒng)502檢索數(shù)據(jù)。在非易失性存儲器系統(tǒng)502有關(guān)的范圍內(nèi),主機(jī)系統(tǒng)500可被視為具有由電路系統(tǒng)和軟件的組合構(gòu)成的兩個主部分。它們是與非易失性存儲器系統(tǒng)502接合的應(yīng)用程序部分508和驅(qū)動器模塊部分510。
應(yīng)用程序部分508可以包括例如運(yùn)行文字處理、圖形、控制或其他常見應(yīng)用軟件的cpu處理器512(也稱為處理電路系統(tǒng))以及用于管理主機(jī)500上的數(shù)據(jù)的主機(jī)文件系統(tǒng)514。
如下面更詳細(xì)論述,應(yīng)用程序部分508還可以包括監(jiān)控發(fā)起并發(fā)送主機(jī)命令至存儲模塊的主機(jī)系統(tǒng)過程的提示生成器513。提示生成器513可以被實施為在cpu處理器512上運(yùn)行的應(yīng)用程序,其不是存在于主機(jī)系統(tǒng)上的操作系統(tǒng)的一部分。提示生成器513可以可替換地使用處理電路系統(tǒng)來實施。
在一些實施方式中,提示生成器513可至少部分地與驅(qū)動器模塊部分510集成,以便將提示信息作為主機(jī)命令的一部分發(fā)送至存儲模塊502。
通常,提示生成器513尋找主機(jī)系統(tǒng)將要發(fā)送至非易失性存儲器系統(tǒng)502的主機(jī)命令和相關(guān)聯(lián)數(shù)據(jù)。在一些實施方式中,提示生成器513發(fā)起導(dǎo)致主機(jī)系統(tǒng)發(fā)送主機(jī)命令和相關(guān)聯(lián)數(shù)據(jù)至非易失性存儲器系統(tǒng)的規(guī)程。然而在其他實施方式中,提示生成器不發(fā)起導(dǎo)致主機(jī)系統(tǒng)發(fā)送主機(jī)命令和相關(guān)聯(lián)數(shù)據(jù)至非易失性存儲器系統(tǒng)的規(guī)程。
例如,主機(jī)命令和相關(guān)聯(lián)數(shù)據(jù)可以是主機(jī)系統(tǒng)意圖在非易失性存儲器系統(tǒng)上安裝應(yīng)用程序、在非易失性存儲器系統(tǒng)上存儲新文件的數(shù)據(jù)、替換在非易失性存儲器系統(tǒng)上存儲的文件的數(shù)據(jù)、從文件刪除內(nèi)容、刪除整個文件、執(zhí)行文件的內(nèi)容、以存儲器映射方式讀取文件、或?qū)?shù)據(jù)從在非易失性存儲器系統(tǒng)上存儲的文件循序串流的結(jié)果。
在識別主機(jī)系統(tǒng)將發(fā)送至非易失性存儲器系統(tǒng)的主機(jī)命令和相關(guān)聯(lián)數(shù)據(jù)之后,提示生成器513可以分析與所識別的主機(jī)命令相關(guān)聯(lián)的元數(shù)據(jù)或有效載荷數(shù)據(jù)中的至少一個。元數(shù)據(jù)可以是描述與所識別的主機(jī)命令一起發(fā)送的數(shù)據(jù)的一個或多個特性的信息,并且有效載荷數(shù)據(jù)可以是與所識別的主機(jī)命令一起發(fā)送的實際數(shù)據(jù)。例如,元數(shù)據(jù)可以描述主機(jī)將發(fā)送至存儲裝置以用于存儲的數(shù)據(jù)構(gòu)成的文件的性質(zhì)。有效載荷數(shù)據(jù)是主機(jī)將發(fā)送至存儲裝置的實際文件的數(shù)據(jù)。
提示生成器513基于數(shù)據(jù)的分析和特性生成提示信息,并且提示生成器513發(fā)送所生成的提示信息至非易失性存儲器系統(tǒng)。提示信息可以提供關(guān)于主機(jī)系統(tǒng)將發(fā)送至非易失性存儲器系統(tǒng)的數(shù)據(jù)的特性(諸如數(shù)據(jù)是否將被頻繁地更新)的信息、數(shù)據(jù)的文件類型(諸如文件是否為可執(zhí)行文件)、與數(shù)據(jù)相關(guān)聯(lián)的邏輯塊地址序列、數(shù)據(jù)是否為現(xiàn)有文件的一部分、數(shù)據(jù)是否替換現(xiàn)有文件的數(shù)據(jù)、數(shù)據(jù)是否為已存儲在非易失性存儲器系統(tǒng)上的文件的副本,或當(dāng)處理和/或存儲數(shù)據(jù)時可用于非易失性存儲器系統(tǒng)的任何其他類型的信息。
提示生成器513可用來將提示信息傳遞到非易失性存儲器系統(tǒng)的協(xié)議的一個示例在可得自www.nvmexpress.org的nvme1.2標(biāo)準(zhǔn)規(guī)格中描述。例如,提示生成器513可以利用所描述的訪問頻率(af)字段(其指示數(shù)據(jù)被讀取或?qū)懭氲念l率)、順序讀取(sr)字段(其指示數(shù)據(jù)應(yīng)被優(yōu)化以用于順序讀取訪問),和/或順序?qū)懭?sw)字段(其指示數(shù)據(jù)應(yīng)被優(yōu)化以用于順序?qū)懭朐L問)。提示生成器513可以將這些字段與讀取和寫入命令一起發(fā)送至非易失性存儲器系統(tǒng)。
下面,關(guān)于圖6和圖7的論述示出提示生成器生成提示信息并發(fā)送提示信息至非易失性存儲器系統(tǒng)的方法的實施方式。關(guān)于圖8的論述示出非易失性存儲器系統(tǒng)如何可接收和利用提示信息以在非易失性存儲器系統(tǒng)中有效處理和/或存儲數(shù)據(jù)的方法的實施方式。
圖6是提示生成器響應(yīng)于主機(jī)系統(tǒng)發(fā)起在非易失性存儲器系統(tǒng)上安裝應(yīng)用程序的過程而生成提示信息的方法的一種實施方式的流程圖。如上所述,提示生成器存在于主機(jī)系統(tǒng)上并監(jiān)控主機(jī)系統(tǒng)的動作。
在步驟602,提示生成器確定主機(jī)系統(tǒng)已發(fā)起在與主機(jī)系統(tǒng)耦合的非易失性存儲器系統(tǒng)上安裝應(yīng)用程序的規(guī)程。在一些實施方式中,提示生成器與主機(jī)設(shè)施集成在主機(jī)系統(tǒng)上,該主機(jī)設(shè)施在非易失性存儲器系統(tǒng)上安裝應(yīng)用程序以幫助提示生成器識別主機(jī)系統(tǒng)何時發(fā)起在非易失性存儲器系統(tǒng)上安裝應(yīng)用程序的規(guī)程。例如,提示生成器可以與由操作系統(tǒng)提供的安裝服務(wù)或被供應(yīng)有應(yīng)用程序的設(shè)定腳本集成在一起。
在一些實施方式中,在分析安裝包之前,提示生成器首先在確定主機(jī)系統(tǒng)已發(fā)起在非易失性存儲器系統(tǒng)上安裝應(yīng)用程序的規(guī)程之后分析文件系統(tǒng)布局。提示生成器分析文件系統(tǒng)布局以確定哪些文件范圍是想要動態(tài)更新的以及哪些將在安裝完成后為靜態(tài)的。例如,應(yīng)用程序圖像(通常存儲在/bin、/usr/bin或“\programfiles”目錄中)通常是靜態(tài)的并且不頻繁更新,而用戶數(shù)據(jù)(諸如模板、示例或用戶可修改的資源文件)通常是動態(tài)更新的。如本領(lǐng)域中已知的,文件范圍是在文件系統(tǒng)中為特定文件保留的邏輯上連續(xù)的存儲區(qū)域。
在步驟604,提示生成器從主機(jī)文件系統(tǒng)獲得文件系統(tǒng)布局,并且在步驟606,提示生成器確定文件系統(tǒng)布局是否從文件系統(tǒng)布局的先前分析發(fā)生改變。當(dāng)文件系統(tǒng)布局未改變時,提示生成器前進(jìn)到步驟610以分析安裝包。
然而,當(dāng)文件系統(tǒng)布局已改變時,在步驟608,提示生成器生成并發(fā)送關(guān)于新文件系統(tǒng)布局的提示信息并發(fā)送該提示信息至非易失性存儲器系統(tǒng)。提示生成器在分析文件系統(tǒng)布局之后發(fā)送至非易失性存儲器系統(tǒng)的提示信息可包括例如新文件的指示、特定文件是否已改變或移動的指示、更新文件范圍的指示,和/或?qū)⑹庆o態(tài)的或不頻繁更新的任何新的一系列邏輯塊地址的指示。
在一些實施方式中,提示生成器使用由操作系統(tǒng)提供的穿透(pass-through)應(yīng)用程序接口(“api”)或使用能夠直接發(fā)送命令至存儲模塊的裝置驅(qū)動器來發(fā)送提示信息至非易失性存儲器系統(tǒng)。在其他實施方式中,當(dāng)提示生成器至少部分內(nèi)嵌有主機(jī)系統(tǒng)上的裝置驅(qū)動器時,提示生成器可以在主機(jī)系統(tǒng)發(fā)送至非易失性存儲器系統(tǒng)的寫入命令中嵌入提示信息。
在步驟610,提示生成器分析安裝包以識別最終的安裝將在非易失性存儲器系統(tǒng)上存儲的一個或多個文件。
在步驟612,提示生成器檢查在步驟610識別的一個或多個文件中的第一文件。在一些實施方式中,提示生成器可以檢查與文件或?qū)嶋H文件自身的數(shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù)中的至少一個。在步驟614,提示生成器確定文件的特性是否已知或能被確定。當(dāng)文件的特性未知并且不能被確定時,在步驟616,主機(jī)系統(tǒng)在沒有提示信息的情況下將文件的數(shù)據(jù)寫入到非易失性存儲器系統(tǒng)中。
可替換地,在步驟618,當(dāng)提示生成器確定文件的特性已知或能被確定時,提示生成器生成與文件相關(guān)聯(lián)的提示信息。在一些實施方式中,提示信息可包括文件的數(shù)據(jù)將改變的頻率、與文件相關(guān)聯(lián)的邏輯塊地址序列、和/或與數(shù)據(jù)相關(guān)聯(lián)的文件類型(諸如文件是否為可執(zhí)行文件)的用于非易失性存儲器系統(tǒng)的指示。
在步驟620,提示生成器發(fā)送與文件相關(guān)聯(lián)的提示信息至非易失性存儲器系統(tǒng),并且在步驟622,主機(jī)系統(tǒng)發(fā)送包含文件的數(shù)據(jù)的一個或多個寫入命令。如上所述,在一些實施方式中,提示生成器使用由操作系統(tǒng)提供的穿透api或使用能夠直接發(fā)送命令至非易失性存儲器系統(tǒng)的裝置驅(qū)動器來發(fā)送提示信息至非易失性存儲器系統(tǒng)。在其他實施方式中,當(dāng)提示生成器至少部分內(nèi)嵌有主機(jī)系統(tǒng)上的裝置驅(qū)動器時,提示生成器可以將提示信息嵌入在主機(jī)系統(tǒng)發(fā)送至非易失性存儲器系統(tǒng)的寫入命令中。
在一些實施方式中,在步驟624,在發(fā)送提示信息和包含文件的數(shù)據(jù)的寫入命令之后,提示生成器發(fā)送終止提示信息至非易失性存儲器系統(tǒng)。終止提示信息向非易失性存儲器系統(tǒng)指示主機(jī)系統(tǒng)已完成發(fā)送用于當(dāng)前文件的主機(jī)命令至非易失性存儲器系統(tǒng),和/或提示生成器將不發(fā)送關(guān)于和此時的當(dāng)前文件相關(guān)聯(lián)的范圍的進(jìn)一步提示信息至非易失性存儲器系統(tǒng)。
應(yīng)認(rèn)識到從步驟612開始的上述過程針對在步驟610識別的一個或多個文件中的每一個重復(fù)進(jìn)行,直到所有文件都被處理并且在步驟626完成安裝。
當(dāng)主機(jī)系統(tǒng)發(fā)起并非安裝規(guī)程的一部分而是在非易失性存儲器系統(tǒng)中創(chuàng)建文件和/或在非易失性存儲器系統(tǒng)中打開現(xiàn)有文件的過程時,在主機(jī)系統(tǒng)上存在的提示生成器可以執(zhí)行類似動作。
圖7是提示生成器響應(yīng)于主機(jī)系統(tǒng)發(fā)起在非易失性存儲器系統(tǒng)上創(chuàng)建或打開文件的過程而生成提示信息的方法的一種實施方式的流程圖。如上所述,提示生成器存在于主機(jī)系統(tǒng)上并監(jiān)控主機(jī)系統(tǒng)的動作。
在步驟702,提示生成器監(jiān)控主機(jī)系統(tǒng)的動作,并確定主機(jī)系統(tǒng)已發(fā)起在非易失性存儲器系統(tǒng)上創(chuàng)建一個或多個文件和/或在非易失性存儲器系統(tǒng)上打開一個或多個文件的規(guī)程。在步驟704,提示生成器確定被識別為規(guī)程的一部分的文件是否需要被處理。當(dāng)文件需要被處理時,在步驟706,提示生成器確定該文件是否正被創(chuàng)建或該文件是否已存儲在非易失性存儲器系統(tǒng)中。
當(dāng)提示生成器確定文件已存儲在非易失性存儲器系統(tǒng)中時,在步驟708,提示生成器可以檢索與文件(諸如元數(shù)據(jù))相關(guān)聯(lián)的信息,該信息指示文件特性(諸如與文件相關(guān)聯(lián)的邏輯塊地址序列)、文件類型、或期望文件的數(shù)據(jù)多頻繁地改變的指示。提示生成器可以使用允許應(yīng)用程序讀取文件特性和范圍布局的操作系統(tǒng)接口,或通過檢查主機(jī)存儲器內(nèi)描述文件范圍布局的數(shù)據(jù)結(jié)構(gòu),以提取該信息。另外,提示生成器可以檢查實際文件數(shù)據(jù)以確定文件類型。
在步驟710,提示生成器可以基于與文件相關(guān)聯(lián)的信息生成提示信息,并且在步驟712,提示生成器發(fā)送提示信息至非易失性存儲器系統(tǒng),并且主機(jī)系統(tǒng)發(fā)送與文件相關(guān)聯(lián)的命令至非易失性存儲器系統(tǒng)。
在一些實施方式中,提示生成器可以在步驟714確定主機(jī)系統(tǒng)已完成寫入數(shù)據(jù)到已存在于非易失性存儲器系統(tǒng)中的文件,或者已完成從該文件中讀取數(shù)據(jù)。作為響應(yīng),在步驟716,提示生成器發(fā)送終止提示信息至非易失性存儲器系統(tǒng)。終止提示信息向非易失性存儲器系統(tǒng)指示主機(jī)系統(tǒng)已關(guān)閉文件并且將不再發(fā)送寫入數(shù)據(jù)至與文件相關(guān)聯(lián)的范圍或從該范圍讀取數(shù)據(jù)的主機(jī)命令。另外,終止提示信息可以向非易失性存儲器系統(tǒng)指示提示生成器將不發(fā)送關(guān)于和此時的文件相關(guān)聯(lián)的范圍的進(jìn)一步提示信息至非易失性存儲器系統(tǒng)。
再次參考步驟706,當(dāng)提示生成器代替地確定主機(jī)系統(tǒng)在創(chuàng)建用于在非易失性存儲器系統(tǒng)上存儲的新文件時,在步驟718,提示生成器識別關(guān)于將要創(chuàng)建的文件的特性。例如,提示生成器可以檢查與將要與主機(jī)命令一起發(fā)送的文件相關(guān)聯(lián)的元數(shù)據(jù)或該文件的實際有效載荷數(shù)據(jù)中的至少一個,以確定與該文件相關(guān)聯(lián)的邏輯塊地址序列、該文件的文件類型、期望文件數(shù)據(jù)多頻繁地改變的指示、新創(chuàng)建的文件是已存儲在非易失性存儲器系統(tǒng)中的文件的副本的指示、和/或新創(chuàng)建的文件是臨時文件且該臨時文件是已存儲在非易失性存儲器系統(tǒng)中的文件的副本的指示。
在步驟720,提示生成器基于所識別的特性來生成提示信息,并且在步驟722,提示生成器發(fā)送提示信息至非易失性存儲器系統(tǒng),并且主機(jī)系統(tǒng)發(fā)送主機(jī)命令至非易失性存儲器系統(tǒng)。
在一些實施方式中,在發(fā)送提示信息和主機(jī)命令至非易失性存儲器系統(tǒng)之后,在步驟724,提示生成器發(fā)送終止提示信息至非易失性存儲器系統(tǒng)。
應(yīng)認(rèn)識到從步驟704開始的上述過程針對在步驟702識別的每個文件進(jìn)行重復(fù),直到所有文件都被處理并且在步驟726結(jié)束該規(guī)程。
在主機(jī)系統(tǒng)上存在的提示生成器利用一些方法(諸如上面結(jié)合圖6和圖7描述的那些方法)發(fā)送提示信息至非易失性存儲器系統(tǒng)之后,存儲模塊利用所接收的提示信息來有效地處理和/或存儲與主機(jī)命令相關(guān)聯(lián)的文件的數(shù)據(jù)。
圖8是非易失性存儲器系統(tǒng)接收并利用提示信息以在非易失性存儲器系統(tǒng)中有效地處理和/或存儲數(shù)據(jù)的方法的一種實施方式的流程圖。在步驟802,非易失性存儲器系統(tǒng)從存在于主機(jī)系統(tǒng)上的提示生成器接收提示信息,并且在步驟804,非易失性存儲器系統(tǒng)接收與提示信息相關(guān)聯(lián)的一個或多個主機(jī)命令。
如上所述,在一些實施方式中,非易失性存儲器系統(tǒng)可以經(jīng)由穿透api或從能夠直接發(fā)送命令至非易失性存儲器系統(tǒng)的裝置驅(qū)動器接收提示信息以及主機(jī)命令。在其他實施方式中,非易失性存儲器系統(tǒng)可以接收提示信息以及作為從主機(jī)系統(tǒng)接收的命令(諸如寫入命令或讀取命令)的一部分的主機(jī)命令。
在步驟806,非易失性存儲器系統(tǒng)的控制器的提示處理模塊識別作為主機(jī)命令的一部分由主機(jī)裝置發(fā)送至非易失性存儲器系統(tǒng)的一個或多個文件的數(shù)據(jù)的一個或多個特性。如上所述,提示信息可以識別例如文件的數(shù)據(jù)是否會頻繁地更新、與數(shù)據(jù)相關(guān)聯(lián)的文件類型、與文件的數(shù)據(jù)相關(guān)聯(lián)的邏輯塊地址序列、數(shù)據(jù)是否將替換已存儲在存儲模塊中的文件的數(shù)據(jù)、數(shù)據(jù)是否將附加到已存儲在存儲模塊中的文件的數(shù)據(jù)、主機(jī)系統(tǒng)是否希望讀取已存儲在存儲模塊的文件的數(shù)據(jù)、和/或提示生成器可識別出非易失性存儲器系統(tǒng)的控制器可用來在非易失性存儲器系統(tǒng)中更有效地處理和/或存儲數(shù)據(jù)的數(shù)據(jù)和/或文件的任何其他特性。
在步驟808,提示處理模塊基于所接收的提示信息來選擇用于處理和/或存儲由主機(jī)系統(tǒng)發(fā)送至非易失性存儲器系統(tǒng)的一個或多個文件的數(shù)據(jù)的規(guī)程。
例如,當(dāng)提示信息指示文件的數(shù)據(jù)不會頻繁更新時,諸如當(dāng)主機(jī)系統(tǒng)在非易失性存儲器系統(tǒng)上安裝可執(zhí)行文件時,存儲器系統(tǒng)可以執(zhí)行一些動作,諸如在寫入規(guī)程期間繞過存儲器系統(tǒng)內(nèi)的緩沖模塊(諸如高速緩存器),以及將數(shù)據(jù)直接存儲到非易失性存儲器系統(tǒng)的長期非易失性存儲器中。減少非易失性存儲器系統(tǒng)內(nèi)的緩沖模塊的使用改善了非易失性存儲器系統(tǒng)的整體壽命。
附加地或可替換地,當(dāng)文件的數(shù)據(jù)將不被頻繁更新并且提示信息包括針對文件的數(shù)據(jù)的邏輯地址塊序列時,非易失性存儲器系統(tǒng)可以將用于存儲的邏輯塊地址的數(shù)據(jù)分隔成獨(dú)立的存儲器物理區(qū)塊。然后存儲器系統(tǒng)防止文件的數(shù)據(jù)與可能頻繁更新的其他數(shù)據(jù)一起被寫入存儲器物理區(qū)塊中。通過將數(shù)據(jù)與不會頻繁更新的其他數(shù)據(jù)一起存儲在獨(dú)立的存儲器物理區(qū)塊中,非易失性存儲器系統(tǒng)內(nèi)的寫入放大(writeamplification)通過減少非易失性存儲器系統(tǒng)的控制器在修改頻繁更新的數(shù)據(jù)時需要創(chuàng)建的第二代數(shù)據(jù)副本的數(shù)量而改善。
當(dāng)提示信息指示針對文件的數(shù)據(jù)的邏輯塊地址序列時,諸如當(dāng)主機(jī)裝置在非易失性存儲器系統(tǒng)上安裝應(yīng)用程序時,或者當(dāng)主機(jī)裝置在非易失性存儲器系統(tǒng)中創(chuàng)建將被循序讀取的文件和/或向該文件存儲數(shù)據(jù)時,存儲器系統(tǒng)可以通過在與序列(控制器將以該序列從非易失性存儲器讀取數(shù)據(jù))對應(yīng)的存儲器物理區(qū)塊序列中存儲邏輯塊地址序列的數(shù)據(jù)來改善未來讀取的性能。在此類存儲器的物理區(qū)塊序列中存儲文件數(shù)據(jù)允許控制器從非易失性存儲器中有效地讀取數(shù)據(jù),而不是從遍及非易失性存儲器隨機(jī)定位的存儲器物理區(qū)塊讀取數(shù)據(jù)。
當(dāng)提示信息指示針對文件的數(shù)據(jù)的邏輯塊地址序列時,諸如當(dāng)主機(jī)系統(tǒng)打開文件以讀取存儲在存儲模塊中的文件的數(shù)據(jù)時,非易失性存儲器系統(tǒng)可以加載與該數(shù)據(jù)相關(guān)聯(lián)的映射表,并開始緩沖與邏輯塊序列相關(guān)聯(lián)的數(shù)據(jù),使得非易失性存儲器系統(tǒng)可響應(yīng)于讀取命令更迅速地向主機(jī)系統(tǒng)提供所請求的數(shù)據(jù)。
當(dāng)提示信息指示將對已存儲在存儲模塊中的文件的數(shù)據(jù)進(jìn)行重寫的數(shù)據(jù)的邏輯塊地址序列時,非易失性存儲器系統(tǒng)可以準(zhǔn)備釋放當(dāng)前與存儲在存儲模塊中的文件的數(shù)據(jù)相關(guān)聯(lián)的邏輯塊地址序列。
當(dāng)提示信息指示針對文件的數(shù)據(jù)的邏輯塊地址序列是針對目前存儲在存儲模塊中的文件的副本時,非易失性存儲器系統(tǒng)可以復(fù)制來自當(dāng)前存儲文件數(shù)據(jù)而不是存儲從主機(jī)系統(tǒng)接收的新數(shù)據(jù)的存儲器物理區(qū)塊的數(shù)據(jù)。
當(dāng)關(guān)于文件的副本的提示信息還指示文件的副本是臨時文件時,非易失性存儲器系統(tǒng)可以確定不將臨時文件的副本的數(shù)據(jù)存儲在非易失性存儲器中,并且可替代地將臨時文件的副本的數(shù)據(jù)保持在易失性存儲器中,直到從提示生成器接收指示臨時文件已在主機(jī)系統(tǒng)中關(guān)閉的進(jìn)一步提示信息。
在步驟810,非易失性存儲器系統(tǒng)對在主機(jī)命令中接收的數(shù)據(jù)執(zhí)行基于所接收的提示信息而識別的規(guī)程,并且處理主機(jī)命令。在提示生成器發(fā)送終止提示信息的實施方式中,提示處理模塊可以在步驟812另外接收終止提示信息。
圖1至圖8示出用于生成與主機(jī)命令相關(guān)聯(lián)的提示信息的系統(tǒng)和方法。如上所述,位于主機(jī)系統(tǒng)上的提示生成器監(jiān)控主機(jī)系統(tǒng)的動作,并識別主機(jī)系統(tǒng)將發(fā)送至與主機(jī)系統(tǒng)耦合的非易失性存儲器系統(tǒng)的主機(jī)命令。
提示生成器基于主機(jī)系統(tǒng)將與主機(jī)命令一起發(fā)送至存儲系統(tǒng)的文件的元數(shù)據(jù)或有效載荷數(shù)據(jù)中的至少一個而生成提示信息,并提供提示信息至非易失性存儲器系統(tǒng)。使用該提示信息,非易失性存儲器系統(tǒng)能夠有效地存儲和管理存儲模塊的資源。
前面詳細(xì)描述旨在被視為是例示性而非限制性的,并且應(yīng)理解所附權(quán)利要求書包括其等同形式旨在限定本發(fā)明的精神和范圍。
例如,在本申請中,諸如在本申請中描述的那些半導(dǎo)體存儲器裝置可以包括易失性存儲器裝置(諸如動態(tài)隨機(jī)訪問存儲器(dram)或靜態(tài)隨機(jī)訪問存儲器(sram)裝置)、非易失性存儲器裝置(諸如電阻式隨機(jī)訪問存儲器(reram)、電可擦寫可編程只讀存儲器(eeprom)、閃存(其也可被視為eeprom的子集)、鐵電式隨機(jī)訪問存儲器(fram)和磁阻式隨機(jī)訪問存儲器(mram)),以及能夠存儲信息的其他半導(dǎo)體元件。每種類型的存儲器裝置可以具有不同的配置。例如,閃存裝置可以配置成nand或nor配置。
存儲器裝置可以由無源元件和/或有源元件以任何組合形成。作為非限制示例,無源半導(dǎo)體存儲器元件包括reram裝置元件,其在一些實施例中包括電阻式開關(guān)存儲元件,諸如反熔絲、相變材料等,并且可選地包括諸如二極管等導(dǎo)向元件。進(jìn)一步作為非限制示例,有源半導(dǎo)體存儲器元件包括eeprom和閃存裝置元件,其在一些實施例中包括包含電荷存儲區(qū)的元件,諸如浮動?xùn)艠O、導(dǎo)電納米顆?;螂姾纱鎯﹄娊橘|(zhì)材料。
多個存儲器元件可被配置為使得它們串聯(lián)連接,或使得每個元件單獨(dú)可訪問。作為非限制示例,nand配置中的閃存裝置(nand存儲器)通常包含串聯(lián)連接的存儲器元件。nand存儲器陣列可被配置為使得陣列由多個存儲器串構(gòu)成,其中一個串由共享單個位線并且作為群體被訪問的多個存儲器元件構(gòu)成??商鎿Q地,存儲器元件可被配置為使得每個元件單獨(dú)可訪問,例如nor存儲器陣列。nand和nor存儲器配置是示例性的,并且存儲器元件可以以其他方式配置。
位于襯底內(nèi)和/或襯底上方的半導(dǎo)體存儲器元件可以布置成二維或三維,諸如二維存儲器結(jié)構(gòu)或三維存儲器結(jié)構(gòu)。
在二維存儲器結(jié)構(gòu)中,半導(dǎo)體存儲器元件布置在單個平面或單個存儲器裝置級中。通常,在二維存儲器結(jié)構(gòu)中,存儲器元件布置在一個平面中(例如,在x-z方向平面中),該平面基本平行于支撐存儲器元件的襯底的主表面延伸。襯底可以是在其上或在其中形成存儲器元件層的晶圓,或者其可以是在存儲器元件形成后附接到存儲器元件的載體襯底。作為非限制示例,襯底可以包括諸如硅的半導(dǎo)體。
存儲器元件可以布置在有序陣列中的單個存儲器裝置級中,諸如在多個行和/或列中。然而,存儲器元件可以布置在不規(guī)則或不正交的配置中。存儲器元件可各自具有兩個或更多個電極或接觸線,諸如位線和字線。
三維存儲器陣列被布置為使得存儲器元件占用多個平面或多個存儲器裝置級,由此在三維中(即,在x、y和z方向上,其中y方向基本垂直于襯底的主表面,并且x和z方向基本平行于襯底的主表面)形成結(jié)構(gòu)。
作為非限制示例,三維存儲器結(jié)構(gòu)可以豎直布置為多個二維存儲器裝置級的疊堆。作為另一非限制示例,三維存儲器陣列可被布置為多個豎直列(例如,基本上垂直于襯底的主表面(即在y方向上)延伸的列),其中每個列具有在每個列中的多個存儲器元件。這些列可以被布置在二維配置中(例如在x-z平面中),產(chǎn)生存儲器元件的三維布置,其具有在多個豎直堆疊的存儲器平面上的元件。三維的存儲器元件的其他配置也可以構(gòu)成三維存儲器陣列。
作為非限制示例,在三維nand存儲器陣列中,存儲器元件可耦合在一起以在單個水平(例如x-z)存儲器裝置級內(nèi)形成nand串。可替換地,存儲器元件可耦合在一起以形成橫跨多個水平存儲器裝置級的豎直nand串??稍O(shè)想其他三維配置,其中一些nand串包含在單個存儲器級中的存儲器元件,而其他串包含跨越多個存儲器級的存儲器元件。三維存儲器陣列還可以被設(shè)計在nor配置和reram配置中。
通常,在單體三維存儲器陣列中,一個或多個存儲器裝置級在單個襯底上面形成??蛇x地,單體三維存儲器陣列也可以具有至少部分地在單個襯底內(nèi)的一個或多個存儲器層。作為非限制示例,襯底可以包括半導(dǎo)體(諸如硅)。在單體三維存儲器陣列中,構(gòu)成陣列的每個存儲器裝置級的層通常形成在陣列的下襯磁存儲器裝置級的層上。然而,單體三維存儲器陣列的相鄰存儲器裝置級的層可以被共享或在存儲器裝置級之間具有中間層。
然后同樣地,二維陣列可以分離地形成,然后封裝在一起以形成具有多個存儲器層的非單體存儲器裝置。例如,可以通過在分離的襯底上形成存儲器級并且依次在頂部上堆疊存儲器級來構(gòu)造非單體堆疊存儲器。襯底可以在堆疊之前被減薄或從存儲器裝置級移除,但由于存儲器裝置級初始形成在分離的襯底上方時,所得的存儲器陣列不是單體三維存儲器陣列。進(jìn)一步地,多個二維存儲器陣列或三維存儲器陣列(單體或非單體的)可以形成在分離的芯片上,然后封裝在一起以形成堆疊芯片的存儲器裝置。
相關(guān)聯(lián)的電路系統(tǒng)通常是存儲器元件的操作和與存儲器元件的通信所需要的。作為非限制示例,存儲器裝置可以具有用于控制和驅(qū)動存儲器元件以實現(xiàn)諸如編程和讀取的功能的電路系統(tǒng)。該相關(guān)聯(lián)電路系統(tǒng)可以在與存儲器元件相同的襯底上和/或在分離的襯底上。例如,用于存儲器讀-寫操作的控制器可以位于獨(dú)立的控制器芯片上,和/或位于與存儲器元件相同的襯底上。
本領(lǐng)域技術(shù)人員將認(rèn)識到,如在本文中所描述和本領(lǐng)域技術(shù)人員所理解,本發(fā)明不限于所描述的二維和三維示例性結(jié)構(gòu),而是涵蓋在本發(fā)明的精神和范圍內(nèi)的所有相關(guān)存儲器結(jié)構(gòu)。