国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于高性能和低成本的閃存轉(zhuǎn)換層的系統(tǒng)和方法_2

      文檔序號:9620835閱讀:來源:國知局
      副本的情況下,主機(jī)設(shè)備可以對其更快速存儲資源進(jìn)行細(xì)分,以提供適當(dāng)大小的特 定區(qū)域來包含這些FTL表的副本。因而,存儲器細(xì)分部分的大小可以基于FTL表的大小。
      [0032] 在另一個(gè)方面,可以對直接存儲存取進(jìn)行限制,以便于防止主機(jī)設(shè)備受到源于向 閃存設(shè)備準(zhǔn)予這種直接存儲存取權(quán)限而產(chǎn)生的安全問題。例如,可以只針對更快速存儲資 源中的被指定用于FTL表的副本的區(qū)域準(zhǔn)予直接存儲存取。還可以制定其它的安全措施, 例如密鑰比較。還可以設(shè)想的是,也可以將用于保護(hù)主機(jī)設(shè)備的這樣的安全措施和其它安 全措施應(yīng)用于保護(hù)閃存設(shè)備。針對閃存設(shè)備實(shí)現(xiàn)安全措施,可以防止主機(jī)設(shè)備損壞FTL表。
      [0033] 當(dāng)主機(jī)設(shè)備請求針對閃存設(shè)備的讀取和/或?qū)懭氩僮鲿r(shí),該讀取和/或?qū)懭氩僮?請求可以包括要從閃存設(shè)備讀取數(shù)據(jù)和/或要向閃存設(shè)備寫入數(shù)據(jù)的邏輯地址。為了執(zhí)行 這些讀取和/或?qū)懭胝埱?,閃存設(shè)備可以使用FTL表來將邏輯地址轉(zhuǎn)換成其自己的存儲器 的物理地址。為此,閃存設(shè)備可以使用其直接存儲存取權(quán)限來從FTL表的副本中取回與所 指定的邏輯地址有關(guān)的地址映射信息,以便于將其轉(zhuǎn)換成相應(yīng)的物理地址。
      [0034] 直接存儲存取還允許閃存設(shè)備向FTL表的副本寫入。在完成來自主機(jī)設(shè)備的寫入 請求時(shí),閃存設(shè)備改變其自己的存儲器內(nèi)容,包括其中寫入了數(shù)據(jù)的物理地址。為了在其存 儲器中反映這種變化,閃存設(shè)備可以更新在主機(jī)設(shè)備中存儲的FTL表,以反映當(dāng)前物理地 址。這種更新允許寫入存儲器的信息在稍后能被存取,并指示該信息所寫入的空間不是空 閑空間。
      [0035] 在另一個(gè)方面,閃存設(shè)備可以進(jìn)行直接存儲存取,以基于在主機(jī)設(shè)備的快速存儲 資源中存儲的FTL表,更新在其自己的存儲器中存儲的FTL表。當(dāng)對FTL表的副本進(jìn)行更 新以反映閃存設(shè)備中的變化時(shí),可以不同時(shí)地對閃存設(shè)備中的FTL表進(jìn)行類似地更新。對 閃存中存儲的FTL表進(jìn)行延遲更新可以節(jié)約功率資源,特別是當(dāng)主機(jī)設(shè)備正在執(zhí)行頻繁的 存儲器寫入操作時(shí)。為了確保在閃存設(shè)備中所存儲的FTL表的非易失性副本中反映對閃存 設(shè)備的變化的記錄,可以根據(jù)主機(jī)設(shè)備的快速存儲資源中存儲的FTL表來定期地更新那些 FTL表。為此,閃存設(shè)備可以從主機(jī)設(shè)備的快速存儲資源中存儲的FTL表中取回這些FTL表 的副本(或者自從上一次更新以來對這些FTL表的副本所做出的改變),并將該FTL表的副 本存儲在閃存中,有效地覆蓋其自己的FTL表(或者其變化的部分)。在這樣的過程中,閃 存設(shè)備可以利用FTL表的副本來替換其FTL表,將這兩個(gè)版本的FTL表進(jìn)行比較以確定差 異,并將這些差異寫入到其FTL表中,或者將FTL表的副本的變化寫入到其FTL表中。還可 以在某個(gè)時(shí)間和/或以某種方式來執(zhí)行這種更新,以減少或者最小化對系統(tǒng)資源(例如,存 儲器存取或電池電量)的影響。
      [0036] 在一個(gè)方面,可以對主機(jī)設(shè)備和閃存設(shè)備進(jìn)行連接,從而通過通信總線來發(fā)送這 些設(shè)備之間的通信。為了對主機(jī)設(shè)備的快速存儲資源進(jìn)行直接存取,可以使得閃存設(shè)備 充當(dāng)總線主控器,該總線主控器對連接自己與更快速存儲資源的通信總線進(jìn)行控制。換言 之,閃存設(shè)備和通信總線可以被配置為允許該閃存設(shè)備在該通信總線上發(fā)起通信事務(wù)。各 個(gè)方面可以具有不同的通信總線配置,以便為主機(jī)設(shè)備和閃存設(shè)備提供總線主控能力。例 如,用于各個(gè)設(shè)備的專用通信總線可以只允許一個(gè)設(shè)備充當(dāng)針對各個(gè)通信總線的總線主控 器。作為另一示例,通信總線配置可以遵循支持多種設(shè)備總線主控的總線標(biāo)準(zhǔn),例如快速 PCI(PCIe)或低延時(shí)接口(LLI)。
      [0037] 各個(gè)方面可以在各種各樣的系統(tǒng)內(nèi)實(shí)現(xiàn),例如圖1中所說明的示例性FTL主機(jī)高 速緩存系統(tǒng)10。FTL主機(jī)高速緩存系統(tǒng)10可以包括:處理器24、52 ;存儲器或存儲單元28、 30、38、58、64 ;通信控制器26、32、54 ;存儲器接口 60和通信鏈路34、36、40、62、66。在一個(gè) 方面,處理器可以是中央處理單元(CPU) 24或微控制器(μ Ctrl) 56。其它方面可以利用替 代的處理器來替換CPU 24和微控制器56,或者可以包括另外的處理器。例如,這樣的其它 處理器可以包括一個(gè)或多個(gè)其它CPU或微控制器、微處理器、圖形處理單元(GPU)、加速處 理單元(APU)、物理處理單元(PPU)。
      [0038] 存儲器或存儲單元28、30、38、58、64可以包括各種各樣的易失性和非易失性類型 的存儲器中的任何一種。在一個(gè)方面,F(xiàn)TL主機(jī)高速緩存系統(tǒng)10可以包括:SRAM 28、58; ROM 30 ;DRAM 38和閃存64。其它類型的存儲器可以包括磁存儲設(shè)備、光存儲設(shè)備或者混合 存儲設(shè)備。此外,可以將FTL表68存儲在閃存64中,并且當(dāng)生成FTL表68時(shí),可以將FTL 表的副本70存儲在DRAM 38上。
      [0039] 通信控制器26、32、54、60可以被配置為管理FTL主機(jī)高速緩存系統(tǒng)10的多個(gè)部 件之間的通信。每個(gè)通信控制器26、32、54可以專門管理特定部件和其它部件之間的通信。 例如,直接存儲存?。―MA)總線控制器26可以被配置為在DMA總線控制器26 -側(cè),管理CPU 24和DRAM 38之間的通信,而在另一側(cè),則是微控制器56。類似地,DMA總線控制器54可 以管理在DMA總線控制器54 -側(cè)上的微控制器56和另一側(cè)上的CPU 24之間的通信。DMA 總線控制器可以被配置為管理閃存64和CPU 24之間的地址和數(shù)據(jù)通信,如果準(zhǔn)予CPU 24 對閃存64進(jìn)行直接存儲存取的話。DRAM控制器32可以被配置為管理一側(cè)上的DRAM 38和 另一側(cè)上的CPU 24和微控制器54之間的通信。
      [0040] 可以將存儲器接口 60配置為閃存接口 60。在一個(gè)方面,閃存接口 60可以被專門 配置用于NAND或N0R閃存架構(gòu)。在一個(gè)方面,閃存接口 60可以被配置用于NAND架構(gòu),其 中,閃存接口 60在頁尋址的基礎(chǔ)上,提供對閃存64的讀取和寫入存取。
      [0041] 通信鏈路34、36、40、62、66可以提供用于?11主機(jī)高速緩存系統(tǒng)10的各個(gè)部件之 間的地址和數(shù)據(jù)通信的路徑。在各個(gè)方面,通信鏈路34、36、40、62、66可以被配置用于單個(gè) 設(shè)備的部件之間的內(nèi)部通信,或者用于主設(shè)備和外圍設(shè)備之間的外部通信。例如,主機(jī)總線 可以提供CPU 24、DMA總線控制器26、SRAM 28、R0M 30和DRAM控制器32之間的通信路徑。 DRAM總線36可以提供DRAM 36和其它部件(如,DRAM控制器32)之間的通信路徑。存儲 總線40可以提供DMA總線控制器26、54之間的通信路徑。閃存設(shè)備總線62可以提供DMA 總線控制器54、微控制器56、SRAM 58和閃存接口 60之間的通信路徑。閃存總線66可以 提供閃存64和其它部件(如,閃存接口 60)之間的通信路徑。
      [0042] 在一些方面,這些部件中的一些或全部部件的組合形成了主機(jī)設(shè)備20和閃存設(shè) 備50。在各個(gè)方面,主機(jī)設(shè)備20和閃存設(shè)備50可以被配置為具有通過通信鏈路40進(jìn)行 通信的能力的單獨(dú)的封裝設(shè)備(housed device)。為了舉例起見(這意味著其不是限制性 的),主機(jī)設(shè)備20可以包括:CPU 24、DMA總線控制器26、SRAM 28、R0M 30、DRAM控制器32、 主機(jī)總線34、DRAM總線36、DRAM 38、以及存儲總線40的一部分或者全部。繼續(xù)該示例,閃 存設(shè)備50可以包括:存儲總線40的一部分或者全部、DMA總線控制器54、微控制器56、SRAM 58、閃存接口 60、閃存設(shè)備總線62、閃存64和閃存總線66。
      [0043] 在主機(jī)設(shè)備20的一個(gè)方面,還可以將這些部件組合到集成電路(例如,片上系統(tǒng) (SoC)22)中。SoC 22 的部件可以包括:CPU 24、DMA 總線控制器 26、SRAM 28、R0M 30、DRAM 控制器32、主機(jī)總線34、以及DRAM總線36和存儲總線40的一部分或者全部。類似地,閃 存設(shè)備50還可以將部件的組合包括到集成電路中,例如托管的閃存控制器52。所述托管的 閃存控制器52的部件可以包括:存儲總線40和閃存總線66的一部分或者全部、DMA總線 控制器54、微控制器56、SRAM 58、閃存接口 60和閃存設(shè)備總線62。
      [0044] 圖2說明了適合于在FTL主機(jī)高速緩存系統(tǒng)10中使用的示例性移動設(shè)備200。 在各個(gè)方面,移動設(shè)備200可以包括耦合到觸摸屏控制器204和內(nèi)部存儲器206的處理器 202。內(nèi)部存儲器206可以是易失性存儲器或者非易失性存儲器,并且還可以是安全和/或 加密的存儲器、或者非安全和/或未加密的存儲器、或其任意組合。觸摸屏控制器204和處 理器202還可以耦合到觸摸屏面板212,例如電阻式傳感觸摸屏、電容式傳感觸摸屏、紅外 線傳感觸摸屏等等。移動設(shè)備200可以具有用于進(jìn)行發(fā)送和接收的一個(gè)或多個(gè)無線信號收 發(fā)機(jī)208 (例如,Peanut?、藍(lán)牙:⑩、Zigbee?、Wi-Fi、RF無線裝置)和天線210。收發(fā)機(jī) 208和天線210可以與上文提及的電路一起使用,以實(shí)現(xiàn)各種無線傳輸協(xié)議棧和接口。移 動設(shè)備200可以包括:經(jīng)由蜂窩網(wǎng)絡(luò)實(shí)現(xiàn)通信的蜂窩網(wǎng)絡(luò)無線調(diào)制解調(diào)器芯片216。移動 設(shè)備200可以包括耦合到處理器202并被配置為連接到閃存設(shè)備50的外圍設(shè)備連接端口 218。外圍設(shè)備連接端口 218可以被特別地配置為接受一種類型的連接,或者被多樣地配置 為接受各種類型的物理和通信連接,例如USB、火線、雷電(Thunderbolt)或PCIe。移動設(shè) 備200還可以包括用于提供音頻輸出的揚(yáng)聲器214。移動設(shè)備200還可以包括由塑料、金屬 或者材料的組合構(gòu)造而成的殼體220,以包含本文所討論的部件中的一些或者全部部件。
      [0045] 將FTL表高速緩存在主機(jī)設(shè)備的快速存儲資源中的各個(gè)方面可以涉及執(zhí)行FTL主 機(jī)高速緩存初始化方法300,在圖3中通過FTL主機(jī)高速緩存系統(tǒng)10來說明該方法的方面。 FTL主機(jī)高速緩存初始化方法300可以由主機(jī)設(shè)備20來發(fā)起。為了開始方法300,在方框 302中,主機(jī)設(shè)備20可以通過常用的或者專有的過程來初始化閃存設(shè)備50。一旦存儲器設(shè) 備50的初始化完成或者在其期間,在確定框304中,主機(jī)設(shè)備20就可以查詢閃存設(shè)備50, 以確定閃存設(shè)備50是否支持FTL主機(jī)高速緩存。當(dāng)閃存設(shè)備50不支持FTL主機(jī)高速緩存 時(shí)(即,確定框304 = "否"),則在方框306中,主機(jī)設(shè)備20將該閃存設(shè)備50視為普通的 閃存設(shè)備。
      [0046] 如果主機(jī)設(shè)備20確定閃存設(shè)備50支持FTL主機(jī)高速緩存(即,確定框304 = "是"),則在方框308中,主機(jī)設(shè)備22可以針對FTL表68的大小來查詢該閃存設(shè)備50。一 旦主機(jī)設(shè)備被告知了 FTL表68的大小,則在方框312中,主機(jī)設(shè)備20就可以對其DRAM 38 進(jìn)行細(xì)分,留出足夠的空間來存儲和修改FTL表的副本70。在方框314中,主機(jī)設(shè)備20可 以針對所細(xì)分的DRAM 38的、并留出給FTL表的副本70的部分,向閃存設(shè)備50準(zhǔn)予直接存 儲存取,其包括讀取和/或?qū)懭胩貦?quán)。一旦將FTL表的副本70存儲在DRAM 38中,在方框 316中,主機(jī)設(shè)備20就可以接收FTL表68的復(fù)制已完成的通知。
      [0047] 如果主機(jī)設(shè)備20確定閃存設(shè)備50支持FTL主機(jī)高速緩存(即,確定框304 = "是"),則在確定框310中,主機(jī)設(shè)備20可以確定其是否能在自己的DRAM 38內(nèi)存儲全部 的FTL表68。如果主機(jī)設(shè)備20可以在自己的DRAM 38內(nèi)存儲全部的FTL表68(即,確定框 310 ="是"),則在方框312中,主機(jī)設(shè)備20可以對其DRAM 38進(jìn)行細(xì)分,在方框314中, 向閃存設(shè)備50準(zhǔn)予直接存儲存取,以及在方框316中,接收FTL表68的復(fù)制已完成的通知 (如本文所描述的)。
      [0048] 如果主機(jī)設(shè)備20不能在自己的DRAM 38內(nèi)存儲全部的FTL表68 (即,確定框310 ="否"),則在方框318中,主機(jī)設(shè)備20可以向閃存設(shè)備50告知DRAM 38中可用的空間量, 并繼續(xù)上文參照方框312所描述的操作。如果主機(jī)設(shè)備20不能存儲全部的FTL表68 (即, 確定框310 ="否"),則在方框320中,主機(jī)設(shè)備20可以將該閃存設(shè)備50視為普通的閃存 設(shè)備、或者不支持FTL主機(jī)高速緩存的閃存設(shè)備。
      [0049] FTL主機(jī)高速緩存初始化方法300的替代方面可以包括:閃存設(shè)備50初始化FTL 主機(jī)高速緩存以及查詢主機(jī)設(shè)備20,以確定主機(jī)設(shè)備20是否支持FTL主機(jī)高速緩存。在 這樣的方面,在引導(dǎo)了時(shí)并在執(zhí)行FTL主機(jī)高速緩存初始化方法300之前,主機(jī)設(shè)備20可 以在預(yù)期FTL主機(jī)高速緩存的情況下,留出其DRAM 38的細(xì)分部分。當(dāng)閃存設(shè)備50連接到 主機(jī)設(shè)備20時(shí),F(xiàn)TL主機(jī)高速緩存初始化方法300可以開始,在該時(shí)刻,閃存設(shè)備50可以 查詢主機(jī)設(shè)備20,以確定主機(jī)設(shè)備20是否支持FTL主機(jī)高速緩存。如果主機(jī)設(shè)備20不支 持FTL主機(jī)高速緩存,則閃存設(shè)備50可以將主機(jī)設(shè)備20視為普通的主機(jī)設(shè)備。如果該
      當(dāng)前第2頁1 2 3 4 5 6 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1