日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

儲存設(shè)備及其中斷生成方法與流程

文檔序號:12120743閱讀:308來源:國知局
儲存設(shè)備及其中斷生成方法與流程

本申請要求于2015年9月14日提交的第10-2015-0129396號韓國專利申請的優(yōu)先權(quán),通過引用將其公開的全部內(nèi)容并入本文。

技術(shù)領(lǐng)域

本發(fā)明構(gòu)思的示例性實施例涉及半導體存儲器件,并且更具體地涉及儲存設(shè)備及其中斷生成方法。



背景技術(shù):

閃速存儲器件往往被用在諸如例如計算機、智能電話、個人數(shù)字助理(PDA)、數(shù)字相機、錄音機、MP3播放器、手持PC等電子設(shè)備中。閃速存儲器件的示例是固態(tài)驅(qū)動器(SSD)。SSD通常在諸如例如服務(wù)器、客戶端、數(shù)據(jù)中心等設(shè)備中使用。串行AT附件(SATA)、高速PCI(PCIe)、串行附接SCSI(SAS)和高速NVM(NVMe)是用于SSD的通用接口。包括SSD的主機設(shè)備可以包括各種計算機系統(tǒng)。例如,SSD可以連接到服務(wù)器、數(shù)據(jù)中心、個人計算機(PC)等。在該情況下,可能由于中斷的頻繁發(fā)生(這例如可能在主機設(shè)備的性能較低或者在主機設(shè)備上驅(qū)動較高數(shù)量的應(yīng)用時發(fā)生)而造成主機設(shè)備的開銷。



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

本發(fā)明構(gòu)思的示例性實施例提供一種降低中斷生成頻率的儲存設(shè)備及其中斷生成方法。

根據(jù)本發(fā)明構(gòu)思的示例性實施例,一種儲存設(shè)備的中斷生成方法包括:執(zhí)行由主機提供的命令;當完成命令的執(zhí)行時將完成條目寫入在主機的完成隊列中;以及響應(yīng)于滿足第一中斷生成條件、第二中斷生成條件和第三中斷生成條件中的至少一個,向主機發(fā)出對應(yīng)于完成條目的中斷。當完成隊列的尾部指針與頭部指針之間的差異等于第一失配值時滿足第一中斷生成條件。當尾部指針與頭部指針之間的差異至少等于聚合閾值時滿足第二中斷生成條件。當自從發(fā)出先前的中斷已經(jīng)過去的時間量超過參考時間時滿足第三中斷生成條件。

根據(jù)本發(fā)明構(gòu)思的示例性實施例,一種儲存設(shè)備包括:非易失性存儲器件;以及儲存器控制器,其被配置為控制非易失性存儲器件。儲存器控制器執(zhí)行由主機提供的命令,當執(zhí)行命令時將完成條目發(fā)送給主機,并且向主機發(fā)出對應(yīng)于完成條目的中斷。儲存器控制器響應(yīng)于滿足第一中斷生成條件、第二中斷生成條件和第三中斷生成條件中的至少一個,向主機發(fā)出中斷。當存儲完成條目的主機的完成隊列的尾部指針與頭部指針之間的差異等于第一失配值時滿足第一中斷生成條件。當尾部指針與頭部指針之間的差異至少等于聚合閾值時滿足第二中斷生成條件。當自從發(fā)出先前的中斷已經(jīng)過去的時間量超過參考時間時滿足第三中斷生成條件。

根據(jù)本發(fā)明構(gòu)思的示例性實施例,一種固態(tài)驅(qū)動器(SSD)的中斷發(fā)出方法包括:在主機的完成隊列處寫入完成條目;基于在完成隊列中所累積的完成條目的數(shù)量或者自從發(fā)出先前的中斷已經(jīng)過去的時間量,來確定是否發(fā)出對應(yīng)于完成隊列的中斷;以及基于確定的結(jié)果向主機發(fā)送中斷。

根據(jù)本發(fā)明構(gòu)思的示例性實施例,一種固態(tài)驅(qū)動器(SSD)的中斷發(fā)出方法包括:在主機的完成隊列處寫入完成條目;基于指示完成隊列的尾部指針與頭部指針之間的差異是否等于第一失配值的第一中斷生成條件、指示尾部指針與頭部指針之間的差異是否至少等于聚合閾值的第二中斷生成條件、以及指示自從發(fā)出先前的中斷已經(jīng)過去的時間量是否超過參考時間的第三中斷生成條件中的至少一個,來確定是否發(fā)出對應(yīng)于中斷隊列的中斷;以及基于確定的結(jié)果向主機發(fā)送中斷。

附圖說明

通過參照附圖來詳細地描述本發(fā)明構(gòu)思的示例性實施例,本發(fā)明構(gòu)思的上述以及其他特征將變得更加明顯,附圖中:

圖1是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的用戶設(shè)備的框圖;

圖2是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的隊列管理操作的框圖;

圖3是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的、在圖1中所示的儲存器控制器的框圖;

圖4是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的、圖3的儲存器控制器針對主機生成中斷的方法的示例的圖;

圖5是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的儲存設(shè)備的操作方法的時序圖;

圖6是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的儲存器控制器的操作方法的流程圖;

圖7是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的、根據(jù)圖5的中斷生成方法的主機和儲存設(shè)備的調(diào)用處理過程的圖;

圖8是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的儲存設(shè)備的操作方法的時序圖;

圖9是例示根據(jù)參照圖8描述的示例性實施例的儲存器控制器的中斷生成方法的流程圖;

圖10是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的、根據(jù)圖9的中斷生成方法的主機和儲存設(shè)備的調(diào)用處理過程的圖;

圖11是例示中斷生成方法的示例性實施例的時序圖;

圖12是執(zhí)行參照圖11描述的示例性實施例的儲存器控制器的中斷生成方法的流程圖;

圖13是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的、根據(jù)圖11的中斷生成方法的主機和儲存設(shè)備的調(diào)用處理過程的圖;

圖14是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的中斷生成方法的時序圖;

圖15是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的中斷生成方法的時序圖;

圖16是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的、參照圖1描述的非易失性存儲器的框圖;

圖17是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的、包括在圖16的存儲單元陣列中的存儲塊的第一存儲塊的電路圖;

圖18是例示包括根據(jù)本發(fā)明構(gòu)思的示例性實施例的非易失性存儲器系統(tǒng)的存儲卡系統(tǒng)的框圖;

圖19是例示包括根據(jù)本發(fā)明構(gòu)思的示例性實施例的非易失性存儲器系統(tǒng)的固態(tài)驅(qū)動器的框圖;

圖20是例示包括根據(jù)本發(fā)明構(gòu)思的示例性實施例的非易失性存儲器系統(tǒng)的用戶系統(tǒng)的框圖。

具體實施方式

下面將參照附圖更全面地描述本發(fā)明構(gòu)思的示例性實施例。在附圖中,為了清楚,可能放大各層和各區(qū)的大小和相對大小。相同的標號在附圖的各處可以指示相同的元件。

下面將以使用閃速存儲器件的固態(tài)存儲器(SSD)為例來描述本發(fā)明構(gòu)思的示例性實施例的特征和功能。然而,本發(fā)明構(gòu)思的示例性實施例不限于此。

應(yīng)當理解,在本文中使用術(shù)語“第一”、“第二”、“第三”以將一個元件與另一個區(qū)分開,而這些元件不受這些術(shù)語所限制。因此,在示例性實施例中的“第一”元件在另外的示例性實施例中可以被描述為“第二”元件。

圖1是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的用戶設(shè)備的框圖。參照圖1,根據(jù)本發(fā)明構(gòu)思的示例性實施例的用戶設(shè)備10可以包括主機100和儲存設(shè)備200。主機100可以向儲存設(shè)備200提供命令CMD。儲存設(shè)備200可以將完成條目寫入在主機100的完成隊列CQ處作為執(zhí)行命令的結(jié)果,并且可以發(fā)出中斷。例如,根據(jù)本發(fā)明構(gòu)思的示例性實施例,儲存設(shè)備200可以發(fā)出比對應(yīng)于正在被寫入的完成條目的事件發(fā)生的數(shù)量更小的中斷。這將在下面更詳細地描述。

主機100可以從儲存設(shè)備200讀取數(shù)據(jù)或者向儲存設(shè)備200寫入數(shù)據(jù)。例如,主機100可以將數(shù)據(jù)寫入到儲存設(shè)備200,并且可以生成被用于讀取在儲存設(shè)備200中存儲的數(shù)據(jù)的命令CMD。例如,主機100可以向儲存設(shè)備200輸出命令CMD,并且可以從儲存設(shè)備200接收指示對應(yīng)的命令是否被執(zhí)行的完成條目以及相關(guān)聯(lián)的中斷。主機100可以響應(yīng)于該中斷,執(zhí)行中斷處理,以便完成與對應(yīng)的命令相關(guān)聯(lián)的線程或任務(wù)。

根據(jù)本發(fā)明構(gòu)思的示例性實施例,主機100可以包括處理單元110、主機存儲器120以及接口電路130。被用于驅(qū)動主機100的各種各樣的軟件(包括,例如應(yīng)用程序、文件系統(tǒng)、設(shè)備驅(qū)動器等)可以被加載到主機存儲器120上并且被存儲在主機存儲器120中。

處理單元110可以執(zhí)行存儲在主機存儲器120中的各種各樣的軟件(例如,應(yīng)用程序、操作系統(tǒng)、設(shè)備驅(qū)動器等)。例如,處理單元110可以執(zhí)行操作系統(tǒng)(OS)、應(yīng)用程序等。處理單元110可以例如是同類多核處理器或者異類多核處理器。

要被處理單元110處理的應(yīng)用程序或數(shù)據(jù)可以被加載到主機存儲器120上。用于管理要被傳遞給儲存設(shè)備200的命令的隊列的輸入/輸出調(diào)度器122可以被加載到主機存儲器120上。輸入/輸出調(diào)度器122例如可以包括提交隊列123和完成隊列125。提交隊列123例如可以是對應(yīng)于要被發(fā)送給儲存設(shè)備200的命令的隊列。完成隊列125例如可以是由儲存設(shè)備200寫入的完成條目的等待串,并且可以指示由主機100所請求的命令是否完成。

提交隊列123可以由主機100寫入或供應(yīng),并且可以由儲存設(shè)備200讀取。例如,主機100可以使提交隊列的尾部指針TP前進,并且新的尾部指針TP的位置可以發(fā)送給儲存設(shè)備200。此外,儲存設(shè)備200可以通過提供完成條目使提交隊列的頭部指針HP前進。

完成隊列125可以由儲存設(shè)備200寫入,并且可以存儲在主機100中。例如,可以通過儲存設(shè)備200的寫入操作使完成隊列125的尾部指針TP前進。主機100可以響應(yīng)于中斷使完成隊列125的頭部指針HP前進,并且可以將新的頭部指針HP的位置傳遞給儲存設(shè)備200。頭部指針HP的位置可以由主機100通過將其寫入在儲存設(shè)備200的門鈴寄存器中而指示給儲存設(shè)備200。

接口電路130可以提供在主機100與儲存設(shè)備200之間的物理連接。接口電路130例如可以將與從主機100發(fā)出的各種訪問請求相對應(yīng)的命令、地址、數(shù)據(jù)等轉(zhuǎn)換成適合于與儲存設(shè)備200對接的格式。接口電路130可以包括諸如例如通用串行總線(USB)、小型計算機系統(tǒng)接口(SCSI)、高速串行組件互連(高速PCI)、高級技術(shù)附件(ATA)、并行ATA(PTA)、串行ATA(SATA)和串行附接SCSI(SAS)這樣的協(xié)議中的至少一個。然而,接口電路130不限于此。

儲存設(shè)備200可以響應(yīng)于來自主機100的命令CMD來訪問非易失性存儲器件(例如非易失性存儲器件230、240、……、250),并且可以執(zhí)行各種所請求的操作。儲存設(shè)備200可以參考關(guān)于從主機100提供的完成隊列CQ的門鈴寄存器來生成中斷信號。在示例性實施例中,儲存設(shè)備200可以僅在出現(xiàn)完成隊列CQ的尾部指針TP和頭部指針HP之間的第一失配時生成中斷。在示例性實施例中,儲存設(shè)備200可以當在完成隊列CQ處累積的條目的數(shù)量超過閾值TH時生成對應(yīng)于多個完成信號的中斷向量。在示例性實施例中,儲存設(shè)備200可以在從出現(xiàn)完成隊列CQ的尾部指針TP與頭部指針HP之間的第一失配時的時間點開始過去一定量的時間的情況下生成對應(yīng)于多個完成信號的中斷向量。

在示例性實施例中,儲存設(shè)備200例如可以包括儲存器控制器210、緩沖存儲器220以及至少一個非易失性存儲器件(例如非易失性存儲器件230、240、……、250)。

儲存器控制器210可以提供主機100與儲存設(shè)備200之間的對接。根據(jù)本發(fā)明構(gòu)思的示例性實施例,儲存器控制器210可以根據(jù)來自主機100的完成隊列CQ的頭部指針HP門鈴信息來執(zhí)行中斷生成。例如,在示例性實施例中,儲存器控制器210可以執(zhí)行遲鈍中斷生成操作,以便在出現(xiàn)完成隊列CQ的尾部指針與頭部指針之間的第一失配時的時間點時生成中斷。在示例性實施例中,儲存控制器210可以在通過遲鈍中斷生成操作累積的完成條目的數(shù)量超過閾值時,或者響應(yīng)于從先前生成中斷的時間點開始過去的一定量的時間,來生成相對少量的中斷。儲存器控制器210的詳細操作將稍后描述。

根據(jù)本發(fā)明構(gòu)思的示例性實施例,儲存設(shè)備200可以減少生成中斷的事件的數(shù)量,從而減少所消耗的資源并且通過降低開銷來提高主機100的性能。

圖2是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的主機的隊列管理操作的框圖。參照圖2,被加載到主機存儲器120上并且被處理單元110驅(qū)動的主機100的軟件可以包括例如應(yīng)用程序121和操作系統(tǒng)(OS)的內(nèi)核122。內(nèi)核122例如可以包括輸入/輸出調(diào)度器126和設(shè)備驅(qū)動器128。此外,文件系統(tǒng)可以包括在操作系統(tǒng)的內(nèi)核122中。

應(yīng)用程序121可以被驅(qū)動作為基本服務(wù),或者可以是由用戶驅(qū)動的上層的軟件。多個應(yīng)用程序App0至App3可以同時被驅(qū)動以提供各種服務(wù)。要執(zhí)行的應(yīng)用程序App0至App3可以被加載到主機存儲器120上,并且可以由處理器單元110執(zhí)行。

例如,如果用戶請求回放視頻文件,則可以執(zhí)行用于播放視頻的應(yīng)用程序(例如,視頻播放器)。例如,所執(zhí)行的應(yīng)用程序可以向儲存設(shè)備發(fā)出讀取請求或?qū)懭胝埱笠圆シ潘埱蟮囊曨l文件。用于對于儲存設(shè)備200的寫入請求的命令可以被寫入在提交隊列123處,并且提交隊列123的尾部指針TP可以被更新。此外,主機100可以將尾部門鈴輸出給儲存設(shè)備200,向儲存設(shè)備200指示在提交隊列123處記錄了新的命令。在該情況下,儲存設(shè)備200可以從提交隊列123取得對應(yīng)的命令,并且可以執(zhí)行所取得的命令。

此外,儲存設(shè)備200可以將完成條目寫入在完成隊列125處,以指示最新近從主機100取得的命令被完成。此時,完成隊列125的尾部指針TP因為完成條目被寫入而增加。接下來,如果從儲存設(shè)備200接收到與對應(yīng)的完成條目相對應(yīng)的中斷,則主機100可以執(zhí)行內(nèi)部操作,以便完成處理在提交隊列123處寫入的命令的過程。

設(shè)備驅(qū)動器128例如可以是用于在OS級別控制儲存設(shè)備200的控制模塊。如果由用戶或從應(yīng)用程序121請求存儲器訪問,則設(shè)備驅(qū)動器128可以被調(diào)用。設(shè)備驅(qū)動器128例如可以使用用于控制儲存設(shè)備200的內(nèi)核的軟件模塊來實現(xiàn)。

當應(yīng)用程序生成命令時,可以將多個命令寫入在提交隊列123處,并且與被寫入在提交隊列123中的命令相對應(yīng)的完成條目可以被寫入在完成隊列125中。主機100可以基于中斷來處理寫入在完成隊列125中的完成條目。在完成隊列125中所累積的完成條目的處理被延遲的情況下,中斷可能頻繁發(fā)生,這可能造成主機100處的開銷。根據(jù)本發(fā)明構(gòu)思的示例性實施例,儲存設(shè)備200可以以減少要對其生成中斷的事件的數(shù)量的方式來生成中斷,如在下文進一步描述的那樣,減少系統(tǒng)的開銷。

圖3是根據(jù)本發(fā)明構(gòu)思的示例性實施例的、在圖1中所示的儲存器控制器210的框圖。參照圖3,儲存器控制器210例如可以包括中央處理單元(CPU)211、主機接口212、緩沖管理器216和閃速接口217。

CPU 211可以向主機接口212和閃速接口217的寄存器提供被用于針對非易失性存儲器件230、240、……、250的讀取/寫入操作的各種各樣的信息。CPU 211可以基于被提供用于儲存器控制器210的各種控制操作的固件來進行操作。例如,CPU 211可以執(zhí)行閃速轉(zhuǎn)換層(FTL)以用于垃圾收集,以便管理非易失性存儲器件230、240、……、250,地址管理、耗損均衡等。

主機接口212可以與主機100通信。例如,主機接口212可以包括用于寫入主機100的提交隊列123的尾部指針門鈴的第一門鈴寄存器213。主機接口212還可以包括第二門鈴寄存器214,在第二門鈴寄存器214處,主機100寫入完成隊列125的頭部指針HP被更新以及更新位置。此外,主機接口212還可以包括用于根據(jù)第二門鈴寄存器214的狀態(tài)來管理要生成的中斷的中斷表215。

主機接口212可以提供主機100與儲存設(shè)備200之間的物理連接。例如,主機接口212可以按照主機100的主線格式與儲存設(shè)備200對接。主機100的主線格式可以包括例如通用串行總線(USB)、小型計算機系統(tǒng)接口(SCSI)、高速PCI、ATA、并行ATA(PTA)、串行ATA(SATA)或串行附接SCSI(SAS)中的至少一個。在示例性實施例中,可以對主機接口212應(yīng)用安裝在主機100上的、使用高速PCI接口來交換數(shù)據(jù)的NVMe協(xié)議。

緩沖管理器216可以控制緩沖存儲器220的讀取和寫入操作。例如,緩沖管理器216可以將寫入數(shù)據(jù)或讀取數(shù)據(jù)臨時存儲在緩沖存儲器220中。緩沖管理器216可以在CPU 211的控制下按照流單位對緩沖存儲器的存儲區(qū)域進行分類。

閃速接口217可以與閃速存儲器件(例如非易失性存儲器件230、240、……、250)交換數(shù)據(jù)。閃速接口217可以通過存儲器通道CH1至CHn將來自緩沖存儲器220的數(shù)據(jù)寫入到閃速存儲器件(例如非易失性存儲器件230、240、……、250)處。從閃速存儲器件(例如非易失性存儲器件230、240、……、250)讀取出的讀取數(shù)據(jù)可以通過存儲器通道來提供,并且可以通過閃速接口217來收集。所收集的數(shù)據(jù)可以存儲在緩沖存儲器220中。

儲存器控制器210可以響應(yīng)于由主機100寫入在第一門鈴寄存器213處的門鈴信息來取得在主機100的提交隊列123處寫入的命令。如果所取得的命令CMD的執(zhí)行完成,則儲存控制器210可以在主機的完成隊列125處寫入指示對應(yīng)的命令的執(zhí)行完成的完成條目。此外,儲存器控制器210可以參照由主機100所管理的完成隊列125的尾部指針TP和頭部指針HP之間的差異來針對對應(yīng)的完成條目生成中斷。

根據(jù)本發(fā)明構(gòu)思的示例性實施例,雖然完成條目被寫入在主機100處,但是儲存控制器210可以僅在完成隊列125的尾部指針TP與頭部指針HP之間的第一失配值出現(xiàn)時生成中斷。此外,儲存控制器210可以在完成隊列CQ的尾部指針TP與頭部指針HP之間的差異超過閾值時生成中斷。此外,儲存控制器210可以在從完成隊列125的尾部指針TP與頭部指針HP之間的第一失配值出現(xiàn)時的時間點開始過去一時間之后,針對所累積的完成條目生成中斷。

圖4是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的、圖3的儲存器控制器210針對主機生成主斷的方法的示例的圖。在圖4中例示生成與在主機100處管理的多個完成隊列215a和215b相對應(yīng)的中斷的方法。在本文中所描述的示例中,假設(shè)主機100先前將命令集合寫入在提交隊列(SQ)123處。在當前示例中所描述的本發(fā)明構(gòu)思的特征將以儲存設(shè)備200取得并執(zhí)行命令條目并且將完成條目寫入在主機100的完成隊列215a和215b處的步驟來描述。

在執(zhí)行一個所取得的命令之后,儲存器控制器210可以將完成條目CQ1_1寫入在第一完成隊列215a處(①)。在執(zhí)行另外的所取得的命令之后,儲存器控制器210可以將完成條目CQ2_1寫入在第二完成隊列215b處(②)。接下來,儲存器控制器210可以檢測在第二門鈴寄存器214處更新的完成隊列的頭部指針與尾部指針之間的差異。如果完成隊列的頭部指針HP與尾部指針TP之間的差異對應(yīng)于第一失配,或者如果所累積的完成條目的數(shù)量超過閾值,則儲存器控制器210可以生成與兩個完成條目CQ1_1和CQ2_1相對應(yīng)的中斷Int0(④)。因此,單個中斷可以允許主機100處理兩個完成條目CQ1_1和CQ2_1(⑤)。如果兩個完成條目CQ1_1和CQ2_1的處理完成,則主機100可以更新第二門鈴寄存器214,以通知、更新或釋放完成隊列215a和215b的頭部指針(⑥)。

在以上所描述的本發(fā)明構(gòu)思的示例性實施例中,使用一個中斷向量來提供針對多個完成隊列的中斷。然而,示例性實施例不限于此。例如,示例性實施例可以利用三個或更多的完成隊列。

圖5是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的儲存設(shè)備200的操作方法的時序圖。參照圖5,在示例性場景中,在執(zhí)行從主機100所取得的命令之后,儲存器控制器210將完成條目寫入在主機100的完成隊列125處。中斷在完成隊列的尾部指針與頭部指針之間的第一失配的時間點處生成。將在下面更詳細地描述該示例性場景。

參照參考圖5描述的示例性場景,當完成從主機100取得的命令的執(zhí)行時,儲存器控制器210將完成條目C0寫入在主機100的完成隊列125處。當完成條目C0被寫入時,完成隊列125的尾部指針TP增加至(N+1)。然而,主機100未處理完成隊列125,并且完成隊列125的頭部指針HP不增加。因此,頭部指針HP此時為N。即,因為完成隊列125的尾部指針TP與頭部指針HP之間的差異為1,所以將時間點T0確定為第一失配時間點(例如第一時間點,此時,尾部指針TP的值與頭部指針HP的值不匹配)。在第一失配時間點時出現(xiàn)的尾部指針TP與頭部指針HP之間的值的差異在本文中可以被稱為第一失配值。在該情況下,儲存器控制器210向主機100輸出中斷IR0。中斷例如可以是銷基(pin-base)信號,或者可以以消息信令中斷(MSI)的方式或MSI-X方式來傳遞。

當在時間T1時完成一個所取得的命令的執(zhí)行時,儲存器控制器210將完成條目C1寫入在主機100的完成隊列125處。當完成條目C1被寫入時,完成隊列125的尾部指針TP增加至(N+2)。然而,完成隊列125未被主機100處理,并且完成隊列125的頭部指針不增加。因此,頭部指針HP此時仍為N。因此,當在時間T1時寫入新的完成條目C1時,完成隊列125的尾部指針TP與頭部指針HP之間的差異為2。因為尾部指針TP與頭部指針HP之間的差異不等于第一失配值(例如,不等于1),所以不生成中斷,并且在該示例性實施例中,僅在尾部指針TP與頭部指針HP之間的差異等于第一失配值(例如,在該示例性場景中等于1)時才生成中斷。

當在時間T2時完成一個所取得的命令的執(zhí)行時,儲存器控制器210將完成條目C2寫入在主機100的完成隊列125處。當寫入完成條目C2時,完成隊列125的尾部指針TP增加至(N+3)。然而,完成隊列125未被主機100處理,并且完成隊列125的頭部指針HP不增加。因此,當在時間T2時寫入新的完成條目C2時,完成隊列125的尾部指針TP與頭部指針HP之間的差異為3。因為尾部指針TP與頭部指針HP之間的差異不等于第一失配值(例如,不等于1),所以不生成中斷。

當在時間T3時完成一個所取得的命令的執(zhí)行時,儲存器控制器210將完成條目C3寫入在主機100的完成隊列125處。當寫入完成條目C3時,完成隊列125的尾部指針TP增加至(N+4)。然而,因為完成隊列125仍未被主機100處理,所以完成隊列125的頭部指針HP維持在N,并且尾部指針TP與頭部指針HP之間的差異為4。因為尾部指針TP與頭部指針HP之間的差異不等于第一失配值(例如,不等于1),所以不生成中斷。在時間T3之后,完成隊列125的尾部指針TP增加至(N+5),并且完成隊列125被主機100處理。因此,頭部指針HP增加至N+4,并且在時間T4之前,尾部指針TP與頭部指針HP之間的差異被重置為0。

當在時間T4時完成一個所取得的命令的執(zhí)行時,儲存器控制器210將完成條目C4寫入在主機100的完成隊列125處。當寫入完成條目C4時,完成隊列125的尾部指針TP增加至(N+5)。在該時間點,完成隊列125的頭部指針維持在(N+4)。因此,當在時間T4時寫入新的完成條目C4時,完成隊列125的尾部指針TP與頭部指針HP之間的差異等于第一失配值(例如,等于1)。在該情況下,因為尾部指針TP與頭部指針HP之間的差異對應(yīng)于第一失配值,所以儲存器控制器210發(fā)出中斷IR1。

在時間T5之后,可以在相同條件下控制中斷的生成。因此,基于以上描述,僅在尾部指針TP與頭部指針HP之間的差異對應(yīng)于第一失配值時生成中斷,從而減少由于中斷生成而降低主機100的性能。

圖6是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的儲存器控制器210的操作方法的流程圖。如上所述,在示例性實施例中,儲存設(shè)備210僅在完成隊列CQ的尾部指針TP與頭部指針HP之間的差異等于第一失配值時才生成中斷。

在操作S110中,儲存器控制器210參考從主機100傳遞的完成隊列125的頭部指針門鈴來檢測尾部指針TP與頭部指針HP之間的差異(TP-HP)。尾部指針可以由儲存器控制器210先前寫入在主機100處。因此,尾部指針TP的位置可以是儲存器控制器210已經(jīng)識別的信息。相反,儲存器控制器210(其寫入完成隊列125)可以僅取決于由主機100所提供的門鈴信息來獲得完成隊列125的頭部指針HP的位置。儲存器控制器210可以參考由消耗完成隊列125的主機100所提供的頭部指針HP的位置來檢測尾部指針TP與頭部指針HP之間的差異。

在操作S120中,儲存設(shè)備210檢測完成隊列125的尾部指針TP與頭部指針HP之間的差異是否為0。如果完成隊列125的尾部指針TP與頭部指針HP之間的差異為0,則儲存器控制器210不生成中斷,并且過程返回到操作S110。如果完成隊列125的尾部指針TP與頭部指針HP之間的差異不為0,則過程繼續(xù)到操作S130。

在操作S130中,儲存設(shè)備210檢測完成隊列125的尾部指針TP與頭部指針HP之間的差異是否為1。如果完成隊列125的尾部指針TP與頭部指針HP之間的差異不為1,則儲存器控制器210不生成中斷,并且過程返回到操作S110。如果完成隊列125的尾部指針TP與頭部指針HP之間的差異為1,則過程繼續(xù)到操作S140。這里,完成隊列125的尾部指針TP與頭部指針HP之間的差異不為1,可以意味著未被處理的完成隊列的數(shù)量是2或2以上。

在操作S140時,因為完成隊列125的尾部指針TP與頭部指針HP之間的差異為1,所以儲存器控制器210向主機100輸出中斷。中斷例如可以是銷基信號,或者可以以消息信令中斷(MSI)的方式或MSI-X方式來傳遞。

在上述的本發(fā)明構(gòu)思的示例性實施例中,僅在完成隊列125的尾部指針TP與頭部指針HP之間的差異為1時才發(fā)出中斷(例如,僅在尾部指針TP與頭部指針HP之間的差異等于第一失配值時才生成中斷)。然而,本發(fā)明構(gòu)思的示例性實施例不限于失配值等于1。例如,在示例性實施例中,可以僅在完成隊列125的尾部指針TP與頭部指針HP之間的差異等于不同的失配值(例如2、3等)時生成中斷,或者可以僅在聚合計數(shù)等于聚合閾值(如在下文進一步描述的)時才生成中斷。根據(jù)示例性實施例的上述中斷生成方法可以由于處理累積的中斷(例如,可以利用較少的中斷)而減小主機100的開銷。

圖7是例示根據(jù)圖5的中斷生成方法的主機和儲存設(shè)備的調(diào)用處理過程的圖。參照圖7,在儲存設(shè)備200處理完從主機100取得的命令之后將完成條目寫入在完成隊列125處時,該過程開始。

首先,儲存設(shè)備200完成所取得的命令的執(zhí)行,并且通過將完成條目寫入在主機100的完成隊列125處來指示該狀態(tài)。此時,用主機100的響鈴緩沖器(ring buffer)實現(xiàn)的完成隊列125的尾部指針TP增加。

當寫入完成隊列125時,主機100向儲存設(shè)備100通知完成隊列125的最新近的頭部指針HP。在示例性實施例中,可以省略提供完成隊列125的最新近的頭部指針HP的過程。替代地,在示例性實施例中,在由儲存設(shè)備200寫入完成條目之前提供完成隊列125的最新近的頭部指針HP。

儲存設(shè)備200參考尾部指針TP和頭部指針HP的信息來檢測完成隊列125的尾部指針TP與頭部指針HP之間的差異,并且僅在尾部指針TP與頭部指針HP之間的差異等于1(例如,等于在圖5的示例性實施例中的第一失配值)時才生成中斷。

圖8是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的儲存設(shè)備200的操作方法的時序圖。參照圖8,在示例性場景下,在執(zhí)行從主機100取得的命令之后,儲存器控制器210將完成條目C0、C1、C2等寫入在主機100的完成隊列125處。在參照圖8描述的示例性實施例中,僅在完成隊列125的尾部指針TP與頭部指針HP之間的累積的差異達到聚合閾值時才生成中斷。即,在該示例性實施例中,設(shè)置聚合閾值,并且僅在完成隊列125的尾部指針TP與頭部指針HP之間的差異等于聚合閾值時才生成中斷。在該示例性實施例中,寫入完成條目的間隔可以根據(jù)儲存設(shè)備200的狀態(tài)或性能、所取得的命令的類型等而不同,這在下面進一步地描述。

參照參考圖8描述的示例性場景,假設(shè)聚合閾值被設(shè)置為4(TH=4)。此外,圖8示出聚合計數(shù),其在下面參照圖9被描述為等于(TH-(TP-HP))。當完成從主機100取得的命令的執(zhí)行時,儲存器控制器210將完成條目C0寫入在主機100的完成隊列125處。當完成條目C0被寫入時,完成隊列125的尾部指針TP增加。因為在時間T0時檢測到完成隊列125的尾部指針TP與頭部指針HP之間的差異為1,所以時間點T0被確定為第一失配時間點。然而,在該示例性實施例中,儲存器控制器210在該時間時等待而不生成中斷。例如,在該示例性實施例中,儲存器控制器被設(shè)置,使得僅在完成隊列125的尾部指針TP與頭部指針HP之間的差異等于聚合閾值(例如,等于4)時的時間點才生成中斷。該時間點還對應(yīng)于聚合計數(shù)等于0。此后,因為來自主機100的完成隊列125的頭部指針門鈴被寫入,所以尾部指針TP與頭部指針HP之間的差異被設(shè)置為0,因此,聚合計數(shù)為4。

當在時間T1時完成一個所取得的命令的執(zhí)行時,儲存器控制器210將完成條目C1寫入在主機100的完成隊列125處。當完成條目C1被寫入時,完成隊列125的尾部指針TP增加。因為在時間T1時檢測到完成隊列125的尾部指針TP與頭部指針HP之間的差異為1,所以時間點T1被確定為等于第一失配值(例如,等于1)。然而,在該示例性實施例中,儲存控制器210即使在該時間也等待而不生成中斷。例如,在該示例性實施例中,儲存器控制器210被設(shè)置,使得僅在完成隊列125的尾部指針TP與頭部指針HP之間的差異等于聚合閾值(例如,等于4)時才生成中斷。該時間點還對應(yīng)于聚合計數(shù)等于0。此后,因為來自主機100的完成隊列125的頭部指針門鈴被寫入,所以尾部指針TP與頭部指針HP之間的差異被設(shè)置0,因此,聚合計數(shù)為4。

當在時間T2時完成一個所取得的命令的執(zhí)行時,儲存器210將完成條目C2寫入在主機100的完成隊列125處。當完成條目C2被寫入時,完成隊列的尾部指針TP增加。在時間T2時,檢測到完成隊列125的尾部指針TP與頭部指針HP之間的差異為1,并且檢測到聚合計數(shù)為3。然而,在示例性實施例中,儲存器控制器210即使在該時間也等待而不生成中斷。

當在時間T3時完成一個所取得的命令的執(zhí)行時,儲存器控制器210將完成條目C3寫入在主機100的完成隊列125處。當完成條目C3被寫入時,檢測到完成隊列125的尾部指針TP與頭部指針HP之間的差異為2,并且檢測到聚合計數(shù)為2。因此,儲存器控制器210即使在該時間也等待而不生成中斷。

當在時間T4時完成一個所取得的命令的執(zhí)行時,儲存器210將完成條目C4寫入在主機100的完成隊列125處。當完成條目C4被寫入時,檢測到完成隊列125的尾部指針TP與頭部指針HP之間的差異為3,并且檢測到聚合計數(shù)為1。因此,儲存器控制器210即使在該時間也等待而不生成中斷。

當在時間T5時完成一個所取得的命令的執(zhí)行時,儲存器控制器210將完成條目C5寫入在主機100的完成隊列125處。當完成條目C5被寫入時,檢測到完成隊列125的尾部指針TP與頭部指針HP之間的差異為4(例如等于聚合閾值),并且檢測到聚合計數(shù)為0。因為尾部指針TP與頭部指針HP之間的差異等于聚合閾值,并且因為關(guān)于尾部指針TP與頭部指針HP的聚合計數(shù)達到0,所以儲存器控制器210生成對應(yīng)于在主機100處累積的多個完成條目的中斷IR0。

在上述示例性實施例中,儲存設(shè)備210僅在完成隊列CQ的尾部指針TP與頭部指針HP之間的差異達到聚合閾值時才生成中斷。即,僅在特定聚合計數(shù)(例如,聚合計數(shù)等于0)時才生成中斷。因此,在本發(fā)明構(gòu)思的示例性實施例中,可以減少由于中斷聚合而引起的主機性能的降低。

圖9是例示參照圖8描述的、根據(jù)本發(fā)明構(gòu)思的示例性實施例的儲存器控制器的中斷生成方法的流程圖。參照圖9,儲存器控制器210基于在完成隊列125處累積的完成條目的數(shù)量來發(fā)出中斷。

在操作S210中,儲存器控制器210參考從主機100傳遞的完成隊列125的頭部指針門鈴來檢測尾部指針TP與頭部指針HP之間的差異(TP-HP)。儲存器控制器210可以參考主機100提供的門鈴信息來計算完成隊列125的尾部指針TP與頭部指針HP之間的差異(TP-HP)。

在操作S220中,儲存器控制器210確定在完成隊列125處累積的條目的數(shù)量。例如,儲存器控制器210可以確定尾部指針TP與頭部指針HP之間的差異是否達到聚合閾值。這里,可以利用聚合計數(shù)作為用于確定所累積的條目的數(shù)量是否達到聚合計數(shù)的參數(shù)。即,聚合計數(shù)是指示在完成隊列125處累積的條目的數(shù)量是否達到聚合計數(shù)的參數(shù)。例如,聚合計數(shù)可以對應(yīng)于通過從閾值TH減去尾部指針TP與頭部指針HP之間的差異(TP-HP)所獲得的值。即,聚合計數(shù)可通過(TH-(TP-HP))來計算出。然而,確定在完成隊列125處累積的條目的數(shù)量是否達到聚合計數(shù)的方式不限于此。

在操作S230中,儲存器控制器210確定聚合計數(shù)是否為0。確定聚合計數(shù)為0,是指在完成隊列125處累積的條目的數(shù)量達到閾值TH。當聚合計數(shù)不為0時,過程返回到操作S210。當聚合計數(shù)為0時,過程繼續(xù)到操作S240。

因為完成隊列125的尾部指針TP與頭部指針HP之間的差異達到閾值TH,所以在操作S240中,儲存設(shè)備210向主機100輸出中斷。此時,可以傳遞具有與多個完成條目相對應(yīng)的值的中斷向量。中斷例如可以是銷基信號,或者可以以消息信令中斷(MSI)方式或MSI-X方式來傳遞。

根據(jù)上述的本發(fā)明構(gòu)思的示例性實施例,基于完成隊列125的尾部指針TP與頭部指針HP之間的差異是否達到閾值TH來確定是否生成中斷。即,在上述的示例性實施例中,僅在完成隊列125的尾部指針TP與頭部指針HP之間的差異達到閾值TH時才生成中斷。因此,根據(jù)本發(fā)明構(gòu)思的示例性實施例,可以減少所生成并提供給主機100的中斷的數(shù)量。

圖10是例示根據(jù)圖9的中斷生成方法的主機和儲存設(shè)備的調(diào)用處理過程的圖。參照圖10,在儲存設(shè)備200在處理從主機100取得的命令之后將完成條目寫入在完成隊列125處時,過程開始。

首先,儲存設(shè)備200完成所取得的命令的執(zhí)行,并且通過將完成條目寫入在主機100的完成隊列125處來指示該狀態(tài)。此時,完成隊列125的尾部指針TP增加。

當寫入完成隊列125時,主機100向儲存設(shè)備100通知完成隊列125的最新近的頭部指針HP。在示例性實施例中,可以省略提供完成隊列125的最新近的頭部指針HP的過程。替代地,在示例性實施例中,在由儲存設(shè)備200寫入完成條目之前提供完成隊列125的最新近的頭部指針HP。

儲存設(shè)備210參考由主機100提供的完成隊列的頭部指針信息來計算完成隊列125的聚合計數(shù)。即,可以確定在完成隊列125處未釋放的條目的數(shù)量是否達到閾值TH。在示例性實施例中,聚合計數(shù)可以被用作用于這樣的確定的參數(shù)。例如,儲存器控制器210可以確定聚合計數(shù)為0,其指示所累積的完成條目的數(shù)量達到閾值TH。當聚合計數(shù)不為0時,儲存器控制器210不生成中斷。相反,當聚合計數(shù)為0時,儲存器控制器210發(fā)出與所累積的多個完成條目相關(guān)聯(lián)的中斷向量。

圖11是例示中斷生成方法的示例性實施例的時序圖。參照圖11,在示例性實施例中,在執(zhí)行從主機100取得的命令之后,儲存器控制器210將完成條目C0、C1、C2等寫入在主機100的完成隊列125處。此外,儲存設(shè)備210在完成隊列125的尾部指針TP與頭部指針HP之間的第一失配出現(xiàn)時(如參照圖5至8所述)或者在完成隊列處累積的完成條目的數(shù)量達到閾值TH的時間點時(如參照圖8至10所述)發(fā)出中斷。

當從主機100取得的命令的執(zhí)行完成時,在時間T0時,儲存器控制器210將完成條目C0寫入在主機100的完成隊列125處。儲存器控制器210如上所述地基于本發(fā)明構(gòu)思的示例性實施例的標準來確定是否發(fā)出與完成條目C0相對應(yīng)的中斷。因為檢測到在時間T0完成隊列125的尾部指針TP與頭部指針HP之間的差異為1,所以時間點T0被確定為第一失配時間點。此外,此時,與閾值TH(在圖11的示例性場景下,TH=4)相對應(yīng)的聚合計數(shù)被計算為3。儲存器控制器210發(fā)出中斷IR0,而不管聚合計數(shù)的大小如何,因為出現(xiàn)尾部指針TP與頭部指針HP之間的第一失配。

在時間T1和T2時,當完成條目C1和C2分別被寫入在主機100的完成隊列125處時,可以根據(jù)聚合計數(shù)條件或者與指針之間的第一失配相對應(yīng)的條件來發(fā)出中斷IR0和IR1。

當從主機100取得的命令的執(zhí)行完成時,在時間T3時,儲存器控制器210將完成條目C3寫入在主機100的完成隊列125處。儲存器控制器210確定是否發(fā)出與完成條目C3相對應(yīng)的中斷。例如,可以分別確定聚合計數(shù)是否達到閾值TH。因為尾部指針TP與頭部指針HP之間的差異為2,所以確定未出現(xiàn)指針之間的第一失配。此外,聚合計數(shù)的值被計算為2。因此,確定不滿足指針之間的第一失配和聚合計數(shù)。因此,儲存器控制器210等待而不生成與完成條目C3相對應(yīng)的中斷。

因為尾部指針TP與頭部指針HP之間的差異為3,所以在時間T4,確定為未出現(xiàn)指針之間的第一失配。此外,聚合計數(shù)的值被計算為1。因此,確定不滿足指針之間的第一失配和聚合計數(shù)。因此,在時間T4時,儲存器控制器210不生成與完成條目C4相對應(yīng)的中斷。

當從主機100取得的命令的執(zhí)行完成時,在時間T5時,儲存器控制器210將完成條目C5寫入在主機100的完成隊列125處。儲存器控制器210確定是否發(fā)出與完成條目C5相對應(yīng)的中斷。例如,在示例性實施例中,儲存器控制器210可以分別確定是否出現(xiàn)尾部指針TP與頭部指針HP之間的第一失配,以及確定聚合計數(shù)是否達到閾值TH。因為尾部指針TP與頭部指針HP之間的差異為4,所以其不對應(yīng)于第一失配條件。然而,聚合計數(shù)的值被計算為0。因此,儲存器控制器210基于聚合計數(shù)條件發(fā)出中斷IR3。

在時間T6和T7時,根據(jù)上述方式做出關(guān)于是否針對完成條目C6和C7生成中斷的確定。為了解釋的方便,因此省略對其進一步的描述。

圖12是例示用于執(zhí)行參照圖11描述的本發(fā)明構(gòu)思的示例性實施例的儲存器控制器210的中斷生成方法的流程圖。參照圖12,在示例性實施例中,儲存器控制器210基于在完成隊列125處累積的完成條目的數(shù)量并且基于指針之間的第一失配來發(fā)出中斷(例如,當這些條件中的任何一個出現(xiàn)時生成中斷)。

在操作S310中,儲存器控制器210參考從主機100傳遞的完成隊列125的頭部指針門鈴來檢測尾部指針TP與頭部指針HP之間的差異(TP-HP)。儲存器控制器210參考由主機100提供的門鈴信息來計算完成隊列125的尾部指針TP與頭部指針HP之間的差異(TP-HP)。

在操作S320中,儲存器控制器210計算在完成隊列125處累積的條目的數(shù)量。例如,在示例性實施例中,儲存器控制器210可以確定尾部指針TP與頭部指針HP之間的差異是否達到閾值。在示例性實施例中,儲存器控制器210計算聚合計數(shù),其為通過從閾值TH減去尾部指針TP與頭部指針HP之間的差異(TP-HP)所獲得的值。

在操作S330中,儲存器控制器210確定是否出現(xiàn)完成隊列125的指針之間的第一失配(例如,(TP-HP)=1)。當指針之間的差異(TP-HP)不為1時,過程繼續(xù)到操作S340。當指針之間的差異(TP-HP)為1時,過程繼續(xù)到操作S350以發(fā)出中斷。

在操作S340中,儲存器控制器210確定聚合計數(shù)是否為0。當在完成隊列125處累積的條目的數(shù)量達到閾值TH時,確定聚合計數(shù)為0。當聚合計數(shù)不為0時,過程返回到操作S310。當聚合計數(shù)為0時,過程繼續(xù)到操作S350。

因為完成隊列125的尾部指針TP與頭部指針HP之間的差異首次為1,并且因為聚合計數(shù)達到閾值TH,所以在操作S350中,儲存設(shè)備210發(fā)出中斷。此時,可以傳遞具有與一個完成條目或多個完成隊列相對應(yīng)的值的中斷向量。

根據(jù)上述的本發(fā)明構(gòu)思的示例性實施例,基于是否出現(xiàn)完成隊列125的指針之間的第一失配以及所累積的條目的數(shù)量是否達到閾值,來確定是否生成中斷(例如,當這兩個條件中的任何一個出現(xiàn)時,確定為生成中斷)。

圖13是例示根據(jù)圖11的中斷生成方法的主機和儲存設(shè)備的調(diào)用處理過程的圖。參照圖13,當儲存設(shè)備200在處理從主機100取得的命令之后將完成條目寫入在完成隊列125處時,過程開始。

首先,儲存設(shè)備200完成所取得的命令的執(zhí)行,并且通過在主機100的完成隊列125處寫入完成條目來指示該狀態(tài)。此時,主機100的完成隊列125的尾部指針TP增加。

當完成隊列125被寫入時,主機100向儲存設(shè)備100通知完成隊列125的最新近的頭部指針HP。在示例性實施例中,可以省略提供完成隊列125的最新近的頭部指針HP的過程。替代地,在示例性實施例中,在由儲存設(shè)備200寫入完成條目之前提供完成隊列125的最新近的頭部指針HP。

儲存器控制器210參考從主機100傳遞的完成隊列125的頭部指針信息來檢測完成隊列125的尾部指針TP與頭部指針HP之間的差異(TP-HP)。此外,儲存器控制器210計算聚合計數(shù),其為通過從閾值TH減去尾部指針TP與頭部指針HP之間的差異(TP-HP)所獲得的值。當指針之間的差異(TP-HP)為1時,儲存器控制器210發(fā)出中斷,而不管聚合計數(shù)值。當指針之間的差異(TP-HP)不為1時,確定聚合計數(shù)是否達到閾值TH。在示例性實施例中,當指針之間的差異(TP-HP)為0時,儲存器控制器210發(fā)出中斷,并且當指針之間的差異(TP-HP)不為0時,儲存器控制器210不發(fā)出中斷。

圖14是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的中斷生成方法的時序圖。參照圖14,在執(zhí)行從主機100取得的命令之后,儲存器控制器210將完成條目C0、C1、C2等寫入在主機100的完成隊列125處。此外,儲存設(shè)備210在完成隊列125的尾部指針TP與頭部指針HP之間的第一失配出現(xiàn)(參見圖5至圖7)時,或者在發(fā)出先前的中斷之后過去參考過去時間Tout時生成中斷。這里,寫入完成條目的間隔可以根據(jù)例如儲存設(shè)備200的狀態(tài)或性能、所取得的命令的類型等而不同。此外,參考過去時間Tout可以根據(jù)主機100的狀態(tài)或性能或者儲存設(shè)備200的狀態(tài)或性能來確定。

當從主機100取得的命令的執(zhí)行完成時,在時間T0,儲存器控制器210將完成條目C0寫入在主機100的完成隊列125處。儲存器控制器210基于上述的本發(fā)明構(gòu)思的示例性實施例的標準來確定是否發(fā)出與完成條目C0相對應(yīng)的中斷。因為檢測到在時間T0時完成隊列125的尾部指針TP與頭部指針HP之間的差異為1,所以時間點T0被確定為第一失配時間點。因此,發(fā)出中斷IR0,而不管過去的時間如何。

在時間T1時,完成條目C1被寫入在主機100的完成隊列125中,并且儲存器控制器210監(jiān)視完成隊列125以確定是否出現(xiàn)完成隊列125的指針之間的第一失配,并且確定在發(fā)出中斷之后是否過去了參考過去時間Tout。因為檢測到完成隊列125的尾部指針TP與頭部指針HP之間的差異為1,所以檢測時間點被確定為第一失配時間點(例如,差異等于第一失配值)。此外,第一失配時間點被確定為在發(fā)出中斷IR0之后過去了時間ΔT1時的時間點。在該情況下,因為在時間T1時的指針之間的差異滿足中斷發(fā)出條件,所以發(fā)出中斷IR1,而不管過去的時間。因為在時間T2時滿足與在時間T1時相同的中斷發(fā)出條件,所以在時間T2時發(fā)出中斷IR2。

然而,在完成條目C3在時間T3時被寫入時,儲存器控制器210監(jiān)視完成隊列125以確定完成條目的指針之間的第一失配是否出現(xiàn),并且確定是否過去了參考過去時間Tout。此時,尾部指針TP與頭部指針HP之間的差異為2。即,指針之間的差異不滿足中斷發(fā)出條件。此外,因為在發(fā)出中斷IR2之后未過去參考過去進間Tout,所以不滿足中斷發(fā)出條件。因此,此時,中斷的發(fā)出被推遲。

在時間T4時,指針之間的差異為3,并且在發(fā)出中斷IR2之后未過去參考過去時間Tout。因此,不滿足中斷發(fā)出條件。

在時間T5時,指針之間的差異為4,其不滿足中斷發(fā)出條件。然而,時間點T5對應(yīng)于在發(fā)出中斷IR2之后過去的時間ΔT3(其比Tout更長)。因此,儲存器控制器210發(fā)出中斷IR3。

在時間T6,因為過去時間ΔT4不滿足中斷發(fā)出條件,并且完成隊列125的點之間的差異(TP-HP)對應(yīng)于1,所以發(fā)出中斷IR4。在時間T7,因為過去時間ΔT5不滿足中斷發(fā)出條件,但是完成隊列125的點之間的差異(TP-HP)對應(yīng)于1,所以發(fā)出中斷IR5。

根據(jù)以上參照圖14描述的本發(fā)明構(gòu)思的示例性實施例,基于在發(fā)出中斷之后過去的時間量以及完成隊列125的指針之間的差異是否對應(yīng)于第一失配來做出是否發(fā)出中斷的確定(例如,當滿足這兩個中斷生成條件中的任何一個時生成中斷)。

圖15是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的中斷生成方法的時序圖。參照圖15,儲存器控制器210基于確定完成隊列125的指針之間的第一失配是否出現(xiàn)(參見圖5至圖7)、聚合計數(shù)(參見圖8至圖10)以及在發(fā)出中斷之后過去的時間(參見圖14)中的至少一個來發(fā)出中斷。為了描述的方便,假設(shè)在發(fā)出中斷之后過去的時間為Tout。

在時間T0時,儲存器控制器210將完成條目C0寫入在完成隊列125處。儲存器控制器210基于在本文中描述的本發(fā)明構(gòu)思的示例性實施例的標準來確定是否發(fā)出與完成條目C0相對應(yīng)的中斷。因為檢測到在時間T0時完成隊列125的尾部指針TP與頭部指針HP之間的差異為1,所以時間點T0被確定為第一失配時間點。因此,在該時間發(fā)出中斷IR0,而不管過去的時間或聚合計數(shù)如何。在時間T1和T2時,出于與在時間T0時相同的理由,分別發(fā)出中斷IR1和IR2。即,時間點T1是第一失配時間點,因為過去時間ΔT1短于Tout,并且對應(yīng)于尾部指針TP與頭部指針HP之間的差異的值從0轉(zhuǎn)變成1。時間點T2為第一失配時間點,因為過去時間ΔT2短于Tout,并且對應(yīng)于尾部指針TP與頭部指針HP之間的差異的值從0轉(zhuǎn)變成1。

然而,因為尾部指針TP與頭部指針HP之間的差異為2,所以其不對應(yīng)于第一失配條件。另外,時間點T3不滿足過去時間條件,因為在發(fā)出中斷IR2之后過去的時間短于Tout。另外,時間點T3不滿足中斷生成條件,因為聚合計數(shù)為2。因此,在時間T3時,儲存器控制器210不發(fā)出中斷。

因為尾部指針TP與頭部指針HP之間的差異為3,所以其不對應(yīng)于第一失配條件。另外,時間點T4不滿足中斷生成條件,因為聚合計數(shù)為1。然而,時間點T4滿足過去時間條件,因為在發(fā)出中斷IR2之后過去了時間ΔT3(其長于Tout)。因此,儲存器控制器210在時間T4時發(fā)出中斷IR3。

在時間T5時,聚合計數(shù)條件滿足中斷生成條件,因此發(fā)出中斷IR4。在時間T6時,發(fā)出中斷IR5,因為指針之間的差異滿足第一失配條件。在時間T7時,發(fā)出中斷IR6,因為指針之間的差異滿足三個中斷生成條件中的第一失配條件。

根據(jù)上述的本發(fā)明構(gòu)思的示例性實施例,基于以下中斷生成條件來發(fā)出中斷:完成隊列125的指針之間的差異是否對應(yīng)于第一失配(參見圖5至圖8);聚合閾值/聚合計數(shù)(參見圖8至圖10);以及在發(fā)出中斷之后過去的時間(參見圖14)。在示例性實施例中,響應(yīng)于出現(xiàn)三個中斷生成條件中的至少一個來發(fā)出中斷。然而,本發(fā)明構(gòu)思的示例性實施例不限于此。例如,在示例性實施例中,可以包括另外的中斷生成條件。此外,在示例性實施例中,代替在滿足至少一個中斷條件時發(fā)出中斷,可以僅在滿足至少兩個或更多的某些中斷條件時或者滿足所有可能的中斷條件時才發(fā)出中斷。

圖16是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的、參照圖1描述的非易失性存儲器的框圖。在本文中將描述圖1的非易失性存儲器(例如非易失性存儲器230、240、……、250)的功能和特性。參照圖16,非易失性存儲器230、240、……、250可以包括存儲單元陣列231、地址解碼器232、控制邏輯和電壓生成電路235、頁面緩沖器233以及輸入/輸出(I/O)電路234。

存儲單元陣列231可以包括多個存儲塊。每個存儲塊可以包括多個單元串,并且每個單元串可以包括多個存儲單元。存儲單元可以與多個字線WL連接。每個存儲單元例如可以是存儲一個比特的單層單元(SLC)或者存儲至少兩個比特的多層單元(MLC)。

地址解碼器232可以通過字線WL、串選擇線SSL和接地選擇線GSL與存儲單元陣列231連接。地址解碼器232可以從外部設(shè)備(例如,處理單元110)接收并解碼物理地址ADD,并且基于解碼結(jié)果來驅(qū)動字線。例如,地址解碼器232可以對從外部設(shè)備接收的物理地址ADD進行解碼,并且可以基于所解碼的物理地址ADD來選擇至少一個字線,并且可以驅(qū)動所選擇的字線。

控制邏輯和電壓生成電路235可以響應(yīng)于來自外部設(shè)備的存儲命令CMD和控制信號CTRL來控制地址解碼器232、頁面緩沖器233和輸入/輸出電路234。例如,根據(jù)示例性實施例,控制邏輯和電壓生成電路235可以響應(yīng)于信號CMD和CTRL來控制其他組件,使得數(shù)據(jù)存儲在存儲單元陣列231中,或者使得存儲在存儲單元陣列231中的數(shù)據(jù)被傳送給外部設(shè)備。

頁面緩沖器233可以通過位線BL連接到存儲單元陣列231。在控制邏輯和電壓生成電路235的控制下,頁面緩沖器233可以控制位線BL,使得從輸入/輸出電路234提供的數(shù)據(jù)存儲在存儲單元陣列231中。在控制邏輯和電壓生成電路235的控制下,頁面緩沖器233可以讀取在存儲單元陣列231中存儲的數(shù)據(jù),并且可以將所讀取的數(shù)據(jù)提供給輸入/輸出電路234。例如,頁面緩沖器233可以按頁地從輸入/輸出電路234被提供數(shù)據(jù),或者可以按頁地從存儲單元陣列231讀取數(shù)據(jù)。

輸入/輸出電路234可以從外部設(shè)備接收數(shù)據(jù),并且可以將所接收的數(shù)據(jù)傳遞給頁面緩沖器233。替代地,輸入/輸出電路234可以從頁面緩沖器233接收數(shù)據(jù),并且可以將所接收的數(shù)據(jù)傳送給外部設(shè)備。例如,輸入/輸出電路234可以與控制信號CTRL同步地與外部設(shè)備交換數(shù)據(jù)。

控制邏輯和電壓生成電路235可以生成非易失性存儲器230操作所使用的各種電壓。例如,控制邏輯和電壓生成電路235可以生成多個程序電壓、多個通路電壓、多個驗證電壓、多個選擇讀取電壓、多個非選擇讀取電壓、多個擦除電壓等??刂七壿嫼碗妷荷呻娐?35可以將所生成的電壓提供給地址解碼器232或者存儲單元陣列231的基板。

圖17是例示根據(jù)本發(fā)明構(gòu)思的示例性實施例的、圖16的存儲單元陣列中所包括的存儲塊的第一存儲塊的電路圖。將參照圖17來描述根據(jù)示例性實施例的、具有三維結(jié)構(gòu)的第一存儲塊BLK1。然而,本發(fā)明構(gòu)思的示例性實施例不限于此。例如,分別包括在非易失性存儲器件230、240、……250中的存儲塊的其他類型可以具有與第一存儲塊BLK1相似的結(jié)構(gòu)。

參照圖17,第一存儲塊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可以連接到第二接地選擇線。

在示例性實施例中,從基板開始基本處于相同高度的接地選擇晶體管可以連接到相同的接地選擇線,而從基板開始處于不同高度的接地選擇晶體管可以連接到不同的接地選擇線。例如,單元串CS11、CS12、CS21和CS22的第一接地選擇晶體管GSTa可能連接到第一接地選擇線,而其第二接地選擇晶體管GSTb可以連接到第二接地選擇線。

從基板開始以基本相同的高度放置的存儲單元(或者接地選擇晶體管GSTa和GSTb)可以共同地連接到相同的字線,并且從基板開始以不同的高度放置的存儲單元可以連接到不同的字線。例如,單元串CS11、CS12、CS21和CS22的存儲單元MC1至MC8可以共同地連接到第一至第八字線WL1至WL8。

在以基本相同的高度放置的第一串選擇晶體管SSTa之中屬于相同行的串選擇晶體管可以連接到相同的串選擇線,而屬于不同行的串選擇晶體管可以連接到不同的串選擇線。例如,第一行中的單元串CS11和CS12的第一串選擇晶體管SSTa可以共同地連接到串選擇線SSL1a,而第二行中的單元串CS21和CS22的第一串選擇晶體管SSTa可以共同地連接到串選擇線SSL1a。

處于基本相同的高度的第二串選擇晶體管SSTb之中屬于相同行的串選擇晶體管可以連接到相同的串選擇線,而屬于不同行的串選擇晶體管可以連接到不同的串選擇線。例如,第一行中的單元串CS11和CS12的第一串選擇晶體管SSTb可以共同地連接到串選擇線SSL1b,而第二行中的單元串CS21和CS22的第一串選擇晶體管SSTb可以共同地連接到串選擇線SSL1b。

相同行中的單元串的串選擇晶體管可以共同地連接到相同的串選擇線。例如,第一行中的單元串CS11和CS12的第一和第二串選擇晶體管SSTa和SSTb可以共同地連接到相同的串選擇線。第二行中的單元串CS21和CS22的第一和第二串選擇晶體管SSTa和SSTb可以共同地連接到相同的串選擇線。

在示例性實施例中,基本處于相同高度的虛擬存儲單元可以與相同的虛擬字線連接,而處于不同高度的虛擬存儲單元可以與不同的虛擬字線連接。例如,第一虛擬存儲單元DMC1可以連接到第一虛擬字線DWL1,而第二虛擬存儲單元DMC2可以連接到第二虛擬字線DWL2。

在第一存儲塊BLK1中,可以按行執(zhí)行讀取和寫入操作。例如,可以按照串選擇線SSL1a、SSL1b、SSL2a和SSL2b來選擇存儲塊BLK1的一行。

當導通電壓被供應(yīng)給串選擇線SSL1a和SSL1b而截止電壓被供應(yīng)給串選擇線SSL2a和SSL2b時,第一行中的單元串CS11和CS12可以分別連接到位線BL1和BL2。當導通電壓被供應(yīng)給串選擇線SSL2a和SSL2b而截止電壓被供應(yīng)給串選擇線SSL1a和SSL1b時,在第二行中的單元串CS21和CS22可以分別連接到位線BL1和BL2。在驅(qū)動字線時,可以選擇連接到被驅(qū)動的字線的單元串中的存儲單元之中的、以基本相同的高度放置的存儲單元。可以對所選擇的存儲單元執(zhí)行讀取和寫入操作。所選擇的存儲單元可以形成物理頁。

在存儲塊BLK1中,可以按照存儲塊或子塊來擦除存儲單元。當按照存儲塊執(zhí)行擦除時,存儲塊BL1中的所有存儲單元MC可以根據(jù)擦除請求同時被擦除。當按照子塊來執(zhí)行擦除時,存儲塊BLK1中的一部分存儲單元MC可以根據(jù)擦除請求同時被擦除,而其它部分可以被禁止擦除。可以對連接到所擦除的存儲單元MC的字線供應(yīng)低電壓(例如,接地電壓),并且連接到禁止擦除的存儲單元MC的字線可以被浮接。

在圖17中所示的第一存儲塊BLK1是示例性的。例如,可以增加或減少單元串的數(shù)量,并且單元串的行的數(shù)量和單元串的列的數(shù)量可以根據(jù)單元串的數(shù)量增加或減少。在第一存儲塊BLK1中,單元串(GST、MC、DMC、SST等)的數(shù)量可以增加或減少,并且第一存儲塊BLK1的高度可以根據(jù)單元串(GST、MC、DMC、SST等)的數(shù)量增加或減小。而且,與單元晶體管連接的線(GST、MC、DMC、SST等)的數(shù)量可以根據(jù)單元串(GST、MC、DMC、SST等)的數(shù)量增加或減少。

圖18是例示包括根據(jù)本發(fā)明構(gòu)思的示例性實施例的非易失性存儲器系統(tǒng)的存儲卡系統(tǒng)的框圖。參照圖18,存儲卡系統(tǒng)1000可以包括存儲器控制器1100、非易失性存儲器1200和連接器1300。

存儲器控制器1100可以連接到非易失性存儲器1200。存儲器控制器110可以被配置為存取非易失性存儲器1200。例如,存儲器控制器1100可以適合于控制非易失性存儲器1200的總體操作,包括但不限于讀取操作、寫入操作、擦除操作以及后臺操作。后臺操作可以包括但不限于耗損均衡管理、垃圾收集等。在示例性初稿例中,存儲器控制器1100可以基于上文參照圖1至圖15描述的方法來生成中斷。

存儲器控制器1100可以提供非易失性存儲器1200與主機之間的接口。存儲器控制器1100可以被配置為驅(qū)動用于控制非易失性存儲器1200的固件。在示例性實施例中,存儲器控制器1100可以包括諸如但不限于RAM、處理單元、主機接口、存儲器接口和糾錯單元這樣的組件。

存儲器控制器1100可以通過連接器1300與外部設(shè)備通信。存儲器控制器1100可以基于特定的通信協(xié)議與外部設(shè)備通信。例如,存儲器控制器1100可以通過諸如但不限于通用串行總線(USB)、多媒體卡(MMC)、eMMC(嵌入式MMC)、外圍組件互連(PCI)、高速PCI(PCI-E)、高級技術(shù)附件(ATA)、串行ATA、并行ATA、小型計算機系統(tǒng)接口(SCSI)、增強小型盤接口(ESDI)、高速非易失性存儲器(NVMe)等多種通信協(xié)議中的至少一種與外部設(shè)備通信。在示例性實施例中,通過上述標準定義的寫入命令例如可以包括寫入數(shù)據(jù)的大小信息。

非易失性存儲器1200可以用各種各樣的非易失性存儲器件來實現(xiàn),諸如但不限于電可擦除可編程ROM(EEPROM)、NAND閃速存儲器、NOR閃速存儲器、相變RAM(PRAM)、電阻式RAM(ReRAM)、鐵電式RAM(FRAM)、自旋傳遞扭矩磁性RAM(STT-MRAM)等。

在示例性實施例中,存儲器控制器1100和非易失性存儲器1200可以集成在單個半導體器件中。例如,存儲器控制器1100和非易失性存儲器1200可以集成在單個半導體器件中,以形成固態(tài)驅(qū)動器(SSD)。存儲器控制器1100和非易失性存儲器1200可以集成在單個半導體器件中,以形成存儲卡。例如,存儲器控制器1100和非易失性存儲器1200可以集成在單個半導體器件中,以形成諸如但不限于PC卡(個人計算機存儲卡內(nèi)部關(guān)聯(lián)(PCMCIA)卡)、壓縮閃速卡(CF)、智能媒體卡(SM,SMC)、存儲棒、多媒體卡(MMC、RS-MMC、MMCmicro)、SD卡(SD,miniSD,microSD,SDHC)和通用閃速儲存器(UFS)這樣的存儲卡。

圖19是例示包括根據(jù)本發(fā)明構(gòu)思的示例性實施例的非易性存儲器系統(tǒng)的固態(tài)驅(qū)動器的框圖。參照圖17,固態(tài)驅(qū)動器(SSD)系統(tǒng)200可以包括主機2100和SSD 2200。SSD 2200可以通過主機接口2001與主機2100交換信號,并且可以通過電力連接器2002被供應(yīng)以電力。SSD 2200例如可以包括SSD控制器2210、經(jīng)由通道CH1至CHn連接到SSD控制器2210的多個閃速存儲器2221至222n、輔助電源2230以及緩沖存儲器2240。

SSD控制器2210可以響應(yīng)于來自主機2100的信號來控制閃速存儲器2221至222n。在示例性實施例中,SSD控制器2210可以基于以上參照圖1至15描述的方法來生成中斷。

輔助電源2230可以經(jīng)由電力連接器2002連到主機2100。輔助電源2230可以由來自主機2100的電力來充電。當電力未從主機2100穩(wěn)定地供應(yīng)時,輔助電源2230可以對SSD系統(tǒng)2000提供動力。輔助電源2230可以被放置在SSD 2200的內(nèi)部或外部。例如,輔助電源2230可以部署在主板上以向SSD 2200供應(yīng)輔助電力。

緩沖存儲器2240可以用作SSD 2200的緩沖存儲器。例如,緩沖存儲器2240可以臨時地存儲從主機2100或從閃速存儲器2221至222n接收到的數(shù)據(jù),并且可以臨時地存儲閃速存儲器2221至222n的元數(shù)據(jù)(例如映射表)。緩沖存儲器2240可以包括諸如例如動態(tài)隨機存取存儲器(DRAM)、同步DRAM(SDRAM)、雙數(shù)據(jù)率SDRAM(DDR SDRAM)、低功率雙數(shù)據(jù)率SDRAM(LPDDR SDRAM)、靜態(tài)隨機存取存儲器(SRAM)等易失性存儲器或者諸如例如鐵電式RAM(FRAM)、電阻式隨機存取存儲器(ReRAM)、自旋傳遞扭矩磁性隨機存取存儲器(STT-MRAM)、參數(shù)隨機存取存儲器(PRAM)等非易失性存儲器。

圖20是例示包括根據(jù)本發(fā)明構(gòu)思的示例性實施例的非易失性存儲器系統(tǒng)的用戶系統(tǒng)的框圖。參照圖20,用戶系統(tǒng)3000例如可以包括應(yīng)用處理器3100、存儲器模塊3200、網(wǎng)絡(luò)模塊3300、儲存器模塊3400以及用戶接口3500。

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

存儲器模塊3200例如可以作為用戶系統(tǒng)3000的主存儲器、工作存儲器、緩沖存儲器或者高速緩沖存儲器來操作。存儲器模塊3200可以用諸如例如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR DRAM、LPDDR2DRAM或LPDDR3DRAM這樣的易失性隨機存取存儲器或者用諸如例如PRAM、MRAM、RRAM或FRAM這樣的非易失性隨機存取存儲器來實現(xiàn)。

網(wǎng)絡(luò)模塊3300可以與外部設(shè)備通信。例如,網(wǎng)絡(luò)模塊3300可以支持諸如碼分復用(CDMA)、全球移動通信系統(tǒng)(GSM)、寬帶CDMA(WCDMA)、CDMA-2000、時分復用(TDMA)、長期演變(LTE)、Wimax、WLAN、UWB、Bluetooth、WI-DI等無線通信。在示例性實施例中,網(wǎng)絡(luò)模塊3300可以包括在應(yīng)用處理器3100中。

儲存器模塊3400可以存儲數(shù)據(jù)。例如,儲存器模塊3400可以存儲從應(yīng)用處理器3100接收的數(shù)據(jù)。替代地,儲存器模塊3400可以向應(yīng)用處理器3100提供在其中存儲的數(shù)據(jù)。例如,儲存器模塊3400可以用諸如PRAM、MRAM、RRAM、NAND閃速存儲器、NOR閃速存儲器或者三維NAND閃速存儲器這樣的半導體存儲器件來實現(xiàn)。

在本發(fā)明構(gòu)思的示例性實施例中,提供三維(3D)存儲器陣列。3D存儲器陣列單片地形成在存儲單元的陣列的一個或多個物理級別中,其具有部署在與那些存儲單元的操作相關(guān)聯(lián)的硅基板和電路之上的有源區(qū)域,無論這樣的相關(guān)聯(lián)的電路是在這樣的基板之上還是之內(nèi)。術(shù)語“單片”意味著陣列的每個級別的層直接沉淀在陣列的每個下面級別的層上。在本發(fā)明構(gòu)思的示例性實施例中,3D存儲器陣列包括垂直的NAND串,其垂直的取向,使得至少一個存儲單元位于另一個存儲單元之上。所述至少一個存儲單元可以包含電荷陷阱層。以下專利文件(通過引用并入本文)描述三維存儲器陣列的適合的配置,其中,三維存儲器陣列被配置為多個級別,在級別之間共享字線和/或位線:美國專利第7,679,133號、第8,553,466號、第8,654,587號、第8,559,235號以及美國專利公開第2011/0233648號。

在示例性實施例中,儲存器模塊3400可以基于參照圖1至15所描述的方法來生成中斷。儲存器模塊340可以基于給定的接口與應(yīng)用處理器3100通信。儲存器模塊3400可以基于來自應(yīng)用處理器3100的寫入命令來調(diào)節(jié)執(zhí)行垃圾收集所要花費的時間。

用戶接口3500可以包括將數(shù)據(jù)或命令輸入在應(yīng)用處理器3100中或者將數(shù)據(jù)輸出到外部設(shè)備的接口。例如,用戶接口3500可以包括諸如鍵盤、小鍵盤、按鈕、觸摸面板、觸摸屏、觸摸板、觸摸球、相機、麥克風、陀螺儀傳感器、振動傳感器等用戶輸入接口。用戶接口3500還可以包括諸如液晶顯示器(LCD)、有機發(fā)光二極管(OLED)顯示設(shè)備、有源矩陣OLED(AMOLED)顯示設(shè)備、發(fā)光二極管(LED)、揚聲器、發(fā)動機等用戶輸出接口。

根據(jù)本發(fā)明構(gòu)思的示例性實施例的非易性存儲器件、卡控制器和存儲卡可以根據(jù)各種不同的封裝技術(shù)中的任何一種來封裝。這樣的封裝技術(shù)的示例包括但不限于層疊封裝(PoP)、球柵陣列(BGA)、芯片級封裝(CSP)、塑料有引線芯片載體(PLCC)、塑料雙列線式封裝(PDIP)、窩伏爾組件內(nèi)沖模、晶片模、板載芯片(COB)、陶瓷雙列直插式封裝(CERDIP)、塑料公制四方扁平封裝(MQFP)、小外形(SOIC)、收縮型小外形封裝(SSOP)、薄小外形(TSOP)、薄四方扁平封裝(TQFP)、系統(tǒng)級封裝(SIP)、多芯片封裝(MC)、晶片級制造封裝(WFP)以及晶片級處理堆疊封裝(WSP)。

根據(jù)本發(fā)明構(gòu)思的示例性實施例,可以減少生成中斷的事件的數(shù)量,從而由于中斷的減少的累積而導致儲存設(shè)備(例如SSD)的性能提高。

雖然已經(jīng)參照本發(fā)明構(gòu)思的示例性實施例描述了本發(fā)明構(gòu)思,但是本領(lǐng)域普通技術(shù)人員應(yīng)當理解,可以做出各種改變和修改,而不脫離由所附的權(quán)利要求所定義的本發(fā)明構(gòu)思的精神和范圍。

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