專利名稱:具有直接用戶訪問的存儲裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及數(shù)字裝置。更具體地,本發(fā)明涉及提供用于數(shù)字裝置的跨平 臺大容量存儲服務(wù)。本發(fā)明還涉及高速緩存管理并涉及提供數(shù)字內(nèi)容的安全分發(fā)和消費(fèi) 以及利用本地存儲裝置提供本地存儲。本發(fā)明還涉及本地存儲裝置,其包括索引在本地 存儲裝置中的數(shù)據(jù)而不牽涉操作性地耦連本地存儲裝置的主機(jī)裝置的能力。
背景技術(shù):
在現(xiàn)有技術(shù)中,“自動運(yùn)行”或“自動播放”功能向計(jì)算機(jī)OS提供了在插入 可移除介質(zhì)(例如,CD-ROM或閃速介質(zhì))時(shí)自動采取某種行動的能力。這是一個(gè)方便 的特征,因?yàn)樵诳梢瞥橘|(zhì)上分發(fā)的軟件能在插入盤時(shí)自動啟動安裝程序。然而不幸的 是,一些制造商認(rèn)為“自動運(yùn)行”特征造成安全性風(fēng)險(xiǎn)(即,可能分發(fā)惡意軟件)。為 了避免這種風(fēng)險(xiǎn),常常解除自動運(yùn)行(或自動播放)特征,而不提供使得本地存儲裝置能 直接與用戶交互的機(jī)制。因特網(wǎng)技術(shù)是,曾經(jīng)是并仍將保持為快速發(fā)展的領(lǐng)域,尤其在網(wǎng)絡(luò)優(yōu)化方面, 特別是改善終端用戶瀏覽體驗(yàn)。在計(jì)算機(jī)網(wǎng)絡(luò)中,代理器(proxy)服務(wù)器是通過向其他 服務(wù)器(一般是網(wǎng)絡(luò)服務(wù)器)轉(zhuǎn)發(fā)請求而服務(wù)于其客戶的請求(例如,對網(wǎng)頁、連接建立 等的請求)的服務(wù)器(計(jì)算機(jī)系統(tǒng)或應(yīng)用程序)。因特網(wǎng)應(yīng)用(例如,使用FTP協(xié)議的FTP客戶端或諸如網(wǎng)絡(luò)瀏覽器的任何其他 因特網(wǎng)應(yīng)用)通常管理至少兩個(gè)相關(guān)接口,第一接口用于本地大容量存儲裝置,被稱為 大容量存儲接口,因特網(wǎng)應(yīng)用通過它經(jīng)由高速緩存管理器使用主機(jī)裝置文件系統(tǒng)(HDFS) 管理在高速緩存中存儲的內(nèi)容。然而更一般地,許多因特網(wǎng)應(yīng)用每個(gè)都能通過他們各自 的邏輯接口管理在本地大容量存儲裝置中存儲的它們自己的內(nèi)容,其中這些單獨(dú)存儲區(qū) 域中的每一個(gè)由它們自己的規(guī)則集管理。在代表性的因特網(wǎng)應(yīng)用采用瀏覽器應(yīng)用的形式 的情況下,瀏覽器高速緩存管理器使用也被稱為瀏覽器高速緩存策略的規(guī)則集來向?yàn)g覽 器提供合適的內(nèi)容。為了改善響應(yīng)時(shí)間和保持網(wǎng)絡(luò)帶寬,典型地,瀏覽器高速緩存將基 于由高速緩存策略闡述的一個(gè)或多個(gè)相關(guān)規(guī)則存儲內(nèi)容。例如,瀏覽器高速緩存管理器 (遵循對特定瀏覽器建立的相關(guān)高速緩存策略)能基于先前檢索到的網(wǎng)頁,在瀏覽器很有 可能在不遠(yuǎn)的將來再次請求該特定網(wǎng)頁的預(yù)期下存儲內(nèi)容(例如,以網(wǎng)頁的形式)。以此 方式,瀏覽器高速緩存管理器能檢索在瀏覽器高速緩存中本地存儲的相關(guān)網(wǎng)頁,而不使 用珍貴(valuable)的網(wǎng)絡(luò)資源。因特網(wǎng)應(yīng)用使用的另一接口可以用于因特網(wǎng)連接性,如在與網(wǎng)絡(luò)資源(可以是 本地資源或遠(yuǎn)程資源)通信時(shí)在網(wǎng)絡(luò)連接上攜帶的HTTP命令的管理。在移動瀏覽的情況下,瀏覽器通常通過能進(jìn)行內(nèi)容優(yōu)化/適配/過濾/壓縮等的代理器服務(wù)器訪問遠(yuǎn)程資 源/服務(wù)器,以便保留珍貴的移動鏈路資源。代理器服務(wù)器還可用在需要諸如對因特網(wǎng) 邊緣的訪問控制的額外任務(wù)的企業(yè)系統(tǒng)中。另一價(jià)值在于管理能采用“內(nèi)容預(yù)取技術(shù)” 以便預(yù)取“因特網(wǎng)邊緣上”(即,更加接近用戶的瀏覽器)的內(nèi)容的代理器高速緩存。 以此方式,因?yàn)樗埱蟮膬?nèi)容在被需要時(shí)已經(jīng)在手頭,所以加快了瀏覽體驗(yàn)。然而,因?yàn)闉g覽器高速緩存和代理器高速緩存彼此獨(dú)立地管理,所以很少或不 會“學(xué)習(xí)”彼此的高速緩存策略。因而,因?yàn)榇砥鞲咚倬彺婧蜑g覽器高速緩存由它們 自己的規(guī)則集(另一方由于高速緩存和代理器可以由不同的銷售商提供而可能知道或者 不知道該規(guī)則集)引導(dǎo),可能沒有整體高速緩存管理策略。這種整體高速緩存策略的缺 失可能導(dǎo)致低效,其可能帶來不是最優(yōu)的瀏覽體驗(yàn),部分是由于存儲資源的低效分配。 這樣的低效可包括例如在代理器高速緩存和瀏覽器高速緩存兩者中存儲的重復(fù)內(nèi)容,導(dǎo) 致網(wǎng)絡(luò)和存儲資源的低效使用(即,在網(wǎng)絡(luò)鏈路上不必要地發(fā)送瀏覽器內(nèi)容)。所提出的一種解決方案包括在移動手持裝置上集成客戶端代理(agent),以便在 瀏覽器和代理器高速緩存之間進(jìn)行同步。然而,因?yàn)榭蛻舳舜硪话闶菍S糜趹?yīng)用的, 所以它的用途限制于特定平臺。部分由于主機(jī)操作系統(tǒng)的異質(zhì)性,尤其是在移動平臺 上,客戶端代理的可用性可能相當(dāng)有限。在“封閉”操作系統(tǒng)(如Nucleus)的情況下, 與諸如Windows、Symbian等的“開放”操作系統(tǒng)的情況相比,這種異質(zhì)性變得更糟。 因?yàn)椴煌囊苿邮殖盅b置可能在不同的操作系統(tǒng)上運(yùn)行,這樣的實(shí)現(xiàn)方式一般需要復(fù)雜 的軟件集成。當(dāng)使用在非開放操作系統(tǒng)上運(yùn)行的移動手持裝置時(shí),該軟件集成可能證明 為更加復(fù)雜。存在至少兩個(gè)不同的分發(fā)數(shù)字內(nèi)容的方法內(nèi)容下載和內(nèi)容流傳輸(content streaming) 通常意義上,內(nèi)容下載可被看作將第一裝置中存儲的數(shù)字內(nèi)容傳輸?shù)揭鎯?所傳輸?shù)臄?shù)字內(nèi)容的第二裝置。內(nèi)容下載可包括從第一裝置向第二裝置傳輸數(shù)字內(nèi)容的
“推”和“拉”兩種方式。例如,第一裝置中存儲的數(shù)字內(nèi)容可被第一裝置“推”到 第二裝置,其中是第一裝置發(fā)起數(shù)字內(nèi)容從第一裝置向第二裝置的傳輸。可替換地,第 一裝置中存儲的數(shù)字內(nèi)容可從第一裝置拉到第二裝置,其中是第二裝置發(fā)起數(shù)字內(nèi)容的 傳輸。通過常規(guī)下載(基于HTTP等)或通過漸進(jìn)下載技術(shù)(即,在下載內(nèi)容的同時(shí)開 始播放)實(shí)現(xiàn)推或拉。在任何情況下,一旦在第二裝置處接收到數(shù)字內(nèi)容,則數(shù)字內(nèi)容 被本地、持久地存儲在第二裝置處。以此方式,第二裝置中存儲的數(shù)字內(nèi)容可從一個(gè)數(shù) 字裝置移動到另一個(gè)(完全在用戶控制之下)并且保護(hù)了用戶隱私(例如,在成人內(nèi)容的 情況下)等等。然而,一個(gè)缺陷在于以下事實(shí)內(nèi)容提供商(例如,好萊塢工作室等)需要高安 全級以應(yīng)對盜版者“復(fù)制內(nèi)容”的嘗試,由此限制了內(nèi)容的便攜性。典型地,這是數(shù)字 權(quán)利管理(DRM)技術(shù)介入之處,其中定義想要限制內(nèi)容使用/復(fù)制的權(quán)利對象(RO)。 典型地,DRM RO關(guān)系到專用硬件解決方案,如Milpitas,CA的SanDisk公司制造的 TrustedFlashTM存儲器裝置。這樣的硬件解決方案允許用戶在可移除介質(zhì)(例如,SD存 儲裝置)上安全地存儲R0,以嘗試提供真實(shí)內(nèi)容和RO便攜性。然而實(shí)踐中,因?yàn)镽O 依賴于DRM方案而沒有實(shí)現(xiàn)便攜性,并且因?yàn)槿鄙偻耆捎玫腄RM標(biāo)準(zhǔn),完全便攜性 變得僅僅限于支持相應(yīng)DRM技術(shù)的那些數(shù)字媒體播放器(或主機(jī)平臺)。
可通過少量工業(yè)標(biāo)準(zhǔn)化協(xié)議(例如,RTSP/RTP等)實(shí)現(xiàn)內(nèi)容流傳輸。然而,因 為用戶僅在他/她獲得到流服務(wù)器的網(wǎng)絡(luò)連接性的情況下才能夠訪問內(nèi)容,所以不能本 地、持久地存儲內(nèi)容。該方法的好處之一是如下事實(shí),即對于與所支持的流協(xié)議(即, 大多數(shù)現(xiàn)有播放器采用標(biāo)準(zhǔn)RTSP/RTP)兼容的那些播放器,保證廣泛的內(nèi)容訪問。因?yàn)?內(nèi)容提供商具有更小的安全性需求,所以除了 “嗅取和記錄”經(jīng)過流接口的內(nèi)容,內(nèi)容 復(fù)制的風(fēng)險(xiǎn)較小或沒有。在受約束的環(huán)境和經(jīng)常封閉的操作系統(tǒng)構(gòu)成對潛在盜版者的重 要障礙的移動裝置中尤其是這樣,這不是能相當(dāng)容易地通過能廣泛獲得的工具記錄未保 護(hù)的流的個(gè)人計(jì)算機(jī)的情況。這樣的風(fēng)險(xiǎn)能通過標(biāo)準(zhǔn)服務(wù)級保護(hù)來部分地消除,如通過流客戶端和服務(wù)器之 間的相互認(rèn)證建立安全通信信道(這可以根據(jù)需要而在移動系統(tǒng)中感知到或感知不到)。 然而,該方法的缺點(diǎn)之一是如下事實(shí)因?yàn)閮H僅已連接的裝置能訪問內(nèi)容(因?yàn)槿鄙?連接性的情況下不能訪問流服務(wù)器),不能實(shí)現(xiàn)完全便攜性(其中用戶控制所購買的內(nèi) 容)。另外,便攜性的缺失約束了可用的商業(yè)模型。此外,因?yàn)榉?wù)提供商知道用戶偏 好和用途,所以可能危及隱私。傳統(tǒng)地,該概念構(gòu)建于靜態(tài)預(yù)定的物理存儲器陣列,其一部分對于主機(jī)文件系 統(tǒng)是隱藏的,因而對用戶是隱藏的,并且其僅僅可基于用戶請求而激活。這樣的用戶請 求可以由裝置控制者遠(yuǎn)程發(fā)起,并且可包括支付。然而,該方法具有多個(gè)缺點(diǎn),至少包 括在生產(chǎn)時(shí)確定所制造的存儲器陣列的尺寸,這導(dǎo)致用戶不能進(jìn)一步擴(kuò)展存儲器陣列 的存儲容量以超過預(yù)定隱藏容量,即沒有使用靈活度等,并且,在生產(chǎn)時(shí)或者無論如何 在本地存儲裝置到達(dá)用戶手中之前確定隱藏和暴露的存儲器之間的比率。例如,裝置銷 售者可制造多個(gè)存儲器裝置,每個(gè)具有2GB的總存儲容量。然而,存儲器裝置可被銷售 為IGB存儲器裝置,而剩下的IGB對用戶隱藏或者至少表現(xiàn)為不可訪問。即使在用戶支 付時(shí)第二個(gè)GB可訪問,但是存儲器裝置的制造商承擔(dān)風(fēng)險(xiǎn);即,用戶在沒有首先向制 造商支付的情況下不能訪問第二個(gè)隱藏的GB??朔@樣的物理可擴(kuò)展存儲裝置的局限的一個(gè)方式是通過集成到主機(jī)中的私有 客戶端代理,主機(jī)提供或者本地(即,由代理通過現(xiàn)有大容量存儲命令訪問)或者遠(yuǎn)程 (即,由代理通過網(wǎng)絡(luò)協(xié)議訪問)存儲的摘要。該特定方法已經(jīng)在各種產(chǎn)品上實(shí)現(xiàn),如 Personalite Numerique所制造的并且在法國專利FR0412199中有描述。然而,因?yàn)榭蛻?端代理一般是特定于應(yīng)用的,所以它的使用限于特定平臺。部分由于主機(jī)操作系統(tǒng)的異 質(zhì)性,尤其是在移動平臺中,客戶端代理的可用性可能相當(dāng)受限。此外,因?yàn)椴煌囊?動手持裝置可能在不同的操作系統(tǒng)上運(yùn)行,這樣的實(shí)現(xiàn)方式一般需要復(fù)雜的軟件集成。 當(dāng)使用在“封閉”操作系統(tǒng)(如Nucleus)上運(yùn)行的移動手持裝置時(shí),與諸如Windows、 Symbian等的“開放”操作系統(tǒng)的情況相比,這種軟件集成通常證明為更加復(fù)雜。因而,期望克服上述限制同時(shí)提供在現(xiàn)有LBA/大容量存儲模式(即,與當(dāng)前現(xiàn) 有的主機(jī)文件系統(tǒng)兼容)下操作的機(jī)會的方法、系統(tǒng)和設(shè)備。大容量存儲裝置(如閃存裝置,包括SD和MMC型大容量存儲裝置)在存儲容 量和相關(guān)大容量存儲裝置控制器的能力(即,處理資源)兩方面中已經(jīng)大大增長??捎?存儲容量的這種增長已經(jīng)對能力大大依賴于可用存儲器的裝置(“主機(jī)裝置”)的總體可 用性帶來促進(jìn)效應(yīng)。這樣的裝置包括便攜式數(shù)字裝置,如便攜式媒體播放器、互動個(gè)人
6通信裝置(蜂窩電話、PDA等)等。以此方式,數(shù)字消費(fèi)者對使用諸如閃存的大容量存 儲器裝置的存儲能力的數(shù)字產(chǎn)品的接觸(exposure)大大增加。這種接觸一般橫跨多個(gè)主機(jī)裝置_連接或未連接的_或者訪問模式_有線對無 線、固定對移動等_每個(gè)具有特定的存儲需求。所提出的生成在大容量存儲裝置上存儲 的數(shù)據(jù)的索引(index)的配置通常包括使得對于每個(gè)主機(jī)裝置使用不同的主機(jī)特定程序。 該程序一般被安裝在主機(jī)裝置和/或主機(jī)裝置始終或偶爾連接的遠(yuǎn)程服務(wù)器上。然后,所提出的索引配置通常包括緊緊耦連到主機(jī)裝置的程序。由此,例如, 這樣的緊緊耦連到主機(jī)裝置的索引程序通常必須被定制為利用該主機(jī)裝置而操作。再 者,在數(shù)據(jù)索引中高度牽扯到主機(jī)裝置,這可能占用其他功能期望或需要的主機(jī)裝置的 處理功率?,F(xiàn)有索引配置的另一可能的缺點(diǎn)被證明為“內(nèi)容側(cè)負(fù)擔(dān)(content side-load)”,
其中移動主機(jī)裝置經(jīng)由例如USB線纜連接到計(jì)算機(jī),并且內(nèi)容被存儲在存儲裝置中。在 此情況下,移動主機(jī)所連接到的計(jì)算機(jī)的文件系統(tǒng)是管理該裝置的文件系統(tǒng),其導(dǎo)致移 動索引應(yīng)用不知道計(jì)算機(jī)所執(zhí)行的存儲操作,因而不對內(nèi)容進(jìn)行索引。已經(jīng)變得平常的是,使用被稱為“總線”(其一般符合公知標(biāo)準(zhǔn))的多條導(dǎo)電 線將主機(jī)處理器連接到不同裝置。連接到總線的裝置可包括存儲器/存儲裝置、通信裝 置、感測裝置等,并且這些裝置可以是固定或可移除的。在大多數(shù)情形中,定義總線的 線中的一些或全部在連接到總線的裝置中的任一個(gè)和/或全部之間共享。因?yàn)轳钸B到總 線的裝置共享相同的導(dǎo)電線,所以每個(gè)裝置一般被分配總線上的唯一 ID或地址,并且被 配置為僅僅對定址于該唯一 ID/地址的消息作出響應(yīng)。以此方式,多個(gè)裝置能共享形成 總線的相同的導(dǎo)電線,使得總線尺寸比如若不然而需要的情況大大減少。典型地,對總線采用主/輔總線協(xié)議。主/輔是通信協(xié)議的模型,其中一個(gè)裝置 或過程具有對一個(gè)或多個(gè)其他裝置的單向控制。在傳統(tǒng)系統(tǒng)中,一旦建立裝置或過程之 間的主/輔關(guān)系,則控制的方向始終從主到輔,即,輔裝置不能發(fā)起事務(wù)處理。在一些 系統(tǒng)中,從一群適格裝置中選擇主裝置,其他裝置充當(dāng)輔裝置的角色。在傳統(tǒng)系統(tǒng)中, 不直接在輔裝置之間傳輸數(shù)據(jù);而是,典型地,數(shù)據(jù)在公共總線上從源輔裝置傳遞到主 機(jī)控制器或其它中間裝置,其中數(shù)據(jù)在被主機(jī)控制器通過公共總線重新輸出并且定位于 目標(biāo)輔存儲裝置(其中從總線讀取和存儲數(shù)據(jù))之前被暫時(shí)高速緩存。盡管傳統(tǒng)的系統(tǒng)工作良好,但是期望減少在裝置之間傳輸數(shù)據(jù)所需的主機(jī)CPU 資源,以及減少主機(jī)和/或其他臨時(shí)存儲裝置的總線利用和存儲器需求。市場上的便攜式(即,小形狀因子、手持)消費(fèi)電子產(chǎn)品的數(shù)量和類型爆炸式增 長。例如,這些便攜式消費(fèi)電子產(chǎn)品包括PDA、媒體播放器、蜂窩電話和相機(jī)。為了 競爭和其他原因,這些消費(fèi)電子產(chǎn)品已經(jīng)增加了它們的功能性。例如,蜂窩電話增加了 PDA和相機(jī)功能性。PDA增加了蜂窩電話和音樂播放器功能性,媒體播放器增加了 PDA 和視頻游戲功能性等等。為了提供其主要功能,便攜式消費(fèi)電子產(chǎn)品使用主機(jī)裝置執(zhí)行主機(jī)應(yīng)用,其使 用在傳統(tǒng)大容量存儲裝置中存儲的內(nèi)容。進(jìn)而,主機(jī)應(yīng)用可提供直接與手持消費(fèi)產(chǎn)品的 主要功能相關(guān)的核心服務(wù)和與存儲裝置中存儲的內(nèi)容的操縱和管理有關(guān)的從屬服務(wù)。例 如,為了讓媒體播放器播放諸如MP3文件的媒體文件,主機(jī)應(yīng)用可使用媒體播放器應(yīng)用形式的核心應(yīng)用檢索和播放在存儲裝置中存儲的音樂文件(MP3文件的形式)。主機(jī)應(yīng) 用還可使用從屬服務(wù)應(yīng)用向用戶提供管理在存儲裝置中存儲的音樂文件的能力。這樣的 用戶管理可包括播放列表操縱和生成、特定音樂文件、音樂種類、音樂家等的排序和搜 索。在媒體播放器被布置為顯示圖像(靜態(tài)和視頻)的情況下,核心應(yīng)用可采用照片顯 示和編輯應(yīng)用的形式,其向用戶提供潤色(touch-up)能力,如紅眼減少、黑白轉(zhuǎn)換、圖 像剪裁和旋轉(zhuǎn)。相關(guān)的從屬服務(wù)應(yīng)用可采取圖像和或視頻管理程序的形式,其允許用戶 對圖像排序、存儲和歸類。因而,可以調(diào)用主機(jī)應(yīng)用以提供核心服務(wù)(如播放MP3文件、顯示圖像文件或 播放視頻文件(MP4))和與內(nèi)容管理和操縱(對映像排序和歸類、對MP3文件排序、播 放列表編輯、內(nèi)容搜索、索引等)有關(guān)的從屬服務(wù)。然而,無論調(diào)用主機(jī)應(yīng)用提供核心 還是從屬服務(wù),主機(jī)應(yīng)用都必須訪問在存儲裝置中存儲的數(shù)據(jù),其中使用邏輯塊格式存 儲所有文件。以邏輯塊格式存儲數(shù)據(jù)一般不會給核心應(yīng)用(例如,播放音樂文件)帶來 不適當(dāng)?shù)呢?fù)擔(dān),然而,因?yàn)榇笕萘看鎯ρb置以大容量存儲裝置塊的粒度(granularity)而不 是以邏輯文件級操作,所以從屬服務(wù)可能不被最優(yōu)地配置。因?yàn)樵S多文件(如MP3)是 預(yù)定大小的,它們被更自然地存儲為數(shù)據(jù)對象而不作為傳統(tǒng)大容量存儲裝置所強(qiáng)制的邏 輯塊,所以尤其是這樣。因?yàn)檫@些便攜式產(chǎn)品具有有限的處理資源和可用的RAM,所以當(dāng)采用便攜式消 費(fèi)電子產(chǎn)品執(zhí)行處理密集任務(wù),需要主機(jī)應(yīng)用(尤其是從屬應(yīng)用)處理作為邏輯塊存儲的 數(shù)據(jù)(其應(yīng)更自然地存儲為數(shù)據(jù)對象)時(shí),出現(xiàn)困難。具體地,在從屬服務(wù)能導(dǎo)致主機(jī) 處理器的過度功耗和長執(zhí)行時(shí)間導(dǎo)致慢響應(yīng)的情況下,一般是搜索/查詢操作(即,“讀 相關(guān)”命令)消耗主機(jī)的大部分處理資源。以此方式,因?yàn)橛脩敉ǔ2幌矚g慢的、電池 壽命短的產(chǎn)品,所以用戶可能留下負(fù)面的用戶體驗(yàn)。因而,期望針對這些缺點(diǎn)的索引方法、系統(tǒng)和設(shè)備。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的不同方面,描述了用于提供分布式存儲服務(wù)的各種方法、裝置和 系統(tǒng)。這樣的服務(wù)包括提供本地存儲裝置和端(end)用戶之間的直接交互。根據(jù)本發(fā)明的一個(gè)方面,提供一種LSD,包括存儲器陣列,被邏輯地布置為 包括至少第一部分和至少第二部分,其中第一和第二部分彼此獨(dú)立,以及其中第一應(yīng)用 管理第一部分中的第一應(yīng)用內(nèi)容,以及其中第二應(yīng)用管理第二部分中的第二應(yīng)用內(nèi)容, 其中第一和第二應(yīng)用彼此獨(dú)立地執(zhí)行,以及其中第一應(yīng)用對第一應(yīng)用內(nèi)容的管理獨(dú)立于 第二應(yīng)用對第二應(yīng)用內(nèi)容的管理,以及其中LSD向第二應(yīng)用告知在第一部分中存儲的第 一應(yīng)用內(nèi)容,其中LSD的告知獨(dú)立于主機(jī)裝置(HD),其中基于第一應(yīng)用內(nèi)容管理策略而 進(jìn)行第一應(yīng)用的管理,以及其中基于第二應(yīng)用內(nèi)容管理策略而進(jìn)行第二應(yīng)用的管理。根據(jù)本發(fā)明的另一方面,提供一種計(jì)算系統(tǒng),包括主機(jī)裝置,其包括主機(jī)裝 置文件系統(tǒng)(HDFS)和網(wǎng)絡(luò)接口 ;本地存儲裝置LSD,包括存儲器陣列,被邏輯地布 置為包括至少第一部分和至少第二部分,其中第一和第二部分彼此獨(dú)立,其中第一部分 由HDFS管理從而第一應(yīng)用使用HDFS管理第一部分中的第一應(yīng)用內(nèi)容,以及其中第二部 分不由HDFS管理從而HDFS看不到第二部分,其中第一和第二應(yīng)用彼此獨(dú)立地執(zhí)行,以及其中第一應(yīng)用對第一應(yīng)用內(nèi)容的管理獨(dú)立于第二應(yīng)用對第二應(yīng)用內(nèi)容的管理,以及 其中LSD向第二應(yīng)用告知在第一部分中存儲的第一應(yīng)用內(nèi)容,其中HDFS看不到所述告 知,以及其中基于第一應(yīng)用內(nèi)容管理策略而進(jìn)行第一應(yīng)用的管理,以及其中基于第二應(yīng) 用內(nèi)容管理策略而進(jìn)行第二應(yīng)用的管理,以及其中第二應(yīng)用使用由LSD提供給第二應(yīng)用 的在第一部分中存儲的第一應(yīng)用內(nèi)容的信息,推導(dǎo)出第一應(yīng)用內(nèi)容管理策略。本發(fā)明的一個(gè)實(shí)施例描述了計(jì)算系統(tǒng),其至少包括主機(jī)裝置(HD)和由HD管理 的本地存儲裝置(LSD)。除了 HD提供的接口之外,LSD不利用任何到HD外部的裝置 的接口。LSD通過使用LSD邏輯請求提示HD在LSD和起動(Iauching)應(yīng)用之間建立 通信路徑而間接提示HD執(zhí)行所請求的過程。LSD和起動應(yīng)用在通信路徑上邏輯交互而 無需HD的介入。邏輯交互使得起動應(yīng)用提示HD執(zhí)行所請求的過程。在本發(fā)明的一個(gè)方面中,起動應(yīng)用與HD管理的SIM卡相關(guān)聯(lián)。SIM卡服從SIM 應(yīng)用工具包命令集或USIM應(yīng)用工具包命令集。在另一實(shí)施例中,描述了在計(jì)算系統(tǒng)中間接提示HD執(zhí)行所請求的過程的方法。 計(jì)算系統(tǒng)包括主機(jī)裝置(HD)和由HD管理的本地存儲裝置(LSD),其中除了 HD提供的 接口之外LSD不利用任何到HD外部裝置的接口。該方法至少通過以下操作執(zhí)行使用LSD邏輯請求提示HD在LSD和起動應(yīng)用之間建立通信路徑,其中LSD邏 輯請求不被創(chuàng)建為服務(wù)于HD發(fā)起的過程;在通信路徑上邏輯交互;以及使得起動應(yīng)用 提示HD執(zhí)行所請求的過程;以及執(zhí)行所請求的過程。根據(jù)本發(fā)明的不同實(shí)施例,描述了用于提供改善的因特網(wǎng)應(yīng)用(如瀏覽器)性能 的各種方法、裝置和系統(tǒng)。一個(gè)實(shí)施例描述了本地存儲裝置(LSD)。LSD至少包括 存儲器陣列,被邏輯地布置為包括彼此獨(dú)立管理的至少第一部分和至少第二部分。第一 應(yīng)用管理第一部分中的第一應(yīng)用內(nèi)容,第二應(yīng)用管理第二部分中的第二應(yīng)用內(nèi)容。第一 和第二應(yīng)用彼此獨(dú)立地執(zhí)行,第一應(yīng)用對第一應(yīng)用內(nèi)容的管理獨(dú)立于第二應(yīng)用對第二應(yīng) 用內(nèi)容的管理。LSD獨(dú)立于主機(jī)裝置而向第二應(yīng)用告知在第一部分中存儲的第一應(yīng)用內(nèi) 容。在另一實(shí)施例中,描述了計(jì)算系統(tǒng),至少包括主機(jī)裝置,其包括主機(jī)裝置文 件系統(tǒng)(HDFS)和網(wǎng)絡(luò)接口;本地存儲裝置LSD,其包括存儲器陣列,被邏輯地布置為 包括至少第一部分和至少第二部分,其中第一和第二部分被彼此獨(dú)立地管理。第一部 分由HDFS管理從而第一應(yīng)用使用HDFS管理第一部分中的第一應(yīng)用內(nèi)容第二部分不由 HDFS管理從而HDFS看不到第二部分。第一和第二應(yīng)用彼此獨(dú)立地執(zhí)行,第一應(yīng)用對 第一應(yīng)用內(nèi)容的管理獨(dú)立于第二應(yīng)用對第二應(yīng)用內(nèi)容的管理。LSD向第二應(yīng)用告知在第 一部分中存儲的第一應(yīng)用內(nèi)容,其中該告知獨(dú)立于HD。描述了由本地存儲裝置(LSD)執(zhí)行的方法。LSD包括存儲器陣列,被邏輯地布 置為包括至少第一部分和至少第二部分,其中第一和第二部分被彼此獨(dú)立地管理,其中 第一應(yīng)用管理第一部分中的第一應(yīng)用內(nèi)容,第二應(yīng)用管理第二部分中的第二應(yīng)用內(nèi)容。 第一和第二應(yīng)用彼此獨(dú)立地執(zhí)行,并且第一應(yīng)用對第一應(yīng)用內(nèi)容的管理獨(dú)立于第二應(yīng)用 對第二應(yīng)用內(nèi)容的管理。至少通過以下操作執(zhí)行該方法由LSD獨(dú)立于主機(jī)裝置而向第 二應(yīng)用告知在第一部分中存儲的第一應(yīng)用內(nèi)容。在另一實(shí)施例中,描述了由包含與主機(jī)裝置(HD)通信的本地存儲裝置(LSD)
9的系統(tǒng)執(zhí)行的計(jì)算機(jī)程序產(chǎn)品。LSD包括存儲器陣列,被邏輯地布置為包括被彼此獨(dú)立 管理的至少第一部分和至少第二部分。第一應(yīng)用管理第一部分中的第一應(yīng)用內(nèi)容,第二 應(yīng)用管理第二部分中的第二應(yīng)用內(nèi)容。第一和第二應(yīng)用彼此獨(dú)立地執(zhí)行,第一應(yīng)用對第 一應(yīng)用內(nèi)容的管理獨(dú)立于第二應(yīng)用對第二應(yīng)用內(nèi)容的管理。計(jì)算機(jī)程序產(chǎn)品包括用于由 LSD向第二應(yīng)用告知在第一部分中存儲的第一應(yīng)用內(nèi)容的計(jì)算機(jī)代碼,其中該告知獨(dú)立 于HD,以及用于存儲計(jì)算機(jī)代碼的計(jì)算機(jī)可讀介質(zhì)。根據(jù)本發(fā)明的不同實(shí)施例,描述了安全分發(fā)和消費(fèi)受保護(hù)數(shù)字內(nèi)容的各種方 法、裝置和系統(tǒng)。在一個(gè)實(shí)施例中,描述了獲取和消費(fèi)受保護(hù)數(shù)字內(nèi)容的方法,受保護(hù) 數(shù)字內(nèi)容被數(shù)字內(nèi)容提供者根據(jù)DRM方案向其附加了至少一個(gè)約束。該方法可由包括具 有存儲器陣列的本地存儲裝置(LSD)的系統(tǒng)執(zhí)行,其中LSD與至少具有被布置為管理存 儲器陣列的至少一部分的主機(jī)裝置文件系統(tǒng)(HDFS)的主機(jī)裝置(HD)耦連。該方法可 通過以下操作執(zhí)行由LSD獲取受保護(hù)數(shù)字內(nèi)容;由LSD在存儲器陣列中安全地存儲所 獲取的受保護(hù)數(shù)字內(nèi)容,其中獲取和安全存儲每個(gè)均按照DRM方案,并且都不由HDFS 發(fā)起;以及消費(fèi)受保護(hù)數(shù)字內(nèi)容。通過將安全存儲的受保護(hù)內(nèi)容中的至少一些轉(zhuǎn)換為數(shù) 字?jǐn)?shù)據(jù)流,以及由LSD流傳輸數(shù)字?jǐn)?shù)據(jù)流,消費(fèi)受保護(hù)數(shù)字內(nèi)容。如果向數(shù)字?jǐn)?shù)據(jù)流附 加的至少一個(gè)約束是使用約束,則LSD強(qiáng)加該使用約束。在另一實(shí)施例中,描述了獲取和消費(fèi)受保護(hù)數(shù)字內(nèi)容的計(jì)算機(jī)程序產(chǎn)品,受保 護(hù)數(shù)字內(nèi)容被數(shù)字內(nèi)容提供者根據(jù)DRM方案向其附加了至少一個(gè)約束。計(jì)算機(jī)程序產(chǎn)品 可由包括具有存儲器陣列的本地存儲裝置(LSD)的系統(tǒng)中包括的處理器執(zhí)行,其中LSD 與至少具有被布置為管理存儲器陣列的至少一部分的主機(jī)裝置文件系統(tǒng)(HDFS)的主機(jī) 裝置(HD)耦連。計(jì)算機(jī)程序產(chǎn)品至少包括用于由LSD獲取受保護(hù)數(shù)字內(nèi)容的計(jì)算機(jī)代 碼、用于由LSD在存儲器陣列中安全地存儲所獲取的受保護(hù)數(shù)字內(nèi)容的計(jì)算機(jī)代碼,其 中獲取和安全存儲每個(gè)均按照DRM方案,并且都不由HDFS發(fā)起,以及用于通過將安 全存儲的受保護(hù)內(nèi)容中的至少一些轉(zhuǎn)換為數(shù)字?jǐn)?shù)據(jù)流以及由LSD流傳輸數(shù)字?jǐn)?shù)據(jù)流而消 費(fèi)受保護(hù)數(shù)字內(nèi)容的計(jì)算機(jī)代碼,其中如果向數(shù)字?jǐn)?shù)據(jù)流附加的至少一個(gè)約束是使用約 束,則LSD強(qiáng)加該使用約束;以及用于存儲計(jì)算機(jī)代碼的計(jì)算機(jī)可讀介質(zhì)。在再一實(shí)施例中,描述了獲取和消費(fèi)受保護(hù)數(shù)字內(nèi)容的系統(tǒng),受保護(hù)數(shù)字內(nèi)容 被數(shù)字內(nèi)容提供者根據(jù)DRM方案向其附加了至少一個(gè)約束。該系統(tǒng)包括至少具有主機(jī) 裝置文件系統(tǒng)(HDFS)的主機(jī)裝置(HD),以及與主機(jī)裝置(HD)耦連的包括存儲器陣 列——其至少一部分被HDFS管理——的本地存儲裝置(LSD)。LSD獲取并在存儲器陣 列中安全地存儲受保護(hù)數(shù)字內(nèi)容,其中獲取和安全存儲每個(gè)均按照DRM方案,并且都不 由HDFS發(fā)起。通過將安全存儲的受保護(hù)內(nèi)容中的至少一些轉(zhuǎn)換為數(shù)字?jǐn)?shù)據(jù)流,以及由 LSD流傳輸數(shù)字?jǐn)?shù)據(jù)流,消費(fèi)受保護(hù)數(shù)字內(nèi)容。如果向數(shù)字?jǐn)?shù)據(jù)流附加的至少一個(gè)約束 是使用約束,則LSD強(qiáng)加該使用約束。在再一實(shí)施例中,描述了計(jì)算系統(tǒng)。計(jì)算系統(tǒng)包括至少具有主機(jī)裝置文件系統(tǒng) 和LSD驅(qū)動器的主機(jī)裝置(HD),具有由主機(jī)裝置文件系統(tǒng)(HDFS)管理的至少一個(gè)存儲 區(qū)域的本地存儲裝置(LSD),以及在LSD外部并與HD通信的請求應(yīng)用,其中該請求應(yīng) 用不利用與HDFS或LSD驅(qū)動器之間的任何通信路徑。請求應(yīng)用強(qiáng)迫(compel) LSD讀取在至少一個(gè)存儲區(qū)域中存儲的數(shù)據(jù)的所選部分,而不由HDFS介入,然后LSD將從該至 少一個(gè)存儲區(qū)域讀取的所選數(shù)據(jù)流傳輸?shù)酵獠繎?yīng)用。在本發(fā)明的一個(gè)方面中,如果在該至少一個(gè)存儲區(qū)域中存儲的數(shù)據(jù)的所選部分 是被數(shù)字內(nèi)容提供者根據(jù)DRM方案向其附加了至少一個(gè)約束的受保護(hù)數(shù)字內(nèi)容,則LSD 通過將從該至少一個(gè)存儲區(qū)域讀取的受保護(hù)內(nèi)容轉(zhuǎn)換為附加了至少一個(gè)約束的數(shù)字?jǐn)?shù)據(jù) 流,將從該至少一個(gè)存儲區(qū)域讀取的受保護(hù)內(nèi)容流傳輸?shù)酵獠繎?yīng)用。如果向數(shù)字?jǐn)?shù)據(jù)流 附加的至少一個(gè)約束是使用約束,則LSD強(qiáng)加該使用約束。根據(jù)本發(fā)明的具體實(shí)施例,描述了用于服務(wù)于從主機(jī)裝置(HD)向本地存儲裝置 (LSD)發(fā)送的管理命令的各種方法、服務(wù)和系統(tǒng)。在一個(gè)方面中,描述了由與HD通信 的本地存儲裝置(LSD)服務(wù)于從主機(jī)裝置(HD)內(nèi)的主機(jī)裝置文件系統(tǒng)(HDFS)發(fā)送的 管理命令的方法。該方法包括在LSD處接收第一管理命令,其指示LSD對相關(guān)邏輯地址 執(zhí)行操作。如果第一管理命令與至少第一組邏輯地址相關(guān)聯(lián),則該方法包括至少通過向 LSD外部的裝置(RD)發(fā)送指示RD對RD內(nèi)的存儲器位置執(zhí)行操作的第二管理命令,由 LSD服務(wù)于第一管理命令。在各種實(shí)施例中,HDFS看不到第二管理命令向RD的發(fā)送 和在RD內(nèi)的存儲器位置上與第一管理命令相關(guān)聯(lián)的操作的執(zhí)行。如果第一管理命令不 與第一組邏輯地址相關(guān)聯(lián),則該方法包括僅僅通過由LSD對LSD內(nèi)的存儲器位置執(zhí)行的 操作,由LSD服務(wù)于第一管理命令。在各種實(shí)施例中,除了經(jīng)由HD提供的接口之外, LSD不利用任何到HD外部的任何其他裝置的任何其他物理接口。根據(jù)具體實(shí)施例,如果管理命令至少與第一組邏輯地址相關(guān)聯(lián),則該方法還包 括由LSD提示HD建立在LSD和RD之間經(jīng)由HD的通信路徑。在優(yōu)選實(shí)施例中,一旦 建立了通信路徑,則除了維護(hù)通信路徑之外,不再需要HD介入。在本發(fā)明的系統(tǒng)方面中,描述了計(jì)算系統(tǒng),其包括具有至少主機(jī)裝置文件系統(tǒng) (HDFS)的主機(jī)裝置(HD)和通過HD/LSD接口與HD耦連的本地存儲裝置(LSD)。LSD 包括存儲器陣列和被布置為本地管理存儲器陣列的LSD控制器。存儲器陣列被邏輯地布 置為包括至少一個(gè)大容量存儲區(qū)域,其由HDFS經(jīng)由LSD控制器、通過經(jīng)HD/LSD接口 向LSD控制器發(fā)送管理命令而外部地管理。管理命令可指示LSD對相關(guān)存儲器地址執(zhí) 行操作。根據(jù)具體實(shí)施例,如果LSD控制器確定從HDFS接收的第一管理命令與至少第 一組邏輯地址相關(guān)聯(lián),則LSD控制器至少通過向LSD外部的裝置(RD)發(fā)送指示RD對 RD內(nèi)的存儲器位置執(zhí)行操作的第二管理命令,服務(wù)于第一管理命令,HDFS看不到第二 管理命令向RD的發(fā)送和在RD內(nèi)的存儲器位置上與第一管理命令相關(guān)聯(lián)的操作的執(zhí)行。 此外,在一些實(shí)施例中,如果LSD控制器確定從HDFS接收的第一管理命令與至少第二 組邏輯地址相關(guān)聯(lián),則LSD控制器通過由LSD對LSD大容量存儲區(qū)域內(nèi)的存儲器位置執(zhí) 行的操作,服務(wù)于第一管理命令。在另一方面中,描述了計(jì)算機(jī)系統(tǒng),其包括至少具有主機(jī)裝置文件系統(tǒng)(HDFS) 的主機(jī)裝置(HD)。系統(tǒng)還包括通過HD/LSD接口與HD耦連的本地存儲裝置(LSD), LSD包括存儲器陣列和被布置為本地管理存儲器陣列的LSD控制器,存儲器陣列被邏輯 地布置為包括至少一個(gè)大容量存儲區(qū)域,其由HDFS經(jīng)由LSD控制器、通過經(jīng)HD/LSD 接口向LSD控制器發(fā)送管理命令而外部地管理。在各種實(shí)施例中,HDFS還被配置為通 過向LSD發(fā)送指示LSD將第二管理命令轉(zhuǎn)發(fā)給RD的第一管理命令而經(jīng)由LSD管理LSD外部的裝置(RD)。在再一方面中,描述了在本地存儲裝置(LSD)內(nèi)的一個(gè)或多個(gè)有形介質(zhì)中編碼 的用于服務(wù)于從與LSD通信的主機(jī)裝置(HD)內(nèi)的主機(jī)裝置文件系統(tǒng)(HDFS)發(fā)送的管 理命令的邏輯。當(dāng)被執(zhí)行時(shí),邏輯可操作為在LSD接收第一管理命令,第一管理命令指 示LSD對相關(guān)邏輯地址執(zhí)行操作,如果第一管理命令與至少第一組邏輯地址相關(guān)聯(lián),則 至少通過向LSD外部的裝置(RD)發(fā)送指示RD對RD內(nèi)的存儲器位置執(zhí)行操作的第二管 理命令,由LSD服務(wù)于第一管理命令,HDFS看不到第二管理命令向RD的發(fā)送和在RD 內(nèi)的存儲器位置上與第一管理命令相關(guān)聯(lián)的操作的執(zhí)行,否則僅僅通過由LSD對LSD內(nèi) 的存儲器位置執(zhí)行的操作,由LSD服務(wù)于第一管理命令。根據(jù)一個(gè)方面,具有主機(jī)裝置(HD)的計(jì)算裝置與本地存儲裝置(LSD)通信, 其中LSD包括存儲器陣列。一種方法操作以對于LSD的存儲器陣列中存儲的數(shù)據(jù)生成搜 索索引。通過LSD而不涉及HD,對于LSD的存儲器陣列中存儲的數(shù)據(jù)生成索引數(shù)據(jù)。 通過由LSD在LSD上存儲所生成的索引數(shù)據(jù),作為搜索索引的至少一部分。索引可以 包括可以用來響應(yīng)于對LSD的數(shù)據(jù)的搜索查詢的數(shù)據(jù)。查詢可從HD發(fā)起或從LSD內(nèi)發(fā) 起。索引的使用不限于響應(yīng)于搜索查詢。例如,索引可用于內(nèi)容篩查。根據(jù)不同的實(shí)施例,描述了用于提供存儲服務(wù)的各種方法、裝置和系統(tǒng)。一個(gè) 實(shí)施例描述了系統(tǒng)。該系統(tǒng)至少包括數(shù)據(jù)存儲陣列;第一邏輯接口,適用于管理在數(shù) 據(jù)存儲陣列中被存儲為邏輯數(shù)據(jù)塊的數(shù)據(jù);以及第二邏輯接口,適用于管理與被存儲為 邏輯數(shù)據(jù)塊的數(shù)據(jù)相對應(yīng)的數(shù)據(jù)對象。當(dāng)通過第一邏輯接口修改至少一些被存儲為邏輯 數(shù)據(jù)塊的數(shù)據(jù)時(shí),修改的數(shù)據(jù)能通過第一和第二邏輯接口兩者訪問,并且能通過第二邏 輯接口訪問包括同時(shí)管理一組預(yù)定的數(shù)據(jù)對象性質(zhì)(property)。另一實(shí)施例描述了本地存儲裝置(LSD)。本地存儲裝置包括數(shù)據(jù)存儲陣列; 第一邏輯接口,適用于管理在數(shù)據(jù)存儲陣列中被存儲為邏輯數(shù)據(jù)塊的數(shù)據(jù);以及第二邏 輯接口,適用于管理與被存儲為邏輯數(shù)據(jù)塊的數(shù)據(jù)相對應(yīng)的數(shù)據(jù)對象。當(dāng)通過第一邏輯 接口修改至少一些被存儲為邏輯數(shù)據(jù)塊的數(shù)據(jù)時(shí),修改的數(shù)據(jù)能通過第一和第二邏輯接 口兩者訪問。能通過第二邏輯接口訪問包括同時(shí)管理一組預(yù)定的數(shù)據(jù)對象性質(zhì)。在再一實(shí)施例中,描述了方法。該方法至少通過在數(shù)據(jù)存儲陣列中執(zhí)行以下操 作而執(zhí)行。通過第一接口管理在數(shù)據(jù)存儲陣列中被存儲為邏輯數(shù)據(jù)塊的數(shù)據(jù),并且通過 第二接口管理在數(shù)據(jù)存儲陣列中存儲的數(shù)據(jù)對象,其中數(shù)據(jù)對象與被存儲為邏輯數(shù)據(jù)塊 的數(shù)據(jù)相對應(yīng)。當(dāng)通過第一接口修改被存儲為邏輯數(shù)據(jù)庫的數(shù)據(jù)時(shí),修改的數(shù)據(jù)能通過 第一和第二接口兩者訪問。能通過第二接口訪問包括同時(shí)管理一組預(yù)定的數(shù)據(jù)對象性 質(zhì)。
圖1示出了根據(jù)本發(fā)明實(shí)施例的系統(tǒng)的符號化表示圖。圖2A-2C例示了根據(jù)本發(fā)明實(shí)施例的主機(jī)裝置/本地存儲裝置系統(tǒng)。圖3A-3B示出了根據(jù)本發(fā)明實(shí)施例的計(jì)算系統(tǒng)。圖4示出了根據(jù)本發(fā)明實(shí)施例的計(jì)算系統(tǒng)。圖5A-5B示出了圖3所示的網(wǎng)絡(luò)的更詳細(xì)的視圖。
12
圖6示出了描述根據(jù)本發(fā)明實(shí)施例的過程的細(xì)節(jié)的流程圖。圖7示出了描述根據(jù)本發(fā)明實(shí)施例的過程的細(xì)節(jié)的流程圖。圖8示出了根據(jù)本發(fā)明實(shí)施例的代表性媒體網(wǎng)絡(luò)。圖9示出了根據(jù)本發(fā)明的代表性計(jì)算系統(tǒng)。圖10例示了圖9所示的計(jì)算系統(tǒng)的特定實(shí)現(xiàn)方式。圖11示出了根據(jù)本發(fā)明實(shí)施例的本地存儲裝置的代表性實(shí)現(xiàn)方式。圖12A-B示出了本發(fā)明的實(shí)施例。圖13例示了根據(jù)本發(fā)明實(shí)施例的主機(jī)裝置/本地存儲裝置系統(tǒng)。圖14A-14B分別例示了根據(jù)本發(fā)明實(shí)施例的本地存儲裝置(LSD)的映射表和感 知存儲容量的圖示。圖15示出了根據(jù)本發(fā)明實(shí)施例的服務(wù)于管理命令的過程的流程圖。圖16例示了適合于與圖15的過程一起使用的系統(tǒng)。圖17例示了包括主機(jī)裝置(HD)和本地存儲裝置的計(jì)算系統(tǒng),其中LSD被配置 為索引在LSD的存儲器陣列中存儲的數(shù)據(jù)。圖18例示了其中基于HD對LSD的數(shù)據(jù)訪問而生成的索引數(shù)據(jù)的例子。圖19示出了其中可由HD獲得和/或使用索引數(shù)據(jù)的系統(tǒng)的示例配置。圖20例示了其中索引數(shù)據(jù)可被傳輸?shù)街?輔范型(paradigm)之外的外部裝置的 示例配置。圖21是在寬的方面中例示了 LSD可用來確定指示在LSD的存儲器陣列中存儲的 數(shù)據(jù)的索引數(shù)據(jù)的方法的流程圖。圖22例示了根據(jù)本發(fā)明實(shí)施例的系統(tǒng)的簡化框圖。圖23例示了根據(jù)本發(fā)明實(shí)施例的示例存儲裝置的簡化框圖。圖24示出了例示在存儲裝置之間直接傳輸數(shù)據(jù)的過程的流程圖。圖25例示了根據(jù)本發(fā)明實(shí)施例的包括被排列為菊花鏈(daisy chain)配置的多個(gè) 存儲裝置的系統(tǒng)的簡化框圖。圖26例示了包括主機(jī)裝置(HD)和本地存儲裝置(LSD)的系統(tǒng)。圖27是同步器的實(shí)施例。圖28至圖29例示了能在所述實(shí)施例的環(huán)境下執(zhí)行的各種操作。圖30示出了根據(jù)所述實(shí)施例的流程圖。圖31示出了根據(jù)所述實(shí)施例的代表性媒體網(wǎng)絡(luò)。
具體實(shí)施例方式現(xiàn)在將詳細(xì)參照本發(fā)明的具體實(shí)施例,在附圖中例示了本發(fā)明的例子。盡管將 結(jié)合具體實(shí)施例描述本發(fā)明,但將理解,不是想要將本發(fā)明限于所述的實(shí)施例。相反, 想要覆蓋由所附權(quán)利要求限定的在本發(fā)明的精神和范圍內(nèi)可包括的變更、修改和等價(jià) 物。應(yīng)注意,這里描述的任何功能塊或功能布置可被實(shí)現(xiàn)為物理實(shí)體或邏輯實(shí)體,或者 兩者的組合。隨著存儲裝置控制器的能力的增長,從存儲裝置中使用由存儲裝置控制器使得 可用的處理資源而執(zhí)行軟件應(yīng)用成為可能。存儲裝置控制器的這種增強(qiáng)的操作性帶來新(目前為止不實(shí)用)的交互模式的范型(paradigm),如面向用戶的存儲裝置。這種面向用 戶的存儲裝置可用于改善用戶的數(shù)字內(nèi)容消費(fèi)體驗(yàn),其一般橫跨多個(gè)裝置-連接或未連 接的_或者訪問模式_有線對無線、固定對移動等_每個(gè)具有特定的存儲需求。為了提供支持“用戶中心”(與傳統(tǒng)的“裝置中心”相對)存儲管理方式,本發(fā) 明超越了主機(jī)管理的、基于LBA的大容量存儲范型的嚴(yán)格限制,并提供了在完全向后兼 容現(xiàn)有大容量存儲裝置的同時(shí)以其他交互類型增強(qiáng)大容量存儲的存儲服務(wù)范型。例如, 其他交互類型考慮存儲資源和服務(wù)構(gòu)建塊潛在分布在各種物理位置上(即,主機(jī)計(jì)算機(jī) 中的或網(wǎng)絡(luò)上的數(shù)據(jù)存儲裝置)??紤]這一點(diǎn),存儲服務(wù)范型規(guī)定本地?cái)?shù)據(jù)存儲裝置現(xiàn)在能夠做到以下方面1) 與同一主機(jī)計(jì)算機(jī)中存在的其他數(shù)據(jù)存儲裝置交互,或與遠(yuǎn)程服務(wù)器計(jì)算機(jī)上運(yùn)行的應(yīng) 用交互,以及2)該交互可由數(shù)據(jù)存儲裝置本身、由主機(jī)應(yīng)用或由遠(yuǎn)程服務(wù)器發(fā)起。本發(fā)明還涉及包括上述存儲器裝置的電子系統(tǒng)。存儲器裝置(即,存儲器卡) 通常用于存儲與各種電子產(chǎn)品一起使用的數(shù)字?jǐn)?shù)據(jù)。存儲器裝置常??蓮碾娮酉到y(tǒng)移 除,所以所存儲的數(shù)字?jǐn)?shù)據(jù)是便攜的。根據(jù)本發(fā)明的存儲器裝置可具有相對小的形狀因 子,并且可用于存儲獲取數(shù)據(jù)的電子裝置的數(shù)字?jǐn)?shù)據(jù),如相機(jī)、手持或筆記本計(jì)算機(jī)、 網(wǎng)卡、網(wǎng)絡(luò)電器、機(jī)頂盒、手持或其他小媒體(例如,音頻)播放器/記錄器(例如, MP3裝置)和醫(yī)學(xué)監(jiān)視器。下面參照圖1-31討論本發(fā)明的實(shí)施例。然而,本領(lǐng)域技術(shù)人員將容易理解, 這里參照附圖給出的詳細(xì)描述是為了解釋的目的,因?yàn)楸景l(fā)明超出這些有限的實(shí)施例。 應(yīng)注意,將理解本發(fā)明可用于任何類型的本地?cái)?shù)據(jù)存儲裝置,它們可包括諸如多媒體卡 (MMC)和安全數(shù)字卡(SD)的非易失性存儲器。圖1示出了根據(jù)本發(fā)明實(shí)施例的主裝置/輔系統(tǒng)100的符號化表示圖。例如, 根據(jù)這里描述的具體實(shí)施例,輔裝置可采取本地存儲裝置的形式,例如但不限于上述本 地存儲裝置中的任一個(gè),而主裝置可采取主機(jī)裝置的形式,例如但不限于上述主機(jī)裝置 中的任一個(gè)。應(yīng)注意,主/輔是一個(gè)裝置或過程具有對一個(gè)或多其他裝置的單向控制的 通信協(xié)議的模型。在傳統(tǒng)的系統(tǒng)中,一旦建立裝置或過程之間的主/輔關(guān)系,則控制的 方向始終是從主到輔。在一些系統(tǒng)中,從一群適格裝置中選擇主裝置,而其他裝置充當(dāng) 輔裝置的角色。因此,主/輔系統(tǒng)100 (下文簡稱為系統(tǒng)100)包括部分地通過傳統(tǒng)的主 /輔范型106彼此相關(guān)的主裝置102和輔裝置104。還應(yīng)注意,除了由主裝置102提供的 接口外,輔裝置104不利用到主裝置102外部的任何裝置的任何接口。主裝置102可操作多個(gè)主裝置過程108。主裝置過程意味著僅僅為了主裝置的利 益而執(zhí)行的過程。這樣的主裝置過程可包括任何數(shù)目和類型的過程,例如,在向主裝置 102提供可執(zhí)行指令時(shí)有用的提取指令命令。主裝置過程108可包括主裝置過程110、112 和114,每一個(gè)可由處理單元116執(zhí)行。過程110、112或114中的任一個(gè)可從輔裝置服 務(wù)118請求服務(wù)。例如,過程110可通過生成主裝置請求120而從輔裝置服務(wù)118請求 服務(wù)。輔裝置服務(wù)118可通過輔服務(wù)響應(yīng)122響應(yīng)于主裝置請求120。例如,主裝置請 求120可采用READ (讀)命令的形式,而被請求的輔服務(wù)響應(yīng)122可采用DATA(數(shù)據(jù)) 的形式。然而,在傳統(tǒng)主/輔范型106的界限(confine)內(nèi),輔裝置104可不提示或按任 何方式使得主裝置102執(zhí)行主裝置過程108之外的任何過程。換言之,在傳統(tǒng)主/輔范型106的環(huán)境下,僅僅主裝置102可執(zhí)行主裝置過程108中的至少一個(gè)。然而,本發(fā)明通過允許輔裝置104提示處理器116執(zhí)行為了輔裝置102的利益而 請求的過程124,避開傳統(tǒng)的主/輔范型106。以此方式,所請求的過程124可由處理器 116執(zhí)行,并且仍然可完全獨(dú)立于并與任何主裝置過程108無關(guān)。輔裝置104可包括輔裝 置代理126,其可將輔裝置過程128和輔裝置邏輯請求130相關(guān)聯(lián)。主裝置102可包括借 助于輔裝置邏輯請求130而與處理器116和輔裝置104通信的主裝置代理132。以此方 式,主裝置代理132可使用輔裝置邏輯請求130提示處理器116執(zhí)行所請求的輔裝置過程 124。以此方式,輔裝置生成的邏輯請求可轉(zhuǎn)換為主裝置提供的物理響應(yīng),而與任何主裝 置發(fā)起的過程無關(guān)并獨(dú)立于任何主裝置發(fā)起的過程。圖2A示出了根據(jù)本發(fā)明實(shí)施例的計(jì)算系統(tǒng)200。系統(tǒng)200可包括輔裝置104, 其可采用本地存儲裝置(LSD) 204的形式。LSD 204可采用可移除存儲器裝置的形式,如 具有相對小的形狀因子并且可用來存儲用于諸如相機(jī)、手持或筆記本計(jì)算機(jī)、網(wǎng)卡、網(wǎng) 絡(luò)電器、機(jī)頂盒、手持或其他小音頻播放器/記錄器(例如,MP3裝置)和醫(yī)學(xué)監(jiān)視器 的電子產(chǎn)品的數(shù)字?jǐn)?shù)據(jù)的存儲卡。存儲卡的例子包括PC卡(以前的PCMCIA裝置)、閃 存卡(例如,緊致閃存類型I和II)、安全數(shù)字(SD)卡、多媒體卡(MMC)、ATA卡(例 如,緊致閃存卡)、記憶棒、智能媒體(SmartMedia)卡。此外,LSD 204可采用非可移 除存儲器裝置的形式,如Milpitas CA的SanDisk公司制造的SD兼容iNAND 嵌入式閃 存驅(qū)動。LSD 204可通過HD/LSD接口 206與主機(jī)裝置(HD) 202形式的主裝置102通信。 應(yīng)注意,HD/LSD 206可被配置為機(jī)械實(shí)體(如插槽或互連總線),其中可機(jī)械連接HD 202和LSD 204。在一些實(shí)施例中,HD/LSD 206可采用無線接口的方式。因?yàn)镠D 202 是主裝置,所以HD 202包括處理器。然而,為了簡潔起見,沒有示出在本說明書中也 未進(jìn)一步提及HD 202中包括的處理器,雖然如此,但假設(shè)它存在。LSD 204可物理地專 門連接到HD 202,因而不能在沒有HD 202介入的情況下訪問或另外與計(jì)算系統(tǒng)200之外 的電路和/或應(yīng)用通信。典型地,除了 HD 202提供的接口之外,LSD 204不利用在HD 202之外的裝置的任何接口。HD 202包括與LSD驅(qū)動器210通信的主機(jī)裝置文件系統(tǒng)(HDFS) 208。在所述 實(shí)施例中,HDFS 208可向LSD驅(qū)動器210發(fā)出LSD管理命令212。進(jìn)而,LSD驅(qū)動 器210可通過HD/LSD接口 206向LSD 204傳遞LSD管理命令212 (適當(dāng)格式化的)。 例如,在LSD 204被配置為包括具有邏輯塊地址(LBA)架構(gòu)的數(shù)據(jù)存儲陣列的那些情況 下,LSD管理命令212可采用塊(block)命令的形式。HD 202還可包括(內(nèi)部)軟件應(yīng) 用214。內(nèi)部應(yīng)用意味著軟件應(yīng)用214可利用HDFS 208和LSD驅(qū)動器210而與LSD 204 通信。這樣的軟件應(yīng)用可包括主機(jī)裝置操作系統(tǒng)(HDOS) 216和應(yīng)用218,每一個(gè)一般駐 留在主機(jī)裝置主存儲器(其可采用硬盤驅(qū)動器或HDD以及諸如閃存的非易失性存儲器的 形式)中。在所述實(shí)施例中,軟件應(yīng)用214可利用HDFS 208和LSD驅(qū)動器210而與LSD 204通信,因而HDFS 208 “能看到”它。然而,與應(yīng)用214相反,外部應(yīng)用220(下文 中稱為目標(biāo)應(yīng)用)不利用目標(biāo)應(yīng)用220與HDFS 208和LSD驅(qū)動器210之間的任何通信路 徑而與LSD 204通信,因而HDFS 208不“能看到”它。在所述實(shí)施例中,目標(biāo)應(yīng)用220可本地或遠(yuǎn)程地駐留在許多位置和裝置中。例如,這樣的位置和裝置可包括HD 202 (具 有本地應(yīng)用220-1),或者在HD 202和LSD 204之外但仍然在系統(tǒng)200內(nèi)的任何裝置,如 外部裝置222 (具有本地應(yīng)用220-2)。在所述實(shí)施例中,外部裝置222可采用通過接口 223耦連到HD 202的第二 LSD 222的形式。此外,這樣的位置和裝置還可包括在網(wǎng)絡(luò) 226中包括的在系統(tǒng)200之外的裝置224 (具有遠(yuǎn)程應(yīng)用220-3),其在網(wǎng)絡(luò)接口 230處通 過網(wǎng)絡(luò)鏈路228而與HD 202通信。以此方式,可在外部裝置224和HD 202之間建立使 用網(wǎng)絡(luò)鏈路228的命令路徑,可通過它傳遞信息232。HD 202可通過網(wǎng)絡(luò)接口 230與網(wǎng)絡(luò)226通信。在所述實(shí)施例中,網(wǎng)絡(luò)接口 230 通過網(wǎng)絡(luò)鏈路228幫助HD 202和網(wǎng)絡(luò)226之間的通信。例如,如果網(wǎng)絡(luò)226是IP協(xié)議 型網(wǎng)絡(luò),則網(wǎng)絡(luò)接口 230可在例如應(yīng)用218和網(wǎng)絡(luò)226中包括的任何網(wǎng)絡(luò)裝置(ND) 224 之間建立基于IP協(xié)議的網(wǎng)絡(luò)鏈路228 (如URL)。應(yīng)注意,網(wǎng)絡(luò)接口 230物理上可位于任 何合適的地方。例如,網(wǎng)絡(luò)接口 230可被合并到HD 202中。然而,網(wǎng)絡(luò)接口 230還可 位于不被包括在HD 202 (或系統(tǒng)200)內(nèi)的任何物理位置,但仍由HD 202用來與網(wǎng)絡(luò)226 建立合適的網(wǎng)絡(luò)鏈路228。因而網(wǎng)絡(luò)接口 230不限于物理上合并到HD 202中或在HD 202 附近。主裝置代理132可采用主機(jī)裝置代理234的形式,除了上面對于主服務(wù)代理132 所述的功能之外,其至少還提供在由LSD 204提供的存儲服務(wù)和任何可用的外部資源之 間的橋接功能性。在所述實(shí)現(xiàn)方式中,主機(jī)裝置代理234可用于通過任何合適的手段(如 下面更詳細(xì)描述的輪詢或中斷)標(biāo)識LSD邏輯請求。此外,主機(jī)裝置代理234可被配置 為一旦其建立向/從目標(biāo)應(yīng)用的通信路徑則路由和/或維護(hù)該通信路徑。另外,主機(jī)裝 置代理234可是以應(yīng)用中性的(neutral)以便服務(wù)于任何類型的目標(biāo)應(yīng)用。LSD 204可包括控制器236和大容量存儲陣列238,該大容量存儲陣列238具有 第一存儲陣列240和第二存儲陣列242。應(yīng)注意,存儲陣列238可由存儲器單元(如閃 存)的陣列形成。在該特定情況下,即使可假設(shè)大容量存儲陣列238是閃存存儲器單元 的陣列,但本發(fā)明不限于閃存型存儲器單元,因?yàn)轭A(yù)期本發(fā)明可通過任何合適類型的存 儲器單元來使用??刂破?36包括文件管理器243,其可管理主機(jī)/LSD范型106內(nèi)的第 一存儲陣列240(即,按照HDFS 208的命令動作)。在一種特別有用的布局中,第一存 儲區(qū)域240可以是基于LBA的大容量存儲陣列。以此方式,第一存儲陣列240兼容現(xiàn)有 已安裝的基礎(chǔ)(base)。因此,第一存儲區(qū)域240中存儲的數(shù)據(jù)塊的位置可使用邏輯塊地 址(LBA)來指定,其中例如,每個(gè)塊可按照每個(gè)512或1024字節(jié)的量級。以此方式, 第一存儲區(qū)域240可完全后向兼容任何所預(yù)期的現(xiàn)有大容量存儲架構(gòu)(即,能夠結(jié)合現(xiàn)有 主機(jī)工作)并且更具體地,兼容LBA型系統(tǒng)。具體地,LSD 204 (具體地,第一存儲區(qū) 域240)可使用現(xiàn)有接口、總線和所有相關(guān)聯(lián)的協(xié)議,在標(biāo)準(zhǔn)LBA架構(gòu)下操作,提供與現(xiàn) 有產(chǎn)品的已安裝基礎(chǔ)的完全兼容性??刂破?36還可包括LSD代理244,其可使用接口 246充當(dāng)?shù)谝淮鎯^(qū)域240 和第二存儲區(qū)域242之間的橋路(下面描述)。LSD代理244還可管理網(wǎng)絡(luò)堆棧/接口 248,其提供讓內(nèi)部LSD應(yīng)用250使用標(biāo)準(zhǔn)協(xié)議(如因特網(wǎng)協(xié)議或IP)和任何合適的網(wǎng)絡(luò) 資源通過LSD接口 252與外部裝置和/或目標(biāo)應(yīng)用通信。具體地,LSD 204可將任何網(wǎng) 絡(luò)通信(如LSD邏輯請求130)轉(zhuǎn)換為標(biāo)準(zhǔn)格式(如基于物理總線的格式)以便使得主機(jī)
16裝置代理234能按照對于HD/LSD接口 206的基于LBA的實(shí)現(xiàn)方式合適的方式執(zhí)行指令 (如消息提取)。以此方式,例如任何提取的消息可在主機(jī)裝置代理234和遠(yuǎn)程應(yīng)用220-3 之間創(chuàng)建的網(wǎng)絡(luò)鏈路228 (或本地應(yīng)用220-1或220-2和LSD 204之間的本地通信路徑) 上成功輸送。在這點(diǎn)上,網(wǎng)絡(luò)堆棧/接口 248可被當(dāng)作LSD代理244的一部分。LSD 代理244還可向LSD應(yīng)用250提供認(rèn)證和安全性服務(wù),并管理任何進(jìn)入的服務(wù)請求。第一存儲區(qū)域240或第二存儲區(qū)域242(或兩者)可被劃分為分離的內(nèi)部區(qū)塊 (region)。這些劃分的區(qū)塊每個(gè)可被操作為使得它們按照任何合適的方式彼此交互和/或 與LSD 204之外的電路和/或軟件應(yīng)用交互。例如,這樣的外部電路塊可包括HD 202 (其 中包括所有組件,如主機(jī)文件系統(tǒng)208)、LSD222或網(wǎng)絡(luò)226中包括的多個(gè)外部裝置中的 任一個(gè)(如ND 224)。第二存儲區(qū)域242可被劃分為包括區(qū)塊254。在所述實(shí)施例中,區(qū)塊254可 被配置為HDFS 208 “看不到”,這樣可被指定為隱藏存儲區(qū)域(covert storage area, CSA)254。以此方式,CSA 254的任何數(shù)據(jù)內(nèi)容或數(shù)據(jù)內(nèi)容變化不能被HDFS 208 (除非 它被通知)檢測到。然而,HDFS 208可被通知任何這樣的數(shù)據(jù)內(nèi)容或數(shù)據(jù)內(nèi)容變化。 例如,如下面更詳細(xì)描述的,不與HDFS208通信的任何電路或軟件應(yīng)用(如駐留在ND 224中的遠(yuǎn)程應(yīng)用220-3、HD202中的本地應(yīng)用220-1和LSD 222中的本地應(yīng)用220-2) 可提示HD 202在自己和CSA 254之間建立通信路徑256,而不會被HDFS 208看到。相 反,LSD 204可提示HD 202在LSD 204和任何指定的應(yīng)用220之間建立通信路徑256。 然而,一旦建立,則可傳遞信息(如信息232、信息258和信息260)而無需進(jìn)一步由HD 202介入(除了與數(shù)據(jù)的傳遞有關(guān)的任何介入,如數(shù)據(jù)包路由),HDFS 208也看不到。 然而在一些情況下,CSA 254可向HDFS 208提供任何這樣的變化的通知。第一存儲區(qū)域240可被劃分為包括區(qū)塊260。在所述實(shí)施例中,區(qū)塊260完全 可由HDFS 208或任何其他合適的外部電路訪問,只要由HDFS 208轉(zhuǎn)交(mediate)通信 (例如,在一些實(shí)施例中,使用如上更加詳細(xì)描述的基于LBA的命令)。因而,區(qū)塊260 可被指定為主機(jī)存儲區(qū)域(HSA) 260,保持以下事實(shí)主機(jī)裝置文件系統(tǒng)208管理HSA 260。在本發(fā)明的一個(gè)方面中,CSA254和HSA260可獨(dú)立于HDFS 208通過接口 246彼 此通信。在所述實(shí)施例中,作為LSD代理244的一部分,接口 246可橋接第一存儲區(qū)域 240和第二存儲區(qū)域242。LSD代理244可包括內(nèi)部文件管理系統(tǒng)(例如,LSD FS),其 可讀取例如由HDFS 208管理的文件分配表(FAT)。LSD代理244還可使用例如具有啞 (dummy)內(nèi)容的占位符文件從CSA 254寫入HSA260或?qū)懭隒SA 254。以此方式,CSA 254和HSA 260可通過HDFS 208看不到的通信路徑262彼此通信。在一些情況下,所有 (或僅僅部分)CSA254和/或HSA260可被分別指定為受保護(hù)部分264和266。受保護(hù) 意味著HDFS 208不能訪問這些受保護(hù)區(qū)域,除非有授權(quán)。這樣的授權(quán)可由計(jì)算系統(tǒng)200 之外的裝置提供,例如授權(quán)服務(wù)器。如上所述,LSD 204可提示HD 202為了 LSD 204的 利益而執(zhí)行所請求的過程124。應(yīng)注意,即使在主機(jī)命令(例如,讀/寫)觸發(fā)LSD邏 輯請求130的生成的那些情況下,LSD邏輯請求130也不服務(wù)于主機(jī)命令。以此方式,所請求的過程124可完全獨(dú)立于并與任何主機(jī)裝置過程108無關(guān)。 具體地,LSD 204可提示HD 202例如建立網(wǎng)絡(luò)鏈路228和/或到本地應(yīng)用220-1和/或 220-2的通信路徑256,均為HDFS 208所看不到。然而,一旦所請求的過程124已經(jīng)被執(zhí)行(即,例如建立了合適的通信路徑),則不需要HD 202的任何進(jìn)一步的介入(除了 任何路由或其他內(nèi)務(wù)(housekeeping)功能)。HD 202可被LSD 204提示以按多種方式執(zhí) 行LSD邏輯請求130。在一些情況下,可能期望LSD 204間接地提示HD 202執(zhí)行所請求的過程。間 接意味著LSD 204使用與HD代理234分開并且有所不同的媒介代理,來提示HD 202執(zhí) 行所請求的過程??蓞⒄請D2B的計(jì)算系統(tǒng)270例示所請求的過程的間接提示。如所 示,LSD 204中的代理244可使用LSD邏輯請求130提示HD 202在代理244和目標(biāo)應(yīng) 用274 (也稱為起動應(yīng)用)之間建立通信路徑272。應(yīng)注意,起動(launching)應(yīng)用274可 位于本地或遠(yuǎn)程。例如,代理244可駐留在LSD 204中,而起動應(yīng)用274可駐留在ND 224中,在此情況下,HD 202使用網(wǎng)絡(luò)接口 230建立通信路徑272 (即,類似于網(wǎng)絡(luò)鏈路 228)??商鎿Q地,起動代理274可駐留在外部裝置222中或在HD 202內(nèi),在此情況下, 通信路徑272將類似于本地通信路徑256。在任何情況下,一旦建立了通信路徑272,則代理244可通過通信路徑272與起 動應(yīng)用274邏輯地交互,而無需HD 202的進(jìn)一步介入(除了維護(hù)通信路徑272)。作為 該邏輯交互的一部分,代理244可向起動應(yīng)用274傳遞觸發(fā)命令276。起動應(yīng)用274可通 過發(fā)送命令280提示HD 202執(zhí)行所請求的過程278,而響應(yīng)于觸發(fā)命令。HD 202然后 可執(zhí)行所請求的過程278。所請求的過程278可指回代理244。以此方式,代理244和 所請求的過程278可邏輯地交互。在如下情形下實(shí)現(xiàn)本發(fā)明的該方面的一個(gè)特別有用的實(shí)施例,其中將期望LSD 204與用戶邏輯地交互。圖2C中示出了該實(shí)施例的具體實(shí)現(xiàn)方式,其中起動應(yīng)用274可 駐留在外部裝置222中(然而應(yīng)注意,如上所述,起動應(yīng)用274可遠(yuǎn)程或本地駐留)。在 該例子中,外部裝置222可采用訂戶標(biāo)識模塊(SIM)卡222的形式。如本領(lǐng)域中所公知 的,SIM卡222可用于移動蜂窩電話機(jī)裝置,如移動計(jì)算機(jī)或移動電話。SIM卡可安全 地存儲用來標(biāo)識訂戶的服務(wù)訂戶密鑰(IMSI)。此外,SIM卡允許用戶通過簡單地從一個(gè) 移動電話移除SIM卡并將其插入另一移動電話或?qū)拵щ娫挋C(jī)裝置,來改變電話(或其他 寬帶通信裝置)同時(shí)保持其訂閱。在該例子中,SIM卡222兼容SIM應(yīng)用工具包(STK) 命令集,其允許SIM卡222搶先起動HD 202 (例如,其可采用蜂窩電話的形式)上的過 程。STK命令集包括被編程到SIM卡中的指令,其定義了 SIM應(yīng)如何直接與外部世界交 互和獨(dú)立于手持裝置和網(wǎng)絡(luò)發(fā)起命令。這使得SIM卡能夠在網(wǎng)絡(luò)應(yīng)用和終端用戶之間構(gòu) 建交互性交換,并訪問網(wǎng)絡(luò)或控制對網(wǎng)絡(luò)的訪問。SIM卡還向手持裝置給出命令,如顯 示菜單,并請求用戶輸入。因此,可如下實(shí)現(xiàn)LSD 102可用來建立直接通信路徑從而與終端(end)用戶交互 的一種方式。代理244可提示HD 202建立到SIM卡222的通信路徑272,SIM卡222 被布置為使用起動應(yīng)用274搶先提示HD 202執(zhí)行HD 202上的所請求的過程。應(yīng)注意, 對于基于ISO接口的SIM卡,可使用SIM側(cè)的BIP (載體獨(dú)立協(xié)議)建立通信路徑。然 而,對于基于USB接口的SIM卡,可使用SIM側(cè)的以太網(wǎng)仿真(EEM)類建立通信路徑 272。在此情況下,SIM卡222可以是兼容STK的SIM卡222。然而,如下所述,本 發(fā)明不限于特定通信技術(shù)或網(wǎng)絡(luò)類型。在任何情況下,代理244可觸發(fā)兼容STK的SIM
18卡222 (使用起動應(yīng)用274)以提示HD 202執(zhí)行所請求的過程278,其可采用例如瀏覽器 應(yīng)用278的形式。在所述實(shí)施例中,瀏覽器應(yīng)用278指向代理244(和LSD 204)。瀏覽 器應(yīng)用278可使得在例如顯示單元282上顯示用戶界面(UI) 280。UI 280可在圖標(biāo)286處 接收用戶輸入284。以此方式,UI 280和代理244可邏輯交互,由此向LSD 204提供到 UI 280和提供用戶輸入284的用戶的直接訪問。在一些情況下,可能必要的是,讓SIM 222充當(dāng)瀏覽器278和LSD 204之間的媒介。在任何情況下,LSD204和UI 289可邏輯 交互,而無需HD 202的介入(除了 HD 202執(zhí)行瀏覽器278和提供與維護(hù)各種通信路徑 有關(guān)的合適的內(nèi)務(wù)責(zé)任)。例如,UI 280可接收用戶輸入284。用戶輸入284可以被瀏覽器應(yīng)用278處理為 例如用戶選擇事件288。因?yàn)闉g覽器應(yīng)用278可指向代理244,所以作為瀏覽器應(yīng)用278 和代理244之間的邏輯交互的一部分,代理244可接收用戶選擇事件288而無需HD 202 的介入(除了 HD 202維護(hù)各種通信路徑和執(zhí)行瀏覽器應(yīng)用278)。按照相同的方式,代 理244可使用UI 280或顯示單元282,通過邏輯交互向用戶傳遞信息。例如,這樣的信 息可包括LSD 204的當(dāng)前狀態(tài)、所選存儲內(nèi)容的列表等。應(yīng)注意,取決于網(wǎng)絡(luò)和相應(yīng)技術(shù),SIM卡可按許多方式稱呼。例如,在3G型 網(wǎng)絡(luò)中,SIM卡被稱為USIM卡。因而,將引用USIM應(yīng)用工具包或USAT。在任何情 況下,本發(fā)明可用于任何網(wǎng)絡(luò)和相應(yīng)的技術(shù)(STK、USAT等)。圖3A例示了根據(jù)本發(fā)明實(shí)施例的輪詢方案300。HD 202可通過向LSD204發(fā) 送由LSD代理244截取的輪詢信號(PS) 302而輪詢LSD 204。在所述實(shí)施例中,LSD代 理244可包括邏輯請求生成器304,其通過生成LSD邏輯請求130而響應(yīng)于PS 302。邏 輯請求生成器304隨后將LSD邏輯請求轉(zhuǎn)發(fā)回主機(jī)裝置代理234。應(yīng)注意,所述輪詢過 程不取決于HD 202對來自LSD204的特定響應(yīng)的需求或預(yù)期。以此方式,LSD 204可通 過用LSD邏輯請求130簡單地響應(yīng)于輪詢信號302,而在任何時(shí)間提示HD 202執(zhí)行所請 求的過程124。在所述實(shí)施例中,LSD邏輯請求130包括可提示HD 202執(zhí)行LSD請求 的過程124的命令信息。應(yīng)注意,該命令信息可包括諸如指示要由HD202完成的特定操 作(如設(shè)置命令路徑256)的命令代碼的數(shù)據(jù)。命令信息還可包括裝置信息,如目標(biāo)裝置標(biāo)識(ID)、目標(biāo)裝置位置(例如IP地 址)等。然而在一些情況下,LSD 204或HD 202手頭沒有完成所需任務(wù)的足夠信息。 例如,LSD 204可提供指示特定操作的命令信息,但缺少特定目標(biāo)裝置ID或目標(biāo)裝置位 置。在這些情形下,可能利用能由LSD 204通過例如網(wǎng)絡(luò)鏈路238查詢的發(fā)現(xiàn)服務(wù)器計(jì) 算機(jī),以便獲得丟失的但必要的信息。例如,LSD 204可簡單地通過在任何時(shí)間以LSD 邏輯請求130響應(yīng)于PS 302,發(fā)起對目標(biāo)存儲裝置的存儲操作。LSD邏輯請求130可包 括具有讓HD 202在LSD 204和目標(biāo)存儲裝置之間建立命令路徑的指令的命令。應(yīng)注意, 目標(biāo)存儲裝置可在任何位置,只要HD 202能建立合適的命令路徑即可。例如,如果目標(biāo) 存儲裝置是網(wǎng)絡(luò)226中的ND 224,則HD 202可通過在網(wǎng)絡(luò)接口 230和ND 224之間建立 網(wǎng)絡(luò)鏈路228而響應(yīng)于LSD邏輯請求130。關(guān)于在圖3B中例示的LSD生成的中斷,描述LSD 204可用來提示HD202執(zhí)行 所請求的過程124的另一機(jī)制。LSD 204可通過使用LSD終端關(guān)聯(lián)器402將從LSD邏輯 請求生成器304接收的LSD邏輯請求130和LSD生成的中斷404相關(guān)聯(lián),提示HD 202執(zhí)行所請求的過程124。一旦LSD邏輯請求130已經(jīng)與LSD中斷404相關(guān)聯(lián),則LSD 204產(chǎn)生中斷404以引起HD 202的注意。HD 202通過執(zhí)行所請求的過程124,響應(yīng)于與 LSD中斷404相關(guān)聯(lián)的邏輯請求130。LSD 204還可指導(dǎo)HD 202與諸如第二 LSD 222的其他本地存儲裝置建立通信。 例如,計(jì)算系統(tǒng)200可以是便攜式媒體播放器(在此情況下,LSD204存儲各種數(shù)字媒體 文件,如MP3格式的音頻文件),其可耦連到個(gè)人計(jì)算機(jī),以便例如在第二 LSD 222和 LSD 204之間同步媒體文件。在該例子中,LSD 204可發(fā)起合適的同步操作,由此不為 HDFS 208所見地比較和更新LSD 222和LSD 204兩者之間的數(shù)據(jù)內(nèi)容。在另一例子中,LSD 204可進(jìn)行許多操作,生成結(jié)果,并基于該結(jié)果生成相關(guān) 聯(lián)的邏輯請求。然后LSD 204可使用邏輯請求提示HD 202執(zhí)行合適的LSD過程。例 如,LSD 204可進(jìn)行一組LSD參數(shù)的檢測操作。在所述實(shí)施例中,所檢測的該組LSD參 數(shù)可包括諸如數(shù)據(jù)內(nèi)容備份參數(shù)、數(shù)據(jù)內(nèi)容參數(shù)(如文件大小、文件類型、文件名和文 件關(guān)鍵字)、邏輯存儲參數(shù)(如剩余容量和LSD IP地址,如果合適的話)、物理存儲參數(shù) (如磨損水平、壞塊數(shù)、比特反轉(zhuǎn)數(shù))、違規(guī)參數(shù)和主機(jī)裝置IP地址的參數(shù)。一旦LSD 204完成了檢測操作,則生成檢測操作結(jié)果。應(yīng)注意,在一些情況下,所生成的結(jié)果是空 (NULL)結(jié)果,其中所檢測的參數(shù)落入管理LSD的操作的一組規(guī)則內(nèi)。然而,在其他情 況下,所生成的結(jié)果可以與LSD邏輯請求130相關(guān)聯(lián),作為能提示HD 202建立到目標(biāo)應(yīng) 用的通信路徑的檢測邏輯請求130。這樣的目標(biāo)應(yīng)用可包括本地應(yīng)用220-1、220-2或遠(yuǎn) 程應(yīng)用220-3。應(yīng)注意,在本地應(yīng)用220-1和220-2的情況下,通信路徑被稱為本地通 信路徑。一旦已經(jīng)建立這樣的通信路徑,則LSD 204和目標(biāo)應(yīng)用220能邏輯地交互,以 便進(jìn)行所請求的檢測過程。應(yīng)注意,一旦已經(jīng)建立了通信路徑,則不需要HD 202的進(jìn)一 步介入,除了維護(hù)通信路徑和任何其他內(nèi)務(wù)責(zé)任。所請求的檢測過程可包括內(nèi)容備份過 程、內(nèi)容共享過程、事件通知過程、遠(yuǎn)程指令的請求過程、使用/訪問的請求過程、遠(yuǎn) 程服務(wù)器的登記過程。在一個(gè)實(shí)施例中,LSD 204將檢測邏輯請求與主機(jī)裝置的輪詢相關(guān)聯(lián)。然而在 其他實(shí)施例中,LSD 204將檢測邏輯請求與LSD中斷相關(guān)聯(lián),并產(chǎn)生LSD中斷以引起HD 202的注意。在任何情況下,可提示HD 202執(zhí)行合適的所請求的檢測過程。應(yīng)注意,本發(fā)明是基本對稱的,其中LSD 204和/或系統(tǒng)200之外的任何電路 或軟件應(yīng)用可使用HD 204以LSD 204為目標(biāo),作為在請求裝置和目標(biāo)裝置LSD 204之 間建立通信路徑的機(jī)制。以此方式,LSD 204可響應(yīng)于源自外部電路或外部軟件應(yīng)用的 請求(如提供當(dāng)前狀態(tài)信息、當(dāng)前容量等)。例如,圖4例示了遠(yuǎn)程應(yīng)用220-3獨(dú)立于 HDFS 208迫使第一存儲區(qū)域240執(zhí)行多個(gè)存儲操作中的任一個(gè)的情形。例如,外部應(yīng)用 220-3可通過向預(yù)先建立的主機(jī)裝置文件系統(tǒng)(HDFS) 208能看到因而能管理的代理器文 件450(也稱為占位符文件)寫入數(shù)據(jù),將數(shù)據(jù)寫入存儲區(qū)域240。然而,占位符文件450 中包括的任何數(shù)據(jù)內(nèi)容可被當(dāng)作“啞”數(shù)據(jù),因?yàn)檎嘉环募?50僅僅是遠(yuǎn)程應(yīng)用220-3 藉之能訪問/改變代理器文件內(nèi)的數(shù)據(jù)而不被HDFS208 (除非被通知)“看到”的機(jī)制 的一部分。例如,外部應(yīng)用220-3可通過轉(zhuǎn)發(fā)要寫入占位符文件450的數(shù)據(jù)454,將數(shù)據(jù) 454寫入占位符文件450而無需HDFS 208的介入。在一個(gè)實(shí)現(xiàn)方式中,數(shù)據(jù)454可直接
20發(fā)送到占位符文件450,或使用CSA 254作為高速緩存以緩存數(shù)據(jù)454的所選部分。當(dāng) 使用CSA 254高速緩存數(shù)據(jù)454時(shí),數(shù)據(jù)454通過通信路徑256傳遞到占位符文件450, 而無需HD 202的介入(除了建立通信路徑256)。以此方式,遠(yuǎn)程應(yīng)用220-3 (或者就此 而言,任何外部應(yīng)用220)可將數(shù)據(jù)寫入占位符文件450,或可從占位符文件450流傳輸數(shù) 據(jù)454,而無需HDFS 208的介入。例如,LSD 204可進(jìn)行檢測操作,其確定第一存儲陣列240的可用存儲容量少 于預(yù)定量?;谠摻Y(jié)果,LSD邏輯請求生成器340可生成LSD檢測邏輯請求130,其提 示HD 202在LSD 204和遠(yuǎn)程應(yīng)用220-3之間建立通信路徑228。一旦建立了通信路徑 228,則HD 202可不介入,因?yàn)镠D 202現(xiàn)在假設(shè)相當(dāng)于用來例如路由數(shù)據(jù)分組的調(diào)制解 調(diào)器、路由器或其他這樣的裝置的角色。一旦通過通信路徑228鏈接了遠(yuǎn)程應(yīng)用220-3和 LSD 204,則LSD204和遠(yuǎn)程應(yīng)用220-3可通過通信路徑228邏輯交互。例如,LSD 204 可將檢測操作的結(jié)果轉(zhuǎn)發(fā)給遠(yuǎn)程應(yīng)用220-3。遠(yuǎn)程應(yīng)用220-3可通過將數(shù)據(jù)454 (用戶通 知、廣告等的形式)推送(寫入)占位符文件452而進(jìn)行響應(yīng)。一旦數(shù)據(jù)454被存儲在 占位符文件452中,則現(xiàn)在HDFS 208能看到數(shù)據(jù)454,并且可由HD 202按許多方式處理 數(shù)據(jù)454。例如,數(shù)據(jù)454可由HD 204用來顯示需要附加存儲容量的通知,甚至建議購 買產(chǎn)品,以及哪里能買到它和價(jià)格如何。圖5A示出了根據(jù)本發(fā)明實(shí)施例的網(wǎng)絡(luò)500的更詳細(xì)視圖。具體地,網(wǎng)絡(luò)500 是圖3所示的網(wǎng)絡(luò)226的一個(gè)實(shí)施例。具體地,網(wǎng)絡(luò)500被示出為包括通過分布式命令 路徑耦連到計(jì)算系統(tǒng)200的服務(wù)器計(jì)算機(jī)502。這樣的分布式命令路徑可包括無線通信 (WiFi,藍(lán)牙等)以及有線通信等。在所述實(shí)施例中,服務(wù)器計(jì)算機(jī)502包括服務(wù)器組件 504,其使用例如標(biāo)準(zhǔn)網(wǎng)絡(luò)技術(shù)(例如,基于HTTP/SOAP的網(wǎng)絡(luò)服務(wù))向開發(fā)者和其他 用戶部分地提供一些清楚和定義好的接口。在所述實(shí)施例中,每當(dāng)需要例如遠(yuǎn)程應(yīng)用和 LSD 204之間的安全信道時(shí),服務(wù)器組件504能至少提供授權(quán)和認(rèn)證服務(wù)。以此方式, 可提供針對可能的源自網(wǎng)絡(luò)的攻擊、間諜軟件、不良軟件等。另外,隱私保護(hù)以便確保 終端用戶內(nèi)容使用不能被未授權(quán)第三方跟蹤,關(guān)于存儲裝置的優(yōu)化通信協(xié)議可能使用一 些壓縮技術(shù),和服務(wù)器計(jì)算機(jī)還可包括廣播和/或多播能力。裝置登記模塊506和/或 發(fā)現(xiàn)服務(wù)模塊508可被包括在服務(wù)器計(jì)算機(jī)502中或耦連到服務(wù)器計(jì)算機(jī)502。裝置登記模塊506和發(fā)現(xiàn)服務(wù)模塊508分別提供登記服務(wù)和發(fā)現(xiàn)服務(wù)。登記服務(wù) 意味著被登記到裝置登記模塊506的網(wǎng)絡(luò)226中包括的、添加的或移除的任何裝置具有與 相應(yīng)裝置的當(dāng)前狀態(tài)相一致地更新的相關(guān)登記數(shù)據(jù)。這樣的登記數(shù)據(jù)可包括裝置類型、 裝置位置(如果網(wǎng)絡(luò)是基于IP協(xié)議的網(wǎng)絡(luò),則是IP地址)等等。在一個(gè)實(shí)施例中,與裝置(或軟件應(yīng)用)相關(guān)聯(lián)的登記數(shù)據(jù)可由登記模塊506按 照多種不同方式更新。一個(gè)方式在于向登記模塊506通知裝置狀態(tài)已改變(即,裝置已 經(jīng)被添加、移除或已經(jīng)在網(wǎng)絡(luò)226內(nèi)移動位置等)。在本發(fā)明的一些方面中,為了保護(hù)處 理資源以及網(wǎng)絡(luò)帶寬,不是所有的改變都被認(rèn)為足夠感興趣到要通知登記模塊506。然 而,在裝置狀態(tài)改變已經(jīng)發(fā)生并且準(zhǔn)許通知的那些情形下,可通過登記模塊506不斷測 試(ping)網(wǎng)絡(luò)226中包括的所有裝置并請求每個(gè)裝置返回當(dāng)前狀態(tài)信息,而向登記模塊 506通知狀態(tài)改變。相對于前一裝置狀態(tài)已經(jīng)改變并且已被確定為代表可通知狀態(tài)改變的 任何狀態(tài)信息將調(diào)用裝置登記模塊506處的通知事件。
響應(yīng)于通知事件,登記模塊506可請求具有改變的狀態(tài)的裝置將當(dāng)前裝置狀態(tài) 信息轉(zhuǎn)發(fā)給登記模塊506。一旦登記模塊506接收到,則與裝置相關(guān)聯(lián)的狀態(tài)信息可在登 記模塊506處更新并被轉(zhuǎn)發(fā)給發(fā)現(xiàn)服務(wù)器508。另一個(gè)方法可使得裝置登記模塊506采用 更被動的方法,其中每個(gè)裝置可在狀態(tài)改變已經(jīng)發(fā)生時(shí)將其特定的當(dāng)前狀態(tài)轉(zhuǎn)發(fā)給裝置 登記模塊506。同樣,為了保護(hù)計(jì)算資源和網(wǎng)絡(luò)帶寬,本發(fā)明的一些方面僅僅規(guī)定報(bào)告僅 僅特定的狀態(tài)改變,而不是所有的狀態(tài)改變。在任何情況下,一旦當(dāng)前狀態(tài)信息已被接收到并合適地處理,則登記模塊506 可將當(dāng)前狀態(tài)信息轉(zhuǎn)發(fā)給發(fā)現(xiàn)服務(wù)模塊508,其中它可被存儲以向請求裝置和或軟件應(yīng) 用提供后續(xù)的發(fā)現(xiàn)服務(wù)。這樣的信息可包括與網(wǎng)絡(luò)324中包括的任何裝置有關(guān)的任何信 息,以便例如幫助在請求裝置(包括軟件應(yīng)用,如果有的話)和目標(biāo)裝置或目標(biāo)應(yīng)用之間 建立命令路徑。仍然參照圖5A,如果LSD 222先前還未與HD 204耦連,但在某個(gè)點(diǎn)上,通過將 LSD 204插入接口 223(例如,將安全數(shù)字(SD)卡插入與網(wǎng)絡(luò)通信的便攜式計(jì)算機(jī)、數(shù)碼 相機(jī)等)LSD 222耦連到HD 204,則在本發(fā)明的一個(gè)方面中,LSD 222能向裝置登記服務(wù) 506通知它已經(jīng)加入網(wǎng)絡(luò)226。然而在本發(fā)明的再一方面中,裝置登記服務(wù)506可通過例 如測試計(jì)算系統(tǒng)200并確定可通知改變已經(jīng)發(fā)生,主動確定LSD 222已經(jīng)進(jìn)入網(wǎng)絡(luò)。在LSD 222主動通知裝置登記服務(wù)506狀態(tài)改變(在此情況下LSD 222已經(jīng)添加 到網(wǎng)絡(luò)226)的情況下,LSD 222可使用上述至少一個(gè)機(jī)制,請求HD 202在LSD 222和 裝置登記服務(wù)506之間建立命令路徑,其包括從HD 202到網(wǎng)絡(luò)226的網(wǎng)絡(luò)鏈路228和從 網(wǎng)絡(luò)226到登記服務(wù)506的命令路徑510。應(yīng)注意,如果LSD 204不知道裝置登記服務(wù) 506的位置,則HD 202將提供作為默認(rèn)位置的位置,或者網(wǎng)絡(luò)服務(wù)將自動將狀態(tài)改變引 導(dǎo)到預(yù)定義的位置。一旦已經(jīng)建立了 LSD 204和登記服務(wù)之間的通信,則裝置登記服務(wù)506可更新 (被動或主動)LSD 222的當(dāng)前狀態(tài)(其中LSD 222的當(dāng)前狀態(tài)由LSD 222推送或由登記 服務(wù)器506拉出)。一旦更新,則裝置登記服務(wù)506然后可將LSD 222的當(dāng)前狀態(tài)轉(zhuǎn)發(fā)到 發(fā)現(xiàn)服務(wù)模塊508,其中它被存儲用于無論何時(shí)遠(yuǎn)程裝置針對于LSD 222時(shí)的后續(xù)檢索。 應(yīng)注意,登記信息可包括與裝置有關(guān)的任何相關(guān)信息。這樣的相關(guān)信息(在數(shù)據(jù)存儲裝 置的情況下)可包括邏輯存儲裝置參數(shù)(剩余可用存儲容量、裝置IP地址、裝置上的可 用存儲應(yīng)用、固件版本和特性等),其更多地是裝置的固定特性。這樣的信息還可包括更 加短暫的信息,如當(dāng)前可用的數(shù)據(jù)存儲容量、所存儲的數(shù)據(jù)的性質(zhì)(quality)、裝置位置 等,以及可包括文件大小、文件類型、文件名和文件關(guān)鍵字的數(shù)據(jù)內(nèi)容參數(shù)。一旦發(fā)現(xiàn)服務(wù)508已經(jīng)被更新,則發(fā)現(xiàn)服務(wù)508可將關(guān)于其中存儲了數(shù)據(jù)的任何 目標(biāo)裝置(或目標(biāo)軟件應(yīng)用)的所請求的發(fā)現(xiàn)信息提供給任何請求裝置(或軟件應(yīng)用)。 例如,具有與遠(yuǎn)程存儲裝置514耦連的遠(yuǎn)程主機(jī)裝置512的遠(yuǎn)程計(jì)算裝置510可使用發(fā)現(xiàn) 服務(wù),通過首先在遠(yuǎn)程計(jì)算裝置510和LSD 204之間建立命令路徑,遠(yuǎn)程地調(diào)用對諸如 LSD 204的目標(biāo)裝置的存儲操作。可通過遠(yuǎn)程計(jì)算裝置510向發(fā)現(xiàn)服務(wù)508發(fā)送發(fā)現(xiàn)請 求516以請求對于目標(biāo)裝置LSD 204的發(fā)現(xiàn)信息來建立命令路徑。這樣的發(fā)現(xiàn)信息可包 括目標(biāo)裝置位置信息、目標(biāo)裝置當(dāng)前操作狀態(tài)信息、目標(biāo)裝置當(dāng)前參數(shù)信息等。響應(yīng)于 發(fā)現(xiàn)請求,發(fā)現(xiàn)服務(wù)508可將包括合適的目標(biāo)裝置發(fā)現(xiàn)信息的發(fā)現(xiàn)服務(wù)器響應(yīng)518轉(zhuǎn)發(fā)回
22請求裝置(即,遠(yuǎn)程計(jì)算裝置510)。一旦遠(yuǎn)程計(jì)算裝置510已經(jīng)接收到關(guān)于目標(biāo)裝置LSD 204的合適的目標(biāo)發(fā)現(xiàn)信 息,則如圖5B所示,遠(yuǎn)程計(jì)算裝置510可在目標(biāo)裝置LSD 204(使用HD 104作為管道) 之間建立命令路徑,其至少包括網(wǎng)絡(luò)鏈路228。一旦已經(jīng)在目標(biāo)裝置LSD 204和遠(yuǎn)程計(jì) 算裝置510之間建立了命令路徑,則遠(yuǎn)程計(jì)算裝置510可遠(yuǎn)程地調(diào)用對目標(biāo)裝置LSD 204 的任何數(shù)目和類型的存儲操作。例如,這樣的操作可包括讀、寫和/或擦除數(shù)據(jù)。圖6示出了詳細(xì)描述根據(jù)本發(fā)明實(shí)施例的過程600的流程圖。過程600從602開 始,確定主機(jī)裝置是否與本地存儲裝置通信。通信意味著主機(jī)裝置和本地存儲裝置具有 在它們之間建立的有能力的命令路徑。有能力的通信意味著在主機(jī)裝置和本地存儲裝置 之間建立了物理連接、建立了無線連接、或者建立了邏輯連接,能通過其傳遞信息。一 旦已經(jīng)確定在主機(jī)裝置和本地存儲裝置之間建立了有能力的通信路徑,則在604,確定本 地存儲裝置是否具有待決的LSD發(fā)起的事件。LSD發(fā)起的事件意味著與任何主機(jī)裝置或 主機(jī)裝置文件系統(tǒng)過程無關(guān)和獨(dú)立于它的事件。如果在604確定沒有待決的LSD發(fā)起的 事件,則過程600結(jié)束,否則在606,確定主機(jī)裝置是否在不斷輪詢本地存儲裝置。如果 主機(jī)裝置沒有輪詢本地存儲裝置,則本地存儲裝置在608生成LSD邏輯請求,其包括與 待決的LSD發(fā)起的事件有關(guān)的信息,并且在610,本地存儲裝置產(chǎn)生(throw up)與LSD 邏輯請求相關(guān)聯(lián)的中斷標(biāo)志。在612,主機(jī)裝置響應(yīng)于中斷標(biāo)志?;氐?06,如果主機(jī)裝置不斷輪詢本地存儲裝置,則在614,本地存儲裝置通過 包括與待決的LSD發(fā)起的事件有關(guān)的信息的LSD輪詢響應(yīng),響應(yīng)于主機(jī)裝置輪詢。在 616,主機(jī)裝置響應(yīng)于LSD輪詢響應(yīng)。圖7例示了根據(jù)本發(fā)明實(shí)施例的過程700。過程700在701開始,確定遠(yuǎn)程裝置 是否想要調(diào)用對本地存儲裝置的操作。如果肯定,則在704,確定遠(yuǎn)程裝置是否向發(fā)現(xiàn)服 務(wù)器發(fā)送查詢以便獲得目標(biāo)裝置信息。如果遠(yuǎn)程裝置已經(jīng)確定其無需查詢發(fā)現(xiàn)服務(wù)器, 則在706,遠(yuǎn)程裝置聯(lián)系本地裝置。另一方面,如果遠(yuǎn)程裝置已經(jīng)確定需要對于目標(biāo)裝置 的發(fā)現(xiàn)信息,則在708,確定發(fā)現(xiàn)服務(wù)器是否具有目標(biāo)裝置發(fā)現(xiàn)信息。如果確定發(fā)現(xiàn)服務(wù) 器不具有所請求的目標(biāo)裝置發(fā)現(xiàn)信息,則在710,確定登記服務(wù)器是否具有所請求的目標(biāo) 裝置信息。如果確定登記服務(wù)器沒有所請求的目標(biāo)裝置信息,則過程700結(jié)束。否則, 登記服務(wù)器在712將所請求的目標(biāo)裝置發(fā)現(xiàn)信息轉(zhuǎn)發(fā)到發(fā)現(xiàn)服務(wù)器。返回708,如果發(fā)現(xiàn) 服務(wù)器已經(jīng)確定其具有所請求的目標(biāo)裝置發(fā)現(xiàn)信息,則在714,遠(yuǎn)程裝置將發(fā)現(xiàn)信息請求 發(fā)送給發(fā)送服務(wù)器,并在716,發(fā)現(xiàn)服務(wù)器提供所請求的目標(biāo)裝置發(fā)現(xiàn)信息。在706,遠(yuǎn) 程裝置聯(lián)系目標(biāo)裝置,并且在任何情況下,在718,目標(biāo)裝置響應(yīng)于遠(yuǎn)程裝置。圖8提供了本發(fā)明的一種環(huán)境,其中作為網(wǎng)絡(luò)226的特定配置的媒體網(wǎng)絡(luò)800 包括多個(gè)媒體裝置,如媒體播放器。在該例子中,計(jì)算系統(tǒng)200可以是被配置為存儲多 個(gè)數(shù)字媒體項(xiàng)目(如視頻、可能作為MP3文件的音頻等)的媒體播放器100。網(wǎng)絡(luò)800 可包括被配置為有線網(wǎng)絡(luò)804和無線網(wǎng)絡(luò)806之一或兩者的分布式通信802。在所述實(shí) 施例中,有線數(shù)據(jù)網(wǎng)絡(luò)802屬于萬維網(wǎng)的某一部分。個(gè)人計(jì)算機(jī)806可耦連到有線網(wǎng)絡(luò) 802 (其在此情況下通過第二接口處的USB線纜連接到計(jì)算系統(tǒng)100)。無線數(shù)據(jù)網(wǎng)絡(luò)804 還可耦連到有線數(shù)據(jù)網(wǎng)絡(luò)802。無線數(shù)據(jù)網(wǎng)絡(luò)804可包括一個(gè)或多個(gè)無線數(shù)據(jù)網(wǎng)絡(luò),如蜂 窩網(wǎng)絡(luò)、WiFi網(wǎng)絡(luò)、WiMAX網(wǎng)絡(luò)等。
媒體網(wǎng)絡(luò)800包括中心媒體服務(wù)器808,其存儲或訪問大量媒體項(xiàng)目。此外, 網(wǎng)絡(luò)800支持一個(gè)或多個(gè)附加計(jì)算系統(tǒng)810,其被配置為網(wǎng)絡(luò)裝置,可采用便攜式媒體裝 置的形式,如便攜式媒體播放器200、810、812和814,其中一些可被配置為僅僅具有現(xiàn) 有的大容量存儲裝置,而其他的可被配置為圖2所示的計(jì)算系統(tǒng)200。便攜式媒體裝置 200、810、812和814中的任一個(gè)可通過有線鏈路816或無線鏈路818與個(gè)人計(jì)算機(jī)806 通信。作為例子,有線鏈路816可相應(yīng)于能將便攜式媒體裝置810互連到個(gè)人計(jì)算機(jī) 806 (如果可用的話)的線纜(例如USB線纜)。無線鏈路818可通過無線能力提供,如 藍(lán)牙、紅外等。典型地,便攜式媒體裝置810將能夠使用有線鏈路816、無線鏈路816或 兩者與個(gè)人計(jì)算機(jī)806通信。便攜式媒體裝置814可通過無線鏈路820耦連到無線數(shù)據(jù)網(wǎng)絡(luò)804。類似地,便 攜式媒體裝置812可通過無線鏈路822耦連到無線數(shù)據(jù)網(wǎng)絡(luò)804。由此,便攜式媒體裝 置814和812可經(jīng)由無線數(shù)據(jù)網(wǎng)絡(luò)804訪問中心媒體服務(wù)器808。此外,便攜式媒體裝 置200、810、812和814可無線地彼此訪問,從而在便攜式媒體裝置之間交互媒體項(xiàng)目數(shù)據(jù)。計(jì)算系統(tǒng)200可采用媒體裝置的形式,其可屬于諸如MP3播放器的便攜式媒體 播放器以及諸如可包括LSD 204和HD 202的移動電話的無線裝置。這些移動裝置可包 括在移動裝置上操作的主機(jī)計(jì)算機(jī)上的媒體管理應(yīng)用。假定移動裝置的便攜性,移動 裝置更小,并具有更少的資源(例如,存儲容量)。因此,被設(shè)計(jì)為在移動裝置上使用 的媒體管理應(yīng)用可提供比在更大更有能量的計(jì)算裝置(例如個(gè)人計(jì)算機(jī))上操作的對方 (counterpart)媒體管理應(yīng)用少的特征和能力。假定移動裝置具有對中心媒體服務(wù)器808的 無線訪問,則移動裝置可與媒體服務(wù)器808交互以請求和/或接收媒體項(xiàng)目數(shù)據(jù)(或其他 數(shù)據(jù))。由此,在移動裝置上操作的媒體管理應(yīng)用可與媒體服務(wù)器808通信以進(jìn)行各種任 務(wù),包括瀏覽服務(wù)器處的可用媒體內(nèi)容(如媒體存儲的瀏覽)、接收媒體內(nèi)容對媒體裝 置的周期性傳輸(如媒體項(xiàng)目數(shù)據(jù)從服務(wù)器到媒體裝置的每日推送)等。這里討論的本地存儲裝置可兼容任何存儲卡格式或協(xié)議,如用于管理諸如音 頻、視頻或圖片文件的數(shù)字媒體的安全數(shù)字(SD)存儲卡格式和協(xié)議。存儲裝置還可兼容 多媒體卡(MMC)存儲卡格式、緊致閃存(CF)存儲卡格式、閃速PC (例如,ATA閃存) 存儲卡格式、智能媒體存儲卡格式或兼容任何其他工業(yè)標(biāo)準(zhǔn)規(guī)格。這些存儲卡的一個(gè)供 應(yīng)商是Milpitas CA的SanDisk公司。非易失性存儲器即使在去除電力后也維持其存儲器 或存儲狀態(tài)。存儲裝置還可應(yīng)用于其他可擦除可編程存儲器技術(shù),包括但不限于電可擦 除可編程只讀存儲器(EEPROM)、EPROM、MRAM> FRAM>鐵電和磁存儲器。注意, 存儲裝置配置不依賴于可移除存儲器的類型,并且可通過任何類型的存儲器實(shí)現(xiàn),無論 它是閃存還是其他類型的存儲器。存儲裝置還可通過一次性可編程(OTP)存儲器芯片和 /或通過3維存儲器芯片技術(shù)實(shí)現(xiàn)??捎脕硎褂眠@樣的存儲卡的主機(jī)系統(tǒng)包括蜂窩電話、個(gè)人計(jì)算機(jī)、筆記本計(jì)算 機(jī)、手持計(jì)算裝置、相機(jī)、音頻再現(xiàn)裝置和需要可移除數(shù)據(jù)存儲裝置的其他電子裝置。 閃速EEPROM系統(tǒng)也用作嵌入主機(jī)系統(tǒng)中的大體積大容量存儲裝置。存儲裝置可以是 本地代理器系統(tǒng)的一部分,其可在PDA(個(gè)人數(shù)字助理)、移動手持機(jī)和其他各種電子裝 置上實(shí)現(xiàn)。典型地,PDA已知為用戶持有的計(jì)算系統(tǒng),通過各種個(gè)人信息管理應(yīng)用而實(shí)現(xiàn),如地址本、日歷組織器和電子記事本等等。如這里所述,計(jì)算系統(tǒng)可包括主機(jī)裝置(HD)和本地存儲裝置(LSD)。LSD可同 時(shí)充當(dāng)大容量存儲裝置或網(wǎng)絡(luò)可訪問的裝置。以此方式,可由計(jì)算系統(tǒng)運(yùn)行多個(gè)應(yīng)用。 這樣的應(yīng)用可彼此獨(dú)立地執(zhí)行,并且還可彼此獨(dú)立地管理LSD上存儲的相應(yīng)內(nèi)容集合。 應(yīng)注意,管理內(nèi)容可包括由LSD上存儲的內(nèi)容執(zhí)行或?qū)υ搩?nèi)容執(zhí)行的許多操作。這樣的 操作可包括但不限于讀取數(shù)據(jù)、寫入數(shù)據(jù)、擦除數(shù)據(jù)、復(fù)制數(shù)據(jù)、格式化數(shù)據(jù)等。本發(fā) 明實(shí)現(xiàn)的優(yōu)點(diǎn)之一是即使應(yīng)用彼此沒有關(guān)系,LSD也能通過應(yīng)用中的另一個(gè)告知一個(gè)應(yīng) 用LSD上成為可用的內(nèi)容。以此方式,可實(shí)現(xiàn)獨(dú)立應(yīng)用之間的協(xié)同,提供了協(xié)作環(huán)境, 其能帶來例如計(jì)算系統(tǒng)的改善的操作、改善的資源(即,存儲器、帶寬、處理)分配和使 用以及其他因素。例如,圖9例示了根據(jù)本發(fā)明實(shí)施例的計(jì)算系統(tǒng)1100。系統(tǒng)1100包括與具有 存儲器陣列1106的LSD 1104通信的主機(jī)裝置(HD) 1102。HD 1102可以正在執(zhí)行應(yīng)用 1108。應(yīng)用1108可包括因特網(wǎng)應(yīng)用,如瀏覽器應(yīng)用1110,其具有管理LSD 1104上的相 關(guān)本地(瀏覽器)高速緩存1114的瀏覽器高速緩存管理器BCM 1112。BCM 1112可使 用所謂的大容量存儲路徑1118通過HDFS 1116管理瀏覽器高速緩存1114,大容量存儲路 徑1118可包括存儲器控制器1120和LDS驅(qū)動器1122。LSD 1104可包括由遠(yuǎn)程代理器 高速緩存關(guān)聯(lián)器(RPCM) 1126通過包括網(wǎng)絡(luò)接口 1130的網(wǎng)絡(luò)路徑1128管理的代理器高速 緩存1124。應(yīng)注意,可由HD 1102獨(dú)立于HDFS 1116應(yīng)LSD 1104的提示而建立網(wǎng)絡(luò)路 徑1128。另外,一旦由HD 1102建立了網(wǎng)絡(luò)路徑1128,則HD 1102不再介入,除了網(wǎng) 絡(luò)路徑1128的維護(hù)(和任何其他“內(nèi)務(wù)”責(zé)任)。在操作期間,RPCM 1126可按照先發(fā)(pre-emptive)方式將預(yù)先提取的內(nèi)容1138 直接推送到LSD 1104。先發(fā)方式意味著預(yù)先提取的內(nèi)容1138可在BCM 1112對內(nèi)容 1138的任何實(shí)質(zhì)請求之前推送到LSD 1104,由此排除實(shí)際請求通過網(wǎng)絡(luò)路徑1128發(fā)送到 RPCM 1126的需求。以此方式,可保護(hù)網(wǎng)絡(luò)帶寬。顯然,然后不同地使用BCM 1112和RPCM 1126。例如,BCM 1112可通過大容 量存儲路徑1118動作,以將已由瀏覽器應(yīng)用1110請求的內(nèi)容1140本地高速緩存到LSD 1104中的瀏覽器高速緩存1114中。同時(shí),典型地,RPCM 1126執(zhí)行支持BCM 1112的 功能,如內(nèi)容預(yù)提取(即,在請求特定內(nèi)容之前檢索內(nèi)容)。然而,典型地,BCM1112 和RPCM 1126由不同的銷售者提供,因而BCM 1112和RPCM 1126最有可能具有不同的 高速緩存策略。此外,因?yàn)榇笕萘看鎯β窂?118和網(wǎng)絡(luò)路徑1128彼此不交叉(即,通 信),所以BCM 1112和RPCM 1126不能以同步的方式工作。就BCM1112/RPCM1126的整體性能而言,這種同步性缺失顯然是次優(yōu)的。例 如,RPCM 1126可能正在存儲已經(jīng)由BCM 1112存儲了的內(nèi)容(反之亦然),從而浪費(fèi)了 寶貴的存儲器、處理和帶寬資源。這種資源浪費(fèi)在移動環(huán)境中可能尤其成問題,其中大 多數(shù)或所有資源可能是非常寶貴的。但是,本發(fā)明使得RPCM 1126和BCM 1112以傳統(tǒng) 布局的系統(tǒng)不能實(shí)現(xiàn)的方式進(jìn)行協(xié)作。例如,LSD 1104可向RPCM 1126告知BCM 1112 正高速緩存到瀏覽器高速緩存1114中的瀏覽器內(nèi)容1140的類型和性質(zhì)。通過此方式, RPCMl 126可以例如自動預(yù)提取與BCM 1112已經(jīng)高速緩存在瀏覽器高速緩存1114中的 那些頁的鏈接相應(yīng)的任何頁。此外,RPCM 1126可避免重復(fù)為高速緩存已經(jīng)存儲在瀏覽器高速緩存1114中內(nèi)容1140所需的工作,進(jìn)一步減少珍貴資源的任何徒然使用。另外, RPCM 1126可對BCM 1112的高速緩存策略進(jìn)行“反向工程”,由此改善RPCM 1126預(yù) 測BCM 1112動作的能力,并由此改善RPCM 1126和BCM 1112的交互的整體效率。這 種效率改善可帶來終端用戶的因特網(wǎng)體驗(yàn)的大大改善。圖10示出了例示圖9所示的系統(tǒng)100的特定實(shí)施例的系統(tǒng)1200。系統(tǒng)1200可 包括連接到或者與本地存儲裝置(LSD) 1204通信的主機(jī)裝置(HD) 1202。HD 1202和LSD 1204可通過HD/LSD接口 1206與HD 1202通信。LSD 1204可采用可移除存儲器裝置 的形式,如具有相對小的形狀因子并且可用來存儲諸如相機(jī)、手持或筆記本計(jì)算機(jī)、網(wǎng) 卡、網(wǎng)絡(luò)電器、機(jī)頂盒、手持或其他小音頻播放器/記錄器(例如MP3裝置)和醫(yī)學(xué)監(jiān)視 器的電子產(chǎn)品的數(shù)字?jǐn)?shù)據(jù)的存儲卡。存儲卡的例子包括PC卡(以前的PCMCIA裝置)、 閃存卡(例如,緊致閃存類型I和II)、安全數(shù)字(SD)卡、多媒體卡(MMC)、ATA卡 (例如,緊致閃存卡)、記憶棒、智能媒體卡。此外,LSD 1204可采取非可移除存儲器 裝置的形式,如Milpitas CA的SanDisk公司制造的兼容SD的iNAND 嵌入式閃存驅(qū)動器。應(yīng)注意,HD/LSD接口 1206可被配置為機(jī)械實(shí)體(如插槽或互連總線),其中 可機(jī)械連接HD 1202和LSD 1204。在一些實(shí)施例中,HD/LSD 1206可采用無線接口的 形式。HD 1202包括處理器,然而為了簡潔起見,在下面的討論中沒有示出也沒有進(jìn)一 步提及HD 1202中包括的處理器,但假設(shè)它存在。LSD 1204可物理地專門連接到HD 1202,因而不能在沒有HD 1202介入的情況下訪問或與系統(tǒng)1200之外的電路和/或應(yīng)用 通信。典型地,除了 HD1202提供的接口之外,LSD 1204不使用到HD 1202之外的裝置 的任何接口。HD 1202包括主機(jī)裝置文件系統(tǒng)(HDFS) 1208。HDFS 1208可發(fā)出LSD管理命 令1210,其可通過LSD驅(qū)動器(未示出)和HD/LSD接口 1206傳遞到LSD 1204。例 如,在LSD 1204被配置為包括具有邏輯塊地址(LBA)架構(gòu)的數(shù)據(jù)存儲區(qū)域的那些情況 下,LSD管理命令1210可采用塊命令的形式。系統(tǒng)1200還可具有在LSD 1204或HD 1202上駐留的多個(gè)應(yīng)用,其可彼此獨(dú)立地執(zhí)行。此外,每個(gè)應(yīng)用可管理LSD 1204上它 們自己的特定的數(shù)據(jù)高速緩存,每個(gè)高速緩存也彼此獨(dú)立。例如,這樣的應(yīng)用可包括諸 如BCM 1112支持的瀏覽器1212的因特網(wǎng)應(yīng)用,其可利用HDFS 1208以使用上述大容量 存儲路徑1118與LSD 1204通信。除了瀏覽器應(yīng)用1212之外,獨(dú)立的應(yīng)用1214還可利 用HDFS 1208與LSD 1204通信,因而HDFS 1208 “能看到”。然而與應(yīng)用1214相反, 某些獨(dú)立應(yīng)用不利用大容量存儲路徑1118在LSD1204中存儲數(shù)據(jù)。這樣的應(yīng)用可被稱 為外部或目標(biāo)應(yīng)用1216,因而HDFS1208 “看不到”。在所述實(shí)施例中,目標(biāo)應(yīng)用1216可本地或遠(yuǎn)程地駐留在任何數(shù)目的位置和裝 置中。這樣的位置和裝置可包括例如HD 1202 (具有本地應(yīng)用1216-1)或HD 1202和 LSD 1204之外的但仍在系統(tǒng)1200中的任何裝置,如外部裝置1218 (其中駐留本地應(yīng)用 1216-2)。在所述實(shí)施例中,外部裝置1218可采用通過接口 1220耦連到HD 1202的第二 LSD 1218的形式。此外,這樣的位置和裝置還可包括遠(yuǎn)程裝置1222 (其中駐留遠(yuǎn)程應(yīng)用 1216-3,其可采用適合于管理代理器高速緩存1124的RPCM 1126的形式)。LSD 1204可包括控制器1224和數(shù)據(jù)存儲區(qū)域1226。數(shù)據(jù)存儲區(qū)域1226可被邏輯地布置為至少包括由HDFS 1208使用大容量存儲路徑1118管理的大容量存儲區(qū)域 1228。在特別有用的布局中,大容量存儲區(qū)域1228可以是基于LBA的大容量存儲區(qū)域。 數(shù)據(jù)存儲區(qū)域1226還可以被邏輯地布置為包括HDFS 1208看不到的部分1230。HDFS 1208看不到意味著看不到的部分1230不被HDFS 1208管理,因而不能被HDFS 1208直 接訪問。
大容量存儲區(qū)域1228還可被邏輯地布置為包括瀏覽器高速緩存1114,其可包括 支持瀏覽器1212的BCM 1112所提供的瀏覽器內(nèi)容1140。通過在瀏覽器高速緩存1114 中本地高速緩存先前由瀏覽器1212使用的信息,減少了用來提供瀏覽器1212的網(wǎng)絡(luò)帶寬 量。移動網(wǎng)絡(luò)帶寬的減少對于移動網(wǎng)絡(luò)的高效操作可能是重要的,尤其是因?yàn)榭捎玫木W(wǎng) 絡(luò)帶寬可能是有限的??床坏降牟糠?230可被邏輯地布置為包括代理器高速緩存1124。與高速緩存機(jī)制的性能有關(guān)的一個(gè)問題是決定如何將內(nèi)容帶入和移出高速緩存 的高速緩存策略。典型地,高速緩存策略由應(yīng)用開發(fā)者公布的優(yōu)化指令構(gòu)成,其被遵循 以便管理計(jì)算機(jī)上存儲的信息的高速緩存。高速緩存大小通常是有限的,并且如果高速 緩存滿了,則高速緩存策略必須選擇丟棄哪些項(xiàng)目,以為新的項(xiàng)目騰出空間。最高效的 高速緩存算法(也稱為高速緩存啟發(fā)式)將始終丟棄在未來最長的時(shí)間內(nèi)將不再需要的信 息。因?yàn)椴豢赡茴A(yù)測未來多久將需要信息,所以這是不可行的。可僅僅在試驗(yàn)之后計(jì)算 出可行的最小值,并且可比較實(shí)際選擇的高速緩存算法的效率和優(yōu)化的最小值。各種高 速緩存策略的例子包括最近最少使用(LRU)、最近最常使用(MRU)、偽LRU和自適應(yīng) 替換高速緩存(ARC)。除了高速緩存中存儲的資源的時(shí)間性質(zhì)之外,所存儲的內(nèi)容本身的性質(zhì)也可以 是重要的顧慮。所存儲的內(nèi)容的性質(zhì)可以是具有不同成本的項(xiàng)目(保留獲得起來最貴的 項(xiàng)目,例如花費(fèi)長時(shí)間得到的那些項(xiàng)目)或占據(jù)更多高速緩存的項(xiàng)目(如果項(xiàng)目具有不同 的大小,則高速緩存可能想要丟棄大的項(xiàng)目以存儲幾個(gè)更小的項(xiàng)目),以及隨時(shí)間過期的 項(xiàng)目。當(dāng)應(yīng)用開發(fā)者表述要應(yīng)用于與應(yīng)用相關(guān)聯(lián)的高速緩存的高速緩存策略時(shí),可不同 程度地考慮這些顧慮中的全部或僅僅一些。在瀏覽器1212的情況下,應(yīng)用于瀏覽器高速緩存1114的合適的高速緩存策略可 依賴于上述顧慮中的任一個(gè)或全部,尤其是當(dāng)在要使用瀏覽器1212的移動環(huán)境的情況下 看時(shí)。因?yàn)闉g覽器1212將用在移動環(huán)境中,當(dāng)面對網(wǎng)絡(luò)流量、可用帶寬等時(shí),可對那 些表現(xiàn)出特別大的負(fù)擔(dān)的項(xiàng)目給予特殊的考慮。因而瀏覽器開發(fā)者將創(chuàng)建特別定制的瀏 覽器高速緩存策略,以優(yōu)化瀏覽器1212當(dāng)在移動WEB環(huán)境中使用時(shí)的性能。應(yīng)用于代 理器高速緩存1124的任何高速緩存策略可以與應(yīng)用于瀏覽器高速緩存1114的高速緩存策 略非常不同。代理器高速緩存高速緩存策略和瀏覽器高速緩存高速緩存策略之間的潛在 的失配可能表現(xiàn)出非常低效和由瀏覽器1212體現(xiàn)出的性能損失。例如,應(yīng)用于代理器 高速緩存1124的代理器高速緩存高速緩存策略可以被引導(dǎo)為以其中存儲的資源的“新鮮 度”為代價(jià)來保護(hù)可用的高速緩存存儲器空間,而應(yīng)用于瀏覽器高速緩存1114的瀏覽器 高速緩存高速緩存策略可被引導(dǎo)為恰好相反,以任何其他因素為代價(jià)維持“最新鮮”的 資源。因而,在該例子中,代理器高速緩存高速緩存策略和瀏覽器高速緩存高速緩存以 相反的目的工作,在此過程中產(chǎn)生代理器高速緩存1124和瀏覽器高速緩存1114的操作的 基本沖突。顯然,將期望代理器高速緩存1124和瀏覽器高速緩存1114盡可能可實(shí)行地整齊地工作,以便改善整體效率和本地高速緩存系統(tǒng)的利用。本發(fā)明的特征之一是LSD 1204可基于瀏覽器高速緩存1114中存儲的數(shù)據(jù)的性質(zhì) (即,文件的大小、文件的種類)和瀏覽器1114中存儲的數(shù)據(jù)的動態(tài)(即,文件的保持 長度)推導(dǎo)出(即,反向工程)瀏覽器高速緩存高速緩存策略。例如,可在瀏覽器高速 緩存內(nèi)容1140的當(dāng)前狀態(tài)和瀏覽器高速緩存內(nèi)容1140的任何數(shù)目的先前狀態(tài)之間進(jìn)行比 較。以此方式,可發(fā)展出指示瀏覽器高速緩存內(nèi)容1140隨時(shí)間的狀態(tài)變化的模式。然 后可由LSD1204使用該模式,例如以推導(dǎo)出瀏覽器高速緩存高速緩存策略。例如,如果 LSD 1204確定瀏覽器高速緩存1114首先丟棄最近最少使用的項(xiàng)目,則LSD1204可推導(dǎo)出 瀏覽器高速緩存1114由沿著LRU型高速緩存策略的線路構(gòu)建的瀏覽器高速緩存高速緩存 策略引導(dǎo)。另一方面,如果LSD 1204推導(dǎo)出瀏覽器高速緩存1114首先丟棄最近最常使 用的項(xiàng)目,則LSD 1204可推導(dǎo)出瀏覽器高速緩存1114遵循沿著MRU型高速緩存策略的 線路構(gòu)建的高速緩存策略。在任何情況下,一旦LSD 1204已經(jīng)推導(dǎo)出瀏覽器高速緩存高 速緩存策略,則LSD 1204可使用推導(dǎo)出的瀏覽器高速緩存高速緩存策略修正代理器高速 緩存高速緩存策略,帶來本地高速緩存系統(tǒng)的效率的整體改善。
例如,如果LSD 1204已經(jīng)推導(dǎo)出瀏覽器高速緩存1114遵循LRU型高速緩存策 略,則LSD 1204可將代理器高速緩存高速緩存策略修正為優(yōu)先丟棄最近最少使用的代理 器高速緩存內(nèi)容。以此方式,可減少整體內(nèi)容重復(fù),改善了本地高速緩存系統(tǒng)的整體利 用。相反,如果LSD 1204已經(jīng)推導(dǎo)出瀏覽器高速緩存1114遵循MRU型高速緩存策略, 則LSD 1204可將代理器高速緩存高速緩存策略修正為優(yōu)先丟棄最近最常使用的代理器高 速緩存內(nèi)容。在任何情況下,LSD 1204有在認(rèn)為適當(dāng)時(shí)修改代理器高速緩存高速緩存策 略的自由。例如,在移動WEB環(huán)境中,代理器高速緩存管理器的一個(gè)重要用途是進(jìn)行網(wǎng)頁 預(yù)提取。因?yàn)闉g覽器位于最接近終端用戶的因特網(wǎng)的邊緣,瀏覽器性能的任何改善均能 大大增強(qiáng)終端用戶的整體瀏覽體驗(yàn)。因而,通過修正用于引導(dǎo)代理器高速緩存管理器的 操作的高速緩存策略,代理器高速緩存管理器可通過例如自動地預(yù)提取與已經(jīng)存儲在瀏 覽器高速緩存中的瀏覽器高速緩存內(nèi)容相關(guān)聯(lián)的代理器高速緩存內(nèi)容(如網(wǎng)頁),改善觀 察到的瀏覽器性能。例如,如果頁面P被存儲在瀏覽器高速緩存中,則代理器高速緩存 可自動地預(yù)提取在頁面P的鏈接上出現(xiàn)的任何網(wǎng)頁(即,頁面P+1等)。圖11示出了根據(jù)本發(fā)明實(shí)施例的LSD 1104中包括的代表性控制器1300??刂?器1300是圖9所示的控制器1120的具體實(shí)施例,示出了代表控制器1120上運(yùn)行的應(yīng)用的 各種功能塊。因此,控制器1300包括與HDFS 1208通信的管理塊1302。管理塊1302進(jìn) 而與大容量存儲過濾塊1304通信。大容量存儲過濾塊1304與因特網(wǎng)文件管理器塊1306 和代理器高速緩存管理器塊1308這兩者通信。因特網(wǎng)文件管理器塊1306和代理器高速 緩存管理器塊1308這兩者每個(gè)都能與代理器服務(wù)器塊1310通信。在所述實(shí)施例中,大 容量存儲過濾塊1304可向代理器高速緩存管理器塊1308提供關(guān)于瀏覽器高速緩存1114 中存儲的瀏覽器高速緩存內(nèi)容1140的信息。存在可用于推斷所存儲的內(nèi)容的性質(zhì)和將該 推斷傳送給RPCM的多種技術(shù)。一個(gè)技術(shù)確定與所存儲的內(nèi)容文件相關(guān)聯(lián)的名稱及其相 應(yīng)的文件擴(kuò)展名(如“.htm”)。一旦得知該信息,則它可被傳送到RPCM。代理器高 速緩存管理器塊1308可以是LSD1104本地的。在一些實(shí)現(xiàn)方式中,代理器高速緩存管理器塊1308可駐留在諸如遠(yuǎn)程代理器服務(wù)器1126的遠(yuǎn)程裝置中。描述了提供用于受保護(hù)的數(shù)字內(nèi)容的安全分發(fā)和消費(fèi)的方案的方法、系統(tǒng)和設(shè) 備,其至少提供內(nèi)容分發(fā)的推/拉方法的優(yōu)點(diǎn)。在該討論的上下文中,“受保護(hù)的數(shù)字 內(nèi)容”是指具有內(nèi)容提供商強(qiáng)加的約束(如使用和訪問約束)的數(shù)字內(nèi)容。例如,使用 約束可包括僅僅播放內(nèi)容特定次數(shù)或特定時(shí)長,以及防止未授權(quán)的復(fù)制。訪問約束可將 受保護(hù)的數(shù)字內(nèi)容的訪問限制為僅僅具有合適的訪問證書的那些實(shí)體。受保護(hù)的數(shù)字內(nèi) 容可根據(jù)特定DRM方案而覆蓋任何相關(guān)配置,以便維持內(nèi)容提供商所強(qiáng)加的所有約束。 在LSD處接收的受保護(hù)內(nèi)容可包括僅僅內(nèi)容或內(nèi)容的受保護(hù)片段,以及被稱為“組合傳 輸”的任何相關(guān)權(quán)利對象(RO)或者被稱為“分離傳輸”的RO,如果相應(yīng)的受保護(hù)內(nèi)容 片段已經(jīng)存儲在LSD中的話。
可參照包括具有主機(jī)裝置文件系統(tǒng)(HDFS)的主機(jī)裝置(HD)和具有由存儲器控 制器控制的大容量存儲存儲器陣列的本地存儲裝置(LSD)的計(jì)算系統(tǒng)描述本發(fā)明。在這 里描述的實(shí)施例中,HDFS通過包括LSD驅(qū)動器的大容量存儲路徑管理大容量存儲存儲 器陣列。在某些情況下,存儲器陣列中可存儲了預(yù)加載的數(shù)字內(nèi)容。預(yù)加載的數(shù)字內(nèi)容 意味著由制造者、OEM或任何內(nèi)容提供商在存儲器陣列中存儲的數(shù)字內(nèi)容。這樣的預(yù) 加載數(shù)字內(nèi)容可包括諸如歌曲、音樂和/或視頻的媒體項(xiàng)目,其還可包括受保護(hù)和不受 保護(hù)的預(yù)加載的媒體項(xiàng)目。不論存儲器陣列是否包含預(yù)加載的數(shù)字內(nèi)容,LSD可從數(shù)字 內(nèi)容服務(wù)器獲取數(shù)字內(nèi)容,其中該獲取對于HDFS而言是看不到的。然而,在某些情況 下,可能期望在存儲器陣列中存儲了預(yù)加載的數(shù)字內(nèi)容的情況下,LSD不能存儲所接收 的數(shù)字內(nèi)容或者根本不能從數(shù)字內(nèi)容服務(wù)器接收數(shù)字內(nèi)容。例如,這種情形可包括內(nèi)容 創(chuàng)作者已經(jīng)在存儲器陣列中預(yù)加載了數(shù)字內(nèi)容(如包括音樂、歌曲等的私有內(nèi)容)并且不 想在LSD中存儲附加的內(nèi)容(與私有數(shù)字內(nèi)容無關(guān))。在這些情況下,可阻止LSD獲取 任何數(shù)字內(nèi)容或者可阻止LSD在存儲器陣列中存儲數(shù)字內(nèi)容,但雖然如此,仍可以從存 儲器陣列對預(yù)加載的數(shù)字內(nèi)容進(jìn)行流傳輸。在任何情況下,每當(dāng)LSD獲取數(shù)字內(nèi)容時(shí),HDFS看不到該獲取,并且更一般 地,大容量存儲路徑看不到該獲取。LSD可通過許多方式在存儲器陣列中安全地存儲所 獲取的受保護(hù)內(nèi)容數(shù)據(jù)。在某些情況下,在LSD處接收的受保護(hù)內(nèi)容數(shù)據(jù)可能產(chǎn)生某 種變換。例如,權(quán)利對象(RO)可按未加密形式(即,“清楚”)存儲在HDFS看不到 的存儲器陣列部分中,而相應(yīng)的數(shù)字內(nèi)容可存儲在HDFS看得到的陣列部分中。可替換 地,RO可存儲在HDFS看得到的存儲器陣列的部分中,但是以加密的形式。在任何情 況下,可在數(shù)字內(nèi)容所維持的使用約束內(nèi),在用戶控制下安全地本地存儲數(shù)字內(nèi)容。此 夕卜,無需在HD中的大容量存儲路徑中添加或集成額外的DRM軟件,由此維持了與現(xiàn)有 技術(shù)(stateoftheart)安全性狀態(tài)的兼容性,由此滿足了內(nèi)容提供商需求。一旦存儲在存 儲器陣列中,則LSD可從存儲器陣列流傳輸數(shù)字內(nèi)容中的所有或一些(例如當(dāng)用戶選擇 要播放的特定媒體項(xiàng)目時(shí))。圖12A示出了適合于安全分發(fā)和消費(fèi)受保護(hù)數(shù)字內(nèi)容的根據(jù)本發(fā)明實(shí)施例的系 統(tǒng)2900。系統(tǒng)2900包括HD 202、LSD 204和被布置為存儲數(shù)字內(nèi)容2904的數(shù)字內(nèi)容服 務(wù)器2902。數(shù)字內(nèi)容2904可包括受保護(hù)或未受保護(hù)的數(shù)字內(nèi)容。存在用來保護(hù)數(shù)字內(nèi) 容的多種方案,其中許多落入數(shù)字權(quán)利管理或DRM(表示由發(fā)布者和版權(quán)擁有者用來限制數(shù)字媒體或裝置的使用的訪問控制技術(shù)的涵蓋性術(shù)語)之下。特定的DRM方案通常 定義至少受保護(hù)數(shù)字內(nèi)容(PDC)獲取方法(其在分離傳輸?shù)那闆r下相當(dāng)于RO獲取方法) 和允許任何使用/訪問約束的安全施行的至少受保護(hù)數(shù)字內(nèi)容消費(fèi)方法(其可包括RO施 行方法)。在定義安全PDC獲取和安全PDC消費(fèi)方法的同時(shí),內(nèi)容提供商通常規(guī)定一組 魯棒性(robustness)規(guī)則,以定義“安全”意味著什么。這通常包括安全存儲規(guī)定,其 描述了應(yīng)通過哪些機(jī)制(即,軟件或硬件)本地存儲受保護(hù)的數(shù)字內(nèi)容以便避免未授權(quán)的 使用和/或訪問。在該討論的上下文中,假設(shè)對于任何給定的DRM方案,LSD至少兼 容由內(nèi)容提供商提出的任何需要的安全存儲規(guī)定。
在傳統(tǒng)的系統(tǒng)中,HD 202必須包括特定DRM程序,將需要其以便讓受保護(hù)數(shù) 字內(nèi)容2904被分發(fā)并最終被終端用戶消費(fèi)。在現(xiàn)有技術(shù)中,這通常通過在大容量存儲路 徑中集成一些能夠處理DRM特定內(nèi)容的DRM特定應(yīng)用而實(shí)現(xiàn),以便確保按授權(quán)方式消 費(fèi)內(nèi)容/相關(guān)聯(lián)的R0。這里的假設(shè)是對于給定DRM方案,LSD至少兼容所需的“安全 存儲規(guī)定”。然而,本發(fā)明不需要HD 202將任何特定DRM模塊/應(yīng)用與HDFS或HD 集成,因?yàn)閺臄?shù)字內(nèi)容服務(wù)器2902接收并存儲在LSD 204處的任何數(shù)字內(nèi)容維持所有約 束,因而不需要在大容量存儲路徑中集成額外的DRM專用(DRM-specific)代理。在所 述實(shí)施例中,存儲陣列238可被邏輯地布置為包括由HDFS 208使用大容量存儲路徑管理 的大容量存儲區(qū)域2908,并包括HDFS看不到的存儲區(qū)域2910。HDFS 208看不到意味 著HDFS 208不管理看不到的存儲區(qū)域2910。以此方式,HDFS 208不知道在看不到的存 儲區(qū)域2910處執(zhí)行的任何存儲操作或在看不到的存儲區(qū)域2910中存儲的內(nèi)容。在操作期間,HD 202確定大容量存儲區(qū)域2908是否包括任何預(yù)加載的受保護(hù)數(shù) 字內(nèi)容2912。這樣的預(yù)加載的受保護(hù)數(shù)字內(nèi)容可包括例如私有數(shù)字文件,如數(shù)字音樂文 件、數(shù)字視頻文件、與例如廣告有關(guān)的數(shù)字媒體文件等。如果HD 202確定在大容量存儲 區(qū)域2908中沒有存儲預(yù)加載的受保護(hù)數(shù)字內(nèi)容2912,則LSD 204可提示HD 202在LSD 204和數(shù)字內(nèi)容服務(wù)器2902之間建立通信路徑2914。(應(yīng)注意,數(shù)字內(nèi)容服務(wù)器2902 可提示HD 202建立通信路徑2914。)一旦建立了通信路徑2914,則不再涉及HD 202, 除了維護(hù)通信路徑2914。LSD 204和數(shù)字內(nèi)容服務(wù)器2904可通過通信路徑2914邏輯交 互,而無需HD 202的進(jìn)一步介入(除了維護(hù)通信路徑2914)。作為邏輯交互的一部分, 數(shù)字內(nèi)容服務(wù)器2902或LSD 204可發(fā)起遠(yuǎn)程數(shù)字內(nèi)容服務(wù)器2902和LSD 204之間的認(rèn)證 會話,以便讓LSD 204和遠(yuǎn)程數(shù)字內(nèi)容服務(wù)器2902這兩者彼此認(rèn)證。一旦已經(jīng)成功完成認(rèn)證會話(即,LSD 204和數(shù)字內(nèi)容服務(wù)器2902已經(jīng)被 認(rèn)證),則LSD 204和數(shù)字內(nèi)容服務(wù)器2902可繼續(xù)通信路徑2914上的邏輯交互。更 一般地,可實(shí)現(xiàn)任何受保護(hù)數(shù)字內(nèi)容獲取機(jī)制,以滿足內(nèi)容提供商的安全性需求。在 OMA(開放移動聯(lián)盟)DRM的情況下,這樣的獲取機(jī)制的一個(gè)例子將會是權(quán)利對象獲取 協(xié)議(ROAP)。作為邏輯交互的一部分,LSD 204可發(fā)起受保護(hù)數(shù)字內(nèi)容2904(例如,其 可僅僅包括權(quán)利對象)從遠(yuǎn)程數(shù)字內(nèi)容服務(wù)器2902到LSD 204的傳輸,或者數(shù)字內(nèi)容服 務(wù)器2902可發(fā)起受保護(hù)數(shù)字內(nèi)容從數(shù)字內(nèi)容服務(wù)器2902到LSD 204的傳輸。在任何情 況下,一旦接收到受保護(hù)數(shù)字內(nèi)容2904,則控制器236可安全地將受保護(hù)數(shù)字內(nèi)容2904 存儲在存儲器陣列238中。在一些情況下,控制器236可在大容量存儲區(qū)域2908中存儲 受保護(hù)數(shù)字內(nèi)容2904。然而,因?yàn)镠DFS 208看得到大容量存儲區(qū)域2908中存儲的任何數(shù)據(jù),那么可加密任何這樣的數(shù)據(jù)。然而,如果控制器238在看不到的區(qū)域2910中存儲 受保護(hù)數(shù)字內(nèi)容2904,則無需這樣的加密。例如,由數(shù)字內(nèi)容和相應(yīng)權(quán)利對象(RO)構(gòu) 成的受保護(hù)數(shù)字內(nèi)容的安全存儲可通過在HDFS看不到的區(qū)域中存儲內(nèi)容和RO兩者或者 在看得到的部分中存儲加密的內(nèi)容而在看不到的部分中存儲相應(yīng)RO等來實(shí)現(xiàn)。如圖12B所示,控制器236可被邏輯地布置為包括數(shù)字內(nèi)容流服務(wù)器2916。數(shù) 字內(nèi)容流服務(wù)器2916可讀取存儲器陣列238中存儲的任何數(shù)字內(nèi)容(包括預(yù)加載的數(shù) 字內(nèi)容)。數(shù)字內(nèi)容流服務(wù)器2916可將從存儲陣列238讀取的任何數(shù)據(jù)組織為數(shù)據(jù)流 2920。例如,數(shù)據(jù)流2920可包括至少一個(gè)數(shù)據(jù)分組2922,其可由本領(lǐng)域公知的頭標(biāo)和有 效負(fù)載構(gòu)成。在一些情況下,數(shù)據(jù)分組2922可被加密。LSD 204可提示HD 202建立流 信道(streaming channel) 2924,可通過它以數(shù)據(jù)流2920的形式傳送數(shù)據(jù)分組2922。按照 原始內(nèi)容提供商需求,流信道2924可以是安全信道或不安全的信道。在數(shù)據(jù)分組2922被 加密的情況下,可通過在安全信道2924上傳遞加密的數(shù)據(jù)分組2922,實(shí)現(xiàn)針對于未授權(quán) 使用的額外保護(hù)。本發(fā)明的另一特征包括LSD在使用例如授權(quán)服務(wù)器2928服務(wù)于外部 代理2926時(shí)翻譯和強(qiáng)加受保護(hù)數(shù)字內(nèi)容使用/訪問約束(例如,消耗RO)的能力。以 此方式,因?yàn)長SD強(qiáng)加任何約束,任何播放器或其他這樣的應(yīng)用可以是現(xiàn)有應(yīng)用。 應(yīng)注意,信道可以是不安全信道(即,如在移動環(huán)境中,未被認(rèn)證的播放器可 播放數(shù)字內(nèi)容),在該情況下,使用約束可能由LSD施加(例如,播放兩次或從1月1號 播放等)??商鎿Q地,信道可以是安全信道(即,存在相互認(rèn)證,其中例如播放器證書可 被流服務(wù)器識別),在該情況下,LSD也可強(qiáng)加“訪問約束”(例如,僅僅給定授權(quán)的播 放器可播放內(nèi)容)。典型地,在移動環(huán)境中,不安全的信道常常對于安全性和其他顧慮 而言是足夠的,同時(shí)維持DRM型系統(tǒng)中固有的優(yōu)點(diǎn)(如權(quán)利對象語義的使用)。以此方 式,不同于現(xiàn)有技術(shù),本發(fā)明提供了在封閉/私有DRM系統(tǒng)和現(xiàn)有播放器的世界之間的 鏈接的能力,而不必被迫將私有軟件集成到HD平臺中,同時(shí)仍然保持大部分(如果不是 全部的話)的內(nèi)容提供商約束。被布置為處理數(shù)據(jù)分組2922的外部代理2926可位于遠(yuǎn)程作為外部代理2926-1 或位于本地作為本地代理2926-1。對于該例子,本地代理2926-2可位于HD 202中。遠(yuǎn) 程代理2926-1可通過流信道2924接收數(shù)據(jù)分組2922。在特別有用的實(shí)施例中,遠(yuǎn)程代 理2926-1可以是授權(quán)代理。授權(quán)意味著遠(yuǎn)程代理2926-1擁有成功處理數(shù)據(jù)分組2922 (加 密或未加密)的合適的證書(credential)。合適的證書可按本領(lǐng)域公知的任何數(shù)目的方式 獲取。認(rèn)證和授權(quán)服務(wù)器2928例如可提供處理數(shù)據(jù)分組2922所需的合適的證書。這樣 的服務(wù)器可位于遠(yuǎn)程(如在網(wǎng)絡(luò)226或另一本地裝置中)或位于本地,如服務(wù)器2928。 在所述實(shí)施例中,應(yīng)用2926的證書可偏帶(off-band)獲取。本地認(rèn)證/授權(quán)服務(wù)器2928 可強(qiáng)加(例如,消耗(decrement))任何使用/訪問約束。在任何情況下,當(dāng)LSD強(qiáng)加訪 問約束時(shí),僅僅擁有合適證書的那些代理才能處理數(shù)據(jù)分組2922。以此方式,可向受保 護(hù)數(shù)字內(nèi)容的提供者確保任何受保護(hù)的數(shù)字內(nèi)容將僅僅能被具有合適證書的那些用戶獲 得。在最有可能的實(shí)施例中,應(yīng)用2926將采用在HD 202上運(yùn)行的本地?cái)?shù)字媒體播放器/ 渲染器的形式,并且兼容流標(biāo)準(zhǔn)(例如,RTP/RTSP)。因而,應(yīng)用2926將能夠播放/渲 染受保護(hù)的數(shù)字內(nèi)容,而無需在HD 202中添加任何DRM軟件。而且,最有可能的是, 對于移動環(huán)境中的代理2926,可能不需要附加的安全性,由此能夠使用現(xiàn)有播放器,在該情況下,如果沒有相互服務(wù)器/播放器認(rèn)證,可由LSD僅僅強(qiáng)加使用約束。以此方式,本發(fā)明提供了用于受保護(hù)數(shù)字內(nèi)容的安全分發(fā)和消費(fèi)的方案。有利 的是,受保護(hù)的數(shù)字內(nèi)容可在用戶控制下本地存儲,而同時(shí)具有現(xiàn)有播放器/平臺的最 廣泛的接受度(即,無需添加或集成額外的軟件),同時(shí)仍然保持兼容“現(xiàn)有技術(shù)安全性 狀態(tài)”以便滿足內(nèi)容提供商的需求。如相關(guān)聯(lián)的管理主機(jī)裝置所看到的,本發(fā)明的具體實(shí)施例提供了本地存儲裝置 的存儲容量的遠(yuǎn)程使能的虛擬擴(kuò)展。盡管遠(yuǎn)程/用戶控制的本地存儲裝置的擴(kuò)展的概念 不是新的,但是本發(fā)明提供了新的創(chuàng)新的方法。通常,所有非易失性存儲裝置包括靜態(tài) 預(yù)定物理存儲器陣列。然而,存儲器陣列的一部分通常對于主機(jī)裝置文件系統(tǒng)是隱藏 的,結(jié)果,對于主機(jī)裝置以及最終對于用戶是隱藏的。在傳統(tǒng)的實(shí)現(xiàn)方式中,在生產(chǎn)時(shí) 確定所制造的存儲器陣列的大小,因而用戶沒有能力進(jìn)一步將存儲器陣列的物理存儲容 量擴(kuò)展為超出預(yù)定隱藏容量的界限;即,存儲器陣列的總存儲容量沒有靈活度。相反, 本發(fā)明的目的是提供如主機(jī)裝置的主機(jī)裝置文件系統(tǒng)感知到的本地存儲裝置的存儲容量 的靈活擴(kuò)展。盡管預(yù)期可使用任何合適的存儲裝置,但在下面具體實(shí)施例的描述中,假設(shè)存儲裝置是非易失性存儲裝置。然而,本發(fā)明也可在易失性存儲裝置上實(shí)現(xiàn)。例如,非易 失性存儲裝置可以是基于FLASH或EERPOM的存儲裝置。存儲裝置也可以是可移除或 不可移除(固定)裝置。如所公知的,不可移除的裝置一旦在它們已經(jīng)與主機(jī)連接時(shí)不 想接著從主機(jī)移除,而可移除裝置被配置為容易地移除或添加到主機(jī)。較好地適合于實(shí)現(xiàn)本發(fā)明的可移除裝置的一個(gè)類型是存儲卡。存儲卡一般用于 存儲與各種電子產(chǎn)品一起使用的數(shù)字?jǐn)?shù)據(jù)。存儲卡常常能從電子系統(tǒng)移除,從而所存儲 的數(shù)字?jǐn)?shù)據(jù)可以是便攜式的。存儲卡可具有相對小的形狀因子,并且用于存儲獲取數(shù)據(jù) 的電子產(chǎn)品的數(shù)字?jǐn)?shù)據(jù),如相機(jī)、媒體播放器/記錄器(例如,MP3裝置)、手持或筆記 本計(jì)算機(jī)、個(gè)人數(shù)字助手(PDA)、蜂窩電話、網(wǎng)卡、網(wǎng)絡(luò)電器、機(jī)頂盒和手持或其他裝 置。這里描述的本地存儲裝置可兼容任何存儲卡格式,如用于管理諸如音頻、視 頻或照片文件的數(shù)字媒體的安全數(shù)字(SD)存儲卡格式。存儲裝置還可兼容多媒體卡 (MMC)存儲卡格式、緊致閃存(CF)存儲卡格式、閃速PC(例如,ATA閃存)存儲卡 格式、智能媒體存儲卡格式或兼容任何其他工業(yè)標(biāo)準(zhǔn)規(guī)格。這些存儲卡的一個(gè)供應(yīng)商是 Milpitas CA的SanDisk公司。存儲裝置還可應(yīng)用于其他可擦除可編程存儲器技術(shù),包括但 不限于電可擦除可編程只讀存儲器(EEPROM)、EPROM> MRAM、FRAM>鐵電和磁存 儲器。注意,存儲裝置配置不依賴于可移除存儲器的類型,并且可通過任何類型的存儲 器實(shí)現(xiàn),無論它是閃存還是其他類型的存儲器。存儲裝置還可通過一次性可編程(OTP) 存儲器芯片和/或通過3維存儲器芯片技術(shù)實(shí)現(xiàn)??捎脕硎褂眠@樣的存儲卡的主機(jī)系統(tǒng)包括個(gè)人計(jì)算機(jī)、筆記本計(jì)算機(jī)、手持計(jì) 算裝置、蜂窩電話、相機(jī)、音頻再現(xiàn)裝置和需要可移除數(shù)據(jù)存儲裝置的其他電子裝置。 閃速EEPROM系統(tǒng)也可用作嵌入主機(jī)系統(tǒng)中的大體積大容量存儲裝置。存儲裝置可以是 本地代理器系統(tǒng)的一部分,其可在PDA(個(gè)人數(shù)字助理)、移動手持機(jī)和其他各種電子裝 置上實(shí)現(xiàn)。典型地,PDA已知為用戶持有的計(jì)算系統(tǒng),通過各種個(gè)人信息管理應(yīng)用如地址本、日歷組織器和電子記事本等等而實(shí)現(xiàn)。如從下面的描述中將清楚的,可有利地使用輔裝置發(fā)起主裝置提供的物理響應(yīng) 的能力,以向主裝置提供額外的好處。例如,根據(jù)本發(fā)明,第一輔裝置可發(fā)起主裝置 提供的物理響應(yīng),其使得主裝置在第一輔裝置和第二輔裝置之間建立通信路徑。根據(jù)具 體實(shí)施例,其中兩個(gè)輔裝置均為存儲裝置,主裝置可通過向第一存儲裝置發(fā)送的主裝置 命令而發(fā)起存儲操作。盡管主裝置命令始終至少由第一存儲裝置“服務(wù)”,其中經(jīng)由 第一存儲裝置向主裝置傳送對主裝置命令的任何響應(yīng),但是第一存儲裝置部分地基于該 命令,確定是要自己執(zhí)行所請求的存儲操作和/或通過按照第一存儲裝置的命令而建立 的通信路徑將命令轉(zhuǎn)發(fā)到第二存儲裝置,此時(shí)第二存儲裝置可自己執(zhí)行所請求的存儲操 作。另外,第一和第二輔裝置之間的通信路徑的建立和邏輯交互都可以對于主裝置的文 件系統(tǒng)隱藏。圖13示出了根據(jù)本發(fā)明實(shí)施例的計(jì)算系統(tǒng)200。系統(tǒng)200包括采用本地存儲裝置 (LSD) 204的形式的輔裝置。系統(tǒng)200還包括采用主機(jī)裝置(HD) 202的形式的主裝置。 LSD 204可通過HD/LSD接口 206與HD 202通信。應(yīng)注意,HD/LSD接口 206可被配 置為機(jī)械實(shí)體(如插槽或互連總線),其中可機(jī)械連接HD 202和LSD 204。然而,在一 些實(shí)施例中,HD/LSD 206可采用無線接口的形式。盡管HD 202有必要包括處理器, 但為了簡潔起見,在下面的討論中沒有示出也沒有進(jìn)一步提及HD 202中包括的處理器, 但假設(shè)它存在。在許多實(shí)施例中,除了 HD 202提供的接口之外,LSD 204不使用到HD 202之外的裝置的任何接口。換言之,LSD 204可專門(exclusively)連接到HD 202,因 而可能不能在沒有HD 202介入的情況下訪問或與計(jì)算系統(tǒng)200之外的電路和/或應(yīng)用通信。HD 202包括與LSD驅(qū)動器210通信的主機(jī)裝置文件系統(tǒng)(HDFS) 208。典型地, HDFS 208是主機(jī)裝置操作系統(tǒng)(HDOS) 216的一部分,其一般駐留在主機(jī)裝置主存儲器 (其可采用硬盤驅(qū)動器或HDD以及諸如閃存的非易失性存儲器的形式)。在所述實(shí)施例 中,HDFS 208被配置為向LSD驅(qū)動器210發(fā)出LSD管理命令212。LSD驅(qū)動器210進(jìn) 而可通過HD/LSD接口 206將LSD管理命令212 (適當(dāng)格式化的)傳遞到LSD 204。例 如,在LSD 204被配置為包括具有邏輯塊地址(LBA)架構(gòu)的數(shù)據(jù)存儲區(qū)域的那些情況 下,LSD管理命令212可采用塊命令的形式。HD 202還可包括(內(nèi)部)軟件應(yīng)用214。 內(nèi)部應(yīng)用意味著軟件應(yīng)用214可利用HDFS 208和LSD驅(qū)動器210與LSD 204通信。在 所述實(shí)施例中,軟件應(yīng)用214可利用HDFS 208和LSD驅(qū)動器210與LSD 204通信,因 而HDFS 208 “看得到,,。系統(tǒng)200至少還包括第二存儲裝置。第二存儲裝置可本地或遠(yuǎn)程駐留在許多位 置中。在一個(gè)實(shí)施例中,第二存儲裝置是通過接口 223耦連到HD 202的第二LSD 222的 形式的外部裝置。在其他實(shí)施例中,第二存儲裝置可以是在網(wǎng)絡(luò)接口 230處通過網(wǎng)絡(luò)鏈 路228與HD 202通信的網(wǎng)絡(luò)226中包括的遠(yuǎn)程裝置224。以此方式,可在遠(yuǎn)程裝置224 和HD 202之間建立使用網(wǎng)絡(luò)鏈路228的命令路徑,可通過它傳遞信息。在其他實(shí)施例 中,第二存儲裝置可以是HD 202中嵌入的不可移除裝置。在所述實(shí)施例中,網(wǎng)絡(luò)接口 230通過網(wǎng)絡(luò)鏈路228幫助HD 202和網(wǎng)絡(luò)226之間 的通信。例如,如果網(wǎng)絡(luò)226是IP協(xié)議型網(wǎng)絡(luò),則網(wǎng)絡(luò)接口 230可在例如應(yīng)用和網(wǎng)絡(luò)226中包括的任何網(wǎng)絡(luò)裝置例如遠(yuǎn)程裝置224之間建立基于IP協(xié)議的網(wǎng)絡(luò)鏈路228。應(yīng) 注意,網(wǎng)絡(luò)接口 230物理上可位于任何被認(rèn)為是合適的地方。例如,網(wǎng)絡(luò)接口 230可被 合并到HD 202中。然而,網(wǎng)絡(luò)接口 230還可位于不被包括在HD 202 (或系統(tǒng)200)內(nèi)的 任何物理位置,但仍由HD 202用來與網(wǎng)絡(luò)226建立合適的網(wǎng)絡(luò)鏈路228。因而網(wǎng)絡(luò)接口 230不限于物理上合并到HD 202中或在HD 202附近。主裝置代理132可采用主機(jī)裝置代理234的形式,除了上面對于主服務(wù)代理132 所述的功能之外,其至少還提供在由LSD 204提供的存儲服務(wù)和任何可用的外部資源之 間的橋接功能性。在所述實(shí)現(xiàn)方式中,主機(jī)裝置代理234可用于通過任何合適的手段(如 輪詢或中斷)標(biāo)識LSD邏輯請求。此外,主機(jī)裝置代理234可被配置為一旦建立向/從 外部裝置諸如外部裝置222或遠(yuǎn)程裝 置224和LSD204的通信路徑則路由和/或維護(hù)該通 信路徑。LSD 204包括控制器236和至少具有第一大容量存儲陣列240的存儲陣列238。 應(yīng)注意,存儲陣列238可由存儲器單元(如閃存)的陣列形成。盡管在所述實(shí)施例中可 假設(shè)存儲陣列238是閃存存儲器單元的陣列,但本發(fā)明不限于閃存型存儲器單元,因?yàn)?預(yù)期本發(fā)明可通過任何合適類型的存儲器單元來使用。控制器236包括閃存管理器243, 其可至少根據(jù)主機(jī)/LSD范型106管理大容量存儲區(qū)域240 (即,按照HDFS 208的命令并 根據(jù)HDFS發(fā)出的命令動作)。更具體地,閃存管理器243可被配置為將物理/陣列級 閃存命令轉(zhuǎn)換為邏輯塊/扇區(qū)級命令,反之亦然??刂破?36還包括映射模塊245 (下面 更詳細(xì)地描述),其在所述實(shí)施例中可以是閃存管理器243的一部分。在一種特別有用的 布局中,存儲陣列238可包括基于LBA的大容量存儲區(qū)域?;贚BA的大容量存儲區(qū) 域進(jìn)而可以包括大容量存儲區(qū)域240。以此方式,大容量存儲區(qū)域240可兼容現(xiàn)有已安裝 的基礎(chǔ)。因此,大容量存儲區(qū)域240中存儲的數(shù)據(jù)塊的位置可使用邏輯塊地址(LBA)來 指定,其中例如,每個(gè)塊可按照每個(gè)512或1024字節(jié)的量級。以此方式,大容量存儲區(qū) 域240可完全后向兼容任何所預(yù)期的現(xiàn)有大容量存儲架構(gòu)(即,能夠結(jié)合現(xiàn)有主機(jī)工作) 并且更具體地,兼容LBA型系統(tǒng)。具體地,LSD 204 (并且更具體地,大容量存儲區(qū)域 240)可使用現(xiàn)有接口、總線和所有相關(guān)聯(lián)的協(xié)議,在標(biāo)準(zhǔn)LBA架構(gòu)下操作,提供與現(xiàn)有 產(chǎn)品的已安裝基礎(chǔ)的完全兼容性。控制器236還包括LSD代理244,其可充當(dāng)按照控制器236的命令在閃存管理器 243 (具體地,映射模塊245)和外部存儲裝置222或遠(yuǎn)程裝置224之間經(jīng)由主機(jī)裝置代理 234建立通信路徑256的橋路。應(yīng)注意,該通信路徑256不通過HDFS 208路由,因此可 以是HDFS 208看不到的。應(yīng)注意,在各種實(shí)施例中,LSD代理244還能夠?qū)Υ鎯^(qū)域 240進(jìn)行各種存儲操作(例如,讀操作),另外,可得知與大容量存儲區(qū)域240中存儲的 數(shù)據(jù)相關(guān)聯(lián)的文件系統(tǒng)結(jié)構(gòu)和元數(shù)據(jù)??赏ㄟ^將LSD代理244配置為讀取和遍歷大容量 存儲區(qū)域240內(nèi)存儲的包括文件分配表中的數(shù)據(jù)的文件元數(shù)據(jù),實(shí)現(xiàn)這樣的文件結(jié)構(gòu)得 知。LSD代理244還可管理網(wǎng)絡(luò)堆棧/接口 248,其在一些實(shí)施例中可以是控制器 236的一部分,提供讓控制器236使用標(biāo)準(zhǔn)協(xié)議(如因特網(wǎng)協(xié)議或IP)和任何可用的網(wǎng)絡(luò) 資源與外部裝置和/或目標(biāo)應(yīng)用通信的機(jī)制。具體地,LSD204可將任何網(wǎng)絡(luò)通信(如 LSD邏輯請求130)轉(zhuǎn)換為標(biāo)準(zhǔn)格式(如基于物理總線的格式)以便使得主機(jī)裝置代理234能按照對于HD/LSD接口 206的基于LBA的實(shí)現(xiàn)方式合適的方式執(zhí)行指令(如消息提 取)。以此方式,例如任何提取的消息可在主機(jī)裝置代理234和外部裝置之間創(chuàng)建的網(wǎng) 絡(luò)鏈路228上成功輸送。在這點(diǎn)上,網(wǎng)絡(luò)堆棧/接口 248可被當(dāng)作LSD代理244的一部 分。LSD代理244還可向在控制器236外運(yùn)行的LSD應(yīng)用250提供認(rèn)證和安全性服務(wù), 并管理任何進(jìn)入的服務(wù)請求。應(yīng)理解,大容量存儲區(qū)域240可被劃分為分離的內(nèi)部區(qū)塊。這些劃分的區(qū)塊每 個(gè)可被操作為使得它們按照合適的方式彼此交互和/或與LSD 204之外的電路和/或軟件 應(yīng)用交互。例如,這樣的外部電路可包括HD 202 (其中包括所有組件,如主機(jī)文件系統(tǒng) 208)、外部LSD 222或網(wǎng)絡(luò)226中包括的多個(gè)外部裝置中的任一個(gè),如遠(yuǎn)程裝置224。 當(dāng)HDFS 208有效地管理存儲陣列238的大容量存儲區(qū)域240時(shí),閃存管理器 243充當(dāng)HDFS 208和物理存儲器陣列之間的轉(zhuǎn)換(translation)層。更具體地,閃存管理 器243將從HDFS 208接收的針對邏輯地址/單元(例如,簇)的命令轉(zhuǎn)換為對大容量 存儲區(qū)域240內(nèi)的物理地址/單元(例如,塊、頁等)執(zhí)行的動作。在所述實(shí)施例中, HDFS 208經(jīng)由閃存管理器243存儲稱為簇的邏輯區(qū)域形式的數(shù)據(jù)。一個(gè)或多個(gè)簇被分配 給要由LSD 204存儲的每個(gè)文件。本領(lǐng)域技術(shù)人員將理解,簇是可分配給文件的存儲器 空間的最小單位,因此每個(gè)文件必須被分配整數(shù)個(gè)簇。還應(yīng)注意,不要求特定文件被存 儲在相鄰簇中。實(shí)際上,用來存儲特定文件的簇常常分布在整個(gè)物理存儲器陣列上。換 言之,文件通常被“碎片化”,其中文件被分為更小的片段,這些片段隨后被存儲在整 個(gè)可用存儲器陣列上。盡管簇是傳統(tǒng)大容量存儲系統(tǒng)中可分配給給定文件的存儲器空間 的最小單位,但可由文件系統(tǒng)邏輯尋址的存儲器陣列的最小存儲區(qū)段(segment)被稱為扇 區(qū)。多個(gè)扇區(qū)形成一簇。在傳統(tǒng)系統(tǒng)中,每個(gè)扇區(qū)能夠存儲多達(dá)512字節(jié)的數(shù)據(jù)。本 領(lǐng)域技術(shù)人員將理解,當(dāng)單個(gè)物理塊被重復(fù)覆寫時(shí),閃存裝置尤其容易磨損。由此,通 常期望LSD驅(qū)動器210和/或閃存管理器243在整個(gè)大容量存儲區(qū)域240上均勻地平均 分布寫操作。在所述實(shí)施例中,HDFS 208利用文件分配表(FAT) 255管理大容量存儲區(qū)域 240 ;然而,在替代實(shí)施例中,HDFS 208可以不是基于FAT的文件系統(tǒng)。例如,在其他 實(shí)施例中,HDFS 208可以是基于ext2、ext3、NTFS和JFFS等的文件系統(tǒng)。由此,盡管 可通過其他文件系統(tǒng)實(shí)踐本發(fā)明,但下面的描述集中在基于FAT的文件系統(tǒng)的實(shí)施例。 例如,F(xiàn)AT文件系統(tǒng)可以是本領(lǐng)域中已知的FAT-16或FAT-32文件系統(tǒng)。FAT 255可存 儲在大容量存儲區(qū)域240中,作為任何其他數(shù)據(jù)。FAT 255可被當(dāng)作跟蹤LSD 204所存 儲的文件的一個(gè)或多個(gè)邏輯位置的數(shù)據(jù)庫。然而,應(yīng)理解,在一些實(shí)施例中,不是LSD 204所存儲的所有文件都利用FAT 255跟蹤;S卩,存儲陣列238中存儲的某些文件可不被 HDFS 208管理,由此,HDFS 208將看不到那些區(qū)塊中存儲的任何數(shù)據(jù)。例如,可期望 對HDFS 208隱藏特定文件,由此,該數(shù)據(jù)可被存儲在存儲器陣列238不被HDFS 208管 理的部分中。然而,對于由HDFS 208管理的那些文件(例如,大容量存儲區(qū)域240內(nèi)的 那些),F(xiàn)AT 255跟蹤分派/分配給每個(gè)文件的扇區(qū)和簇的邏輯地址。例如,每個(gè)HDFS 管理的文件具有FAT 255中的相應(yīng)目錄條目或存儲器地址。諸如HDOS 216或主機(jī)裝置 應(yīng)用的操作系統(tǒng)(OS)或軟件應(yīng)用可訪問FAT 255,以確定文件中的數(shù)據(jù)被邏輯定位于何 處。更具體地,F(xiàn)AT 255中的每個(gè)文件條目包含被分配給特定文件的相應(yīng)簇的簇號。每個(gè)簇條目還包括將當(dāng)前簇鏈接到文件所使用的下一簇的簇號。典型地,未使用的每個(gè)簇 在FAT 255中其相應(yīng)的簇條目中用零或某一其他預(yù)定值來標(biāo)記。這警告OS或其他應(yīng)用, 該簇是空閑的,并且可用于分派。以此方式,F(xiàn)AT 255可告知HDFS 202向哪些簇存儲特 定文件,并且哪些簇是可使用的。以此方式,HDFS 208可探知LSD 204的可用和總存
儲容量。根據(jù)本發(fā)明的具體實(shí)施例,F(xiàn)AT 255中標(biāo)識的存儲器地址可以與簇相關(guān)聯(lián),簇又 與兩個(gè)或更多個(gè)扇區(qū)集合相關(guān)聯(lián)。例如,與物理上位于LSD 204內(nèi)的第一存儲區(qū)域240 中的扇區(qū)(下文中稱為真實(shí)扇區(qū))相關(guān)聯(lián)的邏輯地址可代表邏輯地址的第一集合X。在 一個(gè)具體實(shí)施例中,邏輯地址的第一集合X可對應(yīng)于FAT 255中標(biāo)識的連續(xù)邏輯地址的 固定范圍。在代表性實(shí)施例中第一范圍X中的所有邏輯地址與物理上位于第一存儲區(qū)域 240中的真實(shí)扇區(qū)相關(guān)聯(lián)。此外,F(xiàn)AT 255可包括與物理上位于LSD 222之外的裝置中的 存儲陣列中的扇區(qū)的一個(gè)或多個(gè)其他集合(或者一些實(shí)施例中的范圍),例如,諸如外部 LSD 222或遠(yuǎn)程裝置224的外部裝置中的集合Y相關(guān)聯(lián)的簇。LSD 204之外的裝置中的 扇區(qū)可被稱為虛擬扇區(qū)。由此,在該例子中,HDFS 208可用的扇區(qū)包括集合X和Y兩 者ο根據(jù)具體實(shí)施例,HDFS 208可不區(qū)分X和Y; S卩,HDFS感知到邏輯地址的集 合X和Y均與物理上位于LSD 204的大容量存儲區(qū)域240內(nèi)的扇區(qū)相關(guān)聯(lián)。更具體地, 與FAT 255中標(biāo)識的簇相關(guān)聯(lián)的各個(gè)扇區(qū)的物理位置不能通過FAT 255獲得,因此HDFS 208不知道。從而,HDFS 208看到的感知存儲容量(下文中也稱為虛擬存儲容量)實(shí)際 上是分別與LSD 204和外部裝置中的集合X和Y中的邏輯地址相關(guān)聯(lián)的實(shí)際和虛擬扇區(qū) 的組合存儲容量的總和。由此,盡管物理上位于LSD存儲區(qū)域240中的實(shí)際扇區(qū)的存儲 容量是固定的,但HDFS 208通過讀取FAT 255確定的感知存儲容量已經(jīng)被有效地?cái)U(kuò)展為 包括物理上位于外部裝置中的虛擬扇區(qū)。在所述實(shí)施例中,映射模塊245被配置為映射或關(guān)聯(lián)特定邏輯扇區(qū)與本地真實(shí) 扇區(qū)或外部虛擬扇區(qū)。即,映射模塊245和/或閃存管理器243負(fù)責(zé)將與特定邏輯扇區(qū) 號相關(guān)的真實(shí)和虛擬扇區(qū)與大容量存儲區(qū)域240內(nèi)或物理上駐留在外部裝置中的存儲區(qū) 域內(nèi)的實(shí)際物理地址(即,塊、頁等)相關(guān)聯(lián)。由此,在一些特定實(shí)施例中,從HDFS 208接收的針對簇級上的邏輯地址的命令可被轉(zhuǎn)換為邏輯扇區(qū)號,進(jìn)而被映射模塊245轉(zhuǎn) 換為分別對大容量存儲區(qū)域240和外部裝置內(nèi)的真實(shí)和虛擬扇區(qū)相關(guān)聯(lián)的物理地址/單位 (即,塊、頁等)執(zhí)行的動作。在一個(gè)實(shí)施例中,從簇級地址到扇區(qū)級地址的轉(zhuǎn)換可由閃 存管理器243執(zhí)行。在另一實(shí)施例中,該轉(zhuǎn)換可由HDFS自己執(zhí)行。應(yīng)注意,在各種優(yōu)選實(shí)施例中,映射 模塊245能夠動態(tài)地改變在真實(shí)扇區(qū)中存 儲的數(shù)據(jù)對在虛擬扇區(qū)中存儲的數(shù)據(jù)的比率。更具體地,可期望動態(tài)調(diào)整真實(shí)和虛擬扇 區(qū)對包括與特定文件相關(guān)聯(lián)的數(shù)據(jù)以及與文件相關(guān)聯(lián)的元數(shù)據(jù)甚至FAT 255本身的部分的 特定內(nèi)容的分配。即,例如,可按照映射模塊245的命令,將數(shù)據(jù)從外部裝置內(nèi)的一個(gè) 或多個(gè)虛擬扇區(qū)傳輸?shù)酱鎯^(qū)域240內(nèi)的一個(gè)或多個(gè)真實(shí)扇區(qū),反之亦然。然而,在優(yōu) 選實(shí)施例中,因?yàn)椴恍枰翭AT 255,所以HDFS 208看不到該重新分配。在一個(gè)具體實(shí)施例中,映射模塊245和/或LSD代理244可另外保存分離的映 射表356,其將FAT 255中標(biāo)識的簇與HDFS 208不知道的真實(shí)和/或虛擬扇區(qū)相關(guān)聯(lián)。這在期望某些優(yōu)化級的實(shí)施例中可能是有用的,例如,映射模塊245被配置為預(yù)提取和 高速緩存(即,無需來自HDFS 208的特定指令)在屬于同一簇或文件的扇區(qū)中的數(shù)據(jù)。 同樣,應(yīng)注意,根據(jù)具體實(shí)施例,當(dāng)實(shí)際上FAT 255中標(biāo)識的簇邏輯上可能與對 應(yīng)于大容量存儲區(qū)域240中的物理地址的真實(shí)扇區(qū)以及對應(yīng)于駐留在外部裝置中的物理 地址的任何虛擬扇區(qū)兩者相關(guān)聯(lián)時(shí),HDFS 208感知到FAT 255中標(biāo)識的所有簇與駐留在 大容量存儲區(qū)域240內(nèi)的扇區(qū)和相應(yīng)物理地址相關(guān)聯(lián)。還應(yīng)注意,可大范圍變化的數(shù)目 的外部存儲裝置可與HD 202耦連,由此允許HDFS 208所感知到的LSD 204的虛擬存儲 容量的擴(kuò)展的大靈活度;即,可擴(kuò)展LSD 204的虛擬存儲容量,只要在FAT 255中能獲得 可與相應(yīng)外部裝置中的虛擬扇區(qū)相關(guān)聯(lián)的文件地址條目即可。另外,在LSD代理244具 有內(nèi)部文件系統(tǒng)認(rèn)知(awareness)(例如,文件結(jié)構(gòu)和元數(shù)據(jù)認(rèn)知)的實(shí)施例中,LSD代 理244可管理它自己的簇/扇區(qū)映射表。圖14A例示了根據(jù)其中LSD代理244和/或映射模塊245被配置為管理簇到真 實(shí)和虛擬扇區(qū)的映射的具體實(shí)施例的映射表3356的圖示。映射表3356包括由映射表的 行代表的多個(gè)簇條目3357。每個(gè)條目3357包括多個(gè)扇區(qū)條目3358。在圖14A所示的例 子中,特定簇條目3357可與例如條目RSl和RS2(它們在大容量存儲區(qū)域240中可物理 上彼此相鄰或不相鄰)所代表的真實(shí)扇區(qū)以及例如條目VSl和VS2 (它們可以駐留或者不 駐留在同一外部裝置中)所代表的虛擬扇區(qū)兩者相關(guān)聯(lián)。因而,條目2257所代表的簇包 括經(jīng)由真實(shí)扇區(qū)RSl和RS2在存儲陣列240中以及經(jīng)由扇區(qū)VS 1和VS2在一個(gè)或多個(gè)外 部裝置中駐留的存儲區(qū)域內(nèi)存儲的數(shù)據(jù)。即,在所示實(shí)施例中,不需要與特定簇相關(guān)聯(lián) 的所有扇區(qū)被全部經(jīng)由真實(shí)扇區(qū)本地存儲或者全部經(jīng)由虛擬扇區(qū)外部存儲。圖14B例示了在其中給定范圍(例如,0000至XXXX)中的所有邏輯地址與真實(shí) 扇區(qū)相關(guān)聯(lián)并且給定范圍(例如,yyyy至FFFF)中的所有邏輯地址與虛擬山區(qū)相關(guān)聯(lián)的 實(shí)施例中由HDFS 208讀取的LSD 204的感知存儲容量的代表圖。更具體地,圖14B例 示了十六進(jìn)制的存儲器地址和與存儲器地址相關(guān)聯(lián)的物理扇區(qū)之間的關(guān)系。應(yīng)注意,該 關(guān)系僅僅代表一個(gè)特定實(shí)施例,因?yàn)樵诟鞣N替代實(shí)施例中,可動態(tài)改變給定邏輯地址和 一個(gè)或多個(gè)相關(guān)簇之間的關(guān)系以及給定簇和相應(yīng)扇區(qū)之間的關(guān)系。整個(gè)框3360代表LSD 204的感知存儲容量。在所示實(shí)施例中,框3360的上部3362代表與存儲陣列240的實(shí) 際存儲容量相關(guān)聯(lián)的存儲器地址,在例如FAT 16尋址的情況下,從0000開始,在某一值 XXXX結(jié)束;即,位于存儲陣列240中的諸如RSl和RS2的真實(shí)扇區(qū)。相反,框3360的 下部3364代表與LSD 204的虛擬存儲容量相關(guān)聯(lián)的存儲器地址,在FAT 16尋址的情況 下,從yyyy (在XXXX處或之后)開始,在FFFF結(jié)束;S卩,駐留在外部裝置中的諸如VCl 禾口 VC2的簇。為了例示本發(fā)明的一些具體實(shí)施例,參照圖15的流程圖和圖16的系統(tǒng),描述 由LSD3504服務(wù)于從HD 3502發(fā)送到LSD 3504的管理命令的過程3400。過程3400可 從3402開始,其中HDFS 3508訪問FAT 3555。這使得HDFS 3508能夠檢查HDFS假設(shè) 由LSD 3504在存儲陣列3538中實(shí)際存儲的數(shù)據(jù)的映射,并標(biāo)識邏輯地址,用于后續(xù)存儲 操作。然而,在一些情況下,F(xiàn)AT 3555可能已經(jīng)被高速緩存在HD 3502中的本地存儲器 中,并且可能已經(jīng)標(biāo)識了邏輯地址和相應(yīng)簇。在前一情況下,在一些實(shí)施例中,閃存管 理器3543和/或映射模塊3545可確定在訪問3402期間HDFS 3508對哪個(gè)(哪些)邏輯地址顯示出興趣。更具體地,在這些實(shí)施例中,映射模塊3545能夠辨別出HDFS 3508想 要對哪些扇區(qū)進(jìn)行存儲操作,然后能夠預(yù)料到來自HDFS3508的后續(xù)命令將針對于哪些 扇區(qū)。在3404,閃存管理器3543從請求期望的存儲操作的HDFS 3508接收管理命令 3512。例如,管理命令3512可包括讀、寫或擦除命令和要執(zhí)行存儲操作的相關(guān)邏輯地 址,以及在寫命令的情況下要寫入邏輯地址的數(shù)據(jù)。在一些實(shí)施例中,可預(yù)測該命令 (例如,基于現(xiàn)有技術(shù)中已知的一些智能預(yù)提取機(jī)制)。在3406,閃存管理器3543詢問 映射模塊3545,其管理/維護(hù)邏輯扇區(qū)號和相關(guān)聯(lián)的真實(shí)和虛擬扇區(qū)之間的映射。在 3408,映射模塊3545確定與HDFS 3508發(fā)送的命令相關(guān)聯(lián)的邏輯地址中的一些或全部是 否與表示物理上駐留在LSD 3504之外的裝置3522 (例如,第二 LSD、遠(yuǎn)程網(wǎng)絡(luò)裝置或嵌 入HD中的不可移除裝置)的扇區(qū)的虛擬扇區(qū)(例如,虛擬扇區(qū)VSl和VS2)相關(guān)聯(lián)。 在優(yōu)選實(shí)施例中,映射模塊3545采用的動作獨(dú)立于HDFS 3508并且對HDFS 3508是透明 的。以此方式,無需對諸如HDFS 3508或LSD驅(qū)動器3510的現(xiàn)有組件進(jìn)行更新或其他 改變。如果在3408確定所有扇區(qū)是物理上駐留在存儲陣列3538的大容量存儲區(qū)域3540 中的真實(shí)扇區(qū)(例如,真實(shí)扇區(qū)RSl或RS2),則閃存管理器3543可在3410服務(wù)于命令 3512。更具體地,如果映射模塊3545確定管理命令3512完全上與真實(shí)扇區(qū)相關(guān)聯(lián),則 在3410,可實(shí)時(shí)地對這些目標(biāo)真實(shí)扇區(qū)執(zhí)行所請求的存儲操作。通常,命令3512的服務(wù)還將包括將響應(yīng)從LSD 3504傳送到HDFS 3508。響應(yīng)可包括所請求的操作被執(zhí)行的確認(rèn) 和/或與所請求的操作相關(guān)聯(lián)的數(shù)據(jù)。然而,如果映射模塊3545在3408確定與管理命令3512相關(guān)聯(lián)的扇區(qū)中的至少 一些是虛擬扇區(qū),則在3412,LSD代理3544確定在LSD 3504和具有包括虛擬扇區(qū)(例 如,VSl和VS2)的物理位置的相關(guān)存儲陣列的外部裝置3522之間是否建立了通信路徑。 通信路徑意味著LSD 3504和外部裝置3522具有經(jīng)由HD 3502在它們之間建立的有能力 的命令路徑。有能力意味著經(jīng)由LSD代理3544、主機(jī)裝置代理3534和接口 3530在LSD 3504和外部裝置3522之間建立了物理連接、建立了無線連接或建立了邏輯連接,可通過 其傳遞信息,并且在優(yōu)選實(shí)施例中,HDFS 3508不知道。在所示實(shí)施例中,如果在3412確定在LSD 3504和外部裝置3522之間建立了通 信路徑3556,則LSD代理3544在3414將基于管理命令3512的管理命令3513轉(zhuǎn)發(fā)給外 部裝置3522,其指示外部裝置3522對多個(gè)虛擬扇區(qū)進(jìn)行所請求的存儲操作。在一些實(shí) 施例中,可以基于如上所述的預(yù)測管理命令,在從HDFS 3508實(shí)際接收管理命令3512之 前,發(fā)起建立通信路徑3556。同時(shí),可以存在對存儲區(qū)域3540的某一本地高速緩存管理 操作。在一些實(shí)施例中,本地高速緩存3558可以是存儲區(qū)域3540的一部分,而在其他 實(shí)施例中,高速緩存可位于存儲陣列3538之外的RAM中。管理本地高速緩存3558可能 涉及閃存管理器3543 (和/或映射模塊3545)與LSD代理3544之間的協(xié)作,以最優(yōu)地確 保在高速緩存3558中有足夠的存儲空間用于要本地存儲的數(shù)據(jù)(例如,在寫操作的情況 下要從HD 3502寫入外部裝置3522的數(shù)據(jù),或者在讀操作的情況下要傳送到HDFS 3508 的從外部裝置通過LSD代理3544提取的數(shù)據(jù))。通過從高速緩存3558中擦除本地?cái)?shù)據(jù) 將要寫入的本地?cái)?shù)據(jù)從本地高速緩存3558傳輸?shù)酵獠垦b置3522,或者通過將要讀取的本 地?cái)?shù)據(jù)從本地高速緩存3558傳輸?shù)紿D 3502,撤出足夠的存儲空間。
在一些實(shí)施例中,LSD代理3544可牽涉到高速緩存管理操作中,因?yàn)長SD代理 3544可具有某一文件系統(tǒng)結(jié)構(gòu)認(rèn)知(awareness),其可允許LSD代理3544在高速緩存的 管理中引入某一優(yōu)化級。更具體地,例如,如果LSD代理3544知道對于與給定文件有關(guān) 的簇要提取的剩余扇區(qū),則LSD代理3544可預(yù)先確保在LSD內(nèi)的本地高速緩存3558中 有足夠的存儲空間。文件系統(tǒng)結(jié)構(gòu)認(rèn)知還使得LSD代理3544能夠標(biāo)識在高速緩存3558 中存儲的期望維持在本地的當(dāng)前內(nèi)容。因而,LSD代理3544可進(jìn)行一定級別的智能高速 緩存。在3418,外部裝置3522響應(yīng)于管理命令3513 (并間接通過管理命令3512)對虛 擬扇區(qū)執(zhí)行所請求的存儲操作。應(yīng)注意,發(fā)送到外部裝置3522的第二命令3513可以不始 終指示外部裝置對與第一命令3512中標(biāo)識的邏輯地址相關(guān)聯(lián)的虛擬扇區(qū)進(jìn)行存儲操作。 艮口,在某些情況下,即使管理命令3512中標(biāo)識的所有邏輯地址與真實(shí)扇區(qū)相關(guān)聯(lián),也可 以期望通過將數(shù)據(jù)從與第一管理命令3512不相關(guān)的大容量存儲區(qū)域3540內(nèi)的真實(shí)扇區(qū)寫 入到外部裝置3522內(nèi)的虛擬扇區(qū),釋放大容量存儲區(qū)域3540中的存儲空間。由此,第二 命令3513可以是包含來自大容量存儲區(qū)域3540內(nèi)的真實(shí)扇區(qū)的數(shù)據(jù)并指示外部裝置3522 將來自真實(shí)扇區(qū)的數(shù)據(jù)寫入外部裝置中的虛擬扇區(qū)中的寫命令。此外,如果HDFS 3508 發(fā)送的管理命令3512包括與真實(shí)和虛擬扇區(qū)兩者相關(guān)聯(lián)的地址,則閃存管理器353可在 3410對真實(shí)扇區(qū)執(zhí)行所請求的存儲操作,并行地將管理命令3513轉(zhuǎn)發(fā)給外部裝置3522和 /或并行地由外部裝置3522對虛擬扇區(qū)執(zhí)行所請求的存儲操作??商鎿Q地,根據(jù)具體實(shí)施例,如果在3412確定不存在通信路徑3556,則在 3416,LSD代理3544通過HD代理3534提示HD 3502在LSD 3504和外部裝置3522之 間建立通信路徑3556。更具體地,如上參照圖13的通信路徑256所述,LSD 3504可使 用例如網(wǎng)絡(luò)接口或本地通信路徑提示HD 3502執(zhí)行所請求的建立到外部裝置3522的通信 路徑3556的處理。然而,一旦建立,則可在LSD 3504和外部裝置3522之間傳遞信息, 而無需HD 3502的進(jìn)一步介入(除了與數(shù)據(jù)傳遞有關(guān)的任何介入,如數(shù)據(jù)分組路由),并 且也是HDFS 3508看不到的。一旦建立了通信路徑3556,則過程前進(jìn)到3414,其中管 理命令3513被發(fā)送到外部裝置3522,此時(shí)外部裝置3522可對虛擬扇區(qū)進(jìn)行所請求的存儲 操作。由此,在各個(gè)實(shí)施例中,由HDFS 3508發(fā)起的單個(gè)命令3512的服務(wù)通??缮婕?多個(gè)操作,LSD 3504內(nèi)部的操作以及與外部裝置3522有關(guān)的操作。盡管上述過程3400 代表本發(fā)明各個(gè)實(shí)施例的一般實(shí)現(xiàn)方式,但是下面的描述將提供本發(fā)明具體實(shí)施例的更 特定的實(shí)現(xiàn)方式。更具體地,在管理命令3512是寫命令 的情況下,如果寫命令3512中標(biāo)識的任何 邏輯地址與駐留在存儲區(qū)域3540中的真實(shí)扇區(qū)相關(guān)聯(lián),則如上所述,在3410,數(shù)據(jù)可實(shí) 時(shí)地寫入這些目標(biāo)真實(shí)扇區(qū)。然后,包括已經(jīng)服務(wù)了寫命令的確認(rèn)的響應(yīng)可發(fā)送到HDFS 3508。然而,如果邏輯地址中的一些或全部與虛擬扇區(qū)相關(guān)聯(lián),則如上所述,LSD代理 3544沿著HDFS 3508不知道的通信路徑3556,將寫命令3513和相關(guān)數(shù)據(jù)轉(zhuǎn)發(fā)給外部裝 置3522,指示外部裝置將相關(guān)數(shù)據(jù)寫入駐留在外部裝置3522中的虛擬扇區(qū)的有關(guān)物理對 應(yīng)物??商鎿Q地,可期望在將數(shù)據(jù)和寫命令3513轉(zhuǎn)發(fā)到外部裝置3522之前進(jìn)行等待。例如,可能有利的是,在LSD 3504內(nèi)的高速緩存3558內(nèi)臨時(shí)存儲數(shù)據(jù),直到滿足某些預(yù) 定條件。例如,可期望在高速緩存3558中臨時(shí)存儲數(shù)據(jù),并且等待以將高速緩存的數(shù)據(jù) 轉(zhuǎn)發(fā)到外部裝置3522,直到通信路徑3556上有可用的預(yù)定級別的帶寬。此外,可以更加 有效的是,等待直到在將數(shù)據(jù)轉(zhuǎn)發(fā)到外部裝置3522 (然后在其中存儲它)之前高速緩存預(yù) 定量的數(shù)據(jù)。出于這些和其他考慮,服務(wù)于寫命令3512可首先包括暫時(shí)高速緩存數(shù)據(jù)并 向HDFS 3508發(fā)送包括寫命令已經(jīng)被服務(wù)的確認(rèn)的響應(yīng)(盡管在其他實(shí)施例中,可在以 后發(fā)送確認(rèn)響應(yīng),只要在HDFS要求的時(shí)間約束內(nèi)發(fā)送確認(rèn)即可)。服務(wù)然后可包括確 定要寫入與寫命令3512相關(guān)聯(lián)的虛擬扇區(qū)的數(shù)據(jù)(或者甚至是命令3513本身)是否應(yīng)該 在本時(shí)鐘窗口期間轉(zhuǎn)發(fā)到外部裝置3522。同時(shí),在該確定之前或之后,在3410,可寫入 要由閃存管理器3543寫入真實(shí)扇區(qū)的數(shù)據(jù)的其他部分。如果要在當(dāng)前時(shí)鐘窗口期間轉(zhuǎn)發(fā) 數(shù)據(jù),則轉(zhuǎn)發(fā)數(shù)據(jù),其中它隨后被寫入外部裝置3522內(nèi)的虛擬扇區(qū)。在一些實(shí)施例中, 可漸進(jìn)地(progressively)執(zhí)行數(shù)據(jù)的轉(zhuǎn)發(fā);即,當(dāng)可能或者認(rèn)為合適時(shí),可轉(zhuǎn)發(fā)數(shù)據(jù)的 各種“塊”(chunk)或部分。如果數(shù)據(jù)不要在當(dāng)前時(shí)鐘窗口期間轉(zhuǎn)發(fā)到外部裝置3522, 則數(shù)據(jù)可存儲在高速緩存3558中,其中它保持直到控制器3536確定數(shù)據(jù)應(yīng)被轉(zhuǎn)發(fā)到要寫 入的外部裝置3522。
應(yīng)注意,在具體實(shí)施例中,如果高速緩存了針對于虛擬扇區(qū)的數(shù)據(jù)的部分,則 FAT 3555不需要修正。此外,在一個(gè)實(shí)施例中,閃存管理器3543和/或映射模塊3545 可將一個(gè)或多個(gè)虛擬扇區(qū)位置映射到一個(gè)或多個(gè)臨時(shí)高速緩存位置,從而由HDFS 3508 訪問的FAT 3555不必被修正。事實(shí)上,與FAT3555中標(biāo)識的簇相關(guān)聯(lián)的真實(shí)和虛擬扇區(qū) 兩者通??赡懿粫冀K對應(yīng)于存儲區(qū)域3540中或外部裝置內(nèi)的相同物理扇區(qū)。在管理命令3512是讀命令的情況下,如果讀命令3512中標(biāo)識的任何邏輯地址與 駐留在存儲區(qū)域3540中的真實(shí)扇區(qū)相關(guān)聯(lián),則可在3410從真實(shí)扇區(qū)讀取數(shù)據(jù)然后傳送到 HDFS 3508。然而,如果邏輯地址中的一些或全部與虛擬扇區(qū)相關(guān)聯(lián),則如上所述,在 3414,LSD代理3544沿著HDFS 3508不知道的通信路徑3556將讀命令3513轉(zhuǎn)發(fā)到外部 裝置3522,指示外部裝置3522從駐留在外部裝置3522中的虛擬扇區(qū)的有關(guān)物理對應(yīng)物讀 取。然后,從外部裝置3522讀取的數(shù)據(jù)可沿著通信路徑3556轉(zhuǎn)發(fā)到LSD 3504,這時(shí)它 隨后可在轉(zhuǎn)發(fā)到HDFS 3508之前臨時(shí)地本地存儲在高速緩存3558中,如同它已經(jīng)從存儲 區(qū)域3540中直接讀取一樣。應(yīng)注意,LSD 3504和HD 3502之間、尤其是閃存管理器3543和HDFS3508之間 的數(shù)據(jù)管理和傳輸通常遵從包括超時(shí)等的多個(gè)約束(即,在諸如SD、MMC等的現(xiàn)有存 儲總線上,HD預(yù)期在有限的時(shí)間段(例如,最多100ms)中接收到來自LSD的響應(yīng),此 后它認(rèn)為請求中止,這可能導(dǎo)致重置系統(tǒng)…)。由此,盡管傳統(tǒng)的現(xiàn)有主機(jī)裝置、存儲裝 置和總線基于“保證響應(yīng)時(shí)間”通信和管理數(shù)據(jù)的傳輸,但LSD 3504 (尤其是LSD代理 3544)和外部裝置3522之間的通信和數(shù)據(jù)傳輸可以基于“最大努力”。根據(jù)一個(gè)具體實(shí)施例,可通過使用智能映射和/或高速緩存消除該困難。更具 體地,閃存管理器3543和/或映射模塊3545可動態(tài)地管理真實(shí)/虛擬扇區(qū)映射。例如, 閃存管理器3543和/或映射模塊3545可注意到哪些文件最常使用,從而動態(tài)地修正扇區(qū) 的真實(shí)和虛擬分配(對HDFS 3508透明,可能作為后臺操作),以便確保最常使用的文 件被存儲在真實(shí)扇區(qū)內(nèi),而最少使用的文件被存儲在外部裝置中的虛擬扇區(qū)中。即,如果虛擬扇區(qū)中存儲的某一文件經(jīng)常使用(例如,常常讀取),則映射模塊3545和閃存管 理器3543可動態(tài)地發(fā)起將與經(jīng)常使用的文件相關(guān)聯(lián)的數(shù)據(jù)從外部裝置3522內(nèi)的虛擬扇區(qū) 傳輸?shù)酱鎯^(qū)域3540中的真實(shí)扇區(qū)??商鎿Q地,經(jīng)常讀取的數(shù)據(jù)可被搶先(并且至少暫 時(shí)地)存儲在高速緩存3545中。相反,與不常訪問的文件相關(guān)聯(lián)的數(shù)據(jù)可根據(jù)映射模塊 3545和/或閃存管理器3543的命令,動態(tài)地從存儲區(qū)域3540內(nèi)的真實(shí)扇區(qū)傳輸?shù)酵獠垦b 置3522內(nèi)的虛擬扇區(qū)。此外,在一些實(shí)施例中,LSD驅(qū)動器或HDFS 3508可被配置為允許更大的靈活 度(如果支持這樣的靈活度)。例如,如果不可以在存儲接口標(biāo)準(zhǔn)定義的“保證響應(yīng)時(shí) 間”內(nèi)執(zhí)行存儲操作(例如,外部裝置3522是另一 LSD并且通信速度快),則可發(fā)送重 試消息。此外,可設(shè)置服務(wù)質(zhì)量(QOS)范型,以便允許時(shí)間限制約束下的LSD 3504和 外部裝置3522之間的服務(wù)和數(shù)據(jù)傳輸。例如,QOS范型可包括諸如可用帶寬、要傳輸 的數(shù)據(jù)量和已經(jīng)高速緩存的數(shù)據(jù)量等因素。 本發(fā)明人已經(jīng)意識到期望在本地存儲裝置(LSD)中提供索引LSD的存儲器陣列 中的數(shù)據(jù)的功能性,而不涉及主機(jī)裝置(HD)。由此,例如,即使在LSD正被多個(gè)HD 使用時(shí),也可以索引LSD的數(shù)據(jù)。另外,監(jiān)視和特征表述(characterization)功能性無需 接通(port)到各種HD平臺,因?yàn)楣δ苄元?dú)立于HD平臺。索引可包括生成可用來響應(yīng) 于對LSD的數(shù)據(jù)的搜索查詢的數(shù)據(jù)集。查詢可從HD或從LSD內(nèi)發(fā)起。索引結(jié)果的使用不限于響應(yīng)于搜索查詢。例如,索引結(jié)果可用于內(nèi)容篩查,即 查找例如“pom”(色情)的特定串的應(yīng)用,以便禁止訪問LSD的存儲器陣列中的未授 權(quán)內(nèi)容。例如,內(nèi)容篩查可在HD中執(zhí)行,從而例如避免對LSD的存儲器陣列中的特定 內(nèi)容的訪問請求,或者作為另一例子,可在LSD本身中執(zhí)行,阻止從HD接收的訪問請 求,無論寫訪問請求或者讀訪問請求。隨著存儲裝置控制器的能力的增長,從存儲裝置中使用由存儲裝置控制器使得 可用的處理資源而執(zhí)行軟件應(yīng)用變得有可能。存儲裝置控制器的這種增強(qiáng)的操作性帶 來新的索引模式的范型,其例如可用于索引在存儲裝置上的數(shù)據(jù)而不涉及主機(jī)裝置。這 種索引可用于例如改善用戶的數(shù)字內(nèi)容消費(fèi)體驗(yàn),其一般橫跨多個(gè)裝置_連接或未連接 的-或者訪問模式-有線對無線、固定對移動等。例如,索引可以展示給、提供給或由服務(wù)供應(yīng)商訪問,作為回饋,其向用戶提 供增強(qiáng)型搜索或其他使用能力。例如,存儲裝置可包含預(yù)加載的內(nèi)容,并且用戶還可以 被鼓勵(lì)下載內(nèi)容(如從與零售商相關(guān)聯(lián)的網(wǎng)站)。作為回饋,用戶可同意從存儲裝置提 供的索引,并且例如,甚至可能從零售商和/或相關(guān)實(shí)體接受關(guān)注的提議。作為另一例 子,存儲裝置銷售者可能能夠向他們的消費(fèi)者基礎(chǔ)提供針對性的服務(wù)。為了提供對“用戶中心”(與傳統(tǒng)的“裝置中心”相對)索引方式的支持,本 發(fā)明超越了主機(jī)管理的、基于LBA( “LBA”是邏輯塊尋址的縮寫)的大容量存儲范型 的嚴(yán)格限制,并提供了可完全后向兼容現(xiàn)有大容量存儲裝置并且還增強(qiáng)大容量存儲的索 引的索引范型,由此增強(qiáng)數(shù)字內(nèi)容使用的檢索(retrieval)/搜索(search)。此外,以此方 式生成的索引的報(bào)告無需依賴于主機(jī)裝置中的索引功能性。圖17例示了計(jì)算系統(tǒng)4100,包括主機(jī)裝置(HD) 4102和本地存儲裝置 (LSD)4104。HD 4102包括主機(jī)裝置文件系統(tǒng)(HDFS)4106。LSD 4104可采用可移除存儲器裝置的形式,如具有相對小的形狀因子并且可用來存儲諸如相機(jī)、手持或筆記本計(jì) 算機(jī)、網(wǎng)卡、網(wǎng)絡(luò)電器、機(jī)頂盒、手持或其他小音頻播放器/記錄器(例如MP3裝置)和 醫(yī)學(xué)監(jiān)視器的電子產(chǎn)品的數(shù)字?jǐn)?shù)據(jù)的存儲卡。存儲卡的例子包括PC卡(以前的PCMCIA 裝置)、閃存卡(例如,緊致閃存類型I和II)、安全數(shù)字(SD)卡、多媒體卡(MMC)、 ATA卡(例如,緊致閃存卡)、記憶棒、智能媒體卡。此外,LSD 4104可采取非可移除 存儲器裝置的形式,如Milpitas CA的SanDisk公司制造的兼容SD的iNAND 嵌入式閃 存驅(qū)動器。LSD 4104 可通過 HD/LSD 接口 4112 與 HD 4102 通信。應(yīng)注意,HD/LSD 4112 可被配置為機(jī)械實(shí)體(如插槽或互連總線),其中可機(jī)械連接HD 4102和LSD 4104。在 一些實(shí)施例中,HD/LSD接口 4108可采用無線接口的形式。通常,HD 4102包括處理 器。然而為了簡潔起見,在下面的討論中沒有示出也沒有進(jìn)一步提及HD 4102中包括的 處理器,但假設(shè)它存在。LSD 4104可物理地專門連接到HD 4102,因而不能在沒有HD 4102介入的情況下訪問或與計(jì)算系統(tǒng)4100外部的電路和/或應(yīng)用通信。典型地,除了 HD 4102提供的接口之外,LSD 4104不使用到HD 4102外部的裝置的任何接口,但是在 某些情況下,LSD 4104可直接接口到HD 4102外部的裝置。 HD 4102包括與LSD驅(qū)動器4108通信的主機(jī)裝置文件系統(tǒng)(HDFS) 4106。在 所述實(shí)施例中,HDFS 4106可向LSD驅(qū)動器4108發(fā)出LSD管理命令4110。LSD驅(qū)動 器4108進(jìn)而可通過HD/LSD接口 4112向LSD 4104傳遞LSD管理命令4110 (適當(dāng)格式 化的)。例如,在LSD 4104被配置為包括具有邏輯塊地址(LBA)架構(gòu)的數(shù)據(jù)存儲陣列 的那些情況下,LSD管理命令4110可采用塊命令的形式。LSD管理命令4110導(dǎo)致在 LSD4104和HD4102之間的數(shù)據(jù)4111的流動。HD 4102還可包括(內(nèi)部)軟件應(yīng)用4114。內(nèi)部應(yīng)用意味著軟件應(yīng)用4114可利 用HDFS 4106 (其一般是主機(jī)裝置操作系統(tǒng)4116的一部分)和LSD驅(qū)動器4108而與LSD 4104通信。這樣的軟件應(yīng)用可包括應(yīng)用4118,每一個(gè)一般駐留在主機(jī)裝置主存儲器(其 可采用硬盤驅(qū)動器或HDD以及諸如閃存的非易失性存儲器的形式)中。例如,計(jì)算系統(tǒng)4100可以是便攜式媒體播放器,而應(yīng)用4118可以是媒體播放器 應(yīng)用。在此情況下,例如,LSD 4104可存儲各種數(shù)字媒體文件,如MP3形式的音頻文 件、MP4形式的視頻/音頻文件或者JPEG形式的靜態(tài)照片文件。例如,LSD管理命令 4110可以是從LSD 4104中檢索文件的數(shù)據(jù)的數(shù)據(jù)訪問命令。在圖17的例子中,數(shù)據(jù)訪問命令可以是讀取在LSD 4104的大容量存儲區(qū)域 4120中存儲的文件分配表(FAT)的一部分然后從大容量存儲區(qū)域4120中讀取一個(gè)或多個(gè) 數(shù)據(jù)塊的HDFS命令。例如,大容量存儲區(qū)域4120可以是存儲器陣列,和大容量存儲區(qū) 域可由HDFS 4106管理但不由LSD 4104本地的文件系統(tǒng)管理。例如,LSD 4104可包括 控制器4122和具有第一存儲陣列4124和第二存儲陣列4126的大容量存儲陣列4120。應(yīng) 注意,存儲陣列4120可由存儲器單元(如閃存)的陣列形成。在該特定情況下,即使可 假設(shè)大容量存儲陣列4120是閃存存儲器單元的陣列,但本發(fā)明不限于僅閃存型存儲器單 元,因?yàn)轭A(yù)期本發(fā)明可通過任何合適類型的存儲器單元來使用??刂破?122包括閃存管理器4128,其可管理第一存儲陣列4124,按照HDFS 208的命令動作。在一種特別有用的布局中,第一存儲區(qū)域4124可以是基于LBA的大容量存儲陣列。因此,第一存儲區(qū)域4124中存儲的數(shù)據(jù)塊的位置可使用邏輯塊尋址(LBA) 來指定,其中例如,每個(gè)塊可按照每個(gè)512或1024字節(jié)的量級。以此方式,第一存儲區(qū) 域4124可完全后向兼容任何所預(yù)期的現(xiàn)有大容量存儲架構(gòu)(即,能夠結(jié)合現(xiàn)有主機(jī)工作) 并且更具體地,兼容LBA型系統(tǒng)。具體地,LSD 4104 (具體地,第一存儲區(qū)域4124)可 使用現(xiàn)有接口、總線和所有相關(guān)聯(lián)的協(xié)議,在標(biāo)準(zhǔn)LBA架構(gòu)下操作,提供與現(xiàn)有產(chǎn)品的 已安裝基礎(chǔ)的完全兼容性??刂破?122還包括索引器4130,其被配置為索引在LSD 4104的第一存儲區(qū)域 4124中存儲的數(shù)據(jù),而不涉及主機(jī)裝置4102。在一個(gè)例子中,索引器4130在數(shù)據(jù)正被 HD 4102存儲到和/或從第一存儲區(qū)域4124讀取時(shí)索引數(shù)據(jù)。由此,例如,索引器4130 可辨別在第一存儲區(qū)域4124和HD 4102之間傳輸?shù)臄?shù)據(jù)內(nèi)容,并基于此,索引第一存儲 區(qū)域4124中的數(shù)據(jù)。由LSD4104進(jìn)行監(jiān)視和索引,結(jié)果被作為“索引數(shù)據(jù)”存儲在大 容量存儲陣列4120的第二存儲區(qū)域4126中。作為另一例子,索引器4130可基于主機(jī)裝 置4102用來訪問第一存儲區(qū)域4124的命令生成索引數(shù)據(jù)。作為再一例子,索引器4130 可訪問第一存儲區(qū)域4124中的數(shù)據(jù)以生成關(guān)于第一存儲區(qū)域4124中的數(shù)據(jù)的索引數(shù)據(jù), 而不涉及主機(jī)裝置4102。圖18更詳細(xì)地例示了數(shù)據(jù)索引可如何基于觀察HD 4102對LSD 4104的數(shù)據(jù)訪問 操作而進(jìn)行的例子,該觀察不涉及HD 4102。參照圖18,命令4110經(jīng)由HD/LSD接口 4112從HD 4102提供給LSD 4104。如上所述,命令4110被提供給控制器4122的按照 HDFS 4106的命令動作以管理第一存儲區(qū)域4124的閃存管理器4128。索引器4130觀察命 令4110,并基于此,結(jié)合被觀察到存儲到或從第一存儲區(qū)域4124讀取的數(shù)據(jù)4111,索引 第一存儲區(qū)域4124中的數(shù)據(jù)。命令4110可用于對數(shù)據(jù)訪問進(jìn)行特征表述(characterize), 以告知索引功能性。索引信息被提供以存儲在存儲陣列4120的第二存儲區(qū)域4126中。盡管命令4110被例示為提供給按照HDFS 4106的命令動作的控制器的閃存管理 器4128,但在其他例子中,不是作為HDFS操作的結(jié)果而將命令或其它信號從HD 4102 提供給LSD 4104。例如,可基于不作為HDFS操作的結(jié)果的其他操作,如驅(qū)動器級操 作,提供這樣的命令和其他信號。數(shù)據(jù)訪問特征表述可幫助例如在所索引的數(shù)據(jù)(視頻、音樂或照片)之間進(jìn)行區(qū) 分,其可告知索引功能性。由此,被提供以存儲在存儲陣列4120的第二存儲區(qū)域4126 中的索引信息可至少部分地基于索引器4130的數(shù)據(jù)訪問特征表述,無論直接是所確定的 數(shù)據(jù)訪問特征表述還是進(jìn)一步處理所確定的數(shù)據(jù)訪問特征表述的結(jié)果。例如,如果索引器4130辨別出HD 4102作為 命令4110提供了作為讀數(shù)據(jù)塊命令 的單個(gè)數(shù)據(jù)讀命令,并且沒有其他相應(yīng)的數(shù)據(jù)讀命令,則它可確定HD 4102讀取的照片 已經(jīng)從第一存儲區(qū)域4124中出現(xiàn)。作為另一例子,如果辨別出HD 4102提供命令4110 以讀取第一存儲區(qū)域4124的文件分配表(FAT)(可假設(shè)映射數(shù)據(jù)位置)并且隨后辨別出 HD 4102提供命令4110以按照固定速率/吞吐量從第一存儲區(qū)域4124讀取數(shù)據(jù)塊,則索 引器4130可辨別出該組命令對應(yīng)于從第一存儲區(qū)域4124讀取音樂文件。作為再一例子, 如果由使用數(shù)據(jù)收集器4130辨別出HD 4102提供命令4110以讀取第一存儲區(qū)域4124的 文件分配表(FAT)(可假設(shè)映射數(shù)據(jù)位置)并且隨后索引器4130辨別出HD 4102提供命令 4110以按照可變速率/吞吐量從第一存儲區(qū)域4124讀取數(shù)據(jù)塊,則該組命令可被特征表述為從第一存儲區(qū)域4124讀取視頻文件。(但是在某些情況下,F(xiàn)AT數(shù)據(jù)可被高速緩存 在HD中,所以可能難以或者不可能將后續(xù)數(shù)據(jù)訪問命令關(guān)聯(lián)到FAT讀取。)存在索引 器4130可從HD 4102到LSD 4104的命令4110中辨別出的例子,并且其他例子也是可能 的。盡管這里的許多例子關(guān)于讀數(shù)據(jù)訪問,但被特征表述的數(shù)據(jù)訪問也可(或另外)包 括寫數(shù)據(jù)訪問,如寫數(shù)據(jù)訪問以將媒體文件加載到第一存儲區(qū)域4124中。盡管這些是數(shù)據(jù)訪問模式的例子,但應(yīng)注意模式可被預(yù)加載到LSD 4104中(甚 至可能動態(tài)更新,其例子在本專利申請的下文中描述)并由索引器4130用作標(biāo)識數(shù)據(jù)訪 問的具體類型的參照物。使用時(shí),模式可以相當(dāng)簡單,如在例子中那樣,或者可以復(fù)雜 得多。另外,在提供存儲器陣列4124中存儲的數(shù)據(jù)的索引信息的過程中,索引器4130 可使用在HD 4102和LSD 4104的第一存儲區(qū)域4124之間傳輸(例如,在讀和寫方向之 一或兩者)的數(shù)據(jù)塊4204的內(nèi)容。例如,索引器4130可辨別出數(shù)據(jù)塊的內(nèi)容包括串
“JFIF”,可將數(shù)據(jù)塊特征表述為對應(yīng)于照片(JPEG)并且可在提供索引信息的過程中使 用該特征表述。作為另一例子,MP3文件一般具有以串“ID3”開始的“標(biāo)簽”(tag), PDF文件以“%PDF”開始,而mp4視頻文件包括串“ftyp3gp”。由此,例如,每個(gè) “標(biāo)簽”可被當(dāng)作一個(gè)具體模式類型,其可與任何其他模式同樣操縱,如預(yù)加載、更新 寸。例如,數(shù)據(jù)特征表述可被存儲在索引中,作為索引數(shù)據(jù)的一部分。由此,例 如,數(shù)據(jù)特征表述可用于確定搜索結(jié)果和/或進(jìn)一步提煉(refine)搜索結(jié)果,其否則將單 獨(dú)基于詞或數(shù)據(jù)索引而提供。另外,索引器4130可直接采用在HD 4102和LSD 4104的第一存儲區(qū)域4124 之間傳輸(例如,在讀和寫方向之一或兩者)的數(shù)據(jù)塊4204的內(nèi)容,作為在存儲器陣列 4124的第一部分中存儲的數(shù)據(jù)的索引數(shù)據(jù)。這樣的內(nèi)容可包括例如數(shù)據(jù)塊4204的內(nèi)容中 直接包括的文本數(shù)據(jù)或元數(shù)據(jù)。在一些例子中,要索引的內(nèi)容可被進(jìn)一步處理,以識別由它間接代表的數(shù)據(jù)。 由此,例如,如果索引器4130確定數(shù)據(jù)已經(jīng)被特征表述為音頻文件,則可使用數(shù)字聲音 識別來識別要索引的內(nèi)容數(shù)據(jù)(例如,說或唱的詞)。類似地,如果索引器4130確定數(shù) 據(jù)已經(jīng)被特征表述為視頻文件,則可使用圖像處理來識別內(nèi)容。由此,例如,可以識別 視頻文件的總體主題,甚至是具體細(xì)節(jié),其然后可被存儲為搜索索引的一部分。在一些 例子中,索引還可(或替代地)具有目錄(catalog)的特性,從而索引可用來響應(yīng)于對LSD 的存儲器陣列中存儲的特定文件(如媒體)的、不僅僅基于期望在搜索結(jié)果中呈現(xiàn)的內(nèi)容 而是還可以或者另外基于行為(或其他元數(shù)據(jù),不嚴(yán)格基于內(nèi)容)的搜索查詢。例如, 可由在HD中執(zhí)行并使用基于LBA的命令訪問媒體的一個(gè)或多個(gè)程序?qū)⑺饕龖?yīng)用于媒體 的管理,并且可期望將搜索基于目錄中的信息,如· LSD的存儲器陣列中存儲的歌曲已經(jīng)被播放多少次?· LSD的存儲器陣列中存儲的歌曲最后播放是何時(shí)?· LSD的存儲器陣列中存儲的歌曲被播放完還是播放中止?例如,當(dāng)媒體項(xiàng)目正被播放時(shí),索引器4130可操作為對于該項(xiàng)目更新目錄中的 某些字段,如“最后播放日期”或“播放次數(shù)”。
另外,例如,可基于從命令4110和/或數(shù)據(jù)4111中辨別如下操作而更新目錄 定義新播放列表_新記錄被添加到播放列表目錄;以及 刪除項(xiàng)目-從目錄刪除記錄??勺鳛橹T如 “search artist = madonna&number—times_played = 0” _ 意味著 “找到我從沒播放的Madonna的所有歌曲”的查詢完成目錄的搜索。該搜索還可(或者
另外)基于歌曲的內(nèi)容,如"London"(倫敦)或“guitar solo”(吉他獨(dú)奏)或已經(jīng)由 索引器4130辨別和索引的其他內(nèi)容。除了監(jiān)視在主機(jī)裝置4102和LSD 4104之間傳遞的命令4110和數(shù)據(jù)4111之外, 索引器4130可通過直接訪問大容量存儲區(qū)域4124中的數(shù)據(jù)而進(jìn)行操作。由此,例如, 以此方式,索引器可諸如在后臺中操作以生成用于在索引4126中存儲的索引數(shù)據(jù),仍然 不涉及主機(jī)裝置4102,從而填充(populate)索引4126。第二存儲區(qū)域4126可包括由索引器4130生成的索引。例如,在圖18中,第二 存儲區(qū)域4126可包括現(xiàn)在已知或?qū)硪阎獮榭捎伤阉饕嬗脕眄憫?yīng)于一個(gè)或多個(gè)搜索查 詢而返回與數(shù)據(jù)體(corpus)有關(guān)的搜索結(jié)果的各種類型的索引數(shù)據(jù)中的任一種。索引可被存儲在存儲陣列4120中,甚至可能是HDFS 4106看不到的。已經(jīng)描述 了如何由LSD 4104生成索引數(shù)據(jù)的一些例子,現(xiàn)在討論如何使用索引數(shù)據(jù)的一些例子。 通常,索引數(shù)據(jù)可由LSD 4104自己、由HD 4102和/或由外部過程使用。再次參照圖17,系統(tǒng)4100可被配置為使得可由HD 4102獲得和/或使用搜索索 引4126。例如,搜索索引4126可存儲在存儲陣列4120的大容量存儲區(qū)域4124中。例 如,參見上面在“相關(guān)申請”部分引用的美國專利申請?zhí)?2/029356,其描述了寫入LSD 的大容量存儲區(qū)域中——即使該區(qū)域由外部文件系統(tǒng)(HDFS)管理——的方法的例子。 在該情況下,HD 4102可使用另外通??捎脕碓L問大容量存儲區(qū)域4124中的數(shù)據(jù)的操作 來訪問搜索索引4126。由此,例如,在HD 4102上執(zhí)行的應(yīng)用4118可操作從而HDFS 4106使得命令4110經(jīng)由LSD驅(qū)動器4108和HD/LSD接口 4112提供給LSD 4104。這 樣的命令4110可提供給閃存管理器4128,以使得搜索索引4126經(jīng)由HD/LSD接口 4112 提供給HD 4102作為數(shù)據(jù)4111。例如,由HD 4102如此獲得的搜索索引可由HD 4102執(zhí)行的應(yīng)用4118使用。如 此獲得的搜索索引可從HD 4102提供給外部裝置或系統(tǒng),如提供給HD 4102可連接的計(jì) 算機(jī)或其他服務(wù)器上的媒體管理系統(tǒng)。這樣的搜索索引可由該外部裝置或系統(tǒng)在至少部 分地確定該外部裝置或系統(tǒng)如何與HD4102交互或其他操作時(shí)使用?,F(xiàn)在參照圖19,它示出了系統(tǒng)的示例配置,其中可以由LSD 4104自己執(zhí)行的搜 索引擎4302使用索引。在該例子中,閃存管理器4128可操作以從主機(jī)裝置4102接收命 令4110或部分命令4110,其是搜索查詢4304。搜索引擎4302可訪問搜索索引4126,并 基于搜索查詢4304,將搜索結(jié)果4306返回主機(jī)裝置4102。作為另一例子,索引結(jié)果可 用于LSD的內(nèi)容篩查(screening),即,查找例如“pom”的特定串的應(yīng)用,以便禁止訪 問LSD的存儲器陣列中的未授權(quán)內(nèi)容。例如,內(nèi)容篩查可在HD中執(zhí)行,從而例如避免 對LSD的存 儲器陣列中的特定內(nèi)容的訪問請求,或者作為另一例子,可在LSD本身中執(zhí) 行,阻止從HD接收的訪問請求,無論寫訪問請求或者讀訪問請求。作為另一例子,應(yīng)用4308(例如,網(wǎng)頁應(yīng)用,如瀏覽器或SQL代理)可在主機(jī)裝置4102上操作,并可與搜索引擎4302交互(如通過用于數(shù)據(jù)訪問操作的邏輯接口之外 的邏輯接口 4310)以獲得響應(yīng)于搜索查詢4304的搜索結(jié)果4306。圖20例示了示例配置,其中搜索索引4126中的一些或全部可被傳輸?shù)街?輔范 型之外的外部裝置(如經(jīng)由網(wǎng)絡(luò)4408耦連到HD 4102的裝置4406),或者可由其訪問, 主/輔范型由例如主機(jī)裝置4114、HDFS 4106和LSD驅(qū)動器4108協(xié)作LSD 4104的處理 而實(shí)現(xiàn)。例如,在上面“相關(guān)申請”段落中引用的美國專利申請?zhí)?2/029356中描述了 傳統(tǒng)主/輔(或主機(jī)/輔)范型之外的數(shù)據(jù)傳輸或數(shù)據(jù)訪問的例子。再次參照圖20,LSD 4104上的代理4402與HD 4102上的代理4404通信。由此,例如,LSD 4104上的代理4402和HD 4102上的代理4404之間的通信可經(jīng)由無需 HDFS 4106介入的安全路徑和/或否則使得所傳輸?shù)乃饕龜?shù)據(jù)不可被HD 4102上的處理 (如主機(jī)應(yīng)用4114)訪問。另外,裝置4406還可進(jìn)行關(guān)于搜索索引4126的存儲操作(如上所述),如清空 搜索索引4126或搜索索引的一部分,修改用于確定搜索索引的信息(例如,用來進(jìn)行聲 音識別或圖像識別處理的參數(shù))或其他這樣的信息。另外,使用安全路徑,索引4126可由裝置4406訪問,例如為了響應(yīng)于搜索查詢 的目的,而不將搜索索引4126傳輸給裝置4406。在一個(gè)例子中,代理4402可包括搜索 引擎功能性,其能夠通過基于從外部裝置4406向代理4402提供的搜索查詢來處理LSD 4104上的搜索索引4126,來向外部裝置4406提供查詢響應(yīng)。如上所述,搜索查詢可以 是搜索特定內(nèi)容和/或利用索引4126中的元數(shù)據(jù)確定查詢響應(yīng)。通常,使用圖20的配置作為例子,處理搜索索引4126的應(yīng)用可以經(jīng)由與HD中 (或LSD中)任何有關(guān)應(yīng)用共享的邏輯接口來訪問。LSD給出因特網(wǎng)/IP/網(wǎng)絡(luò)接口的事 實(shí)使得HD中的標(biāo)準(zhǔn)因特網(wǎng)客戶端應(yīng)用更容易訪問作為標(biāo)準(zhǔn)服務(wù)器的LSD中的索引。由 此,可以有在HD上運(yùn)行的基于標(biāo)準(zhǔn)因特網(wǎng)/IP的客戶端應(yīng)用(例如,網(wǎng)絡(luò)瀏覽器或SQL 客戶端),并且,作為LSD中的服務(wù)器(例如,網(wǎng)頁服務(wù)器或SQL服務(wù)器),可訪問索引 4126。在任何情況下,服務(wù)器在LSD中,而不在HD中,并且客戶端在HD或在遠(yuǎn)程裝 置中。現(xiàn)在轉(zhuǎn)到圖21,它是在寬的方面中例示了 LSD可用來生成LSD上的索引4502 的索引數(shù)據(jù)的方法的流程圖。在4504,不涉及HD,LSD對于LSD的存儲器陣列中存儲 的數(shù)據(jù)生成索引數(shù)據(jù)。LSD的存儲器陣列被HD管理為數(shù)據(jù)塊。在4506,LSD在LSD 上存儲所生成的索引數(shù)據(jù),作為搜索索引4502的至少一部分。由此,例如,可接收搜索 查詢(4508)并且對于索引4502處理搜索查詢(4510),以生成對搜索查詢的響應(yīng)。因此,已經(jīng)描述了 LSD可用來索引LSD的存儲器陣列中的數(shù)據(jù)的系統(tǒng)和方法, 而不涉及主機(jī)(HD)。此外,已經(jīng)描述了可如何處理索引,以例如響應(yīng)于搜索查詢。還 描述了例如可如何將搜索索引用于內(nèi)容篩查。圖22例示了根據(jù)本發(fā)明實(shí)施例的主/輔系統(tǒng)5100的簡化框圖。例如,根據(jù)這 里描述的具體實(shí)施例,輔裝置可采用本地存儲裝置的形式,例如但不限于上述描述的前 述存儲裝置中的任一個(gè),而主裝置采用主機(jī)裝置的形式,例如但不限于上面描述的前述 主機(jī)裝置中的任一個(gè)。如上背景技術(shù)部分所述,主/輔是通信協(xié)議的模型,其中一個(gè)裝 置或過程具有對一個(gè)或多個(gè)其他裝置的單向控制。在傳統(tǒng)系統(tǒng)中,一旦建立裝置或過程之間的主/輔關(guān)系,則控制的方向始終從主到輔,即,輔裝置不能發(fā)起事務(wù)處理。在 一些系統(tǒng)中,從一群適格裝置中選擇主裝置,其他裝置充當(dāng)輔裝置的作用。因此,主/ 輔系統(tǒng)5100 (下文中也簡稱為系統(tǒng)5100)至少包括主裝置5102 (下文中也稱為主機(jī)裝置 5102或主機(jī)控制器5102)、第一輔裝置5104 (下文中也稱為存儲裝置5104)和第二輔裝置 5106 (下文中也稱為存儲裝置5106),它們至少通過傳統(tǒng)的主/輔范型而彼此有關(guān)。系統(tǒng)5100還包括多個(gè)通信或信號線5108 (下文中稱為總線5108),用于將主機(jī) 裝置5102與外圍存儲裝置5104和5106相連。應(yīng)注意,即便僅僅示出了兩個(gè)外圍存儲裝 置,但可將更多或更少的存儲裝置容易地耦連到總線5108。構(gòu)成總線5108的信號線的實(shí) 際數(shù)目也可以大范圍變化。例如,一些現(xiàn)代總線具有相對少的信號線(例如,8-16條信 號線),而其他現(xiàn)代總線可具有超過100條線,它們自己可以被邏輯地劃分為有效地作為 子總線(例如,地址總線、控制總線、數(shù)據(jù)總線等)作用的線子集。 典型地,每個(gè)存儲裝置包括相應(yīng)的唯一、永久的裝置標(biāo)識符。在一些總線協(xié)議 中,永久裝置標(biāo)識符用于在總線通信中標(biāo)識裝置。在其他協(xié)議中,主機(jī)控制器將對耦連 到總線的每個(gè)裝置分派臨時(shí)裝置標(biāo)識符和/或相關(guān)地址組。典型地,在各個(gè)存儲裝置 5104或5106與總線5108和主機(jī)裝置5102連接和初始化時(shí),或者在可移除存儲卡的情況 下,在將卡插入相關(guān)聯(lián)的讀卡器時(shí),分派這樣的臨時(shí)裝置標(biāo)識符和/或地址。盡管總線 協(xié)議和存儲器管理協(xié)議的細(xì)節(jié)將隨著所采用的具體總線和存儲裝置的性質(zhì)而變化,但是 主機(jī)控制器5102 —般知道每個(gè)存儲裝置相應(yīng)的裝置標(biāo)識符。典型地,附連到總線5108的具體裝置將知道它是否要響應(yīng)于從主機(jī)5102發(fā)送 的特定通信或基于通信的命令,主機(jī)5102 —般使用目標(biāo)通信/命令中的裝置標(biāo)識符和/ 或地址來指定存儲裝置。即,在一些協(xié)議中,每個(gè)通信通常包括裝置標(biāo)識符,其告知存 儲裝置它們是否為通信的目標(biāo)。在其他協(xié)議中,裝置標(biāo)識符并不作為每個(gè)存儲器相關(guān)通 信的一部分而顯式發(fā)送。而是,命令可標(biāo)識命令(例如,讀、寫或擦除命令)被定址 (address)的地址。通常,通信未標(biāo)識或定址的裝置將簡單地忽略該通信。在所示例子中,根據(jù)合適的總線協(xié)議,在共享總線5108上向存儲裝置5104和 5106發(fā)送通信??偩€協(xié)議規(guī)定了如何在總線上傳送信息。同樣,合適的總線協(xié)議包括安 全數(shù)字卡(SD)協(xié)議、多媒體卡(MMC)協(xié)議和通用串行總線(USB)協(xié)議,不過也可以使 用多種其他總線協(xié)議。另外,如熟悉本領(lǐng)域的人將理解的,當(dāng)前存儲裝置采用多種不同 架構(gòu),并且預(yù)期將繼續(xù)開發(fā)出新的架構(gòu)。通常,本發(fā)明可結(jié)合多種不同類型的存儲器使 用,只要存儲裝置具有合適的處理能力。圖23是更詳細(xì)地例示了根據(jù)本發(fā)明的一個(gè)實(shí)施例代表每個(gè)存儲裝置5104和5106 的存儲裝置5200的一般結(jié)構(gòu)的框圖。在各種實(shí)施例中,存儲裝置5200可以是傳統(tǒng)的或 現(xiàn)有的存儲裝置。如前所述,存儲裝置5200可以是可移除或不可移除裝置。在所示實(shí) 施例中,存儲裝置5200是傳統(tǒng)的可移除閃存卡,并且通常包括存儲器控制器5214和大容 量存儲區(qū)域5216。存儲器控制器5214包括存儲器管理器5218和協(xié)議解析器5220。如熟悉本領(lǐng)域的人將理解的,協(xié)議解析器5220被配置為分析在總線518上發(fā)送 的通信。更具體地,協(xié)議解析器5220被配置為分析從主機(jī)5102發(fā)送的通信,并基于作 為通信一部分而指定的裝置標(biāo)識符或地址,確定存儲裝置5200是否為總線通信的期望目 標(biāo)。如果總線通信是指向存儲裝置5200的存儲器操作,則通信被傳遞到存儲器管理器5218,其進(jìn)而進(jìn)行所請求的操作,訪問大容量存儲區(qū)域5216。由協(xié)議解析器5220或存儲 器管理器5218適當(dāng)?shù)仨憫?yīng)于指向存儲裝置5200的其他指令。存儲裝置5200通常簡單地 忽略指向其他裝置的指令和通信。
在至少一個(gè)存儲裝置可移除的實(shí)施例中,優(yōu)選地,存儲裝置標(biāo)識符是與目標(biāo)存 儲裝置相關(guān)聯(lián)的永久裝置標(biāo)識符。如本領(lǐng)域技術(shù)人員所熟悉的,許多類型的存儲裝置, 如閃存卡,具有可用于該目的的相關(guān)聯(lián)的永久裝置標(biāo)識符。然而,在利用不包括永久裝 置標(biāo)識符的存儲裝置的實(shí)施例中,可使用由主機(jī)5102分派的裝置標(biāo)識符。這里,應(yīng)注 意,在某些情況下,單個(gè)物理裝置在該物理裝置內(nèi)可包括兩個(gè)或更多個(gè)可尋址存儲區(qū)塊 (或裝置)。在此情況下,每個(gè)存儲區(qū)塊可具有相應(yīng)的裝置標(biāo)識符和/或邏輯地址組。此 夕卜,如果特定命令被定址到總線5108上的所有存儲裝置,則可使用指示該命令被定址到 總線上的所有裝置的廣播標(biāo)識符或者所有目標(biāo)裝置標(biāo)識符的列表。通常,諸如從主機(jī)5102傳送的命令的通信包括操作標(biāo)識符,其標(biāo)識要執(zhí)行的總 線協(xié)議操作的類型。所標(biāo)識的操作可以是存儲器操作,如讀、寫和擦除操作;存儲器管 理命令,如讓目標(biāo)存儲裝置創(chuàng)建分區(qū)的指令;初始化和認(rèn)證請求;中斷;確認(rèn);錯(cuò)誤信 號和任何其他總線相關(guān)命令或操作。返回參照系統(tǒng)5100,主機(jī)5102控制存儲裝置5104和5106的各種操作。例如, 與其他內(nèi)務(wù)操作一起,主機(jī)向存儲裝置傳送指示存儲裝置寫數(shù)據(jù)、讀數(shù)據(jù)和擦除的命 令。命令在總線5108上從主機(jī)5102傳送到與總線相連的一個(gè)或多個(gè)目標(biāo)存儲裝置。僅 僅給定命令所針對的一個(gè)或多個(gè)存儲裝置(例如,通過命令中的裝置標(biāo)識符和/或地址) 才接受該命令并基于該命令執(zhí)行操作。應(yīng)注意,在所述實(shí)施例中,僅僅主機(jī)5102能夠在 總線5108上傳送命令。為了例示本發(fā)明的具體實(shí)施例的基本例子的目的,參照圖24的流程圖和圖22的 系統(tǒng)描述將數(shù)據(jù)從源存儲裝置5104寫到目的地存儲裝置5106的過程5300。過程5300從 5302開始,其中主機(jī)5102在總線5108上發(fā)送LISTEN/WRITE (聽/寫)命令,其針對存 儲裝置5106,并指示存儲裝置5106監(jiān)聽總線以及將來自總線的數(shù)據(jù)寫入該裝置的存儲器 中。在一個(gè)實(shí)施例中,LISTEN/WRITE命令指示存儲裝置5106在特定時(shí)間Tl開始監(jiān)聽 總線5108,并且在時(shí)間Tl之后將來自總線的數(shù)據(jù)寫入該裝置的存儲器中。更具體地, 在使用時(shí)分復(fù)用協(xié)議來組織總線5108上的數(shù)據(jù)傳輸?shù)膶?shí)施例中,主機(jī)5102可指示存儲裝 置5106在特定時(shí)隙Xl監(jiān)聽總線5108。在另一實(shí)施例中,可指示輔裝置5106立即開始 監(jiān)聽,并等待直到總線5108上可獲得用來寫入的數(shù)據(jù)。主機(jī)5102還在5304,在總線5108上發(fā)送READ (讀)命令,其針對于存儲裝置 5104,并指示存儲裝置5104從裝置的存儲器中讀取數(shù)據(jù)并將數(shù)據(jù)輸出到總線5108上。在 一個(gè)實(shí)施例中,READ命令指示存儲裝置5104在特定時(shí)間,優(yōu)選地在Tl時(shí)或之后,開始 讀取和將數(shù)據(jù)輸出到總線5108上,以便不丟失任何數(shù)據(jù)。同樣,在使用時(shí)分復(fù)用協(xié)議來 組織總線5108上的數(shù)據(jù)傳輸?shù)膶?shí)施例中,主機(jī)5102可指示存儲裝置5104在特定時(shí)隙Xl 開始讀取和將數(shù)據(jù)輸出到總線5108上。在另一實(shí)施例中,指示輔裝置5104立即讀取和 將數(shù)據(jù)輸出到總線上。以此方式,存儲裝置5106從總線5108拉出直接從存儲裝置5104輸出的數(shù)據(jù), 并將數(shù)據(jù)寫入存儲器。更具體地,不同于傳統(tǒng)布局,從存儲裝置5104輸出的數(shù)據(jù)在從總線5108拉出并寫入存儲裝置5106之前,不首先臨時(shí)高速緩存在主機(jī)5102中或在任何其 他裝置中。由此,盡管主機(jī)5102啟動存儲裝置5104和存儲裝置5106之間的數(shù)據(jù)事務(wù)處 理,但在存儲和/或傳送數(shù)據(jù)時(shí)不涉及主機(jī)5102。由此,盡管各種主/輔總線協(xié)議(如SD協(xié)議)規(guī)定僅僅主機(jī)可以啟動事務(wù)處理 和發(fā)送數(shù)據(jù),但本發(fā)明繞過該傳統(tǒng)范型。即,本發(fā)明使得能夠在存儲裝置5104和5106 之間直接進(jìn)行數(shù)據(jù)傳輸,同時(shí)能夠使用現(xiàn)有裝置和主/輔協(xié)議,因?yàn)槊總€(gè)存儲裝置假設(shè) 它正在總線5108上發(fā)送或接收的數(shù)據(jù)正被發(fā)送到主機(jī)5102或從主機(jī)5102接收。還應(yīng)該 理解,以此方式,在總線5108上傳送的數(shù)據(jù)總量可以被大約減半;S卩,因?yàn)閿?shù)據(jù)可以直 接從一個(gè)存儲裝置寫入另一存儲裝置,而不是首先由高速緩存裝置高速緩存和然后重新 傳送,所以對于給定事務(wù)處理在總線5108上傳送的數(shù)據(jù)量可被大約減半,因此,可類似 地減少所需總帶寬。結(jié)果,可增加存儲裝置本身之間的數(shù)據(jù)傳輸速率,另外,可減少主 機(jī)5102的處理器需求。在一個(gè)實(shí)施例中,存儲裝置5104繼續(xù)讀取和將數(shù)據(jù)輸出到總線5108上,直到在 5306主機(jī)5102發(fā)出STOP—READING(停止讀取)命令,其針對于裝置5104并指示存儲 裝置5104停止讀取和將數(shù)據(jù)輸出到總線5108上。類似地,存儲裝置5106繼續(xù)從總線 5108拉出數(shù)據(jù),直到在5308主機(jī)5012發(fā)出STOP—LISTENING命令,其針對于裝置5106 并指示存儲裝置5106停止從總線拉出數(shù)據(jù)。 在替代實(shí)施例中,READ命令還指示存儲裝置5104繼續(xù)將數(shù)據(jù)輸出到總線5108 上,直到經(jīng)過了持續(xù)時(shí)間Dl。類似地,LISTEN/WRITE命令也可指示存儲裝置5106繼 續(xù)從總線5108拉出數(shù)據(jù),直到經(jīng)過了持續(xù)時(shí)間D2。在優(yōu)選實(shí)施例中,D2至少與Dl — 樣長,以便不丟失任何數(shù)據(jù)。例如,如果主機(jī)5102知道要傳輸?shù)臄?shù)據(jù)量(例如,比特 數(shù))和總線5108的工作頻率,則主機(jī)可計(jì)算按傳輸數(shù)據(jù)所需的持續(xù)時(shí)間,然后指示存儲 裝置5106在該持續(xù)時(shí)間內(nèi)輸出數(shù)據(jù),并指示存儲裝置5106在該持續(xù)時(shí)間內(nèi)繼續(xù)監(jiān)聽和寫 入數(shù)據(jù)。在另一替代實(shí)施例中,LISTEN/WRITE命令指示存儲裝置5106在特定時(shí)隙 Xn(其可以是連續(xù)或不連續(xù)的)期間監(jiān)聽總線5108。然后,時(shí)隙Xn期間總線5108上的 數(shù)據(jù)被寫入裝置的存儲器。在該替代實(shí)施例中,類似地,READ命令指示存儲裝置5104 在特定時(shí)隙Xn期間開始讀取和將數(shù)據(jù)輸出到總線5108上。同樣,應(yīng)注意,時(shí)隙可以是 不連續(xù)的。更具體地,主機(jī)5102可指示存儲裝置5014在時(shí)隙XI、X2、X3和X4(同 樣,它們在一些實(shí)施例中可以是不連續(xù)的)中將數(shù)據(jù)A輸出到總線5108上。然后,主 機(jī)5102將指示存儲裝置5106在時(shí)隙XI、X2、X3和X4期間監(jiān)聽和從總線5108拉出數(shù) 據(jù)。為了解釋目的的前述描述使用具體例子提供本發(fā)明的整體理解。然而,本領(lǐng)域 技術(shù)人員將明白,為了實(shí)踐本發(fā)明,無需具體細(xì)節(jié)。由此,本發(fā)明具體實(shí)施例的前述描 述是為了例示和描述的目的而提出的。不期望它們是排他性的,或?qū)⒈景l(fā)明限于所公開 的精確形式。本領(lǐng)域技術(shù)人員將清除,在上述教導(dǎo)下許多修改和變型是可能的。例如,盡管參照將數(shù)據(jù)從單個(gè)存儲裝置5104傳輸?shù)搅硪粏蝹€(gè)存儲裝置5106而描 述過程5300,但是應(yīng)理解,主機(jī)5102可發(fā)出多播或廣播命令,指示多個(gè)存儲裝置在特定 時(shí)間監(jiān)聽總線,并將相關(guān)數(shù)據(jù)寫入存儲器。以此方式,可在多個(gè)裝置中同時(shí)存儲數(shù)據(jù)的多個(gè)副本。此外,盡管已經(jīng)在從一個(gè)存儲器裝置讀取數(shù)據(jù)和將數(shù)據(jù)傳輸?shù)揭鎯λ牧硪?存儲器裝置的上下文中描述了前述說明,但也應(yīng)理解,本發(fā)明的各方面可應(yīng)用于除了被 特別配置為存儲裝置的那些以外的政治。例如,本發(fā)明的各方面可用于向和從外部網(wǎng)絡(luò) 傳輸通信和數(shù)據(jù)。更具體地,與總線耦連的第一輔裝置可以是充當(dāng)?shù)酵獠烤W(wǎng)絡(luò)或協(xié)議的 網(wǎng)橋的網(wǎng)卡,如WiMax、WHFi或藍(lán)牙,并且第二輔裝置可以是與該總線耦連的存儲裝 置。例如,主裝置可以指示第一輔裝置直接將它通過總線從外部網(wǎng)絡(luò)接收或已接收的數(shù) 據(jù)傳遞到第二輔裝置,或者指示第二輔裝置將數(shù)據(jù)發(fā)送給第一輔裝置以在外部網(wǎng)絡(luò)上通 信。在這樣的實(shí)施例中,網(wǎng)卡可以是使用SDIO協(xié)議的SD總線上的卡。另外,盡管已經(jīng)參照具體總線/裝置配置描述了前述說明,但在替代實(shí)施例 中,存儲裝置可按其他合適的配置或布局來連接。例如,在圖25所示的實(shí)施例中,包括 輔存儲裝置5404、5406和5408的每個(gè)裝置按菊花鏈布局串聯(lián)。這樣的布局在非常高速 的消費(fèi)電子應(yīng)用等中可能是期望的。盡管在圖25所示的實(shí)施例中僅僅示出了三個(gè)存儲裝 置,但將理解,可在菊花鏈布局中布置更多或更少的裝置。通常,典型地,在這樣的布 局中連接2至5個(gè)裝置。菊花鏈布局意味著一個(gè)裝置的插針(pin)電連接到相鄰裝置的插針。連接可以通 過硬焊接、印刷電路配線或插槽插針連接。例如,來自存儲裝置5404的第二組插針可經(jīng) 由一組通信線5432連接到來自存儲裝置5406的第一組插針,存儲裝置5406的第二組插 針可經(jīng)由一組通信線5434連接到存儲裝置5408的第一組插針,如此等等。以此方式, 除了菊花鏈布局中的第一個(gè)或最后一個(gè)裝置之外的所有存儲裝置連接到兩個(gè)緊鄰的相鄰 裝置。然而,不同于其他存儲裝置,存儲裝置5404的第一組插針經(jīng)由一組通信線5430 與充當(dāng)主裝置的主機(jī)5402相連。在一個(gè)實(shí)施例中,所有存儲裝置共享時(shí)鐘;然而,這不 是必要的,每個(gè)裝置可生成自己的時(shí)鐘。在所示實(shí)施例中,沒有將存儲裝置5404、5406和5408彼此互連和互連到主機(jī) 5402的公共總線。相反,在該配置中,每個(gè)裝置向鏈中的下游裝置傳遞來自主機(jī)5402的 不定址到它自己的命令。即,除了鏈中的第一裝置(例如,存儲裝置5404)之外的每個(gè) 存儲裝置(例如,存儲裝置5406和5408)通過鏈中任何上游裝置耦連到主機(jī)5402。艮口, 從主機(jī)5402向特定存儲裝置傳遞的通信或信息必須首先順序地經(jīng)過鏈中所有其他上游裝 置。實(shí)際上,沿著通信線5430、5432和5434的存儲裝置5404、5406和5408形成虛擬 通信總線,其用來將通信和信息從主機(jī)傳遞到存儲裝置以及從存儲裝置傳遞到主機(jī)。在一個(gè)示例實(shí)施例中,其中存儲裝置5404、5406和5408被 布置為菊花鏈配置, 主機(jī)5402可在菊花鏈的裝置串中向下傳送LISTEN/WRITE命令。例如,主機(jī)5402可 在通信線5430上傳送針對存儲裝置5406的LISTEN/WRITE命令,其中它首先被存儲裝 置5404接收到。存儲裝置5404隨后可在通信線5432上傳遞LISTEN/WRITE命令,其 中隨后在目標(biāo)存儲裝置5406處接收到命令。LISTEN/WRITE命令可指示存儲裝置5406 在特定時(shí)間監(jiān)聽通信線5434,以及在特定時(shí)間開始寫入來自通信線5434的數(shù)據(jù)。主機(jī) 5402還可在通信線5430上傳送針對于存儲裝置5408的READ命令。在到達(dá)目標(biāo)存儲裝 置5408之前,READ命令可由存儲裝置5404和5406沿著通信線5432和5434傳遞,并 且可指示存儲裝置5408在特定時(shí)間從存儲器讀取數(shù)據(jù)并將數(shù)據(jù)輸出到通信線5434上。以此方式,存儲裝置5406可在LISTEN/WRITE命令所指示的特定時(shí)間監(jiān)聽通信線5434并 寫入它從通信線5434拉出的數(shù)據(jù),其已經(jīng)直接從存儲裝置5408讀取并由存儲裝置5408 輸出到通信線5434上,無需首先將數(shù)據(jù)傳輸?shù)街鳈C(jī)5402。在其他實(shí)施例中,存儲裝置5404、5406和5408可能被布置為如圖25所示的菊 花鏈配置,而分離的公共總線將存儲裝置自己互連并互連到主機(jī)5402。以此方式,不同 于傳統(tǒng)的布局,菊花鏈裝置之間的信號或通信路徑是分離的,并且與總線不同,因而, 還是不同于傳統(tǒng)的方法,不消耗否則可能用來在存儲裝置和主機(jī)5402之間傳遞信息和/ 或數(shù)據(jù)的總線資源。為了提供更好的功能性從而提供更好的用戶滿意度,除了已經(jīng)提供的那些核心服務(wù)(例如,媒體播放器)之外,最新的便攜式消費(fèi)電子產(chǎn)品(具體地,主機(jī)裝置中包括 的處理器)還被要求執(zhí)行更多用戶支持(輔助)功能。然而,因?yàn)檫@些便攜式消費(fèi)電子產(chǎn) 品具有有限的處理器資源和RAM,任何額外的功能可能導(dǎo)致處理器運(yùn)行變慢并消耗過多 的功率,導(dǎo)致用戶體驗(yàn)不太滿意。使用最多最依賴的輔助服務(wù)之一(尤其在使得用戶能 訪問大量的存儲數(shù)據(jù)文件的情況下)是搜索/查詢功能和其他這樣的有關(guān)讀取功能。當(dāng) 數(shù)據(jù)被嚴(yán)格存儲為邏輯塊時(shí),搜索/查詢功能在應(yīng)用于高容量存儲器裝置時(shí)可能會有問 題。例如,位于Milpitas CA的SanDisk Inc.是世界性的閃存銷售商,目前正在銷售用于 移動裝置的8GB閃存卡,并已經(jīng)宣布對16GB的支持。該容量將隨著時(shí)間前進(jìn)和競爭擴(kuò) 張而只有變得更大。這種大小的該高容量存儲器名義上能容納數(shù)千個(gè)圖像文件(JPEG)、 音樂文件(MP3)或數(shù)百個(gè)視頻文件(MP4),它們能使用諸如每個(gè)都來自微軟公司的圖片 傳輸協(xié)議(PTP)或媒體傳輸協(xié)議(MTP)的對象傳輸協(xié)議,從諸如計(jì)算機(jī)的外部系統(tǒng)傳輸 到便攜式消費(fèi)電子裝置。對象協(xié)議尤其適合于傳輸包含諸如數(shù)字照片或MP3音樂文件的 預(yù)定量數(shù)據(jù)的文件。例如,這樣的協(xié)議可用來在數(shù)碼相機(jī)和PC之間傳輸數(shù)字照片,或 從主機(jī)計(jì)算機(jī)(如PC)向MP3播放器傳輸MP3音樂文件。應(yīng)注意,對象傳輸協(xié)議(如 MTP)更多地關(guān)注于“寫相關(guān)”命令(例如,CopyObject、MoveObject等),然而,它 們也覆蓋“讀相關(guān)”命令(例如,GetPartialObject、GtObjectPropValue 等)。利用這樣的大量存儲的數(shù)據(jù)文件,任何搜索/查詢功能可能消耗大量處理器資 源,并消耗過多的時(shí)間來完成。因?yàn)樵趥鹘y(tǒng)大容量存儲裝置中,內(nèi)容按照邏輯塊的粒 度存儲,而搜索/查詢功能在數(shù)據(jù)按數(shù)據(jù)對象的粒度存儲時(shí)可能更有效,所以尤其是這 樣。例如,數(shù)據(jù)庫管理語言(例如SQL)明顯適合于查詢或操縱對象粒度的數(shù)據(jù)(例如, 在SQL的情況下,經(jīng)由SELECT命令按照關(guān)系數(shù)據(jù)庫管理系統(tǒng)或DBMS,可能以關(guān)系方 式組織的數(shù)據(jù)的檢索)。因?yàn)樵谳o助服務(wù)的情況下一般搜索/查詢功能(即,‘讀相關(guān)’ 命令)消耗主機(jī)處理器的大部分處理資源,所以如果查詢語言(如諸如SQL的數(shù)據(jù)庫管理 語言)可能在便攜式消費(fèi)電子產(chǎn)品中使用以優(yōu)選地執(zhí)行諸如搜索/查詢等的讀操作,則將 有利于輔助服務(wù)(以及作為整體的系統(tǒng))的性能的整體改善。還應(yīng)注意,即使諸如SQL 的數(shù)據(jù)庫語言也覆蓋‘寫相關(guān)命令,(例如,CREATE、ALTER或INSERT、UPDATE、 DELETE),在改善便攜式消費(fèi)電子產(chǎn)品的性能的情況下這種數(shù)據(jù)庫語言的最有利的用途 仍將會是用于諸如查詢的讀功能的執(zhí)行。盡管將所有內(nèi)容存儲為數(shù)據(jù)對象而不是邏輯塊,可能看起來是這個(gè)問題的答 案,但是為了保護(hù)與現(xiàn)有產(chǎn)品和已安裝基礎(chǔ)的后向兼容性,完全切換到“面向?qū)ο蟆暗姆缎图扔蟹醋饔靡彩遣槐匾?。因而,根?jù)各種實(shí)施例,通過提供在與主機(jī)裝置通信的本地存儲裝置(LSD)的 存儲器陣列中存儲的內(nèi)容的雙表示法(dual representation),實(shí)現(xiàn)主機(jī)裝置計(jì)算資源的更有 效的分配。雙表示法意味著按照邏輯塊表示法(即可經(jīng)由現(xiàn)有大容量存儲接口訪問)和 可經(jīng)由其中可操縱對象或?qū)ο笮再|(zhì)的數(shù)據(jù)對象接口訪問的對象表示法這兩者提供在LSD 中存儲的內(nèi)容。存儲內(nèi)容的雙表示法通過提供最適合于請求應(yīng)用的形式的數(shù)據(jù),來提供 流線化(streamline)主機(jī)應(yīng)用的操作。此外,執(zhí)行同步服務(wù),其提供所存儲內(nèi)容在邏輯塊 表示法和對象表示法之間的同步。更具體地,同步提供用于同步在存儲陣列的一部分中 存儲的對象性質(zhì)信息和在陣列的大容量存儲部分中存儲的相應(yīng)對象。因此,提供了至少存儲器陣列,其被邏輯地配置為提供以邏輯塊表示法和數(shù)據(jù)對象表示法這兩者的所存儲 內(nèi)容的雙表示法,以及確保對象性質(zhì)通行(current)的同步服務(wù)。以此方式,可容易地訪問最適合于有效執(zhí)行主機(jī)應(yīng)用的特定組件的任一表示 法。例如,如果主機(jī)裝置是多媒體播放器而核心應(yīng)用是MP3解碼器,則MP3解碼器將優(yōu) 先訪問被存儲為邏輯塊的MP3文件。然而,如果多媒體播放器的用戶希望搜索存儲器陣 列中存儲的所有可用音頻文件,然后搜索應(yīng)用將根據(jù)例如對象性質(zhì)優(yōu)先使用被表示為對 象的存儲內(nèi)容,以完成搜索請求。應(yīng)注意,在面向?qū)ο蟮沫h(huán)境中,對象元數(shù)據(jù)是指被當(dāng) 作對象本身的一部分的一組預(yù)定性質(zhì),如在頭標(biāo)中。然而,除了對象信息之外,所述實(shí) 施例還考慮可在對象外部定義(如由存儲對象的LSD)而不必與它一起傳送的對象性質(zhì)。 例如,對象已經(jīng)被訪問和/或播放的次數(shù)等可被當(dāng)作對象性質(zhì)。存儲內(nèi)容的雙表示法可包括按照邏輯塊的粒度以及按照對象的粒度(granularity) 在存儲器陣列的大容量存儲部分中存儲的內(nèi)容。與所存儲對象相關(guān)聯(lián)的對象性質(zhì)可存儲 在邏輯或物理上與對象自己被存儲的部分分開的存儲陣列部分中。例如,對象可以是存 儲陣列的公眾部分(即,HDFS看得到的部分),而對象性質(zhì)可以被存儲在存儲器陣列的 私有部分中。另外,所述實(shí)施例提供同步與具有以塊表示法存儲的相應(yīng)的相同內(nèi)容的對 象相對應(yīng)的對象性質(zhì)。以此方式,在大容量存儲部分中存儲的對象可具有在存儲器陣列 的其他部分中存儲的對象性質(zhì)(存儲為文件、表等)。同步器的功能是確保所存儲對象的 任何變化被反映在相關(guān)聯(lián)的性質(zhì)中。圖26例示了計(jì)算系統(tǒng)6100,包括主機(jī)裝置(HD) 6102和本地存儲裝置 (LSD) 6104。LSD 6104可采用可移除存儲器裝置的形式,如具有相對小的形狀因子并且 可用來存儲諸如相機(jī)、手持或筆記本計(jì)算機(jī)、網(wǎng)卡、網(wǎng)絡(luò)電器、機(jī)頂盒、手持或其他小 音頻播放器/記錄器(例如MP3裝置)和醫(yī)學(xué)監(jiān)視器的電子產(chǎn)品的數(shù)字?jǐn)?shù)據(jù)的存儲卡。存 儲卡的例子包括PC卡(以前的PCMCIA裝置)、閃存卡(例如,緊致閃存類型I和II)、 安全數(shù)字(SD)卡、多媒體卡(MMC)、ATA卡(例如,緊致閃存卡)、記憶棒、智能媒 體卡。此外,LSD 6104可采取非可移除存儲器裝置的形式,如Milpitas CA的SanDisk公 司制造的兼容SD的iNAND 嵌入式閃存驅(qū)動器。LSD 6104可通過HD/LSD接口 6106與主機(jī)裝置6102通信。應(yīng)注意,HD/LSD 6106可被配置為機(jī)械實(shí)體(如插槽或互連總線),其中可機(jī)械連接HD 6102和LSD 6104。 在一些實(shí)施例中,HD/LSD6106可采用無線接口的形式。HD 6102包括處理器。然而為 了簡潔起見,在下面的討論中沒有示出也沒有進(jìn)一步提及HD 6102中包括的處理器,但假設(shè)它存在。典型地,除了 HD 6102提供的接口之外,LSD 6104不使用到HD 6102之 外的裝置的任何接口。HD 6102包括現(xiàn)有大容量存儲路徑6107?,F(xiàn)有大容量存儲路徑6107包括與現(xiàn) 有大容量存儲驅(qū)動器6110通信的主機(jī)裝置文件系統(tǒng)(HDFS) 6108 (其一般是主機(jī)裝置操作 系統(tǒng)(HDOS))的一部分。應(yīng)注意,HDFS 6108可被配置為基于很多文件系統(tǒng)而操作。 例如,HDFS 6108可以是基于文件分配表(FAT)的文件系統(tǒng)。然而,在其他實(shí)施例中, HDFS 6108可以是基于ext2、ext3、NTFS和JFFS等的文件系統(tǒng)。由此,盡管可通過其 他文件系統(tǒng)實(shí)踐本發(fā)明,但下面的描述集中在基于FAT的文件系統(tǒng)的實(shí)施例。例如,F(xiàn)AT 文件系統(tǒng)可以是本領(lǐng)域中已知的FAT-16或FAT-32文件系統(tǒng)。在所述實(shí)施例中,HDFS 6108可使用采用邏輯接口或物理接口的大容量存儲路 徑,如大容量存儲路徑6107,向LSD 6104發(fā)出LSD塊命令6112?,F(xiàn)有大容量存儲驅(qū)動 器6110進(jìn)而可通過HD/LSD接口 6106向LSD 6104傳遞LSD塊命令6112。為了利用在 LSD 6104中存儲的數(shù)據(jù)的對象表示法,HD 6102可利用基于對象(OB)的接口 6109 (其 可被配置為邏輯接口或物理接口),其被配置為在HD/LSD存儲(物理)接口 /總線6106 上向LSD 6104傳送對象相關(guān)命令6113。預(yù)期OB接口 6109可在驅(qū)動器級或OS級甚至 在應(yīng)用級(在該情況下,它將部分地使用大容量存儲路徑6107)上集成。在所述實(shí)施例 中,OB接口 6109可利用邏輯IP(因特網(wǎng)協(xié)議)網(wǎng)絡(luò)接口,在該情況下,OB接口 6109 可使用通常在IP上定義的基于對象的協(xié)議(例如IP上的SQL或IP上的MTP等)傳送應(yīng) 用。
HD 6102還可包括主機(jī)應(yīng)用6114,其可利用HDFS 6108和現(xiàn)有大容量存儲驅(qū)動 器6110來與LSD 6104通信。主機(jī)應(yīng)用6114可包括被布置為提供核心服務(wù)(播放媒體文 件、顯示圖像等)的核心應(yīng)用6118和被布置為提供可用來在管理和/或執(zhí)行LSD6104中 存儲的內(nèi)容時(shí)幫助主機(jī)應(yīng)用6114的輔助服務(wù)(關(guān)鍵字搜索、修改播放列表等)的輔助服 務(wù)應(yīng)用6120。應(yīng)注意,輔助服務(wù)也可從LSD 6104運(yùn)行,而無需主機(jī)應(yīng)用6114的支持。 以此方式,在認(rèn)為合適的情況下,LSD 6104可獨(dú)立于HD 6102或在HD 6102的支持下提 供它自己的一組輔助服務(wù)。還應(yīng)注意,這樣的輔助服務(wù)可在這里描述的任何級別的架構(gòu) 上操作。例如,應(yīng)用6120可能恰好是操作系統(tǒng)(OS)的一部分。另外,應(yīng)用6120可以 是使用LSD 6104中的存儲數(shù)據(jù)的基于對象的表示法的遠(yuǎn)程應(yīng)用,其中應(yīng)用6120可駐留在 遠(yuǎn)程裝置或與LSD 6104分開但與HD6102/LSD 6104通信的另一 LSD中。LSD 6104可包括控制器6122和被配置(邏輯或物理地)為包括至少第一部分 6126和第二部分6128的存儲陣列6124。應(yīng)注意,存儲陣列6124可由存儲器單元(如閃 存)的陣列形成。在該特定情況下,即使可假設(shè)大容量存儲陣列6124是閃存存儲器單元 的陣列,但本發(fā)明不限于閃存型存儲器單元,因?yàn)轭A(yù)期本發(fā)明可通過任何合適類型的存 儲器單元來使用??刂破?122可包括閃存管理器6130,其可至少管理第一部分6126, 按照HDFS 6108的命令動作。在一種特別有用的布局中,可使用LBA協(xié)議在第一部分 6126中存儲數(shù)據(jù)。因此,第一部分6126中存儲的數(shù)據(jù)塊的位置可使用LBA協(xié)議指定, 其中例如,每個(gè)塊可按照每個(gè)512或1024字節(jié)的量級。以此方式,大容量存儲區(qū)域6126 可完全后向兼容任何所預(yù)期的現(xiàn)有大容量存儲架構(gòu)(即,能夠結(jié)合現(xiàn)有主機(jī)工作)。因 而,LSD 6104可使用現(xiàn)有接口、總線和所有相關(guān)聯(lián)的協(xié)議操作,提供與現(xiàn)有產(chǎn)品的已安裝基礎(chǔ)的完全兼容性。以此方式,大容量存儲區(qū)域126可用來存儲被表示為數(shù)據(jù)對象或 邏輯數(shù)據(jù)塊的數(shù)據(jù)??刂破?122可包括基于對象的管理系統(tǒng)(OBMS) 6132,其被布置為向第二部分 6128提供可用來存儲和檢索(retrieval)表示和對應(yīng)于在大容量存儲區(qū)域6126中存儲的數(shù) 據(jù)對象6136的數(shù)據(jù)對象性質(zhì)信息6134的對象管理服務(wù)。這樣的OBMS 6132的典型例子 可以是數(shù)據(jù)庫管理系統(tǒng)(DBMS),其被設(shè)計(jì)為控制數(shù)據(jù)庫(DB)中的數(shù)據(jù)的組織、存儲、 管理和檢索。OBMS可以響應(yīng)于任何DB查詢/管理語言(如SQL)。因此,可根據(jù)DB 格式或更具體地作為數(shù)據(jù)結(jié)構(gòu)(即,字段、記錄、文件和對象)而在區(qū)域6126中存儲對 象。OBMS 6132可通過在閃存管理器6130的頂部提供邏輯對象管理層,利用閃存管理器 6130訪問/管理區(qū)域6126和6128。然而,在一些實(shí)施例中,OBMS 6132可嵌入與閃存 管理器6130分開的它自己的閃存管理層。OBMS 6132提供的對象管理服務(wù)可包括檢索和存儲與存儲器存儲區(qū)域6126中 存儲的數(shù)據(jù)對象6136相關(guān)聯(lián)的對象性質(zhì)信息。數(shù)據(jù)對象信息可包括數(shù)據(jù)對象信息數(shù)據(jù) 組(dataset)。此外,與區(qū)域6126中存儲的對象相關(guān)聯(lián)的簇/塊的位置也可被當(dāng)作可在區(qū) 域6128中存儲的對象性質(zhì)的一部分。在所述實(shí)施例中,數(shù)據(jù)對象信息數(shù)據(jù)組可提供對象 6136的核心性質(zhì)的概觀。這些核心性質(zhì)可包括例如對象6136的數(shù)據(jù)成分的大小和可用來 關(guān)聯(lián)數(shù)據(jù)對象以及描述裝置上的分層文件系統(tǒng)的對象關(guān)聯(lián)度。應(yīng)注意,數(shù)據(jù)對象性質(zhì)可 提供用于交換與對象本身分離的對象描述信息。對象性質(zhì)的好處之一是允許大存儲的快 速列舉(enumeration),而不考慮文件系統(tǒng)。為了確保在大容量存儲區(qū)域6126中存儲的對象在區(qū)域6128中具有一致的對象表 示法,同步器6138 (其可駐留在LSD 6104或HD 6102中)可用來與大容量存儲區(qū)域6126 中存儲的已更新對象相對應(yīng)地更新區(qū)域6128中存儲的對象性質(zhì)。更新意味著可對大容量 存儲區(qū)域6126中存儲(或要存儲)的數(shù)據(jù)文件執(zhí)行的改變或修改與數(shù)據(jù)對象相關(guān)聯(lián)的任 何特性的任何操作。應(yīng)注意,由OBMS 6132管理且經(jīng)由‘對象表示法’提供的(即,由 同步器6138處理)性質(zhì)的數(shù)目和種類(nature)可由輔助應(yīng)用6120定義或由LSD 6104自 己定義,或由兩者定義。而且,由OBMS 6132管理的對象性質(zhì)根據(jù)對象自身而有較大區(qū) 另O。例如,這樣的對象性質(zhì)可包括名稱、大小、一些的作者、另一些的用戶生成標(biāo)簽、 以及已經(jīng)內(nèi)容已播放的次數(shù)。應(yīng)注意,一旦內(nèi)容被標(biāo)識,如由HD 6102或LSD 6104,則 與該內(nèi)容相關(guān)聯(lián)的不同信息集合可由OBMS 6132管理。同步器6138可執(zhí)行被稱為雙向同步操作的操作。例如,經(jīng) 由大容量存儲路徑 6107傳送的對大容量存儲區(qū)域6126的寫命令可產(chǎn)生能用來經(jīng)由對象(OB)路徑6111讀 取和或操縱的新的或更新的對象。此外,通過OB接口 6109傳送的寫相關(guān)命令(例如, 更新或移動對象)可用于經(jīng)由大容量存儲路徑6107的讀取或操縱。因而,通過OB接口 6109傳送(至少使用驅(qū)動器6110)的基于‘寫’的命令(例如,修改對象、移動對象) 可通過同步器6138與區(qū)域6128同步。因而,當(dāng)寫相關(guān)命令(例如修改或移動對象)使用OB路徑6111經(jīng)由OB路徑 6109傳送到LSD 6104時(shí),對象可被寫入大容量存儲區(qū)域6126,而通過同步器6138在區(qū) 域6128中更新相應(yīng)的性質(zhì)。然而,因?yàn)閰^(qū)域6126由HDFS 6108管理(包括高速緩存關(guān) 于HD 6102的任何FAT信息的管理),所以HDFS 6108將不知道在區(qū)域6126內(nèi)部發(fā)生的任何修改。因而,為了確保在對象被寫入大容量存儲區(qū)域6126中時(shí)最終同步區(qū)域6128 中的性質(zhì),可使用由HDFS 6108識別的使用位于大容量存儲區(qū)域6126中的預(yù)定大小的占 位符(placeholder)的內(nèi)部寫命令。圖27示出了根據(jù)所述實(shí)施例的同步器6138的具體實(shí)施例。同步器6138可耦連 到HD 6102和LSD 6104之間的大容量存儲路徑,因而能夠觀察從HD 6102向LSD 6104 傳遞的任何LSD塊命令6112。在所述實(shí)施例中,LSD塊命令6112是基于FAT塊的命 令,其可包數(shù)據(jù)部分62-2中的信息和數(shù)據(jù),并且可包括指示控制器要執(zhí)行的操作的類型 (讀、寫、復(fù)制等)的命令指示部分6204。同步器6138可至少包括對象性質(zhì)提取單元 6210,其被布置為提取對象的顯著性質(zhì)。提取單元6210可提取被傳遞給信息單元6212 的合適的對象性質(zhì)(文件名、格式、文件大小等)。在任何時(shí)間,更新的信息可被傳遞給 HDFS 6108,其隨后可標(biāo)識和更新區(qū)域6128中的合適的數(shù)據(jù)對象性質(zhì)。此外,當(dāng)數(shù)據(jù)被寫入大容量存儲區(qū)域6126時(shí),因?yàn)橥狡?138 了解寫入大容量 存儲區(qū)域6126的數(shù)據(jù)的‘FAT結(jié)構(gòu)’,所以同步器6138可觀察LSD塊命令6112并‘即 時(shí)(on the fly)’標(biāo)識和更新對象性質(zhì)。例如,數(shù)據(jù)提取單元6210可采用使用數(shù)據(jù)收集 器6210的形式。使用數(shù)據(jù)收集器6210可觀察命令6112,并基于它確定數(shù)據(jù)訪問特性表 述,例如要在存儲區(qū)域6128中存儲為性質(zhì)的使用計(jì)數(shù)器。盡管命令6112被提供給按照 HDFS 6208的命令動作的控制器6122的閃存管理器6130,但在其他例子中,命令或其他 信號不作為HDFS操作的結(jié)果而從HD 6102提供給LSD 6104。例如,這樣的命令或其他 信號可基于其他操作而提供,如不是作為HDFS操作的結(jié)果的驅(qū)動器級操作。數(shù)據(jù)訪問 特性表述6206可由使用數(shù)據(jù)收集器6210基于讀和/或?qū)懖僮鞯念l率而推斷出來,以表述 數(shù)據(jù)訪問的特性。在任何情況下,同步器6138可異步或在后臺操作,并且從區(qū)域6126讀取以標(biāo)識 需要同步的任何性質(zhì)。圖28示出了執(zhí)行核心服務(wù)(如讀取MP3文件)的核心應(yīng)用6118,其需要通過由 大容量存儲路徑6107傳送到LSD 6104的讀命令6302而讀取大容量存儲區(qū)域6126中存儲 的數(shù)據(jù)。同步器6138確定因?yàn)樗L問對象的性質(zhì)沒有改變,因而不需要通過OBMS 6132 更新區(qū)域6128中的相應(yīng)性質(zhì)(除非例如更新計(jì)數(shù)器)。圖29例示了 HD 6102已經(jīng)發(fā)出寫命令6402 (或?qū)⑹沟眯薷拇笕萘看鎯^(qū)域6126 中存儲的對象的任何其他命令)的情形,其中寫命令6402通過大容量存儲路徑6107傳送 到LSD 6104。同步器6138觀察到與大容量存儲區(qū)域6126中的對象相關(guān)聯(lián)的性質(zhì)將通過 執(zhí)行命令6108而修改,并通過使得OBMS 6132更新區(qū)域6128中存儲的對象性質(zhì)而進(jìn)行 響應(yīng)。應(yīng)注意,同步器6138還可通過周期性地規(guī)律地讀入大容量存儲區(qū)域6126而規(guī)律 地檢查(例如,在后臺中)大容量存儲區(qū)域6126中的內(nèi)容的狀態(tài),以確定其中存儲的對 象是否已發(fā)生任何修改。在一些實(shí)施例中,同步器6138可標(biāo)識大容量存儲區(qū)域6126的 模式,并基于那些模式得出大容量存儲區(qū)域6126中存儲的對象的性質(zhì)。在任何情況下, OBMS 6132更新在存儲區(qū)域6128中存儲的合適的對象性質(zhì)。圖30例示了代表根據(jù)所述實(shí)施例之一的過程6500的流程圖。過程6500從6502 開始,提供數(shù)據(jù)存儲陣列。在6504,然后,邏輯數(shù)據(jù)塊形式的數(shù)據(jù)被提供給數(shù)據(jù)存儲陣 列。在6506,通過第一邏輯接口管理邏輯數(shù)據(jù)塊。在6508,對應(yīng)于邏輯數(shù)據(jù)塊的數(shù)據(jù)對象被提供給數(shù)據(jù)存儲陣列。在6510,通過第二邏輯接口管理數(shù)據(jù)對象。在6512,通 過第一接口修改被存儲為邏輯數(shù)據(jù)塊的數(shù)據(jù)。在6514,通過第二接口和第一接口使得能 訪問修改的數(shù)據(jù)。在6516,與6514同時(shí),管理一組預(yù)定的對象性質(zhì)。圖31示出了例示一般在主機(jī)裝置204中找到的其他組件的代表性系統(tǒng)900。系統(tǒng) 900包括中央處理單元(CPU) 910、隨機(jī)存取存儲器(RAM) 920、只讀存儲器(ROM) 930 和主要存儲裝置940和950。如本領(lǐng)域中公知的,ROM 930用來向CPU 910單向傳輸數(shù) 據(jù)和指令,而RAM 920 —般用來按雙向方式傳輸數(shù)據(jù)和指令。CPU 910通常可包括多個(gè) 處理器。主要存儲裝置940和950兩者均可包括任何合適的計(jì)算機(jī)可讀介質(zhì)。CPU 910 還耦連到計(jì)算機(jī)硬件和軟件領(lǐng)域中的技術(shù)人員所熟悉的一個(gè)或多個(gè)輸入/輸出裝置960。在所述實(shí)施例中,移動裝置(例如,便攜式媒體裝置)可彼此通信。這種通信 的類型可稱為點(diǎn)對點(diǎn)(peer-to-peer)交互。因此,一個(gè)移動裝置可直接與另一移動裝置通 信(例如,單播)。在另一例子中,一個(gè)移動裝置可向多個(gè)其他移動裝置通信(例如,廣 播、任播(anycast)或多播)。在點(diǎn)對點(diǎn)環(huán)境下,一個(gè)移動裝置可與緊鄰的一個(gè)或多個(gè)其 他電子裝置(無論移動或固定的)通信。當(dāng)這樣的通信可用時(shí),可進(jìn)行數(shù)據(jù)共享。數(shù)據(jù)傳輸可能在移動裝置和計(jì)算裝置如家庭計(jì)算機(jī)或另一移動裝置之間。典型 地,移動裝置和計(jì)算裝置將與具體用戶相關(guān)聯(lián)。例如,當(dāng)移動裝置在家庭計(jì)算機(jī)(或家 庭網(wǎng)絡(luò))的范圍內(nèi)時(shí),可在移動裝置和家庭計(jì)算機(jī)之間進(jìn)行數(shù)據(jù)傳輸。數(shù)據(jù)傳輸還可能 是在兩個(gè)或更多個(gè)移動裝置之間,或者在兩個(gè)或更多個(gè)非移動裝置之間。數(shù)據(jù)傳輸可以 是自動的,無需任何用戶動作,或者可替換地,可以需要用戶的手動許可。網(wǎng)絡(luò)裝置可 經(jīng)由標(biāo)識號或其他合適的機(jī)制而相互關(guān)聯(lián)。能夠接收、傳送和/或存儲數(shù)據(jù)的移動裝置或非移動裝置可稱為“數(shù)據(jù)裝 置”。數(shù)據(jù)到達(dá)數(shù)據(jù)裝置的方式可取決于實(shí)現(xiàn)方式。例如,數(shù)據(jù)可直接傳輸?shù)綌?shù)據(jù)裝 置,或者數(shù)據(jù)可間接傳輸?shù)綌?shù)據(jù)裝置。例如,數(shù)據(jù)傳輸可以是在一個(gè)數(shù)據(jù)裝置到另一數(shù) 據(jù)裝置之間??商鎿Q地,一個(gè)數(shù)據(jù)裝置可使得另一數(shù)據(jù)裝置向接收方數(shù)據(jù)裝置傳輸期望 的數(shù)據(jù)。共享數(shù)據(jù)可通過文件傳輸或流傳輸(streaming)而傳輸?shù)浇邮辗窖b置。所傳輸?shù)?數(shù)據(jù)可由一個(gè)或多個(gè)數(shù)據(jù)裝置接收。數(shù)據(jù)裝置的例子包括媒體播放器、PDA、揚(yáng)聲器單 元、無線發(fā)射器/接收器單元等。數(shù)據(jù)裝置的用戶還可通過數(shù)據(jù)共享創(chuàng)建和分發(fā)內(nèi)容。 流傳輸可能是有限的,以便限制同時(shí)接收數(shù)據(jù)的數(shù)據(jù)裝置的數(shù)目。另一方面,如果數(shù)據(jù) 裝置的用戶是流內(nèi)容的訂戶(即,有訂閱),則流傳輸對于訂戶可以是無限制的。還可實(shí) 現(xiàn)管理(包括存儲)與媒體項(xiàng)目元數(shù)據(jù)相關(guān)聯(lián)的媒體項(xiàng)目內(nèi)容的某部分,以有助于媒體項(xiàng) 目內(nèi)容的流傳輸。例如,用戶甚至可能在剩余內(nèi)容的流傳輸開始之前開始播放這樣的媒 體項(xiàng)目內(nèi)容的先前存儲的部分。數(shù)據(jù)可在購買之后共享。例如,接收方可能從遠(yuǎn)程服務(wù)器購買數(shù)據(jù)。遠(yuǎn)程服務(wù) 器則會使得所購買的數(shù)據(jù)傳遞到接收方的數(shù)據(jù)裝置??蓪?shí)時(shí)地進(jìn)行購買,或者可推遲到 之后的時(shí)間點(diǎn)。此后,所購買的數(shù)據(jù)可從接收方的數(shù)據(jù)裝置共享到另一數(shù)據(jù)裝置。例如,在工作環(huán)境或其他網(wǎng)絡(luò)環(huán)境中,當(dāng)用戶進(jìn)入雇主的辦公室工作時(shí),用戶 的移動裝置可將數(shù)據(jù)傳輸?shù)接脩舻墓ぷ饔?jì)算機(jī)或辦公室的網(wǎng)絡(luò)服務(wù)器。數(shù)據(jù)傳輸可以是 自動的,無需任何用戶動作,或者可替換地,可需要用戶的手動許可。移動裝置的用戶還可與同事或網(wǎng)絡(luò)的其他用戶的移動裝置通信,以交換數(shù)據(jù)。無論何種具體環(huán)境,數(shù)據(jù)傳輸可以是無線的??赏ㄟ^無線網(wǎng)絡(luò)幫助無線數(shù)據(jù)傳 輸。一個(gè)移動裝置可能無線地以單播方式將數(shù)據(jù)從一個(gè)移動裝置傳送到另一移動裝置或 固定計(jì)算裝置。另外,一個(gè)移動裝置可能無線地以多播或廣播方式將數(shù)據(jù)傳送到多個(gè)其 他移動裝置。應(yīng)注意,任何家庭服務(wù)器計(jì)算機(jī)可位于計(jì)算裝置200所屬的網(wǎng)絡(luò)中的多個(gè) 其他數(shù)據(jù)存儲裝置中的任一個(gè)上。本發(fā)明的優(yōu)點(diǎn)有多個(gè)。不同的實(shí)施例或?qū)崿F(xiàn)方式可產(chǎn)生以下優(yōu)點(diǎn)中的一個(gè)或多 個(gè)。本發(fā)明的一個(gè)優(yōu)點(diǎn)是可添加或移除現(xiàn)有裝置,而無需修改系統(tǒng)硬件。本發(fā)明的另 一優(yōu)點(diǎn)是它可與任何主機(jī)計(jì)算機(jī)一起使用,而不進(jìn)行修改,因而降低了成本并增加了本 發(fā)明的實(shí)用性。本發(fā)明的另一優(yōu)點(diǎn)是可索引LSD中的數(shù)據(jù),而無需考慮修改HD的功能 性。另外,索引可與具體LSD相關(guān)聯(lián),即使LSD與多個(gè)HD—起使用。從所撰寫的說明書可清楚本發(fā)明的許多特征和優(yōu)點(diǎn),由此,想要由所附權(quán)利要 求覆蓋本發(fā)明的所有這樣的特征和優(yōu)點(diǎn)。另外,因?yàn)閷τ诒绢I(lǐng)域技術(shù)人員而言可進(jìn)行多 種修改和改變,所以不期望將本發(fā)明限于所示和所述的構(gòu)造和操作。因此,所有合適的 修改和等價(jià)物可被采用為落入本發(fā)明的范圍。
5權(quán)利要求
1.一種LSD,包括存儲器陣列,被邏輯地布置為包括至少第一部分和至少第二部分,其中第一和第二 部分彼此獨(dú)立,以及其中第一應(yīng)用管理第一部分中的第一應(yīng)用內(nèi)容,以及其中第二應(yīng)用 管理第二部分中的第二應(yīng)用內(nèi)容,其中第一和第二應(yīng)用彼此獨(dú)立地執(zhí)行,以及其中第一 應(yīng)用對第一應(yīng)用內(nèi)容的管理獨(dú)立于第二應(yīng)用對第二應(yīng)用內(nèi)容的管理,以及其中LSD向第 二應(yīng)用告知在第一部分中存儲的第一應(yīng)用內(nèi)容,其中LSD的告知獨(dú)立于主機(jī)裝置(HD), 其中基于第一應(yīng)用內(nèi)容管理策略而進(jìn)行第一應(yīng)用的管理,以及其中基于第二應(yīng)用內(nèi)容管 理策略而進(jìn)行第二應(yīng)用的管理。
2.如權(quán)利要求1所述的LSD,其中第二應(yīng)用使用由LSD提供給第二應(yīng)用的在第一部 分中存儲的第一應(yīng)用內(nèi)容的信息,推導(dǎo)出第一應(yīng)用內(nèi)容管理策略,其中第二應(yīng)用使用所 推導(dǎo)出的第一應(yīng)用內(nèi)容管理策略更新第二應(yīng)用內(nèi)容管理策略。
3.如權(quán)利要求2所述的LSD,其中第二應(yīng)用使用更新的第二應(yīng)用內(nèi)容管理策略預(yù)測即 將到來的第一應(yīng)用管理操作,以及其中第二應(yīng)用基于所預(yù)測的即將到來的第一應(yīng)用管理 操作,發(fā)起第二部分管理操作。
4.如前述任一權(quán)利要求所述的LSD,其中LSD與HD通信,其中HD包括主機(jī)裝置 文件系統(tǒng)(HDFS),以及其中LSD的告知獨(dú)立于HDFS。
5.如權(quán)利要求1-3任一個(gè)所述的LSD,其中第一部分由HDFS管理,其中第一應(yīng)用 使用HDFS管理第一部分中的第一應(yīng)用內(nèi)容,其中第二部分不由HDFS管理,以及其中 HDFS看不到第二部分。
6.如權(quán)利要求1-3任一個(gè)所述的LSD,其中主機(jī)裝置(HD)包括HD用來建立通信路 徑的網(wǎng)絡(luò)接口,第二部分通過所述通信路徑訪問網(wǎng)絡(luò),其中一旦HD建立所述通信路徑, 則除了維護(hù)所述通信路徑之外HD不再介入,其中第一應(yīng)用是瀏覽器高速緩存管理器,以 及其中第二應(yīng)用是代理器高速緩存管理器。
7.如權(quán)利要求6所述的LSD,其中第二部分至少包括由代理器高速緩存管理器管理的 代理器高速緩存,其中代理器高速緩存管理器根據(jù)代理器高速緩存管理策略管理代理器 高速緩存中的代理器高速緩存內(nèi)容。
8.如權(quán)利要求7所述的LSD,其中第一部分至少包括由瀏覽器高速緩存管理器管理的 瀏覽器高速緩存,其中瀏覽器高速緩存管理器根據(jù)瀏覽器高速緩存管理策略管理瀏覽器 高速緩存中的瀏覽器高速緩存內(nèi)容,其中代理器高速緩存管理器基于LSD提供的關(guān)于瀏覽器高速緩存內(nèi)容的信息,修改 代理器高速緩存管理策略,其中代理器高速緩存管理器使用修改的代理器高速緩存管理 策略預(yù)測瀏覽器高速緩存操作,以及其中代理器高速緩存管理器使用所預(yù)測的瀏覽器高 速緩存操作更新代理器高速緩存內(nèi)容。
9.一種計(jì)算系統(tǒng),包括主機(jī)裝置,其包括主機(jī)裝置文件系統(tǒng)(HDFS)和網(wǎng)絡(luò)接口 ;本地存儲裝置LSD,包括存儲器陣列,被邏輯地布置為包括至少第一部分和至少第二部分,其中第一和第二 部分彼此獨(dú)立,其中第一部分由HDFS管理從而第一應(yīng)用使用HDFS管理第一部分中的第 一應(yīng)用內(nèi)容,以及其中第二部分不由HDFS管理從而HDFS看不到第二部分,其中第一和第二應(yīng)用彼此獨(dú)立地執(zhí)行,以及其中第一應(yīng)用對第一應(yīng)用內(nèi)容的管理獨(dú)立于第二應(yīng)用 對第二應(yīng)用內(nèi)容的管理,以及其中LSD向第二應(yīng)用告知在第一部分中存儲的第一應(yīng)用內(nèi) 容,其中HDFS看不到所述告知,以及其中基于第一應(yīng)用內(nèi)容管理策略而進(jìn)行第一應(yīng)用 的管理,以及其中基于第二應(yīng)用內(nèi)容管理策略而進(jìn)行第二應(yīng)用的管理,以及其中第二應(yīng) 用使用由LSD提供給第二應(yīng)用的在第一部分中存儲的第一應(yīng)用內(nèi)容的信息,推導(dǎo)出第一 應(yīng)用內(nèi)容管理策略。
10.如權(quán)利要求9所述的計(jì)算系統(tǒng),其中第二應(yīng)用使用所推導(dǎo)出的第一應(yīng)用內(nèi)容管理 策略更新第二應(yīng)用內(nèi)容管理策略。
11.如權(quán)利要求10所述的計(jì)算系統(tǒng),其中第二應(yīng)用使用更新的第二應(yīng)用內(nèi)容管理策略 預(yù)測即將到來的第一應(yīng)用管理操作,以及其中第二應(yīng)用基于所預(yù)測的即將到來的第一應(yīng) 用操作,發(fā)起第二部分操作,以及其中主機(jī)裝置(HD)包括HD用來幫助對第二部分的網(wǎng) 絡(luò)訪問的網(wǎng)絡(luò)接口。
12.如權(quán)利要求11所述的計(jì)算系統(tǒng),其中第一應(yīng)用是瀏覽器高速緩存管理器,以及其 中第二應(yīng)用是代理器高速緩存管理器。
13.如權(quán)利要求12所述的計(jì)算系統(tǒng),其中第二部分至少包括由代理器高速緩存管理器 管理的代理器高速緩存,其中代理器高速緩存管理器根據(jù)代理器高速緩存管理策略管理 代理器高速緩存中的代理器高速緩存內(nèi)容。
14.如權(quán)利要求13所述的計(jì)算系統(tǒng),其中第一部分至少包括由瀏覽器高速緩存管理器 管理的瀏覽器高速緩存,其中瀏覽器高速緩存管理器根據(jù)瀏覽器高速緩存管理策略管理 瀏覽器高速緩存中的瀏覽器高速緩存內(nèi)容,其中代理器高速緩存管理器基于LSD提供的 關(guān)于瀏覽器高速緩存內(nèi)容的信息,修改代理器高速緩存管理策略,其中代理器高速緩存 管理器使用修改的代理器高速緩存管理策略預(yù)測瀏覽器高速緩存操作,其中代理器高速 緩存管理器使用所預(yù)測的瀏覽器高速緩存操作,更新代理器高速緩存內(nèi)容。
全文摘要
描述了用于提供分布式存儲服務(wù)的各種方法、裝置和系統(tǒng)。數(shù)據(jù)存儲裝置能夠與諸如直接耦連到該數(shù)據(jù)存儲裝置的本地主機(jī)計(jì)算機(jī)(反之亦然)、遠(yuǎn)程服務(wù)器計(jì)算機(jī)發(fā)起通信會話,或者經(jīng)過或不經(jīng)過本地主機(jī)計(jì)算機(jī)介入地直接與遠(yuǎn)程數(shù)據(jù)存儲裝置發(fā)起通信會話。
文檔編號G06F12/08GK102012790SQ20101050626
公開日2011年4月13日 申請日期2008年12月19日 優(yōu)先權(quán)日2008年1月2日
發(fā)明者喬斯·C·桑托斯加西亞, 伊扎克·波梅蘭茨, 奧里·斯特恩, 安東尼奧·M·洛佩斯馬丁, 米查·拉維, 阿蘭·諾奇莫斯基, 阿朗·馬庫, 阿米爾·莫塞克 申請人:桑迪士克以色列有限公司