欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

具有用于縮短讀取延遲的多個(gè)讀取緩沖器的存儲器裝置的制作方法

文檔序號:12837764閱讀:298來源:國知局
具有用于縮短讀取延遲的多個(gè)讀取緩沖器的存儲器裝置的制作方法

本發(fā)明總體上涉及半導(dǎo)體裝置領(lǐng)域,并且更具體地,涉及存儲器裝置的控制和排布結(jié)構(gòu),以便縮短讀取延遲。



背景技術(shù):

在諸如固態(tài)硬盤驅(qū)動(dòng)器、可去除數(shù)字圖像卡等的應(yīng)用中越來越多地見到非易失性存儲器(nvm)。閃速存儲器是當(dāng)今使用的流行nvm技術(shù)。然而,閃速存儲器具有很多限制,諸如相對較高的功率和相對較慢的操作速度。另外,微處理器性能可能對于存儲器讀取延遲(readlatency)非常敏感。與微處理器相比,許多非易失性存儲裝置具有相對較慢的讀取時(shí)間或延遲。另外,微處理器/主機(jī)與存儲器之間的各種通信協(xié)議的許多實(shí)現(xiàn)(如串行外圍接口(spi))可以增加比可能因存儲器陣列本身造成的延遲更多的延遲。



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

在一個(gè)實(shí)施方式中,一種存儲器裝置可以包括:(i)存儲器陣列,其具有被設(shè)置為多個(gè)數(shù)據(jù)行的多個(gè)存儲器單元,其中,每個(gè)數(shù)據(jù)行都包括預(yù)定數(shù)量字節(jié)的數(shù)據(jù);(ii)接口,其被設(shè)置成接收第一讀取命令,該第一讀取命令從起始字節(jié)的地址起按連續(xù)尋址次序請求多個(gè)字節(jié)的數(shù)據(jù);(iii)高速緩存存儲器,其具有第一緩沖器和第二緩沖器,并且被設(shè)置成存儲多個(gè)數(shù)據(jù)行;(iv)該第一緩沖器被設(shè)置成存儲來自高速緩存存儲器或者存儲器陣列的所述多個(gè)數(shù)據(jù)行中的第一數(shù)據(jù)行,其中,第一數(shù)據(jù)行包括所述起始字節(jié);(v)該第二緩沖器被設(shè)置成存儲來自高速緩存存儲器或存儲器陣列的所述多個(gè)數(shù)據(jù)行中的第二數(shù)據(jù)行,其中,第二數(shù)據(jù)行相對于第一數(shù)據(jù)行連續(xù)尋址;(vi)輸出電路,其被設(shè)置成從第一緩沖器讀取(access)數(shù)據(jù),并且被設(shè)置成從第一數(shù)據(jù)行的起始字節(jié)到第一數(shù)據(jù)行的最高尋址字節(jié)順序地輸出每一個(gè)字節(jié);以及(vii)該輸出電路被設(shè)置成從第二緩沖器讀取數(shù)據(jù),并且被設(shè)置成從第二數(shù)據(jù)行的最低尋址字節(jié)起順序輸出每一個(gè)字節(jié),直到所請求的多個(gè)字節(jié)的數(shù)據(jù)已輸出為止,以便執(zhí)行第一讀取命令,其中,第一緩沖器和第二緩沖器的內(nèi)容被保持在高速緩存存儲器中。

在一個(gè)實(shí)施方式中,一種控制具有存儲器陣列和高速緩存存儲器的存儲器裝置的方法,該存儲器陣列具有被設(shè)置為多個(gè)數(shù)據(jù)行的多個(gè)存儲器單元,并且該高速緩存存儲器具有第一緩沖器和第二緩沖器,并且被設(shè)置成存儲多個(gè)數(shù)據(jù)行,其中,每個(gè)數(shù)據(jù)行都包括預(yù)定數(shù)量字節(jié)的數(shù)據(jù),該方法可以包括:(i)通過接口接收第一讀取命令,該第一讀取命令從起始字節(jié)的地址起按連續(xù)尋址順序請求多個(gè)字節(jié)的數(shù)據(jù);(ii)在第一緩沖器中,存儲來自高速緩存存儲器或存儲器陣列的所述多個(gè)數(shù)據(jù)行中的第一數(shù)據(jù)行,其中,該第一數(shù)據(jù)行包括所述起始字節(jié);(iii)在第二緩沖器中,存儲來自高速緩存存儲器或者存儲器陣列的所述多個(gè)數(shù)據(jù)行中的第二數(shù)據(jù)行,其中,第二數(shù)據(jù)行相對于第一數(shù)據(jù)行連續(xù)尋址;(iv)由輸出電路從第一緩沖器讀取數(shù)據(jù),并且從第一數(shù)據(jù)行的起始字節(jié)到最高尋址字節(jié)順序地輸出每一個(gè)字節(jié);(v)由輸出電路從第二緩沖器讀取數(shù)據(jù),并且從第二數(shù)據(jù)行的最低尋址字節(jié)起順序輸出每一個(gè)字節(jié),直到請求的所述多個(gè)字節(jié)的數(shù)據(jù)已經(jīng)輸出為止,以便執(zhí)行第一讀取命令;以及(iv)在高速緩沖存儲器中保持第一緩沖器的內(nèi)容和第二緩沖器的內(nèi)容。

附圖說明

圖1是根據(jù)本發(fā)明的實(shí)施方式的示例主機(jī)和存儲器裝置排布結(jié)構(gòu)的示意性框圖。

圖2是根據(jù)本發(fā)明的實(shí)施方式的示例存儲器裝置結(jié)構(gòu)的示意性框圖。

圖3是根據(jù)本發(fā)明的實(shí)施方式的示例存儲器裝置的框圖。

圖4是根據(jù)本發(fā)明的實(shí)施方式的示例存儲器陣列和用于讀取數(shù)據(jù)的緩沖器排布結(jié)構(gòu)的框圖。

圖5是根據(jù)本發(fā)明的實(shí)施方式的存儲器裝置中的示例緩沖器和高速緩存排布結(jié)構(gòu)的框圖。

圖6是根據(jù)本發(fā)明的實(shí)施方式的第一示例讀取事務(wù)的波形圖。

圖7是根據(jù)本發(fā)明的實(shí)施方式的第二示例讀取事務(wù)的波形圖。

圖8是根據(jù)本發(fā)明的實(shí)施方式的從存儲器陣列讀取多個(gè)字節(jié)的數(shù)據(jù)的示例方法的流程圖。

具體實(shí)施方式

下面,對本發(fā)明的具體實(shí)施方式進(jìn)行詳細(xì)說明,在附圖中進(jìn)行了例示其示例。雖然本發(fā)明將結(jié)合優(yōu)選實(shí)施方式進(jìn)行描述,但應(yīng)當(dāng)明白,它們不旨在將本發(fā)明限制成這些實(shí)施方式。與此相反,本發(fā)明旨在覆蓋可以包括在如所附權(quán)利要求書所限定的本發(fā)明的精神和范圍內(nèi)的另選例、修改例以及等同物。而且,在本發(fā)明的下列詳細(xì)描述中,闡述了許多具體細(xì)節(jié),以便提供對本發(fā)明的詳盡理解。然而,本領(lǐng)域技術(shù)人員容易明白,本發(fā)明可以在不需要這些具體細(xì)節(jié)的情況下來實(shí)踐。在其它情況下,公知方法、過程、處理,組件、結(jié)構(gòu)以及電路未被詳細(xì)描述,以不使不必要地模糊本發(fā)明的方面。

下面的詳細(xì)描述的一些部分從針對計(jì)算機(jī)、處理器、控制器、裝置和/或存儲器內(nèi)的數(shù)據(jù)流、信號或波形的過程、程序、邏輯模塊、功能模塊、處理、示意性符號和/或操作的其它符號性表述方面來呈現(xiàn)。這些描述和表述被數(shù)據(jù)處理領(lǐng)域的技術(shù)人員通常所使用,以向本領(lǐng)域其它技術(shù)人員有效地表達(dá)他們的工作的實(shí)質(zhì)。通常來說,盡管不必要,但被操縱的量采取能夠在計(jì)算機(jī)或數(shù)據(jù)處理系統(tǒng)中存儲、傳遞、組合、比較以及以其它方式操縱的電氣、磁性、光學(xué)或量子信號的形式。已經(jīng)證實(shí),主要出于常見用法的理由,有時(shí)便利地引用這些信號,作為比特、波、波形、流、值、元素、符號、字符、項(xiàng)、數(shù)字等。

具體實(shí)施方式可以涉及存儲器裝置,包括諸如sram和dram的易失性存儲器,并且還包括諸如閃速存儲器裝置的非易失性存儲器(nvm),和/或電阻式開關(guān)存儲器(例如,導(dǎo)電橋接隨機(jī)存取存儲器[cbram]、電阻式ram[reram]等)。具體實(shí)施方式可以包括操作可以在一個(gè)或更多個(gè)電阻和/或電容狀態(tài)之間寫入(編程/擦除)的閃速存儲器和/或電阻式開關(guān)存儲器的結(jié)構(gòu)和方法。在一個(gè)具體示例中,cbram存儲部件可以被設(shè)置成,使得當(dāng)跨該cbram存儲部件的電極施加大于閾值電壓的正向或反向偏壓時(shí),該cbram存儲部件的電氣特性(例如,電阻)可以改變。在任何情況下,某些實(shí)施方式適于任何類型的存儲器裝置,并且特別是諸如閃速存儲器裝置的nvm裝置,并且在一些情況下可以包括電阻式開關(guān)存儲器裝置。

下面,參照圖1,示出了根據(jù)本發(fā)明的實(shí)施方式的示例存儲器裝置和主機(jī)排布結(jié)構(gòu)100。在這個(gè)示例中,多個(gè)cpu或主機(jī)102可以經(jīng)由互連/總線106和支持串行接口的存儲器控制器108(例如,spi主機(jī)控制器)與存儲器裝置104連接。在其它情況下,單一cpu/主機(jī)102可以直接與每一個(gè)存儲器裝置104連接。例如,每個(gè)cpu/主機(jī)102可以是任何合適的控制器(例如,cpu、mcu、通用處理器、gpu、dsp等),并且存儲器裝置104可以是任何類型的存儲器裝置(例如,sram、dram、psram、eeprom、閃存、cbram、磁性ram、reram等)。存儲器裝置104由此可以按多種存儲器技術(shù)(如非易失性類型)來實(shí)現(xiàn)。在某些情況下,存儲器裝置104可以是可按更傳統(tǒng)的非易失性存儲器或者按cbram/reram電阻式切換存儲器實(shí)現(xiàn)的串行閃速存儲器。

可以包括諸如串行外圍接口(spi)中的各種接口信號以在cpu102與存儲器裝置104之間通信。例如,串行時(shí)鐘(sck或sclk)可以向裝置104提供時(shí)鐘,并且可以用于控制去往該裝置的數(shù)據(jù)流。命令、地址以及輸入數(shù)據(jù)可由存儲器裝置104鎖存在sck的上升沿上(例如,經(jīng)由i/o引腳),而輸出數(shù)據(jù)可以根據(jù)sck或數(shù)據(jù)選通(strobe)(ds)被時(shí)鐘輸出存儲器裝置104(例如,經(jīng)由i/o引腳)??梢岳眯酒x擇(cs)(低電平有效)來選擇存儲器裝置104(如從共享公共總線或電路板的多個(gè)這種存儲器裝置中選擇),或者不然就作為接入該裝置的方式。當(dāng)芯片選擇信號被解除斷言(de-asserted)(例如,處于高電平)時(shí),存儲器裝置104可以被取消選擇,并且被置于待機(jī)模式。激活芯片選擇信號(例如,經(jīng)由cs上的高到低轉(zhuǎn)變)可以被用于開始一操作,并且使芯片選擇信號返回至高態(tài)可以被用于終止一操作。對于內(nèi)部自計(jì)時(shí)操作(例如,編程或擦除周期)來說,如果在操作期間芯片選擇被解除斷言,則存儲器裝置104可以在特定的正在進(jìn)行的操作完成之前不進(jìn)入待機(jī)模式。

在該示例接口中,可以經(jīng)由i/o信號向存儲器裝置104提供數(shù)據(jù)(例如,用于寫入操作、其它命令等)和從存儲器裝置104提供數(shù)據(jù)(例如,用于讀取操作、驗(yàn)證操作等)。例如,i/o上的輸入數(shù)據(jù)可由存儲器裝置104在sck的邊沿上鎖存,并且如果該裝置被取消選擇(例如,當(dāng)芯片選擇信號被解除斷言時(shí)),則這種輸入數(shù)據(jù)可以被忽略。數(shù)據(jù)也可以經(jīng)由i/o信號從存儲器裝置104輸出。例如,為了計(jì)時(shí)一致性,可以在ds或sck的邊沿上時(shí)鐘輸出從存儲器裝置104輸出的數(shù)據(jù),并且當(dāng)裝置被取消選擇時(shí)(例如,當(dāng)芯片選擇信號被解除斷言時(shí)),輸出信號可以處于高阻抗?fàn)顟B(tài)。

在這個(gè)示例中,多個(gè)cpu核心102(例如,102-0、102-1、…、102-n)可以通過串行接口與存儲器裝置104連接。存儲器請求可以按交錯(cuò)方式發(fā)送,使得cpu/主機(jī)102中的一個(gè)每次具有對串行接口的控制。如下將更詳細(xì)討論的,在執(zhí)行可能改變順序執(zhí)行的分支、跳轉(zhuǎn)、中斷或其它指令的情況下,或者在來自多個(gè)cpu核心的交錯(cuò)的存儲器請求的情況下,存儲器請求的存儲器裝置104的地址可能變得非順序的。例如,一個(gè)讀取請求可以從cpu102-0發(fā)送至存儲器裝置104,并且可以從cpu102-1向存儲器裝置104發(fā)送非順序或中斷的存儲器請求。與時(shí)間上非順序相反,在此使用的“非順序”可以指非順序地址。

在一個(gè)實(shí)施方式中,一種存儲器裝置可以包括:(i)存儲器陣列,其具有被設(shè)置為多個(gè)數(shù)據(jù)行的多個(gè)存儲器單元,其中,每個(gè)數(shù)據(jù)行都包括預(yù)定數(shù)量字節(jié)的數(shù)據(jù);(ii)接口,其被設(shè)置成接收第一讀取命令,該第一讀取命令從起始字節(jié)的地址起按連續(xù)尋址次序請求多個(gè)字節(jié)的數(shù)據(jù);(iii)高速緩存存儲器,其具有第一緩沖器和第二緩沖器,并且被設(shè)置成存儲多個(gè)數(shù)據(jù)行;(iv)該第一緩沖器被設(shè)置成存儲來自高速緩存存儲器或者存儲器陣列的所述多個(gè)數(shù)據(jù)行中的第一數(shù)據(jù)行,其中,第一數(shù)據(jù)行包括所述起始字節(jié);(v)該第二緩沖器被設(shè)置成存儲來自高速緩存存儲器或存儲器陣列的所述多個(gè)數(shù)據(jù)行中的第二數(shù)據(jù)行,其中,第二數(shù)據(jù)行相對于第一數(shù)據(jù)行連續(xù)尋址;(vi)輸出電路,其被設(shè)置成從第一緩沖器讀取數(shù)據(jù),并且被設(shè)置成從第一數(shù)據(jù)行的起始字節(jié)到第一數(shù)據(jù)行的最高尋址字節(jié)順序地輸出每一個(gè)字節(jié);以及(vii)該輸出電路被設(shè)置成從第二緩沖器讀取數(shù)據(jù),并且被設(shè)置成從第二數(shù)據(jù)行的最低尋址字節(jié)起順序輸出每一個(gè)字節(jié),直到所請求的多個(gè)字節(jié)的數(shù)據(jù)已輸出為止,以便執(zhí)行第一讀取命令,其中,第一緩沖器和第二緩沖器的內(nèi)容被保持在高速緩存存儲器中。

下面,參照圖2,示出了根據(jù)本發(fā)明的實(shí)施方式的示例存儲器裝置104結(jié)構(gòu)的示意性框圖。例如,存儲器裝置104可以包括:存儲器陣列202、緩沖器204(例如,sram或其它快速存取存儲器)以及i/o接口206。在一些排布結(jié)構(gòu)中,可以設(shè)置超過一個(gè)緩沖器204,如用于輸入路徑的緩沖器和用于輸出路徑的另一緩沖器。另選或另外地,可以設(shè)置多個(gè)緩沖器,以供多層緩沖。例如,存儲器裝置104可以被設(shè)置為數(shù)據(jù)閃存和/或串行閃存裝置。存儲器陣列202可以被組織為任何合適數(shù)量的頁面的數(shù)據(jù)。例如,每一個(gè)頁面都可以包括256或264個(gè)字節(jié)的數(shù)據(jù)。類似地,緩沖器204可以存儲指示一頁面的數(shù)據(jù)。i/o接口206可提供存儲器陣列202、緩沖器204及串行數(shù)據(jù)輸入(si)和輸出(so)之間的連接。例如,i/o接口206可以是spi或其它串行類型接口的一部分,并且還可以支持許多spi接口模式(例如,單spi、qpi及八進(jìn)制模式)。

數(shù)據(jù)緩沖器/高速緩存210可以包括一個(gè)或更多個(gè)緩沖器204以及高速緩存存儲器208。在一些排布結(jié)構(gòu)中,“高速緩存”可以包括:緩沖器204以及附加緩沖器,如下將更詳細(xì)討論的(例如,參見圖5)。在一個(gè)示例中,緩沖器204可以存儲可通過/o接口206讀取的數(shù)據(jù),以經(jīng)由串行輸出從存儲器裝置輸出,而高速緩存存儲器208(例如,sram或其它快速存取存儲器)或緩沖器204中的一個(gè)或更多個(gè)可以存儲可易于縮短即將到來(例如,非順序或中斷)的讀取請求的讀取延遲的數(shù)據(jù)。在某些情況下,高速緩存存儲器208可以在當(dāng)前讀取操作的完成或中斷(或任何類型的終止)時(shí)接收緩沖器204的內(nèi)容,或者可以將指定內(nèi)容保持在緩沖器204中的一個(gè)或更多個(gè)中,并且可以從高速緩存存儲器208讀取這些內(nèi)容以支持新的讀取請求。因?yàn)榭梢杂筛咚倬彺娲鎯ζ?10(例如,包括緩沖器204)而不是存儲器陣列202來服務(wù)新的讀取請求,所以可以縮短與其關(guān)聯(lián)的讀取延遲。

下面,參照圖3,示出根據(jù)本發(fā)明的實(shí)施方式的示例存儲器裝置的框圖。存儲器裝置104可以包括接口控制和邏輯206,接口控制和邏輯206可以管理接口(例如,spi接口),并且將命令和地址信息解碼。控制和保護(hù)邏輯302可以包括用于讀取和寫入存儲器陣列的控制電路,包括用于字節(jié)讀取和組尋址/排序的地址映射和控制,下面將更詳細(xì)地討論。例如,控制和保護(hù)邏輯302可以包括命令解碼器、用于命令執(zhí)行參數(shù)(例如,讀取參數(shù)、編程/擦除參數(shù)等)的寄存器以及用于命令執(zhí)行的控制器。

i/o緩沖器和鎖存器304可以控制來自接口控制和邏輯206的數(shù)據(jù)輸入以及對接口控制和邏輯206的數(shù)據(jù)輸出。例如,可以經(jīng)由i/o緩沖器和鎖存器304來容納從存儲器陣列202讀取的數(shù)據(jù)的基于芯片選擇的控制和基于時(shí)鐘的控制。即,如本文所述,可以通過在突發(fā)讀取和順序提取操作期間切換sck,來控制i/o緩沖器和鎖存器304中的寄存器/鎖存器。sram數(shù)據(jù)緩沖器/高速緩存210可以在存儲器陣列202與i/o緩沖器和鎖存器304之間緩沖/存儲數(shù)據(jù)。地址鎖存器塊306可以經(jīng)由接口控制邏輯208接收地址信息,并且可以將鎖存地址提供給用于行地址的x解碼器308,提供給用于列地址的y解碼器310,并且提供給sram數(shù)據(jù)緩沖器/高速緩存210。

從地址鎖存器306提供給sram數(shù)據(jù)緩沖器/高速緩存210的地址可以被用于從存儲器高速緩存208搜索所請求數(shù)據(jù)的匹配/命中或未命中。由此,如果經(jīng)由地址匹配在緩沖器/高速緩存210中發(fā)現(xiàn)所請求的數(shù)據(jù),則與從存儲器陣列202讀取數(shù)據(jù)相反,所請求的數(shù)據(jù)可以直接提供給i/o緩沖器和鎖存器304以直接輸出??梢越?jīng)由地址鎖存塊306和/或控制和保護(hù)邏輯302執(zhí)行地址的遞增。y解碼器310可以向y選通312提供列地址,y選通318可以包括傳輸門(passgate)等,以復(fù)用去往/來自存儲器陣列202的i/o線。如上所討論的,存儲器陣列202可以包括易失性存儲器單元或非易失性存儲器單元(例如,cbram、reram、閃存等)的陣列。

下面,參照圖4,示出了根據(jù)本發(fā)明的實(shí)施方式的示例存儲器陣列和用于讀取數(shù)據(jù)的緩沖器排布結(jié)構(gòu)的框圖。例如,存儲器裝置104可以包括:存儲器陣列202(例如,閃速存儲器陣列)、緩沖器204-0和204-1以及高速緩存存儲器208(可以按sram或任何其它相對快速的存取存儲器實(shí)現(xiàn))。在一些排布結(jié)構(gòu)中,可以提供僅一個(gè)或者超過兩個(gè)緩沖器204,如用于多層緩沖和更深流水線的多個(gè)緩沖器。存儲器裝置104可以被設(shè)置為數(shù)據(jù)閃存和/或串行閃存裝置,并且存儲器陣列202可以被組織為數(shù)據(jù)的任何合適數(shù)量或布置的頁面。而且,高速緩存存儲器208可以至少存儲與緩沖器204相同量的數(shù)據(jù),并且在一些情況下可以是緩沖器204的數(shù)據(jù)的很多倍(例如,4倍、8倍、16倍等)。在一個(gè)實(shí)現(xiàn)中,通過如同多個(gè)緩沖器204是高速緩存存儲器中的多個(gè)行那樣來維持所述多個(gè)緩沖器,所述多個(gè)緩沖器可以有效地形成高速緩存存儲器,并因此可以不需要分離的高速緩存208。在任何情況下,作為讀取操作的一部分,來自存儲器陣列202的讀取請求的數(shù)據(jù)可以被復(fù)制到一個(gè)或更多個(gè)緩沖器204中。輸出電路206可以接收時(shí)鐘信號,并且可以執(zhí)行各種邏輯、復(fù)用以及驅(qū)動(dòng)功能,以便驅(qū)動(dòng)i/o引腳(例如,4個(gè)、8個(gè)或任何其它數(shù)量的引腳)和可選的數(shù)據(jù)選通引腳(ds)。

如在此使用的,“數(shù)據(jù)行”可以是一組數(shù)據(jù)字節(jié),其可以包括用于原地執(zhí)行的代碼和/或以其它方式用于代碼執(zhí)行的數(shù)據(jù),或任何其它類型的存儲數(shù)據(jù)。數(shù)據(jù)行可以是可以在一個(gè)存儲器讀取周期中從存儲器陣列讀取的一組連續(xù)尋址的數(shù)據(jù)字節(jié),并且其可以通過一時(shí)鐘或數(shù)據(jù)選通的多個(gè)輸出周期(例如,16個(gè)周期,或8個(gè)周期的雙倍數(shù)據(jù)速率輸出)從存儲器裝置輸出。例如,數(shù)據(jù)行中的存儲單元可以共享公共字線和所選擇的讀出放大器組。作為一個(gè)具體示例,數(shù)據(jù)行可以等同于可由主機(jī)請求填充的高速緩存行,或等同于數(shù)據(jù)頁。而且,例如,一數(shù)據(jù)行可以是順序/連續(xù)尋址的16字節(jié)的數(shù)據(jù)。而且,數(shù)據(jù)行可以表示邊界,使得當(dāng)指定數(shù)據(jù)行中的一個(gè)字節(jié)被請求作為讀取操作的一部分時(shí),可以利用針對下一個(gè)順序?qū)ぶ返臄?shù)據(jù)行的隨后存儲器陣列讀取,以便取出從請求的字節(jié)開始的、一個(gè)完整數(shù)據(jù)行(例如,16個(gè)連續(xù)字節(jié))的數(shù)據(jù)。而且,在某些情況下,數(shù)據(jù)行除了數(shù)據(jù)的字節(jié)量以外還可以包括額外的比特。

因此,在許多情況下,針對存儲器陣列202的兩次讀取可以在(例如,在預(yù)提取中)經(jīng)由輸出電路206輸出數(shù)據(jù)之前或與之并行地發(fā)生。例如,可以從存儲器陣列202讀取數(shù)據(jù)行1000(例如,16字節(jié)=128b),提供給緩沖器204-0,并經(jīng)由輸出電路206輸出。接著,可以讀取數(shù)據(jù)行1010,并提供給緩沖器204-1以經(jīng)由輸出電路206輸出。如在此標(biāo)記的,該數(shù)據(jù)行通過其示例性的十六進(jìn)制的起始字節(jié)對齊的地址。因此,對于16字節(jié)的數(shù)據(jù)行大小,“1000”可以是對應(yīng)數(shù)據(jù)行的最低尋址字節(jié)的十六進(jìn)制地址(即,對應(yīng)于指定數(shù)據(jù)行的最低地址的字節(jié)),而“1010”可以是下一順序?qū)ぶ返臄?shù)據(jù)行的最低尋址字節(jié)的十六進(jìn)制地址。

可以利用緩沖(例如,經(jīng)由緩沖器204和高速緩存存儲器208)來幫助最小化存儲器陣列讀取延遲,并且可以允許每八個(gè)時(shí)鐘周期從存儲器裝置輸出128b的塊(例如,數(shù)據(jù)行大小)。例如,緩沖器204-0和204-1中的每一個(gè)都可以存儲至少128b的數(shù)據(jù)。在標(biāo)準(zhǔn)spi中,可能沒有辦法向主機(jī)102通知緩沖器204可能具有不足于滿足于當(dāng)前讀取請求(例如,從起始地址到連續(xù)尋址字節(jié)的總共16個(gè)字節(jié))的數(shù)據(jù)(例如,小于128b的數(shù)據(jù)),結(jié)果可能增加延遲。由此,2個(gè)實(shí)體或數(shù)據(jù)行可以按順序和乒乓方式提前讀取(預(yù)提取),如將數(shù)據(jù)行1000提供給緩沖器204-0、之后將數(shù)據(jù)行1010提供給緩沖器204-1。這可以確保足夠的緩沖,以便滿足對存儲器裝置的時(shí)鐘輸出要求。這樣,讀取請求可以由主機(jī)102發(fā)出(例如,每4個(gè)或8個(gè)時(shí)鐘(例如,sck)周期),并且流出數(shù)據(jù)(例如,一旦緩沖器204充分充滿)可以利用預(yù)提取而有效地是連續(xù)的,如每4或8個(gè)周期一128b的數(shù)據(jù)塊,取決于i/o和數(shù)據(jù)行寬度/大小配置。

在一示例操作中,如果由存儲器裝置接收到具有128b實(shí)體(例如,數(shù)據(jù)行)的特定起始地址字節(jié)的讀取請求,則這種數(shù)據(jù)可以從存儲器裝置輸出,并且可以從主機(jī)發(fā)送請求或暗示,以便讀出下一個(gè)順序/連續(xù)尋址的數(shù)據(jù)行。如果該讀取請求包括朝向指定數(shù)據(jù)行的末端的起始地址,則可能存在可以從該數(shù)據(jù)行順序地(例如,連續(xù)尋址的字節(jié))讀取的不足的數(shù)據(jù),如下將更詳細(xì)討論的。例如,其中僅單個(gè)實(shí)體或數(shù)據(jù)行需要讀取以滿足讀取請求的這樣一種情況是指定數(shù)據(jù)行中的第一個(gè)字節(jié)(即,最低地址處的數(shù)據(jù)字節(jié))是起始地址。對于16字節(jié)的數(shù)據(jù)行大小,這種特定情況可能具有1/16的發(fā)生概率。

然而,讀取延遲瓶頸可能由于利用從存儲器陣列202背對背讀取的這一過程而發(fā)生。這種瓶頸可以是由于起始字節(jié)地址可以是任何字節(jié)(字節(jié)對齊尋址)的要求所致。為了適應(yīng)所有尋址情況(包括極端情況,即,感測到的n比特(例如,數(shù)據(jù)行)的最后字節(jié)(即,處于最高地址的數(shù)據(jù)字節(jié))被請求作為起始字節(jié)),然后可以讀取下一個(gè)n比特(例如,下一個(gè)連續(xù)尋址的數(shù)據(jù)行)的第一字節(jié),針對每個(gè)讀取請求都必須進(jìn)行兩次存儲器陣列讀取。在另一方法中,可以利用一個(gè)或更多個(gè)模式比特,以便改變成字、雙字甚或行對齊尋址,這可以被使用以便增加背對背讀取之間的時(shí)間,并因此時(shí)段讀取操作的明顯的延遲。

在存儲器裝置用作微處理器的或主機(jī)的存儲器分級體系的一部分的情況下,可能出現(xiàn)相對較高的讀取延遲,并且這種延遲可能對cpu/主機(jī)102的性能有很大的影響。具體來說,為了縮短單個(gè)cpu系統(tǒng)中的實(shí)際延遲而可以采用的方法在多核系統(tǒng)中可能不太可行(例如,參見圖1)。這是因?yàn)樵谶@種多核系統(tǒng)中,來自各種cpu的存儲器請求可能是交錯(cuò)的,這可能因存儲器請求的所產(chǎn)生的可能的非順序和/或中斷性質(zhì)而導(dǎo)致讀取延遲的增加。

如上所述,在許多情況下,可以通過預(yù)提取連續(xù)的存儲器行(例如,到緩沖器204-0和204-1)并且用最小延遲將這些數(shù)據(jù)行提供給處理器來縮短存儲器延遲。當(dāng)來自cpu的存儲器請求針對連續(xù)或順序的存儲器行時(shí),該方法可以很好地工作,這是在單個(gè)cpu/主機(jī)上典型執(zhí)行程序方面的常見情況。然而,存儲器請求可能在許多情況下變?yōu)榉琼樞虻?,包括在?zhí)行分支、跳轉(zhuǎn)和/或中斷期間或者改變順序執(zhí)行的任何其它指令,以及來自多個(gè)cpu核心的交錯(cuò)的存儲器請求(例如,參見圖1的排布結(jié)構(gòu))。在特定實(shí)施方式中,通過與緩沖器204一起采用高速緩存存儲器208,或通過簡單地將存儲器行保持在緩沖器204中用于隨后的讀取操作,可以在每個(gè)這種情況下縮短讀取延遲。

在示例存儲器裝置中,當(dāng)從該裝置發(fā)出當(dāng)前存儲器數(shù)據(jù)行時(shí),可以發(fā)生接下來的連續(xù)存儲器行的預(yù)提取。然而,在一些情況下,當(dāng)當(dāng)前命令終止時(shí),可以清除保持任何接下來的存儲器數(shù)據(jù)行的緩沖器204。即使主機(jī)可以在后續(xù)命令中從這些存儲器數(shù)據(jù)行請求數(shù)據(jù),這種清除也可能發(fā)生。例如,在來自多個(gè)核心的命令被交錯(cuò)的情況下和/或當(dāng)單個(gè)核心從函數(shù)調(diào)用返回時(shí),這種情況可能頻繁發(fā)生。然而,在特定實(shí)施方式中,高速緩存存儲器208,或者緩沖器204中的一個(gè)或更多個(gè)可以在當(dāng)前讀取命令終止時(shí)存儲緩沖器204的內(nèi)容的副本,使得對于這種后續(xù)或隨后的命令而言,可以從高速緩存存儲器獲得這種數(shù)據(jù)。在其它實(shí)施方式中,在當(dāng)前讀取命令終止時(shí),這些內(nèi)容可以按高速緩存相似的方式簡單地存儲在緩沖器204中的另一個(gè)緩沖器中,使得對于這種后續(xù)或隨后的命令而言,可以從緩沖器204獲得該數(shù)據(jù)。

下面,參照圖5,示出了根據(jù)本發(fā)明的實(shí)施方式的存儲器裝置中的示例緩沖器和高速緩存排布結(jié)構(gòu)的框圖500。在這個(gè)示例中,緩沖器/高速緩存存儲器210可以包括八個(gè)緩沖器204(例如,204-0、204-1、…、204-7)。這樣,緩沖器204可以被實(shí)現(xiàn)為緩沖器204中的一個(gè)或更多個(gè),以有效地形成高速緩存存儲器結(jié)構(gòu)。另外,地址寄存器可以被包括在緩沖器204中的每一個(gè)內(nèi),或者以其它方式與緩沖器204中的每一個(gè)相關(guān)聯(lián),以便存儲來自存儲器陣列202的、對應(yīng)于指定緩沖器的內(nèi)容的地址。例如,這樣的地址寄存器可以存儲存儲器陣列202的、被復(fù)制到指定緩沖器中的數(shù)據(jù)的地址,作為讀取操作的一部分。而且,有效比特也可以與每個(gè)地址寄存器相關(guān)聯(lián),以便指示存儲在其中的特定地址是有效的。高速緩存存儲器210還可以包括地址解碼器504,地址解碼器504可以從地址鎖存器306接收信號,并且可以提供3比特解碼的值來尋址八個(gè)緩沖器204中的一個(gè)。讀/寫控制506可以從控制和保護(hù)邏輯302接收信號(例如,讀取控制信號、寫入控制信號等),并且可以向數(shù)據(jù)鎖存器508提供控制信號。數(shù)據(jù)鎖存器508可以從控制和保護(hù)邏輯302接收信號(例如,讀取數(shù)據(jù)選通、數(shù)據(jù)輸出使能、加載數(shù)據(jù)等),并且可以向/從緩沖器/高速緩存存儲器210提供或接收數(shù)據(jù)。而且,雖然在圖5的特定例中僅示出了8個(gè)寄存器/緩沖器,但在特定實(shí)施方式中可以容納任何合適數(shù)量的寄存器。

在某些實(shí)施方式中,可以保持被預(yù)提取到緩沖器204中的一個(gè)或更多個(gè)中的數(shù)據(jù)以供將來在緩沖器/高速緩存結(jié)構(gòu)210中使用。例如,在由存儲器裝置接收到的各個(gè)讀取命令結(jié)束(通過中斷或者完成)時(shí),下一個(gè)存儲器行的數(shù)據(jù)可以傳遞至這個(gè)高速緩存結(jié)構(gòu),如與它們的地址一起。針對新的讀取命令,如果請求地址(例如,經(jīng)由地址鎖存器306)等于存儲在該高速緩存中的存儲器行中的一個(gè)的地址,則高速緩存結(jié)構(gòu)210可以提供數(shù)據(jù)(例如,經(jīng)由緩沖器204)。另外,當(dāng)新一行到達(dá)高速緩存結(jié)構(gòu)210時(shí),可以利用替換算法(例如,先入先出[fifo]方案)來決定哪個(gè)高速緩存行(例如,哪個(gè)緩沖器204)應(yīng)該被替換,作為“保持”高速緩存結(jié)構(gòu)210中的數(shù)據(jù)緩沖器的內(nèi)容的一部分。

下面,參照圖6,示出了根據(jù)本發(fā)明的實(shí)施方式的第一示例讀取事務(wù)的波形圖。在示例600中,起始地址“x”可以等于1000,并因此可以是數(shù)據(jù)行1000的第一字節(jié)(例如,最低尋址字節(jié))。來自存儲器陣列202的讀取被示為對數(shù)據(jù)行1000的讀取602,其可以被提供給緩沖器204-0,隨后是對數(shù)據(jù)行1010的讀取604,其可以被提供給緩沖器204-1。因此,緩沖器204可以被填充606,并且延遲608可以表示從緩沖器204經(jīng)由輸出電路206到輸出的讀取時(shí)間。例如,按雙倍數(shù)據(jù)速率通過8個(gè)時(shí)鐘周期輸出的數(shù)據(jù)610可以表示數(shù)據(jù)行1000的完整數(shù)據(jù),并且數(shù)據(jù)612可以表示數(shù)據(jù)行1010的順序/連續(xù)尋址和較低有效字節(jié)部分,以便填充該讀取請求。因此,在這個(gè)示例中,8個(gè)i/o線可以輸出16字節(jié)數(shù)據(jù)的完整數(shù)據(jù)行,并且可以經(jīng)由在614開始的ds而進(jìn)行選通。另外,對存儲器陣列202的其它讀取可以包括對數(shù)據(jù)行1020的讀取616和對數(shù)據(jù)行1030的讀取618。

根據(jù)讀取操作何時(shí)完成或要不然由主機(jī)終止,緩沖器204的內(nèi)容可以通過被復(fù)制到分離的高速緩存存儲器中,或者通過簡單地保持在緩沖器204中的一個(gè)中來保存。例如,如果讀取操作在周期21與26之間的周期的結(jié)束時(shí)完成,則可以將一個(gè)或兩個(gè)數(shù)據(jù)行(例如,行1000和1010)保存在高速緩存結(jié)構(gòu)210中(例如,保存在緩沖器204中)。作為另一示例,如果讀取操作在周期27結(jié)束時(shí)完成,則可以將三個(gè)數(shù)據(jù)行(例如,行1000、1010及1020)保存在高速緩存結(jié)構(gòu)210中(例如,保存在緩沖器204中)。作為又一示例,如果讀取操作在周期28與34之間的周期的結(jié)束時(shí)完成,則可以將三個(gè)數(shù)據(jù)行(例如,行1010、1020及1030)保存在高速緩存存儲器208中。在某些實(shí)施方式中,在當(dāng)前讀取操作終止時(shí),可以將預(yù)定數(shù)量的數(shù)據(jù)行(如包含在緩沖器204的全部內(nèi)容中的那些)保持在緩沖器/高速緩存結(jié)構(gòu)210中。如在此使用的,被“保持在”高速緩存存儲器或結(jié)構(gòu)210中的內(nèi)容可以包括緩沖器204的重新分配,如通過基于fifo的高速緩存行管理。

下面,參照圖7,示出了根據(jù)本發(fā)明的實(shí)施方式的第二示例讀取事務(wù)的波形圖。雖然上述示例示出了數(shù)據(jù)行(例如,1000)的最低尋址字節(jié)的起始字節(jié)地址,但示例650示出了作為指定數(shù)據(jù)行的次最后字節(jié)(例如,最高尋址字節(jié))的起始字節(jié)地址。在這個(gè)示例中,數(shù)據(jù)652可以表示對應(yīng)于包含在數(shù)據(jù)行1000內(nèi)的起始地址(例如,x=100e)的數(shù)據(jù)。而且,數(shù)據(jù)654可以表示來自下一個(gè)順序/連續(xù)尋址的數(shù)據(jù)行1010的數(shù)據(jù),并且數(shù)據(jù)656可以表示來自后續(xù)/順序?qū)ぶ返臄?shù)據(jù)行1020的數(shù)據(jù)。另外,對存儲器陣列202的其它讀取可以包括對數(shù)據(jù)行1020的讀取616和對數(shù)據(jù)行1030的讀取618。應(yīng)注意,在614處激活用于時(shí)鐘輸出數(shù)據(jù)的數(shù)據(jù)選通。

因此,在這些示例中,針對指定數(shù)據(jù)行的多種起始地址(包括圖6的最低字節(jié)地址(x=1000),以及圖7的第二高字節(jié)地址(x=100e)),發(fā)生相同的讀取延遲。根據(jù)讀取操作何時(shí)完成,緩沖器204的內(nèi)容可以通過被復(fù)制到分離的高速緩存存儲器中,或者通過簡單地保持在緩沖器204中的一個(gè)中來保存。例如,如果讀取操作在周期22與26之間的周期的結(jié)束時(shí)完成,則可以將一個(gè)數(shù)據(jù)行(例如,行1010)保存在高速緩存結(jié)構(gòu)210中(例如,保存在緩沖器204中)。作為另一示例,如果讀取操作在周期27與28之間完成,則可以將兩個(gè)數(shù)據(jù)行(例如,行1010和1020)保存在高速緩存結(jié)構(gòu)210中(例如,保存在緩沖器204中)。作為又一示例,如果讀取操作在周期29與34之間的周期的結(jié)束時(shí)完成,則可以將兩個(gè)數(shù)據(jù)行(例如,行1020和1030)保存在高速緩存存儲器208中。在某些實(shí)施方式中,在當(dāng)前讀取操作終止時(shí),可以將預(yù)定數(shù)量(例如,2、3等)的數(shù)據(jù)行(如包含在緩沖器204的全部內(nèi)容中的那些)保持在緩沖器/高速緩存結(jié)構(gòu)210中。

新的讀取請求的數(shù)據(jù)可以從存儲器陣列和/或從高速緩存提供。如上所述,數(shù)據(jù)在從存儲器裝置輸出之前基本上可以穿過緩沖器204。而且,可以減少在高速緩沖存儲器中“命中”的命令的虛設(shè)的周期的數(shù)量。而且,向主機(jī)通知數(shù)據(jù)快得多地準(zhǔn)備就緒的一種方法可以是使用ds信號,這也可以充當(dāng)數(shù)據(jù)可用性的指示。這樣,主機(jī)不必計(jì)算虛設(shè)周期,而相反可以等待ds切換為第一個(gè)數(shù)據(jù)項(xiàng)準(zhǔn)備就緒的指示。在任何情況下,ds可以取決于不只是時(shí)鐘輸出數(shù)據(jù),而且還依靠確定來自存儲器裝置的數(shù)據(jù)準(zhǔn)備就緒。因此,作為其狀態(tài)機(jī)功能的一部分,主機(jī)還可以利用ds作為流控制信號,以通過確定數(shù)據(jù)就緒狀態(tài)來控制拉出(pull)數(shù)據(jù)。例如,主機(jī)中的狀態(tài)機(jī)可以計(jì)數(shù)虛設(shè)周期等,以確定數(shù)據(jù)是否可用于從緩沖器讀出,并且在可用時(shí)從存儲器裝置開始收集數(shù)據(jù)。因此,在某些實(shí)施方式中,ds可以被用于時(shí)鐘輸出數(shù)據(jù),并且向主機(jī)提供數(shù)據(jù)就緒指示符。

ds引腳的控制也可以用于支持向主機(jī)通知存儲器可能需要暫停通過i/o線傳送數(shù)據(jù)。當(dāng)存儲器因“內(nèi)務(wù)處理”功能或任何其它理由而可能需要額外延遲時(shí),可能需要這樣做。在某些實(shí)施方式中,可以使用ds作為“背壓(back-pressure)機(jī)制”或“流控制機(jī)制”來向主機(jī)通知何時(shí)需要更多時(shí)間,如可以通過虛設(shè)周期或其它預(yù)定義的等待狀態(tài)來適應(yīng)。例如,ds可以在等待從存儲器陣列中提取數(shù)據(jù)時(shí)停止切換,可以在地址階段完成時(shí)被驅(qū)動(dòng)至恒定值,并且可以在第一數(shù)據(jù)準(zhǔn)備好從存儲器裝置輸出時(shí)開始切換。

在任何情況下,主機(jī)都可以利用ds(或sck)切換,以便時(shí)鐘輸出數(shù)據(jù)以在主機(jī)裝置中接收。而且,在第一批數(shù)據(jù)之后可能不保持?jǐn)?shù)據(jù)突發(fā)的情況下(例如,由于環(huán)繞提取(wrap-aroundfetching)),ds可以被凍結(jié),直到存儲器裝置從環(huán)繞操作“恢復(fù)”為止,然后可以再次流傳送數(shù)據(jù)。在環(huán)繞提取中,“連續(xù)尋址”字節(jié)的數(shù)據(jù)可以從指定數(shù)據(jù)行內(nèi)的最高尋址字節(jié)環(huán)繞至最低尋址字節(jié)。應(yīng)注意,在使得針對指定存儲器陣列讀取而激活的讀出放大器的數(shù)量與總線吞吐量相匹配的存儲器裝置上,這種“凍結(jié)”可能僅發(fā)生一次(例如,在發(fā)送第一批數(shù)據(jù)之后),并且這種凍結(jié)的概率在順序讀取情況下相對較低。然而,這種概率在支持環(huán)繞功能的讀取中可能較高,并且取決于高速緩存行大小。而且,僅作為一個(gè)示例,如果在存儲器實(shí)現(xiàn)中使用dram,則為了處理刷新操作,可能需要暫停。

而且,在特定實(shí)施方式中,可變的ds功能/定時(shí)可以考慮到存儲器裝置在讀取錯(cuò)誤的情況下重新讀取數(shù)據(jù),這可能潛在地增加最大工作頻度。這與以基本上保證沒有這種數(shù)據(jù)錯(cuò)誤的頻度水平來操作例如閃速存儲器裝置相反。取而代之,頻度可以被允許變得較高,只要來自這種頻度增加的增益高于在處理任何重新讀取時(shí)可能失去的時(shí)間即可。為了檢測和糾正讀取錯(cuò)誤或其它錯(cuò)誤(如由于有缺陷單元或輻射影響),可以采用重讀功能和糾錯(cuò)碼(ecc)。用于增加讀取速度的另選方案是減小讀取電流,如對于不以最大速度運(yùn)行的裝置來說。例如,這可以通過利用較低的讀取電流或者通過在較低的時(shí)鐘速度利用較短的讀取脈沖來完成。在這種情況下,可以利用可變ds來減小在這種相對低的速度時(shí)的讀取的總體功耗。

在一個(gè)實(shí)施方式中,一種控制具有存儲器陣列和高速緩存存儲器的存儲器裝置的方法,該存儲器陣列具有被設(shè)置為多個(gè)數(shù)據(jù)行的多個(gè)存儲器單元,并且該高速緩存存儲器具有第一緩沖器和第二緩沖器,并且被設(shè)置成存儲多個(gè)數(shù)據(jù)行,其中,每個(gè)數(shù)據(jù)行都包括預(yù)定數(shù)量字節(jié)的數(shù)據(jù),該方法可以包括:(i)通過接口接收第一讀取命令,該第一讀取命令從起始字節(jié)的地址起按連續(xù)尋址順序請求多個(gè)字節(jié)的數(shù)據(jù);(ii)在第一緩沖器中,存儲來自高速緩存存儲器或存儲器陣列的所述多個(gè)數(shù)據(jù)行中的第一數(shù)據(jù)行,其中,該第一數(shù)據(jù)行包括所述起始字節(jié);(iii)在第二緩沖器中,存儲來自高速緩存存儲器或者存儲器陣列的所述多個(gè)數(shù)據(jù)行中的第二數(shù)據(jù)行,其中,第二數(shù)據(jù)行相對于第一數(shù)據(jù)行連續(xù)尋址;(iv)由輸出電路從第一緩沖器讀取數(shù)據(jù),并且從第一數(shù)據(jù)行的起始字節(jié)到最高尋址字節(jié)順序地輸出每一個(gè)字節(jié);(v)由輸出電路從第二緩沖器讀取數(shù)據(jù),并且從第二數(shù)據(jù)行的最低尋址字節(jié)起順序輸出每一個(gè)字節(jié),直到請求的所述多個(gè)字節(jié)的數(shù)據(jù)已經(jīng)輸出為止,以便執(zhí)行第一讀取命令;以及(iv)在高速緩沖存儲器中保持第一緩沖器的內(nèi)容和第二緩沖器的內(nèi)容。

下面,參照圖8,示出了根據(jù)本發(fā)明的實(shí)施方式的從存儲器陣列讀取多個(gè)字節(jié)的數(shù)據(jù)的示例方法的流程圖800。在802,可以接收到從存儲器陣列(例如,202)讀取具有字節(jié)x的起始地址的多個(gè)字節(jié)(例如,等于數(shù)據(jù)行大小、小于或大于數(shù)據(jù)行大小)的讀取請求。在804,包含字節(jié)x的第一數(shù)據(jù)行可以從高速緩存存儲器(例如,210)或存儲器陣列(例如,202)讀取,并且可以存儲在緩沖器(例如,204-0)中。例如,緩沖器204可以被包括在高速緩存存儲器結(jié)構(gòu)中。在806,與第一數(shù)據(jù)行連續(xù)(例如,相鄰、連續(xù)尋址)的第二數(shù)據(jù)行可以從高速緩存存儲器或存儲器陣列讀取,并存儲在另一緩沖器(例如,204-1)中。如上所述,數(shù)據(jù)是從高速緩沖存儲器還是從存儲器陣列取出可以基于起始地址與存儲在緩沖器/高速緩存結(jié)構(gòu)210中或與緩沖器/高速緩存結(jié)構(gòu)210相關(guān)聯(lián)的地址的比較的匹配或失配。

在808,如果字節(jié)x是第一數(shù)據(jù)行的第一個(gè)字節(jié)或最低尋址字節(jié),則僅需要利用第一數(shù)據(jù)緩沖器(例如,204-0)以滿足該讀取請求。在這種情況下,在810,各個(gè)字節(jié)可以經(jīng)由第一緩沖器從該第一數(shù)據(jù)行順序地輸出,以滿足該讀取請求。這種情況的一個(gè)例子如圖6所示。還如圖所示,數(shù)據(jù)選通可以與從存儲器裝置輸出的數(shù)據(jù)一致地觸發(fā),以便向主機(jī)通知所請求的數(shù)據(jù)準(zhǔn)備就緒,并提供具有足以在主機(jī)中接收/時(shí)鐘輸入(clock)該數(shù)據(jù)的定時(shí)的時(shí)鐘。

在808,如果字節(jié)x不是第一數(shù)據(jù)行的第一最低尋址字節(jié),則可以跨數(shù)據(jù)行邊界拉出完成該讀取請求所需的數(shù)據(jù),并因此需要從高速緩存存儲器208或存儲器陣列202讀取兩個(gè)數(shù)據(jù)行。在這種情況下,在812,可以經(jīng)由第一緩沖器從第一數(shù)據(jù)行按順序次序輸出字節(jié)x和剩余字節(jié)(例如,參見圖7的652)。在814,字節(jié)可以經(jīng)由第二緩沖器(例如,204-1)從第二數(shù)據(jù)行順序輸出,直到從存儲器裝置輸出了多個(gè)字節(jié)(例如,數(shù)據(jù)行大小)為止,以便滿足該讀取請求(例如,參見圖7的654)。另外,在816,第一緩沖器和第二緩沖器的內(nèi)容可以被保持在高速緩存結(jié)構(gòu)中,諸如被復(fù)制到高速緩存存儲器中(例如,208),或者存儲在一個(gè)或更多個(gè)緩沖器204中,緩沖器204可以被設(shè)置成形成高速緩存結(jié)構(gòu)(例如,210)。這樣,對于可以從高速緩存結(jié)構(gòu)210讀取所請求的數(shù)據(jù)的隨后讀取操作,可以縮短讀取延遲。

特定實(shí)施方式還可以支持針對其它字節(jié)邊界(例如,2、4、8等)操作的選項(xiàng),這某些情況下可以允許接口性能增加。而且,為了適應(yīng)較高的接口頻率,特定實(shí)施方式可以支持差分輸入(例如,sck)和輸出(例如,ds)時(shí)鐘,如利用外部基準(zhǔn)電壓。另外或另選的是,同步數(shù)據(jù)傳遞可以涉及有關(guān)指定多個(gè)虛設(shè)周期的選項(xiàng),這可以限定數(shù)據(jù)可返回至主機(jī)的最早時(shí)間。然而,如果控制器(例如,主機(jī)/cpu102)能夠立即處理數(shù)據(jù),則該值可以保持在最小設(shè)置,并且存儲器裝置可以盡可能快地輸出數(shù)據(jù)。

在接收數(shù)據(jù)時(shí),主機(jī)控制器可以對傳入的ds脈沖進(jìn)行計(jì)數(shù),繼續(xù)計(jì)時(shí),直到它接收到如所希望一樣多的ds時(shí)鐘數(shù)為止,并且可能不再依賴于對主機(jī)所產(chǎn)生的sck時(shí)鐘進(jìn)行計(jì)數(shù)。例如,可以在寄存器中設(shè)置最小數(shù)量的等待狀態(tài),如用于指定最小虛設(shè)周期的模式字節(jié)。主機(jī)還可以將傳出的sck停止多個(gè)周期,以便給予自身準(zhǔn)備到達(dá)的數(shù)據(jù)的時(shí)間。在一種情況下,如果按相對較低頻率操作,則最小虛設(shè)周期數(shù)可以是0。在變量設(shè)置中,在某些情況下,讀取命令可以具有直到某個(gè)頻率的0個(gè)等待狀態(tài)以及之后的一個(gè)或更多個(gè)虛設(shè)周期。

具體實(shí)施方式還可以支持例如串行psram應(yīng)用,由此數(shù)據(jù)行大小等于緩沖器大小(例如,1024字節(jié),或其倍數(shù))。例如,針對存儲器陣列202的讀取操作可以將1024字節(jié)或以上的字節(jié)帶入緩沖器204中。在這種情況下,典型的單個(gè)spi突發(fā)可以經(jīng)由i/o接口206將16或32字節(jié)的數(shù)據(jù)傳遞至總線,并且存儲在指定緩沖器204中的剩余數(shù)據(jù)可以被有效地高速緩存以供以后使用。由此,指定數(shù)據(jù)緩沖器204的一部分可以為隨后的讀取操作提供類似高速緩存的功能。

雖然上述示例包括某些存儲器裝置的電路、可操作和結(jié)構(gòu)性實(shí)現(xiàn),但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)認(rèn)識到,根據(jù)實(shí)施方式可以使用其它技術(shù)和/或排布結(jié)構(gòu)。而且,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)認(rèn)識到,根據(jù)實(shí)施方式還可以使用其它裝置電路排布結(jié)構(gòu)、架構(gòu)、部件等。另外,在某些實(shí)施方式中也可以采用其它接口(例如,并行接口)、信號等。

對本發(fā)明具體實(shí)施方式的前述描述已經(jīng)出于例示和描述的目的而呈現(xiàn)。它們不是旨在排它或?qū)⒈景l(fā)明限制成所公開的精確形式,而是鑒于上述教導(dǎo),可以顯見地進(jìn)行許多修改和變化。選擇并描述這些實(shí)施方式,以便最佳地說明本發(fā)明的原理及其實(shí)踐應(yīng)用,由此使得本領(lǐng)域其它技術(shù)人員能夠最佳地利用本發(fā)明和具有如適于預(yù)期特定用途的各種修改例的各種實(shí)施方式。本發(fā)明的范圍旨在通過所附于此的權(quán)利要求書及其等同物來限定。

相關(guān)申請

本申請要求2016年4月21日提交的美國臨時(shí)申請no.62/325813的權(quán)益,并且其全部內(nèi)容通過引用并入于此。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
沅江市| 宜兰市| 玉环县| 丹东市| 历史| 隆尧县| 郎溪县| 太湖县| 吴忠市| 怀远县| 新绛县| 会昌县| 乌恰县| 通化县| 平阳县| 浠水县| 当涂县| 澄迈县| 抚顺市| 平罗县| 龙门县| 黄骅市| 迁西县| 峨眉山市| 宕昌县| 安远县| 海南省| 老河口市| 茂名市| 扎赉特旗| 大邑县| 泸州市| 德惠市| 邯郸市| 仁怀市| 五台县| 北京市| SHOW| 定结县| 静海县| 乌拉特前旗|