專利名稱:嵌入式設(shè)備中大容量Nandflash存儲空間的共享方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式技術(shù),特別涉及嵌入式產(chǎn)品的存儲空間的管理和共享。
背景技術(shù):
當(dāng)前的嵌入式產(chǎn)品,尤其是具有多媒體功能的嵌入式電子消費(fèi)品中很多都開始選用2 GB以上的大容量的Nandflash作為存儲設(shè)備,并且需要和PC或其他的嵌入式設(shè)備進(jìn)行互聯(lián)。 但是由于大容量的Nandflash與以往的小容量Nandflash相比,其每個基本block單元容量更 大,尋址空間增大后則需要更多的片選信號線,時序要求也有變化,另外考慮到磨損均衡, Nandflash必須使用JFFS或者YAFFS文件系統(tǒng),而通常要與這些嵌入式產(chǎn)品互聯(lián)的PC等其他 設(shè)備預(yù)裝的操作系統(tǒng)(如Windows)是不識別JFFS或者YAFFS文件系統(tǒng)的,這樣就極不利于 大容量的Nandflash存儲空間在與其他廣泛使用的設(shè)備互聯(lián)時的共享和管理。
發(fā)明內(nèi)容
本發(fā)明提出了一種實(shí)現(xiàn)了采用大容量Nandflash的嵌入式設(shè)備與不同產(chǎn)品或平臺實(shí)現(xiàn)共 享的方法。
本發(fā)明為解決上述技術(shù)問題所采用的技術(shù)方案是,嵌入式設(shè)備中大容量Nandflash存儲 空間的共享方法,包括以下步驟
a、 嵌入式設(shè)備利用系統(tǒng)中的文件后備存儲模塊,將大容量Nandflash中任意大小的物理 存儲空間虛擬化為一個或多個邏輯單元;
b、 嵌入式設(shè)備將所述各邏輯單元的信息一一對應(yīng)地保存在文件后備存儲模塊的后備存 儲文件中;判斷目標(biāo)設(shè)備的操作系統(tǒng)是否與本嵌入式設(shè)備相同,如是,進(jìn)入步驟d;如否, 進(jìn)入步驟c;
C、嵌入式設(shè)備在所述邏輯單元中創(chuàng)建與目標(biāo)設(shè)備相適應(yīng)的文件系統(tǒng)后,進(jìn)入步驟d;
d、目標(biāo)設(shè)備從文件后備存儲模塊中的后備存儲文件識別邏輯單元,從而對邏輯單元中 的大容量Nandflash數(shù)據(jù)進(jìn)行訪問或操作。
為保證共享訪問和操作的安全可靠,當(dāng)嵌入式設(shè)備是基于Li皿x操作系統(tǒng)時,利用 Li皿x操作系統(tǒng)的netlink通信機(jī)制,實(shí)現(xiàn)本機(jī)和互聯(lián)目標(biāo)設(shè)備對Nandflash空間的互斥訪問 和操作。
本發(fā)明的有益效果是,擴(kuò)展了大容量Nandflash嵌入式設(shè)備與其它設(shè)備交互時的適應(yīng)性。
具體實(shí)施例方式
本實(shí)施例所述嵌入式設(shè)備基于RMI AU1200芯片和Li皿x 2.6操作系統(tǒng),選用了4 GB的 Nandflash存儲器,使用符合USB OTG (USB數(shù)據(jù)交換控制)規(guī)范的Mini AB型USB插座接口, 從而可以使該產(chǎn)品成為兼具h(yuǎn)ost (主設(shè)備)和device (從設(shè)備)的雙功能設(shè)備,便于與PC或 其他嵌入式設(shè)備互聯(lián),并采用SD卡或Mini SD卡保存文件系統(tǒng)。在該嵌入式設(shè)備的UDC模塊( usb device control, USB設(shè)備控制)和U0C模塊(usb otg control, USB數(shù)據(jù)交換控制)的 驅(qū)動程序以及主應(yīng)用程序中,依據(jù)net 1 ink通信機(jī)制分別創(chuàng)建好內(nèi)核態(tài)和用戶態(tài)下的 netlink套接字。
在嵌入式設(shè)備的啟動過程中,首先調(diào)用如下命令
dd bs=lM count=Num if = /dev/zero of = /backing—file
dd命令從if參數(shù)指定的輸入文件中以input-block為單位進(jìn)行數(shù)據(jù)讀取,然后將讀出的 內(nèi)容以output-block為單位復(fù)制存儲到of參數(shù)指定的目標(biāo)文件中。此處指定的輸入文件 /dev/zero為Li皿x中一個特殊的設(shè)備文件,代表一個永遠(yuǎn)輸出0的設(shè)備文件,bs^M參數(shù)表 示input-block和output-block大小為均設(shè)定為l MB, count參數(shù)則指定將要讀取并進(jìn)行存儲 復(fù)制的block的總數(shù)為Num。
最終此命令在of參數(shù)指定的文件系統(tǒng)位置處創(chuàng)建一個名為backing—file的backing storage空文件(后備存儲文件),用以虛擬Num兆字節(jié)(MB)大小的磁盤分區(qū);然后調(diào)用 Linux命令將backing—file作為參數(shù)傳遞給FSG模塊(File-backed Storage Gadget,文件后 備存儲模塊)載入內(nèi)核,利用FSG模塊對USB大容量存儲設(shè)備類的支持,從而由Nandflash劃 分出指定大小的存儲空間并以一個LUN (Logical unit number,邏輯單元)的形式提供給任 何互聯(lián)的目標(biāo)設(shè)備;設(shè)備啟動成功后,嵌入式設(shè)備應(yīng)用程序會和內(nèi)核的UDC和UOC模塊通過 netlink套接字建立連接,當(dāng)嵌入式設(shè)備通過USB 0TG接口和目標(biāo)設(shè)備相連時,目標(biāo)設(shè)備就會 識別到LUN,然后內(nèi)核通過netlink機(jī)制通知應(yīng)用程序不能使用Nandflash,然后再按照目標(biāo) 設(shè)備上的操作系統(tǒng)所支持的文件系統(tǒng)格式對LUN進(jìn)行格式化,這一步工作既可以通過Linux自 帶的fdisk工具實(shí)現(xiàn),也可以通過互聯(lián)目標(biāo)設(shè)備上的操作系統(tǒng)本身的工具實(shí)現(xiàn)。當(dāng)嵌入式設(shè) 備和目標(biāo)設(shè)備斷開時,內(nèi)核通過netlink機(jī)制通知應(yīng)用程序可以使用Nandflash,并且所創(chuàng)建 的backing—f ile會仍然有效,下次再次連接時就不用重復(fù)創(chuàng)建該文件的工作了 。
權(quán)利要求
權(quán)利要求1嵌入式設(shè)備中大容量Nandflash存儲空間的共享方法,其特征在于,包括以下步驟a、嵌入式設(shè)備利用系統(tǒng)中的文件后備存儲模塊,將大容量Nandflash中任意大小的物理存儲空間虛擬化為一個或多個邏輯單元;b、嵌入式設(shè)備將所述各邏輯單元的信息一一對應(yīng)地保存在文件后備存儲模塊的后備存儲文件中;判斷目標(biāo)設(shè)備的操作系統(tǒng)是否與本嵌入式設(shè)備相同,如是,進(jìn)入步驟d;如否,進(jìn)入步驟c;c、嵌入式設(shè)備在所述邏輯單元中創(chuàng)建與目標(biāo)設(shè)備相適應(yīng)的文件系統(tǒng)后,進(jìn)入步驟d;d、目標(biāo)設(shè)備從文件后備存儲模塊中的后備存儲文件識別邏輯單元,從而對邏輯單元中的大容量Nandflash數(shù)據(jù)進(jìn)行訪問或操作。
2.如權(quán)利要求l所述嵌入式設(shè)備中大容量Nandflash存儲空間的共享 方法,其特征在于,步驟d中,利用netlink通信機(jī)制實(shí)現(xiàn)目標(biāo)設(shè)備對大容量Nandflash數(shù)據(jù) 進(jìn)行訪問或操作。
3.如權(quán)利要求l所述嵌入式設(shè)備中大容量Nandflash存儲空間的共享 方法,其特征在于,步驟d中,目標(biāo)設(shè)備通過USB接口從文件后備存儲模塊的后備存儲文件識 別邏輯單元。
全文摘要
本發(fā)明涉及嵌入式產(chǎn)品的存儲空間的管理和共享。本發(fā)明提出了一種實(shí)現(xiàn)了采用大容量Nandflash的嵌入式設(shè)備與不同產(chǎn)品或平臺實(shí)現(xiàn)共享的方法,包括以下步驟a.將大容量Nandflash中任意大小的物理存儲空間虛擬化為一個或多個邏輯單元;b.將所述各邏輯單元的信息一一對應(yīng)地保存在文件后備存儲模塊的后備存儲文件中;判斷目標(biāo)設(shè)備的操作系統(tǒng)是否與本嵌入式設(shè)備相同,如是,進(jìn)入步驟d;如否,進(jìn)入步驟c;c.在所述邏輯單元中創(chuàng)建與目標(biāo)設(shè)備相適應(yīng)的文件系統(tǒng)后,進(jìn)入步驟d;d.目標(biāo)設(shè)備從文件后備存儲模塊中的后備存儲文件識別邏輯單元,從而對邏輯單元中的大容量Nandflash數(shù)據(jù)進(jìn)行訪問或操作。本發(fā)明擴(kuò)展了大容量Nandflash嵌入式設(shè)備與其它設(shè)備交互時的適應(yīng)性。
文檔編號G06F12/02GK101419572SQ200810305639
公開日2009年4月29日 申請日期2008年11月20日 優(yōu)先權(quán)日2008年11月20日
發(fā)明者曉 周 申請人:四川長虹電器股份有限公司