本發(fā)明涉及一種用于管理包括異構(gòu)存儲器的電子裝置的存儲器的方法以及一種包括該方法的電子裝置。
背景技術(shù):
近期開發(fā)的電子裝置(諸如智能電話、平板PC、PMP(便攜式多媒體播放器)、PDA(個人數(shù)字助理)、膝上型PC和可穿戴裝置)除了具備可移動性之外,還可執(zhí)行各種功能,諸如游戲、SNS(社交網(wǎng)絡(luò)服務(wù))、互聯(lián)網(wǎng)以及獲取和執(zhí)行多媒體圖像和移動圖像。
這種電子裝置消耗低水平的電力以使得可被長時間攜帶且可包括用于實(shí)現(xiàn)高性能的處理器和存儲裝置,從而使得可執(zhí)行需要高性能的功能(例如,游戲、移動圖像回放)。正在研究包括在電子裝置中的、在存儲裝置與處理器之間的各種類型的接口以實(shí)現(xiàn)低功耗和高性能。
例如,電子裝置可包括至少一個異構(gòu)存儲器以實(shí)現(xiàn)低功耗和高性能。
用于通過處理器訪問存儲器接口的常規(guī)方法包括UMA(均勻存儲器訪問)和NUMA(非均勻存儲器訪問)。UMA方法將資源均勻地分配到存儲器,而不管資源的特性和目的如何。
技術(shù)實(shí)現(xiàn)要素:
技術(shù)方案
相關(guān)技術(shù)的存儲器管理方法不支持對具有不同特性的異構(gòu)存儲裝置的管理。相關(guān)技術(shù)的存儲器管理方法僅響應(yīng)于存儲器分配請求分配在整個存儲器空間中的自由空間。自由空間指在整個存儲器空間中未使用的空間。因此,根據(jù)相關(guān)技術(shù)的存儲器管理方法,在不從異構(gòu)存儲裝置選擇特定存儲裝置的情況下,無法執(zhí)行存儲器分配。
本公開的各方面是用于至少解決上述問題和/或缺點(diǎn)并至少提供下述有益效果。相應(yīng)地,本公開的一個方面為提供一種用于管理包括異構(gòu)存儲器的電子裝置的存儲器的方法,使得能根據(jù)數(shù)據(jù)類型和目的將數(shù)據(jù)分配到異構(gòu)存儲器。
根據(jù)本公開的一方面,提供了一種用于管理電子裝置的存儲器的方法。所述方法包括以下操作:分析待存儲的數(shù)據(jù);基于第一存儲器的類型、第二存儲器的類型和預(yù)設(shè)策略確定用于存儲所述數(shù)據(jù)的一部分或全部的存儲器;以及在所確定的存儲器中存儲所述數(shù)據(jù)的一部分或全部。
根據(jù)本公開的另一方面,提供了一種用于管理電子裝置的存儲器的方法。所述方法包括以下操作:確定與第一存儲器和第二存儲器相關(guān)聯(lián)的存儲器信息;以及配置用于將基于存儲器信息分配到第一存儲器和第二存儲器的三個或更多區(qū)域的區(qū)域信息。
根據(jù)本公開的另一方面,提供了一種用于管理電子裝置的存儲器的方法。所述方法包括以下操作:識別插入電子裝置中的添加的存儲器;訪問區(qū)域配置策略;確定將基于區(qū)域配置策略和存儲器信息分配到添加的存儲器的區(qū)域;以及基于所述確定配置區(qū)域信息。
根據(jù)本公開的另一方面,提供了一種電子裝置。所述電子裝置包括存儲器和控制器,控制器配置成:分析待存儲的數(shù)據(jù);基于第一存儲器的類型、第二存儲器的類型和預(yù)設(shè)策略確定用于存儲所述數(shù)據(jù)的一部分或全部的存儲器;以及在所確定的存儲器中存儲所述數(shù)據(jù)的一部分或全部。
根據(jù)本公開的另一方面,提供了一種電子裝置。所述電子裝置包括:第一存儲器;狹槽,配置成接納第二存儲器;以及控制器,配置成確定與第一存儲器和第二存儲器相關(guān)聯(lián)的存儲器信息以及配置關(guān)于將基于存儲器信息分配到第一存儲器和第二存儲器的三個或更多區(qū)域的區(qū)域信息。
根據(jù)本公開的另一方面,提供了一種電子裝置。所述電子裝置包括第一存儲器和控制器,控制器被配置成:識別添加到電子裝置的第二存儲器;訪問區(qū)域配置策略;確定將基于區(qū)域配置策略和存儲器信息分配到第二存儲器的區(qū)域;以及基于確定結(jié)果配置區(qū)域信息。
本公開根據(jù)資源特性和目的將資源分配到異構(gòu)存儲器,從而優(yōu)化對包括在電子裝置內(nèi)的異構(gòu)存儲器的使用率。
另外,本公開根據(jù)資源特性和目的將資源分配到異構(gòu)存儲器,從而改善電子裝置的運(yùn)行性能。
根據(jù)結(jié)合附圖公開了本公開的各種實(shí)施方式的下列詳細(xì)描述,本公開的其他方面、有益效果和顯著特征對本領(lǐng)域技術(shù)人員而言將變得明顯。
附圖說明
根據(jù)結(jié)合附圖的下列描述,本公開的某些實(shí)施方式的上述和其他方面、特征和有益效果將更加明顯,其中:
圖1為根據(jù)本公開的各種實(shí)施方式的包括電子裝置的網(wǎng)絡(luò)環(huán)境的示圖;
圖2為根據(jù)本公開的各種實(shí)施方式的電子裝置的框圖;
圖3為示出根據(jù)本公開的各種實(shí)施方式的在電子裝置之間的通信協(xié)議的示圖;
圖4為示出根據(jù)本公開的各種實(shí)施方式的電子裝置存儲器管理系統(tǒng)的框圖;
圖5為執(zhí)行根據(jù)本公開的各種實(shí)施方式的電子裝置存儲器管理方法的流程圖;
圖6為根據(jù)本公開的各種實(shí)施方式的電子裝置存儲器管理方法的示圖;
圖7為根據(jù)本公開的各種實(shí)施方式的電子裝置存儲器管理方法的示圖;
圖8為根據(jù)本公開的各種實(shí)施方式的電子裝置存儲器管理方法的示圖;
圖9為示出根據(jù)本公開的各種實(shí)施方式的在異構(gòu)存儲器與處理器之間的連接結(jié)構(gòu)的示圖;
圖10為示出根據(jù)本公開的各種實(shí)施方式的存儲器堆疊結(jié)構(gòu)的示圖;
圖11為執(zhí)行根據(jù)本公開的各種實(shí)施方式的區(qū)域設(shè)置方法的流程圖;
圖12為示出根據(jù)本公開的各種實(shí)施方式的存儲器信息的示圖;
圖13為示出根據(jù)本公開的各種實(shí)施方式的區(qū)域結(jié)構(gòu)的示圖;
圖14為示出根據(jù)本公開的各種實(shí)施方式的區(qū)域信息的示圖;
圖15為執(zhí)行根據(jù)本公開的各種實(shí)施方式的區(qū)域設(shè)置方法的流程圖;
圖16為示出根據(jù)本公開的各種實(shí)施方式的區(qū)域配置策略表的示圖;
圖17為示出根據(jù)本公開的各種實(shí)施方式的應(yīng)用處理器的配置的框圖;以及
圖18為執(zhí)行根據(jù)本公開的各種實(shí)施方式的電子裝置存儲器管理方法的流程圖。
應(yīng)當(dāng)注意,在所有附圖中,相同的附圖標(biāo)記用于描述相同或相似的元件、特征和結(jié)構(gòu)。
具體實(shí)施方式
提供參考附圖的下列描述以幫助全面理解由權(quán)利要求及其等同物所限定的本公開的各種實(shí)施方式。其包括各種具體細(xì)節(jié)以幫助理解,但應(yīng)將這些具體細(xì)節(jié)視為僅僅是示例性的。因此,本領(lǐng)域的普通技術(shù)人員將認(rèn)識到,在不脫離本公開的范圍和精神的情況下,可以對本文所述的各種實(shí)施方式進(jìn)行各種改變和修改。另外,為了清楚和簡明,可省略對公知功能和構(gòu)造的描述。
在下列描述和權(quán)利要求中使用的術(shù)語和詞語不限于書面意義,而是僅由本發(fā)明人用于使得本公開能夠被清楚和一致地理解。相應(yīng)地,對于本領(lǐng)域技術(shù)人員來說顯而易見的是,提供對本公開的各種實(shí)施方式的下列描述僅用于說明,而不用于限制如通過所附權(quán)利要求及其等同物限定的本公開。
應(yīng)當(dāng)理解,除非上下文另有明確規(guī)定外,單數(shù)形式“一個”、“一種”和“所述”包括復(fù)數(shù)對象。因此,例如,對“組件表面”的引述包括對一個或多個這種表面的引述。
根據(jù)本公開的電子設(shè)備可以是具有通信功能的設(shè)備。例如,根據(jù)本公開的電子裝置可以是智能電話、平板個人計算機(jī)(PC)、移動電話、視頻電話、電子書(e-book)閱讀器、臺式PC、膝上型PC、上網(wǎng)本計算機(jī)、個人數(shù)字助理(PDA)、便攜式多媒體播放器(PMP)、MP3播放器、移動醫(yī)療器械、電子手環(huán)、電子項(xiàng)鏈、電子附件、相機(jī)、可穿戴裝置、電子時鐘、手表、家用電器(例如冰箱、空調(diào)、清潔器、烤箱、微波爐、洗衣機(jī)、空氣凈化器等)、人工智能機(jī)器人、電視、數(shù)字通用光盤(DVD)播放器、音頻播放器、各種醫(yī)療器械(例如磁共振血管造影(MRA)裝置、磁共振成像(MRI)裝置、計算機(jī)斷層攝影(CT)裝置、超聲成像裝置等)、導(dǎo)航裝置、全球定位系統(tǒng)(GPS)接收器、事件數(shù)據(jù)記錄器(EDR)、飛行數(shù)據(jù)記錄器(FDR)、機(jī)頂盒、電視(TV)盒(例如三星電子有限公司的HomeSyncTM、Apple TVTM和Google TvTM)、電子詞典、用于車輛的信息娛樂裝置、用于船舶的電子設(shè)備(例如導(dǎo)航裝置、陀螺羅盤等)、航空電子裝置、安全裝置、電子服裝、電子鑰匙、攝錄機(jī)、游戲機(jī)、頭戴式顯示(HMD)單元、平板顯示裝置、電子相框、電子相冊、具有通信功能的家具和/或建筑物/結(jié)構(gòu)的一部分、電子板、電子簽名接收裝置和保護(hù)器中的至少一種和/或其組合。對于本領(lǐng)域技術(shù)人員來說顯而易見的是根據(jù)本公開的電子裝置并不限于上述裝置。
圖1為根據(jù)本公開的實(shí)施方式的包括電子裝置的網(wǎng)絡(luò)環(huán)境的示圖。
參考圖1,電子裝置100可包括總線110、處理器120、存儲器130、輸入/輸出(I/O)模塊140、顯示模塊150和通信模塊160。
總線110可以是用于互連上述元件并允許在上述元件之間進(jìn)行通信(例如傳送控制消息)的電路。
處理器120可通過例如總線110從上述其他元件(例如存儲器130、I/O模塊140、顯示模塊150和通信模塊160)接收命令,可解碼所接收的命令并根據(jù)解碼的命令執(zhí)行操作和/或數(shù)據(jù)處理。
存儲器130可存儲從處理器120和/或其它元件(例如I/O模塊140、顯示模塊150和通信模塊160)接收的命令和/或由處理器120和/或其他元件產(chǎn)生的命令和/或數(shù)據(jù)。存儲器130可包括編程模塊,諸如內(nèi)核131、中間件132、應(yīng)用編程接口(API)133和應(yīng)用134。上述編程模塊中的每一個可由軟件、固件、硬件和/或其兩個或更多個的組合來進(jìn)行配置。
內(nèi)核131控制或管理用于執(zhí)行由任何編程模塊(例如中間件132、API 133或應(yīng)用134)實(shí)現(xiàn)的操作或功能的系統(tǒng)資源(例如,總線110、處理器120或存儲器130)。此外,內(nèi)核131提供用于從中間件132、API 133或應(yīng)用134訪問電子裝置101的各個組件以控制或管理組件的接口。
中間件132執(zhí)行允許API 133或應(yīng)用134與內(nèi)核131進(jìn)行通信以交換數(shù)據(jù)的中繼功能。此外,在從應(yīng)用134接收的操作請求中,中間件132通過使用向應(yīng)用134分配優(yōu)先級的方法來執(zhí)行操作請求(例如,調(diào)度或負(fù)載平衡),通過優(yōu)先級來利用系統(tǒng)資源(例如,總線110、處理器120、存儲器130等)。
API 133是這樣一種接口,通過所述接口,應(yīng)用134能控制由內(nèi)核131或中間件132提供的功能且包括,例如,用于文件控制、窗口控制、圖像處理或字符控制的至少一個接口或功能(例如,命令)。
根據(jù)本公開的各種實(shí)施方式,應(yīng)用134可包括短消息服務(wù)(SMS)/多媒體消息服務(wù)(MMS)應(yīng)用、電子郵件應(yīng)用、日歷應(yīng)用、警報應(yīng)用、保健應(yīng)用(例如,測量運(yùn)動量或血糖的應(yīng)用)或環(huán)境信息應(yīng)用(例如,提供關(guān)于大氣壓、濕度或溫度的信息的應(yīng)用)。附加地或可替代地,應(yīng)用134可以是與在電子裝置100與外部電子裝置(例如,電子裝置104)之間的信息交換相關(guān)的應(yīng)用。與信息交換相關(guān)的應(yīng)用可包括,例如,用于將特定信息傳送到外部電子裝置的通知中繼應(yīng)用或用于管理外部電子裝置的裝置管理應(yīng)用。
例如,通知中繼應(yīng)用可包括將由電子裝置100的另一應(yīng)用(例如,SMS/MMS應(yīng)用、電子郵件應(yīng)用、保健應(yīng)用或環(huán)境信息應(yīng)用)產(chǎn)生的通知信息發(fā)送到外部電子裝置(例如,電子裝置104)。附加地或可替代地,通知中繼應(yīng)用可從例如外部電子裝置104接收通知信息并將接收的通知信息提供給用戶。裝置管理應(yīng)用可管理(例如,安裝、移除或更新)與電子裝置100進(jìn)行通信的外部電子裝置104的功能(例如,打開/關(guān)閉外部電子裝置、打開/關(guān)閉外部電子裝置的一些組件或控制顯示器的亮度)、在外部電子裝置104中執(zhí)行的應(yīng)用或由外部電子裝置104提供的服務(wù)(例如,呼叫服務(wù)或消息服務(wù))中的至少一部分。
根據(jù)本公開的各種實(shí)施方式,可根據(jù)外部電子裝置104的屬性(例如,電子裝置的類型)來指定應(yīng)用134。例如,當(dāng)外部電子裝置104為MP3播放器時,應(yīng)用134可包括與音樂播放相關(guān)的應(yīng)用。類似地,當(dāng)外部電子裝置104為移動醫(yī)療裝置時,應(yīng)用134可包括與保健相關(guān)的應(yīng)用。根據(jù)本公開的實(shí)施方式,應(yīng)用134可包括指定給電子裝置101的應(yīng)用和從外部電子裝置(例如,服務(wù)器106或電子裝置104)接收的應(yīng)用中的至少一個。
I/O模塊140通過例如總線110將通過輸入/輸出(I/O)裝置(例如,傳感器、鍵盤或觸摸屏)從用戶輸入的命令或數(shù)據(jù)發(fā)送到處理器120、存儲器130或通信模塊160。例如,I/O模塊140可通過觸摸屏將關(guān)于用戶的觸摸輸入的數(shù)據(jù)提供到處理器120。此外,I/O模塊140可通過I/O模塊(例如,揚(yáng)聲器或顯示器)輸出通過例如總線110從處理器120、存儲器130或通信模塊160接收的命令或數(shù)據(jù)。例如,I/O模塊140可通過揚(yáng)聲器(未示出)輸出通過處理器120處理的語音數(shù)據(jù)。
顯示器150顯示用于用戶的各項(xiàng)信息(例如,多媒體數(shù)據(jù)、文本數(shù)據(jù)等)。
通信模塊160使得能夠在電子裝置100與外部電子裝置(例如,電子裝置104或服務(wù)器106)之間進(jìn)行通信。例如,通信模塊160可通過無線通信或有線通信訪問網(wǎng)絡(luò)162以與電子裝置進(jìn)行通信。無線通信包括例如Wi-Fi、BluetoothTM(BT)、近場通信(NFC)、GPS和蜂窩通信(例如,長期演進(jìn)(LTE)、高級LTE(LTE-A)、碼分多址(CDMA)、寬帶CDMA(WCDMA)、通用移動遠(yuǎn)程通信系統(tǒng)(UMTS)、無線寬帶(WiBro)或全球移動通信系統(tǒng)(GSM))中的至少一種。有線通信可包括例如通用串行總線(USB)、高清晰度多媒體接口(HDMI)、推薦標(biāo)準(zhǔn)232(RS-232)和普通老式電話服務(wù)(POTS)中的至少一種。
根據(jù)本公開的實(shí)施方式,網(wǎng)絡(luò)162可以是遠(yuǎn)程通信網(wǎng)絡(luò)。遠(yuǎn)程通信網(wǎng)絡(luò)包括計算機(jī)網(wǎng)絡(luò)、互聯(lián)網(wǎng)、物聯(lián)網(wǎng)和電話網(wǎng)絡(luò)中的至少一個。根據(jù)本公開的實(shí)施方式,可由應(yīng)用134、API 133、中間件132、內(nèi)核131和通信模塊160中的至少一個來支持用于在電子裝置100與外部裝置之間進(jìn)行通信的協(xié)議(例如,傳輸層協(xié)議、數(shù)據(jù)鏈路層協(xié)議或物理層協(xié)議)。
圖2為根據(jù)本公開的各種實(shí)施方式的電子裝置的框圖。
參考圖2,電子裝置200可配置例如在圖1中所示的電子裝置100的整體或一部分。電子裝置200包括一個或多個應(yīng)用處理器(AP)210、通信模塊220、用戶識別模塊(SIM)卡224、存儲器230、傳感器模塊240、輸入裝置250、顯示器260、接口270、音頻模塊280、相機(jī)模塊291、電源管理模塊295、電池296、指示器297和電機(jī)298。
AP 210操作操作系統(tǒng)(OS)或應(yīng)用程序以控制連接到AP 210的硬件組成元件或軟件組成元件并執(zhí)行包括多媒體數(shù)據(jù)的各種數(shù)據(jù)處理和計算。AP 210可由例如,片上系統(tǒng)(SoC)來實(shí)現(xiàn)。根據(jù)本公開的實(shí)施方式,處理器210還可包括圖形處理單元(GPU)。
通信模塊220(例如,通信接口160)通過網(wǎng)絡(luò)在連接到電子裝置200的不同電子裝置(例如,電子裝置104和服務(wù)器106)之間通信以發(fā)送/接收數(shù)據(jù)。根據(jù)本公開的實(shí)施方式,通信模塊220包括蜂窩模塊221、Wi-Fi模塊223、BT模塊225、GPS模塊227、NFC模塊228和射頻(RF)模塊229。
蜂窩模塊221通過通信網(wǎng)絡(luò)(例如,LTE、LTE-A、CDMA、WCDMA、UMTS、WiBro、GSM等)提供語音、呼叫、視頻呼叫、SMS或互聯(lián)網(wǎng)服務(wù)。此外,蜂窩模塊221可通過使用SIM(例如,SIM卡224)來區(qū)分和認(rèn)證通信網(wǎng)絡(luò)內(nèi)的電子裝置。根據(jù)本公開的實(shí)施方式,蜂窩模塊221執(zhí)行可由AP 210提供的功能中的至少一些。例如,蜂窩模塊221可執(zhí)行多媒體控制功能中的至少一些。
根據(jù)本公開的實(shí)施方式,蜂窩模塊221可包括通信處理器(CP)。此外,蜂窩模塊221可由例如SoC來實(shí)現(xiàn)。
盡管在圖8中諸如蜂窩模塊221(例如,通信處理器)、存儲器230和電源管理模塊295的組件被示為與AP 210相分離的組件,但在本公開的實(shí)施方式中,AP 210可包括前述組件中的至少一些(例如,蜂窩模塊221)。
根據(jù)本公開的實(shí)施方式,AP 210或蜂窩模塊221(例如,CP)可將從連接到AP 210和蜂窩模塊221中的每一個的非易失性存儲器和其他組件中的至少一個接收的命令或數(shù)據(jù)加載到易失性存儲器并處理所加載的命令或數(shù)據(jù)。此外,AP 210或蜂窩模塊221可將從其他組件中的至少一個接收的的數(shù)據(jù)或由其他組件中的至少一個產(chǎn)生的數(shù)據(jù)存儲在非易失性存儲器中。
Wi-Fi模塊223、BT模塊225、GPS模塊227和NFC模塊228中的每一個可包括例如用于處理通過相應(yīng)模塊發(fā)送/接收的數(shù)據(jù)的處理器。雖然在圖2中蜂窩模塊221、Wi-Fi模塊223、BT模塊225、GPS模塊227和NFC模塊228被示為彼此相分離的框,但根據(jù)本公開的實(shí)施方式,蜂窩模塊221、Wi-Fi模塊223、BT模塊225、GPS模塊227和NFC模塊228中的至少一些(例如,兩個或更多)可包括在一個集成芯片(IC)或一個IC封裝中。例如,蜂窩模塊221、Wi-Fi模塊223、BT模塊225、GPS模塊227和NFC模塊228中的至少一些(例如,與蜂窩模塊221對應(yīng)的通信處理器和與Wi-Fi模塊223對應(yīng)的Wi-Fi處理器)可由一個SoC來實(shí)現(xiàn)。
RF模塊229發(fā)送/接收數(shù)據(jù),例如,RF信號。盡管未示出,但RF模塊229可包括例如收發(fā)器、功率放大模塊(PAM)、濾波器、低噪聲放大器(LNA)等。此外,RF模塊229還可包括用于以無線通信的方式在自由空間中發(fā)送/接收電波的組件,例如,導(dǎo)體、導(dǎo)線等。雖然在圖2中蜂窩模塊221、Wi-Fi模塊223、BT模塊225、GPS模塊227和NFC模塊228共享一個RF模塊229,但根據(jù)本公開的實(shí)施方式,蜂窩模塊221、Wi-Fi模塊223、BT模塊225、GPS模塊227和NFC模塊228中的至少一個可通過單獨(dú)的RF模塊發(fā)送/接收RF信號。
SIM卡224為包括SIM的卡且可插入到在電子裝置的一部分中形成的狹槽中。SIM卡224包括唯一的識別信息(例如,集成電路卡識別符(ICCID)或用戶信息(例如,國際移動用戶識別碼(IMSI))。
存儲器230(例如,存儲器130)可包括內(nèi)部存儲器232和外部存儲器234。內(nèi)部存儲器232可包括例如易失性存儲器(例如,隨機(jī)存取存儲器RAM、動態(tài)RAM(DRAM)、靜態(tài)RAM(SRAM)、同步DRAM(SDRAM)等)和非易失性存儲器(例如,只讀存儲器(ROM)、一次性可編程ROM(OTPROM)、可編程ROM(PROM)、可擦除可編程ROM(EPROM)、電可擦除可編程ROM(EEPROM)、掩模ROM、閃速ROM、NAND閃速存儲器、NOR閃速存儲器等)中的至少一個。
根據(jù)本公開的實(shí)施方式,內(nèi)部存儲器232可以是固態(tài)驅(qū)動器(SSD)。外部存儲器234還可包括閃存驅(qū)動器,例如緊湊式閃存(CF)、安全數(shù)字(SD)、微型SD、迷你SD、極限數(shù)字(xD)或記憶棒。外部存儲器234可通過各種接口功能性地連接到電子裝置200。根據(jù)本公開的實(shí)施方式,電子裝置200還可包括存儲裝置(或存儲介質(zhì)),諸如硬盤驅(qū)動器。
傳感器模塊240測量物理量或檢測電子裝置200的操作狀態(tài)并將測量或檢測的信息轉(zhuǎn)換成電信號。傳感器模塊240可包括,例如姿勢傳感器240A、陀螺儀傳感器240B、大氣壓(氣壓)傳感器240C、磁傳感器240D、加速度傳感器240E、握持傳感器240F、接近度傳感器240G、顏色傳感器240H(例如,紅綠藍(lán)(RGB)傳感器)240H、生物計量傳感器240I、溫度/濕度傳感器240J、照明(光)傳感器240K和紫外(UV)傳感器240M中的至少一個。附加地或可替代地,傳感器模塊240可包括,例如電子鼻傳感器、肌電圖(EMG)傳感器、腦電圖(EEG)傳感器、心電圖(ECG)傳感器、紅外(IR)傳感器、虹膜傳感器、指紋傳感器(未示出)等。傳感器模塊240還可包括用于控制包括在傳感器模塊240中的一個或多個傳感器的控制電路。
輸入裝置250包括觸摸面板252、(數(shù)字)筆傳感器254、按鍵256和超聲波輸入裝置258。例如,觸摸面板252可識別以電容型、電阻型、紅外型和聲波型中的至少一種類型的形式的觸摸輸入。觸摸面板252還可包括控制電路。在電容型中,觸摸面板252可識別接近度以及直接觸摸。觸摸面板252還可包括觸覺層以提供對用戶的觸覺反應(yīng)。
例如,(數(shù)字)筆傳感器254可使用與接收用戶的觸摸輸入的方法相同或相似的方法,或者使用單獨(dú)的識別板來實(shí)現(xiàn)。按鍵256可包括,例如,物理按鈕、光學(xué)按鍵或按鍵板。超聲波輸入裝置258可由電子裝置200的麥克風(fēng)(例如,麥克風(fēng)288)通過產(chǎn)生超聲波信號來檢測聲波以識別數(shù)據(jù)并可執(zhí)行無線識別。根據(jù)本公開的實(shí)施方式,電子裝置200使用通信模塊220從連接到電子裝置200的外部裝置(例如,計算機(jī)或服務(wù)器)接收用戶輸入。
顯示器260(例如,顯示器150)包括面板262、全息圖裝置264和投影儀266。面板262可以是例如液晶顯示器(LCD)或有源矩陣有機(jī)發(fā)光二極管(AM-OLED)。面板262可被實(shí)現(xiàn)為例如柔性的、透明的或可穿戴的??捎捎|摸面板252和一個模塊來配置面板262。全息圖裝置264通過使用光的干涉在空中示出立體圖像。投影儀266將光投射在屏幕上以顯示圖像。例如,屏幕可位于電子裝置200的內(nèi)部或外部。根據(jù)本公開的實(shí)施方式,顯示器260還可包括用于控制面板262、全息圖裝置264和投影儀266的控制電路。
接口270包括例如HDMI 272、USB 274、光學(xué)接口276和D-超小型(D-sub)接口278。接口270可包括在例如圖1中所示的通信接口160中。附加地或可替代地,接口270可包括例如移動高清晰度鏈路(MHL)接口、SD卡/多媒體卡(MMC)或紅外數(shù)據(jù)協(xié)議(IrDA)標(biāo)準(zhǔn)接口。
音頻模塊280雙向地轉(zhuǎn)換聲音和電子信號。音頻模塊280中的至少一些組件可包括在例如圖1中所示的I/O模塊140中。音頻模塊280處理通過例如揚(yáng)聲器282、接收器284、耳機(jī)286、麥克風(fēng)288等輸入或輸出的聲音信息。
相機(jī)模塊291可拍攝靜止圖像和視頻。根據(jù)本公開的實(shí)施方式,相機(jī)模塊291可包括一個或多個圖像傳感器(例如,前傳感器或后傳感器)、圖像信號處理器(ISP)(未示出)或閃光燈(例如,LED或氙燈)。
電源管理模塊295管理電子裝置200的電力。盡管未示出,電源管理模塊295可包括例如電源管理集成電路(PMIC)、充電器IC或者電池計或燃油表。
可將PMIC安裝到例如集成電路或SoC半導(dǎo)體??蓪⒊潆姺椒ǚ譃橛芯€方法和無線方法。充電器IC對電池進(jìn)行充電并防止從充電器流出過電壓或過電流。根據(jù)本公開的實(shí)施方式,充電器IC包括用于有線充電方法和無線充電方法中的至少一個的充電器IC。無線充電方法可包括例如磁共振方法、磁感應(yīng)方法和電磁波方法,以及例如可添加用于無線充電的附加電路,諸如線圈回路、諧振電路、整流器等電路。
電池計或燃油表測量例如電池296的剩余電量或在充電期間的電壓、電流或溫度。電池296可存儲或產(chǎn)生電并通過使用存儲或產(chǎn)生的電將電力供給到電子裝置200。電池296可包括可充電電池或太陽能電池。
指示器297示出電子裝置200或電子裝置200的一部分(例如,AP 210)的特定狀態(tài),例如,啟動狀態(tài)、消息狀態(tài)、充電狀態(tài)等。電機(jī)298將電信號轉(zhuǎn)換成機(jī)械振動。
盡管未示出,但是電子裝置200可包括用于支持模塊TV的處理單元(例如,GPU)。用于支持移動TV的處理單元可處理例如根據(jù)數(shù)字多媒體廣播(DMB)、數(shù)字視頻廣播(DVB)、媒體流等標(biāo)準(zhǔn)的媒體數(shù)據(jù)。
根據(jù)本公開的各種實(shí)施方式的電子裝置的組件中的每一個可由一個或多個組件來實(shí)現(xiàn)且相應(yīng)組件的名稱可根據(jù)電子裝置的類型而變化。根據(jù)本公開的各種實(shí)施方式的電子裝置可包括上述組件中的至少一個,可省略組件中的一些或還可包括額外的組件。此外,根據(jù)本公開的各種實(shí)施方式的電子裝置中的一些組件可進(jìn)行組合以形成單個實(shí)體,因此可等效地執(zhí)行在組合前的相應(yīng)組件的功能。
圖3為示出根據(jù)本公開的各種實(shí)施方式的在電子裝置之間的通信協(xié)議的示圖。
參考圖3,例如,通信協(xié)議300可包括裝置發(fā)現(xiàn)協(xié)議301、能力交換協(xié)議303、網(wǎng)絡(luò)協(xié)議305和應(yīng)用協(xié)議307。
根據(jù)本公開的實(shí)施方式,裝置發(fā)現(xiàn)協(xié)議301使電子裝置(例如,電子裝置100和電子裝置104)能夠檢測能與電子裝置進(jìn)行通信的外部裝置或與檢測的外部電子裝置進(jìn)行連接。例如,電子裝置100可通過使用裝置發(fā)現(xiàn)協(xié)議301檢測作為能夠通過在電子裝置100中可用的通信方法(例如,Wi-Fi、BT、USB等)與電子裝置100進(jìn)行通信的電子裝置的電子裝置104。為了與電子裝置104連接以進(jìn)行通信,電子裝置100可使用裝置發(fā)現(xiàn)協(xié)議301獲得并存儲與檢測的電子裝置104有關(guān)的識別信息。電子裝置100可發(fā)起與電子裝置104的通信連接,例如,至少基于識別信息來實(shí)現(xiàn)。
根據(jù)本公開的實(shí)施方式,裝置發(fā)現(xiàn)協(xié)議301可以是用于在多個電子裝置之間進(jìn)行認(rèn)證的協(xié)議。例如,電子裝置100可至少基于通信信息{例如,媒體訪問控制(MAC)、通用唯一識別符(UUID)、子系統(tǒng)識別(SSID)、互聯(lián)網(wǎng)協(xié)議(IP)地址}進(jìn)行在電子裝置100與電子裝置104之間的認(rèn)證以與電子裝置104相連接。
根據(jù)本公開的實(shí)施方式,能力交換協(xié)議303使得可交換與可由電子裝置100或電子裝置104中的至少一個支持的服務(wù)功能相關(guān)的信息。例如,電子裝置100和電子裝置104可通過能力交換協(xié)議303與彼此交換關(guān)于當(dāng)前由每個電子裝置支持的服務(wù)功能的信息??山粨Q信息可包括識別信息,其指示在由電子裝置100和電子裝置104支持的服務(wù)中的特定服務(wù)。例如,電子裝置100可通過能力交換協(xié)議303從電子裝置104接收用于由電子裝置104提供的特定服務(wù)的識別信息。在這種情況下,第一電子裝置100可基于接收的識別信息確定電子裝置100是否能支持特定服務(wù)。
根據(jù)本公開的實(shí)施方式,網(wǎng)絡(luò)協(xié)議305使得可控制在電子裝置(例如,電子裝置100和電子裝置104)之間發(fā)送和接收的數(shù)據(jù)流以提供互通服務(wù)。例如,電子裝置100或電子裝置104中的至少一個可使用網(wǎng)絡(luò)協(xié)議305執(zhí)行誤差控制或數(shù)據(jù)質(zhì)量控制??商娲鼗蚋郊拥兀W(wǎng)絡(luò)協(xié)議305可確定在電子裝置100和電子裝置104之間發(fā)送和接收的數(shù)據(jù)的傳輸格式。另外,電子裝置100或電子裝置104中的至少一個可使用網(wǎng)絡(luò)協(xié)議305管理用于在電子裝置之間的數(shù)據(jù)交換的會話(例如,會話連接或會話終止)。
根據(jù)本公開的實(shí)施方式,應(yīng)用協(xié)議307可提供用于交換與提供到外部裝置的服務(wù)相關(guān)的數(shù)據(jù)的程序或信息。例如,電子裝置100可通過應(yīng)用協(xié)議307將服務(wù)提供到電子裝置104。
根據(jù)本公開的實(shí)施方式,通信協(xié)議300可包括標(biāo)準(zhǔn)通信協(xié)議、由個人或團(tuán)體指定的通信協(xié)議(例如,由通信裝置制造商或網(wǎng)絡(luò)提供商指定的通信協(xié)議)或其組合。
根據(jù)本公開的實(shí)施方式,通信協(xié)議300可包括標(biāo)準(zhǔn)通信協(xié)議、由個人或組織指定的通信協(xié)議(例如,由通信裝置制造公司或網(wǎng)絡(luò)供應(yīng)公司自己指定的通信協(xié)議)或其組合。
圖4為示出根據(jù)本公開的各種實(shí)施方式的電子裝置存儲器管理系統(tǒng)的框圖。
參考圖4,電子裝置200可包括總線110、處理器210和存儲器230。處理器210可以是圖1的處理器120和圖2的AP 210。存儲230可以是圖1的存儲器130和圖2的存儲器230。
處理器210可經(jīng)總線110連接到存儲器230并與其進(jìn)行通信。
根據(jù)本公開的另一個實(shí)施方式,處理器210可不經(jīng)總線110而直接連接到存儲器230并與其進(jìn)行通信。
處理器210可包括至少一個算術(shù)和邏輯單元(ALU)211、存儲器管理單元(MMU)212和緩存213。
處理器210根據(jù)操作系統(tǒng)和各種應(yīng)用的執(zhí)行來處理任務(wù)。處理器210根據(jù)操作系統(tǒng)和應(yīng)用的執(zhí)行來控制存儲器230。
處理器210控制緩存213,其確定頻繁使用的命令或數(shù)據(jù)以快速訪問頻繁使用的數(shù)據(jù)。
當(dāng)將存儲器的虛擬地址傳送到緩存213時,處理器210可從緩存213接收與相應(yīng)的虛擬地址相匹配的指令和數(shù)據(jù)。
另外,處理器210可經(jīng)MMU 212接收關(guān)于與虛擬地址相匹配的存儲器空間的讀寫屬性信息。
ALU 211為用于計算算術(shù)和邏輯運(yùn)算的電路,以及可根據(jù)提供到處理器210的命令對輸入數(shù)據(jù)進(jìn)行相加、相減或比較,或者求出輸入數(shù)據(jù)的邏輯和或者邏輯積且可輸出運(yùn)算結(jié)果。ALU 211可輸出運(yùn)算結(jié)果(例如,數(shù)據(jù))??蓪腁LU 211輸出的數(shù)據(jù)傳送到緩存213。
MMU 212管理處理器210對存儲器的訪問,將虛擬存儲器地址轉(zhuǎn)換成物理存儲器地址且可發(fā)揮存儲器保護(hù)、緩存管理、總線調(diào)停等作用。MMU 212還可包括轉(zhuǎn)換后備緩沖器(TLB,未示出)或可具有至其的訪問。
MMU 212將根據(jù)任務(wù)的執(zhí)行而涉及的存儲器230空間的虛擬存儲器地址轉(zhuǎn)換成物理存儲器地址。當(dāng)從緩存213接收到虛擬地址時,MMU 212可將接收的虛擬地址轉(zhuǎn)換成物理地址(該物理地址與相應(yīng)的虛擬存儲器地址相匹配);以及在相應(yīng)的物理地址讀取或?qū)懭霐?shù)據(jù)。
電子裝置200可包括作為能夠直接與處理器210交換數(shù)據(jù)的存儲器230的異構(gòu)存儲器。異構(gòu)存儲器包括至少一個具有異構(gòu)存儲器接口的存儲裝置。存儲器230可包括第一存儲器235和第二存儲器236,第一存儲器235和第二存儲器236為具有至少一個不同特性(例如,封裝類型、I/O的數(shù)量、每個引腳的I/O數(shù)據(jù)速率和總帶寬)的不同存儲器類型。例如,第一存儲器235可以是寬I/O(WIDE I/O)DRAM,而第二存儲器236可以是低功率雙倍數(shù)據(jù)速率DRAM(LPDDR DRAM)。在“JEDEC標(biāo)準(zhǔn)的寬I/O單數(shù)據(jù)速率(寬I/O SDR)(JEDEC STANDARD WIDE I/O SINGLE DATA RATE(WIDE I/O SDR)),JESD229,2011年12月”等中公開了關(guān)于寬I/O DRAM的詳細(xì)內(nèi)容,其所有公開內(nèi)容均并入本文以供參考。在“JEDEC標(biāo)準(zhǔn)的低功率雙倍數(shù)據(jù)速率3SDRAM(LPDDR3)(JEDEC STANDARD LOW PPWER DOUBLE DATE RATE 3SDRAM(LPDDR3)),JESD209-3,2012年5月”等中公開了關(guān)于LPDDR DRAM的詳細(xì)內(nèi)容,其所有公開內(nèi)容均并入本文以供參考。
即,當(dāng)?shù)谝淮鎯υO(shè)備具有第一帶寬和第一時鐘頻率時,第二存儲器可具有第二帶寬和第二時鐘頻率。另外,第一存儲器和第二存儲器可具有關(guān)于生熱、功率效率等的不同特性。
在本公開的不同的實(shí)施方式中,第二存儲器236可以是非易失性存儲器(例如,輔助存儲器),例如,具有閃存接口的存儲裝置。
例如,根據(jù)帶寬進(jìn)行判斷,與第二存儲器相比,可將第一存儲器描述成高性能存儲器,且與第一存儲器相比,可將第二存儲器描述成低性能存儲器。
另外,根據(jù)本公開的實(shí)施方式,可在總線110和異構(gòu)存儲器之間配置存儲器控制器。根據(jù)裝置的配置,可為每個異構(gòu)存儲器配置存儲器控制器或可將存儲器控制器配置成單個集成存儲器控制器。當(dāng)為每個異構(gòu)存儲器配置存儲器控制器時,第一存儲裝置235和第二存儲裝置236可從不同存儲器控制器接收命令/地址且可與不同存儲器控制器交換數(shù)據(jù)。
處理器210可根據(jù)操作系統(tǒng)和應(yīng)用的執(zhí)行對將發(fā)送到存儲器230的數(shù)據(jù)類型進(jìn)行分類。如在本文中所使用的,數(shù)據(jù)可包括將從存儲裝置加載到存儲器230的數(shù)據(jù)、由通信模塊220接收的數(shù)據(jù)、由接口270接收的數(shù)據(jù)、由傳感器模塊240感測的數(shù)據(jù)、由輸入裝置250輸入的數(shù)據(jù)、由相機(jī)模塊291獲取的數(shù)據(jù)、由音頻模塊280記錄的數(shù)據(jù)、由應(yīng)用產(chǎn)生的數(shù)據(jù)和由操作系統(tǒng)產(chǎn)生的數(shù)據(jù)中的至少一種。
根據(jù)本公開的各種實(shí)施方式,處理器210對將發(fā)送到存儲器230的數(shù)據(jù)類型進(jìn)行分類。處理器210可基于數(shù)據(jù)的使用、數(shù)據(jù)存儲結(jié)構(gòu)、數(shù)據(jù)共享屬性、所需的數(shù)據(jù)訪問量和所需的初始數(shù)據(jù)訪問速率對數(shù)據(jù)類型進(jìn)行分類。例如,處理器210可基于數(shù)據(jù)的使用將數(shù)據(jù)的類型分成應(yīng)用代碼、應(yīng)用數(shù)據(jù)、頁面緩存、驅(qū)動器數(shù)據(jù)和操作系統(tǒng)數(shù)據(jù)中的一種。處理器210可基于數(shù)據(jù)存儲結(jié)構(gòu)將數(shù)據(jù)的類型分成順序應(yīng)用代碼、隨機(jī)應(yīng)用代碼、順序緩存和隨機(jī)緩存中的一種。
另外,處理器210可基于數(shù)據(jù)共享屬性將數(shù)據(jù)的類型分成私人應(yīng)用代碼、共享應(yīng)用代碼、私人應(yīng)用數(shù)據(jù)和共享應(yīng)用數(shù)據(jù)中的一種。處理器210可基于數(shù)據(jù)的使用和數(shù)據(jù)存儲結(jié)構(gòu)將數(shù)據(jù)的類型分成順序應(yīng)用代碼、隨機(jī)應(yīng)用代碼、應(yīng)用數(shù)據(jù)、順序緩存、頁面緩存、隨機(jī)緩存、驅(qū)動器數(shù)據(jù)和操作系統(tǒng)數(shù)據(jù)中的一種。處理器210可基于數(shù)據(jù)的使用和數(shù)據(jù)共享屬性將數(shù)據(jù)的類型分成私人應(yīng)用代碼、共享應(yīng)用代碼、私人應(yīng)用數(shù)據(jù)、共享應(yīng)用數(shù)據(jù)、頁面緩存、驅(qū)動器數(shù)據(jù)和操作系統(tǒng)數(shù)據(jù)中的一種。
處理器210可將數(shù)據(jù)的類型分成應(yīng)用代碼、應(yīng)用數(shù)據(jù)、頁面緩存、驅(qū)動器數(shù)據(jù)、操作系統(tǒng)數(shù)據(jù)、順序應(yīng)用代碼、隨機(jī)應(yīng)用代碼、順序緩存、隨機(jī)緩存、私人應(yīng)用代碼、共享應(yīng)用代碼、私人應(yīng)用數(shù)據(jù)和共享應(yīng)用數(shù)據(jù)中的一種或多種。
處理器210在將數(shù)據(jù)的虛擬存儲器地址轉(zhuǎn)換成物理存儲器地址時可根據(jù)數(shù)據(jù)類型確定用于存儲數(shù)據(jù)的異構(gòu)存儲器。另外,處理器210在將數(shù)據(jù)的虛擬存儲器地址轉(zhuǎn)換成物理存儲器地址時可基于分配策略中的至少一部分根據(jù)數(shù)據(jù)類型確定用于存儲數(shù)據(jù)的異構(gòu)存儲器。如在本文中所使用的,分配策略指當(dāng)存在有關(guān)于特定段數(shù)據(jù)的存儲器分配請求時用于根據(jù)標(biāo)準(zhǔn)或條件(諸如數(shù)據(jù)類型)選擇將存儲相應(yīng)數(shù)據(jù)的異構(gòu)存儲器230的規(guī)則。
根據(jù)本公開的實(shí)施方式的由處理器210來確定用于存儲數(shù)據(jù)的異構(gòu)存儲器的方法如下:當(dāng)數(shù)據(jù)類型屬于驅(qū)動器或操作系統(tǒng)時,在轉(zhuǎn)換成物理存儲器地址時,虛擬存儲器地址可轉(zhuǎn)換成第一存儲器235的物理存儲器地址;當(dāng)數(shù)據(jù)類型屬于頁面緩存或應(yīng)用(例如,應(yīng)用代碼或應(yīng)用數(shù)據(jù))時,在轉(zhuǎn)換成物理存儲器地址時,虛擬存儲器地址可轉(zhuǎn)換成第二存儲器236的物理存儲器地址。
根據(jù)本公開的實(shí)施方式的由處理器210來確定用于存儲數(shù)據(jù)的異構(gòu)存儲器的方法如下:當(dāng)數(shù)據(jù)類型為順序型時,在轉(zhuǎn)換成物理存儲器地址時,虛擬存儲器地址可轉(zhuǎn)換成第一存儲器235的物理存儲器地址;當(dāng)數(shù)據(jù)類型為隨機(jī)型時,在轉(zhuǎn)換成物理存儲器地址時,虛擬存儲器地址可轉(zhuǎn)換成第二存儲器236的物理存儲器地址。
包括在電子裝置200中的文件管理器管理存儲在諸如硬盤驅(qū)動器的存儲裝置(或存儲介質(zhì))中的數(shù)據(jù)的模式類型。
例如,文件管理器可預(yù)先知道應(yīng)用代碼和緩存數(shù)據(jù)是按順序模式還是按隨機(jī)模式存儲在存儲裝置(或存儲介質(zhì))中。
順序類型的數(shù)據(jù)(或順序模式的數(shù)據(jù))指具有基于一個或多個關(guān)鍵字段值順序存儲在存儲裝置(或存儲介質(zhì))中的記錄的數(shù)據(jù)。順序類型的數(shù)據(jù)(或順序模式的數(shù)據(jù))為順序存儲在存儲裝置(或存儲介質(zhì))中的數(shù)據(jù)。順序類型的數(shù)據(jù)(或順序模式的數(shù)據(jù))可按順序模式,但不一定要連續(xù)地存儲在存儲裝置(或存儲介質(zhì))中。
隨機(jī)類型的數(shù)據(jù)(或隨機(jī)模式的數(shù)據(jù))指不按任何順序?qū)?shù)據(jù)存儲在存儲裝置(或存儲介質(zhì))中的模式。
當(dāng)將順序模式的數(shù)據(jù)加載到存儲器230上,基于文件系統(tǒng)策略,文件將加載到存儲器230上的串聯(lián)連接的地址空間中的可能性增加。當(dāng)將隨機(jī)模式的數(shù)據(jù)加載到存儲器230上,基于文件系統(tǒng)策略,文件將加載到散布和分配在異構(gòu)存儲器230上的地址空間中的可能性增加。由于這些原因,操作系統(tǒng)的文件系統(tǒng)經(jīng)常以順序模式對數(shù)據(jù)進(jìn)行重新排列,這需要大量的處理時間。根據(jù)本公開的實(shí)施方式,將順序模式的數(shù)據(jù)分配到高性能存儲器,從而增加高性能存儲器的增益。
在本公開的實(shí)施方式中,提供了基于數(shù)據(jù)類型是私人型還是共享型來確定用于存儲數(shù)據(jù)的異構(gòu)存儲器的方法。當(dāng)數(shù)據(jù)類型為私人型時,在轉(zhuǎn)換成物理存儲器地址時,虛擬存儲器地址可轉(zhuǎn)換成第二存儲器236的物理存儲器地址。當(dāng)數(shù)據(jù)類型為共享型時,在轉(zhuǎn)換成物理存儲器地址時,虛擬存儲器地址可轉(zhuǎn)換成第一存儲器235的物理存儲器地址。電子裝置200可通過存儲器管理器確定數(shù)據(jù)類型是私人型還是共享型。例如,一些操作系統(tǒng)(例如,Linux、Solaris、Android)管理作為共享型數(shù)據(jù)的、在進(jìn)程之間共享數(shù)據(jù)并管理作為私人型數(shù)據(jù)的、僅用于單個進(jìn)程中的數(shù)據(jù)。根據(jù)本公開的實(shí)施方式,將程序和應(yīng)用的共享數(shù)據(jù)分配到高性能存儲器,從而以更高的效率使用具有有限能力的高性能存儲器。
在本公開的實(shí)施方式中,處理器210可至少基于一個分配策略(例如,根據(jù)目的的分配策略)確定用于存儲數(shù)據(jù)的異構(gòu)存儲器。在這方面上,分配策略可在電子裝置200中進(jìn)行預(yù)先存儲或預(yù)先設(shè)置。電子裝置200可更新預(yù)先存儲或預(yù)先設(shè)置的分配策略,可在操作期間產(chǎn)生或設(shè)置新的分配策略且可從不同的裝置接收或下載分配策略??筛鶕?jù)實(shí)驗(yàn)確定分配策略。例如,當(dāng)通過將特定數(shù)據(jù)分配到第一存儲器235而非第二存儲器236將獲得更好的吞吐量時,可將特定數(shù)據(jù)分配到第一存儲器235。相反地,當(dāng)通過將特定數(shù)據(jù)分配到第二存儲器236而非第一存儲器235將獲得更好的吞吐量時,可將特定數(shù)據(jù)分配到第二存儲器236。
處理器210可基于分配策略根據(jù)數(shù)據(jù)類型確定(即,選擇)存儲器230且可將數(shù)據(jù)存儲在相應(yīng)的物理存儲器地址上。
根據(jù)本公開的實(shí)施方式,處理器210可交疊或合并多個分配策略并使用這多個分配策略以確定用于存儲數(shù)據(jù)的異構(gòu)存儲器230。當(dāng)使用多個分配策略時,處理器210可根據(jù)各個分配策略的優(yōu)先級應(yīng)用分配策略。在這方面上,可將多個分配策略彼此獨(dú)立地存儲在電子裝置200中。
在本公開的實(shí)施方式中,可按下列方式執(zhí)行由處理器210確定異構(gòu)存儲器230的方法:在具有更多更好性能或具有更多存儲空間的高性能存儲器與具有較低性能的低性能存儲器之間區(qū)分包括在異構(gòu)存儲器230中的存儲器,以及優(yōu)先將數(shù)據(jù)布置在高性能存儲器中。即使在將數(shù)據(jù)優(yōu)先布置在高性能存儲器中時,處理器210也可基于高性能存儲器的自由空間在低性能存儲器中分配數(shù)據(jù)。
可根據(jù)電子裝置200的系統(tǒng)情況更新分配策略。例如,電子裝置200可連接到不同的電子裝置以及可更新分配策略。
圖5為執(zhí)行根據(jù)本公開的各種實(shí)施方式的電子裝置存儲器管理方法的流程圖。
參考圖5,當(dāng)在異構(gòu)存儲器230中分配(存儲)電子裝置200的軟件數(shù)據(jù)時,選擇用于數(shù)據(jù)的存儲器類型。在本公開的實(shí)施方式中,圖5可在操作系統(tǒng)的存儲器管理器中進(jìn)行操作。
電子裝置200可使硬件組件或軟件組件執(zhí)行包括多媒體數(shù)據(jù)的各種數(shù)據(jù)的處理和操作。
包括在電子裝置200中的軟件可在用戶空間與內(nèi)核空間之間進(jìn)行區(qū)分。用戶空間可包括關(guān)于各種應(yīng)用的數(shù)據(jù),以及內(nèi)核空間可包括關(guān)于頁面緩存的數(shù)據(jù)、關(guān)于驅(qū)動器的數(shù)據(jù)以及關(guān)于操作系統(tǒng)的數(shù)據(jù)。
內(nèi)核空間可包括存儲器管理器。存儲器管理器可包括虛擬地址管理器、物理地址管理器和文件管理器中的至少一個。
當(dāng)存在有軟件所需的關(guān)于特定數(shù)據(jù)的存儲器分配請求時,存儲器管理器可將相應(yīng)數(shù)據(jù)分配到物理存儲器中的一部分。另外,存儲器管理器在確定不再需要數(shù)據(jù)后可釋放分配。
當(dāng)存在有對進(jìn)程的請求時,存儲器管理器可將相應(yīng)的進(jìn)程分配到物理存儲器中的一部分。另外,存儲器管理器在確定不再需要進(jìn)程后可釋放分配。
包括在存儲器管理器中的虛擬地址管理器可管理數(shù)據(jù)的虛擬地址,以及包括在存儲器管理器中的物理地址管理器可將數(shù)據(jù)的虛擬地址轉(zhuǎn)換成物理地址且根據(jù)物理地址將數(shù)據(jù)分配到物理存儲器。
參考圖5,在操作501中,電子裝置200可識別將發(fā)送到存儲器230的數(shù)據(jù)類型。例如,在操作501中,可識別加載到電子裝置的存儲器230上并進(jìn)行操作的整個或部分軟件系統(tǒng)的數(shù)據(jù)類型。
根據(jù)本公開的實(shí)施方式,在操作501中由存儲器管理器識別數(shù)據(jù)類型的方法為分析數(shù)據(jù)的虛擬地址、數(shù)據(jù)的元數(shù)據(jù)(與數(shù)據(jù)一起傳送的附加信息)或因子信息(factor information)等,其包括在具有請求的存儲器分配的軟件函數(shù)調(diào)用中。
根據(jù)本公開的實(shí)施方式,在操作501中,電子裝置200可確認(rèn)數(shù)據(jù)是需要還是不需要小的初始建立時間的數(shù)據(jù)。
根據(jù)本公開的實(shí)施方式,在操作501中,電子裝置200可確認(rèn)數(shù)據(jù)類型需要高吞吐量還是需要低吞吐量。
根據(jù)本公開的實(shí)施方式,在操作501中,電子裝置200可確認(rèn)數(shù)據(jù)是私人數(shù)據(jù)類型還是共享數(shù)據(jù)類型。
根據(jù)本公開的實(shí)施方式,在操作501中,電子裝置200可確認(rèn)數(shù)據(jù)是順序類型還是隨機(jī)類型。
根據(jù)本公開的實(shí)施方式,在操作503中,電子裝置200可基于在操作501中確定的數(shù)據(jù)類型確定(選擇)用于存儲數(shù)據(jù)的異構(gòu)存儲器。
例如,可根據(jù)實(shí)驗(yàn)確定分配策略。例如,當(dāng)通過將特定數(shù)據(jù)分配到第一存儲器235而非第二存儲器236將獲得更好的吞吐量時,可將特定數(shù)據(jù)分配到第一存儲器235。相反地,當(dāng)通過將特定數(shù)據(jù)分配到第二存儲器236而非第一存儲器235將獲得更好的吞吐量時,可將特定數(shù)據(jù)分配到第二存儲器236。
例如,以下描述在操作501中將數(shù)據(jù)分析作為需要小的初始建立時間的數(shù)據(jù)的情況。
在操作503中,電子裝置200可將需要小的初始建立時間的數(shù)據(jù)分配到第二存儲器236的物理存儲器地址,其在異構(gòu)存儲器中具有含相對較小的初始建立時間的存儲器特性。
在操作503中,電子裝置200可確定將私人數(shù)據(jù)存儲在第一存儲器235中且可確定將共享數(shù)據(jù)存儲在第二存儲器236中。
在操作503中,電子裝置200可確定將順序型數(shù)據(jù)存儲在第一存儲器235中且可確定將隨機(jī)型數(shù)據(jù)存儲在第二存儲器236中。
根據(jù)本公開的實(shí)施方式,電子裝置200可具有至少一個分配策略。多個分配策略可按彼此獨(dú)立或彼此交疊的方式進(jìn)行應(yīng)用。例如,可根據(jù)優(yōu)先級順序交疊和復(fù)核多個分配策略。
例如,將假定系統(tǒng)已按交疊方式應(yīng)用基于“順序/隨機(jī)I/O數(shù)據(jù)分類”的分配策略和基于“共享/靜態(tài)數(shù)據(jù)分類”的分配策略。當(dāng)數(shù)據(jù)同時具有“共享”和“隨機(jī)”類型時,可確定不同的存儲器230以用于各個分配策略。在這種情況下,將“共享”的數(shù)據(jù)類型存儲在第一存儲器中的策略可具有比將“隨機(jī)”的數(shù)據(jù)類型存儲在第二存儲器中的策略更高的優(yōu)先級(即,權(quán)重),以及可做出最終確定以將數(shù)據(jù)存儲在第一存儲器中。
在本公開的類似的實(shí)施方式中,如果數(shù)據(jù)類型為“順序型”且“應(yīng)該具有低初始建立時間”,則將“順序型”數(shù)據(jù)存儲在第一存儲器中的策略可具有比將“具有低初始建立時間”的數(shù)據(jù)存儲在第二存儲器中的策略更高的優(yōu)先級,且可做出最終確定以將數(shù)據(jù)存儲在第一存儲器中。
隨了作為示例的上述情況外,可存在有關(guān)各種分配策略組合的各種實(shí)施方式。
根據(jù)本公開的實(shí)施方式,應(yīng)用到電子裝置200的分配策略及其優(yōu)先級可在電子裝置200的操作期間根據(jù)電子裝置200的狀態(tài)和命令進(jìn)行改變。
根據(jù)本公開的實(shí)施方式,基于具有多個分配策略的方法,電子裝置200可包括分配策略表,分配策略表包括一系列的分配策略。電子裝置200可參考分配策略表并確定將把數(shù)據(jù)分配到異構(gòu)存儲器中的哪個存儲器。電子裝置200可選擇性地應(yīng)用在分配策略表中描述的分配策略中的至少一個。另外,分配策略表可包括關(guān)于各種分配策略組合的信息或關(guān)于根據(jù)分配策略的優(yōu)先級(即,權(quán)重)的信息。例如,分配策略表可包括關(guān)于將如何根據(jù)策略組合的所有情況的數(shù)量對給定的數(shù)據(jù)類型進(jìn)行分類的限定。
下面的表1示出分配策略表的一個示例。
表1
電子裝置200可選擇性地使用存儲在表1中所示的分配策略表中的四個策略中的一部分或全部。例如,電子裝置200可從表1選擇策略2(存儲結(jié)構(gòu))和策略3(共享屬性)并按交疊方式使用它們。在這種情況下,關(guān)于同時具有“共享”和“隨機(jī)”數(shù)據(jù),基于策略2確定的存儲器為第二存儲器,而基于策略3確定的存儲器為不同于第二存儲器的第一存儲器。在另一個實(shí)施方式中,策略3的優(yōu)先級為1,且策略2的優(yōu)先級為2;就這點(diǎn)而言,策略3具有高優(yōu)先級,且電子裝置200可最終確定以將數(shù)據(jù)存儲在第一存儲器中。
此外,盡管已在上述實(shí)施方式中基于雙路分類描述了分配策略,但也可存在有三個或更多異構(gòu)存儲裝置230,且分配策略和分配策略表也可基于三路分類、四路分類或更高級別的分類而組成。
在操作505中,電子裝置200可將數(shù)據(jù)存儲在已在操作503中確定的所選異構(gòu)存儲器230中。
圖6為根據(jù)本公開的各種實(shí)施方式的電子裝置存儲器管理方法的示圖。
電子裝置200可執(zhí)行操作系統(tǒng)或應(yīng)用程序以控制硬件組件或軟件組件且,以及可執(zhí)行包括多媒體數(shù)據(jù)的各種數(shù)據(jù)的處理和操作。
包括在電子裝置200中的軟件空間可在用戶空間610與內(nèi)核空間620之間進(jìn)行區(qū)分。用戶空間610可包括一個或多個應(yīng)用611。可將應(yīng)用611分成與應(yīng)用操作命令相關(guān)的應(yīng)用代碼(以下稱為數(shù)據(jù)A)612和應(yīng)用數(shù)據(jù)(以下稱為數(shù)據(jù)B)613。
用戶空間610和內(nèi)核空間620可包括在電子裝置200的軟件空間中,以及異構(gòu)存儲器230可包括在電子裝置200的硬件空間中。
內(nèi)核空間620可包括頁面緩存(以下稱為數(shù)據(jù)C)631、驅(qū)動器(以下稱為數(shù)據(jù)D)632和操作系統(tǒng)數(shù)據(jù)(以下稱為數(shù)據(jù)E)633。
內(nèi)核空間620可使用頁面緩存以改善數(shù)據(jù)I/O性能。至少一些操作系統(tǒng)(例如,Linux)可將文件映射到存儲器上并像訪問存儲器一樣處理正常文件或裝置文件;因此,可使用頁面緩存。
內(nèi)核空間620可包括存儲器管理器621。存儲器管理器621可包括虛擬地址管理器622、物理地址管理器623和文件管理器624中的至少一個。
當(dāng)存在有關(guān)軟件所需的特定數(shù)據(jù)的存儲器分配請求時,包括在內(nèi)核空間620中的存儲器管理器621可分配物理存儲器的部分空間以存儲相應(yīng)的數(shù)據(jù)。另外,存儲器管理器621可在確定不再需要數(shù)據(jù)后釋放分配。
當(dāng)存在對進(jìn)程的請求時,存儲器管理器621可將物理存儲器230的部分空間分配到相應(yīng)的進(jìn)程。另外,包括在內(nèi)核空間中的存儲器管理器621可在確定不再需要進(jìn)程后釋放分配。
包括在存儲器管理器621中的虛擬地址管理器622可確定進(jìn)程的虛擬地址,且包括在存儲器管理器621中的物理地址管理器623可將進(jìn)程的虛擬地址轉(zhuǎn)換成物理地址并根據(jù)物理地址將物理存儲器的部分空間分配到進(jìn)程。
根據(jù)本公開的實(shí)施方式,電子裝置200可根據(jù)用于每個操作系統(tǒng)的存儲器操作方案(存儲器管理器的存儲器類型)將數(shù)據(jù)類型分成應(yīng)用代碼(數(shù)據(jù)A)612、應(yīng)用數(shù)據(jù)(數(shù)據(jù)B)613、頁面緩存(數(shù)據(jù)C)631、驅(qū)動器(數(shù)據(jù)D)632和操作系統(tǒng)數(shù)據(jù)(數(shù)據(jù)E)633,且當(dāng)上述數(shù)據(jù)段通過存儲器管理器621存儲在物理存儲器中時,電子裝置200可基于相應(yīng)的數(shù)據(jù)類型和分配策略選擇用于存儲數(shù)據(jù)的存儲器。例如,當(dāng)通過將數(shù)據(jù)D或數(shù)據(jù)E分配到第一存儲器235而非第二存儲器236將獲得更好的吞吐量時,可將數(shù)據(jù)D或數(shù)據(jù)E分配到第一存儲器235。相反地,當(dāng)通過將數(shù)據(jù)A、數(shù)據(jù)B或數(shù)據(jù)C分配到第二存儲器236而非第一存儲器235將獲得更好的吞吐量時,可將數(shù)據(jù)A、數(shù)據(jù)B或數(shù)據(jù)C分配到第二存儲器236。
例如,當(dāng)數(shù)據(jù)A、數(shù)據(jù)B或數(shù)據(jù)C需要小的初始建立時間時,可將數(shù)據(jù)A、數(shù)據(jù)B或數(shù)據(jù)C分配到第二存儲器236,其特征在于小的初始建立時間(例如,LPDDR接口)。當(dāng)數(shù)據(jù)D或數(shù)據(jù)E需要同時大量的處理時,可將數(shù)據(jù)D或數(shù)據(jù)E分配到第一存儲器235,其特征在于高速操作(例如,寬I/O接口)。例如,當(dāng)數(shù)據(jù)A、數(shù)據(jù)B或數(shù)據(jù)C為隨機(jī)數(shù)據(jù)類型時,電子裝置200可將數(shù)據(jù)A、數(shù)據(jù)B或數(shù)據(jù)C分配到第二存儲器236,其具有便于進(jìn)行隨機(jī)數(shù)據(jù)處理的接口(例如,LPDDR接口)。當(dāng)數(shù)據(jù)D或數(shù)據(jù)E為順序數(shù)據(jù)類型時,電子裝置200可將數(shù)據(jù)D或數(shù)據(jù)E分配到第一存儲器235,其具有便于順序數(shù)據(jù)處理的接口(例如,寬I/O接口)。
在這方面上,當(dāng)在一起應(yīng)用多個分配策略的系統(tǒng)中在分配策略的結(jié)果之間發(fā)生沖突時(例如,在數(shù)據(jù)的特征在于順序型且具有小的初始建立時間的情況下),可根據(jù)分配策略的優(yōu)先級確定用于存儲數(shù)據(jù)的異構(gòu)存儲器。已參考圖5給出了關(guān)于這一點(diǎn)的詳細(xì)描述。
圖7為根據(jù)本公開的各種實(shí)施方式的電子裝置存儲器管理方法的示圖。
如上所述,通過將進(jìn)程的共享數(shù)據(jù)分配到高性能存儲器,可以以較高的效率使用具有有限能力的高性能存儲器。
參考圖7,電子裝置200中的OS可包括用戶空間610和內(nèi)核空間620。用戶空間610可包括一個或多個應(yīng)用611。應(yīng)用611可包括與應(yīng)用操作命令(以下稱為數(shù)據(jù)A.私人型)相關(guān)的私人應(yīng)用代碼812、共享應(yīng)用代碼(以下稱為數(shù)據(jù)A.共享型)813、私人應(yīng)用數(shù)據(jù)(以下稱為數(shù)據(jù)B.私人型)814和共享應(yīng)用數(shù)據(jù)(以下稱為數(shù)據(jù)B.共享型)815。
例如,確定數(shù)據(jù)是私人型還是共享型如下所述??蓪ㄔ谟脩艨臻g610中的控制應(yīng)用操作的應(yīng)用代碼確定為私人應(yīng)用代碼812,且可將能夠控制不同應(yīng)用的操作的應(yīng)用代碼確定為共享應(yīng)用代碼813。例如,可將包括在用戶空間610中的應(yīng)用中的一個應(yīng)用中所包括的應(yīng)用數(shù)據(jù)確定為私人應(yīng)用數(shù)據(jù)814,且可將包括在至少一個或多個應(yīng)用中的應(yīng)用數(shù)據(jù)確定為共享應(yīng)用數(shù)據(jù)815。
根據(jù)本公開的實(shí)施方式,當(dāng)電子裝置200將私人應(yīng)用代碼(數(shù)據(jù)A.私人型)812、共享應(yīng)用代碼(數(shù)據(jù)A.共享型)813、私人應(yīng)用數(shù)據(jù)(數(shù)據(jù)B.私人型)814和共享應(yīng)用數(shù)據(jù)(數(shù)據(jù)B.共享型)815分配到異構(gòu)存儲器230,電子裝置200可確定私人應(yīng)用代碼(數(shù)據(jù)A.私人型)812、共享應(yīng)用代碼(數(shù)據(jù)A.共享型)813、私人應(yīng)用數(shù)據(jù)(數(shù)據(jù)B.私人型)814和共享應(yīng)用數(shù)據(jù)(數(shù)據(jù)B.共享型)815的數(shù)據(jù)類型,以及基于數(shù)據(jù)類型和分配策略選擇用于存儲數(shù)據(jù)的異構(gòu)存儲器。根據(jù)實(shí)施方式,電子裝置200可將私人數(shù)據(jù)分配到第一存儲器235并將共享數(shù)據(jù)分配到第二存儲器236。例如,電子裝置200可將私人應(yīng)用代碼(數(shù)據(jù)A.私人型)813或私人應(yīng)用數(shù)據(jù)(數(shù)據(jù)B.私人型)814分配到具有寬I/O接口的第一存儲器235。例如,電子裝置200可將共享應(yīng)用代碼(數(shù)據(jù)A.私人型)812或共享應(yīng)用數(shù)據(jù)(數(shù)據(jù)B.共享型)815分配到具有LPDDR接口的第二存儲器236。
圖8為根據(jù)本公開的各種實(shí)施方式的電子裝置存儲器管理方法的示圖。
如上所述,操作系統(tǒng)的文件管理器可管理數(shù)據(jù)段已按順序模式還是隨機(jī)模式存儲在存儲裝置中。例如,存儲裝置指不同于本公開的存儲器230的正常塊裝置。
參考圖8,根據(jù)文件管理器策略,可將應(yīng)用代碼(數(shù)據(jù)A)612分成順序應(yīng)用代碼(以下稱為數(shù)據(jù)A.順序型)816和隨機(jī)應(yīng)用代碼(以下稱為數(shù)據(jù)A.隨機(jī)型)817并相應(yīng)地進(jìn)行管理,還可將頁面緩存(數(shù)據(jù)C)631分成順序緩存(以下稱為數(shù)據(jù)C.順序型)818和隨機(jī)緩存(以下稱為數(shù)據(jù)C.隨機(jī)型)819并相應(yīng)地進(jìn)行管理。
根據(jù)本公開的實(shí)施方式,當(dāng)電子裝置200將順序應(yīng)用代碼(數(shù)據(jù)A.順序型)816、隨機(jī)應(yīng)用代碼(數(shù)據(jù)A.隨機(jī)型)817、順序緩存(數(shù)據(jù)C.順序型)818或隨機(jī)緩存(數(shù)據(jù)C.隨機(jī)型)819分配到異構(gòu)存儲器230時,電子裝置200可確定順序應(yīng)用代碼(數(shù)據(jù)A.順序型)816、隨機(jī)應(yīng)用代碼(數(shù)據(jù)A.隨機(jī)型)817、順序緩存(數(shù)據(jù)C.順序型)818或隨機(jī)緩存(數(shù)據(jù)C.隨機(jī)型)819的數(shù)據(jù)類型并基于分配策略選擇用于存儲數(shù)據(jù)的異構(gòu)存儲器。
根據(jù)本公開的實(shí)施方式,當(dāng)將文件管理器管理的數(shù)據(jù)加載到異構(gòu)存儲器上時,電子裝置200可將順序數(shù)據(jù)分配到第一存儲器235并將隨機(jī)數(shù)據(jù)分配到第二存儲器236。例如,電子裝置200可將順序應(yīng)用代碼(數(shù)據(jù)A.順序型)816或順序緩存(數(shù)據(jù)C.順序型)818分配到具有寬I/O接口的第一存儲器235。例如,電子裝置200可將隨機(jī)應(yīng)用代碼(數(shù)據(jù)A.隨機(jī)型)817或隨機(jī)緩存(數(shù)據(jù)C.隨機(jī)型)819分配到具有LPDDR接口的第二存儲器236。
圖9為示出根據(jù)本公開的各種實(shí)施方式的在異構(gòu)存儲器與處理器之間的連接結(jié)構(gòu)的示圖。
參考圖9,電子裝置200可包括處理器120、第一存儲器235和第二存儲器236。第一存儲器235可以是寬I/O DRAM,而第二存儲器236可以是LPDDR DRAM。
圖10為示出根據(jù)本公開的各種實(shí)施方式的存儲器的堆疊結(jié)構(gòu)的示圖。
參考圖10,可使用三維硅通孔(TSV)方案封裝存儲器控制器1020和存儲器芯片組1030。
存儲器芯片組1030可包括多個堆疊的存儲器芯片1031a至1031d。多個堆疊的存儲器芯片1031a至1031d可通過在存儲器芯片1031b至1031d內(nèi)形成的微凸塊1003和TSV 1004彼此電連接。多個堆疊的存儲器芯片1031a至1031d中的每一個可具有不同的接口。存儲器控制器1020可堆疊在基板1001上并由倒裝芯片凸塊1002電連接到基板1001。存儲器芯片組1030可按面對背(F2B)的方案堆疊在存儲器控制器1020上。存儲器芯片組1030和存儲器控制器1020可由在存儲器控制器1020內(nèi)形成的微凸塊1003和TSV 1004電連接。使用三維TSV方案封裝存儲器控制器1020和存儲器芯片組1030,使得在減少存儲裝置所占用的區(qū)域的同時可增加I/O帶寬。
圖11為執(zhí)行根據(jù)本公開的各種實(shí)施方式的區(qū)域設(shè)置方法的流程圖。
參考圖11,在操作1100中,電子裝置200可檢查存儲器信息。存儲器信息用于配置區(qū)域且可包括待配置的每個區(qū)域的名稱、指示與每個區(qū)域相關(guān)聯(lián)的存儲器的信息、指示用區(qū)域映射的存儲器空間的開始地址的信息以及指示區(qū)域大小的信息中的至少一種。與區(qū)域相關(guān)聯(lián)的存儲器可以是上述異構(gòu)存儲器230。
圖12為示出根據(jù)本公開的各種實(shí)施方式的存儲器信息的示圖。
參考圖12,例如,可將存儲器信息存儲在電子裝置200中作為文件1200。存儲器信息1200包括作為每個區(qū)域的名稱的“Normal(正常)”、“Virtual(虛擬)”和“Highmem(高速存儲器)”。不同的區(qū)域,諸如“bank1(組1)”和“bank2(組2)”指與相應(yīng)的區(qū)域相關(guān)聯(lián)的存儲器,且“start(開始)”、“start2(開始2)”和“start1(開始1)”為指示用相應(yīng)區(qū)域映射的存儲器空間的開始地址的信息。此外,“l(fā)en1(長度1)”、“l(fā)en2(長度2)”和“l(fā)en3(長度3)”為指示相應(yīng)區(qū)域大小的信息。
每個區(qū)域的名稱和參數(shù)名稱僅僅是示例,且還可使用其他名稱。電子裝置200可在啟動進(jìn)程期間或在操作期間執(zhí)行操作1100。
返回參考圖11,在操作1110中,電子裝置200根據(jù)在操作1100中檢查的存儲器信息配置區(qū)域信息。在本公開的各種實(shí)施方式中,電子裝置200可根據(jù)存儲器信息配置關(guān)于待分配到兩種或更多種存儲器的三個或更多區(qū)域的區(qū)域信息。例如,電子裝置200可將兩個區(qū)域分配到第一存儲器235且將一個區(qū)域分配到第二存儲器236。
圖13為示出根據(jù)本公開的各種實(shí)施方式的區(qū)域結(jié)構(gòu)的示圖。
參考圖13,堆疊1310為在操作1110中配置的區(qū)域配置的一個示例。區(qū)域配置1310包括區(qū)域1311、區(qū)域1315和區(qū)域1317。區(qū)域1311被分配到第一存儲器235,具有600MB的大小且具有名稱“正?!薄^(qū)域1315被分配到第一存儲器235,具有424MB的大小且具有名稱“虛擬”。區(qū)域1317被分配到第二存儲器236,具有1GB的大小且具有名稱“高速存儲器”。
在這種情況下,將區(qū)域1311和區(qū)域1315分配到相同的第一存儲器235,且將區(qū)域1317分配到第二存儲器236。這種將一個或多個區(qū)域映射到每個存儲器的配置可防止將多個存儲器分配到單個區(qū)域的低效率。當(dāng)要將數(shù)據(jù)分配到特定存儲器時,可選擇映射到相應(yīng)存儲器的區(qū)域,因此,根據(jù)數(shù)據(jù)類型將數(shù)據(jù)有效地分配到合適的存儲器,從而優(yōu)化電子裝置200的性能。在這方面上,數(shù)據(jù)類型可包括應(yīng)用代碼、應(yīng)用數(shù)據(jù)、頁面緩存、驅(qū)動器數(shù)據(jù)、操作系統(tǒng)數(shù)據(jù)、順序應(yīng)用代碼、隨機(jī)應(yīng)用代碼、順序緩存、隨機(jī)緩存、私人應(yīng)用代碼、共享應(yīng)用代碼、私人應(yīng)用數(shù)據(jù)和共享應(yīng)用數(shù)據(jù)中的至少一種。
堆疊1330表示內(nèi)核的存儲器配置,且存儲器配置1330包括內(nèi)核空間1331和用戶空間1335。
堆疊1320表示在內(nèi)核空間1331、“正?!眳^(qū)域1311和“虛擬”區(qū)域1315之間映射的配置且包括大小為424MB的空間1321和大小為600MB的空間1325??臻g1321用“虛擬”區(qū)域1315映射,且空間1311用“正常”區(qū)域1311映射。因此,“正常”區(qū)域1311和“虛擬”區(qū)域1315用內(nèi)核空間映射。另外,“正常”區(qū)域1311和“虛擬”區(qū)域1315映射到第一存儲器235,以將內(nèi)核空間1331中的數(shù)據(jù)中的至少一部分存儲在第一存儲器235中。當(dāng)?shù)谝淮鎯ζ?35比第二存儲器236更快時,與內(nèi)核空間1331中的數(shù)據(jù)同時存在于第一存儲器235和第二存儲器236中時相比,改善了對在內(nèi)核空間1331中的數(shù)據(jù)的處理速率和訪問速率,從而改善電子裝置200的性能。
盡管已參考圖13描述了實(shí)施方式,其中,將空間1321和“虛擬”區(qū)域1315映射到單個空間,但本公開不限于此,還可將“虛擬”區(qū)域1315映射到內(nèi)核空間1331和用戶空間1335兩者。在本公開的各種實(shí)施方式中,當(dāng)“虛擬”區(qū)域1315具有超過424MB的大小時,在映射到空間1321后剩余的空間可映射到用戶空間1335。由于對用戶空間1335和“虛擬”區(qū)域1315進(jìn)行了映射,可將用戶空間1335中的數(shù)據(jù)存儲在已與“虛擬”區(qū)域建立映射的第一存儲器235中,因此,改善了對在用戶空間1335中數(shù)據(jù)的處理速率和訪問速率,從而改善電子裝置200的性能。
在本公開的各種實(shí)施方式中,在根據(jù)如上面參考圖5所示的操作503中確定的存儲器確定是否將數(shù)據(jù)映射到虛擬區(qū)域1315后,可將用戶空間1335中的數(shù)據(jù)映射至“虛擬”區(qū)域1315。
區(qū)域信息可包括分配信息和統(tǒng)計信息。分配信息可包括區(qū)域的名稱、指示與區(qū)域相關(guān)聯(lián)的存儲器的信息、指示用區(qū)域映射的存儲器空間的開始地址的信息以及指示區(qū)域大小的信息。統(tǒng)計信息可包括指示待分配的訪問的數(shù)量的信息以及指示待釋放的訪問的數(shù)量的信息。
可為每個區(qū)域產(chǎn)生區(qū)域信息。即,可為“正常”區(qū)域1311、“虛擬”區(qū)域1315和“高速存儲器”區(qū)域1317中的每一個產(chǎn)生區(qū)域信息。
圖14為示出根據(jù)本公開的各種實(shí)施方式的區(qū)域信息的示圖。
參考圖14,結(jié)構(gòu)1400為包括存儲區(qū)域信息的字段的結(jié)構(gòu)的示例。結(jié)構(gòu)1400可包括:“分配信息”,其是用于存儲分配信息的字段;以及“統(tǒng)計信息”,其為存儲統(tǒng)計信息的字段。
電子裝置200可為圖13中所示的“正常”區(qū)域1311、“虛擬”區(qū)域1315和“高速存儲器”區(qū)域1317中的每一個產(chǎn)生在結(jié)構(gòu)1400中限定的參數(shù),以及可將為“正?!眳^(qū)域1311、“虛擬”區(qū)域1315和“高速存儲器”區(qū)域1317中的每一個配置的區(qū)域配置信息存儲在參數(shù)中的每一個中。
圖15為執(zhí)行根據(jù)本公開的各種實(shí)施方式的區(qū)域設(shè)置方法的流程圖。
參考圖15,在操作1510中,電子裝置200可識別添加的存儲器。當(dāng)添加存儲器時,電子裝置200可通過熱插拔(熱插入、熱調(diào)換)識別添加的存儲器。在操作1510中,電子裝置200可從存儲器中檢索存儲器信息。存儲器信息可包括關(guān)于類型的信息、關(guān)于能力(大小)的信息以及關(guān)于數(shù)據(jù)處理速率的信息中的至少一種。
在操作1520中,電子裝置200可訪問指示區(qū)域配置策略的數(shù)據(jù)。區(qū)域配置策略設(shè)置用于在添加的存儲器中配置區(qū)域的規(guī)則。區(qū)域配置策略可存儲在區(qū)域配置策略表中,以及電子裝置200可訪問在區(qū)域配置策略表中的區(qū)域配置策略。
在操作1530中,電子裝置200可基于指示區(qū)域配置策略的數(shù)據(jù)和關(guān)于存儲器的信息確定待分配到添加的存儲器的區(qū)域。在本公開的各種實(shí)施方式中,電子裝置200可基于存儲器信息從區(qū)域配置策略表中選擇區(qū)域配置策略且可基于選定的區(qū)域配置策略確定待分配到存儲器的區(qū)域。
在本公開的各種實(shí)施方式中,區(qū)域配置策略可指示將新區(qū)域分配到添加的存儲器。
在本公開的各種實(shí)施方式中,區(qū)域配置策略可指示將先前配置的區(qū)域分配到添加的存儲器。在這種情況下,可將區(qū)域分配到現(xiàn)有存儲器和添加的存儲器;可替代地,可將區(qū)域分配到添加的存儲器,且同時可將不同區(qū)域重新分配到現(xiàn)有存儲器。
電子裝置200可根據(jù)操作1540的結(jié)果配置區(qū)域信息。電子裝置200可配置關(guān)于區(qū)域的區(qū)域信息,該區(qū)域已被確定為待分配到添加的存儲器的區(qū)域。電子裝置200可產(chǎn)生參數(shù),如結(jié)構(gòu)1400且可將區(qū)域信息存儲在該參數(shù)中。
圖16為示出根據(jù)本公開的各種實(shí)施方式的區(qū)域配置策略表的示圖。
參考圖16,區(qū)域配置策略表1600包括區(qū)域配置策略1610。區(qū)域配置策略1610指示名為“V zone.5”的區(qū)域以分配到添加的存儲器。
電子裝置200訪問在區(qū)域配置策略表1600中的區(qū)域配置策略1610,基于區(qū)域配置策略1610將區(qū)域“V zone.5”確定為待分配到添加的存儲器的區(qū)域并配置關(guān)于區(qū)域“V zone.5”的區(qū)域信息。
圖17為示出根據(jù)本公開的各種實(shí)施方式的應(yīng)用處理器的配置的框圖。
參考圖17,應(yīng)用處理器210可包括轉(zhuǎn)換器1710、DRAM控制器1720、NAND控制器1730和核心子系統(tǒng)1740。DRAM控制器1720連接到內(nèi)部存儲器232和轉(zhuǎn)換器1710,以及轉(zhuǎn)換器1710連接到外部存儲器1701。在這種情況下,外部存儲器1701可以是高速外部卡,例如,R卡。在圖2中所示的外部存儲器230可包括外部存儲器1701。
DRAM控制器1720可經(jīng)轉(zhuǎn)換器1710從外部存儲器1701訪問數(shù)據(jù)且可將數(shù)據(jù)存儲在內(nèi)部存儲器232或外部存儲器1701中。DRAM控制器1720可不通過轉(zhuǎn)換器1710從內(nèi)部存儲器232直接訪問數(shù)據(jù)且可將數(shù)據(jù)存儲在內(nèi)部存儲器232中。當(dāng)將外部存儲器1701插入電子裝置200中時,DRAM控制器1720識別插入的外部存儲器1701。在一些實(shí)施方式中,在操作1510中添加的存儲器可以是插入的外部存儲器1701,以及當(dāng)將外部存儲器1701插入電子裝置200中時,可能會發(fā)生在圖15中所示的操作。
轉(zhuǎn)換器1710可在DRAM接口與外部存儲器接口之間轉(zhuǎn)換。即,轉(zhuǎn)換器1710使電子裝置200將外部存儲器1701識別為系統(tǒng)存儲器。轉(zhuǎn)換器1710可轉(zhuǎn)換與內(nèi)部存儲器232或外部存儲器1701的接口并選擇性地向DRAM控制器1720提供內(nèi)部存儲器232和外部存儲器1701中的數(shù)據(jù),以及可選擇性地將已從DRAM控制器1720接收的數(shù)據(jù)存儲在內(nèi)部存儲器232和外部存儲器1701中。
轉(zhuǎn)換器1710是有益的,這是因?yàn)槠涫沟秒娮友b置200將外部存儲器(例如,R卡)識別為系統(tǒng)存儲器,從而防止現(xiàn)有基于NAND的交換存儲器的性能和壽命的降低。轉(zhuǎn)換器還移除了存在于相關(guān)技術(shù)的R卡技術(shù)中的交換負(fù)擔(dān),從而改善了電子裝置200的系統(tǒng)性能并使電子裝置200的所有數(shù)據(jù)類型都能夠存儲在外部中。此外,轉(zhuǎn)換器將增加電子裝置200的R卡使用率,這是因?yàn)檗D(zhuǎn)換器便于電子裝置200的存儲器的擴(kuò)展;以及使電子裝置200的內(nèi)部存儲器的容量最小化。在這方面上,電子裝置200的數(shù)據(jù)類型可包括應(yīng)用代碼、應(yīng)用數(shù)據(jù)、頁面緩存、驅(qū)動器數(shù)據(jù)、操作系統(tǒng)數(shù)據(jù)、順序應(yīng)用代碼、隨機(jī)應(yīng)用代碼、順序緩存、隨機(jī)緩存、私人應(yīng)用代碼、共享應(yīng)用代碼、私人應(yīng)用數(shù)據(jù)和共享應(yīng)用數(shù)據(jù)中的至少一種。
圖18為執(zhí)行根據(jù)本公開的各種實(shí)施方式的電子裝置存儲器管理方法的流程圖。
參考圖18,在操作1800中,電子裝置200可分析數(shù)據(jù)以識別待發(fā)送到存儲器230的數(shù)據(jù)的類型。例如,在操作1800中可識別加載到電子裝置的存儲器230上并進(jìn)行操作的數(shù)據(jù)的類型。
根據(jù)本公開的實(shí)施方式,在操作1800中由存儲器管理器識別數(shù)據(jù)類型的方法為分析數(shù)據(jù)的虛擬地址、數(shù)據(jù)的元數(shù)據(jù)(與數(shù)據(jù)一起傳送的附加信息)或因子信息等,其包括在具有請求的存儲器分配的軟件函數(shù)調(diào)用中。
根據(jù)本公開的實(shí)施方式,在操作1800中,電子裝置200可確認(rèn)數(shù)據(jù)是否需要小的初始建立時間。
根據(jù)本公開的實(shí)施方式,在操作1800中,電子裝置200可確認(rèn)數(shù)據(jù)類型需要高吞吐量還是低吞吐量。
根據(jù)本公開的實(shí)施方式,在操作1800中,電子裝置200可確認(rèn)數(shù)據(jù)是私人數(shù)據(jù)類型還是共享數(shù)據(jù)類型。
根據(jù)本公開的實(shí)施方式,在操作1800中,電子裝置200可確認(rèn)數(shù)據(jù)是順序類型還是隨機(jī)類型。
根據(jù)本公開的實(shí)施方式,在操作1800中,電子裝置200可根據(jù)在操作1800中確認(rèn)的數(shù)據(jù)類型分類確定(選擇)用于存儲數(shù)據(jù)的異構(gòu)存儲器。
例如,可根據(jù)實(shí)驗(yàn)確定分配策略。例如,當(dāng)通過將特定數(shù)據(jù)分配到第一存儲器235而非第二存儲器236將獲得更好的吞吐量時,可將特定數(shù)據(jù)分配到第一存儲器235。相反地,當(dāng)通過將特定數(shù)據(jù)分配到第二存儲器236而非第一存儲器235將獲得更好的吞吐量時,可將特定數(shù)據(jù)分配到第二存儲器236。
在操作1810中,電子裝置200可基于在操作1800中的分析結(jié)果并基于預(yù)設(shè)策略的至少一部分確定用于存儲數(shù)據(jù)中的一部分或全部的存儲器的至少一個類型。
在操作1810中,電子裝置200可確定將需要小的初始建立時間的數(shù)據(jù)分配到第二存儲器236,其具備具有相對較小的初始建立時間的存儲器特性。
在操作1810中,電子裝置200可確定將私人數(shù)據(jù)存儲在第一存儲器235中,以及可確定將共享數(shù)據(jù)存儲在第二存儲器236中。
在操作1810中,電子裝置200可確定將順序型數(shù)據(jù)存儲在第一存儲器235中,以及可確定將隨機(jī)型數(shù)據(jù)存儲在第二存儲器236中。
根據(jù)本公開的實(shí)施方式,電子裝置200可具有至少一個分配策略。多個分配策略可按彼此獨(dú)立或彼此交疊的方式進(jìn)行應(yīng)用。例如,可根據(jù)優(yōu)先級順序地交疊和復(fù)核多個分配策略。
例如,將假定系統(tǒng)已按交疊方式應(yīng)用基于“順序/隨機(jī)I/O數(shù)據(jù)分類”的分配策略和基于“共享/靜態(tài)數(shù)據(jù)分類”的分配策略。在數(shù)據(jù)同時具有“共享”和“隨機(jī)”類型的情況下,可確定不同的存儲器230來用于各個分配策略。在這種情況下,將“共享”的數(shù)據(jù)類型存儲在第一存儲器中的策略可具有比將“隨機(jī)”的數(shù)據(jù)類型存儲在第二存儲器中的策略更高的優(yōu)先級(權(quán)重),以及可做出最終確定以將數(shù)據(jù)存儲在第一存儲器中。
在本公開的實(shí)施方式中,在數(shù)據(jù)類型為“順序型”且“應(yīng)該具有低初始建立時間”的情況下,將“順序型”數(shù)據(jù)存儲在第一存儲器中的策略則可具有比將“具有低初始建立時間”的數(shù)據(jù)存儲在第二存儲器中的策略更高的優(yōu)先級,且可做出最終確定以將數(shù)據(jù)存儲在第一存儲器中。
隨了作為示例的上述情況外,可存在有關(guān)于各種分配策略組合的各種實(shí)施方式。
根據(jù)本公開的實(shí)施方式,應(yīng)用到電子裝置200的分配策略及其優(yōu)先級可以是根據(jù)電子裝置200的狀態(tài)的、對電子裝置200的變化的執(zhí)行驅(qū)動。
根據(jù)本公開的實(shí)施方式,基于多個分配策略的方法,電子裝置200可包括分配策略表,分配策略表由一系列的分配策略組成。電子裝置200可以參考分配策略表并確定將把數(shù)據(jù)分配到哪個存儲器。電子裝置200可選擇性地將在分配策略表中描述的分配策略中的至少一個應(yīng)用到系統(tǒng)。另外,分配策略表可包括關(guān)于各種分配策略組合的信息或關(guān)于根據(jù)分配策略的優(yōu)先級(權(quán)重)的信息。例如,分配策略表可包括關(guān)于將如何根據(jù)分配組合的所有情況的數(shù)量對給定的數(shù)據(jù)類型進(jìn)行分類的限定。
在操作1810中,電子裝置200可選擇性地使用存儲在表1中給定的上述分配策略表中的四個策略中的一部分或全部。例如,電子裝置200可從表1選擇策略2(存儲結(jié)構(gòu))和策略3(共享屬性)并按交疊方式使用它們。在這種情況下,關(guān)于同時具有“共享”和“隨機(jī)”類型的數(shù)據(jù),基于策略2確定的存儲器為第二存儲器,而基于策略3確定的存儲器為不同于第二存儲器的第一存儲器。
策略3的優(yōu)先級為1,而策略2的優(yōu)先級為2,且就這點(diǎn)而言,策略3具有高優(yōu)先級,以及電子裝置200可最終確定將數(shù)據(jù)存儲在第一存儲器中。
此外,盡管已在上述實(shí)施方式中基于雙路分類描述了分配策略,但可存在三個或更多異構(gòu)存儲裝置230,并且分配策略和分配策略表也可基于三路分類、四路分類或更高級別的分類而組成。
在操作1820中,電子裝置200可根據(jù)在操作1810中確定的異構(gòu)存儲器230確定用于存儲數(shù)據(jù)的區(qū)域。電子裝置200可通過附加地使用在圖11的操作1110中配置的區(qū)域信息或在圖15的操作1540中配置的區(qū)域信息,根據(jù)在操作1810中確定的異構(gòu)存儲器230確定用于存儲數(shù)據(jù)的區(qū)域。
例如,將假定已按圖13中所示配置了區(qū)域。即,當(dāng)在操作1810中確定的異構(gòu)存儲器230為第一存儲器235時,在操作1820中,電子裝置200確定將“正?!眳^(qū)域1311和“虛擬”區(qū)域1315中的一個作為用于存儲數(shù)據(jù)的區(qū)域。將假定已按圖13中所示配置了區(qū)域,使得當(dāng)在操作1810中確定的異構(gòu)存儲器為第二存儲器236時,電子裝置200確定將“高速存儲器”區(qū)域1317作為用于存儲數(shù)據(jù)的區(qū)域。
在操作1830中,電子裝置200可基于在操作1820中確定的區(qū)域?qū)⒃诓僮?800中進(jìn)行分析的數(shù)據(jù)的一部分或全部存儲在存儲器中。在這種情況下,可將數(shù)據(jù)的一部分或全部存儲在與所確定的區(qū)域相關(guān)聯(lián)的存儲器的存儲器空間中。例如,將假定已按圖13中所示配置了區(qū)域。即,當(dāng)已在操作1820中確定將“虛擬”區(qū)域1315作為用于存儲數(shù)據(jù)的區(qū)域時,將數(shù)據(jù)中的一部分或全部存儲在第一存儲器235的、用“虛擬”區(qū)域1315映射的存儲器空間中。
在本公開的各種實(shí)施方式中使用的“模塊”可指例如包括硬件、軟件和固件或者硬件、軟件和固件中的兩種或更多的組合的“單元”?!澳K”可與諸如單元、邏輯、邏輯塊、組件或電路的術(shù)語互換使用?!澳K”可以是集成組件或其一部分的最小單元?!澳K”可以是執(zhí)行一個或多個功能或其一部分的最小單元??蓹C(jī)械地或電子地實(shí)現(xiàn)“模塊”。例如,根據(jù)本公開的各種實(shí)施方式的“模塊”可包括已知的或要在將來開發(fā)的、用于執(zhí)行操作的專用IC(ASIC)芯片、場可編程門陣列(FPGA)和可編程邏輯裝置中的至少一個。
根據(jù)本公開的各種實(shí)施方式,根據(jù)本公開的各種實(shí)施方式的裝置(例如,其模塊或功能)或方法(例如,操作)中的至少一部分可由例如,以編程模塊的形式存儲在計算機(jī)可讀存儲介質(zhì)中的命令實(shí)現(xiàn)。當(dāng)指令由一個或多個處理器(例如,處理器120)實(shí)現(xiàn)時,一個或多個處理器可執(zhí)行與指令對應(yīng)的功能。計算機(jī)可讀存儲介質(zhì)可以是例如存儲器130。編程模塊中的至少一部分可例如由處理器210實(shí)現(xiàn)(例如,執(zhí)行)。編程模塊中的至少一部分可包括例如用于執(zhí)行一個或多個功能的模塊、程序、例程、指令集和/或進(jìn)程。
計算機(jī)可讀記錄介質(zhì)可包括:磁介質(zhì),諸如硬盤、軟盤和磁帶;光學(xué)介質(zhì),諸如光盤ROM(CD-ROM)和DVD;磁光介質(zhì),諸如光磁軟盤;以及專門配置用于存儲和執(zhí)行程序命令的硬件裝置,諸如ROM、RAM和閃存。另外,程序指令可包括:可使用解譯器在計算機(jī)中執(zhí)行的高級語言代碼;以及由編譯器生成的機(jī)器代碼。上述硬件裝置可被配置為作為一個或多個軟件模塊來進(jìn)行操作,從而執(zhí)行本公開的各種實(shí)施方式的操作,反之亦然。
根據(jù)本公開的模塊或編程模塊可包括所述組件元件中的至少一個,可省略組件元件中的一些,或可包括額外的組件元件??身樞虻?、并行地、重復(fù)地或按啟發(fā)式方式執(zhí)行根據(jù)本公開的各種實(shí)施方式的由模塊、編程模塊或其他組件元件執(zhí)行的操作。此外,可根據(jù)另一順序執(zhí)行一些操作或可省略一些操作,或者可添加其他操作。
根據(jù)本公開的各種實(shí)施方式,提供了用于存儲命令的存儲介質(zhì);命令被設(shè)置成當(dāng)由至少一個處理器執(zhí)行時,由至少一個處理器執(zhí)行至少一個操作;以及根據(jù)用于管理包括異構(gòu)存儲器的電子裝置的存儲器的方法的至少一個操作可包括下列操作:分析數(shù)據(jù);根據(jù)數(shù)據(jù)類型將數(shù)據(jù)分配到異構(gòu)存儲器;以及將分配的數(shù)據(jù)存儲在異構(gòu)存儲器中。
雖然已參考本公開的各種實(shí)施方式示出和描述了本公開,但本領(lǐng)域技術(shù)人員將理解的是,在不脫離如由所附權(quán)利要求及其等同物限定的本公開的精神和范圍的情況下,可對本公開做出形式和細(xì)節(jié)上的各種變化。