022] 在一個(gè)方面中,寫數(shù)據(jù)傳輸可以可重新開始是可中斷的以輪詢閃存存儲器電路, 以完成讀命令。寫數(shù)據(jù)傳輸可以可重新開始是可中斷的以許可從閃存存儲器電路的緩沖器 到閃存存儲器控制器傳輸已完成的讀命令的結(jié)果。
[0023] 描述了管理閃存存儲器裝置的方法,包括:提供可操作來管理讀請求、寫請求和與 寫請求相關(guān)聯(lián)的數(shù)據(jù)的隊(duì)列的處理器,將寫請求和相關(guān)聯(lián)數(shù)據(jù)傳送到閃存存儲器接口;將 讀請求發(fā)送到閃存存儲器接口,以及確定到與讀請求所識別的相同的存儲器電路的寫數(shù)據(jù) 傳輸是否在進(jìn)行中。
[0024] 該方法還可包括中斷寫數(shù)據(jù)傳輸以將讀請求發(fā)送到閃存存儲器電路;重新開始寫 數(shù)據(jù)傳輸;等待執(zhí)行讀請求的估計(jì)時(shí)間;確定寫數(shù)據(jù)傳輸是否在進(jìn)行中;中斷寫數(shù)據(jù)傳輸; 輪詢存儲器電路以確定在讀緩沖器中是否有數(shù)據(jù);以及如果數(shù)據(jù)在讀緩沖器中,則將數(shù)據(jù) 從讀緩沖器傳輸?shù)介W存存儲器接口;以及重新開始以前中斷的寫數(shù)據(jù)傳輸。
[0025] 在另一方面中,該方法可包括在傳送寫命令之前將寫數(shù)據(jù)傳送到閃存存儲器裝 置。
[0026] 在又另一方面中,用于與閃存存儲器電路對接的設(shè)備可包括配置成使讀和寫命令 及相關(guān)聯(lián)的寫數(shù)據(jù)排隊(duì)并響應(yīng)于讀命令而接收數(shù)據(jù)的控制器,控制器適于與用戶和與物理 層接口(PHY)對接。PHY可具有狀態(tài)機(jī),其執(zhí)行微代碼程序并被配置成提供用于控制閃存存 儲器電路的信號,閃存存儲器電路具有多個(gè)芯片并用于發(fā)送和接收命令和在閃存存儲器電 路總線接口上的數(shù)據(jù)。PHY可操作來中斷到閃存存儲器電路的數(shù)據(jù)傳輸以許可另一命令的 執(zhí)行并在另一命令完成之后重新開始數(shù)據(jù)傳輸。
[0027] 數(shù)據(jù)傳輸可以具有被寫到閃存存儲器電路的芯片的數(shù)據(jù),且另一命令可選自讀命 令、輪詢命令或讀數(shù)據(jù)傳輸命令,并被引導(dǎo)到閃存存儲器電路。
【附圖說明】
[0028] 圖1是示出共享公共總線的多個(gè)閃存存儲器芯片(PHY)的存儲器系統(tǒng)的方框圖; 圖2示出與PHY控制/狀態(tài)總線通信的控制器; 圖3示出PHY接口控制器的功能方框圖; 圖4示出PHY控制器的功能方框圖; 圖5示出命令接口狀態(tài)圖的示例; 圖6示出FSM狀態(tài)轉(zhuǎn)變圖的示例; 圖7是微排序器的方框圖的示例; 圖8是PHY邏輯圖的示例;以及 圖9是一般DDR管腳輸出宏和時(shí)序圖的示例。
【具體實(shí)施方式】
[0029] 參考附圖可更好地理解示例性實(shí)施例,但這些實(shí)施例并不意在為具有限制性質(zhì)。 在同一或不同附圖中的相同編號的元件執(zhí)行等效的功能。元件可被編號或由首字母縮略詞 指定或這兩者,且在表示之間的選擇僅為了清楚而做出,使得由數(shù)字指定的元件和由首字 母縮略詞或字母數(shù)字指示符指定的同一元件不應(yīng)在那個(gè)基礎(chǔ)上被區(qū)分。
[0030] 將認(rèn)識到的是,所述方法和在附圖中所示的裝置可被配置或體現(xiàn)在機(jī)器可執(zhí)行指 令(例如軟件)中或在硬件中或在兩者的組合中。機(jī)器可執(zhí)行指令可用于使作用于指令的通 用計(jì)算機(jī)、專用處理器(例如DSP)或陣列處理器等執(zhí)行本文描述的功能??商鎿Q地,操作可 能由可具有用于執(zhí)行所述操作的硬連線邏輯或固件指令的特定的硬件部件或由可包括模 擬電路的定制硬件部件和編程計(jì)算機(jī)部件的任何組合執(zhí)行。
[0031] 該方法可至少部分地被提供為可包括非易失性機(jī)器可讀媒介的計(jì)算機(jī)程序產(chǎn)品, 非易失性機(jī)器可讀媒介具有存儲在其上的可用于給計(jì)算機(jī)(或其它電子裝置)編程以執(zhí)行 方法的指令。為了這個(gè)說明書的目的,術(shù)語"機(jī)器可讀媒介"應(yīng)被理解為包括任何媒介,其 能夠存儲或編碼指令序列或數(shù)據(jù)以供計(jì)算機(jī)器或?qū)S糜布?zhí)行,并且其可使機(jī)器或?qū)S糜?件執(zhí)行本發(fā)明的方法或功能中的任何一個(gè)。術(shù)語"機(jī)器可讀媒介"應(yīng)相應(yīng)地被理解為包括 但不限于固態(tài)存儲器、光盤和磁盤、磁性存儲器和光學(xué)存儲器以及可為這樣的目的發(fā)展的 任何等效裝置。
[0032] 例如但不是作為限制,機(jī)器可讀媒介可包括只讀存儲器(ROM);所有類型的隨機(jī)訪 問存儲器(RAM)(例如S-RAM、D-RAM、P-RAM);可編程只讀存儲器(PROM);電可變更只讀存 儲器(EPROM);磁性隨機(jī)訪問存儲器;磁盤存儲介質(zhì);閃存存儲器,其可以是NAND或NOR配 置的;憶阻器;或電、光、聲數(shù)據(jù)存儲媒介等。易失性存儲器裝置(例如DRAM)可用于存儲計(jì) 算機(jī)程序產(chǎn)品,假定易失性存儲器裝置是具有電源的系統(tǒng)的部分,且電源或電池在時(shí)間段 期間向電路提供功率,在該時(shí)間段期間,計(jì)算機(jī)程序產(chǎn)品被存儲在易失性存儲器裝置上。
[0033] 此外,當(dāng)采取行動或引起結(jié)果時(shí)以一種形式或另一形式(例如程序、流程、過程、應(yīng) 用、模塊、算法或邏輯)提到軟件在本領(lǐng)域中是常見的。這樣的措辭僅僅是說軟件的指令由 計(jì)算機(jī)或等效裝置的執(zhí)行使計(jì)算機(jī)或等效裝置的處理器執(zhí)行行動或產(chǎn)生結(jié)果的方便方式, 如本領(lǐng)域中的技術(shù)人員公知的。
[0034] 本領(lǐng)域中的技術(shù)人員將理解,除了在本文描述的情況以外的錯誤情況也可能出 現(xiàn),以及硬件和操作軟件的設(shè)計(jì)將被執(zhí)行以便解決這些情況。它們沒有被描述或沒有被詳 細(xì)描述,以便聚焦于裝置和系統(tǒng)的突出方面。
[0035] 多個(gè)NAND閃存存儲器芯片可被組裝在存儲系統(tǒng)中。在可以是RAID控制器的存儲 器控制器和存儲器芯片之間的接口可被配置成從讀和寫帶寬方面提高系統(tǒng)的總性能,特別 是當(dāng)遇到隨機(jī)地址序列時(shí)。也可提高部分頁讀取的有效性。在這里我們使用類似于在限定 協(xié)議堆棧時(shí)通常使用的方法的被稱為PHY接口的系統(tǒng)部件。PHY層是在裝置(例如NAND閃 存存儲器芯片)和使用系統(tǒng)之間的接口。這等效于開放系統(tǒng)互連(OSI)協(xié)議的底層。
[0036] 所描述的PHY體系結(jié)構(gòu)便于多芯片閃存存儲器模塊的容量的有效使用。在圖1中 示出多芯片閃存存儲器電路的方框圖。這樣的電路常常在適合于安裝到印刷電路板的封裝 中被出售。然而,電路可用作將合并到另一電子封裝中的未封裝芯片。
[0037] 每一個(gè)芯片可具有可能有益的至少下列狀態(tài)。
[0038] 擦除 讀(從存儲器單元到緩沖器) 讀數(shù)據(jù)狀態(tài)(在緩沖器中) 讀數(shù)據(jù)(從緩沖器到PHY) 寫(從緩沖器到存儲器單元) 寫狀態(tài)(在緩沖器中或完成) 接收寫數(shù)據(jù)(從PHY到緩沖器) 芯片使能(或禁用)。
[0039] 芯片使能用于選擇共享公共總線的多個(gè)芯片中的芯片,命令被呈送到該公共總 線。在本例中,可假定主張適當(dāng)?shù)男酒鼓芫€,且適當(dāng)?shù)拿钜呀?jīng)被發(fā)送。在對命令的響應(yīng) (如果有的話)已經(jīng)由PHY層接收到之后,可撤銷芯片使能。
[0040] 存儲器封裝的各個(gè)芯片可執(zhí)行操作或獨(dú)立于彼此而改變狀態(tài)。所以例如,如果芯 片1已經(jīng)被使能并被發(fā)送擦除命令,則芯片1將自動執(zhí)行命令。雖然可能有中斷擦除命令 的條款,但為了介紹的簡單,當(dāng)前的討論選擇將在緩沖器和存儲器之間的擦除和實(shí)際寫或 讀操作處理為不可中斷的。這并不意在為對本文討論的主題的限制。
[0041] 代替將特定的持續(xù)時(shí)間分配給操作的執(zhí)行,可考慮芯片的突出操作可被描述為由 Tr (從存儲器到緩沖器讀取整個(gè)頁面)、Tt (整個(gè)頁面通過共享總線的數(shù)據(jù)傳輸)、Tw (從緩 沖器到存儲器寫整個(gè)頁面)和Te (擦除塊)參量化。狀態(tài)檢查操作被假定為在與上述操作 比較可忽略的時(shí)間內(nèi)完成。
[0042] 一組閃存存儲器芯片的有效操作涉及上面陳述的主要操作的相對時(shí)間成本和操 作的特性(例如可中斷或不可中斷的)或部分頁面操作是否被許可(例如讀取頁面的扇區(qū))。
[0043] 為了討論的目的,可將參量化操作的時(shí)間敘述為大約I Te= 3Tw = 10 Tt = 40 Tr。認(rèn)識到Te只要求在總線上的命令的傳輸且沒有數(shù)據(jù),對擦除操作而言總線利用率是小 的,但用來完成這樣的操作的時(shí)間是各個(gè)操作類型中的任何一個(gè)操作類型中最大的。那并 不是說擦除操作可在對系統(tǒng)沒有影響的情況下被執(zhí)行,因?yàn)閷π酒钠矫嫔系娜魏未鎯ζ?位置頁面做出的數(shù)據(jù)的請求將被延遲,直到Te結(jié)束為止,該芯片具有其被擦除的任何塊。 然而,在RAID存儲器系統(tǒng)中掩蔽擦除操作的方法是已知的,如在2008年3月26日提交的 標(biāo)題為 "Memory Management System and Method" 的 US 12/079, 364 中描述的,該申請被 共同擁有并通過引用被并入本文,且高性能系統(tǒng)可采用這樣的技術(shù)。所以這里的焦點(diǎn)是由 于共享公共數(shù)據(jù)傳輸總線而引起的時(shí)延的最小化以及通過總線的數(shù)據(jù)傳輸速率的優(yōu)化。只 提到幾個(gè)示例,且用戶將以與用于特別的產(chǎn)品的特定系統(tǒng)設(shè)計(jì)標(biāo)準(zhǔn)一致的方式來采用物理 層(PHY)的容量。
[0044]當(dāng)數(shù)據(jù)在整個(gè)頁面中被寫到存儲器芯片時(shí),用來完成操作的總時(shí)間是Tt+Tw;然 而,總線僅針對Tt (對于當(dāng)前可用的產(chǎn)品,是到芯片的寫操作的總時(shí)間的大約1/3)被占據(jù)。 因此,在本例中,假設(shè)連續(xù)寫的數(shù)量大(例如10),大約3個(gè)數(shù)據(jù)頁面可在平均時(shí)間期間通過 總線被傳送以將單個(gè)頁面寫到單個(gè)芯片。例如,10個(gè)