專利名稱:通過(guò)易失性存儲(chǔ)器接口訪問(wèn)非易失性存儲(chǔ)器的方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及在計(jì)算機(jī)系統(tǒng)中的訪問(wèn)存儲(chǔ)器(存取存儲(chǔ)器)。
背景技術(shù):
許多現(xiàn)代的電子器件例如移動(dòng)電話、PDA、便攜式音樂(lè)播放器、 電器等通常結(jié)合嵌入式計(jì)算機(jī)系統(tǒng)。嵌入式計(jì)算機(jī)系統(tǒng)通常包括計(jì) 算機(jī)處理器(稱作主機(jī))、非易失性存儲(chǔ)器(例如快閃存儲(chǔ)器和/或 ROM存儲(chǔ)器)以及易失性存儲(chǔ)器諸如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器
(DRAM)。主才幾可以包^"中央處理器(CPU)、凄t字式信號(hào)處理器 (DSP)、微控制器單元(MCU)或直接存儲(chǔ)器存取(DMA)數(shù)據(jù) 傳輸裝置。嵌入式系統(tǒng)還可以包括非易失性存儲(chǔ)器控制器,該非易 失性存儲(chǔ)器控制器可以用來(lái)控制和/或訪問(wèn)非易失性存儲(chǔ)器。
在嵌入式系統(tǒng)中,通??梢员确且资源鎯?chǔ)器更快速地存取易 失性存儲(chǔ)器。因此,例如,通過(guò)主機(jī)執(zhí)行的代碼可以存儲(chǔ)于易失性 存儲(chǔ)器中并通過(guò)主機(jī)從該易失性存儲(chǔ)器存取。然而,由于易失性存 儲(chǔ)器通常需要電源來(lái)保持其中存儲(chǔ)的數(shù)據(jù),因此當(dāng)嵌入式系統(tǒng)被斷 電時(shí),易失性存儲(chǔ)器通常^皮擦除。因此,當(dāng)嵌入式系統(tǒng)斷電時(shí),通 常不需要電源來(lái)維持存儲(chǔ)數(shù)據(jù)的非易失性存儲(chǔ)器可以用來(lái)存儲(chǔ)由 主機(jī)執(zhí)行的代碼。當(dāng)對(duì)嵌入式系統(tǒng)加電時(shí)(例如,當(dāng)嵌入式系統(tǒng)進(jìn) 入復(fù)位狀態(tài)時(shí)),通過(guò)主才幾系統(tǒng)4吏用的代碼可以;陂載入易失性存^f諸 器中并通過(guò)主機(jī)由易失性存儲(chǔ)器執(zhí)行。將存儲(chǔ)于非易失性存儲(chǔ)器中 的代碼載入易失性存儲(chǔ)器中并執(zhí)行來(lái)自易失性存儲(chǔ)器代碼的過(guò)程 可以稱作代碼映射(code shadowing )。
為了維持嵌入式系統(tǒng)中存取數(shù)據(jù)的靈活性,可以期望在主機(jī)、 易失性存儲(chǔ)器和非易失性存儲(chǔ)器之間以各種方式來(lái)傳輸數(shù)據(jù)。例 如,可以期望在易失性存儲(chǔ)器與主機(jī)之間、非易失性存儲(chǔ)器與主機(jī) 之間、和易失性存儲(chǔ)器與非易失性存儲(chǔ)器之間執(zhí)行數(shù)據(jù)傳送。當(dāng)維 持嵌入式系統(tǒng)中存取數(shù)據(jù)的靈活性時(shí),也可以期望降低主機(jī)和存儲(chǔ) 系統(tǒng)的組件之間的接口的成本和復(fù)雜性。
因此,需要用于嵌入式系統(tǒng)中存取存儲(chǔ)器的改進(jìn)的系統(tǒng)和方法。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施方式提供了用于經(jīng)由易失性存儲(chǔ)裝置訪問(wèn)非易 失性存儲(chǔ)裝置中的數(shù)據(jù)的方法、裝置和系統(tǒng)。在一個(gè)實(shí)施方式中, 該方法包括在易失性存儲(chǔ)裝置的地址空間中配置覆蓋窗的大小和 基地址。該覆蓋窗包括一系列存儲(chǔ)地址。該方法還包括經(jīng)由該易失 性存儲(chǔ)裝置的易失性存儲(chǔ)器接口接收訪問(wèn)命令,如果訪問(wèn)命令的地 址在覆蓋窗之內(nèi),則使用訪問(wèn)命令經(jīng)由易失性存儲(chǔ)裝置的非易失性 存儲(chǔ)器接口訪問(wèn)非易失性存儲(chǔ)裝置。
為了使本發(fā)明的上述特征可以更詳細(xì)地被理解,將結(jié)合實(shí)施例 詳細(xì)描述本發(fā)明以上扭克括的特征,其中一些實(shí)施方式在附圖中纟會(huì) 出。然而,應(yīng)當(dāng)注意,附圖4又描述本發(fā)明典型的實(shí)施例,因此并不 能認(rèn)為限制其范圍,本發(fā)明可以允許其它同等有效的實(shí)施例。
為了可以更詳細(xì)地理解本發(fā)明的上述特4正,將結(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í)施例的用于配置覆蓋窗的 處理的流^f呈圖3A-圖3D是示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的覆蓋窗配置的 外》見(jiàn)的才匡圖4是示出了根據(jù)本發(fā)明一個(gè)實(shí)施例所發(fā)送的用于配置覆蓋窗 的命令的時(shí)序圖5A-圖5B是示出了根據(jù)本發(fā)明實(shí)施例經(jīng)由覆蓋窗訪問(wèn)數(shù)據(jù) 和發(fā)送命令的處理的流程圖6-圖7是示出了根據(jù)本發(fā)明實(shí)施例的覆蓋窗中的控制寄存器 和緩沖器的框圖8是示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的向op碼寄存器發(fā)送的 命令的框圖9A-圖9D是示出了#4居本發(fā)明的實(shí)施例的嵌入式系統(tǒng)中的 數(shù)據(jù)傳送的框圖lOA-圖IOB是示出了根據(jù)本發(fā)明實(shí)施例用于在主機(jī)和非易 失性存儲(chǔ)器之間寺丸行DMA傳送處理的流程圖11是示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的經(jīng)由覆蓋窗訪問(wèn)的鏡 像控制寄存器的框圖;以及
圖12是示出了根據(jù)本發(fā)明一個(gè)實(shí)施例用于鏡像控制寄存器數(shù) 才居的處理的流禾呈圖。
具體實(shí)施例方式
本發(fā)明的實(shí)施方式提供了用于經(jīng)由易失性存儲(chǔ)裝置訪問(wèn)非易 失性存儲(chǔ)裝置中的數(shù)據(jù)的方法、裝置和系統(tǒng)。在一個(gè)實(shí)施方式中, 該方法包括在易失性存儲(chǔ)裝置的地址空間中配置覆蓋窗的大小和 基地址。該覆蓋窗包括一系列存儲(chǔ)地址。該方法還包括經(jīng)由該易失 性存儲(chǔ)裝置的易失性存儲(chǔ)器接口接收訪問(wèn)命令,如果訪問(wèn)命令的地址在覆蓋窗之內(nèi),則使用訪問(wèn)命令經(jīng)由易失性存儲(chǔ)裝置的非易失性 存儲(chǔ)器接口訪問(wèn)非易失性存儲(chǔ)裝置。
"^式系統(tǒng)
圖1A是示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的嵌入式系統(tǒng)100的方 框圖。如所示出的,嵌入式系統(tǒng)100可以包括主機(jī)102、易失性存 儲(chǔ)器104、非易失性存儲(chǔ)器控制器106以及非易失性存儲(chǔ)器108。
在一個(gè)實(shí)施例中,主機(jī)102可以包括-控制電路132和用于與易 失性存儲(chǔ)器104的易失性存儲(chǔ)器接口 112通信的易失性存儲(chǔ)器接口 110。在一個(gè)實(shí)施例中,易失性存儲(chǔ)器接口 112可以包括一接口,該 接口符合電子設(shè)備工程聯(lián)合委員會(huì)(JEDEC)低功率雙倍數(shù)據(jù)傳輸 率(LPDDR)同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)規(guī)定??蛇x地, 可以使用任何其它合適的易失性存儲(chǔ)器接口 (例如,使用DRAM 接口控制信號(hào)諸如寫(xiě)使能(WE)、行存取選通脈沖(RAS)、列存 取選通脈沖(CAS)以及芯片選擇(CS))??梢允褂每刂齐娐?,例 如,來(lái)執(zhí)行計(jì)算機(jī)命令和處理由易失性存儲(chǔ)器104或另外的存儲(chǔ)位 置(例如,》茲盤(pán)驅(qū)動(dòng)器或其它存儲(chǔ)裝置)接收的數(shù)據(jù)。在某些情況 下,主才幾102還可以包括附加的(輔助)電路,例如,用于接收用 戶輸入的輸入/輸出(I/O)接口和至其它嵌入式系統(tǒng)組件(諸如其 他的存儲(chǔ)器組件、》茲盤(pán)驅(qū)動(dòng)器和其它裝置)的其他4妄口。并且,如 下面所描述的,主機(jī)102可以使用易失性存儲(chǔ)器接口 112,來(lái)提供 命令和信息并用來(lái)接收來(lái)自易失性存儲(chǔ)器104、非易失性存儲(chǔ)器控 制器106、和/或非易失性存儲(chǔ)器108的信息。
在一個(gè)實(shí)施例中,易失性存々者器104可以包4舌用于與主才幾102 通信的易失性存儲(chǔ)器接口 112,和用于與非易失性存儲(chǔ)器控制器106 通信的非易失性存儲(chǔ)器接口 120。易失性存儲(chǔ)器104相對(duì)于主機(jī)102 和非易失性存^f渚器控制器106可以用作乂人屬裝置(slave)(例如,
易失性存儲(chǔ)器可以通過(guò)該接口的其它組件來(lái)控制)??蛇x地,易失
性存儲(chǔ)器104相對(duì)于非易失性存儲(chǔ)器控制器106可以是主存儲(chǔ)器 (master )。非易失性存儲(chǔ)器接口 112可以包括用來(lái)訪問(wèn)非易失性存 儲(chǔ)器108的任何接口,包括,例如寫(xiě)使能(WE)、輸出使能(OE) 和芯片選擇(CS)控制信號(hào)。
易失性存儲(chǔ)器104還可以包括用于處理通過(guò)易失性存儲(chǔ)器4妄口 112和/或非易失性存儲(chǔ)器接口 120接收的命令的易失性存儲(chǔ)器控制 電路114。易失性存儲(chǔ)器104可以進(jìn)一步包括用于在易失性存儲(chǔ)器 104中存儲(chǔ)數(shù)據(jù)的易失性存儲(chǔ)器陣列116和用于在主才幾102、易失 性存儲(chǔ)器104、非易失性存儲(chǔ)器控制器106、和/或非易失性存儲(chǔ)器 108之間傳輸數(shù)據(jù)和/或命令的一個(gè)或多個(gè)緩沖器118。在一個(gè)實(shí)施 例中,緩沖器118可以是動(dòng)態(tài)RAM (DRAM)存儲(chǔ)器??蛇x地, 緩沖器118可以是靜態(tài)Ram ( SRAM)存儲(chǔ)器。易失性存儲(chǔ)器104 還可以包括用于與非易失性存儲(chǔ)器控制器106通信的非易失性存儲(chǔ) 器接口 120。
在本發(fā)明的一個(gè)實(shí)施例中,非易失性存儲(chǔ)器控制器106可以包 括用于與易失性存儲(chǔ)器104通信的第 一非易失性存儲(chǔ)器接口 122和 用于與非易失性存儲(chǔ)器108通信的第二非易失性存儲(chǔ)器接口 126。 非易失性存儲(chǔ)器控制器106還可以包括用于控制易失性存儲(chǔ)器104、 非易失性存儲(chǔ)器控制器106和非易失性存儲(chǔ)器之間數(shù)據(jù)傳輸?shù)姆且?失性存儲(chǔ)器控制電路124。可以通過(guò)非易失性存儲(chǔ)器接口 128訪問(wèn) 非易失性存儲(chǔ)器108。可以將非易失性存儲(chǔ)器108中的數(shù)據(jù)存儲(chǔ)在 非易失性存儲(chǔ)器陣列130中。
雖然上面參照單個(gè)易失性存儲(chǔ)器104和非易失性存儲(chǔ)器控制器 106進(jìn)行了描述,但本文中所描述的實(shí)施例也可以用于易失性存儲(chǔ) 器134,其包括非易失性存儲(chǔ)器控制電路124,并通過(guò)非易失性存 儲(chǔ)器接口 128訪問(wèn)非易失性存儲(chǔ)器108 (如圖1B所示)。圖1C是示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的易失性存儲(chǔ)器104和 非易失性存儲(chǔ)器控制器106的其他細(xì)節(jié)的框圖。如所示出的,易失 性存儲(chǔ)器104可以包括命令和地址譯碼器電路164 (例如,作為易 失性存儲(chǔ)器控制電路114的一部分)。當(dāng)命令和地址譯碼器電路164 接收來(lái)自主機(jī)102的命令時(shí),其中主機(jī)102訪問(wèn)易失性存儲(chǔ)器陣列 116的庫(kù)136中的一個(gè)中的數(shù)據(jù),數(shù)據(jù)可以通過(guò)主機(jī)的易失性存儲(chǔ) 器陣列116的易失性存取控制160來(lái)進(jìn)行訪問(wèn)。易失性存儲(chǔ)器104 還可以提供如下面更詳細(xì)描述的用于控制易失性存儲(chǔ)器104操作的 模式寄存器(mode register ) 170、用于控制覆蓋窗的覆蓋窗控制寄 存器138、以及用于在嵌入式系統(tǒng)100的組件之間傳輸數(shù)據(jù)的覆蓋 窗緩沖器146。
在本發(fā)明的一個(gè)實(shí)施例中,易失性存儲(chǔ)器104可以進(jìn)一步^是供 用于控制在非易失性存儲(chǔ)器108、非易失性存儲(chǔ)器控制器106和易 失性存儲(chǔ)器104之間的DMA傳輸?shù)闹胁恐苯哟鎯?chǔ)器存取(iDMA ) 控制寄存器140。如下面所描述的,修改易失性存儲(chǔ)器104中的 iDMA控制寄存器設(shè)置可以使易失性存儲(chǔ)器104向非易失性存儲(chǔ)器 控制器106發(fā)送命令,這引起在非易失性存儲(chǔ)器控制器106的iDMA 控制器150的iDMA控制寄存器152中相應(yīng)的變化。這樣的變化可 以,例如導(dǎo)致向iDMA控制器150發(fā)送命令,這導(dǎo)致例如在易失性 存儲(chǔ)器104、非易失性存儲(chǔ)器控制器106和非易失性存儲(chǔ)器108之 間執(zhí)4亍DMA傳輸。
在一個(gè)實(shí)施例中,例如,DMA傳送(transfer)可以-使用非易 失性存儲(chǔ)器控制器106中的緩沖器154,來(lái)臨時(shí)保持在非易失性存 儲(chǔ)器108和易失性存儲(chǔ)器104之間傳送的數(shù)據(jù)。關(guān)于易失性存儲(chǔ)器 104, DMA傳送可以使用iDMA易失性存儲(chǔ)器訪問(wèn)控制162來(lái)訪問(wèn) 易失性存儲(chǔ)器陣列116 (例如,讀取或?qū)懹糜贒MA傳送的數(shù)據(jù))。 來(lái)自易失性存^f諸器陣列116的^t據(jù)可以傳送至iDMA纟爰沖器144或
者從iDMA緩沖器144傳出,iDMA緩沖器144又可以用于通過(guò)易 失性存儲(chǔ)器104的非易失性存儲(chǔ)器接口 120來(lái)傳送數(shù)據(jù)。iDMA緩 沖器控制器148可以用來(lái)控制易失性存儲(chǔ)器104的iDMA易失性存 儲(chǔ)器訪問(wèn)控制162、 iDMA緩沖器144和非易失性存儲(chǔ)器接口 120 之間的數(shù)據(jù)傳送。
在一個(gè)實(shí)施例中,易失性存儲(chǔ)器104還可以包括通用串行總線 (USB)/高級(jí)技術(shù)配件(ATA)寄存器142,其可以用來(lái)控制非易失 性存儲(chǔ)器控制器106中的USB/ATA功能性。例如,如下面所描述 的,當(dāng)改變易失性存儲(chǔ)器104中的USB/ATA寄存器時(shí),易失性存 儲(chǔ)器104可以自動(dòng)地相應(yīng)改變非易失性存儲(chǔ)器控制器106的非易失 性存儲(chǔ)器控制電路124中的USB/ATA控制寄存器158。因此,主機(jī) 102可以能夠通過(guò)易失性存儲(chǔ)器104來(lái)訪問(wèn)非易失性存儲(chǔ)器控制器 106的USB/ATA功能性。
配置用于存:W^據(jù)的泉蓋窗
在本發(fā)明的一個(gè)實(shí)施例中,用于易失性存儲(chǔ)器104的易失性存 4諸器地址空間的一部分可以分配給覆蓋窗。圖3A是示出了4艮據(jù)本 發(fā)明一個(gè)實(shí)施例占用(occupy)易失性存儲(chǔ)器地址空間302的一部 分的覆蓋窗304的方框圖。易失性存儲(chǔ)器104的易失性存儲(chǔ)器地址 空間302通常包括通過(guò)易失性存儲(chǔ)器104的易失性存儲(chǔ)器接口 112 訪問(wèn)的一系列地址。例如,如果易失性存儲(chǔ)器接口 112提供總共18 個(gè)地址位(例如,兩個(gè)庫(kù)地址位BA0和BA1和16個(gè)地址位A[15:0]), 那么易失性存儲(chǔ)器104的地址空間302可以包括262,144個(gè)地址(2 的18次冪),其允許可以訪問(wèn)易失性存儲(chǔ)器104中的高達(dá)256k的 凄t才居的4亍項(xiàng)(row entries )(其中,每一4亍項(xiàng)對(duì)應(yīng)于一鄉(xiāng)合定的;也址)。
在某些情況下,通過(guò)經(jīng)由易失性存儲(chǔ)器接口 112訪問(wèn)覆蓋窗304 中的地址,主機(jī)102能夠訪問(wèn)非易失性存儲(chǔ)器108以及覆蓋窗控制
寄存器138、 iDAM控制寄存器140和USB/ATA控制寄存器142中 的數(shù)據(jù)。因此,覆蓋窗304可以允許通過(guò)易失性存儲(chǔ)器接口 112訪 問(wèn)不同于易失性存儲(chǔ)器陣列116的寄存器和存儲(chǔ)器陣列。如果通過(guò) 易失性存儲(chǔ)器接口 112接收的訪問(wèn)命令(例如,讀取或?qū)懨?沒(méi) 有落在由覆蓋窗指定的地址的范圍中,那么訪問(wèn)命令可以用于訪問(wèn) 易失性存儲(chǔ)器陣列116。如果接收的地址落在覆蓋窗304中,那么 訪問(wèn)命令可以用來(lái)訪問(wèn)其它數(shù)據(jù)(例如,在易失性存儲(chǔ)器104的覆
蓋窗緩沖器146或控制寄存器138、 140、 142中的數(shù)據(jù))。
如上所述,覆蓋窗304可以占據(jù)(occupy )易失性存4諸器地址 空間302的一部分。在一個(gè)實(shí)施例中,例如,作為經(jīng)由易失性存^f諸 器接口 112接收的命令的結(jié)果,覆蓋窗304可以是被使能或被禁止 的。而且,在某些情況下,4皮覆蓋窗304占據(jù)的易失性存儲(chǔ)器地址 可以是可配置的(configurable )。因此,例如,覆蓋窗304的基地 址306以及覆蓋窗304的大小308 (示于圖3A中)是通過(guò)》務(wù)改易 失性存儲(chǔ)器104中的控制寄存器的設(shè)置可配置的。
占據(jù)易失性存儲(chǔ)器地址空間302的覆蓋窗304通常用于訪問(wèn)易 失性存儲(chǔ)器陣列116,由覆蓋窗304寫(xiě)地址的部分易失性存儲(chǔ)器陣 列116可以是不能訪問(wèn)的(例如,訪問(wèn)這些地址可以修改易失性存 儲(chǔ)器陣列116外部的數(shù)據(jù))。然而,通過(guò)移動(dòng)覆蓋窗304,易失性存 儲(chǔ)器陣列116的不同部分(part)可以被"暴露"(例如,經(jīng)由易失 性存儲(chǔ)器接口 112可以是可訪問(wèn)的)或者"掩蓋(covered up )"(例 如,對(duì)這些地址的訪問(wèn)可以經(jīng)由覆蓋窗304^皮重定向(redirect ))。 而且,覆蓋窗304是被禁止時(shí),通過(guò)易失性存儲(chǔ)器地址空間302可 以訪問(wèn)整個(gè)易失性存儲(chǔ)器陣列116。并且,在一個(gè)實(shí)施例中,易失 性存儲(chǔ)器地址空間302可以比易失性存儲(chǔ)器陣列116中的數(shù)據(jù)量要 大(例如,可以提供比數(shù)據(jù)更多的數(shù)據(jù)地址),這允許覆蓋窗304200710136535.1
說(shuō)明書(shū)第10/32頁(yè)
位于易失性存儲(chǔ)器地址空間302的一部分,其并不覆蓋易失性存儲(chǔ) 器陣列116的數(shù)據(jù)地址。
圖2A是示出了根據(jù)本發(fā)明一個(gè)實(shí)施例用于配置覆蓋窗304的 處理200的流程圖。處理200可以以步驟202開(kāi)始,其中使能覆蓋 窗304。在步驟204,可以設(shè)置用于覆蓋窗304的基地址306?;?址306可以指示覆蓋窗304開(kāi)始處的易失性存儲(chǔ)器地址。在一個(gè)實(shí) 施例中,可以限制基地址306,使得選擇的基地址306僅落在頁(yè)面 大小邊界。可選地,對(duì)于基地址306,可以使用任何對(duì)準(zhǔn)(alignment) (例如,字節(jié)對(duì)準(zhǔn))。在步驟206,可以i殳置覆蓋窗304的大小308。 覆蓋窗304的大小308可以,例如,表示以基地址306開(kāi)始的覆蓋 窗304占據(jù)的易失性存儲(chǔ)器地址的范圍。在一個(gè)實(shí)施例中,可以加 倍設(shè)定的大小308的值,以確定實(shí)際大小(例如,覆蓋窗304的實(shí) 際大小可以是以1024 ( 1K)或2048 ( 2K )乘以i殳定的大小)增加 的供給大小,以使大小308分配用于覆蓋窗304的存儲(chǔ)地址的塊的 整數(shù)。在步驟208,覆蓋窗304可以用于數(shù)據(jù)訪問(wèn)(例如,用于訪 問(wèn)覆蓋窗緩沖器146和/或控制寄存器138、 140、 142)。
通常,圖2A中示出的處理200可以使用本領(lǐng)域普通技術(shù)人員 已知的任何方法來(lái)實(shí)施。例如,每一步驟可以通過(guò)向易失性存儲(chǔ)器 104發(fā)送命令而實(shí)施??蛇x地,對(duì)于每一覆蓋窗屬性(例如,覆蓋 窗是否是激活的,基地址306和/或大小),可以纟是供可變的默認(rèn)i殳 置和/或永久預(yù)置i殳置。
圖2B是示出了用于配置根據(jù)本發(fā)明一個(gè)實(shí)施例的覆蓋窗304 的示例性處理210的流禾呈圖。處理210可以以步艱《212開(kāi)始,其中 覆蓋窗使用模式寄存器組(MRS )命令通過(guò)在易失性存儲(chǔ)器104的 模式寄存器170中設(shè)置覆蓋窗使能(OWE)位而激活。然后,在步 驟214,用于覆蓋窗304的基地址306可以使用MRS命令設(shè)置。
22
在一個(gè)實(shí)施例中,如圖3B所示,在設(shè)置覆蓋窗304的基地址 306后,易失性存儲(chǔ)器104可以在先前設(shè)置的基地址306的開(kāi)始處 自動(dòng)地分配覆蓋窗304的默認(rèn)地址空間310。覆蓋窗304的自動(dòng)分 配的地址空間310可以用來(lái)訪問(wèn)覆蓋窗控制寄存器138和其它控制 寄存器140、 142。因?yàn)榭梢允褂猛ㄟ^(guò)易失性存儲(chǔ)器接口 112向在易 失性存儲(chǔ)器104中的地址發(fā)送的訪問(wèn)命令(例如,讀取和寫(xiě)命令) 來(lái)訪問(wèn)控制寄存器138、 140、 142,因此控制寄存器138、 140、 142 可以稱作存儲(chǔ)器-映射寄存器。因此,通過(guò)從易失性存儲(chǔ)器地址空間 302中的地址進(jìn)行讀耳又或向易失性存儲(chǔ)器地址空間302中的地址進(jìn) 行寫(xiě)(其中易失性存儲(chǔ)器地址空間302對(duì)應(yīng)于覆蓋窗304的自動(dòng)分 配的地址空間310 ),對(duì)應(yīng)于訪問(wèn)地址的覆蓋窗寄存器可以^皮寫(xiě)或讀 取。
在步驟218中,可以通過(guò)易失性存儲(chǔ)器接口 112向存儲(chǔ)器映射 的覆蓋窗控制寄存器138進(jìn)行寫(xiě),而設(shè)定覆蓋窗304的大小308。 通過(guò)向覆蓋窗控制寄存器138進(jìn)行寫(xiě)而設(shè)定的大小308可以表明從 先前i殳定的基地址306開(kāi)始的覆蓋窗304的大小。可選地,大小308 可以指定除了并開(kāi)始于自動(dòng)分覆蓋窗地址空間310的末端(end) 的覆蓋窗304的大小。提供用于覆蓋窗304的大小308可以包括緩 沖地址空間330 (如圖3B所示),該地址空間被映射到覆蓋窗緩沖 器146并用于下述的翁:據(jù)訪問(wèn)。當(dāng)已經(jīng)如在步驟212、 214、 216和 218中所述的設(shè)定了覆蓋窗304之后,在步驟208中,覆蓋窗可以 用于凄t據(jù)訪問(wèn)。例如,為覆蓋窗304分配的空間可以用于向易失性 存儲(chǔ)器104、非易失性存儲(chǔ)器控制器106,以及非易失性存儲(chǔ)器 108(下文將詳細(xì)描述)發(fā)送命令。
圖3C是描述根據(jù)本發(fā)明一個(gè)實(shí)施例的用于激活(enable )覆蓋 窗304和設(shè)定該覆蓋窗基地址306的一個(gè)示例性MRS命令結(jié)構(gòu)的 框圖。如圖所示,通過(guò)易失性存儲(chǔ)器接口 112發(fā)給易失性存儲(chǔ)器104
說(shuō)明書(shū)第12/32頁(yè)
的命令可以包4舌命令部分312和地址部分314,該地址部分314包 括標(biāo)識(shí)將凈皮訪問(wèn)的易失性存儲(chǔ)器陣列116的庫(kù)(bank) 136的庫(kù)地 址位(bank address bit) B AO, BA1,以及指示在將被訪問(wèn)的指定庫(kù) 136中;也址的;也iiM立Ai…AO。
如果發(fā)送的命令312是MRS命令,該庫(kù)地址位可以用于識(shí)別 MRS類(lèi)型,而地址位Ai...AO可以用于選4奪并更改才莫式(mode )寄 存器170中的一個(gè)。如圖所示,該庫(kù)地址位可用于選4奪4個(gè)MRS 命令類(lèi)型中的一種。如果兩個(gè)庫(kù)地址位皆為0,則MRS命令可以用 于更改默認(rèn)模式寄存器(MRS )。如果BA1是0而B(niǎo)AO是1 ,那么 MRS命令可以用于更改該擴(kuò)充(extended )的才莫式寄存器。如果BA1 是1而B(niǎo)AO是O,那么MRS命令可以用作一個(gè)狀態(tài)寄存器讀取。
如果通過(guò)MRS命令接收的兩個(gè)庫(kù)地址皆為1,那么該MRS命 令可以是才莫式寄存器11 (MRS 11 )命令并可用于更改由地址位A9 禾口 A8才示i只的MRS 11的庫(kù)甫ii力寄存器320、 322、 324、 326。 ^口戶斤示 的,地址位A9和A8可以一皮選4奪電^各316 <吏用,來(lái)選4奪將被由地 址位A7-A0提供的輔助寄存器值更改的相應(yīng)的輔助寄存器320、 322、 324、 326。
在一個(gè)實(shí)施例中,為了激活覆蓋窗302,可以用兩個(gè)都i殳為1 的庫(kù)地址發(fā)送MRS命令,這表示MRS命令將更改MRS 11輔助寄 存器320、322、324、326中的一個(gè)。為了選擇含有覆蓋窗使能(OWE ) 位的輔助寄存器320,在發(fā)送的命令中的地址位A9和A8可以都是 0。最后,為了設(shè)定該OWE位,在發(fā)送的MRS 11命令中的地址位 A6可以是1。
在一個(gè)實(shí)施例中,該覆蓋窗基i也址306可以是4交準(zhǔn)i也址(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)i殳置用于 覆蓋窗屬性,如覆蓋窗基地址306、覆蓋窗大小310、以及該覆蓋 窗304是否激活(例如,OWE被設(shè)定,還是作為默認(rèn)設(shè)置而被清 除)。在一個(gè)實(shí)施例中,該默認(rèn)的覆蓋窗基地址306、默認(rèn)的覆蓋窗 大小310、和OWE i殳置可以通過(guò)sense-on-reset管腳(pins ) 350詔: 置,如圖3D所示。該管腳350可以才艮據(jù)希望的覆蓋窗基i也址306、 覆蓋窗大小310、以及4艮據(jù)該覆蓋窗304是否^皮默iU敫活而連4妄(例 如,由嵌入系統(tǒng)100的制造商)至高或低壓水平。當(dāng)該易失性存儲(chǔ) 器104接收復(fù)位信號(hào)時(shí)(例如,當(dāng)向該易失性存儲(chǔ)器104施加電能 時(shí),或者當(dāng)易失性存儲(chǔ)器104被復(fù)位時(shí)),該易失性存儲(chǔ)器104可 以自動(dòng)向覆蓋窗控制寄存器138和模式寄存器170加載由 sense-on-reset管腳350提供的設(shè)置值。該設(shè)置值后來(lái)可以被覆蓋, 例如如上所述通過(guò)向^:莫式寄存器170和覆蓋窗控制寄存器138發(fā)布
命令。可選地,該默認(rèn)設(shè)置可以通過(guò)燒斷(blowing)易失性存儲(chǔ)器 104中的熔絲來(lái)按照希望的設(shè)置進(jìn)行設(shè)定,或者通過(guò)向易失性存儲(chǔ) 器104的電路里寫(xiě)設(shè)置來(lái)設(shè)定。
圖4是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例發(fā)送命令來(lái)配置覆蓋窗 304的時(shí)序圖。如圖所示,在Tl時(shí)刻,發(fā)送MRS 11命令,其將 MRS 11輔助寄存器中的OWE位設(shè)置為"00" ( BA1 、 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 (分別為基;也址O,基;也址1和基;也址2 )。如上所述,在覆 蓋窗304 ^皮;敫活并且覆蓋窗大小308祐 沒(méi)定后,為覆蓋窗304自動(dòng)分配的地址空間310可以用來(lái)訪問(wèn)包括覆蓋窗控制寄存器138的數(shù) 據(jù)。因此,例如在T6時(shí)刻,可以發(fā)送一個(gè)寫(xiě)命令,其向自動(dòng)分配 的地址空間310中的相應(yīng)的易失性存儲(chǔ)器地址寫(xiě)覆蓋窗大小308。 覆蓋窗大小寄存器的地址可以由地址位BA1-BA0和A9-A0提供, 同時(shí)大小設(shè)定可以通過(guò)易失性存儲(chǔ)器接口 11的數(shù)據(jù)輸入/輸出端 (DQ )提供。在步驟T7可以發(fā)送例如訪問(wèn)易失性存儲(chǔ)器地址空間 302的其他命令。
盡管上面參照激活覆蓋窗304、設(shè)定基地址306和設(shè)定大小308 進(jìn)行了描述,但是可以以任何次序執(zhí)行發(fā)送的用于配置覆蓋窗304 的命令。此外,如上所述,在一些情況下,可以通過(guò)默認(rèn)來(lái)激活窗 口 306,和/或默認(rèn)值可以用于基地址306和大小308。在這種情況 下,可以不使用上述配置命令,或者只是在嵌入系統(tǒng)i殳計(jì)者希望的 時(shí)候使用該設(shè)定命令。
經(jīng)由覆蓋窗發(fā)送命令
在本發(fā)明的一個(gè)實(shí)施例中,在配置了覆蓋窗304之后,覆蓋窗 304可以用于訪問(wèn)控制寄存器138、 140、 142和覆蓋窗緩沖器146。 通過(guò)訪問(wèn)控制寄存器138、 140、 142和覆蓋窗緩沖器146,主機(jī)(host) 102能夠借助易失性存儲(chǔ)器接口 110發(fā)送命令,其導(dǎo)致在非易失性 存儲(chǔ)器控制器106中的配置變化、和/或在易失性存儲(chǔ)器104和非易 失性存儲(chǔ)器108之間的通過(guò)非易失性存儲(chǔ)器控制器106的數(shù)據(jù)傳 送。
圖5是示出根據(jù)本發(fā)明一個(gè)實(shí)施例經(jīng)由覆蓋窗304訪問(wèn)控制寄 存器138、 140、 142和覆蓋窗緩沖器146的處理500的流程圖。處 理500可以在步驟502處開(kāi)始,在這一步,通過(guò)易失性存儲(chǔ)器104 的易失性存儲(chǔ)器接口 112接收訪問(wèn)命令。在步驟504,可以確定覆 蓋窗304是否,皮激活。如果覆蓋窗304凈皮禁用(OWE = 0),那么在
步驟508,訪問(wèn)命令可以用來(lái)訪問(wèn)易失性存^f諸器陣列116。如果該 覆蓋窗被激活(OWE=l ),那么在步驟506,可以確定該訪問(wèn)命令 是否訪問(wèn)覆蓋窗304中的存儲(chǔ)地址。如果訪問(wèn)的地址在覆蓋窗304 之外,那么,在步驟508中,訪問(wèn)命令可以用來(lái)訪問(wèn)該命令提供的 存儲(chǔ)地址處的易失性存儲(chǔ)器陣列116。
然而,如果用于訪問(wèn)命令的地址在覆蓋窗304之中,那么,在 步驟512中,可以確定該訪問(wèn)地址是否訪問(wèn)覆蓋窗304的自動(dòng)分配 的控制寄存器地址空間310中的存儲(chǔ)地址。如果該地址在覆蓋窗304 的控制寄存器地址空間310之中,則在步驟514中,該訪問(wèn)地址可 以用來(lái)訪問(wèn)存儲(chǔ)映射的控制寄存器(例如,覆蓋窗控制寄存器138 或者其他存儲(chǔ)映射的寄存器140、 142)。如果由訪問(wèn)命令提供的地 址在覆蓋窗304之中但在控制寄存器存儲(chǔ)空間310之外(并因此在 緩沖器(buffer))地址空間330之中),該訪問(wèn)命令可以用來(lái)訪問(wèn) 非易失性存儲(chǔ)器108的覆蓋窗緩沖器146中的相應(yīng)的地址。在步驟 510,可以繼續(xù)處理500。
在本發(fā)明的一個(gè)實(shí)施例中,主機(jī)102可以通過(guò)向控制寄存器寫(xiě) 命令而發(fā)命令給非易失性存儲(chǔ)器108和/或非易失性存儲(chǔ)器控制器 106。例如,主機(jī)102可以向覆蓋窗;也址空間304中的存4諸映射的 控制寄存器138、 140、 142發(fā)送寫(xiě)命令。該由寫(xiě)命令寫(xiě)的數(shù)據(jù)本身 可以是一個(gè)命令。當(dāng)該命令被寫(xiě)覆蓋窗304時(shí),易失性存儲(chǔ)器104 可以使用該接收到的命令向非易失性存儲(chǔ)器控制器106和/或非易 失性存儲(chǔ)器108發(fā)送相應(yīng)的命令。主機(jī)102可以通過(guò)從覆蓋窗304 中的適當(dāng)?shù)拇鎯?chǔ)映射寄存器138、 140、 142讀取狀態(tài)數(shù)據(jù),來(lái)確定 被執(zhí)行的命令的狀態(tài)(例如,該命令是未決(pending)還是完成)。 可選地,由易失性存儲(chǔ)器104發(fā)給主機(jī)102的中斷信號(hào)可以用來(lái)向 主機(jī)102發(fā)送該命令已經(jīng)完成的信號(hào)。在一些情況下,在使用中斷 信號(hào)的時(shí)4美,易失性存〗諸器4妄口 112可以^皮更改以適應(yīng)這樣的中斷。在一些情況下,在被寫(xiě)到覆蓋窗304的命令使用來(lái)自主機(jī)102 的數(shù)據(jù)或者返回來(lái)自非易失性存儲(chǔ)器108的數(shù)據(jù)時(shí),可以使用覆蓋 窗緩沖器146傳送該數(shù)據(jù)??蛇x地,也可以從控制窗口 304中的存 儲(chǔ)映射寄存器、或者從易失性存儲(chǔ)器陣列116獲得該數(shù)據(jù)。在用于 該命令的數(shù)據(jù)被放置在覆蓋窗緩沖器146中或者在覆蓋窗304中的 存儲(chǔ)映射寄存器中時(shí),主機(jī)102可以如上所述地經(jīng)由覆蓋窗304訪 問(wèn)覆蓋窗緩沖器146。分別在易失性存儲(chǔ)器104和非易失性存儲(chǔ)器 控制器106中的緩沖器144和146還可以用來(lái)在非易失性存儲(chǔ)器108 和易失性存儲(chǔ)器104之間傳送數(shù)據(jù)。
圖5B是示出根據(jù)本發(fā)明一個(gè)實(shí)施例的用于執(zhí)行寫(xiě)到易失性存 儲(chǔ)器104的覆蓋窗304的命令的處理540的流程圖。該處理540可 以在步驟550開(kāi)始,在這一步,主機(jī)102檢查易失性存儲(chǔ)器104以 確定是否有4壬4可命令(例如,主才幾102以前發(fā)送的命令)未決。如 果之前的命令還未完成并仍處于未決,主機(jī)102可以等待,直到之 前的命令完成(例如,直到非易失性存儲(chǔ)器控制器106已經(jīng)完成執(zhí) 行之前的命令)。在一個(gè)實(shí)施例中,主才幾102可以通過(guò)借助覆蓋窗 304讀取存儲(chǔ)映射狀態(tài)寄存器來(lái)確定命令是否未決??蛇x地,易失 性存儲(chǔ)器104可以通過(guò)向主機(jī)102發(fā)送中斷(信號(hào))而向主機(jī)102 表明,之前的命令已經(jīng)完成。如上所述,對(duì)于使用中斷信號(hào)的情況, 可以#:更改易失性存4諸器《1妄口 112以適應(yīng)這樣的中斷。
在確定沒(méi)有命令是未決的之后,在步驟552中,主機(jī)102可以 寫(xiě)命令到在易失性存儲(chǔ)器104的覆蓋窗304中的存儲(chǔ)映射控制寄存 器138、 140、 142的地址,從而在控制寄存器中放置命令。在一些 情況下,如果命令需要其他數(shù)據(jù),該數(shù)據(jù)還可以被寫(xiě)到控制寄存器 138、 140、 142或者寫(xiě)到存儲(chǔ)映射覆蓋窗緩沖器146中。在步驟554 中,主機(jī)102可以設(shè)定指示命令已經(jīng)被寫(xiě)到易失性存儲(chǔ)器104的控 制寄存器位。在一個(gè)實(shí)施例中,主4幾102可以通過(guò)向?qū)?yīng)于覆蓋窗304中的存儲(chǔ)映射控制寄存器138、 140、 142的地址進(jìn)行寫(xiě)來(lái)設(shè)置 該控制寄存器位。可選地,在一個(gè)實(shí)施例中,易失性存儲(chǔ)器104可 以自動(dòng)檢測(cè)該命令已被寫(xiě)而沒(méi)有設(shè)置控制寄存器位。
在步驟560中,易失性存儲(chǔ)器104可以接收該命令已經(jīng)被主機(jī) 102寫(xiě)的指示。然后,在步驟562中,易失性存儲(chǔ)器104可以通過(guò) 非易失性存儲(chǔ)器接口 120向非易失性存儲(chǔ)器控制器106指示已經(jīng)接 收到命令。在一個(gè)實(shí)施例中,易失性存4渚器104通過(guò)向非易失性存 儲(chǔ)器控制器106發(fā)送中斷而指示已經(jīng)收到命令。 一旦接收到該中斷, 非易失性存儲(chǔ)器控制器106就可以在步驟566中通過(guò)其非易失性存 儲(chǔ)器接口 122讀取該命令,并在步驟568中執(zhí)行接收到的命令。
可選地,代替向非易失性存儲(chǔ)器控制器106發(fā)送中斷,易失性 存儲(chǔ)器104可以直接向非易失性存儲(chǔ)器控制器106發(fā)送一個(gè)相應(yīng)的 命令。易失性存儲(chǔ)器104還可以設(shè)置指示已經(jīng)收到新命令的狀態(tài)寄 存器位。該狀態(tài)寄存器位可以被存儲(chǔ)器控制器106輪詢。 一旦檢測(cè) 到該位已被設(shè)置,存儲(chǔ)器控制器106可以提取該命令,例如通過(guò)向 易失性存儲(chǔ)器104發(fā)送讀取命令。
執(zhí)行接收到的命令可以包括從非易失性存儲(chǔ)器108讀取數(shù)據(jù), 和將該讀取的數(shù)據(jù)放入易失性存儲(chǔ)器陣列116或者易失性存儲(chǔ)器 104的覆蓋窗緩沖器146中。執(zhí)行該命令還可以包括將來(lái)自覆蓋窗 緩沖器146或易失性存儲(chǔ)器陣列116的數(shù)椐寫(xiě)非易失性存儲(chǔ)器108。 執(zhí)行該命令可以進(jìn)一步包括在非易失性存儲(chǔ)器108和易失性存儲(chǔ)器 104之間執(zhí)行DMA傳送,更改非易失性存儲(chǔ)器控制器106中(例 如,在iDMA控制器150中,或者在非易失性存儲(chǔ)器控制電路124 中)的控制寄存器設(shè)置值,執(zhí)行NAND管理功能,或者如上所述在 非易失性存儲(chǔ)器控制器106和易失性存儲(chǔ)器104之間傳送控制寄存 器設(shè)置。
在步驟570中,在該命令已被執(zhí)行后,非易失性存儲(chǔ)器控制器 106可以通過(guò)非易失性存儲(chǔ)器接口 122向易失性存儲(chǔ)器104發(fā)送命 令,來(lái)設(shè)置指示已經(jīng)執(zhí)行接收到的命令的控制寄存器位(例如,存 々者映射控制寄存器138、 140、 142的一個(gè)中)。在步驟564中,易 失性存儲(chǔ)器104可以更新相應(yīng)的控制寄存器位,以指示該命令已被 執(zhí)行,在步驟556中,主機(jī)可以接收命令已被執(zhí)行的指示。然后在 步驟558中可以繼續(xù)處理540。在一個(gè)實(shí)施例中,主才幾102可以通 過(guò)讀取包含指示命令已被執(zhí)行的設(shè)定位的控制寄存器來(lái)確定命令 已祐3丸行(例如,利用經(jīng)由覆蓋窗304輪訓(xùn)控制寄存器138、 140、 142中合適的位)??蛇x地,在一個(gè)實(shí)施例中,可以向主才幾102發(fā)送 指示該命令已^皮^U亍的中斷。
經(jīng)由覆蓋窗可訪問(wèn)的示例性的存儲(chǔ)映射寄存器和緩沖器
如上所述,當(dāng)通過(guò)i殳置OWE 4立;敫活覆蓋窗304時(shí),可以自動(dòng) 分配控制寄存器存儲(chǔ)空間310。 一旦設(shè)定覆蓋窗304的大小308, 就可以分配另外的緩沖器存儲(chǔ)空間330。覆蓋窗304還可以包括其 他的緩沖器、存儲(chǔ)映射寄存器等。圖6示出被自動(dòng)分配的控制寄存 空間310映射的示例性控制寄存器600的框圖。如上所述,該控制 寄存器空間可以從覆蓋窗基地址306處開(kāi)始并延伸到4交高的地址 (例如,從基地址306到圖中的基地址306加上"M")。存儲(chǔ)映射 寄存器600可以包括系統(tǒng)配置寄存器606、加載-存儲(chǔ)(load-store) 命令寄存器608、緩沖器訪問(wèn)命令寄存器610、 NAND管理器命令 控制寄存器612、命令操作數(shù)寄存器614、和緩沖器大小信息寄存 器616。
系統(tǒng)配置寄存器606可以用于來(lái)更改嵌入式系統(tǒng)100的配置 (例如通過(guò)選擇在易失性存儲(chǔ)器104和非易失性存儲(chǔ)器控制器106 之間的合適的數(shù)據(jù)交換率)。加載-存儲(chǔ)(load-store )命令寄存器608 可以接收由主才幾102寫(xiě)的數(shù)據(jù)訪問(wèn)命令。由主才幾102寫(xiě)的數(shù)據(jù)訪問(wèn)
命令可以包括讀取命令,用于將來(lái)自非易失性存儲(chǔ)器108的數(shù)據(jù)讀 取到易失性存儲(chǔ)器中存儲(chǔ)位置(例如,到覆蓋窗緩沖器146,或者 易失性存儲(chǔ)器陣列116)。由主機(jī)102寫(xiě)的數(shù)據(jù)訪問(wèn)命令可以進(jìn)一步 包括寫(xiě)命令,用于將來(lái)自易失性存儲(chǔ)器104(例如,從覆蓋窗緩沖 器146、易失性存儲(chǔ)器陣列116、或從命令操作數(shù)寄存器614)的數(shù) 據(jù)寫(xiě)到非易失性存儲(chǔ)器108。由主機(jī)102寫(xiě)的數(shù)據(jù)訪問(wèn)命令可以進(jìn) 一步包括DMA命令,用于通過(guò)非易失性存儲(chǔ)器控制器106在易失 性存儲(chǔ)器104和非易失性存儲(chǔ)器108之間執(zhí)行DMA傳送。
在一個(gè)實(shí)施例中,緩沖器訪問(wèn)命令寄存器610可以^皮主沖幾102 用來(lái)發(fā)送用于訪問(wèn)覆蓋窗緩沖器146的命令。NAND管理器命令寄 存器612可以被主機(jī)102用來(lái)向非易失性存儲(chǔ)器控制器106發(fā)布命 令。例如,在主機(jī)寫(xiě)一個(gè)NAND管理器命令到NAND管理器命令 控制寄存器612后,主機(jī)102可以設(shè)置易失性存儲(chǔ)器104中的控制 寄存器位,指示該命令已被寫(xiě)。然后易失性存儲(chǔ)器104向非易失性 存儲(chǔ)器控制器106發(fā)送中斷,指示該NAND管理器命令已被接收。 一旦接收中斷,非易失性存儲(chǔ)器控制器106可以通過(guò)易失性存儲(chǔ)器 104的非易失性存儲(chǔ)器接口 120從易失性存儲(chǔ)器104提取命令。然 后,該NAND管理器命令可以被非易失性存儲(chǔ)控制電路124執(zhí)行。
在一個(gè)實(shí)施例中,控制寄存器空間310還可以包括用于存儲(chǔ)命 令操作數(shù)的命令操作數(shù)寄存器614和緩沖器大小信息寄存器616。 緩沖器大小信息寄存器616可以用于訪問(wèn)例如關(guān)于覆蓋窗緩沖器 146的信息。該信息可以包括緩沖器146的大小和/或緩沖器146中 的數(shù)據(jù)量(例如,緩沖器的哪部分被用于數(shù)據(jù)存儲(chǔ))。在數(shù)據(jù)傳送 過(guò)程中,該數(shù)據(jù)可以;陂主枳i 102或者非易失性存^f諸器控制器106訪 問(wèn),以確定緩沖器146是不是滿的,并確定是否放入更多的數(shù)據(jù)到 緩沖器146中以便被傳送或從緩沖器146讀取其他數(shù)據(jù)。
圖7是示出根據(jù)本發(fā)明一個(gè)實(shí)施例的分配給每一個(gè)存儲(chǔ)映射寄 存器600的存儲(chǔ)空間的框圖。如圖所示,可以在第一地址處(例如, 覆蓋窗基地址306 )設(shè)置系統(tǒng)操作碼(op碼)寄存器702。類(lèi)似地, 可以在第一偏移量處i殳置加載/存^f諸(LD/ST) op碼寄存器704,可 以在第二偏移量處i殳置緩沖器(BUFF) op代碼寄存器706,可以 在第三偏移量處設(shè)置NAND op碼寄存器708。
才喿作凄t寄存器308、 712、 714可i殳置在如圖所示的多個(gè)地址偏 移量處。每個(gè)操作數(shù)可用于提供用來(lái)執(zhí)行由op碼寄存器702、 704、 706、 708指定的命令的信息。這些操作數(shù)寄存器可包括用于覆蓋窗 大小的寄存器308和用于加載/存儲(chǔ)操作數(shù)(例如,包括被傳送數(shù)據(jù) 的起始地址(SA)和目標(biāo)地址(DA))的寄存器712。這些操作數(shù)寄 存器還可以包括用于存儲(chǔ)NAND地址信息和其他數(shù)據(jù)的操作數(shù)寄 存器714。如上所述,存儲(chǔ)映射寄存器600還可以包括緩沖器大小 信息寄存器616。
在本發(fā)明的一個(gè)實(shí)施例中,緩存空間330可^f皮劃分成多個(gè)RAM 緩沖區(qū)[l...n]。通過(guò)提供多個(gè)RAM緩存區(qū)(例如,作為覆蓋窗緩 沖區(qū)、iDMA緩沖區(qū)144、或者易失性存儲(chǔ)器104中的其他緩沖區(qū) 的分區(qū)),易失性存儲(chǔ)器104可被主機(jī)102和/或非易失性存儲(chǔ)控制 器106用來(lái)執(zhí)行在易失性存儲(chǔ)器陣列116和/或非易失性存儲(chǔ)器108 中的不同位置之間的多個(gè)凝:據(jù)傳送。
指定經(jīng)由覆蓋窗發(fā)送的命令的操作數(shù)
在本發(fā)明的一個(gè)實(shí)施例中,提供至存儲(chǔ)映射寄存器600的不同 op碼可使用在控制寄存器空間310內(nèi)以不同偏移量定位的不同操作 凄t寄存器308、 712、 714。在一些情況下,ii置在op碼寄存器702、 704、 706、 708中的命令可指定哪些操作數(shù)將與該op碼一起使用, 從而使得讀取該命令的裝置(例如,易失性存儲(chǔ)器104或非易失性
存儲(chǔ)控制器106)確定用于給定的命令的操作數(shù)被定位的位置。因 此,在一些情況下,對(duì)于給定的命令可使用不同的定位和操作數(shù)大 小。
圖8是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的發(fā)送至op碼寄存器(例 如,op碼寄存器702、 704、 706、 708中的一個(gè))的命令的框圖。 如圖所示,命令808可包括命令op碼、命令808的操作數(shù)長(zhǎng)度、 以及命令808的才喿作凄t偏移量。當(dāng)一裝置讀取命令808時(shí),該裝置 可使用操作數(shù)長(zhǎng)度和操作數(shù)偏移量來(lái)確定獲得命令操作數(shù)的位置。 在本發(fā)明的一個(gè)實(shí)施例中,操作數(shù)偏移量可指定可找到操作數(shù)的完 整地址。可選地,揭:作凄t偏移量可指定距離存儲(chǔ)器中預(yù)定位置的偏 移量,例如,距離覆蓋窗基地址306、 3巨離命令808的地址802、 或者距離另一預(yù)定地址的偏移量。
如圖所示,操作數(shù)偏移量可提供距離該命令的地址'n', 802 的偏移量。由該偏移量所表示的地址'n', 804可包含用于命令808 的第一操作數(shù)。用于命令808的其他操作數(shù)可位于從操作數(shù)偏移量 所表示的;地址'n', 804 —;地址i+j, 806。
在易失.,儲(chǔ)器陣列與非易失'錄儲(chǔ)器之間M數(shù)據(jù)傳送
如上所述,覆蓋窗(overlay window ) 304可以用于將命令發(fā)送 給非易失性存儲(chǔ)控制器106。所發(fā)送的命令可以包括在易失性存儲(chǔ) 器104與非易失性存儲(chǔ)器108之間不產(chǎn)生地址數(shù)據(jù)傳送的iMDA配 置命令和NAND管理器配置命令。這樣的命令可以提供信息至控制 器106所使用的非易失性存儲(chǔ)控制器106,以改變控制寄存器設(shè)置。 控制寄存器設(shè)置可以用于進(jìn)^f于后續(xù)凄t據(jù)傳送或者進(jìn)^于NAND管理 功能。通過(guò)主機(jī)102經(jīng)由覆蓋窗304發(fā)送的命令還可以讀取和寫(xiě)命 令,該命令通過(guò)非易失性存儲(chǔ)控制器106將數(shù)據(jù)從在易失性存儲(chǔ)器 104中的源地址(例如,從才喿作數(shù)寄存器714, 從覆蓋窗緩沖器146,
或者從易失性存儲(chǔ)器陣列116)傳送至非易失性存儲(chǔ)器108中的目 的地址。命令還可以將數(shù)據(jù)從非易失性存儲(chǔ)器108傳送至易失性存 儲(chǔ)器104中的某一位置。
在本發(fā)明的一個(gè)實(shí)施例中,由主機(jī)102提供的數(shù)據(jù)傳送命令可 以是DMA傳送。如圖9A所示,第一類(lèi)型的DMA傳送命令(指 STORE命令)可以產(chǎn)生被從易失性存儲(chǔ)器陣列116傳送至非易失性 存儲(chǔ)器108的數(shù)據(jù)。這些命令可以提供待傳送的指定量的數(shù)據(jù)。在 一些情況下,iDMA控制器150可以發(fā)送"i青求至正在^皮傳送的每個(gè) 數(shù)據(jù)地址的易失性存儲(chǔ)器104。所請(qǐng)求的數(shù)據(jù)然后被傳送至易失性 存儲(chǔ)器104中的iDMA緩沖器144,然后傳送至非易失性存儲(chǔ)控制 器106中的緩沖器154,最后傳送至非易失性存儲(chǔ)器108中的目的 地址。
在一個(gè)實(shí)施例中,非易失性存儲(chǔ)控制器106中的iDMA控制器 150可以利用iDMA緩沖器144來(lái)分流(offload) —部分的DMA 傳送工作負(fù)荷。例如,iDMA控制器150可以發(fā)送一個(gè)命令至易失 性存儲(chǔ)器104中的iDMA緩沖控制器148,指示從易失性存儲(chǔ)器陣 列116傳送的數(shù)據(jù)的量和待傳送的數(shù)據(jù)的源地址。iDMA緩沖控制 器148可以訪問(wèn)(存取)易失性存儲(chǔ)器陣列116并且開(kāi)始將數(shù)據(jù)傳 送至iDMA緩沖器144。iDMA緩沖控制器148可以繼續(xù)載入iDMA 緩沖器144直到所指定量的數(shù)據(jù)已經(jīng)被傳送或者直到緩沖器144滿 載。
當(dāng)iDMA緩沖控制器148正在載入iDMA姿爰沖器144時(shí),非易 失性存儲(chǔ)控制器106中的iDMA控制器150可以確定iDMA緩沖器 144的狀態(tài)。這樣的確定可以例如通過(guò)輪詢易失性存儲(chǔ)器104中的 緩沖器大小信息寄存器616來(lái)進(jìn)行??蛇x地,這樣的確定可以通過(guò) 易失性存儲(chǔ)器104中的iDMA緩沖控制器148至非易失性存儲(chǔ)控制 器106發(fā)送的中斷來(lái)進(jìn)行。例如,當(dāng)任何數(shù)據(jù)^皮;改置在緩沖器144
中時(shí),當(dāng)預(yù)定量的數(shù)據(jù)被放置在緩沖器144中時(shí),當(dāng)由iDMA控制 器150所指定的數(shù)據(jù)的量被放置在緩沖器144中時(shí),和/或當(dāng)緩沖器 144滿載時(shí),可以發(fā)送這樣的中斷。當(dāng)iDMA緩沖控制器148確定 緩沖器144包含數(shù)據(jù)時(shí),在將數(shù)據(jù)傳送至非易失性存儲(chǔ)器108之前, iDMA緩沖控制器148可以將數(shù)據(jù)載入到非易失性存儲(chǔ)控制器106 中的緩沖器154中。
在iDMA控制器150已經(jīng)從iDMA緩沖器144載入數(shù)據(jù)時(shí),如 果仍然剩余更多待要從易失性存儲(chǔ)器陣列116傳送的數(shù)據(jù),iDMA 控制器150可以指示在易失性存儲(chǔ)器104中的iDMA緩沖控制器 148,其可以獲得在緩沖器144中的緩沖空間并且可以繼續(xù)DMA傳 送??蛇x地,當(dāng)緩沖空間可用時(shí),iDMA緩沖控制器148可以監(jiān)控 iDMA緩沖器144的狀況并自動(dòng)檢測(cè)。 一旦檢測(cè)到可用的緩沖空間, iDMA緩沖控制器148可以再次繼續(xù)載入緩沖器144,數(shù)據(jù)從易失 性存儲(chǔ)器陣列116至緩沖器144,直到緩沖器144再次滿載,或者 直到所指定量的l史據(jù)已經(jīng)傳送。
如圖9B所示,DMA傳送還可以乂人非易失性存4渚器108至易失 性存儲(chǔ)器陣列116進(jìn)行。用于進(jìn)行這樣的傳送的命令可以稱為 LOAD命令。在一些情況下,如上所述,非易失性存儲(chǔ)控制器106 中的iDMA控制器150可以將DMA傳送工作負(fù)載分流至易失性存 儲(chǔ)器104中的iDMA緩沖控制器148。例如,iDMA控制器150可 以發(fā)送一個(gè)命令至iDMA緩沖控制器148,指示待被傳送至易失性 存儲(chǔ)器陣列116的數(shù)據(jù)在由DMA傳送命令指定的目的地址處開(kāi)始。 iDMA緩沖控制器148也可以監(jiān)控iDMA緩沖器144。當(dāng)iDMA控 制器150將數(shù)據(jù)從非易失性存儲(chǔ)器108放置到iDMA緩沖器144時(shí), 然后iDMA緩沖控制器148可以開(kāi)始將所接收的數(shù)據(jù)寫(xiě)易失性存儲(chǔ) 器陣列116。在一個(gè)實(shí)施例中,iDMA緩沖控制器148可以自動(dòng)地 檢測(cè)包含待寫(xiě)數(shù)據(jù)的緩沖器144??蛇x地,當(dāng)緩沖器144包含待傳
送至易失性存儲(chǔ)器陣列116的數(shù)據(jù)時(shí),iDMA控制器150可以提供 一種4言號(hào)(例如,通過(guò)i殳定狀態(tài)寄存器4立(Status register bit),或 者發(fā)送一個(gè)中斷)至iDMA緩沖控制器148。
在一些情況下,iDMA控制器150可以監(jiān)控纟爰沖器144 (例如, 通過(guò)緩沖狀態(tài)寄存器)來(lá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)通過(guò)非易失性存儲(chǔ)控制器106 進(jìn)行時(shí),非易失性存儲(chǔ)控制器106可以通過(guò)易失性存儲(chǔ)器104指示 給主機(jī)102命令已經(jīng)完成。該指示可以通過(guò)非易失性存儲(chǔ)控制器106 進(jìn)行,例如,通過(guò)在才莫式寄存器(moderegister) 170的一個(gè)中或者 存儲(chǔ)器映射寄存器138、 140、 142的一個(gè)中設(shè)置狀態(tài)寄存器位。狀 態(tài)位可以通過(guò)主4幾102 4侖詢以確定4可時(shí)命令已經(jīng)完成??蛇x地,在 收到來(lái)自非易失性存儲(chǔ)控制器106的命令之后或者通過(guò)非易失性存 儲(chǔ)控制器106進(jìn)行狀態(tài)位設(shè)置之后,易失性存儲(chǔ)器104可以發(fā)送一 個(gè)中斷至主才幾102以指示DMA傳送已經(jīng)完成。
在一些情況下,在DMA傳送涉及(involving)易失性存儲(chǔ)器 陣列116期間,主才幾102可以^式圖同時(shí)i方問(wèn)易失性存4諸器陣列116 以及非易失性存儲(chǔ)控制器106或iDMA緩沖控制器148。在這種情 況下,主才幾易失性存+者器訪問(wèn)4空制(Host volatile memory access control) 160和iDMA易失性存儲(chǔ)器訪問(wèn)控制162可以確定所進(jìn)行 的訪問(wèn)。在一個(gè)實(shí)施例中,通過(guò)主機(jī)102對(duì)易失性存儲(chǔ)器陣列116 的訪問(wèn)可以優(yōu)先于經(jīng)由iDMA易失性存儲(chǔ)器訪問(wèn)控制162進(jìn)行的訪 問(wèn)。在一些情況下,當(dāng)在多時(shí)鐘周期(multiple clock cycle )中進(jìn)4亍 訪問(wèn)時(shí),通過(guò)主才幾102進(jìn)4亍的訪問(wèn)可^皮覆蓋,并乂人而中斷經(jīng)由iDMA 易失性存儲(chǔ)器訪問(wèn)控制162進(jìn)行的訪問(wèn)。可選地,無(wú)論哪個(gè)訪問(wèn)被
首先啟動(dòng)都可4皮給予優(yōu)先序。另外,在iDMA緩沖控制器148正在 進(jìn)4亍DMA傳送時(shí),DMA傳送可以暫4亭以《更允i午主才幾102 i方問(wèn)易 失性存儲(chǔ)器陣列116。在主機(jī)102訪問(wèn)易失性存儲(chǔ)器陣列116之后, 然后可以再次進(jìn)行DMA傳送。
在本發(fā)明的一個(gè)實(shí)施例中,對(duì)易失性存儲(chǔ)器陣列116的多路訪 問(wèn)(multiple access )可以并4亍進(jìn)4亍。侈'H口,長(zhǎng)口果由主才幾102進(jìn)4亍的 訪問(wèn)訪問(wèn)了易失性存儲(chǔ)器陣列116中的第一存儲(chǔ)體(例如,存儲(chǔ)體 136o )同時(shí)由iDMA緩沖控制器148進(jìn)行的訪問(wèn)訪問(wèn)了第二存儲(chǔ)體 (例io,存^諸體1363),那么兩個(gè)i方問(wèn)可以同時(shí)進(jìn)4亍而不相互干擾。 類(lèi)似地,當(dāng)DMA傳輸(DMA傳送)通過(guò)采用易失性存儲(chǔ)器104 中的緩沖器146、 144的非易失性存儲(chǔ)控制器106進(jìn)行時(shí),主機(jī)102 可以同時(shí)執(zhí)行對(duì)易失性存儲(chǔ)器陣列116的訪問(wèn)而不受干擾。類(lèi)似地, 當(dāng)主機(jī)102經(jīng)由覆蓋窗304訪問(wèn)模式寄存器170、控制寄存器138、 140、 142時(shí),或者經(jīng)由覆蓋窗304訪問(wèn)緩沖器146時(shí),非易失性存 儲(chǔ)控制器106 (或iDMA緩沖控制器148)可以同時(shí)訪問(wèn)易失性存 儲(chǔ)器陣列116而不受干擾。
經(jīng)由似窗進(jìn)行主機(jī)與非易失',儲(chǔ)器之間的數(shù)據(jù)傳輸
在本發(fā)明的一個(gè)實(shí)施例中,如圖9C所示,主才幾102可經(jīng)由覆 蓋窗304發(fā)送在覆蓋窗緩沖器146與非易失性存儲(chǔ)器108之間傳輸 數(shù)據(jù)的DMA傳輸指令。例如,該命令可指定覆蓋窗緩沖器146內(nèi) 的源地址和非易失性存4諸器108內(nèi)的目的地址。該命令還可指定要 傳輸?shù)臄?shù)據(jù)的量。 一旦接收到該命令,iDMA控制器150可將指定 量的數(shù)據(jù)從覆蓋窗緩沖器146自動(dòng)傳輸至非易失性存儲(chǔ)器108。主 機(jī)102還可發(fā)送相應(yīng)的數(shù)據(jù)命令以將指定量的數(shù)據(jù)從非易失性存儲(chǔ) 器108傳輸至覆蓋窗緩沖器146。然后,如圖9D所示,主機(jī)102 可經(jīng)由覆蓋窗304訪問(wèn)所傳輸?shù)哪?據(jù)。
在本發(fā)明的一個(gè)實(shí)施例中,主機(jī)102可發(fā)送DMA傳輸命令至 非易失性存儲(chǔ)控制器106,這些命令使得iDMA控制器150自動(dòng)在 非易失性存儲(chǔ)器108與覆蓋窗緩沖器146之間傳輸數(shù)據(jù)。因此,或 者通過(guò)查詢狀態(tài)寄存器或者通過(guò)接收來(lái)自易失性存儲(chǔ)器104的中 斷,該iDMA控制器可確定是應(yīng)該向覆蓋窗緩沖器146傳輸數(shù)據(jù)還 是從覆蓋窗緩沖器146讀出數(shù)據(jù)。主機(jī)102可類(lèi)似地查詢狀態(tài)寄存 器或接收來(lái)自易失性存儲(chǔ)器104的中斷,從而確定是應(yīng)從覆蓋窗緩 沖器146讀出數(shù)據(jù)還是向覆蓋窗緩沖器146寫(xiě)數(shù)據(jù),以傳輸至非易 失性存儲(chǔ)器108。
圖10A是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于執(zhí)行從主機(jī)102 至非易失性存儲(chǔ)器108的自動(dòng)DMA傳輸?shù)奶幚?000的框圖。該處 理1000可從步驟1002開(kāi)始,其中,主機(jī)102檢查易失性存儲(chǔ)器104 中的未決命令。在步驟1004中,在確定沒(méi)有未決的命令之后,主 機(jī)102可發(fā)送表示覆蓋窗緩沖器146中的源地址和在非易失性存儲(chǔ) 器108中的目的地址的DMA傳輸命令。在步驟1016中,如上所述 當(dāng)經(jīng)由被查詢的狀態(tài)寄存器或者來(lái)自易失性存儲(chǔ)器104的中斷而檢 測(cè)到命令時(shí),非易失性存4諸控制器106可4妄收該DMA傳l俞命令。
在接收到該命令之后,由主機(jī)102和非易失性存儲(chǔ)控制器106 執(zhí)行的步驟可以獨(dú)立地繼續(xù)(例如,在非易失性存^f諸控制器106和 主才幾102之間不發(fā)送進(jìn)一步的命令)。在步驟1006中,例如通過(guò)經(jīng) 由覆蓋窗304檢查緩沖器大小信息寄存器616,主機(jī)102可檢測(cè)覆 蓋窗緩沖器146是否溢出(overflow)??蛇x地,在本發(fā)明的一個(gè)實(shí) 施例中,可向主4幾102發(fā)送一中斷,以表示緩沖器146何時(shí)為空或 者緩沖器146中何時(shí)有可用的預(yù)定量的空間。如果沒(méi)有緩存溢出, 在步驟1008中,主才幾102可將凄t據(jù)寫(xiě)^爰沖器146。當(dāng)主才幾102或非 易失性存儲(chǔ)控制器106從緩沖器讀取數(shù)據(jù)或向緩沖器傳輸數(shù)據(jù)時(shí), 在步驟1014中,易失性存儲(chǔ)器104可通過(guò)例如修改緩沖器大小信 息寄存器616中的設(shè)置來(lái)更新緩存狀態(tài)。
在步驟1010中,主機(jī)102可確定是否還有數(shù)據(jù)要寫(xiě)非易失性 存々者器108。如果還有凄t據(jù)要寫(xiě),在步驟1006中,主4幾102可繼續(xù) 才全查緩沖器146中的空間,并在步驟1008中,當(dāng)緩沖器146中有 可用空間時(shí)寫(xiě)緩沖器146。不然的話,在步驟1012中,主機(jī)102可
繼續(xù)處理數(shù)據(jù)。
在主機(jī)102將數(shù)據(jù)放入緩沖器146中的同時(shí),非易失性存儲(chǔ)控 制器106可監(jiān)控緩沖器146,并當(dāng)由主機(jī)102放入了數(shù)據(jù)到緩沖器 146中時(shí)從其中讀出數(shù)據(jù)。因此,在步驟1018中,非易失性存儲(chǔ)控 制器106可才全查》爰沖器146中的凄t據(jù)。該才全查可通過(guò)例如讀取3皮易 失性存儲(chǔ)器104更新了的緩沖器大小信息寄存器616來(lái)進(jìn)行。可選 地,當(dāng)數(shù)據(jù)被放入緩沖器146中后,或者當(dāng)指定量的數(shù)據(jù)被放入緩 沖器146中后,或者當(dāng)緩沖器146已滿時(shí),可向非易失性存儲(chǔ)控制 器106發(fā)送一中斷。如果在步驟1020中非易失性存儲(chǔ)控制器106 確定緩沖器146中含有數(shù)據(jù),控制器106可從緩沖器146讀出數(shù)據(jù) 并將數(shù)據(jù)寫(xiě)非易失性存儲(chǔ)器108內(nèi)的目的地址??蛇x地,如果緩沖 器146中沒(méi)有凄t據(jù),在步驟1018中,控制器106可繼續(xù)才企查凄t據(jù)。
當(dāng)控制器106從緩沖器讀取數(shù)據(jù)時(shí),緩沖器大小信息寄存器 616可通過(guò)易失性存儲(chǔ)器104進(jìn)行更新。在步驟1024中,控制器 106可確定凄t據(jù)傳輸是否完成。如果數(shù)據(jù)傳輸沒(méi)有完成,在步驟1018 中,控制器106可繼續(xù)檢查緩沖器146中的數(shù)據(jù)??蛇x地,如果數(shù) 據(jù)傳輸已經(jīng)完成,那么在步驟1026中,控制器106可以繼續(xù)處理 數(shù)據(jù)。在一個(gè)實(shí)施例中,控制器106可通過(guò)確定是否已經(jīng)傳輸了指 定量的數(shù)據(jù)來(lái)確定數(shù)據(jù)傳輸是否完成。該指定量的數(shù)據(jù)可例如通過(guò) 由主機(jī)102所發(fā)送DMA傳輸命令來(lái)指定。可選地,當(dāng)經(jīng)由覆蓋窗 304從主機(jī)102向控制器106發(fā)送一表示傳輸已經(jīng)完成的命令時(shí), 控制器106可確定傳輸完成??蛇x地,控制器106可繼續(xù)檢查緩沖 器146或緩沖器146的一部分,以確定主機(jī)102是否已在其中放入 了要傳輸至非易失性存儲(chǔ)控制器108的數(shù)據(jù)。
圖IOB是示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于執(zhí)行從非易失 性存^f渚器108至主機(jī)102的自動(dòng)DMA傳輸?shù)奶幚?050的框圖。該 處理1050可以從步驟1052開(kāi)始,其中,主機(jī)102檢查易失性存儲(chǔ) 器104中的未決命令。在步驟1054中,在確定沒(méi)有未決的命令之 后,主機(jī)102可發(fā)送表示非易失性存儲(chǔ)器108中的源地址和覆蓋窗 緩沖器146中的目的地址的DMA傳輸命令。如上所述當(dāng)經(jīng)由被查 詢的狀態(tài)寄存器或者來(lái)自易失性存儲(chǔ)器104的中斷而檢測(cè)到命令 時(shí),在步驟1068中,非易失性存儲(chǔ)控制器106可4妄收該DMA傳輸 命令。
在接收到該命令之后,由主機(jī)102和非易失性存儲(chǔ)控制器106 執(zhí)行的步驟可以獨(dú)立地繼續(xù)進(jìn)行(例如,在非易失性存儲(chǔ)控制器106 和主才幾102之間不發(fā)送進(jìn)一步的命令)。在步驟1070中,例如通過(guò) 經(jīng)由覆蓋窗304檢查緩沖器大小信息寄存器616,控制器106可檢 測(cè)覆蓋窗緩沖器146是否溢出??蛇x地,在本發(fā)明的一個(gè)實(shí)施例中, 可向控制器106發(fā)送一中斷,以表示緩沖器146何時(shí)為空或者緩沖 器146中何時(shí)有可用的預(yù)定量的空間。如果沒(méi)有緩存溢出,在步驟 1072中,控制器106可將數(shù)據(jù)從非易失性存儲(chǔ)器108寫(xiě)緩沖器146。 當(dāng)控制器106或主機(jī)102從緩沖器讀取數(shù)據(jù)或向緩沖器傳輸數(shù)據(jù) 時(shí),在步驟1066中,如上所述,易失性存儲(chǔ)器104可通過(guò)例如修^ 改緩沖器大小信息寄存器616中的設(shè)置來(lái)更新緩存狀態(tài)。
在步驟1074中,控制器106可確定是否還有數(shù)據(jù)要從非易失 性存儲(chǔ)器108寫(xiě)緩沖器146。如果還有數(shù)據(jù)要寫(xiě),在步驟1070中, 控制器106可繼續(xù)檢查緩沖器146中的空間,并在步驟1072中, 當(dāng)緩沖器146中有可用空間時(shí)寫(xiě)緩沖器146。否則,在步驟1076中, 控制器106可繼續(xù)處理lt據(jù)。在一個(gè)實(shí)施例中,控制器106可通過(guò) 確定是否已經(jīng)傳輸了由DMA傳輸命令指定的數(shù)據(jù)量來(lái)確定是否還 有數(shù)據(jù)要傳輸??蛇x地,控制器106可繼續(xù)寫(xiě)數(shù)據(jù),直到主一幾102 發(fā)送命令至控制器106表示傳輸已經(jīng)完成。
在控制器106將數(shù)據(jù)放入緩沖器146中的同時(shí),非易失性存儲(chǔ) 控制器106可監(jiān)控緩沖器146,并當(dāng)由控制器106放入了數(shù)據(jù)到緩 沖器146中時(shí)從其中讀出數(shù)據(jù)。因此,在步驟1056中,非易失性 存<諸控制器106可4企查緩沖器146中的數(shù)據(jù)。該4企查可通過(guò)例如讀 取被易失性存儲(chǔ)器104更新了的緩沖器大小信息寄存器616來(lái)進(jìn) 行??蛇x地,當(dāng)數(shù)據(jù)被放入緩沖器146中后,或者當(dāng)指定量的數(shù)據(jù) 被放入緩沖器146中后,或者當(dāng)緩沖器146已滿時(shí),向主機(jī)102發(fā) 送一中斷。如果在步驟1058中主機(jī)102確定緩沖器146含有數(shù)據(jù), 那么主才幾102可乂人緩沖器146讀出數(shù)據(jù)??蛇x地,如果-爰沖器146 中沒(méi)有數(shù)據(jù),則在步驟1056中,主機(jī)102可繼續(xù)沖企查數(shù)據(jù)。
當(dāng)主機(jī)102從緩沖器讀取數(shù)據(jù)時(shí),緩沖器大小信息寄存器616 可通過(guò)易失性存4諸器104進(jìn)行更新。在步驟1062中,主機(jī)102可 確定數(shù)據(jù)傳輸是否完成。如果數(shù)據(jù)傳輸沒(méi)有完成,在步驟1056中, 主才幾102可繼續(xù)查測(cè)緩沖器146中的凄t據(jù)。可選地,如果凄t據(jù)傳輸 已經(jīng)完成,那么在步驟1064中,主才幾102可繼續(xù)處理數(shù)據(jù)。在一 個(gè)實(shí)施例中,如上所述,主機(jī)102可通過(guò)確定是否已經(jīng)傳輸了指定 量的凄t據(jù)來(lái)確定凄t據(jù)傳,俞是否完成。可選地,每當(dāng)主才幾102要求額 外的數(shù)據(jù)時(shí),主機(jī)102可從緩沖器146或緩沖器146的一部分中繼 續(xù)讀出數(shù)據(jù)。另外,如上所述,主機(jī)102可通過(guò)經(jīng)由覆蓋窗304向 存儲(chǔ)控制器106發(fā)送命令來(lái)終止傳輸。
在本發(fā)明的一個(gè)實(shí)施例中,H沖器146可分成多個(gè)扇區(qū)。每個(gè) 扇區(qū)可用于執(zhí)行由主機(jī)102發(fā)送的命令所指定的不同DMA傳輸。 因此,在一些情況下,!^沖器146的一部分可浮皮主枳il02用來(lái)自動(dòng) 地從非易失性存儲(chǔ)控制器108中的源地址和連續(xù)地址讀出數(shù)據(jù),同 時(shí)緩沖器146的其他部分可被主機(jī)102用來(lái)自動(dòng)地將數(shù)據(jù)寫(xiě)非易失 性存^f諸控制器108中的目的地址和連續(xù)地址。
經(jīng)由覆蓋窗訪問(wèn)鏡像控制寄存器
在本發(fā)明的一個(gè)實(shí)施例中,主機(jī)102可以使用覆蓋窗304來(lái)訪 問(wèn)在非易失性存儲(chǔ)器控制器106中的遠(yuǎn)程控制寄存器。經(jīng)由覆蓋窗 可訪問(wèn)的遠(yuǎn)程控制寄存器可以包括USB/ATA控制寄存器158以及 其它控制寄存器(例如,iDMA控制寄存器152)。這樣的訪問(wèn)可以 包括確定控制寄存器158的狀態(tài)并且改變控制寄存器158的設(shè)定。
在一個(gè)實(shí)施例中,如圖11所示,可以在覆蓋窗304內(nèi)提供存 儲(chǔ)空間1102來(lái)訪問(wèn)易失性存儲(chǔ)器104中的鏡像寄存器1104。在一 個(gè)實(shí)施例中,鏡像寄存器存儲(chǔ)空間1102可以位于當(dāng)覆蓋窗304被 激活時(shí)(例如,當(dāng)覆蓋窗位OWE被設(shè)定時(shí))自動(dòng)分配的存儲(chǔ)空間 310中。優(yōu)選地,當(dāng)設(shè)置覆蓋窗的大小308時(shí),可以分配控制寄存 器空間1102。在一些情況下,在參照?qǐng)D6描述的控制寄存器600的 存儲(chǔ)空間之后,可以立即分配控制寄存器空間1102??蛇x地,在緩 沖存儲(chǔ)空間330之后分配控制寄存器空間1102。另夕卜,在一個(gè)實(shí)施 例中,例如,通過(guò)提供在覆蓋窗304內(nèi)的鏡像控制寄存器(其用來(lái) 指定用于映射控制寄存器地址空間1102的基地址和/或大小),可以 對(duì)映射控制寄存器空間1102的位置進(jìn)行配制。
圖12是描述根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于經(jīng)由鏡像控制寄 存器1104訪問(wèn)遠(yuǎn)程控制寄存器158的處理1200的流程圖。該處理 1200可以/人主才幾102 4企測(cè)用于4寺處理(pending)命令的易失性存 儲(chǔ)器104的步驟1202開(kāi)始。當(dāng)該主機(jī)102確定沒(méi)有命令要處理時(shí), 該主機(jī)102可以通過(guò)該易失性存儲(chǔ)器104的易失性存儲(chǔ)器接口 112 寫(xiě)數(shù)據(jù)到鏡像控制寄存器地址空間1102。向鏡像控制存儲(chǔ)器空間 1102寫(xiě)的數(shù)據(jù)可以位于在鏡像控制寄存器中1104中。然后,主機(jī) 102可以在指示鏡像控制寄存器1104已被修改(modified)的步驟 1206中,在易失性存儲(chǔ)器104中設(shè)置控制寄存器位??蛇x的,易失 性存々者器104可以自動(dòng)確定該4t像控制寄存器1104已#1更新。
在步驟1212中,易失性存儲(chǔ)器104可以收到鏡像控制寄存器 1104已被修改的指示。然后,在步驟1214中,易失性存儲(chǔ)器104 可以指示給非易失性存儲(chǔ)器控制器106鏡像控制寄存器1104已被 修改。通過(guò)發(fā)布中斷給非易失性存儲(chǔ)器控制器106或設(shè)置狀態(tài)位, 該指示可以提供給非易失性存儲(chǔ)器控制器106,其中,該狀態(tài)位可 以通過(guò)非易失性存儲(chǔ)器控制器106輪詢(poll)。當(dāng)接收到鏡像寄存 器1104已^^修改的指示后,非易失性存^f諸器控制器106可以在步 驟1218中從易失性存儲(chǔ)器104內(nèi)的4竟像寄存器1104載入數(shù)據(jù),并 且在步驟1220中將載入的凝:據(jù)力文入控制寄存器158中。
在步驟1222中,非易失性存儲(chǔ)器控制器106可以發(fā)給易失性 存儲(chǔ)器104命令來(lái)設(shè)置控制寄存器位,該控制寄存器位指示遠(yuǎn)程控 制寄存器158已被成功更新。在某些情況下,非易失性存儲(chǔ)器控制 器106也可以提供來(lái)自被放置在易失性存儲(chǔ)器104內(nèi)的鏡像控制寄 存器1104中的遠(yuǎn)程控制寄存器158的更新信息的拷貝。在步驟1216 中,易失性存儲(chǔ)器104可以更新(update)控制寄存器位,該控制 寄存器位指示遠(yuǎn)程控制寄存器158已被更新。主機(jī)102可以接收到 控制存4渚器158在步驟1208中已^皮更新的指示。然后,處理過(guò)程 1200可以繼續(xù)步驟1210。
雖然披露了上述有關(guān)通過(guò)主機(jī)102發(fā)送的命令執(zhí)行的鏡像,在 某些情況下,鏡像可以通過(guò)易失性存儲(chǔ)器104自動(dòng)執(zhí)行(例如,通 過(guò)設(shè)定由非易失性存儲(chǔ)器106或發(fā)布至非易失性存儲(chǔ)器控制器106 的中斷檢測(cè)的狀態(tài)寄存器位),例如,每次鏡像控制寄存器1104被 更新。當(dāng)狀態(tài)寄存器位或中斷被存儲(chǔ)器控制器106檢測(cè)到時(shí),存儲(chǔ) 器控制器106可以自動(dòng)將鏡像控制寄存器1104載入遠(yuǎn)程控制寄存 器158??蛇x的,鏡^象可以通過(guò)易失性存儲(chǔ)器104在指定間隔執(zhí)行。
此外,在某些情況下,例如,通過(guò)發(fā)送命令或?qū)憯?shù)據(jù)到包括來(lái) 自遠(yuǎn)程控制寄存器158 (位于鏡像控制寄存器1104中)的更新數(shù)據(jù)
的易失性存儲(chǔ)器104中,由非易失性存儲(chǔ)器控制器106發(fā)起對(duì)來(lái)自 遠(yuǎn)程控制寄存器158的更新數(shù)據(jù)的鏡像。在一實(shí)施例中,非易失性 存儲(chǔ)器控制器106可以周期性地發(fā)起鏡像,例如,在指定間隔。在 一實(shí)施例中,指定間隔可以由主才幾102通過(guò)鏡Z像控制寄存器1104 來(lái)指定??蛇x的,每次遠(yuǎn)程控制寄存器158#^修改時(shí),非易失性存 儲(chǔ)器控制器106均可以更新鎮(zhèn) 像控制寄存器1104。
在一實(shí)施例中,當(dāng)鏡像控制寄存器1104通過(guò)非易失性存儲(chǔ)106 來(lái)更新時(shí),易失性存儲(chǔ)器104可以提供用于主機(jī)102的更新命令。 該命令可以通過(guò)例如乂人易失性存^f諸器104發(fā)布中斷到主才幾102或設(shè) 置易失性存儲(chǔ)器104內(nèi)的狀態(tài)寄存器位來(lái)提供,該狀態(tài)存儲(chǔ)器位可 以由主才幾102通過(guò)才莫式寄存器170或通過(guò)存4諸-映射控制寄存器 138、 140、 142來(lái)i方問(wèn)(例》口,查詢)。
結(jié)論
雖然披露了上述有關(guān)通過(guò)易失性存儲(chǔ)器接口訪問(wèn)易失性存儲(chǔ) 器和非易失性存儲(chǔ)器的處理器,本發(fā)明的一些實(shí)施例也可以用于嵌 入系統(tǒng),在該嵌入系統(tǒng)中,主機(jī)處理器通過(guò)附加接口訪問(wèn)附加的存 儲(chǔ)部件(例如,易失性存儲(chǔ)器和非易失性存儲(chǔ)器)。同樣的,雖然 披露了上述有關(guān)在分離的模具上制造的易失性存儲(chǔ)器、非易失性存 儲(chǔ)器以及非易失性存儲(chǔ)器控制器,也可以利用本發(fā)明的實(shí)施例,其 中,在相同的模具上制造獨(dú)立部件(例如,易失性存儲(chǔ)器和非易失 性存儲(chǔ)器控制器或非易失性存儲(chǔ)器和非易失性存儲(chǔ)器控制器)。
雖然前述是本發(fā)明的實(shí)施例,本發(fā)明的其它或者另外的實(shí)施例 可以在不背離它們的基本范圍的情況下進(jìn)行設(shè)計(jì),它們的范圍由權(quán) 利要求來(lái)限定。
權(quán)利要求
1.一種用于通過(guò)易失性存儲(chǔ)裝置在非易失性存儲(chǔ)裝置中訪問(wèn)數(shù)據(jù)的方法,所述方法包括在所述易失性存儲(chǔ)裝置的地址空間中配置覆蓋窗的大小和基地址,其中所述覆蓋窗包括一系列存儲(chǔ)地址;經(jīng)由所述易失性存儲(chǔ)裝置的易失性存儲(chǔ)器接口接收訪問(wèn)命令;如果所述訪問(wèn)命令的地址在所述覆蓋窗之外,則使用所述訪問(wèn)命令訪問(wèn)所述易失性存儲(chǔ)裝置的存儲(chǔ)器陣列;以及如果所述訪問(wèn)命令的所述地址在所述覆蓋窗之內(nèi),則使用所述訪問(wèn)命令經(jīng)由所述易失性存儲(chǔ)裝置的非易失性存儲(chǔ)器接口訪問(wèn)所述非易失性存儲(chǔ)裝置。
2. 根據(jù)權(quán)利要求1所述的方法,其中,使用所述訪問(wèn)命令訪問(wèn)所 述非易失性存儲(chǔ)裝置包括經(jīng)由所述易失性存儲(chǔ)裝置的所述非易失性存儲(chǔ)器接口將 所述訪問(wèn)命令通知非易失性存儲(chǔ)器控制器;如果所述訪問(wèn)命令是寫(xiě)命令,則把將要被寫(xiě)入所述非易 失性存儲(chǔ)裝置的數(shù)據(jù)提供給所述非易失性存儲(chǔ)器控制器;以及如果所述訪問(wèn)命令是讀命令,則經(jīng)由所述非易失性存4諸 器接口從所述非易失性存儲(chǔ)器控制器接收數(shù)據(jù)。
3. 根據(jù)權(quán)利要求2所述的方法,其中,將所述訪問(wèn)命令通知所述 非易失性存儲(chǔ)器控制器包括在所述易失性存儲(chǔ)裝置中設(shè)置狀 態(tài)寄存器位。
4. 根據(jù)權(quán)利要求2所述的方法,其中,將所述訪問(wèn)命令通知所述 非易失性存儲(chǔ)器控制器包括向所述非易失性存儲(chǔ)器控制器發(fā) 送中斷。
5. 根據(jù)權(quán)利要求1所述的方法,其中,使用所述訪問(wèn)命令訪問(wèn)所 述非易失性存儲(chǔ)裝置包括在所述易失性存儲(chǔ)裝置的緩沖器中 放置用于所述訪問(wèn)命令的數(shù)據(jù),其中,通過(guò)非易失性存儲(chǔ)器控 制器經(jīng)由所述非易失性存儲(chǔ)器接口將所述數(shù)據(jù)自動(dòng)傳送給所 述非易失性存儲(chǔ)裝置。
6. 根據(jù)權(quán)利要求1所述的方法,其中,使用所述訪問(wèn)命令訪問(wèn)所 述非易失性存儲(chǔ)裝置包括從所述易失性存儲(chǔ)裝置內(nèi)的緩沖器 讀取用于所述訪問(wèn)命令的數(shù)據(jù),其中,通過(guò)非易失性存儲(chǔ)器控 制器經(jīng)由所述非易失性存儲(chǔ)器接口將所述數(shù)據(jù)從所述非易失 性存儲(chǔ)裝置傳送到所述緩沖器。
7. 根據(jù)權(quán)利要求1所述的方法,其中,配置所述覆蓋窗的所述大 小和所述基地址包括在檢測(cè)到所述易失性存儲(chǔ)裝置已經(jīng)被重 置的情況下,由多個(gè)重置銷(xiāo)加載所述大小和基地址。
8. —種通過(guò)易失性存儲(chǔ)裝置訪問(wèn)非易失性存儲(chǔ)裝置中的數(shù)據(jù)的 方法,所述方法包4舌向所述易失性存儲(chǔ)裝置發(fā)送一個(gè)或多個(gè)用于指示所述易 失性存儲(chǔ)裝置的地址空間內(nèi)的覆蓋窗的大小和基地址的命令, 其中,所述覆蓋窗包括一系列存儲(chǔ)地址;通過(guò)所述易失性存儲(chǔ)裝置的非易失性存儲(chǔ)器接口發(fā)送訪 問(wèn)命令,其中 在所述訪問(wèn)命令的地址處于所述覆蓋窗之外的情況 下,所述訪問(wèn)命令被用于訪問(wèn)所述易失性存儲(chǔ)裝置的存儲(chǔ)器陣列;以及在所述訪問(wèn)命令的所述地址處于所述覆蓋窗之內(nèi)的 情況下,所述訪問(wèn)命令被用于經(jīng)由所述易失性存儲(chǔ)裝置 的非易失性存儲(chǔ)器接口訪問(wèn)所述非易失性存儲(chǔ)裝置。
9. 根據(jù)權(quán)利要求8所述的方法,其中,向所述易失性存儲(chǔ)裝置發(fā) 送所述訪問(wèn)命令包括將所述訪問(wèn)命令寫(xiě)入所述覆蓋窗內(nèi)的存儲(chǔ)-映射寄存器的 地址。
10. 沖艮據(jù)權(quán)利要求9所述的方法,進(jìn)一步包4舌在所述易失性存儲(chǔ)裝置中設(shè)置控制寄存器位,所述控制 寄存器位用于指示所述訪問(wèn)命令已經(jīng)被寫(xiě)入所述覆蓋窗的所 述存儲(chǔ)-映射寄存器的所述地址。
11. 根據(jù)權(quán)利要求8所述的方法,其中,向所述易失性存儲(chǔ)裝置發(fā) 送所述訪問(wèn)命令包括將數(shù)據(jù)寫(xiě)入所述易失性存儲(chǔ)裝置內(nèi)的緩沖器,其中,經(jīng) 由所述覆蓋窗訪問(wèn)所述緩沖器,并且其中非易失性存儲(chǔ)器控制 器被配置為經(jīng)由所述易失性存儲(chǔ)裝置的非易失性存儲(chǔ)器接口 從所述緩沖器讀取數(shù)據(jù),并將所述數(shù)據(jù)寫(xiě)入所述非易失性存儲(chǔ) 裝置。
12. 根據(jù)權(quán)利要求8所述的方法,其中,向所述易失性存儲(chǔ)裝置發(fā) 送所述訪問(wèn)命令包4舌經(jīng)由所述覆蓋窗向非易失性存儲(chǔ)器控制器發(fā)送直接存儲(chǔ) 訪問(wèn)命令,其中,響應(yīng)于接收所述命令,所述非易失性存儲(chǔ)器 控制器被配置為從所述非易失性存儲(chǔ)裝置讀取數(shù)據(jù),并將所述數(shù)據(jù)寫(xiě)入所述易失性存儲(chǔ)裝置內(nèi)的緩沖器;以及從所述易失性存儲(chǔ)裝置內(nèi)的緩沖器讀取所述數(shù)據(jù),其中, 經(jīng)由所述覆蓋窗訪問(wèn)所述緩沖器。
13. 根據(jù)權(quán)利要求8所述的方法,其中,向所述易失性存儲(chǔ)裝置發(fā) 送一個(gè)或多個(gè)用于指示所述易失性存儲(chǔ)裝置的地址空間內(nèi)的 所述覆蓋窗的大小和基地址的命令包括向所述易失性存儲(chǔ)裝置發(fā)送模式寄存器設(shè)置(MRS)命 令,其中,所述MRS命令提供所述覆蓋窗的基地址的至少一 部分;以及發(fā)送寫(xiě)命令,所述寫(xiě)命令用于將所述覆蓋窗的所述大小 寫(xiě)入所述覆蓋窗內(nèi)的存儲(chǔ)-映射寄存器的地址。
14. 一種易失性存儲(chǔ)裝置,包括易失性存儲(chǔ)器接口;非易失性存儲(chǔ)器接口;易失性存儲(chǔ)器陣列;*控制電^各,^皮配置為配置在所述易失性存儲(chǔ)裝置的地址空間內(nèi)的覆蓋窗 的大小和基地址,其中,所述覆蓋窗包括一系列存儲(chǔ)地 址;通過(guò)所述易失性存儲(chǔ)器接口接收訪問(wèn)命令;如果所述訪問(wèn)命令的地址處于所述覆蓋窗之外,則 使用所述訪問(wèn)命令訪問(wèn)所述易失性存儲(chǔ)裝置的所述易失 性存儲(chǔ)器陣列;以及 如果所述訪問(wèn)命令的所述地址處于所述覆蓋窗之 內(nèi),則使用所述訪問(wèn)命令經(jīng)由所述易失性存儲(chǔ)裝置的非 易失性存儲(chǔ)器接口訪問(wèn)所述非易失性存儲(chǔ)裝置。
15. 根據(jù)權(quán)利要求14所述的易失性存儲(chǔ)裝置,其中,使用所述訪 問(wèn)命令訪問(wèn)所述非易失性存儲(chǔ)裝置包括通過(guò)所述非易失性存儲(chǔ)器接口將所述訪問(wèn)命令通知非易 失性存儲(chǔ)器控制器;如果所述訪問(wèn)命令是寫(xiě)命令,則把將要被寫(xiě)入所述非易 失性存儲(chǔ)裝置的數(shù)據(jù)提供給所述非易失性存儲(chǔ)器控制器;以及如果所述訪問(wèn)命令是讀命令,則經(jīng)由所述非易失性存儲(chǔ) 器接口從所述非易失性存儲(chǔ)器控制器接收數(shù)據(jù)。
16. 根據(jù)權(quán)利要求15所述的易失性存儲(chǔ)裝置,其中,將所述訪問(wèn) 命令通知非易失性存儲(chǔ)器控制器包括在所述易失性存儲(chǔ)裝置 中設(shè)置狀態(tài)寄存器位。
17. 根據(jù)權(quán)利要求15所述的易失性存儲(chǔ)裝置,其中,將所述訪問(wèn) 命令通知所述非易失性存儲(chǔ)器控制器包括向所述非易失性存 儲(chǔ)器控制器發(fā)送中斷。
18. 根據(jù)權(quán)利要求14所述的易失性存儲(chǔ)裝置,其中,使用所述訪 問(wèn)命令訪問(wèn)所述非易失性存儲(chǔ)裝置包括在所述易失性存儲(chǔ)裝 置的緩沖器中放置用于所述訪問(wèn)命令的數(shù)據(jù),其中,通過(guò)非易 失性存儲(chǔ)器控制器經(jīng)由所述非易失性存儲(chǔ)器接口將所述數(shù)據(jù) 自動(dòng)傳送給所述非易失性存儲(chǔ)裝置。
19. 根據(jù)權(quán)利要求14所述的易失性存儲(chǔ)裝置,其中,使用所述訪 問(wèn)命令訪問(wèn)所述非易失性存儲(chǔ)裝置包括從所述易失性存儲(chǔ)裝 置內(nèi)的緩沖器讀取用于所述訪問(wèn)命令的數(shù)據(jù),其中,通過(guò)非易 失性存儲(chǔ)器控制器經(jīng)由所述非易失性存儲(chǔ)器接口將所述數(shù)據(jù) 從所述非易失性存儲(chǔ)裝置傳送到所述緩沖器。
20. 根據(jù)權(quán)利要求14所述的易失性存儲(chǔ)裝置,其中,配置所述覆 蓋窗的所述大小和所述基地址包括在才企測(cè)到所述易失性存儲(chǔ) 裝置已經(jīng)被重置的情況下,由多個(gè)重置銷(xiāo)加載所述大小和基地 址。
21. —種處理器,包括用于與易失性存儲(chǔ)裝置進(jìn)行通信的接口 ;4空制電3各,;陂配置為向所述易失性存儲(chǔ)裝置發(fā)送一個(gè)或多個(gè)用于指示所 述易失性存儲(chǔ)裝置的地址空間內(nèi)的覆蓋窗的大小和基地 址的命令,其中,所述覆蓋窗包括一系列存儲(chǔ)地址;向所述易失性存儲(chǔ)裝置發(fā)送訪問(wèn)命令,其中在所述訪問(wèn)命令的i也址處于所述覆蓋窗之外的 情況下,所述訪問(wèn)命令被用于訪問(wèn)所述易失性存儲(chǔ) 裝置的存儲(chǔ)器陣列;以及在所述訪問(wèn)命令的所述i也址處于所述覆蓋窗之 內(nèi)的情況下,所述訪問(wèn)命令^皮用于經(jīng)由所述易失性 存儲(chǔ)裝置的非易失性存儲(chǔ)器接口訪問(wèn)所述非易失性 存儲(chǔ)裝置。
22. 根據(jù)權(quán)利要求21所述的處理器,其中,向所述易失性存儲(chǔ)裝 置發(fā)送所述訪問(wèn)命令包括將所述訪問(wèn)命令寫(xiě)入所述覆蓋窗內(nèi)的存儲(chǔ)-映射寄存器的 地址。
23. 根據(jù)權(quán)利要求21所述的處理器,其中,向所述易失性存儲(chǔ)裝 置發(fā)送所述訪問(wèn)命令包括將數(shù)據(jù)寫(xiě)入所述易失性存儲(chǔ)裝置內(nèi)的緩沖器,其中,經(jīng) 由所述覆蓋窗訪問(wèn)所述緩沖器,并且其中所述非易失性存儲(chǔ)器 控制器被配置為經(jīng)由所述易失性存儲(chǔ)裝置的非易失性存儲(chǔ)器 接口從所述緩沖器讀取數(shù)據(jù),并將所述數(shù)據(jù)寫(xiě)入所述非易失性 存儲(chǔ)裝置。
24. 根據(jù)權(quán)利要求21所述的處理器,其中,向所述易失性存儲(chǔ)裝 置發(fā)送所述訪問(wèn)命令包括經(jīng)由所述覆蓋窗向非易失性存儲(chǔ)器控制器發(fā)送直接存儲(chǔ) 訪問(wèn)命令,其中,響應(yīng)于接收所述命令,所述非易失性存儲(chǔ)器 控制器被配置為從所述非易失性存儲(chǔ)裝置讀取數(shù)據(jù),并將所述 數(shù)據(jù)傳送至所述易失性存儲(chǔ)裝置內(nèi)的緩沖器;以及從所述易失性存儲(chǔ)裝置內(nèi)的緩沖器讀取所述數(shù)據(jù),其中, 經(jīng)由所述覆蓋窗訪問(wèn)所述緩沖器。
25. 根據(jù)權(quán)利要求21所述的處理器,其中,向所述易失性存儲(chǔ)裝 置發(fā)送一個(gè)或多個(gè)用于指示覆蓋窗的大小和基地址的命令包 括-.向所述易失性存儲(chǔ)裝置發(fā)送模式寄存器設(shè)置(MRS)命 令,其中,所述MRS命令4是供所述覆蓋窗的基地址的至少一 部分;以及 發(fā)送寫(xiě)命令,所述寫(xiě)命令用于將所述覆蓋窗的所述大小 寫(xiě)入所述覆蓋窗內(nèi)的存儲(chǔ)-映射寄存器的地址。
26.—種系統(tǒng),包4舌易失性存儲(chǔ)裝置,包括 易失性存儲(chǔ)器接口; 第一非易失性存儲(chǔ)器接口; 緩沖器;控制寄存器;以及 易失性存儲(chǔ)器陣列; 非易失性存儲(chǔ)裝置;非易失性存儲(chǔ)器控制器,被配置為經(jīng)由第 一非易失性存 儲(chǔ)器接口訪問(wèn)所述易失性存儲(chǔ)裝置,經(jīng)由第二非易失性存儲(chǔ)器 接口訪問(wèn)所述非易失性存儲(chǔ)裝置;以及處理器,被配置為向所述易失性存儲(chǔ)裝置發(fā)送一個(gè)或多個(gè)用于指示所 述易失性存儲(chǔ)裝置的地址空間內(nèi)的覆蓋窗的大小和基地 址的命令,其中,所述覆蓋窗包4舌一系列存+者地址;向所述易失性存儲(chǔ)裝置發(fā)送訪問(wèn)命令,其中在所述訪問(wèn)命令的i也址處于所述覆蓋窗之外的 情況下,所述訪問(wèn)命令^皮用于訪問(wèn)所述易失性存儲(chǔ) 裝置的存儲(chǔ)器陣列;以及在所述訪問(wèn)命令的地址處于所述覆蓋窗之內(nèi)的 情況下,所述訪問(wèn)命令#1用于經(jīng)由所述易失性存<諸 裝置的所述第 一非易失性存儲(chǔ)器接口訪問(wèn)所述非易 失性存儲(chǔ)裝置。
27. 根據(jù)權(quán)利要求26所述的系統(tǒng),其中,向所述易失性存儲(chǔ)裝置 發(fā)送所述訪問(wèn)命令包括將所述訪問(wèn)命令寫(xiě)入所述覆蓋窗內(nèi)的存儲(chǔ)-映射寄存器的 地址。
28. 根據(jù)權(quán)利要求26所述的系統(tǒng),其中,向所述易失性存儲(chǔ)裝置 發(fā)送所述訪問(wèn)命令包括將數(shù)據(jù)寫(xiě)入所述易失性存儲(chǔ)裝置內(nèi)的緩沖器,其中,經(jīng) 由所述覆蓋窗訪問(wèn)所述緩沖器,并且其中所述非易失性存儲(chǔ)器 控制器被配置為經(jīng)由所述易失性存儲(chǔ)裝置的所述第 一非易失 性存儲(chǔ)器接口從所述緩沖器讀取數(shù)據(jù),并將所述數(shù)據(jù)寫(xiě)入所述 非易失性存儲(chǔ)裝置。
29. 根據(jù)權(quán)利要求26所述的系統(tǒng),其中,向所述易失性存儲(chǔ)裝置 發(fā)送所述訪問(wèn)命令包括經(jīng)由所述覆蓋窗向非易失性存儲(chǔ)器控制器發(fā)送直接存儲(chǔ) 訪問(wèn)命令,其中,響應(yīng)于接收所述命令,所述非易失性存儲(chǔ)器 控制器被配置為從所述非易失性存儲(chǔ)裝置讀取數(shù)據(jù),并將所述 數(shù)據(jù)寫(xiě)入所述易失性存儲(chǔ)裝置內(nèi)的緩沖器;以及從所述易失性存儲(chǔ)裝置內(nèi)的緩沖器讀取所述數(shù)據(jù),其中, 經(jīng)由所述覆蓋窗訪問(wèn)所述緩沖器。
30. 根據(jù)權(quán)利要求26所述的系統(tǒng),其中,向所述易失性存儲(chǔ)裝置 發(fā)送一個(gè)或多個(gè)用于指示所述覆蓋窗的大小和基地址的命令 包括向所述易失性存儲(chǔ)裝置發(fā)送模式寄存器設(shè)置(MRS)命 令,其中,所述MRS命令4是供所述覆蓋窗的基地址的至少一 部分;以及 發(fā)送寫(xiě)命令,所述寫(xiě)命令用于將所述覆蓋窗的所述大小 寫(xiě)入所述覆蓋窗內(nèi)的存儲(chǔ)-映射寄存器的地址。
31. —種易失性存儲(chǔ)裝置,包括用于連接所述易失性存儲(chǔ)裝置的裝置;用于連接非易失性存儲(chǔ)器的裝置;用于存儲(chǔ)的裝置;4空制電路,纟皮配置為配置在所述易失性存儲(chǔ)裝置的地址空間內(nèi)的覆蓋窗 的大小和基地址,其中,所述覆蓋窗包括一系列存儲(chǔ)地 址;經(jīng)由用于連接所述易失性存儲(chǔ)裝置的裝置接收訪問(wèn) 命令;如果所述訪問(wèn)命令的地址在所述覆蓋窗之外,則4吏 用所述訪問(wèn)命令訪問(wèn)用于存儲(chǔ)的裝置;以及如果所述"i方問(wèn)命令的所述:l也址在所述覆蓋窗之內(nèi),則使用所述訪問(wèn)命令經(jīng)由用于連接非易失性存儲(chǔ)器的裝 置訪問(wèn)非易失性存儲(chǔ)裝置。
32. 根據(jù)權(quán)利要求31所述的易失性存儲(chǔ)裝置,其中,使用所述訪 問(wèn)命令訪問(wèn)所述非易失性存儲(chǔ)裝置包括經(jīng)由所述用于連接非易失性存儲(chǔ)器的裝置將所述訪問(wèn)命 令通知非易失性存儲(chǔ)器控制器;如果所述訪問(wèn)命令是寫(xiě)命令,則把將要被寫(xiě)入所述非易 失性存儲(chǔ)裝置的數(shù)據(jù)提供給所述非易失性存儲(chǔ)器控制器;以及如果所述訪問(wèn)命令是讀命令,則經(jīng)由所述用于連4妄非易 失性存儲(chǔ)器的裝置從所述非易失性存儲(chǔ)器控制器接收數(shù)據(jù)。
33. 根據(jù)權(quán)利要求32所述的易失性存儲(chǔ)裝置,其中,將所述訪問(wèn) 命令通知非易失性存儲(chǔ)器控制器包括在所述易失性存儲(chǔ)裝置 中設(shè)置狀態(tài)寄存器位。
34. 根據(jù)權(quán)利要求32所述的易失性存儲(chǔ)裝置,其中,將所述訪問(wèn) 命令通知所述非易失性存儲(chǔ)器控制器包括向所述非易失性存 儲(chǔ)器控制器發(fā)送中斷。
35. 根據(jù)權(quán)利要求31所述的易失性存儲(chǔ)裝置,其中,使用所述訪 問(wèn)命令訪問(wèn)所述非易失性存儲(chǔ)裝置包括在所述易失性存儲(chǔ)裝置的緩沖器中放置用于所述訪問(wèn)命令的數(shù)據(jù),其中,通過(guò)非易 失性存儲(chǔ)器控制器經(jīng)由所述用于連接非易失性存儲(chǔ)器的裝置 將所述數(shù)據(jù)自動(dòng)傳送給所述非易失性存儲(chǔ)裝置。
36. 根據(jù)權(quán)利要求31所述的易失性存儲(chǔ)裝置,其中,使用所述訪 問(wèn)命令訪問(wèn)所述非易失性存儲(chǔ)裝置包括從用于在所述易失性 存儲(chǔ)裝置內(nèi)進(jìn)行緩沖的裝置中讀取用于所述訪問(wèn)命令的數(shù)據(jù), 其中,通過(guò)非易失性存儲(chǔ)器控制器經(jīng)由所述用于連接非易失性 存儲(chǔ)器的裝置將所述數(shù)據(jù)從所述非易失性存儲(chǔ)裝置傳送到用 于進(jìn)行緩沖的裝置。
37. 根據(jù)權(quán)利要求31所述的易失性存儲(chǔ)裝置,其中,配置所述覆 蓋窗的所述大小和所述基地址包括在4企測(cè)到所述易失性存儲(chǔ) 裝置已經(jīng);故重置的情況下,由多個(gè)重置銷(xiāo)加載所述大小和基地 址。
全文摘要
本發(fā)明的實(shí)施方式提供了用于經(jīng)由易失性存儲(chǔ)裝置訪問(wèn)非易失性存儲(chǔ)裝置中的數(shù)據(jù)的方法、裝置和系統(tǒng)。在一個(gè)實(shí)施方式中,該方法包括在易失性存儲(chǔ)裝置的地址空間中配置覆蓋窗的大小和基地址。該覆蓋窗包括一系列存儲(chǔ)地址。該方法還包括經(jīng)由該易失性存儲(chǔ)裝置的易失性存儲(chǔ)器接口接收訪問(wèn)命令,如果訪問(wèn)命令的地址在覆蓋窗之內(nèi),則使用訪問(wèn)命令經(jīng)由易失性存儲(chǔ)裝置的非易失性存儲(chǔ)器接口訪問(wèn)非易失性存儲(chǔ)裝置。
文檔編號(hào)G06F3/06GK101101533SQ20071013653
公開(kāi)日2008年1月9日 申請(qǐng)日期2007年7月6日 優(yōu)先權(quán)日2006年7月6日
發(fā)明者羅姆-申·卡奧 申請(qǐng)人:奇夢(mèng)達(dá)北美公司