亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于發(fā)送命令的系統(tǒng)和方法

文檔序號:6610966閱讀:236來源:國知局
專利名稱:用于發(fā)送命令的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明總體上涉及在計(jì)算機(jī)系統(tǒng)中的訪問存儲器。
背景技術(shù)
許多現(xiàn)代的電子器件例如移動電話、PDA、便攜式音樂播放器、 電器等通常結(jié)合嵌入式計(jì)算機(jī)系統(tǒng)。嵌入式計(jì)算機(jī)系統(tǒng)通常包括計(jì) 算機(jī)處理器(稱作主機(jī))、非易失性存儲器(例如快閃存儲器和/或 ROM存儲器)以及易失性存儲器諸如動態(tài)隨機(jī)存取存儲器 (DRAM)。主機(jī)可以包括中央處理器(CPU)、數(shù)字式信號處理器 (DSP)、微控制器單元(MCU)或直接存儲器存取(DMA)數(shù)據(jù)
傳輸裝置。嵌入式系統(tǒng)還可以包括非易失性存儲器控制器,該非易 失性存儲器控制器可以用來控制和/或訪問非易失性存儲器。
在嵌入式系統(tǒng)中,通常可以比非易失性存儲器更快速地訪問易 失性存儲器。因此,例如,通過主機(jī)執(zhí)行的代碼可以存儲于易失性 存儲器中并通過主機(jī)從該易失性存儲器訪問。然而,由于易失性存 儲器通常需要電源來保持其中存儲的數(shù)據(jù),因此當(dāng)嵌入式系統(tǒng)被斷 電時(shí),易失性存儲器通常被擦除。因此,當(dāng)嵌入式系統(tǒng)斷電時(shí),通 常不需要電源來維持存儲數(shù)據(jù)的非易失性存儲器可以用來存儲由 主機(jī)執(zhí)行的代碼。當(dāng)對嵌入式系統(tǒng)加電時(shí)(例如,當(dāng)嵌入式系統(tǒng)進(jìn) 入復(fù)位狀態(tài)時(shí)),通過主機(jī)系統(tǒng)使用的代碼可以被載入易失性存儲 器中并通過主機(jī)由易失性存儲器執(zhí)行。將存儲于非易失性存儲器中 的代碼載入易失性存儲器中并執(zhí)行來自易失性存儲器代碼的過程
可以稱作代碼映射(code shadowing )。
為了維持嵌入式系統(tǒng)中訪問數(shù)據(jù)的靈活性,可以期望在主機(jī)、 易失性存儲器和非易失性存儲器之間以各種方式來傳輸數(shù)據(jù)。例 如,可以期望在易失性存儲器與主機(jī)之間、非易失性存々者器與主積i 之間、和易失性存儲器與非易失性存儲器之間執(zhí)行數(shù)據(jù)傳送。當(dāng)維 持嵌入式系統(tǒng)中訪問數(shù)據(jù)的靈活性時(shí),也可以期望降低主才幾和存儲 系統(tǒng)的紐/f牛之間的4妄口的成本和復(fù)雜性。
因此,需要用于嵌入式系統(tǒng)中訪問存々者器的改進(jìn)的系統(tǒng)和方法。

發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供了用于從第 一裝置向第二裝置發(fā)送命令 的方法、裝置和系統(tǒng)。在一個(gè)實(shí)施例中,該方法包括通過第一裝置 接收第一裝置內(nèi)的存儲位置寫第二命令的第一命令。第二命令包括
命令碼、標(biāo)識第二命令的操作數(shù)的操作數(shù)偏移量的第一值、和標(biāo)識 第二命令的操作數(shù)的數(shù)目的第二值。該方法還包括向第二裝置提供 第二命令。在一個(gè)實(shí)施例中,第二裝置使用由第二命令提供的偏移 量和數(shù)目加載第二命令的操作數(shù)。


為了可以更詳細(xì)地理解本發(fā)明的上述特征,將結(jié)合實(shí)施例詳細(xì) 描述本發(fā)明以上和無括的特征,其中一些實(shí)施方式在附圖中給出。然 而,應(yīng)當(dāng)注意,附圖僅描述了本發(fā)明的典型實(shí)施例,因此并不能認(rèn) 為限制其范圍,本發(fā)明可以允許其它同等效果的實(shí)施例。
圖1A~圖1C是示出了根據(jù)本發(fā)明實(shí)施例的嵌入式系統(tǒng)的方框
圖2A ~圖2B是示出了根據(jù)本發(fā)明實(shí)施例的用于配置覆蓋窗的 處理的流禾呈圖3A~圖3D是示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的覆蓋窗配置的 外3見的沖匡圖4是示出了根據(jù)本發(fā)明一個(gè)實(shí)施例所發(fā)送的用于配置覆蓋窗 的命令的時(shí)序圖5A~圖5B是示出了根據(jù)本發(fā)明實(shí)施例經(jīng)由覆蓋窗訪問數(shù)據(jù) 和發(fā)送命令的處理的流程圖6~圖7是示出了根據(jù)本發(fā)明實(shí)施例的覆蓋窗中的控制寄存 器和緩沖器的框圖8是示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的向op碼寄存器發(fā)送的 命令的框圖9A ~圖9D是示出了根據(jù)本發(fā)明的實(shí)施例的嵌入式系統(tǒng)中的 數(shù)據(jù)傳送的框圖10A~圖IOB是示出了根據(jù)本發(fā)明實(shí)施例用于在主才幾和非易 失性存儲器之間執(zhí)行DMA傳送處理的流程圖11是示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的經(jīng)由覆蓋窗訪問的鏡 像控制寄存器的框圖;以及
圖12是示出了根據(jù)本發(fā)明一個(gè)實(shí)施例用于鏡像控制寄存器數(shù) 據(jù)的處理的流程圖。
具體實(shí)施例方式
本發(fā)明的實(shí)施例提供了一種用于從第一裝置向第二裝置發(fā)送 命令的方法、裝置和系統(tǒng)。在一個(gè)實(shí)施例中,該方法包4舌通過第一 裝置接收第一命令,該第一命令向第一裝置中的存儲位置(location) 寫第二命令。第二命令包括命令碼、標(biāo)識(identify)用于第二命令 操作數(shù)的操作數(shù)偏移量的第一值、以及標(biāo)識第二命令的才喿作數(shù)數(shù)目 的第二值。該方法還包括向該第二裝置提供第二命令。在一個(gè)實(shí)施 例中,第二裝置利用由第二命令提供的偏移量和凄t目而載入第二命 令的操作數(shù)。
圖1A是示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的嵌入式系統(tǒng)100的方 框圖。如所示出的,嵌入式系統(tǒng)100可以包4舌主才幾102、易失性存 儲器104、非易失性存儲器控制器106以及非易失性存儲器108。
在一個(gè)實(shí)施例中,主機(jī)102可以包括j空制電路132和用于與易 失性存儲器104的易失性存儲器接口 112通信的易失性存儲器接口 110。在一個(gè)實(shí)施例中,易失性存儲器接口 112可以包括一4妄口,該 接口符合電子設(shè)備工程聯(lián)合委員會(JEDEC) l氐功率雙倍數(shù)據(jù)傳輸 率(LPDDR)同步動態(tài)隨才幾存取存儲器(SDRAM)規(guī)定。可選地, 可以使用任何其它合適的易失性存儲器接口 (例如,使用DRAM 接口控制信號諸如寫使能(WE)、行存取選通脈沖(RAS)、列存 取選通脈沖(CAS)以及芯片選擇(CS))??梢允褂每刂齐娐罚?如,來執(zhí)行計(jì)算機(jī)命令和處理由易失性存儲器104或另外的存儲位 置(例如,磁盤驅(qū)動器或其它存儲裝置)接收的數(shù)據(jù)。在某些情況 下,主才幾102還可以包括附加的(輔助)電路,例如,用于接收用 戶輸入的輸入/輸出(I/O)接口和至其它嵌入式系統(tǒng)組件(諸如其 他的存々者器組件、》茲盤驅(qū)動器和其它裝置)的其他接口。并且,如 下面所描述的,主機(jī)102可以使用易失性存儲器接口 112,來提供 命令和信息并用來接收來自易失性存儲器104、非易失性存儲器控 制器106、和/或非易失性存儲器108的信息。
在一個(gè)實(shí)施例中,易失性存儲器104可以包括用于與主才幾102 通信的易失性存儲器接口 112,和用于與非易失性存儲器控制器106 通信的非易失性存儲器接口 120。易失性存儲器104相對于主機(jī)102 和非易失性存儲器控制器106可以用作^w屬裝置(slave)(例如, 易失性存儲器可以通過該接口的其它組件來控制)。可選地,易失 性存儲器104相對于非易失性存儲器控制器106可以是主存儲器 (master )。非易失性存儲器接口 112可以包括用來訪問非易失性存 儲器108的任何接口,包括,例如寫使能(WE)、輸出使能(OE) 和芯片選擇(CS)控制信號。
易失性存儲器104還可以包括用于處理通過易失性存儲器接口 112和/或非易失性存儲器接口 120接收的命令的易失性存儲器控制
電路114。易失性存儲器104可以進(jìn)一步包括用于在易失性存儲器 104中存儲數(shù)據(jù)的易失性存儲器陣列116和用于在主機(jī)102、易失 性存儲器104、非易失性存儲器控制器106、和/或非易失性存儲器 108之間傳輸數(shù)據(jù)和/或命令的一個(gè)或多個(gè)緩沖器118。在一個(gè)實(shí)施 例中,緩沖器118可以是動態(tài)RAM (DRAM)存儲器??蛇x地, 緩沖器118可以是靜態(tài)Ram ( SRAM)存儲器。易失性存卡者器104 還可以包括用于與非易失性存儲器控制器106通信的非易失性存儲 器接口 120。
在本發(fā)明的一個(gè)實(shí)施例中,非易失性存儲器控制器106可以包 括用于與易失性存儲器104通信的第一非易失性存儲器接口 122和 用于與非易失性存儲器108通信的第二非易失性存儲器接口 126。 非易失性存儲器控制器106還可以包括用于控制易失性存4諸器104、 非易失性存儲器控制器106和非易失性存儲器之間數(shù)據(jù)傳4lT的非易 失性存儲器控制電路124??梢酝ㄟ^非易失性存儲器接口 128訪問 非易失性存儲器108??梢詫⒎且资源鎯ζ?08中的凝:才居存儲在 非易失性存儲器陣列130中。
雖然上面參照單個(gè)易失性存儲器104和非易失性存儲器控制器 106進(jìn)行了描述,但本文中所描述的實(shí)施例也可以用于易失性存儲 器134,其包括非易失性存儲器控制電路124,并通過非易失性存 儲器接口 128訪問非易失性存儲器108 (如圖1B所示)。
圖1C是示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的易失性存儲器104和 非易失性存儲器控制器106的其他細(xì)節(jié)的框圖。如所示出的,易失 性存儲器104可以包括命令和地址譯碼器電路164 (例如,作為易 失性存儲器控制電路114的一部分)。當(dāng)命令和地址譯碼器電路164 接收來自主機(jī)102的命令時(shí),其中主機(jī)102訪問易失性存儲器陣列 116的庫136中的一個(gè)中的凝:據(jù),數(shù)據(jù)可以通過主機(jī)的易失性存儲 器陣列116的易失性訪問控制160來進(jìn)行訪問。易失性存4諸器104
還可以提供如下面更詳細(xì)描述的用于控制易失性存儲器104操作的 模式寄存器(mode register ) 170、用于控制覆蓋窗的覆蓋窗控制寄 存器138、以及用于在嵌入式系統(tǒng)100的組件之間傳輸凝:據(jù)的覆蓋 窗緩沖器146。
在本發(fā)明的一個(gè)實(shí)施例中,易失性存儲器104可以進(jìn)一步提供 用于控制在非易失性存儲器108、非易失性存儲器控制器106和易 失性存儲器104之間的DMA傳輸?shù)闹胁恐苯哟鎯ζ鞔嫒?iDMA ) 控制寄存器140。如下面所描述的,^"改易失性存儲器104中的 iDMA控制寄存器設(shè)置可以使易失性存儲器104向非易失性存儲器 控制器106發(fā)送命令,這引起在非易失性存儲器控制器106的iDMA 控制器150的iDMA控制寄存器152中相應(yīng)的變化。這才羊的變化可 以,例如導(dǎo)致向iDMA控制器150發(fā)送命令,這導(dǎo)致例如在易失性 存儲器104、非易失性存儲器控制器106和非易失性存A者器108之 間才丸4亍DMA傳輸。
在一個(gè)實(shí)施例中,例如,DMA傳l俞(transfer)可以4吏用非易 失性存儲器控制器106中的緩沖器154,來臨時(shí)保持在非易失性存 儲器108和易失性存儲器104之間傳輸?shù)臄?shù)據(jù)。關(guān)于易失性存儲器 104, DMA傳輸可以使用iDMA易失性存儲器訪問控制162來訪問 易失性存儲器陣列116 (例如,讀取或?qū)懹糜贒MA傳輸?shù)臄?shù)據(jù))。 來自易失性存儲器陣列116的數(shù)據(jù)可以傳輸至iDMA緩沖器144或 者從iDMA緩沖器144傳出,iDMA緩沖器144又可以用于通過易 失性存儲器104的非易失性存儲器接口 120來傳輸數(shù)據(jù)。iDMA緩 沖器控制器148可以用來控制易失性存儲器104的iDMA易失性存 儲器訪問控制162、 iDMA緩沖器144和非易失性存儲器4妻口 120 之間的數(shù)據(jù)傳輸。
在一個(gè)實(shí)施例中,易失性存儲器104還可以包括通用串行總線 (USB)/高級技術(shù)配件(ATA)寄存器142,其可以用來控制非易失
性存儲器控制器106中的USB/ATA功能性。例如,如下面所描述 的,當(dāng)改變易失性存儲器104中的USB/ATA寄存器時(shí),易失性存 儲器104可以自動地相應(yīng)改變非易失性存儲器控制器106的非易失 性存儲器控制電路124中的USB/ATA控制寄存器158。因此,主機(jī) 102可以能夠通過易失性存儲器104來訪問非易失性存〗諸器控制器 106的USB/ATA功能'I"生。
配置用于訪問翁:據(jù)的a^窗
在本發(fā)明的一個(gè)實(shí)施例中,用于易失性存儲器104的易失性存 《渚器地址空間的 一部分可以分配給覆蓋窗。圖3A是示出了才艮據(jù)本 發(fā)明一個(gè)實(shí)施例占用(occupy)易失性存儲器地址空間302的一部 分的覆蓋窗304的方框圖。易失性存儲器104的易失性存儲器地址 空間302通常包括通過易失性存儲器104的易失性存4諸器4妻口 112 訪問的一系列地址。例如,如果易失性存儲器接口 112提供總共18 個(gè)地址4立(例如,兩個(gè)庫地址4立BA0和BA1和16個(gè)地址4立A[15:0]), 那么易失性存儲器104的地址空間302可以包括262,144個(gè)地址(2 的18次冪),其允許可以訪問易失性存儲器104中的高達(dá)256k的 數(shù)據(jù)的行項(xiàng)(row entries )(其中,每一4亍項(xiàng)對應(yīng)于一給定的地址)。
在某些情況下,通過經(jīng)由易失性存儲器接口 112訪問覆蓋窗304 中的地址,主機(jī)102能夠訪問非易失性存儲器108以及覆蓋窗控制 寄存器138、 iDAM控制寄存器140和USB/ATA控制寄存器142中 的數(shù)據(jù)。因此,覆蓋窗304可以允許通過易失性存儲器接口 112訪 問不同于易失性存儲器陣列116的寄存器和存儲器陣列。如果通過 易失性存儲器接口 112接收的訪問命令(例如,讀取或?qū)懨?沒 有落在由覆蓋窗指定的地址的范圍中,那么訪問命令可以用于訪問 易失性存儲器陣列116。如果接收的地址落在覆蓋窗304中,那么 訪問命令可以用來訪問其它數(shù)據(jù)(例如,在易失性存儲器104的覆 蓋窗緩沖器146或控制寄存器138、 140、 142中的數(shù)據(jù))。
如上所述,覆蓋窗304可以占據(jù)(occupy)易失性存儲器地址 空間302的一部分。在一個(gè)實(shí)施例中,例如,作為經(jīng)由易失性存儲 器接口 112接收的命令的結(jié)果,覆蓋窗304可以是被使能或被禁止 的。而且,在某些情況下,^皮覆蓋窗304占據(jù)的易失性存儲器地址 可以是可配置的(configurable )。因此,例如,覆蓋窗304的基地 址306以及覆蓋窗304的大小308 (示于圖3A中)是通過4務(wù)改易 失性存儲器104中的控制寄存器的設(shè)置可配置的。
占據(jù)易失性存儲器地址空間302的覆蓋窗304通常用于訪問易 失性存儲器陣列116,由覆蓋窗304寫地址的部分易失性存儲器陣 列116可以是不能訪問的(例如,訪問這些地址可以修改易失性存 儲器陣列116外部的數(shù)據(jù))。然而,通過移動覆蓋窗304,易失性存 儲器陣列116的不同部分(part)可以被"暴露"(例如,經(jīng)由易失 性存儲器接口 112可以是可訪問的)或者"掩蓋(covered up )"(例 如,對這些地址的訪問可以經(jīng)由覆蓋窗304凈皮重定向(redirect))。 而且,覆蓋窗304是被禁止時(shí),通過易失性存儲器地址空間302可 以訪問整個(gè)易失性存+者器陣列116。并且,在一個(gè)實(shí)施例中,易失 性存儲器地址空間302可以比易失性存儲器陣列116中的數(shù)據(jù)量要 大(例如,可以提供比數(shù)據(jù)更多的數(shù)據(jù)地址),這允許覆蓋窗304 位于易失性存儲器地址空間302的一部分,其并不覆蓋易失性存儲 器陣列116的凄t據(jù)地址。
圖2A是示出了才艮據(jù)本發(fā)明一個(gè)實(shí)施例用于配置覆蓋窗304的 處理200的流程圖。處理200可以以步驟202開始,其中4吏能覆蓋 窗304。在步驟204,可以設(shè)置用于覆蓋窗304的基地址306?;?址306可以指示覆蓋窗304開始處的易失性存儲器地址。在一個(gè)實(shí) 施例中,可以限制基地址306,使得選擇的基地址306 4叉落在頁面 大小邊界??蛇x地,對于基地址306,可以〗吏用任何對準(zhǔn)(alignment) (例如,字節(jié)對準(zhǔn))。在步驟206,可以設(shè)置覆蓋窗304的大小308。
覆蓋窗304的大小308可以,例如,表示以基地址306開始的覆蓋 窗304占據(jù)的易失性存儲器地址的范圍。在一個(gè)實(shí)施例中,可以加 倍i殳定的大小308的值,以確定實(shí)際大小(例如,覆蓋窗304的實(shí) 際大小可以是以1024 ( 1K)或2048 ( 2K )乘以i殳定的大小)增加 的供給大小,以使大小308分配用于覆蓋窗304的存儲地址的塊的 整數(shù)。在步驟208,覆蓋窗304可以用于數(shù)據(jù)訪問(例如,用于訪 問覆蓋窗緩沖器146和/或控制寄存器138、 140、 142)。
通常,圖2A中示出的處理200可以4吏用本領(lǐng)域普通4支術(shù)人員 已知的任何方法來實(shí)施。例如,每一步驟可以通過向易失性存儲器 104發(fā)送命令而實(shí)施。可選地,對于每一覆蓋窗屬性(例如,覆蓋 窗304是否是激活的,基地址306和/或大小),可以提供可變的默 認(rèn)i殳置和/或永久預(yù)置i殳置。
圖2B是示出了用于配置根據(jù)本發(fā)明一個(gè)實(shí)施例的覆蓋窗304 的示例性處理210的流程圖。處理210可以以步驟212開始,其中 覆蓋窗使用模式寄存器組(MRS )命令通過在易失性存儲器104的 模式寄存器170中設(shè)置覆蓋窗使能(OWE)位而激活。然后,在步 驟214,用于覆蓋窗304的基地址306可以使用MRS命令i殳置。
在一個(gè)實(shí)施例中,如圖3B所示,在設(shè)置覆蓋窗304的基地址 306后,易失性存4諸器104可以在先前i殳置的基地址306的開始處 自動地分配覆蓋窗304的默認(rèn)地址空間310。覆蓋窗304的自動分 配的地址空間310可以用來訪問覆蓋窗控制寄存器138和其它控制 寄存器140、 142。因?yàn)榭梢允褂猛ㄟ^易失性存儲器接口 112向在易 失性存儲器104中的地址發(fā)送的訪問命令(例如,讀取和寫命令) 來訪問控制寄存器138、 140、 142,因此控制寄存器138、 140、 142 可以稱作存儲器-映射寄存器。因此,通過從易失性存儲器地址空間 302中的地址進(jìn)行讀取或向易失性存々者器地址空間302中的地址進(jìn) 行寫(其中易失性存儲器地址空間302對應(yīng)于覆蓋窗304的自動分配的地址空間310 ),對應(yīng)于訪問地址的覆蓋窗寄存器可以#1寫或讀 取。
在步驟218中,可以通過易失性存儲器接口 112向存儲器映射 的覆蓋窗控制寄存器138進(jìn)行寫,而設(shè)定覆蓋窗304的大小308。 通過向覆蓋窗控制寄存器138進(jìn)行寫而設(shè)定的大小308可以表明從 先前設(shè)定的基地址306開始的覆蓋窗304的大小。可選地,大小308 可以指定除了并開始于自動分覆蓋窗地址空間310的末端(end) 的覆蓋窗304的大小。提供用于覆蓋窗304的大小308可以包括緩 沖地址空間330 (如圖3B所示),該地址空間被映射到覆蓋窗緩沖 器146并用于下述的數(shù)據(jù)訪問。當(dāng)已經(jīng)如在步驟212、 214、 216和 218中所述的設(shè)定了覆蓋窗304之后,在步驟208中,覆蓋窗可以 用于翁:據(jù)訪問。例如,為覆蓋窗304分配的空間可以用于向易失性 存儲器104、非易失性存儲器控制器106,以及非易失性存儲器 108(下文將詳細(xì)描述)發(fā)送命令。
圖3C是描述才艮據(jù)本發(fā)明一個(gè)實(shí)施例的用于激活(enable )覆蓋 窗304和i殳定該覆蓋窗基地址306的一個(gè)示例性MRS命令結(jié)構(gòu)的 框圖。如圖所示,通過易失性存儲器接口 112發(fā)給易失性存^f諸器104 的命令可以包4舌命令部分312和地址部分314,該地址部分314包 括標(biāo)識將祐:訪問的易失性存儲器陣列116的庫(bank) 136的庫地 址位(bank address bit) BAO, BA1,以及指示在將^皮訪問的指定庫 136中i也址的;也址4立Ai…AO。
如果發(fā)送的命令312是MRS命令,該庫地址位可以用于識別 MRS類型,而地址位Ai…AO可以用于選才奪并更 文才莫式(mode )寄 存器170中的一個(gè)。如圖所示,該庫i也址4立可用于選擇4個(gè)MRS 命令類型中的一種。如果兩個(gè)庫i也址4立皆為0,則MRS命令可以用 于更改默認(rèn)模式寄存器(MRS )。如果BA1是0而BAO是1 ,那么MRS命令可以用于更改該擴(kuò)充(extended )的才莫式寄存器。如果BA1 是1而BAO是O,那么MRS命令可以用作一個(gè)狀態(tài)寄存器讀取。
如果通過MRS命令接收的兩個(gè)庫地址皆為1,那么該MRS命 令可以是模式寄存器11 (MRS11 )命令并可用于更改由地址位A9 和A8標(biāo)識的MRS 11的輔助寄存器320、 322、 324、 326。如所示 的,地址位A9和A8可以^皮選擇電路316使用,來選擇將^皮由地 址位A7-A0提供的輔助寄存器值更改的相應(yīng)的輔助寄存器320、 322、 324、 326。
在一個(gè)實(shí)施例中,為了〖敫活覆蓋窗302,可以用兩個(gè)者IH殳為1 的庫地址發(fā)送MRS命令,這表示MRS命令將更改MRS 11輔助寄 存器320、322、324、326中的一個(gè)。為了選擇含有覆蓋窗使能(OWE) 位的輔助寄存器320,在發(fā)送的命令中的地址位A9和A8可以都是 0。最后,為了設(shè)定該OWE位,在發(fā)送的MRS11命令中的地址位 A6可以是1。
在一個(gè)實(shí)施例中,該覆蓋窗基i也址306可以是4交準(zhǔn);也址(aligned address)(例如,由許多地址位指定的一些數(shù)據(jù)大小的整數(shù)倍的地 址)。如所示,該基地址306可以從3個(gè)輔助寄存器322、 324、 326 的值獲得。因此,為了設(shè)定基地址306,可以發(fā)送三個(gè)MRS 11命 令,其中的[A9 : A8]分別等于"11"、 "10"和"01",從而分別向 輔助寄存器326 、 324和322提供基地址。
如上所述,在本發(fā)明的一個(gè)實(shí)施例中,可以提供默認(rèn)設(shè)置用于 覆蓋窗屬性,如覆蓋窗基;也址306、覆蓋窗大小310、以及該覆蓋 窗是304否激活(例如,OWE被設(shè)定,還是作為默認(rèn)設(shè)置而被清 除)。在一個(gè)實(shí)施例中,該默認(rèn)的覆蓋窗基地址306、默認(rèn)的覆蓋窗 大小310、和OWE i殳置可以通過感測-復(fù)4立(sense-on-reset)管腳 (pins) 350設(shè)置,如圖3D所示。該管腳350可以根據(jù)希望的覆蓋
窗基地址306、覆蓋窗大小310、以及才艮據(jù)該覆蓋窗304是否被默 i人激活而連4妄(例如,由嵌入系統(tǒng)100的制造商)至高或l氐壓7jc平。 當(dāng)該易失性存儲器104接收復(fù)位信號時(shí)(例如,當(dāng)向該易失性存儲 器104施加電能時(shí),或者當(dāng)易失性存儲器104被復(fù)位時(shí)),該易失 性存儲器104可以自動向覆蓋窗控制寄存器138和模式寄存器170 加載由感測-復(fù)位管腳350提供的設(shè)置值。該設(shè)置值后來可以被覆 蓋,例如如上所述通過向模式寄存器170和覆蓋窗控制寄存器138 發(fā)布命令。可選地,該默認(rèn)設(shè)置可以通過燒斷(blowing)易失性存 儲器104中的熔絲來按照希望的設(shè)置進(jìn)行設(shè)定,或者通過向易失性 存儲器104的電路里寫設(shè)置來設(shè)定。
圖4是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例發(fā)送命令來配置覆蓋窗 304的時(shí)序圖。如圖所示,在Tl時(shí)刻,發(fā)送MRS 11命令,其將 MRS 11輔助寄存器中的OWE位設(shè)置為"00" ( BAl 、 BAO等于"11", A9、 A8等于"00",以及A7-A0等于十六進(jìn)制的"40h,,以使A6 等于"l,,)。然后,在T2-T4時(shí)刻,可以發(fā)送另外的MRS ll命令, 該命令用于設(shè)定MRS 11輔助寄存器322、 324、 326的覆蓋窗基地 址306 (分別為基地址0,基地址1和基地址2 )。如上所述,在覆 蓋窗304被激活并且覆蓋窗大小308被設(shè)定后,為覆蓋窗304自動 分配的地址空間310可以用來訪問包括覆蓋窗控制寄存器138的數(shù) 據(jù)。因此,例如在T6時(shí)刻,可以發(fā)送一個(gè)寫命令,其向自動分配 的地址空間310中的相應(yīng)的易失性存々者器地址寫覆蓋窗大小308。 覆蓋窗大小寄存器的地址可以由地址位BA1-BA0和A9-A0提供, 同時(shí)大小設(shè)定可以通過易失性存儲器接口 11的數(shù)據(jù)輸入/輸出端 (DQ )提供。在步驟T7可以發(fā)送例如訪問易失性存儲器地址空間 302的其他命令。
盡管上面參照5敫活覆蓋窗304、i殳定基地址306和i殳定大小308 進(jìn)行了描述,但是可以以任何次序執(zhí)行發(fā)送的用于配置覆蓋窗304的命令。此外,如上所述,在一些情況下,可以通過默認(rèn)來激活窗
口 306,和/或默i人值可以用于基地址306和大小308。在這種情況 下,可以不使用上述配置命令,或者只是在嵌入系統(tǒng)i殳計(jì)者希望的 時(shí)候使用該設(shè)定命令。
經(jīng)由覆蓋窗發(fā)送命令
在本發(fā)明的一個(gè)實(shí)施例中,在配置了覆蓋窗304之后,覆蓋窗 304可以用于訪問控制寄存器138、 140、 142和覆蓋窗緩沖器146。 通過訪問控制寄存器138、140、142和覆蓋窗纟爰沖器146,主機(jī)(host) 102能夠借助易失性存儲器接口 110發(fā)送命令,其導(dǎo)致在非易失性 存儲器控制器106中的配置變化、和/或在易失性存儲器104和非易 失性存儲器108之間的通過非易失性存儲器控制器106的數(shù)據(jù)傳 輸。
圖5是示出根據(jù)本發(fā)明 一個(gè)實(shí)施例經(jīng)由覆蓋窗304訪問控制寄 存器138、 140、 142和覆蓋窗緩沖器146的處理500的流禾呈圖。處 理500可以在步驟502處開始,在這一步,通過易失性存?zhèn)€者器104 的易失性存儲器接口 112接收訪問命令。在步驟504,可以確定覆 蓋窗304是否被激活。如果覆蓋窗304被禁用(OWE-0),那么在 步驟508,訪問命令可以用來訪問易失性存儲器陣列116。如果該 覆蓋窗被激活(OWE=l ),那么在步驟506,可以確定該訪問命令 是否訪問覆蓋窗304中的存^f諸地址。如果訪問的地址在覆蓋窗304 之外,那么,在步驟508中,訪問命令可以用來訪問該命令提供的 存儲地址處的易失性存儲器陣列116。
然而,如果用于訪問命令的地址在覆蓋窗304之中,那么,在 步驟512中,可以確定該訪問地址是否訪問覆蓋窗304的自動分配 的控制寄存器地址空間310中的存儲地址。如果該地址在覆蓋窗304 的控制寄存器地址空間310之中,則在步驟514中,該訪問地址可
以用來訪問存儲器映射的控制寄存器(例如,覆蓋窗控制寄存器138 或者其他存儲器映射的寄存器140、 142)。如果由訪問命令提供的 地址在覆蓋窗304之中4旦在控制寄存器存々者空間310之外(并因此 在緩沖器(buffer))地址空間330之中),該訪問命令可以用來訪 問非易失性存儲器108的覆蓋窗緩沖器146中的相應(yīng)的地址。在步 駛纟510,可以繼續(xù)處理500。
在本發(fā)明的一個(gè)實(shí)施例中,主機(jī)102可以通過向控制寄存器寫 命令而發(fā)命令給非易失性存儲器108和/或非易失性存儲器控制器 106。例如,主才幾102可以向覆蓋窗;也址空間304中的存卡者器映射 的控制寄存器138、 140、 142發(fā)送寫命令。該由寫命令寫的數(shù)據(jù)本 身可以是一個(gè)命令。當(dāng)該命令被寫覆蓋窗304時(shí),易失性存儲器104 可以使用該接收到的命令向非易失性存儲器控制器106和/或非易 失性存儲器108發(fā)送相應(yīng)的命令。主機(jī)102可以通過從覆蓋窗304 中的適當(dāng)?shù)拇鎯ζ饔成浼拇嫫?38、 140、 142讀取狀態(tài)數(shù)據(jù),來確 定被執(zhí)行的命令的狀態(tài)(例如,該命令是未決(pending )還是完成)。 可選地,由易失性存儲器104發(fā)給主機(jī)102的中斷信號可以用來向 主枳d02發(fā)送該命令已經(jīng)完成的信號。在一些情況下,在4吏用中斷 信號的時(shí)候,易失性存儲器接口 112可以被更改以適應(yīng)這樣的中斷。
在一些情況下,在被寫到覆蓋窗304的命令使用來自主機(jī)102 的數(shù)據(jù)或者返回來自非易失性存儲器108的數(shù)據(jù)時(shí),可以使用覆蓋 窗緩沖器146傳輸該數(shù)據(jù)。可選地,也可以從控制窗口 304中的存 儲器映射寄存器、或者從易失性存儲器陣列116獲得該數(shù)據(jù)。在用 于該命令的數(shù)據(jù)被放置在覆蓋窗緩沖器146中或者在覆蓋窗304中 的存4渚器映射寄存器中時(shí),主糸L 102可以如上所述地經(jīng)由覆蓋窗304 訪問覆蓋窗緩沖器146。分別在易失性存儲器104和非易失性存儲 器控制器106中的緩沖器144和146還可以用來在非易失性存儲器 108和易失性存儲器104之間傳輸數(shù)據(jù)。
圖5B是示出根據(jù)本發(fā)明一個(gè)實(shí)施例的用于執(zhí)行寫到易失性存 儲器104的覆蓋窗304的命令的處理540的流程圖。該處理540可 以在步驟550開始,在這一步,主才幾102檢查易失性存儲器104以 確定是否有任何命令(例如,主機(jī)102以前發(fā)送的命令)未決。如 果之前的命令還未完成并仍處于未決,主機(jī)102可以等待,直到之 前的命令完成(例如,直到非易失性存儲器控制器106已經(jīng)完成執(zhí) 行之前的命令)。在一個(gè)實(shí)施例中,主機(jī)102可以通過借助覆蓋窗 304讀取存儲器映射狀態(tài)寄存器來確定命令是否未決??蛇x地,易 失'I"生存卡者器104可以通過向主才幾102發(fā)送中斷H言號)而向主才幾102 表明,之前的命令已經(jīng)完成。如上所述,對于使用中斷信號的情況, 可以被更改易失性存儲器接口 112以適應(yīng)這樣的中斷。
在確定沒有命令是未決的之后,在步驟552中,主機(jī)102可以 寫命令到在易失性存儲器104的覆蓋窗304中的存儲器映射控制寄 存器138、 140、 142的地址,從而在控制寄存器中放置命令。在一 些情況下,如果命令需要其他數(shù)據(jù),該數(shù)據(jù)還可以^皮寫到控制寄存 器138、 140、 142或者寫到存儲器映射覆蓋窗緩沖器146中。在步 驟554中,主機(jī)102可以設(shè)定指示命令已經(jīng)被寫到易失性存儲器104 的控制寄存器位。在一個(gè)實(shí)施例中,主機(jī)102可以通過向?qū)?yīng)于覆 蓋窗304中的存儲器映射控制寄存器138、 140、 142的地址進(jìn)行寫 來"^殳置該控制寄存器位??蛇x地,在一個(gè)實(shí)施例中,易失性存儲器 104可以自動檢測該命令已被寫而沒有設(shè)置控制寄存器位。
在步驟560中,易失性存儲器104可以接收該命令已經(jīng)被主機(jī) 102寫的指示。然后,在步驟562中,易失性存々者器104可以通過 非易失性存儲器接口 120向非易失性存儲器控制器106指示已經(jīng)接 收到命令。在一個(gè)實(shí)施例中,易失性存儲器104通過向非易失性存 儲器控制器106發(fā)送中斷而指示已經(jīng)收到命令。 一旦接收到該中斷,
非易失性存儲器控制器106就可以在步驟566中通過其非易失性存 儲器接口 122讀取該命令,并在步驟568中執(zhí)行接收到的命令。
可選地,代替向非易失性存儲器控制器106發(fā)送中斷,易失性 存儲器104可以直接向非易失性存儲器控制器106發(fā)送一個(gè)相應(yīng)的 命令。易失性存儲器104還可以設(shè)置指示已經(jīng)收到新命令的狀態(tài)寄 存器位。該狀態(tài)寄存器位可以被存儲器控制器106輪詢。 一旦檢測 到該位已被設(shè)置,存儲器控制器106可以提取該命令,例如通過向 易失性存儲器104發(fā)送讀取命令。
執(zhí)行接收到的命令可以包括從非易失性存儲器108讀取數(shù)據(jù), 和將該讀取的數(shù)據(jù)放入易失性存儲器陣列116或者易失性存儲器 104的覆蓋窗緩沖器146中。執(zhí)行該命令還可以包括將來自覆蓋窗 緩沖器146或易失性存儲器陣列116的數(shù)據(jù)寫非易失性存儲器108。 執(zhí)行該命令可以進(jìn)一步包括在非易失性存儲器108和易失性存儲器 104之間執(zhí)行DMA傳輸,更改非易失性存儲器控制器106中(例 如,在iDMA控制器150中,或者在非易失性存儲器控制電路124 中)的控制寄存器設(shè)置值,執(zhí)行NAND管理功能,或者如上所述在 非易失性存儲器控制器106和易失性存儲器104之間傳輸控制寄存 器設(shè)置。
在步驟570中,在該命令已被執(zhí)行后,非易失性存儲器控制器 106可以通過非易失性存儲器接口 122向易失性存儲器104發(fā)送命 令,來設(shè)置指示已經(jīng)執(zhí)行接收到的命令的控制寄存器位(例如,存 儲器映射控制寄存器138、 140、 142的一個(gè)中)。在步驟564中, 易失性存儲器104可以更新相應(yīng)的控制寄存器位,以指示該命令已 被執(zhí)行,在步驟556中,主機(jī)可以接收命令已被執(zhí)行的指示。然后 在步驟558中可以繼續(xù)處理540。在一個(gè)實(shí)施例中,主才幾102可以 通過讀取包含指示命令已被執(zhí)行的設(shè)定位的控制寄存器來確定命 令已被執(zhí)行(例如,利用經(jīng)由覆蓋窗304輪訓(xùn)控制寄存器138、 140、
142中合適的位)??蛇x地,在一個(gè)實(shí)施例中,可以向主才幾102發(fā)送 指示該命令已被執(zhí)行的中斷。
經(jīng)由覆蓋窗可訪問的示例性的務(wù)賭器映射寄存器和緩沖器
如上所述,當(dāng)通過設(shè)置OWE位激活覆蓋窗304時(shí),可以自動 分配控制寄存器存儲空間310。 一旦設(shè)定覆蓋窗304的大小308, 就可以分配另外的緩沖器存儲空間330。覆蓋窗304還可以包括其 他的緩沖器、存儲器映射寄存器等。圖6示出被自動分配的控制寄 存空間310映射的示例性控制寄存器600的框圖。如上所述,該控 制寄存器空間可以從覆蓋窗基地址306處開始并延伸到較高的地址 (例如,從基地址306到圖中的基地址306加上"M")。存儲器映 射寄存器600可以包括系統(tǒng)配置寄存器606、加載-存儲(load-store ) 命令寄存器608、緩沖器訪問命令寄存器610、 NAND管理器命令 控制寄存器612、命令操作數(shù)寄存器614、和緩沖器大小信息寄存 器616。
系統(tǒng)配置寄存器606可以用于來更改嵌入式系統(tǒng)100的配置 (例如通過選擇在易失性存儲器104和非易失性存儲器控制器106 之間的合適的數(shù)據(jù)交換率)。加載-存儲(load-store )命令寄存器608 可以接收由主機(jī)102寫的數(shù)據(jù)訪問命令。由主機(jī)102寫的數(shù)據(jù)訪問 命令可以包括讀取命令,用于將來自非易失性存儲器108的數(shù)據(jù)讀 取到易失性存儲器中存儲位置(例如,到覆蓋窗緩沖器146,或者 易失性存4諸器陣列116)。由主才幾102寫的凝:據(jù)訪問命令可以進(jìn)一步 包括寫命令,用于將來自易失性存儲器104(例如,從覆蓋窗緩沖 器146、易失性存儲器陣列116、或從命令操作數(shù)寄存器614)的數(shù) 據(jù)寫到非易失性存儲器108。由主機(jī)102寫的數(shù)據(jù)訪問命令可以進(jìn) 一步包括DMA命令,用于通過非易失性存儲器控制器106在易失 性存儲器104和非易失性存儲器108之間執(zhí)行DMA傳送。
在一個(gè)實(shí)施例中,緩沖器訪問命令寄存器610可以被主機(jī)102 用來發(fā)送用于訪問覆蓋窗緩沖器146的命令。NAND管理器命令寄 存器612可以被主機(jī)102用來向非易失性存儲器控制器106發(fā)布命 令。例如,在主機(jī)寫一個(gè)NAND管理器命令到NAND管理器命令 控制寄存器612后,主機(jī)102可以設(shè)置易失性存儲器104中的控制 寄存器位,指示該命令已被寫。然后易失性存儲器104向非易失性 存儲器控制器106發(fā)送中斷,指示該NAND管理器命令已被4妄收。 一旦接收中斷,非易失性存儲器控制器106可以通過易失性存儲器 104的非易失性存儲器接口 120從易失性存儲器104提取命令。然 后,該NAND管理器命令可以被非易失性存儲控制電路124執(zhí)行。
在一個(gè)實(shí)施例中,控制寄存器空間310還可以包括用于存儲命 令操作數(shù)的命令操作數(shù)寄存器614和緩沖器大小信息寄存器616。 緩沖器大小信息寄存器616可以用于訪問例如關(guān)于覆蓋窗緩沖器 146的信息。該信息可以包括:纟爰沖器146的大小和/或纟爰沖器146中 的數(shù)據(jù)量(例如,緩沖器的哪部分被用于數(shù)據(jù)存儲)。在數(shù)據(jù)傳輸 過程中,該數(shù)據(jù)可以被主機(jī)102或者非易失性存儲器控制器106訪 問,以確定緩沖器146是不是滿的,并確定是否放入更多的數(shù)據(jù)到 緩沖器146中以便被傳輸或從緩沖器146讀取其他數(shù)據(jù)。
圖7是示出根據(jù)本發(fā)明一個(gè)實(shí)施例的分配給每一個(gè)存儲器映射 寄存器600的存儲空間的框圖。如圖所示,可以在第一地址處(例 如,覆蓋窗基地址306)設(shè)置系統(tǒng)操作碼(op碼)寄存器702。類 似地,可以在第一偏移量處i殳置加載/存儲(LD/ST) op碼寄存器 704,可以在第二偏移量處設(shè)置緩沖器(BUFF ) op代碼寄存器"6, 可以在第三偏移量處i殳置NAND op石馬寄存器708。
才喿作凄大寄存器308、 712、 714可i殳置在如圖所示的多個(gè)i也址偏 移量處。每個(gè)才喿作凄t可用于才是供用來執(zhí)4亍由op碼寄存器702、 704、 706、 708指定的命令的信息。這些操作數(shù)寄存器可包括用于覆蓋窗大小的寄存器308和用于加載/存儲操作數(shù)(例如,包括被傳輸數(shù)據(jù) 的起始地址(SA)和目標(biāo)地址(DA))的寄存器712。這些4喿作凄t寄 存器還可以包括用于存儲NAND地址信息和其他lt據(jù)的操作凄t寄 存器714。如上所述,存儲器映射寄存器600還可以包括緩沖器大 小信息寄存器616。
在本發(fā)明的一個(gè)實(shí)施例中,緩存空間330可被劃分成多個(gè)RAM 緩沖區(qū)[l...n]。通過提供多個(gè)RAM緩存區(qū)(例如,作為覆蓋窗緩 沖區(qū)、iDMA緩沖區(qū)144、或者易失性存儲器104中的其他緩沖區(qū) 的分區(qū)),易失性存儲器104可被主機(jī)102和/或非易失性存儲控制 器106用來執(zhí)行在易失性存儲器陣列116和/或非易失性存儲器108 中的不同位置之間的多個(gè)凄t據(jù)傳輸。
指定經(jīng)由覆蓋窗發(fā)送的命令的操作數(shù)
在本發(fā)明的一個(gè)實(shí)施例中,提供至存儲器映射寄存器600的不 同op碼可使用在控制寄存器空間310內(nèi)以不同偏移量定位的不同 操作數(shù)寄存器308、 712、 "4。在一些情況下,放置在op碼寄存器 702、 704、 706、 708中的命令可指定哪些才喿作數(shù)將與該op碼一起 使用,從而使得讀取該命令的裝置(例如,易失性存儲器104或非 易失性存儲控制器106)確定用于給定的命令的操作數(shù)被定位的位 置。因此,在一些情況下,對于給定的命令可使用不同的定位和操 作數(shù)大小。
圖8是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的發(fā)送至op碼寄存器(例 如,op碼寄存器702、 704、 706、 708中的一個(gè))的命令的框圖。 如圖所示,命令808可包括命令op碼、命令808的操作數(shù)長度、 以及命令808的操作數(shù)偏移量。當(dāng)一裝置讀取命令808時(shí),該裝置
可使用操作數(shù)長度和操作數(shù)偏移量來確定獲得命令操作數(shù)的位置。 在本發(fā)明的一個(gè)實(shí)施例中,操作數(shù)偏移量可指定可找到操作數(shù)的完整地址??蛇x地,操作數(shù)偏移量可指定距離存儲器中預(yù)定位置的偏
移量,例如,距離覆蓋窗基地址306、距離命令808的地址802、 或者距離另 一預(yù)定地址的偏移量。
如圖所示,才喿作凄欠偏移量可才是供距離該命令的地址'n, 802 的偏移量。由該偏移量所表示的;也址'i' 804可包含用于命令808 的第一操作數(shù)。用于命令808的其他操作數(shù)可位于從操作數(shù)偏移量 所表示的i也i止'i, 804 ;也iih 'i+j, 806。
在易失*1±^儲器陣列與非易失*1±#儲器之間執(zhí)行數(shù)據(jù)傳輸
如上所述,覆蓋窗(overlay window ) 304可以用于將命令發(fā)送 給非易失性存儲控制器106。所發(fā)送的命令可以包括在易失性存儲 器104與非易失性存儲器108之間不產(chǎn)生地址數(shù)據(jù)傳輸?shù)膇MDA配 置命令和NAND管理器配置命令。這樣的命令可以提供信息至控制 器106所使用的非易失性存儲控制器106,以改變控制寄存器設(shè)置。 控制寄存器設(shè)置可以用于進(jìn)行后續(xù)數(shù)據(jù)傳輸或者進(jìn)行NAND管理 功能。通過主機(jī)102經(jīng)由覆蓋窗304發(fā)送的命令還可以讀取和寫命 令,該命令通過非易失性存儲控制器106將數(shù)據(jù)從在易失性存儲器 104中的源地址(例如,從操作數(shù)寄存器714,從覆蓋窗緩沖器146, 或者從易失性存儲器陣列116)傳輸至非易失性存儲器108中的目 的地址。命令還可以將數(shù)據(jù)從非易失性存儲器108傳輸至易失性存 儲器104中的某一位置。
在本發(fā)明的一個(gè)實(shí)施例中,由主機(jī)102提供的數(shù)據(jù)傳輸命令可 以是DMA傳輸。如圖9A所示,第一類型的DMA傳輸命令(指 STORE命令)可以產(chǎn)生被從易失性存儲器陣列116傳輸至非易失性 存儲器108的數(shù)據(jù)。這些命令可以提供待傳輸?shù)闹付康臄?shù)據(jù)。在 一些情況下,iDMA控制器150可以發(fā)送請求至正在^皮傳輸?shù)拿總€(gè) 數(shù)據(jù)地址的易失性存儲器104。所請求的數(shù)據(jù)然后被傳輸至易失性傳送柵極驅(qū)動信號Sl、 S2、 S3…等至對應(yīng)的像素,而數(shù)據(jù)讀取電路420也 根據(jù)柵極驅(qū)動電路410所傳送的柵極驅(qū)動信號去檢測對應(yīng)的像素是否有被觸 碰(通過積分器210的輸出電壓Vout來判斷)。如此一來觸控式面板400將能 有效檢測哪些像素被觸碰而提高使用者的便利性。
請參考圖5。圖5為根據(jù)本發(fā)明的第二實(shí)施例的觸控式面板500的示意 圖。如圖所示,觸控式面板500包含了柵極驅(qū)動電路410、數(shù)據(jù)讀取電路420、 多個(gè)積分器210及多個(gè)像素Pa、 Pc。柵極驅(qū)動電路410用以分別依序傳送柵 極驅(qū)動信號Sl、 S2、 S3…等至對應(yīng)的像素,而數(shù)據(jù)讀取電路420也根據(jù)柵 極驅(qū)動電路410所傳送的柵極驅(qū)動信號去檢測對應(yīng)的像素是否有被觸碰(通 過積分器210的輸出電壓Vout來判斷)。如此一來觸控式面板500將能有效 檢測哪些像素被觸碰而提高使用者的便利性。
雖然本發(fā)明已以較佳實(shí)施例揭示如上,然而其并非用以限定本發(fā)明,任 何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),仍可作些許的更動與 潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)視權(quán)利要求所界定的范圍為準(zhǔn)。
148,其可以獲4尋在纟爰沖器144中的i差沖空間并且可以繼續(xù)DMA傳 輸??蛇x地,當(dāng)緩沖空間可用時(shí),iDMA緩沖控制器148可以監(jiān)控 iDMA緩沖器144的狀況并自動檢測。一^S^險(xiǎn)測到可用的緩沖空間, iDMA緩沖控制器148可以再次繼續(xù)載入緩沖器144,數(shù)據(jù)從易失 性存儲器陣列116至緩沖器144,直到緩沖器144再次滿載,或者 直到所指定量的凄t據(jù)已經(jīng)傳輸。
如圖9B所示,DMA傳輸還可以從非易失性存儲器108至易失 性存儲器陣列116進(jìn)行。用于進(jìn)行這樣的傳輸?shù)拿羁梢苑Q為 LOAD命令。在一些情況下,如上所述,非易失性存儲控制器106 中的iDMA控制器150可以將DMA傳輸工作負(fù)載分流至易失性存 儲器104中的iDMA緩沖控制器148。例如,iDMA控制器150可 以發(fā)送一個(gè)命令至iDMA緩沖控制器148,指示待^皮傳輸至易失性 存儲器陣列116的凄t據(jù)在由DMA傳輸命令指定的目的i也址處開始。 iDMA緩沖控制器148也可以監(jiān)控iDMA緩沖器144。當(dāng)iDMA控 制器150將數(shù)據(jù)從非易失性存儲器108放置到iDMA緩沖器144時(shí), 然后iDMA緩沖控制器148可以開始將所接收的數(shù)據(jù)寫易失性存儲 器陣列116。在一個(gè)實(shí)施例中,iDMA緩沖控制器148可以自動地 檢測包含待寫數(shù)據(jù)的緩沖器144。可選地,當(dāng)緩沖器144包含待傳 輸至易失性存儲器陣列116的數(shù)據(jù)時(shí),iDMA控制器150可以提供 一種信號(例如,通過設(shè)定狀態(tài)寄存器位(Status register bit),或 者發(fā)送一個(gè)中斷)至iDMA緩沖控制器148。
在一些情況下,iDMA控制器150可以監(jiān)控緩沖器144 (例如, 通過緩沖狀態(tài)寄存器)來確定緩沖器144是否滿載和/或確定釋放在 緩沖器144是否放置更多數(shù)據(jù)??蛇x地,當(dāng)緩沖器144空時(shí)和/或當(dāng) 緩沖器144包含預(yù)定量或指定量的可用空間時(shí),iDMA緩沖控制器 148可以才是供一種指示(例如, 一個(gè)中斷)至iDMA控制器150。
在一些情況下,當(dāng)DMA傳輸已經(jīng)通過非易失性存儲控制器106 進(jìn)行時(shí),非易失性存儲控制器106可以通過易失性存儲器104指示 給主機(jī)102命令已經(jīng)完成。該指示可以通過非易失性存儲控制器106 進(jìn)行,例如,通過在才莫式寄存器(mode register) 170的一個(gè)中或者 存儲器映射寄存器138、 140、 142的一個(gè)中設(shè)置狀態(tài)寄存器位。狀 態(tài)位可以通過主機(jī)102輪詢以確定何時(shí)命令已經(jīng)完成??蛇x地,在 收到來自非易失性存儲控制器106的命令之后或者通過非易失性存 儲控制器106進(jìn)行狀態(tài)位設(shè)置之后,易失性存儲器104可以發(fā)送一 個(gè)中斷至主才幾102以指示DMA傳l敘已經(jīng)完成。
在一些情況下,在DMA傳輸涉及(involving)易失性存儲器 陣列116期間,主機(jī)102可以i式圖同時(shí)i^問易失性存々者器陣列116 以及非易失性存儲控制器106或iDMA緩沖控制器148。在這種情 況下,主才幾易失性存A者器i方問,控制器(Host volatile memory access control) 160和iDMA易失性存儲器訪問控制器162可以確定所進(jìn) 行的訪問。在一個(gè)實(shí)施例中,通過主機(jī)102對易失性存儲器陣列116 的訪問可以優(yōu)先于經(jīng)由iDMA易失性存儲器訪問控制器162進(jìn)行的 訪問。在一些情況下,當(dāng)在多時(shí)鐘周期(multiple clock cycle )中進(jìn) 行訪問時(shí),通過主才幾102進(jìn)行的訪問可凈皮覆蓋,并乂人而中斷經(jīng)由 iDMA易失性存儲器訪問控制器162進(jìn)行的訪問??蛇x地,無論哪 個(gè)訪問被首先啟動都可^皮給予優(yōu)先序。另外,在iDMA緩沖控制器 148正在進(jìn)行DMA傳輸時(shí),DMA傳輸可以暫停以l更允許主才幾102 訪問易失性存儲器陣列116。在主機(jī)102訪問易失性存儲器陣列116 之后,然后可以再次進(jìn)行DMA傳輸。
在本發(fā)明的一個(gè)實(shí)施例中,對易失性存儲器陣列116的多路訪 問(multiple access )可以并4亍進(jìn)4亍。例長口, 3口果由主才幾102進(jìn)4亍的 訪問訪問了易失性存儲器陣列116中的第一存儲體(例如,存儲體 136。)同時(shí)由iDMA緩沖控制器148進(jìn)行的訪問訪問了第二存儲體
(例如,存儲體1363),那么兩個(gè)訪問可以同時(shí)進(jìn)行而不相互干擾。 類似地,當(dāng)DMA傳輸通過采用易失性存儲器104中的緩沖器146、 144的非易失性存儲控制器106進(jìn)行時(shí),主機(jī)102可以同時(shí)執(zhí)行對 易失性存4諸器陣列116的訪問而不受干4尤。類似地,當(dāng)主才幾102經(jīng) 由覆蓋窗304訪問才莫式寄存器170、控制寄存器138、 140、 142時(shí), 或者經(jīng)由覆蓋窗304訪問緩沖器146時(shí),非易失性存儲控制器106
(或iDMA緩沖控制器148)可以同時(shí)訪問易失性存儲器陣列116 而不受干擾。
經(jīng)由M窗進(jìn)行主機(jī)與非易失'l^t器之間的數(shù)據(jù)傳輸
在本發(fā)明的一個(gè)實(shí)施例中,如圖9C所示,主才幾102可經(jīng)由覆 蓋窗304發(fā)送在覆蓋窗緩沖器146與非易失性存儲器108之間傳輸 數(shù)據(jù)的DMA傳輸指令。例如,該命令可指定覆蓋窗緩沖器146內(nèi) 的源地址和非易失性存儲器108內(nèi)的目的地址。該命令還可指定要 傳輸?shù)臄?shù)據(jù)的量。 一旦接收到該命令,iDMA控制器150可將指定 量的數(shù)據(jù)從覆蓋窗緩沖器146自動傳輸至非易失性存儲器108。主 機(jī)102還可發(fā)送相應(yīng)的數(shù)據(jù)命令以將指定量的數(shù)據(jù)從非易失性存儲 器108傳輸至覆蓋窗緩沖器146。然后,如圖9D所示,主機(jī)102 可經(jīng)由覆蓋窗304訪問所傳輸?shù)臄?shù)據(jù)。
在本發(fā)明的一個(gè)實(shí)施例中,主機(jī)102可發(fā)送DMA傳輸命令至 非易失性存儲控制器106,這些命令使得iDMA控制器150自動在 非易失性存儲器108與覆蓋窗緩沖器146之間傳輸數(shù)據(jù)。因此,或 者通過查詢狀態(tài)寄存器或者通過接收來自易失性存儲器104的中 斷,該iDMA控制器可確定是應(yīng)該向覆蓋窗緩沖器146傳輸jt據(jù)還 是從覆蓋窗緩沖器146讀出數(shù)據(jù)。主機(jī)102可類似地查詢狀態(tài)寄存 器或接收來自易失性存儲器104的中斷,從而確定是應(yīng)從覆蓋窗緩 沖器146讀出數(shù)據(jù)還是向覆蓋窗緩沖器146寫數(shù)據(jù),以傳輸至非易 失性存儲器108。200710129345.7
說明書第26/32頁
圖1 OA是示出根據(jù)本發(fā)明的 一個(gè)實(shí)施例的用于執(zhí)行從主機(jī)102 至非易失性存儲器108的自動DMA傳輸?shù)奶幚?000的框圖。該處 理1000可從步驟1002開始,其中,主機(jī)102檢查易失性存儲器104 中的未決命令。在步驟1004中,在確定沒有未決的命令之后,主 機(jī)102可發(fā)送表示覆蓋窗緩沖器146中的源地址和在非易失性存儲 器108中的目的地址的DMA傳輸命令。在步驟1016中,如上所述 當(dāng)經(jīng)由被查詢的狀態(tài)寄存器或者來自易失性存儲器104的中斷而檢 測到命令時(shí),非易失性存+者控制器106可接收該DMA傳輸命令。
在接收到該命令之后,由主機(jī)102和非易失性存儲控制器106 執(zhí)行的步驟可以獨(dú)立地繼續(xù)(例如,在非易失性存儲控制器106和 主機(jī)102之間不發(fā)送進(jìn)一步的命令)。在步驟1006中,例如通過經(jīng) 由覆蓋窗304檢查緩沖器尺寸信息寄存器616,主機(jī)102可檢測覆 蓋窗緩沖器146是否溢出(overflow)-可選地,在本發(fā)明的一個(gè)實(shí) 施例中,可向主才幾102發(fā)送一中斷,以表示》爰沖器146何時(shí)為空或 者緩沖器146中何時(shí)有可用的預(yù)定量的空間。如果沒有緩存溢出, 在步驟1008中,主才幾102可將凄t據(jù)寫緩沖器146。當(dāng)主機(jī)102或非 易失性存儲控制器106從緩沖器讀取數(shù)據(jù)或向緩沖器傳輸數(shù)據(jù)時(shí), 在步驟1014中,易失性存儲器104可通過例如修改緩沖器尺寸信 息寄存器616中的設(shè)置來更新緩存狀態(tài)。
在步驟1010中,主機(jī)102可確定是否還有數(shù)據(jù)要寫非易失性 存4諸器108。如果還有凄史據(jù)要寫,在步驟1006中,主才幾102可繼續(xù) 檢查緩沖器146中的空間,并在步驟1008中,當(dāng)緩沖器146中有 可用空間時(shí)寫纟爰沖器146。不然的i舌,在步驟1012中,主才幾102可
繼續(xù)處理lt據(jù)。
在主機(jī)102將數(shù)據(jù)放入緩沖器146中的同時(shí),非易失性存儲控 制器106可監(jiān)控緩沖器146,并當(dāng)由主機(jī)102放入了數(shù)據(jù)到緩沖器 146中時(shí)從其中讀出數(shù)據(jù)。因此,在步驟1018中,非易失性存儲 制器106可4企查,爰沖器146中的凝:據(jù)。該檢查可通過例如讀取^皮易 失性存儲器104更新了的緩沖器尺寸信息寄存器616來進(jìn)行。可選 地,當(dāng)數(shù)據(jù)被放入緩沖器146中后,或者當(dāng)指定量的數(shù)據(jù)被放入緩 沖器146中后,或者當(dāng)緩沖器146已滿時(shí),可向非易失性存儲控制 器106發(fā)送一中斷。如果在步驟1020中非易失性存儲控制器106 確定緩沖器146中含有數(shù)據(jù),控制器106可從緩沖器146讀出數(shù)據(jù) 并將數(shù)據(jù)寫非易失性存儲器108內(nèi)的目的地址??蛇x地,如果緩沖 器146中沒有數(shù)據(jù),在步驟1018中,控制器106可繼續(xù)檢查數(shù)據(jù)。
當(dāng)控制器106從緩沖器讀取數(shù)據(jù)時(shí),緩沖器尺寸信息寄存器 616可通過易失性存儲器104進(jìn)行更新。在步驟1024中,控制器 106可確定數(shù)據(jù)傳輸是否完成。如果數(shù)據(jù)傳輸沒有完成,在步驟1018 中,控制器106可繼續(xù)檢查緩沖器146中的數(shù)據(jù)。可選地,如果數(shù) 據(jù)傳輸已經(jīng)完成,那么在步驟1026中,控制器106可以繼續(xù)處理 數(shù)據(jù)。在一個(gè)實(shí)施例中,控制器106可通過確定是否已經(jīng)傳輸了指 定量的數(shù)據(jù)來確定數(shù)據(jù)傳輸是否完成。該指定量的數(shù)據(jù)可例如通過 由主機(jī)102所發(fā)送DMA傳輸命令來指定。可選地,當(dāng)經(jīng)由覆蓋窗 304從主機(jī)102向控制器106發(fā)送一表示傳輸已經(jīng)完成的命令時(shí), 控制器106可確定傳輸完成??蛇x地,控制器106可繼續(xù)檢查緩沖 器146或纟爰沖器146的一部分,以確定主才幾102是否已在其中》文入 了要傳輸至非易失性存儲控制器108的數(shù)據(jù)。
圖10B是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于執(zhí)行從非易失 性存儲器108至主機(jī)102的自動DMA傳輸?shù)奶幚?050的框圖。該 處理1050可以從步驟1052開始,其中,主機(jī)102檢查易失性存儲 器104中的未決命令。在步驟1054中,在確定沒有未決的命令之 后,主機(jī)102可發(fā)送表示非易失性存儲器108中的源地址和覆蓋窗 緩沖器146中的目的地址的DMA傳輸命令。如上所述當(dāng)經(jīng)由被查 詢的狀態(tài)寄存器或者來自易失性存儲器104的中斷而檢測到命令
時(shí),在步驟1068中,非易失性存儲控制器106可接收該DMA傳輸 命令。
在接收到該命令之后,由主機(jī)102和非易失性存儲控制器106 執(zhí)行的步驟可以獨(dú)立地繼續(xù)進(jìn)行(例如,在非易失性存儲控制器106 和主才幾102之間不發(fā)送進(jìn)一步的命令)。在步驟1070中,例如通過 經(jīng)由覆蓋窗304檢查緩沖器尺寸信息寄存器616,控制器106可檢 測覆蓋窗緩沖器146是否溢出。可選地,在本發(fā)明的一個(gè)實(shí)施例中, 可向控制器106發(fā)送一中斷,以表示緩沖器146何時(shí)為空或者緩沖 器146中何時(shí)有可用的預(yù)定量的空間。如果沒有緩存溢出,在步驟 1072中,控制器106可將數(shù)據(jù)從非易失性存儲器108寫緩沖器146。 當(dāng)控制器106或主機(jī)102從緩沖器讀取數(shù)據(jù)或向緩沖器傳輸數(shù)據(jù) 時(shí),在步驟1066中,如上所述,易失性存儲器104可通過例如修 改緩沖器尺寸信息寄存器616中的設(shè)置來更新緩存狀態(tài)。
在步驟1074中,控制器106可確定是否還有凄t據(jù)要/人非易失 性存儲器108寫緩沖器146。如果還有數(shù)據(jù)要寫,在步驟1070中, 控制器106可繼續(xù)4企查4C沖器146中的空間,并在步驟1072中, 當(dāng)緩沖器146中有可用空間時(shí)寫緩沖器146。否則,在步驟1076中, 控制器106可繼續(xù)處理凄t據(jù)。在一個(gè)實(shí)施例中,控制器106可通過 確定是否已經(jīng)傳輸了由DMA傳輸命令指定的數(shù)據(jù)量來確定是否還 有凄t據(jù)要傳輸??蛇x地,控制器106可繼續(xù)寫數(shù)據(jù),直到主才幾102 發(fā)送命令至控制器106表示傳輸已經(jīng)完成。
在控制器106將數(shù)據(jù)》文入緩沖器146中的同時(shí),非易失性主機(jī) 102可監(jiān)控緩沖器146,并當(dāng)由控制器106》文入了數(shù)據(jù)到緩沖器146 中時(shí)從其中讀出數(shù)據(jù)。因此,在步驟1056中,非易失性存儲控制 器106可檢查緩沖器146中的數(shù)據(jù)。該檢查可通過例如讀取被易失 性存儲器104更新了的緩沖器尺寸信息寄存器616來進(jìn)行??蛇x地, 當(dāng)數(shù)據(jù)被放入緩沖器146中后,或者當(dāng)指定量的數(shù)據(jù)被放入緩沖器146中后,或者當(dāng)緩沖器146已滿時(shí),向主才幾102發(fā)送一中斷。如 果在步驟1058中主機(jī)102確定緩沖器146含有數(shù)據(jù),那么主機(jī)102 可從緩沖器146讀出數(shù)據(jù)??蛇x地,如果緩沖器146中沒有數(shù)據(jù), 則在步驟1056中,主機(jī)102可繼續(xù)才企查彩:才居。
當(dāng)主機(jī)102從緩沖器讀取數(shù)據(jù)時(shí),緩沖器尺寸信息寄存器616 可通過易失性存儲器104進(jìn)4亍更新。在步驟1062中,主才幾102可 確定凄t據(jù)傳l俞是否完成。如果數(shù)據(jù)傳輸沒有完成,在步驟1056中, 主枳i 102可繼續(xù)查測緩沖器146中的^i:據(jù)??蛇x地,如果凄t據(jù)傳輸 已經(jīng)完成,那么在步驟1064中,主才幾102可繼續(xù)處理數(shù)據(jù)。在一 個(gè)實(shí)施例中,如上所述,主才幾102可通過確定是否已經(jīng)傳l命了指定 量的數(shù)據(jù)來確定數(shù)據(jù)傳輸是否完成。可選地,每當(dāng)主才幾102要求額 外的凝:才居時(shí),主機(jī)102可乂人鄉(xiāng)爰沖器146或H沖器146的一部分中繼 續(xù)讀出數(shù)據(jù)。另外,如上所述,主機(jī)102可通過經(jīng)由覆蓋窗304向 存儲控制器106發(fā)送命令來終止傳輸。
在本發(fā)明的一個(gè)實(shí)施例中,緩沖器146可分成多個(gè)扇區(qū)。每個(gè) 扇區(qū)可用于執(zhí)行由主機(jī)102發(fā)送的命令所指定的不同DMA傳輸。 因此,在一些情況下,《爰沖器146的一部分可被主才幾102用來自動 地從非易失性存儲控制器108中的源地址和連續(xù)地址讀出數(shù)據(jù),同 時(shí)纟爰沖器146的其他部分可^皮主沖幾102用來自動地將豸丈據(jù)寫非易失 性存4諸控制器108中的目的地址和連續(xù)地址。
經(jīng)由覆蓋窗訪問鏡像控制寄存器
在本發(fā)明的一種實(shí)施例中,主機(jī)102可以使用覆蓋窗304來訪 問在非易失性存儲器控制器106中的遠(yuǎn)程控制寄存器。經(jīng)由覆蓋窗 可訪問的遠(yuǎn)程控制寄存器可以包括USB/ATA控制寄存器158以及
其它控制寄存器(例如,iDMA控制寄存器152)。這樣的訪問可以 包括確定控制寄存器158的狀態(tài)并且改變控制寄存器158的設(shè)定。
在一個(gè)實(shí)施例中,如圖11所示,可以在覆蓋窗304內(nèi)提供存 儲空間1102來訪問易失性存儲器104中的鏡像寄存器1104。在一 個(gè)實(shí)施例中,鏡像寄存器存儲空間1102可以位于當(dāng)覆蓋窗304被 激活時(shí)(例如,當(dāng)覆蓋窗位OWE被設(shè)定時(shí))自動分配的存儲空間 310中。優(yōu)選地,當(dāng)設(shè)置覆蓋窗的尺寸308時(shí),可以分配控制寄存 器空間1102。在一些情況下,在參照圖6描述的控制寄存器600的 存儲空間之后,可以立即分配控制寄存器空間1102??蛇x地,在緩 沖存4諸空間330之后分配控制寄存器空間1102。另外,在一個(gè)實(shí)施 例中,例如,通過提供在覆蓋窗304內(nèi)的鏡像控制寄存器(其用來 指定用于映射控制寄存器地址空間1102的基地址和/或尺寸),可以 對映射控制寄存器空間1102的位置進(jìn)行配制。
圖12是描述才艮據(jù)本發(fā)明的一個(gè)實(shí)施例的用于經(jīng)由鏡像控制寄 存器1104訪問遠(yuǎn)程控制寄存器158的處理1200的流程圖。該處理 1200可以/人主才幾102 4企測用于未處理(pending)命令的易失性存 儲器104的步驟1202開始。當(dāng)該主機(jī)102確定沒有命令要處理時(shí), 該主機(jī)102可以通過該易失性存儲器104的易失性存儲器接口 112 寫數(shù)據(jù)到鏡像控制寄存器地址空間1102。向鏡像控制存儲器空間 1102寫的數(shù)據(jù)可以位于在鏡像控制寄存器中1104中。然后,主機(jī) 102可以在指示鏡像控制寄存器1104已被修改(modified)的步驟 1206中,在易失性存儲器104中設(shè)置控制寄存器位。可選的,易失 性存々者器104可以自動確定該銷 像控制寄存器1104已^皮更新。
在步驟1212中,易失性存儲器104可以收到鏡像控制寄存器 1104已被修改的指示。然后,在步驟1214中,易失性存儲器104 可以指示給非易失性存儲器控制器106鏡像控制寄存器1104已被 修改。通過發(fā)布中斷給非易失性存儲器控制器106或設(shè)置狀態(tài)位,
該指示可以提供給非易失性存儲器控制器106,其中,該狀態(tài)位可 以通過非易失性存儲器控制器106查詢(poll)。當(dāng)接收到鏡像寄存 器1104已被修改的指示后,非易失性存儲器控制器106可以在步 驟1218中從易失性存儲器104內(nèi)的鏡像寄存器1104載入數(shù)據(jù),并 且在步驟1220中將載入的數(shù)據(jù)放入控制寄存器158中。
在步驟1222中,非易失性存儲器控制器106可以發(fā)給易失性 存儲器104命令來設(shè)置控制寄存器位,該控制寄存器位指示遠(yuǎn)程控 制寄存器158已被成功更新。在某些情況下,非易失性存儲器控制 器106也可以提供來自被放置在易失性存儲器104內(nèi)的鏡像控制寄 存器1104中的遠(yuǎn)程控制寄存器158的更新信息的拷貝。在步驟1216 中,易失性存儲器104可以更新(update)控制寄存器位,該控制 寄存器位指示遠(yuǎn)程控制寄存器158已被更新。主機(jī)102可以接收到 控制存儲器158在步驟1208中已^皮更新的指示。然后,處理過程 1200可以繼續(xù)步艱《1210。
雖然披露了上述有關(guān)通過主機(jī)102發(fā)送的命令執(zhí)行的鏡像,在 某些情況下,鏡像可以通過易失性存儲器104自動執(zhí)行(例如,通 過設(shè)定由非易失性存儲器106或發(fā)布至非易失性存儲器控制器106 的中斷檢測的狀態(tài)寄存器位),例如,每次鏡像控制寄存器1104被 更新。當(dāng)狀態(tài)寄存器位或中斷被存儲器控制器106檢測到時(shí),存儲 器控制器106可以自動將鏡像控制寄存器1104栽入遠(yuǎn)程控制寄存 器158。可選的,鏡像可以通過易失性存儲器104在指定間隔執(zhí)行。
此外,在某些情況下,例如,通過發(fā)送命令或?qū)慯t據(jù)到包括來 自遠(yuǎn)程控制寄存器158 (位于鏡像控制寄存器1104中)的更新數(shù)據(jù) 的易失性存儲器104中,由非易失性存儲器106發(fā)起對來自遠(yuǎn)程控 制寄存器158的更新數(shù)據(jù)的鏡像。在一實(shí)施例中,非易失性存儲器 控制器106可以周期性地發(fā)起鏡像,例如,在指定間隔。在一實(shí)施 例中,指定間隔可以由主才幾102通過#/泉控制寄存器1104來指定。
可選的,每次遠(yuǎn)程控制寄存器158被修改時(shí),非易失性存儲器控制 器106均可以更新鏡像控制寄存器1104。
在一實(shí)施例中,當(dāng)鏡像控制寄存器1104通過非易失性存儲106 來更新時(shí),易失性存儲器104可以提供用于主機(jī)102的更新命令。 該命令可以通過例如從易失性存儲器104發(fā)布中斷到主4幾102或設(shè) 置易失性存儲器104內(nèi)的狀態(tài)寄存器位來提供,該狀態(tài)存儲器位可 以由主才幾102通過沖莫式寄存器170或通過存儲-映射控制寄存器 138、 140、 142來i方問(,Bo,查詢)。
結(jié)論
雖然披露了上述有關(guān)通過易失性存儲器接口訪問易失性存儲 器和非易失性存儲器的處理器,本發(fā)明的一些實(shí)施例也可以用于嵌 入系統(tǒng),在該嵌入系統(tǒng)中,主機(jī)處理器通過附加接口訪問附加的存 儲部件(例如,易失性存儲器和非易失性存儲器)。同樣的,雖然 披露了上述有關(guān)在分離的模具上制造的易失性存儲器、非易失性存 儲器以及非易失性存儲器控制器,也可以利用本發(fā)明的實(shí)施例,其 中,在相同的模具上制造獨(dú)立部件(例如,易失性存儲器和非易失 性存儲器控制器或非易失性存儲器和非易失性存儲器控制器)。
雖然前述是本發(fā)明的實(shí)施例,本發(fā)明的其它或者另外的實(shí)施例 可以在不背離它們的基本范圍的情況下來設(shè)計(jì),它們的范圍由權(quán)利 要求來限定。
權(quán)利要求
1.一種用于從第一裝置向第二裝置發(fā)送命令的方法,所述方法包括通過所述第一裝置接收向所述第一裝置內(nèi)的存儲位置寫入第二命令的第一命令,其中,所述第二命令包括命令碼、標(biāo)識所述第二命令的操作數(shù)的操作數(shù)偏移量的第一值、和標(biāo)識所述第二命令的所述操作數(shù)的數(shù)目的第二值;以及向所述第二裝置提供所述第二命令,其中,所述第二裝置使用由所述第二命令提供的所述偏移量和所述數(shù)目加載所述第二命令的所述操作數(shù)。
6. —種用于通過易失性存儲裝置向遠(yuǎn)程裝置發(fā)送命令的方法,所 述方法包括向所述易失性存儲裝置發(fā)送寫命令,其中,所述寫命令 向所述易失性存儲裝置內(nèi)的存儲器映射寄存器寫入第二命令, 其中,所述第二命令包括命令碼、標(biāo)識所述第二命令的操作數(shù) 的操作數(shù)偏移量的第 一值、和標(biāo)識所述第二命令的所述操作數(shù) 的數(shù)目的第二值;以及向所述易失性存儲裝置寫入所述第二命令的所述操作 數(shù),其中,所述操作數(shù)被寫入對應(yīng)于所述操作數(shù)的所述操作數(shù) 偏移量和所述數(shù)目的所述易失性存儲裝置內(nèi)的操作數(shù)地址,其 中,所述遠(yuǎn)程裝置使用由所述第二命令提供的所述才喿作數(shù)的所 述偏移量和所述tt目加載所述第二命令的所述操作凄t。
7. 根據(jù)權(quán)利要求6所述的方法,進(jìn)一步包括向所述易失性存儲裝置發(fā)送通知命令,其中,響應(yīng)于接 收到所述通知命令,所述易失性存儲裝置通知所述遠(yuǎn)程裝置已 經(jīng)接收到所述第二命令。
8. 根據(jù)權(quán)利要求7所述的方法,其中,所述易失性存儲裝置通過 設(shè)置表示已接收到所述第二命令的狀態(tài)寄存器位來通知所述 遠(yuǎn)程裝置。
9. 根據(jù)權(quán)利要求7所述的方法,其中,所述易失性存儲裝置通過 向所述遠(yuǎn)程裝置發(fā)送表示已接收到所述第二命令的中斷來通 知所述遠(yuǎn)程裝置。
10. 根據(jù)權(quán)利要求6所述的方法,其中,所述存儲器映射寄存器和 所述操作數(shù)地址位于所述易失性存儲裝置中的覆蓋窗內(nèi),其 中,所述覆蓋窗包括一系列存儲地址,其中,所述覆蓋窗的大 小和基地址經(jīng)由所述易失性存儲裝置中的控制寄存器配置。
11. 根據(jù)權(quán)利要求6所述的方法,其中,所述操作數(shù)地址從由所述 偏移量值加上預(yù)定基地址表示的操作數(shù)基地址開始。
12. 根據(jù)權(quán)利要求11所述的方法,其中,所述預(yù)定基地址是所述 存儲器映射寄存器的地址。
13. —種存儲裝置,包括第一接口;第二接口;易失性存儲器陣列;4空制電路,;故配置為經(jīng)由所述第一接口接收第一命令,其中,所述第一 命令向所述存儲裝置內(nèi)的存儲位置寫入第二命令,其中, 所述第二命令包括命令碼、標(biāo)識所述第二命令的操作數(shù) 的操作數(shù)偏移量的第一值、和標(biāo)識所述第二命令的所述 沖喿作數(shù)的數(shù)目的第二值;以及經(jīng)由所述第二接口將所述第二命令提供給遠(yuǎn)程裝 置,其中,所述遠(yuǎn)程裝置使用由所述第二命令提供的所 述偏移量和所述凄t目經(jīng)由第二4妻口加載所述第二命令的 所述操作數(shù)。
14. 根據(jù)權(quán)利要求13所述的存儲裝置,其中,從等于由所述第一 值加上基地址表示的偏移量地址的第一操作數(shù)地址加載所述 操作數(shù)的所述數(shù)目。
15. 根據(jù)權(quán)利要求14所述的存儲裝置,其中,所述基地址是所述 存儲裝置內(nèi)所述第二命令被寫入的存儲位置。
16. 根據(jù)權(quán)利要求13所述的存儲裝置,其中,所述第二命令被寫 入的所述存儲位置對應(yīng)于存儲器映射寄存器。
17. 根據(jù)權(quán)利要求13所述的存儲裝置,其中,所述存儲位置是距 離覆蓋窗的基地址預(yù)定偏移量處的地址,其中,所述覆蓋窗包 括一系列存4諸地址,其中,所述覆蓋窗的所述基地址經(jīng)由一個(gè) 或多個(gè)基地址控制寄存器設(shè)置。
18. —種處理器,包4舌接口 ,用于與易失性存儲裝置進(jìn)行通信;4空制電路,;故配置為向所述易失性存儲裝置發(fā)送寫命令,其中,所述寫 命令向所述易失性存儲裝置內(nèi)的存儲器映射寄存器寫入 第二命令,其中,所述第二命令包括命令碼、標(biāo)識所述 第二命令的操作數(shù)的操作數(shù)偏移量的第一值、和標(biāo)識所 述第二命令的所述操作數(shù)的數(shù)目的第二值;以及向所述易失性存儲裝置寫入所述第二命令的所述操 作數(shù),其中,所述操作數(shù)被寫入與所述才喿作數(shù)的所述操作凄t偏移量和所述數(shù)目相對應(yīng)的所述易失性存卡者裝置內(nèi) 的才喿作凝:地址,其中,遠(yuǎn)程裝置4吏用由所述第二命令提 供的所述操作數(shù)的所述偏移量和所述數(shù)目加載所述第二 命令的所述操作數(shù)。
19. 根據(jù)權(quán)利要求18所述的處理器,其中,所述控制電路被進(jìn)一 步配置為向所述易失性存儲裝置發(fā)送通知命令,其中,響應(yīng)于 *接收到所述通知命令,所述易失性存儲裝置通知所述遠(yuǎn)程裝置 已經(jīng)接收到所述第二命令。
20. 根據(jù)權(quán)利要求18所述的處理器,其中,所述存儲器映射寄存 器和所述操作數(shù)地址位于所述易失性存儲裝置中的覆蓋窗內(nèi), 其中,所述覆蓋窗包括一系列存儲地址,其中,所述覆蓋窗的 大d、和基地址經(jīng)由所述易失性存儲裝置中的控制寄存器由所 述處理器配置。
21. 根據(jù)權(quán)利要求18所述的處理器,其中,所述操作數(shù)地址從由 所述偏移量值加上預(yù)定基地址表示的操作數(shù)基地址開始。
22. 根據(jù)權(quán)利要求21所述的處理器,其中,所述預(yù)定基地址是所 述存儲器映射寄存器的地址。
23. —種存儲裝置,包括用于連接的第一裝置;用于連接第二裝置;用于存儲的裝置;4空制電路,;故配置為經(jīng)由所述用于連接的第一裝置接收第一命令,其中, 所述第一命令向?qū)懭胨龃鎯ρb置內(nèi)的存儲位置寫入第 二命令,其中,所述第二命令包括命令碼、標(biāo)識所述第二命令的操作數(shù)的操作數(shù)偏移量的第 一值、和標(biāo)識所述 第二命令的所述操作數(shù)的數(shù)目的第二值;以及 經(jīng)由所述用于連接的第二裝置將所述第二命令提供 給遠(yuǎn)程裝置,其中,所述遠(yuǎn)程裝置使用由所述第二命令 提供的所述偏移量和所述數(shù)目經(jīng)由第二接口加載所述第 二命令的所述操作數(shù)。
24. 根據(jù)權(quán)利要求23所述的存儲裝置,其中,從等于由所述第一 值加上基地址表示的偏移量地址的第一才喿作數(shù)地址加載所述 操作數(shù)的所述數(shù)目。
25. 根據(jù)權(quán)利要求24所述的存儲裝置,其中,所述基地址是所述 存儲裝置內(nèi)所述第二命令被寫入的存儲位置。
26. 根據(jù)權(quán)利要求23所述的存儲裝置,其中,所述第二命令被寫 入的所述存儲位置對應(yīng)于存儲器映射寄存器。
27. 根據(jù)權(quán)利要求23所述的存儲裝置,其中,所述存儲位置是距 離覆蓋窗的基地址預(yù)定偏移量處的地址,其中,所述覆蓋窗包 括一 系列存儲地址,其中,所述覆蓋窗的所述基地址經(jīng)由 一個(gè) 或多個(gè)基地址控制寄存器設(shè)置。
28. —種系纟克,包4舌易失性存儲裝置,包括易失性存儲器接口;非易失性存儲器接口;控制寄存器;以及易失性存儲器陣列;非易失性存儲控制器,被配置為經(jīng)由所述非易失性存儲 器接口訪問所述易失性存儲器;以及 處理器,^皮配置為經(jīng)由所述易失性存儲器接口向所述易失性存儲裝置 發(fā)送寫命令,其中,所述寫命令向所述易失性存儲裝置 內(nèi)的所述控制寄存器寫入第二命令,其中,所述第二命 令包括命令碼、標(biāo)識所述第二命令的操作數(shù)的操作數(shù)偏 移量的第一值、和標(biāo)識所述第二命令的所述操作數(shù)的數(shù) 目的第二^f直;以及經(jīng)由所述易失性存儲器接口將所述第二命令的所述 操作數(shù)寫入所述易失性存儲裝置,其中,所述操作數(shù)被寫入與所述才喿作凄t的所述纟喿作凄t偏移量和所述凄t目相對 應(yīng)的所述易失性存儲裝置內(nèi)的操作數(shù)地址,其中,遠(yuǎn)程 裝置使用由所述第二命令提供的所述操作數(shù)的所述偏移 量和所述數(shù)目加載所述第二命令的所述操作數(shù)。
全文摘要
本發(fā)明的實(shí)施例提供了用于從第一裝置向第二裝置發(fā)送命令的方法、裝置以及系統(tǒng)。在一個(gè)實(shí)施例中,該方法包括通過第一裝置接收向第一裝置內(nèi)的存儲位置寫第二命令的第一命令。第二命令包括命令碼、標(biāo)識第二命令的操作數(shù)的操作數(shù)偏移量的第一值、和標(biāo)識第二命令的所述操作數(shù)的數(shù)目的第二值。該方法還包括向第二裝置提供第二命令。在一個(gè)實(shí)施例中,第二裝置使用由第二命令提供的偏移量和數(shù)目加載第二命令的操作數(shù)。
文檔編號G06F3/06GK101101531SQ20071012934
公開日2008年1月9日 申請日期2007年7月6日 優(yōu)先權(quán)日2006年7月6日
發(fā)明者羅姆-申·卡奧 申請人:奇夢達(dá)北美公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1