所公開的實(shí)施例總體上涉及存儲(chǔ)器系統(tǒng),并且具體地涉及管理和掛起閃存操作。
背景技術(shù):
半導(dǎo)體存儲(chǔ)器設(shè)備(包括閃存)通常利用存儲(chǔ)器單元來將數(shù)據(jù)存儲(chǔ)為電性值,如電荷或電壓。閃存單元例如包括具有用于存儲(chǔ)表示數(shù)據(jù)值的電荷的浮柵的單個(gè)晶體管。閃存是可以被電擦除和重新編程的非易失性數(shù)據(jù)存儲(chǔ)設(shè)備。更一般地,與需要電力來維持存儲(chǔ)信息的易失性存儲(chǔ)器相反,即使斷電時(shí),非易失性存儲(chǔ)器(例如,閃存以及使用各種技術(shù)中的任何技術(shù)實(shí)現(xiàn)的其他類型的非易失性存儲(chǔ)器)仍然保持所存儲(chǔ)的信息。已經(jīng)采用各種方式來促進(jìn)存儲(chǔ)密度的增加,包括:增加芯片上的通過制造發(fā)展而啟動(dòng)的存儲(chǔ)器單元的密度,以及從單級(jí)閃存單元到多級(jí)閃存單元的轉(zhuǎn)變,從而使得每個(gè)閃存單元可以存儲(chǔ)兩個(gè)或更多個(gè)比特。
由于閃存可能經(jīng)受對(duì)執(zhí)行存儲(chǔ)器操作的服務(wù)質(zhì)量約束(例如,可能需要設(shè)備在規(guī)定時(shí)限(如2ms)內(nèi)響應(yīng)讀操作的至少一個(gè)預(yù)定義百分比(如99%)),因此優(yōu)化存儲(chǔ)器管理進(jìn)程以便適應(yīng)這些約束是很重要的。
技術(shù)實(shí)現(xiàn)要素:
所附權(quán)利要求書的范圍內(nèi)的系統(tǒng)、方法和設(shè)備的各個(gè)實(shí)施方式各自具有若干方面,其中這些方面中沒有哪個(gè)單個(gè)方面單獨(dú)地負(fù)責(zé)在此所描述的屬性。不限制所附權(quán)利要求書的范圍,在考慮本公開之后,并且具體地在考慮標(biāo)題為“具體實(shí)施方式”的部分之后,將理解如何使用各個(gè)實(shí)施方式的各個(gè)方面來使能夠管理和掛起閃存操作。一方面,結(jié)合啟動(dòng)定時(shí)器而執(zhí)行來自第一隊(duì)列的第一存儲(chǔ)器操作,并且根據(jù)確定所述定時(shí)器已經(jīng)到期來執(zhí)行一個(gè)或多個(gè)操作,包括:判定第二隊(duì)列是否包含第二存儲(chǔ)器操作;以及如果包含,則掛起第一存儲(chǔ)器操作并且執(zhí)行第二存儲(chǔ)器操作。
附圖說明
為了可以更詳細(xì)地理解本公開,可參考各個(gè)實(shí)施方式的特征以產(chǎn)生更具體的說明,所述實(shí)施方式中的一些被展示在附圖中。然而,附圖僅展示了本公開的更相關(guān)特征,并且因此不應(yīng)被認(rèn)為是限制性的,因?yàn)檎f明書可以允許其他有效的特征。
圖1是框圖,展示了根據(jù)一些實(shí)施例的非易失性存儲(chǔ)器系統(tǒng)。
圖2A是框圖,展示了根據(jù)一些實(shí)施例的包括在圖1中的非易失性存儲(chǔ)器控制器。
圖2B是框圖,展示了根據(jù)一些其他實(shí)施例的包括在圖1中的非易失性存儲(chǔ)器控制器。
圖3是流程圖表示,展示了根據(jù)一些實(shí)施例的邏輯模塊的操作。
圖4A至圖4G展示了根據(jù)一些實(shí)施例的管理和掛起方法的流程圖表示。
根據(jù)慣例,附圖中展示的各種特征不必按比例繪制。因此,為了清晰起見,不同特征的尺寸可以被任意放大或減小。此外,一些附圖可能沒有描繪給定系統(tǒng)、方法或設(shè)備的所有部件。最后,貫穿說明書和附圖,相同的參考數(shù)字可以用來表示相似的特征。
具體實(shí)施方式
在此所描述的各個(gè)實(shí)施方式包括用于使能夠管理和掛起閃存操作的系統(tǒng)、方法和/或設(shè)備。一些實(shí)施方式包括系統(tǒng)、方法和/或設(shè)備,所述系統(tǒng)、方法和/或設(shè)備用于結(jié)合啟動(dòng)定時(shí)器(例如,同時(shí)啟動(dòng)定時(shí)器)而執(zhí)行來自第一隊(duì)列的第一存儲(chǔ)器操作,并且根據(jù)確定所述定時(shí)器已經(jīng)到期來執(zhí)行一個(gè)或多個(gè)操作,包括:判定第二隊(duì)列是否包含第二存儲(chǔ)器操作;以及如果包含,則掛起第一存儲(chǔ)器操作并且執(zhí)行第二存儲(chǔ)器操作。
更具體地,一些實(shí)施例包括一種在非易失性存儲(chǔ)器系統(tǒng)中操作的方法。在一些實(shí)施例中,所述方法包括:(1)在所述非易失性存儲(chǔ)器系統(tǒng)中開始執(zhí)行來自第一隊(duì)列的第一存儲(chǔ)器操作,(2)結(jié)合開始執(zhí)行所述第一存儲(chǔ)器操作,在所述非易失性存儲(chǔ)器系統(tǒng)中啟動(dòng)第一定時(shí)器,其中,所述第一定時(shí)器被設(shè)置為在第一預(yù)定時(shí)間間隔之后到期;以及(3)在啟動(dòng)所述第一定時(shí)器之后,根據(jù)確定所述第一定時(shí)器已經(jīng)到期,在所述非易失性存儲(chǔ)器系統(tǒng)中執(zhí)行一個(gè)或多個(gè)操作,包括:判定第二隊(duì)列是否包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作。在這些實(shí)施例中,所述方法進(jìn)一步包括:根據(jù)確定所述第二隊(duì)列包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作,執(zhí)行一個(gè)或多個(gè)操作,包括:(i)掛起來自所述第一隊(duì)列的所述第一存儲(chǔ)器操作,(ii)執(zhí)行來自所述第二隊(duì)列的第二存儲(chǔ)器操作;以及(iii)在完成執(zhí)行來自所述第二隊(duì)列的所述第二存儲(chǔ)器操作之后,執(zhí)行一個(gè)或多個(gè)后續(xù)操作。此外,在這些實(shí)施例中,所述方法進(jìn)一步包括:根據(jù)確定所述第二隊(duì)列不包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作,執(zhí)行一個(gè)或多個(gè)操作,包括:(i)重新啟動(dòng)所述第一定時(shí)器;以及(ii)繼續(xù)執(zhí)行來自所述第一隊(duì)列的所述第一存儲(chǔ)器操作。
在一些實(shí)施例中,所述第一隊(duì)列是用于存儲(chǔ)等待執(zhí)行的普通優(yōu)先級(jí)存儲(chǔ)器操作的普通作業(yè)隊(duì)列,并且所述第二隊(duì)列是用于存儲(chǔ)等待執(zhí)行的高優(yōu)先級(jí)存儲(chǔ)器操作的高優(yōu)先級(jí)作業(yè)隊(duì)列。
在一些實(shí)施例中,所述方法包括從多個(gè)定時(shí)器中為所述第一存儲(chǔ)器操作分配所述第一定時(shí)器。
在一些實(shí)施例中,所述一個(gè)或多個(gè)后續(xù)操作包括:(1)重新啟動(dòng)所述第一定時(shí)器,以及(2)恢復(fù)執(zhí)行來自所述第一隊(duì)列的所述第一存儲(chǔ)器操作。
在一些實(shí)施例中,來自主機(jī)系統(tǒng)的讀操作被置于所述第二隊(duì)列中。
在一些實(shí)施例中,所述第一隊(duì)列和所述第二隊(duì)列是邏輯隊(duì)列,并且所述第一隊(duì)列和所述第二隊(duì)列兩者均是單個(gè)物理隊(duì)列的一部分。
在一些實(shí)施例中,所述第一隊(duì)列和所述第二隊(duì)列是不同物理隊(duì)列。
在一些實(shí)施例中,所述非易失性存儲(chǔ)器系統(tǒng)包括全局指示符,所述全局指示符當(dāng)被置位時(shí)指示不能掛起所述第一隊(duì)列中的存儲(chǔ)器操作,并且所述方法進(jìn)一步包括:(1)根據(jù)預(yù)定義條件或命令置位所述全局指示符,以及(2)根據(jù)確定所述全局指示符被置位,防止掛起所述第一隊(duì)列中的存儲(chǔ)器操作。
在一些實(shí)施例中,所述方法進(jìn)一步包括:根據(jù)關(guān)于所述第一定時(shí)器已經(jīng)到期的一個(gè)或多個(gè)后續(xù)判定中的每個(gè)后續(xù)判定,執(zhí)行一個(gè)或多個(gè)操作,包括:(1)判定所述第二隊(duì)列是否包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作;(2)根據(jù)確定所述第二隊(duì)列包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作,執(zhí)行一個(gè)或多個(gè)操作,包括:(a)掛起來自所述第一隊(duì)列的所述第一存儲(chǔ)器操作,(b)執(zhí)行來自所述第二隊(duì)列的存儲(chǔ)器操作(有時(shí)被稱為對(duì)應(yīng)存儲(chǔ)器操作),以及(c)在完成執(zhí)行來自所述第二隊(duì)列的所述存儲(chǔ)器操作之后,執(zhí)行一個(gè)或多個(gè)后續(xù)操作,包括:(i)重新啟動(dòng)所述第一定時(shí)器、以及(ii)恢復(fù)執(zhí)行來自所述第一隊(duì)列的所述第一存儲(chǔ)器操作;以及(3)根據(jù)確定所述第二隊(duì)列不包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作,執(zhí)行一個(gè)或多個(gè)操作,包括:(a)重新啟動(dòng)所述第一定時(shí)器,以及(b)繼續(xù)執(zhí)行來自所述第一隊(duì)列的所述第一存儲(chǔ)器操作。
在一些實(shí)施例中,所述方法進(jìn)一步包括:(1)在所述非易失性存儲(chǔ)器系統(tǒng)中開始執(zhí)行來自所述第一隊(duì)列的第三存儲(chǔ)器操作,(2)結(jié)合開始執(zhí)行所述第三存儲(chǔ)器操作,在所述非易失性存儲(chǔ)器系統(tǒng)中啟動(dòng)第二定時(shí)器,其中,所述第二定時(shí)器被設(shè)置為在第二預(yù)定時(shí)間間隔之后到期;以及(3)在啟動(dòng)所述第二定時(shí)器之后,根據(jù)確定所述第二定時(shí)器已經(jīng)到期,在所述非易失性存儲(chǔ)器系統(tǒng)中執(zhí)行一個(gè)或多個(gè)操作,包括:判定所述第二隊(duì)列是否包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作。在這些實(shí)施例中,所述方法進(jìn)一步包括:根據(jù)確定所述第二隊(duì)列包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作,執(zhí)行一個(gè)或多個(gè)操作,包括:(i)掛起來自所述第一隊(duì)列的所述第三存儲(chǔ)器操作;(ii)執(zhí)行來自所述第二隊(duì)列的第四存儲(chǔ)器操作;以及(iii)在完成執(zhí)行來自所述第二隊(duì)列的所述第四存儲(chǔ)器操作之后,執(zhí)行一個(gè)或多個(gè)后續(xù)操作,包括:(aa)重新啟動(dòng)所述第二定時(shí)器,以及(bb)恢復(fù)執(zhí)行來自所述第一隊(duì)列的所述第三存儲(chǔ)器操作。此外,在這些實(shí)施例中,所述方法進(jìn)一步包括:根據(jù)確定所述第二隊(duì)列不包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作,執(zhí)行一個(gè)或多個(gè)操作,包括:(i)重新啟動(dòng)所述第二定時(shí)器;以及(ii)繼續(xù)執(zhí)行來自所述第一隊(duì)列的所述第三存儲(chǔ)器操作。
在一些實(shí)施例中,所述第二預(yù)定時(shí)間間隔與所述第一預(yù)定時(shí)間間隔不同。
在一些實(shí)施例中,所述方法進(jìn)一步包括:判定所述第一隊(duì)列中在所述第一存儲(chǔ)器操作之后的存儲(chǔ)器操作是否包括對(duì)應(yīng)指示符;以及根據(jù)確定所述后續(xù)存儲(chǔ)器操作的所述對(duì)應(yīng)指示符被置位,防止掛起所述后續(xù)存儲(chǔ)器操作。
在一些實(shí)施例中,所述方法進(jìn)一步包括:根據(jù)確定所述后續(xù)存儲(chǔ)器操作的指示符被置位,防止掛起所述后續(xù)存儲(chǔ)器操作。
在一些實(shí)施例中,所述非易失性存儲(chǔ)器系統(tǒng)包括多個(gè)部分,每個(gè)部分具有一個(gè)或多個(gè)非易失性存儲(chǔ)器設(shè)備、(對(duì)應(yīng)的)第一隊(duì)列、(對(duì)應(yīng)的)第二隊(duì)列、以及當(dāng)被置位時(shí)指示不能掛起所述第一隊(duì)列中的存儲(chǔ)器操作的專用于部分的指示符,并且所述方法進(jìn)一步包括:根據(jù)確定所述非易失性存儲(chǔ)器系統(tǒng)的第一部分(有時(shí)被稱為對(duì)應(yīng)部分)的所述專用于部分的指示符被置位,防止掛起所述非易失性存儲(chǔ)器系統(tǒng)的所述第一部分的所述第一隊(duì)列中的存儲(chǔ)器操作。
在一些實(shí)施例中,所述非易失性存儲(chǔ)器系統(tǒng)包括全局指示符,所述全局指示符當(dāng)被置位時(shí)指示不能掛起所述非易失性存儲(chǔ)器系統(tǒng)的所述多個(gè)部分的所述對(duì)應(yīng)第一隊(duì)列中的存儲(chǔ)器操作,并且所述方法進(jìn)一步包括:(1)根據(jù)預(yù)定義條件或命令置位所述全局指示符;以及(2)根據(jù)確定所述全局指示符被置位,防止掛起所述非易失性存儲(chǔ)器系統(tǒng)的所述多個(gè)部分的所述對(duì)應(yīng)第一隊(duì)列中的存儲(chǔ)器操作。
在一些實(shí)施例中,所述非易失性存儲(chǔ)器系統(tǒng)包括一個(gè)或多個(gè)閃存設(shè)備。
在一些實(shí)施例中,所述非易失性存儲(chǔ)器系統(tǒng)包括一個(gè)或多個(gè)三維(3D)存儲(chǔ)器設(shè)備以及與所述一個(gè)或多個(gè)3D存儲(chǔ)器設(shè)備中的存儲(chǔ)器元件的操作相關(guān)聯(lián)的電路。
在一些實(shí)施例中,所述一個(gè)或多個(gè)3D存儲(chǔ)器設(shè)備中的對(duì)應(yīng)3D存儲(chǔ)器設(shè)備中的電路和一個(gè)或多個(gè)存儲(chǔ)器元件在相同的基板上。
另一方面,以上所描述的方法中的任何方法由非易失性存儲(chǔ)器系統(tǒng)執(zhí)行,所述非易失性存儲(chǔ)器系統(tǒng)包括:(1)一個(gè)或多個(gè)處理器,以及(2)存儲(chǔ)一個(gè)或多個(gè)程序的存儲(chǔ)器,所述程序當(dāng)由所述一個(gè)或多個(gè)處理器執(zhí)行時(shí)使所述非易失性存儲(chǔ)器系統(tǒng)執(zhí)行在此所描述的方法中的任何方法或控制其性能。
在又另一方面,以上所描述的方法中的任何方法由非易失性存儲(chǔ)器系統(tǒng)執(zhí)行,所述非易失性存儲(chǔ)器系統(tǒng)包括多個(gè)部分,每個(gè)部分具有一個(gè)或多個(gè)非易失性存儲(chǔ)器設(shè)備,其中,針對(duì)每個(gè)部分,所述非易失性存儲(chǔ)器系統(tǒng)包括:(1)一個(gè)或多個(gè)定時(shí)器;(2)第一隊(duì)列和第二隊(duì)列;以及(3)邏輯模塊,其中,所述邏輯模塊被配置成用于執(zhí)行在此所描述的方法中的任何方法或控制其性能。
在又另一方面,以上所描述的方法中的任何方法由非易失性存儲(chǔ)器系統(tǒng)執(zhí)行,所述非易失性存儲(chǔ)器系統(tǒng)包括用于執(zhí)行在此所描述的方法中的任何方法的裝置。
在又另一方面,一些實(shí)施例包括一種非瞬態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述非瞬態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有被配置成由非易失性存儲(chǔ)器系統(tǒng)的一個(gè)或多個(gè)處理器執(zhí)行的一個(gè)或多個(gè)程序,所述一個(gè)或多個(gè)程序包括用于執(zhí)行在此所描述的方法中的任何方法的指令。
為了提供對(duì)附圖中展示的示例實(shí)施方式的透徹理解,在此描述了大量細(xì)節(jié)。然而,可以在沒有許多特定細(xì)節(jié)的情況下實(shí)踐一些實(shí)施例,并且權(quán)利要求書的范圍僅由在權(quán)利要求中具體記載的那些特征和方面限制。此外,并未對(duì)已知的方法、部件和電路進(jìn)行詳細(xì)描述,以免不必要模糊在此所描述的實(shí)施方式的更多相關(guān)方面。
圖1是框圖,展示了根據(jù)一些實(shí)施例的非易失性存儲(chǔ)器系統(tǒng)100的實(shí)施方式。盡管展示了一些示例特征,但是,為簡潔起見并且以免不必要模糊在此所公開的示例實(shí)施方式的更多相關(guān)方面,沒有展示各種其他特征。為此,作為非限制性示例,非易失性存儲(chǔ)器系統(tǒng)100包括存儲(chǔ)設(shè)備120,所述存儲(chǔ)設(shè)備包括主機(jī)接口129、存儲(chǔ)控制器124、非易失性存儲(chǔ)器(NVM)控制器130(例如,NVM控制器130-1至NVM控制器130-p)、以及非易失性存儲(chǔ)器(NVM)(例如,一個(gè)或多個(gè)NVM設(shè)備140,如一個(gè)或多個(gè)閃存設(shè)備),并且所述存儲(chǔ)設(shè)備結(jié)合計(jì)算機(jī)系統(tǒng)110一起使用。
計(jì)算機(jī)系統(tǒng)110通過數(shù)據(jù)連接101耦合至存儲(chǔ)設(shè)備120。然而,在一些實(shí)施例中,計(jì)算機(jī)系統(tǒng)110包括作為部件和/或子系統(tǒng)的存儲(chǔ)控制器124。計(jì)算機(jī)系統(tǒng)110可以是任何合適的計(jì)算機(jī)設(shè)備,如計(jì)算機(jī)、膝上型計(jì)算機(jī)、平板計(jì)算機(jī)、上網(wǎng)本、因特網(wǎng)信息站、個(gè)人數(shù)字助理、移動(dòng)電話、智能電話、游戲設(shè)備、計(jì)算機(jī)服務(wù)器、或任何其他計(jì)算設(shè)備。計(jì)算機(jī)系統(tǒng)110有時(shí)被稱為主機(jī)或主機(jī)系統(tǒng)。在一些實(shí)施例中,計(jì)算機(jī)系統(tǒng)110包括一個(gè)或多個(gè)處理器、一種或多種類型的存儲(chǔ)器、顯示器和/或其他用戶接口部件,如鍵盤、觸屏顯示器、鼠標(biāo)、軌跡板、數(shù)字相機(jī)和/或用于增加功能的任何數(shù)量的補(bǔ)充設(shè)備。此外,在一些實(shí)施例中,計(jì)算機(jī)系統(tǒng)110向存儲(chǔ)設(shè)備120發(fā)送控制線111上的一個(gè)或多個(gè)主機(jī)命令(例如,讀命令和/或?qū)懨?。在一些實(shí)施例中,計(jì)算機(jī)系統(tǒng)110是服務(wù)器系統(tǒng)(如數(shù)據(jù)中心中的服務(wù)器系統(tǒng))并且不具有顯示器和其他用戶接口部件。
在一些實(shí)施例中,存儲(chǔ)設(shè)備120包括主機(jī)接口129、存儲(chǔ)控制器124、NVM控制器130(例如,NVM控制器130-1至NVM控制器130-p)以及NVM設(shè)備140(例如,NVM設(shè)備140-i至140-j以及NVM設(shè)備140-m至140-n)。存儲(chǔ)設(shè)備120可以包括各種附加特征,為簡潔起見并且以免模糊在此公開的示例實(shí)施方式的更多相關(guān)特征,沒有展示所述附加特征,并且所述特征的不同安排是可能的。主機(jī)接口129通過數(shù)據(jù)連接101向計(jì)算機(jī)系統(tǒng)110提供接口。
在一些實(shí)施例中,每個(gè)NVM控制器130包括被配置成用于執(zhí)行一個(gè)或多個(gè)程序中的指令(例如,在NVM控制器130中)的一個(gè)或多個(gè)處理單元(有時(shí)被稱為CPU或處理器或微處理器或微控制器)。NVM設(shè)備140通過連接與NVM控制器130耦合,所述連接傳達(dá)除數(shù)據(jù)外的命令,并且可選地傳達(dá)元數(shù)據(jù)、糾錯(cuò)信息和/或除了將要存儲(chǔ)在NVM設(shè)備140中的數(shù)據(jù)值以及從NVM設(shè)備140中讀出的數(shù)據(jù)值之外的其他信息。在一些實(shí)施方式中,存儲(chǔ)設(shè)備120被配置成用于適合于如云計(jì)算等應(yīng)用的企業(yè)存儲(chǔ)設(shè)備,或者被配置成用于緩存在輔助存儲(chǔ)設(shè)備(如硬盤驅(qū)動(dòng)器)中所存儲(chǔ)(或?qū)⒁鎯?chǔ))的數(shù)據(jù)??商娲?,存儲(chǔ)設(shè)備120被配置成用于個(gè)人、膝上型和平板計(jì)算機(jī)的相對(duì)更小型應(yīng)用,如個(gè)人閃存驅(qū)動(dòng)器或硬盤替代。盡管閃存設(shè)備和閃存控制器在此被用作示例,但是,在一些實(shí)施例中,存儲(chǔ)設(shè)備120包括其他(多個(gè))非易失性存儲(chǔ)器設(shè)備和相應(yīng)的(多個(gè))非易失性存儲(chǔ)器控制器。在一些實(shí)施例中,如在此進(jìn)一步定義的,存儲(chǔ)設(shè)備120包括一個(gè)或多個(gè)三維(3D)存儲(chǔ)器設(shè)備。
一個(gè)或多個(gè)NVM設(shè)備140(例如,NVM設(shè)備140-i至140-j或NVM設(shè)備140-m至140-n)和相應(yīng)的NVM控制器130(例如,對(duì)應(yīng)的NVM控制器130-1或NVM控制器130-p)的組合有時(shí)指部分或非易失性存儲(chǔ)器部分(在此有時(shí)被稱為存儲(chǔ)器通道)。非易失性存儲(chǔ)器系統(tǒng)100可以包括許多部分,因?yàn)榇嬖诓煌MNVM設(shè)備,可以由一組NVM控制器并行的將命令發(fā)送至不同組NVM設(shè)備。
在一些實(shí)施例中,存儲(chǔ)設(shè)備120包括單個(gè)NVM設(shè)備(例如,單個(gè)閃存設(shè)備),而在其他實(shí)施例中,存儲(chǔ)設(shè)備120包括多個(gè)NVM設(shè)備(例如,多個(gè)閃存設(shè)備)。在一些實(shí)施例中,NVM設(shè)備140包括NAND類型閃存或NOR類型閃存。此外,在一些實(shí)施例中,NVM控制器130是固態(tài)驅(qū)動(dòng)器(SSD)控制器。然而,根據(jù)各種各樣的實(shí)施方式的各個(gè)方面,可以包括一種或多種其他類型的存儲(chǔ)介質(zhì)。在一些實(shí)施例中,存儲(chǔ)設(shè)備120是或者包括雙列直插式存儲(chǔ)器模塊(DIMM)設(shè)備。在一些實(shí)施例中,存儲(chǔ)設(shè)備120與DIMM存儲(chǔ)器槽兼容。在一些實(shí)施例中,存儲(chǔ)器控制器120和主機(jī)接口使用定義的通信接口標(biāo)準(zhǔn),如雙倍數(shù)據(jù)速率類型三(DDR3)同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器。在一些實(shí)施例中,由存儲(chǔ)器控制器120和主機(jī)接口使用的定義的通信接口標(biāo)準(zhǔn)是串行高級(jí)技術(shù)附件(SATA)。在一些其他實(shí)施方式中,由存儲(chǔ)器控制器120和主機(jī)接口使用的定義的通信接口標(biāo)準(zhǔn)是SAS(串行附接SCSI)、或任何其他合適的存儲(chǔ)接口標(biāo)準(zhǔn)。
在一些實(shí)施例中,存儲(chǔ)控制器124包括管理模塊121。存儲(chǔ)控制器124通常與主機(jī)接口129和NVM控制器130耦合,以便協(xié)調(diào)這些部件的操作。存儲(chǔ)控制器124可以包括各種附加特征,為簡潔起見并且以免模糊在此公開的示例實(shí)施方式的更多相關(guān)特征,沒有展示所述附加特征,并且所述特征的不同安排是可能的。
在一些實(shí)施例中,管理模塊121包括被配置成用于執(zhí)行一個(gè)或多個(gè)程序中的指令(例如,在管理模塊121中)的一個(gè)或多個(gè)處理單元(CPU、有時(shí)還被稱為處理器)122。在一些實(shí)施例中,一個(gè)或多個(gè)CPU 122由在存儲(chǔ)控制器124的功能之內(nèi)(以及某些情況下之外)的一個(gè)或多個(gè)部件共享。
然而,在一些實(shí)施方式中,存儲(chǔ)控制器124、NVM控制器130和NVM設(shè)備140包括在如其部件等相同設(shè)備中。此外,在一些實(shí)施方式中,存儲(chǔ)控制器124、NVM控制器130和NVM設(shè)備140嵌入在主機(jī)設(shè)備(如服務(wù)器系統(tǒng)、移動(dòng)設(shè)備、平板、其他計(jì)算機(jī)或計(jì)算機(jī)控制設(shè)備)中,并且在此所描述的方法由嵌入的存儲(chǔ)器控制器執(zhí)行。
圖2A是框圖,展示了根據(jù)一些實(shí)施方式的包括在圖1中的NVM控制器130的實(shí)施方式。盡管展示了一些示例特征,但是,為簡潔起見并且以免不必要模糊在此所公開的示例實(shí)施方式的更多相關(guān)方面,沒有展示各種其他特征。為此,作為非限制性示例,NVM控制器130包括邏輯模塊201、操作隊(duì)列202(有時(shí)指作業(yè)隊(duì)列)以及定時(shí)器204。
在一些實(shí)施例中,對(duì)應(yīng)的NVM控制器130中的操作隊(duì)列202用于保持存儲(chǔ)器操作由耦合至對(duì)應(yīng)NVM控制器130的一個(gè)或多個(gè)NVM設(shè)備140執(zhí)行。對(duì)應(yīng)操作隊(duì)列202當(dāng)不為空時(shí)包含與讀、寫和/或擦除操作相對(duì)應(yīng)的一個(gè)或多個(gè)存儲(chǔ)器操作(或那些存儲(chǔ)器操作的表示),以便從相應(yīng)組NVM設(shè)備(例如,NVM設(shè)備140)中讀取數(shù)據(jù)、將數(shù)據(jù)寫入其中或從其中擦除數(shù)據(jù)。在一些實(shí)施例中,操作隊(duì)列202中的存儲(chǔ)器操作包括從主機(jī)系統(tǒng)(例如,計(jì)算機(jī)系統(tǒng)110)中接收的存儲(chǔ)器操作。例如,在一些實(shí)施例中,操作隊(duì)列202-1是包含一個(gè)或多個(gè)讀、寫和/或擦除操作的普通優(yōu)先級(jí)作業(yè)隊(duì)列,并且操作隊(duì)列202-2是包含來自主機(jī)系統(tǒng)的一個(gè)或多個(gè)讀操作的高優(yōu)先級(jí)作業(yè)隊(duì)列。在一些實(shí)施例中,普通優(yōu)先級(jí)作業(yè)隊(duì)列當(dāng)?shù)却龍?zhí)行時(shí)存儲(chǔ)除了從主機(jī)系統(tǒng)接收的讀操作外的所有存儲(chǔ)器操作。此外,在一些實(shí)施例中,普通優(yōu)先級(jí)隊(duì)列包含內(nèi)部生成的存儲(chǔ)器操作,如由垃圾收集進(jìn)程下發(fā)的存儲(chǔ)器操作。
在一些實(shí)施例中,對(duì)應(yīng)NVM控制器130中的定時(shí)器204用于在執(zhí)行一個(gè)或多個(gè)存儲(chǔ)器操作期間對(duì)時(shí)間流逝進(jìn)行計(jì)時(shí)或跟蹤。在一些實(shí)施例中,從多個(gè)定時(shí)器中為來自操作隊(duì)列202的對(duì)應(yīng)存儲(chǔ)器操作分配對(duì)應(yīng)定時(shí)器(例如,定時(shí)器204-1至204-k之一)。在一些實(shí)施例中,為來自操作隊(duì)列202的對(duì)應(yīng)存儲(chǔ)器操作分配對(duì)應(yīng)定時(shí)器(例如,定時(shí)器204-1至204-k之一)結(jié)合(例如,同時(shí)地)開始執(zhí)行對(duì)應(yīng)存儲(chǔ)器操作一起發(fā)生。在一些實(shí)施例中,為來自操作隊(duì)列202的對(duì)應(yīng)存儲(chǔ)器操作分配對(duì)應(yīng)定時(shí)器(例如,定時(shí)器204-1至204-k之一)先于開始執(zhí)行對(duì)應(yīng)的存儲(chǔ)器操作而發(fā)生。在一些實(shí)施例中,根據(jù)對(duì)應(yīng)存儲(chǔ)器操作的操作類型來為來自操作隊(duì)列202的對(duì)應(yīng)存儲(chǔ)器操作分配對(duì)應(yīng)定時(shí)器(例如,定時(shí)器204-1至204-k之一)。例如,在一些實(shí)施例中,當(dāng)?shù)谝淮鎯?chǔ)器操作的操作類型是寫操作時(shí),為所述第一存儲(chǔ)器操作分配第一定時(shí)器。在一些實(shí)施例中,當(dāng)?shù)诙鎯?chǔ)器操作的操作類型是擦除操作時(shí),為所述第二存儲(chǔ)器操作分配第二定時(shí)器。在一些實(shí)施例中,第一定時(shí)器被設(shè)置為在第一預(yù)定時(shí)間間隔之后到期,并且第二定時(shí)器被設(shè)置為在第二預(yù)定時(shí)間間隔之后到期。在一些實(shí)施例中,第一預(yù)定時(shí)間間隔與第二預(yù)定時(shí)間間隔相同,而在一些其他實(shí)施例中,第一預(yù)定時(shí)間間隔與第二預(yù)定時(shí)間間隔不同。
在一些實(shí)施例中,當(dāng)對(duì)應(yīng)存儲(chǔ)器操作的操作類型是寫操作時(shí),為對(duì)應(yīng)存儲(chǔ)器操作分配來自定時(shí)器的第一子集的第一定時(shí)器,并且當(dāng)對(duì)應(yīng)存儲(chǔ)器操作的操作類型是擦除操作時(shí),為對(duì)應(yīng)存儲(chǔ)器操作分配來自定時(shí)器的第二子集的第二定時(shí)器。在一些實(shí)施例中,當(dāng)來自第一子集的定時(shí)器被分配時(shí),將其設(shè)置為在第一預(yù)定時(shí)間間隔之后到期,并且當(dāng)來自第二子集的定時(shí)器被分配時(shí),將其設(shè)置為在第二預(yù)定時(shí)間間隔之后到期。在一些實(shí)施例中,第一預(yù)定時(shí)間間隔與第二預(yù)定時(shí)間間隔相同。在一些實(shí)施例中,第一預(yù)定時(shí)間間隔與第二預(yù)定時(shí)間間隔不同。
在一些實(shí)施例中,操作隊(duì)列202中的對(duì)應(yīng)操作包括與定時(shí)器204的特殊定時(shí)器相關(guān)聯(lián)的標(biāo)識(shí)符。在一些實(shí)施例中,根據(jù)標(biāo)識(shí)符為對(duì)應(yīng)操作分配定時(shí)器204的特殊定時(shí)器。
邏輯模塊201耦合至操作隊(duì)列202,并且包括用于管理執(zhí)行操作隊(duì)列202中的存儲(chǔ)器操作的邏輯。例如,在一些實(shí)施例中,邏輯模塊201被配置成用于判定操作隊(duì)列202是否包含一個(gè)或多個(gè)要執(zhí)行的存儲(chǔ)器操作、管理執(zhí)行來自操作隊(duì)列202的存儲(chǔ)器操作、管理定時(shí)器204以及判定定時(shí)器204是否已經(jīng)到期。在一些實(shí)施例中,邏輯模塊201被配置成用于實(shí)施以下參照?qǐng)D3和圖4A至圖4G描述的方法中的任何方法。
盡管圖2A示出了兩個(gè)操作隊(duì)列(例如,操作隊(duì)列202-1和操作隊(duì)列202-2),但是在其他實(shí)施例中,NVM控制器130包括一個(gè)或多個(gè)操作隊(duì)列。在一些實(shí)施例中,NVM控制器130包括兩個(gè)邏輯操作隊(duì)列,這兩個(gè)邏輯操作隊(duì)列是單個(gè)物理操作隊(duì)列的一部分。此外,在一些實(shí)施例中,NVM控制器130包括每個(gè)NVM設(shè)備(例如,NVM設(shè)備140-i至140-j以及NVM設(shè)備140-m至140-n中的每個(gè)NVM設(shè)備)一個(gè)定時(shí)器。
圖2B是框圖,展示了根據(jù)一些實(shí)施方式的包括在圖1中的NVM控制器130的另一個(gè)實(shí)施方式。NVM控制器130包括一個(gè)或多個(gè)處理單元(CPU)240、存儲(chǔ)器206、以及用于使這些部件互連的一個(gè)或多個(gè)通信總線208,所述一個(gè)或多個(gè)處理單元用于執(zhí)行存儲(chǔ)在存儲(chǔ)器206中的模塊、程序和/或指令并且由此執(zhí)行處理操作。通信總線208可選地包括使系統(tǒng)部件互連并且控制系統(tǒng)部件之間的通信的電路(有時(shí)被稱為芯片組)。NVM控制器130通過通信總線208耦合至存儲(chǔ)控制器124和NVM設(shè)備140(例如,NVM設(shè)備140-i至140-j)。存儲(chǔ)器206包括高速隨機(jī)存取存儲(chǔ)器,如DRAM、SRAM、DDR RAM或者其他隨機(jī)存取固態(tài)存儲(chǔ)設(shè)備;并且可包括非易失性存儲(chǔ)器,如一個(gè)或多個(gè)磁盤存儲(chǔ)設(shè)備、光盤存儲(chǔ)設(shè)備、閃存設(shè)備、或者其他非易失性固態(tài)存儲(chǔ)設(shè)備。存儲(chǔ)器206可選地包括與(多個(gè))CPU 240遠(yuǎn)離地定位的一個(gè)或者多個(gè)存儲(chǔ)設(shè)備。存儲(chǔ)器206或者可替換地在存儲(chǔ)器206內(nèi)的(多個(gè))非易失性存儲(chǔ)器設(shè)備包括非瞬態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。在一些實(shí)施例中,存儲(chǔ)器206或存儲(chǔ)器206的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)下述程序、模塊和數(shù)據(jù)結(jié)構(gòu)或其子集:
·用于從一個(gè)或多個(gè)NVM設(shè)備中讀取數(shù)據(jù)的數(shù)據(jù)讀模塊210;
·用于向一個(gè)或多個(gè)NVM設(shè)備寫入數(shù)據(jù)的數(shù)據(jù)寫模塊212;
·用于從一個(gè)或多個(gè)NVM設(shè)備中擦除數(shù)據(jù)的數(shù)據(jù)擦除模塊214;
·用于管理和掛起執(zhí)行存儲(chǔ)器操作的邏輯模塊220,可選地包括:
o用于掛起一個(gè)或多個(gè)存儲(chǔ)器操作的掛起模塊222;
o用于恢復(fù)一個(gè)或多個(gè)存儲(chǔ)器操作的恢復(fù)模塊224;
o用于執(zhí)行一個(gè)或多個(gè)存儲(chǔ)器操作的執(zhí)行模塊226;
o用于防止掛起一個(gè)或多個(gè)存儲(chǔ)器操作的覆蓋模塊228;
o定時(shí)器模塊230,所述定時(shí)器模塊用于管理定時(shí)器234(包括啟動(dòng)、停止和重設(shè)定時(shí)器234),并且判定定時(shí)器234是否已經(jīng)到期;
o用于判定操作隊(duì)列236是否包含一個(gè)或多個(gè)要執(zhí)行的存儲(chǔ)器操作的隊(duì)列接口模塊232;
·用于在執(zhí)行一個(gè)或多個(gè)存儲(chǔ)器操作期間對(duì)所經(jīng)過的時(shí)間進(jìn)行計(jì)時(shí)或跟蹤的定時(shí)器234;以及
·用于保持要執(zhí)行的存儲(chǔ)器操作的操作隊(duì)列236。
上述要素中的每一個(gè)都可以被存儲(chǔ)在前面所提到的存儲(chǔ)器設(shè)備中的一個(gè)或多個(gè)中,并且與用于執(zhí)行上述功能的指令集相對(duì)應(yīng)。上述模塊或程序(即,指令集)不需要被實(shí)現(xiàn)為獨(dú)立的軟件程序、過程或模塊,從而在各個(gè)實(shí)施例中,可以組合或者以其他方式重新排列這些模塊的各個(gè)子集。在一些實(shí)施例中,存儲(chǔ)器206可保存上述模塊和數(shù)據(jù)結(jié)構(gòu)的子集。此外,存儲(chǔ)器206可存儲(chǔ)上面沒有說明的另外的模塊和數(shù)據(jù)結(jié)構(gòu)。在一些實(shí)施例中,存儲(chǔ)在存儲(chǔ)器206中的程序、模塊和數(shù)據(jù)結(jié)構(gòu)或者存儲(chǔ)器206的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)提供用于實(shí)施以下參照?qǐng)D3和圖4A至圖4G描述的方法中的任何方法的指令。
盡管圖2B示出了根據(jù)一些實(shí)施例的NVM控制器130,但是圖2B與其意在作為在此所描述的實(shí)施例的結(jié)構(gòu)示意相比,更意在作為可以在NVM控制器130中存在的各種特征的功能描述。實(shí)踐中,以及本領(lǐng)域技術(shù)人員知道的,分開示出的各項(xiàng)可以組合,并且一些項(xiàng)可以被分開。
圖3是流程圖表示,展示了根據(jù)一些實(shí)施例的邏輯模塊的操作。在一些實(shí)施例中,圖3的操作由圖2A中的邏輯模塊201執(zhí)行。在一些實(shí)施例中,圖3的操作由圖2B中的邏輯模塊220執(zhí)行。為便于解釋,以下描述了由圖2A中的邏輯模塊201執(zhí)行的圖3。
在一些實(shí)施例中,邏輯模塊201開始(300)執(zhí)行第一存儲(chǔ)器操作(例如,來自普通優(yōu)先級(jí)操作隊(duì)列(如圖2A中的隊(duì)列202-1)的存儲(chǔ)器操作)并且啟動(dòng)第一定時(shí)器(例如,圖2A中的定時(shí)器204-1)。然后,邏輯模塊201判定(302)第一定時(shí)器是否已經(jīng)到期。如果第一定時(shí)器沒有到期(302-No),則邏輯模塊201繼續(xù)判定(302)第一定時(shí)器是否已經(jīng)到期。如果第一定時(shí)器已經(jīng)到期(302-Yes),則邏輯模塊201判定(304)第二隊(duì)列(例如,高優(yōu)先級(jí)操作隊(duì)列,如圖2A中的隊(duì)列202-2)是否包含存儲(chǔ)器操作。如果第二隊(duì)列不包含存儲(chǔ)器操作(304-No),則邏輯模塊201重新啟動(dòng)(312)第一定時(shí)器,繼續(xù)執(zhí)行第一存儲(chǔ)器操作,并且繼續(xù)判定(302)第一定時(shí)器是否已經(jīng)到期。
如果第二隊(duì)列包含存儲(chǔ)器操作(304-Yes),則邏輯模塊201掛起(306)第一存儲(chǔ)器操作,執(zhí)行(308)來自第二隊(duì)列的第二存儲(chǔ)器操作,并且然后執(zhí)行(310)一個(gè)或多個(gè)后續(xù)操作。在一些實(shí)施例中,執(zhí)行(310)一個(gè)或多個(gè)后續(xù)操作包括重新啟動(dòng)第一定時(shí)器并且恢復(fù)執(zhí)行第一操作。在一些實(shí)施例中,在執(zhí)行第一存儲(chǔ)器操作期間每次啟動(dòng)或重新啟動(dòng)第一定時(shí)器時(shí),將其“設(shè)置”為在預(yù)定時(shí)間量(如500微秒)之后到期。通常,執(zhí)行第一存儲(chǔ)器操作在多個(gè)(例如,3到10)定時(shí)器到期之后完成。在一些情況下,如在第二隊(duì)列包含多個(gè)存儲(chǔ)器操作的情況下,執(zhí)行第一存儲(chǔ)器操作與執(zhí)行來自第二隊(duì)列的兩個(gè)或更多個(gè)存儲(chǔ)器操作交替進(jìn)行。
圖4A至圖4G展示了根據(jù)一些實(shí)施例的管理和掛起方法的流程圖表示。至少在一些實(shí)施例中,方法400由存儲(chǔ)設(shè)備(例如,圖1中的存儲(chǔ)設(shè)備120)或存儲(chǔ)設(shè)備的一個(gè)或多個(gè)部件(例如,圖1中的存儲(chǔ)控制器124和/或NVM控制器130)執(zhí)行,其中,存儲(chǔ)設(shè)備與主機(jī)系統(tǒng)(例如,圖1中的計(jì)算機(jī)系統(tǒng)110)操作性地耦合。在一些實(shí)施例中,方法400由存儲(chǔ)在非瞬態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中并由設(shè)備的一個(gè)或多個(gè)處理器(如圖1中示出的管理模塊121的一個(gè)或多個(gè)處理單元(CPU)122,或如圖2B中示出的NVM控制器130的一個(gè)或多個(gè)處理單元(CPU)240)執(zhí)行的指令控制。在一些實(shí)施例中,方法400由非易失性存儲(chǔ)器系統(tǒng)(例如,圖1中的非易失性存儲(chǔ)器系統(tǒng)100)或非易失性存儲(chǔ)器系統(tǒng)的一個(gè)或多個(gè)部件(例如,圖1中的計(jì)算機(jī)系統(tǒng)110和/或存儲(chǔ)設(shè)備120)執(zhí)行。在一些實(shí)施例中,方法400的操作中的一些操作在主機(jī)(例如,圖1中的計(jì)算機(jī)系統(tǒng)110)處執(zhí)行,并且信息被傳輸至存儲(chǔ)設(shè)備(例如,圖1中的存儲(chǔ)設(shè)備120)。在一些實(shí)施例中,方法400至少部分地由存儲(chǔ)在非瞬態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中并由主機(jī)(圖1中未示出)的一個(gè)或多個(gè)處理器執(zhí)行的指令控制。為便于解釋,以下描述了由存儲(chǔ)設(shè)備(例如,圖1中的存儲(chǔ)設(shè)備120)執(zhí)行的方法400。然而,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,在其他實(shí)施例中,方法400中描述的操作中的一個(gè)或多個(gè)操作由主機(jī)(例如,圖1中的計(jì)算機(jī)系統(tǒng)110)執(zhí)行。
在非易失性存儲(chǔ)器系統(tǒng)(例如,圖1中的非易失性存儲(chǔ)器系統(tǒng)100)中,存儲(chǔ)設(shè)備(例如,圖1中的存儲(chǔ)設(shè)備120)開始(402)執(zhí)行來自第一隊(duì)列(例如,圖2A中的操作隊(duì)列202-1)的第一存儲(chǔ)器操作。在一些實(shí)施例中,邏輯模塊(例如,圖2A中的邏輯模塊201)用于開始執(zhí)行來自第一隊(duì)列的第一存儲(chǔ)器操作。在一些實(shí)施例中,執(zhí)行模塊(例如,圖2B中的執(zhí)行模塊226)用于開始執(zhí)行來自第一隊(duì)列(例如,圖2B中的第一操作隊(duì)列236)的第一存儲(chǔ)器操作。
在非易失性存儲(chǔ)器系統(tǒng)中,結(jié)合開始執(zhí)行第一存儲(chǔ)器操作,存儲(chǔ)設(shè)備啟動(dòng)(404)第一定時(shí)器,其中,第一定時(shí)器被設(shè)置為在第一預(yù)定時(shí)間間隔之后到期。在一些實(shí)施例中,邏輯模塊(例如,圖2A中的邏輯模塊201)用于啟動(dòng)第一定時(shí)器(例如,圖2A中的定時(shí)器204-1)。在一些實(shí)施例中,定時(shí)器模塊(例如,圖2B中的定時(shí)器模塊230)用于啟動(dòng)第一定時(shí)器(例如,圖2B中的定時(shí)器234)。
在一些實(shí)施例中,存儲(chǔ)設(shè)備從多個(gè)定時(shí)器(例如,圖2A中的定時(shí)器204或圖2B中的定時(shí)器234)中為第一存儲(chǔ)器操作分配(406)第一定時(shí)器(例如,圖2A中的定時(shí)器204-1或圖2B中的定時(shí)器234中的一個(gè)定時(shí)器)。在一些實(shí)施例中,邏輯模塊(例如,圖2A中的邏輯模塊201)用于分配第一定時(shí)器,而在一些實(shí)施例中,定時(shí)器模塊(例如,圖2B中的定時(shí)器模塊230)用于分配第一定時(shí)器。
在啟動(dòng)第一定時(shí)器之后,存儲(chǔ)設(shè)備根據(jù)確定第一定時(shí)器已經(jīng)到期,在非易失性存儲(chǔ)器系統(tǒng)中執(zhí)行(408)一個(gè)或多個(gè)操作(有時(shí)指第一組操作)。在一些實(shí)施例中,在啟動(dòng)第一定時(shí)器(例如,圖2A中的定時(shí)器204-1或圖2B中的定時(shí)器234)之后,根據(jù)確定第一定時(shí)器已經(jīng)到期,邏輯模塊(例如,圖2A中的邏輯模塊201或圖2B中的邏輯模塊220)在非易失性存儲(chǔ)器系統(tǒng)中執(zhí)行一個(gè)或多個(gè)操作。
第一組操作包括判定(410)第二隊(duì)列(例如,圖2A中的操作隊(duì)列202-2或圖2B中的第二操作隊(duì)列236)是否包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作。在一些實(shí)施例中,邏輯模塊(例如,圖2A中的邏輯模塊201)用于判定第二隊(duì)列是否包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作,而在一些實(shí)施例中,使用隊(duì)列接口模塊。
在一些實(shí)施例中,第一隊(duì)列(例如,圖2A中的操作隊(duì)列202-1或圖2B中的第一操作隊(duì)列236)是(438)普通優(yōu)先級(jí)作業(yè)隊(duì)列,并且第二隊(duì)列(例如,圖2A中的操作隊(duì)列202-2或圖2B中的第一操作隊(duì)列236)是高優(yōu)先級(jí)作業(yè)隊(duì)列。在一些實(shí)施例中,來自主機(jī)系統(tǒng)(例如,圖1中的計(jì)算機(jī)系統(tǒng)110)的讀操作被置于(440)第二隊(duì)列中。在一些實(shí)施例中,第一隊(duì)列和第二隊(duì)列是(442)邏輯隊(duì)列,并且第一隊(duì)列和第二隊(duì)列兩者是單個(gè)物理隊(duì)列的一部分。在一些實(shí)施例中,第一隊(duì)列和第二隊(duì)列是(444)不同物理隊(duì)列。
第一組操作進(jìn)一步包括:根據(jù)確定第二隊(duì)列(例如,圖2A中的操作隊(duì)列202-2或圖2B中的第二操作隊(duì)列236)包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作,來執(zhí)行(412)一個(gè)或多個(gè)操作(有時(shí)指第二組操作),包括:(1)掛起來自所述第一隊(duì)列的所述第一存儲(chǔ)器操作;(2)執(zhí)行來自所述第二隊(duì)列的第二存儲(chǔ)器操作;以及(3)在完成執(zhí)行來自所述第二隊(duì)列的所述第二存儲(chǔ)器操作之后,執(zhí)行一個(gè)或多個(gè)后續(xù)操作。在一些實(shí)施例中,邏輯模塊(例如,圖2A中的邏輯模塊201)用于執(zhí)行第二組操作。在一些實(shí)施例中,掛起模塊(例如,圖2B中的掛起模塊222)、執(zhí)行模塊(例如,圖2B中的執(zhí)行模塊226)和/或邏輯模塊(例如,圖2B中的邏輯模塊220)用于執(zhí)行第二組操作。
在一些實(shí)施例中,一個(gè)或多個(gè)后續(xù)操作包括:(a)重新啟動(dòng)(456)第一定時(shí)器;以及(b)恢復(fù)執(zhí)行來自第一隊(duì)列(例如,圖2A中的操作隊(duì)列202-1或圖2B中的第一操作隊(duì)列236)的第一存儲(chǔ)器操作。在一些實(shí)施例中,邏輯模塊(例如,圖2A中的邏輯模塊201)用于執(zhí)行一個(gè)或多個(gè)后續(xù)操作。在一些實(shí)施例中,定時(shí)器模塊(例如,圖2B中的定時(shí)器模塊230)、恢復(fù)模塊(例如,圖2B中的恢復(fù)模塊224)和/或邏輯模塊(例如,圖2B中的邏輯模塊220)用于執(zhí)行一個(gè)或多個(gè)后續(xù)操作。
第一組操作進(jìn)一步包括:根據(jù)確定第二隊(duì)列(例如,圖2A中的操作隊(duì)列202-2或圖2B中的第二操作隊(duì)列236)不包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作,來執(zhí)行(414)一個(gè)或多個(gè)操作(有時(shí)指第三組操作),包括:(1)重新啟動(dòng)第一定時(shí)器;以及(2)繼續(xù)執(zhí)行來自第一隊(duì)列的第一存儲(chǔ)器操作。在一些實(shí)施例中,邏輯模塊(例如,圖2A中的邏輯模塊201)用于執(zhí)行第三組操作。在一些實(shí)施例中,定時(shí)器模塊(例如,圖2B中的定時(shí)器模塊230)、執(zhí)行模塊(例如,圖2B中的執(zhí)行模塊226)和/或邏輯模塊(例如,圖2B中的邏輯模塊220)用于執(zhí)行第三組操作。
在一些實(shí)施例中,根據(jù)關(guān)于第一定時(shí)器(例如,圖2A中的定時(shí)器204-1或圖2B中的定時(shí)器234)已經(jīng)到期的一個(gè)或多個(gè)后續(xù)判定中的每個(gè)后續(xù)判定,存儲(chǔ)設(shè)備執(zhí)行(458)一個(gè)或多個(gè)操作,包括:判定(460)第二隊(duì)列(例如,圖2A中的操作隊(duì)列202-2或圖2B中的第二操作隊(duì)列236)是否包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作。在一些實(shí)施例中,邏輯模塊(例如,圖2A中的邏輯模塊201)和/或隊(duì)列接口模塊(例如,圖2B中的隊(duì)列接口模塊232)用于執(zhí)行一個(gè)或多個(gè)操作,包括:判定第二隊(duì)列是否包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作。
在一些實(shí)施例中,根據(jù)確定第二隊(duì)列(例如,圖2A中的操作隊(duì)列202-2或圖2B中的第二操作隊(duì)列236)包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作,存儲(chǔ)設(shè)備執(zhí)行(462)一個(gè)或多個(gè)操作,包括:(1)掛起來自第一隊(duì)列(例如,圖2A中的操作隊(duì)列202-1或圖2B中的第一操作隊(duì)列236)的第一存儲(chǔ)器操作;(2)執(zhí)行來自第二隊(duì)列的對(duì)應(yīng)存儲(chǔ)器操作;以及(3)在完成執(zhí)行來自第二隊(duì)列的對(duì)應(yīng)存儲(chǔ)器操作之后,執(zhí)行一個(gè)或多個(gè)后續(xù)操作,包括:(a)重新啟動(dòng)第一定時(shí)器(例如,圖2A中的定時(shí)器204-1或圖2B中的定時(shí)器234),以及(b)恢復(fù)執(zhí)行來自第一隊(duì)列的第一存儲(chǔ)器操作。此外,在這些實(shí)施例中,根據(jù)確定第二隊(duì)列不包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作,存儲(chǔ)設(shè)備執(zhí)行(464)一個(gè)或多個(gè)操作,包括:(1)重新啟動(dòng)第一定時(shí)器;以及(2)繼續(xù)執(zhí)行來自第一隊(duì)列的第一存儲(chǔ)器操作。
在一些實(shí)施例中,存儲(chǔ)設(shè)備(1)在非易失性存儲(chǔ)器系統(tǒng)(例如,圖1中的非易失性存儲(chǔ)器系統(tǒng)100)中開始(446)執(zhí)行來自第一隊(duì)列(例如,圖2A中的操作隊(duì)列202-1或圖2B中的第一操作隊(duì)列236)的第三存儲(chǔ)器操作;(2)結(jié)合開始執(zhí)行第三存儲(chǔ)器操作,在非易失性存儲(chǔ)器系統(tǒng)中啟動(dòng)第二定時(shí)器(例如,圖2A中的定時(shí)器204-k或圖2B中的第二定時(shí)器234),其中,第二定時(shí)器被設(shè)置為在第二預(yù)定時(shí)間間隔后到期;并且(3)在啟動(dòng)第二定時(shí)器之后,根據(jù)確定第二定時(shí)器已經(jīng)到期,在非易失性存儲(chǔ)器系統(tǒng)中執(zhí)行一個(gè)或多個(gè)操作,包括:判定(448)第二隊(duì)列(例如,圖2A中的操作隊(duì)列202-2或圖2B中的第二操作隊(duì)列236)是否包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作。此外,在這些實(shí)施例中,根據(jù)確定第二隊(duì)列包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作,存儲(chǔ)設(shè)備執(zhí)行(450)一個(gè)或多個(gè)操作,包括:(a)掛起來自第一隊(duì)列的第三存儲(chǔ)器操作;(b)執(zhí)行來自第二隊(duì)列的第四存儲(chǔ)器操作;以及(c)在完成執(zhí)行來自第二隊(duì)列的第四存儲(chǔ)器操作之后,執(zhí)行一個(gè)或多個(gè)后續(xù)操作,包括:(i)重新啟動(dòng)第二定時(shí)器,以及(ii)恢復(fù)執(zhí)行來自第一隊(duì)列的第三存儲(chǔ)器操作。此外,在這些實(shí)施例中,根據(jù)確定第二隊(duì)列不包含至少一個(gè)要執(zhí)行的存儲(chǔ)器操作,存儲(chǔ)設(shè)備執(zhí)行(452)一個(gè)或多個(gè)操作,包括:(a)重新啟動(dòng)第二定時(shí)器;以及(b)繼續(xù)執(zhí)行來自第一隊(duì)列的第三存儲(chǔ)器操作。
在一些實(shí)施例中,第二預(yù)定時(shí)間間隔與(454)第一預(yù)定時(shí)間間隔不同。
在一些實(shí)施例中,存儲(chǔ)設(shè)備判定(466)第一隊(duì)列(例如,圖2A中的操作隊(duì)列202-1或圖2B中的第一操作隊(duì)列236)中在第一存儲(chǔ)器操作之后的存儲(chǔ)器操作是否包括對(duì)應(yīng)指示符,并且根據(jù)確定后續(xù)存儲(chǔ)器操作的對(duì)應(yīng)指示符被置位,防止掛起后續(xù)存儲(chǔ)器操作。例如,對(duì)應(yīng)指示符可以是“高優(yōu)先級(jí)”或“不掛起”指示符。
在一些實(shí)施例中,非易失性存儲(chǔ)器系統(tǒng)(例如,圖1中的非易失性存儲(chǔ)器系統(tǒng)100)包括(416)全局指示符,所述全局指示符當(dāng)被置位時(shí)指示不能掛起第一隊(duì)列(例如,圖2A中的操作隊(duì)列202-1或圖2B中的第一操作隊(duì)列236)中的存儲(chǔ)器操作。例如,在一些實(shí)施例中,當(dāng)全局指示符被置位時(shí),不能掛起第一隊(duì)列中的讀、寫和/或擦除操作。在一些實(shí)施例中,全局指示符是對(duì)邏輯模塊(例如,圖2A中的邏輯模塊201或圖2B中的邏輯模塊220)的輸入。
在一些實(shí)施例中,存儲(chǔ)設(shè)備根據(jù)預(yù)定義條件或命令置位(418)全局指示符。例如,在一些實(shí)施例中,當(dāng)非易失性存儲(chǔ)器系統(tǒng)(例如,圖1中的非易失性存儲(chǔ)器系統(tǒng)100)經(jīng)歷斷電情況時(shí),置位全局指示符。在另一個(gè)實(shí)施例中,上述命令是主機(jī)命令。在一些實(shí)施例中,邏輯模塊(例如,圖2A中的邏輯模塊201或圖2B中的邏輯模塊220)用于根據(jù)預(yù)定義條件或命令置位全局指示符。
此外,在一些實(shí)施例中,根據(jù)確定全局指示符已經(jīng)被置位,存儲(chǔ)設(shè)備防止(420)掛起第一隊(duì)列(例如,圖2A中的操作隊(duì)列202-1或圖2B中的第一操作隊(duì)列236)中的存儲(chǔ)器操作。在一些實(shí)施例中,邏輯模塊(例如,圖2A中的邏輯模塊201)用于防止掛起第一隊(duì)列中的存儲(chǔ)器操作。在一些實(shí)施例中,覆蓋模塊(例如,圖2B中的覆蓋模塊228)用于防止掛起第一隊(duì)列中的存儲(chǔ)器操作。
在一些實(shí)施例中,非易失性存儲(chǔ)器系統(tǒng)(例如,圖1中的非易失性存儲(chǔ)器系統(tǒng)100)包括(422)一個(gè)或多個(gè)閃存設(shè)備(例如,圖1中的NVM設(shè)備140-i至140-j和NVM設(shè)備140-m至140-n)。在一些實(shí)施例中,非易失性存儲(chǔ)器系統(tǒng)包括單個(gè)閃存設(shè)備,而在其他實(shí)施例中,非易失性存儲(chǔ)器系統(tǒng)包括多個(gè)閃存設(shè)備。例如,在一些實(shí)施例中,非易失性存儲(chǔ)器系統(tǒng)包括在并行存儲(chǔ)器通道中組織的數(shù)十個(gè)或數(shù)百個(gè)閃存設(shè)備,如每個(gè)存儲(chǔ)器通道16、32或64個(gè)閃存設(shè)備,以及8、16或32個(gè)并行存儲(chǔ)器通道。在一些實(shí)施例中,非易失性存儲(chǔ)器系統(tǒng)包括NAND類型閃存或NOR類型閃存。在一些實(shí)施例中,非易失性存儲(chǔ)器系統(tǒng)包括一個(gè)或多個(gè)其他類型的非易失性存儲(chǔ)設(shè)備。
在一些實(shí)施例中,非易失性存儲(chǔ)器系統(tǒng)(例如,圖1中的非易失性存儲(chǔ)器系統(tǒng)100)包括(424)如在此進(jìn)一步定義的一個(gè)或多個(gè)三維(3D)存儲(chǔ)器設(shè)備、以及與一個(gè)或多個(gè)3D存儲(chǔ)器設(shè)備中的存儲(chǔ)器元件的操作相關(guān)聯(lián)的電路。在一些實(shí)施例中,非易失性存儲(chǔ)器系統(tǒng)(例如,圖1中的非易失性存儲(chǔ)器系統(tǒng)100)包括單個(gè)3D存儲(chǔ)器設(shè)備,而在其他實(shí)施例中,存儲(chǔ)介質(zhì)包括多個(gè)3D存儲(chǔ)器設(shè)備。
在一些實(shí)施例中,一個(gè)或多個(gè)3D存儲(chǔ)器設(shè)備的對(duì)應(yīng)3D存儲(chǔ)器設(shè)備中的電路和一個(gè)或多個(gè)存儲(chǔ)器元件位于(426)相同的基板上(例如,硅基板)。在一些實(shí)施例中,基板是一個(gè)或多個(gè)存儲(chǔ)器元件的材料層沉積在其上和/或在其中形成一個(gè)或多個(gè)存儲(chǔ)器元件的晶片。在一些實(shí)施例中,基板是形成一個(gè)或多個(gè)存儲(chǔ)器元件之后附接到其上的載體基板。作為非限制性示例,在一些實(shí)施例中,基板包括如硅等半導(dǎo)體。
在一些實(shí)施例中,非易失性存儲(chǔ)器系統(tǒng)包括(428)多個(gè)部分,每個(gè)部分具有一個(gè)或多個(gè)非易失性存儲(chǔ)器設(shè)備(例如,圖1中的NVM設(shè)備140-i至140-j和NVM設(shè)備140-m至140-n)、對(duì)應(yīng)第一隊(duì)列(例如,圖2A中的操作隊(duì)列202-1或圖2B中的第一操作隊(duì)列236)、對(duì)應(yīng)第二隊(duì)列(例如,圖2A中的操作隊(duì)列202-2或圖2B中的第二操作隊(duì)列236)、以及當(dāng)被置位時(shí)指示不能掛起對(duì)應(yīng)第一隊(duì)列中的存儲(chǔ)器操作的專用于部分的指示符。例如,在一些實(shí)施例中,所述部分中的每個(gè)部分是具有多個(gè)NVM設(shè)備的存儲(chǔ)器通道、或者存儲(chǔ)器通道的子集、或單個(gè)NVM設(shè)備。在一些實(shí)施例中,專用于部分的指示符是對(duì)邏輯模塊(例如,圖2A中的邏輯模塊201或圖2B中的邏輯模塊220)的輸入。
在一些實(shí)施例中,根據(jù)確定非易失性存儲(chǔ)器系統(tǒng)(例如,圖1中的非易失性存儲(chǔ)器系統(tǒng)100)的對(duì)應(yīng)部分的專用于部分的指示符被置位,存儲(chǔ)設(shè)備防止(430)掛起非易失性存儲(chǔ)器系統(tǒng)的對(duì)應(yīng)部分的第一隊(duì)列(例如,圖2A中的操作隊(duì)列202-1或圖2B中的第一操作隊(duì)列236)中的存儲(chǔ)器操作。
在一些實(shí)施例中,非易失性存儲(chǔ)器系統(tǒng)(例如,圖1中的非易失性存儲(chǔ)器系統(tǒng)100)包括(432)全局指示符,所述全局指示符當(dāng)被置位時(shí)指示不能掛起非易失性存儲(chǔ)器系統(tǒng)的多個(gè)部分的對(duì)應(yīng)第一隊(duì)列中的存儲(chǔ)器操作。在這些實(shí)施例中,存儲(chǔ)設(shè)備根據(jù)預(yù)定義條件和命令來置位(434)全局指示符,并且根據(jù)確定全局指示符被置位來防止(436)掛起非易失性存儲(chǔ)器系統(tǒng)的多個(gè)部分的對(duì)應(yīng)第一隊(duì)列中的存儲(chǔ)器操作。
在一些實(shí)施例中,以上描述的方法中的任何方法由存儲(chǔ)設(shè)備執(zhí)行,所述存儲(chǔ)設(shè)備包括:(1)一個(gè)或多個(gè)處理器;以及(2)存儲(chǔ)一個(gè)或多個(gè)程序的存儲(chǔ)器,所述程序當(dāng)由所述一個(gè)或多個(gè)處理器執(zhí)行時(shí)使所述存儲(chǔ)設(shè)備執(zhí)行在此所描述的方法中的任何方法或控制其性能。
在一些實(shí)施例中,以上描述的方法中的任何方法由非易失性存儲(chǔ)器系統(tǒng)執(zhí)行,所述非易失性存儲(chǔ)器系統(tǒng)包括:(1)一個(gè)或多個(gè)處理器;以及(2)存儲(chǔ)一個(gè)或多個(gè)程序的存儲(chǔ)器,所述程序當(dāng)由所述一個(gè)或多個(gè)處理器執(zhí)行時(shí)使所述非易失性存儲(chǔ)器系統(tǒng)執(zhí)行在此所描述的方法中的任何方法或控制其性能。
在一些實(shí)施例中,以上描述的方法中的任何方法由非易失性存儲(chǔ)器系統(tǒng)執(zhí)行,所述非易失性存儲(chǔ)器系統(tǒng)包括多個(gè)部分,每個(gè)部分具有一個(gè)或多個(gè)非易失性存儲(chǔ)器設(shè)備,其中,針對(duì)每個(gè)部分,非易失性存儲(chǔ)器系統(tǒng)包括:(1)一個(gè)或多個(gè)定時(shí)器;(2)第一隊(duì)列和第二隊(duì)列;以及(3)邏輯模塊,其中,所述邏輯模塊被配置成用于執(zhí)行在此所描述的方法中的任何方法或控制其性能。
半導(dǎo)體存儲(chǔ)器設(shè)備包括易失性存儲(chǔ)器設(shè)備(如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(“DRAM”)或靜態(tài)隨機(jī)存取存儲(chǔ)器(“SRAM”))、非易失性存儲(chǔ)器設(shè)備(如電阻式隨機(jī)存取存儲(chǔ)器(“ReRAM”)、電可擦除可編程只讀存儲(chǔ)器(“EEPROM”)、閃存(其還可以被考慮為EEPROM的子集)、鐵電隨機(jī)存取存儲(chǔ)器(“FRAM”)、和磁阻隨機(jī)存取存儲(chǔ)器(“MRAM”))、以及能夠存儲(chǔ)信息的其他半導(dǎo)體元件。每種類型的存儲(chǔ)器設(shè)備可以具有不同的配置。例如,可以在NAND或NOR配置中配置閃存設(shè)備。
存儲(chǔ)器設(shè)備可由無源和/或有源元件以任何組合來形成。通過非限制性示例的方式,無源半導(dǎo)體存儲(chǔ)器元件包括ReRAM設(shè)備元件,在一些實(shí)施例中,所述元件包括如反熔絲相變材料等電阻率切換存儲(chǔ)元件以及(可選地)如二極管等操控元件。進(jìn)一步通過非限制性示例的方式,有源半導(dǎo)體存儲(chǔ)器元件包括EEPROM和閃存設(shè)備元件,在一些實(shí)施例中,所述元件包括如浮柵、導(dǎo)電納米顆粒、或電荷存儲(chǔ)介電材料等包含了電荷存儲(chǔ)區(qū)域的元件。
多個(gè)存儲(chǔ)器元件可以被配置為使得它們串聯(lián)或使得每個(gè)元件是可單獨(dú)訪問的。通過非限制性示例的方式,NAND配置(NAND存儲(chǔ)器)中的閃存設(shè)備通常包含串聯(lián)的存儲(chǔ)器元件。NAND存儲(chǔ)器陣列可以被配置為使得陣列包括多個(gè)存儲(chǔ)器串,其中,串包括共享單個(gè)位線并作為群組被訪問的多個(gè)存儲(chǔ)器元件??商娲兀鎯?chǔ)器元件可以被配置為使得每一個(gè)元件是可單獨(dú)訪問的(例如,NOR存儲(chǔ)器陣列)。NAND和NOR存儲(chǔ)器配置是示例性的,并且存儲(chǔ)器元件可以以其他方式配置。
位于基板內(nèi)和/或上方的半導(dǎo)體存儲(chǔ)器元件可以被安排在兩個(gè)或三個(gè)維度(如二維存儲(chǔ)器結(jié)構(gòu)或三維存儲(chǔ)器結(jié)構(gòu))中。
在二維存儲(chǔ)器結(jié)構(gòu)中,半導(dǎo)體存儲(chǔ)器元件被安排在單個(gè)平面或單個(gè)存儲(chǔ)器設(shè)備級(jí)中。通常,在二維存儲(chǔ)器結(jié)構(gòu)中,存儲(chǔ)器元件被安排在基本上平行于支撐存儲(chǔ)器元件的基板的主要表面而延伸的平面中(例如,在x-z方向平面中)?;蹇梢允窃谄渖戏交蛟谄渲行纬纱鎯?chǔ)器元件層的晶片,或者其可以是在形成存儲(chǔ)器元件之后附接至其上的載體基板。作為非限制性示例,基板可以包括如硅等半導(dǎo)體。
可以在單個(gè)存儲(chǔ)器設(shè)備級(jí)中將存儲(chǔ)器元件安排成有序陣列,如在多個(gè)行和/或列中。然而,可以在非規(guī)則或非正交配置中排列存儲(chǔ)器元件。存儲(chǔ)器元件中的每個(gè)存儲(chǔ)器元件可以具有兩個(gè)或更多個(gè)電極或接觸線,如位線和字線。
三維存儲(chǔ)器陣列被安排成使得存儲(chǔ)器元件占據(jù)多個(gè)平面或多個(gè)存儲(chǔ)器設(shè)備級(jí),由此在三個(gè)維度(即,在x方向、y方向和z方向上,其中,y方向基本上垂直于并且x和z方向基本上平行于基板的主表面)中形成結(jié)構(gòu)。
作為非限制性示例,三維存儲(chǔ)器結(jié)構(gòu)可以被垂直地安排成多個(gè)二維存儲(chǔ)器設(shè)備級(jí)的堆疊。作為另一個(gè)非限制性示例,三維存儲(chǔ)器陣列可以被安排成多個(gè)垂直列(例如,基本上垂直于基板的主表面延伸的列,即,在y方向上),每列在每列中具有多個(gè)存儲(chǔ)器元件??梢栽诙S配置中(例如,在x-z平面中)安排所述列,導(dǎo)致存儲(chǔ)器元件的三維安排,元件位于多個(gè)垂直堆疊的存儲(chǔ)器平面上。存儲(chǔ)器元件在三個(gè)維度中的其他配置也可以構(gòu)成三維存儲(chǔ)器陣列。
通過非限制性示例的方式,在三維NAND存儲(chǔ)器陣列中,存儲(chǔ)器元件可以被耦合在一起,以便在單個(gè)水平(例如,x-z)存儲(chǔ)器設(shè)備級(jí)內(nèi)形成NAND串??商娲兀鎯?chǔ)器元件可以被耦合在一起,以便形成橫跨多個(gè)水平存儲(chǔ)器設(shè)備級(jí)的垂直NAND串。可以設(shè)想其他三維配置,其中,一些NAND串包含單個(gè)存儲(chǔ)器級(jí)中的存儲(chǔ)器元件,而其他串包含跨越多個(gè)存儲(chǔ)器級(jí)的存儲(chǔ)器元件。還可以在NOR配置中和在ReRAM配置中設(shè)計(jì)三維存儲(chǔ)器陣列。
通常,在單片式三維存儲(chǔ)器陣列中,在單個(gè)基板上方形成一個(gè)或多個(gè)存儲(chǔ)器設(shè)備級(jí)??蛇x地,單片式三維存儲(chǔ)器陣列還可以具有至少部分地位于單個(gè)基板內(nèi)的一個(gè)或多個(gè)存儲(chǔ)器層。作為非限制性示例,基板可以包括如硅等半導(dǎo)體。在單片式三維陣列中,構(gòu)成陣列的每個(gè)存儲(chǔ)器設(shè)備級(jí)的層通常在陣列的基礎(chǔ)存儲(chǔ)器設(shè)備級(jí)的層上形成。然而,單片式三維存儲(chǔ)器陣列的鄰近存儲(chǔ)器設(shè)備級(jí)的層可以被共享或在存儲(chǔ)器設(shè)備級(jí)之間存在中間層。
然后,再次,二維陣列可以被單獨(dú)地形成并且然后被封裝在一起,以便形成具有多個(gè)存儲(chǔ)器層的非單片式存儲(chǔ)器設(shè)備。例如,非單片式堆疊存儲(chǔ)器可以通過在單獨(dú)地基板上形成存儲(chǔ)器級(jí)然后將存儲(chǔ)器級(jí)堆疊在彼此頂上來構(gòu)造??梢詼p薄基板或者可以在堆疊之前將其從存儲(chǔ)器設(shè)備級(jí)中移除,但是因?yàn)榇鎯?chǔ)器設(shè)備級(jí)最初地在單獨(dú)的基板上方形成,所以所產(chǎn)生的存儲(chǔ)器陣列不是單片式三位存儲(chǔ)器陣列。此外,多個(gè)二維存儲(chǔ)器陣列或三維存儲(chǔ)器陣列(單片式或非單片式)可以在單獨(dú)的芯片上形成然后被封裝在一起,以便形成堆疊芯片存儲(chǔ)器設(shè)備。
存儲(chǔ)器元件的操作以及與存儲(chǔ)器元件的通信通常需要相關(guān)聯(lián)的電路。作為非限制性示例,存儲(chǔ)器設(shè)備可以具有用于控制和驅(qū)動(dòng)存儲(chǔ)器元件完成如編程和讀取等功能的電路。此相關(guān)聯(lián)的電路可以位于與存儲(chǔ)器元件相同的基板上和/或位于單獨(dú)的基板上。例如,用于存儲(chǔ)器讀-寫操作的控制器可以位于單獨(dú)的控制器芯片上和/或位于與存儲(chǔ)器元件相同的基板上。
術(shù)語“三維存儲(chǔ)器設(shè)備”(或3D存儲(chǔ)器設(shè)備)在此被定義為指具有多個(gè)存儲(chǔ)器層或多個(gè)存儲(chǔ)器元件級(jí)(例如,有時(shí)被稱為多個(gè)存儲(chǔ)器設(shè)備級(jí))的存儲(chǔ)器設(shè)備,包括以下各項(xiàng)中的任一項(xiàng):具有單片式或非單片式3D存儲(chǔ)器陣列的存儲(chǔ)器設(shè)備(以上描述了其一些非限制性示例);或兩個(gè)或更多個(gè)2D和/或3D存儲(chǔ)器設(shè)備(其被封裝在一起,以便形成堆疊芯片存儲(chǔ)器設(shè)備,以上描述了其一些非限制性示例)。
本領(lǐng)域的技術(shù)人員將意識(shí)到,本發(fā)明不限于所描述的二維和三維示例性結(jié)構(gòu),但涵蓋了如此處描述的本發(fā)明的精神和范圍內(nèi)的和如本領(lǐng)域的技術(shù)人員理解的所有相關(guān)存儲(chǔ)器結(jié)構(gòu)。
將理解的是,盡管此處可以使用術(shù)語“第一”、“第二”等來描述各個(gè)元件,但是這些元件不應(yīng)被這些術(shù)語限制。這些術(shù)語僅用于將一個(gè)元件與另一個(gè)元件相區(qū)分。例如,在不改變描述的含義的情況下,第一區(qū)域可以被稱為第二區(qū)域,并且類似地,第二區(qū)域可以被稱為第一區(qū)域,只要一致地重新命名“第一區(qū)域”的所有出現(xiàn)并且一致地重新命名“第二區(qū)域”的所有出現(xiàn)即可。第一區(qū)域和第二區(qū)域都是區(qū)域,不過它們不是同一區(qū)域。
此處所使用的術(shù)語僅出于描述特定實(shí)施例的目的,而不旨在于限制權(quán)利要求書。如在對(duì)實(shí)施例和所附權(quán)利要求書的描述中所使用的,除非上下文另有明示,否則單數(shù)形式“一個(gè)(a)”、“一個(gè)(an)”和“所述(the)”旨在同樣包括復(fù)數(shù)形式。還將理解的是,如本文使用的術(shù)語“和/或”指代并且包括相關(guān)聯(lián)的列舉項(xiàng)的一個(gè)或多個(gè)項(xiàng)的任何和所有可能組合。將進(jìn)一步理解的是,當(dāng)在本說明書中使用術(shù)語“包括(comprises)”和/或“包括(comprising)”時(shí),其指定陳述的特征、整數(shù)、步驟、操作、元件和/或部件的存在,但不排除一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、部件和/或它們的組的存在或添加。
如在此所使用的,短語“A、B和C中的至少一者”將被解釋為需要所列項(xiàng)目中的一個(gè)或多個(gè)項(xiàng)目,并且此短語關(guān)于單獨(dú)A的單個(gè)實(shí)例、單獨(dú)B的單個(gè)實(shí)例、或單獨(dú)C的單個(gè)實(shí)例,同時(shí)還包括如“A中的一者或多者以及B中的一者或多者而沒有C中的任何一者”等所列項(xiàng)目的組合。
如在此所使用的,根據(jù)上下文,術(shù)語“如果”可以被解釋為指“當(dāng)…時(shí)”或者“在…時(shí)”或者“響應(yīng)于確定”或者“根據(jù)確定”或者“響應(yīng)于檢測(cè)到”所述先決條件為真。類似地,根據(jù)上下文,短語“如果確定[所述先決條件為真]”或“如果[所述先決條件為真]”或“當(dāng)[所述先決條件為真]時(shí)”可以被解釋為指“在確定時(shí)”或“響應(yīng)于確定”或“根據(jù)確定”或“在檢測(cè)到時(shí)”或“響應(yīng)于檢測(cè)到”所述先決條件為真。
出于解釋的目的,已經(jīng)參考特定實(shí)施例描述了前述描述。然而,以上的說明性討論并不旨在是詳盡的或旨在將權(quán)利要求書限制成所公開的精確形式。鑒于以上教導(dǎo),許多修改和變化都是可能的。選擇并描述了實(shí)施例,以便最好地解釋操作原理和實(shí)際應(yīng)用,由此使能本領(lǐng)域的技術(shù)人員。