當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]引 言Flash 存儲(chǔ)器( Flash Memory) 是一種高可靠性、高密度的固態(tài)存儲(chǔ)器件。其存儲(chǔ)方式是完全非易失性的,掉電后可以保存數(shù)據(jù);可以在線寫入,并可按頁連續(xù)字節(jié)寫入,存取速

引 言

Flash 存儲(chǔ)器( Flash Memory) 是一種高可靠性、高密度的固態(tài)存儲(chǔ)器件。其存儲(chǔ)方式是完全非易失性的,掉電后可以保存數(shù)據(jù);可以在線寫入,并可按頁連續(xù)字節(jié)寫入,存取速度快,所以嵌入式系統(tǒng)通常使用Flash 存儲(chǔ)器作為存儲(chǔ)設(shè)備。 但Flash存儲(chǔ)器也存在著兩個(gè)主要缺陷:一是在重寫之前必須進(jìn)行擦除,因?yàn)镕lash 存儲(chǔ)器劃分成很多擦除塊(SectorOErase) ,對(duì)任何一位數(shù)據(jù)進(jìn)行修改必須先擦除整個(gè)塊(Sector) ;二是擦除塊的擦除次數(shù)有限,當(dāng)一個(gè)塊提前達(dá)到擦除次數(shù)上限時(shí), 將導(dǎo)致整個(gè)Flash 存儲(chǔ)器無法使用。 所以,目前PC 機(jī)上很多成熟的基于磁盤的文件系統(tǒng)在Flash 存儲(chǔ)器上使用都存在著不足。

嵌入式系統(tǒng)應(yīng)具有的特點(diǎn): 一是高可靠性,在惡劣環(huán)境下系統(tǒng)仍能正常工作;二是低消耗,受成本限制系統(tǒng)設(shè)計(jì)必須量體裁衣,去除冗余;三是高效率,在占用較少資源情況下保證功能需求,這樣就要求算法簡(jiǎn)單,效率高。 而日志文件系統(tǒng)(Log-St ruct ured File System) 在數(shù)據(jù)更新時(shí)無需將數(shù)據(jù)寫入原存儲(chǔ)區(qū)域,適應(yīng)Flash 存儲(chǔ)器無法進(jìn)行重寫這一特點(diǎn)。 目前,針對(duì)Flash 存儲(chǔ)器的缺陷而設(shè)計(jì)的Linux 下的J FFS 文件系統(tǒng),就是采用簡(jiǎn)化的日志文件系統(tǒng)。 J FFS 文件系統(tǒng)將磨損均衡集成于清除機(jī)制之中,在帶來掉電可恢復(fù)功能的同時(shí),大大減少了塊擦除的次數(shù),提高了文件系統(tǒng)的存取速度和效率。 但是,J FFS 文件系統(tǒng)無法單獨(dú)使用,或者使用于其它實(shí)時(shí)操作系統(tǒng)中。 對(duì)由于受成本和實(shí)時(shí)性限制而無法使用Linux 的一些嵌入式系統(tǒng),也就無法使用J FFS 文件系統(tǒng)。基于上述分析,該嵌入式文件系統(tǒng)適合在開源實(shí)時(shí)操作系統(tǒng)(如μC/OS-II) 和無操作系統(tǒng)的情況下使用。

嵌入式文件系統(tǒng)原理

在日志文件系統(tǒng)中,一個(gè)文件被修改后不是被寫入到原來的存儲(chǔ)空間,而是被加到所有內(nèi)容的后面,象日志一樣被更新,這就是日志文件系統(tǒng)的基本原理。由于同一個(gè)文件在文件系統(tǒng)中會(huì)留下不同的版本,所以系統(tǒng)需要設(shè)置一張表標(biāo)注文件的最新與以前的版本。在內(nèi)容不斷添加時(shí)為不將存儲(chǔ)空間占滿,系統(tǒng)設(shè)計(jì)了一種回收機(jī)制,回收無效內(nèi)容占用的空間。

日志文件系統(tǒng)在文件更新時(shí)不用將文件寫回原來的地址,這對(duì)Flash 存儲(chǔ)器這種存儲(chǔ)介質(zhì)最為適合。 文中所設(shè)計(jì)的嵌入式文件系統(tǒng)采用了日志文件系統(tǒng)的設(shè)計(jì)原理,以及J FFS 文件系統(tǒng)將磨損均衡集成于清除機(jī)制之中的方法。 該系統(tǒng)將一個(gè)可擦寫塊平分為多個(gè)簇,文件的讀寫以簇為單位進(jìn)行。簇的狀態(tài)有3 種:臟、干凈和空。臟表示所存內(nèi)容已被置為無效;干凈表示所存數(shù)據(jù)有效;空表示可以寫入數(shù)據(jù)。文件和目錄在該系統(tǒng)中被作為節(jié)點(diǎn),一個(gè)節(jié)點(diǎn)占用若干個(gè)簇,節(jié)點(diǎn)中的內(nèi)容連續(xù)存儲(chǔ),但不能越過塊邊界存儲(chǔ)。該系統(tǒng)設(shè)置一個(gè)索引節(jié)點(diǎn),保存整個(gè)系統(tǒng)的信息,其中包含保存有各簇狀態(tài)的簇狀態(tài)表。

每一次文件更新后內(nèi)容都將被添加至末尾處,索引節(jié)點(diǎn)也被更新,總是占用最末尾的干凈簇。 回收臟簇時(shí),將所要擦除塊中的干凈簇重寫到空簇中,再進(jìn)行塊擦除。 當(dāng)內(nèi)容寫至存儲(chǔ)體末端,則從頭部重新開始循環(huán)存儲(chǔ)。 所設(shè)計(jì)的文件系統(tǒng)的操作過程見圖1。

 


嵌入式文件系統(tǒng)設(shè)計(jì)

Flash 存儲(chǔ)器中的存儲(chǔ)結(jié)構(gòu)

Flash 存儲(chǔ)器中的存儲(chǔ)結(jié)構(gòu)見圖2。 該存儲(chǔ)器中每個(gè)簇的第一個(gè)字作為簇的狀態(tài)字,表示此簇是否為一個(gè)節(jié)點(diǎn)的首簇或空簇。 每個(gè)節(jié)點(diǎn)的首部存放此節(jié)點(diǎn)屬性(文件/目錄/索引節(jié)點(diǎn)) 和節(jié)點(diǎn)標(biāo)識(shí)號(hào)。

 


索引節(jié)點(diǎn)

索引節(jié)點(diǎn)存放該文件系統(tǒng)的大部分信息。 包括32 位的索引節(jié)點(diǎn)更新號(hào)、一張簇狀態(tài)表、下一個(gè)要被擦除塊的塊號(hào)、給下一個(gè)新建節(jié)點(diǎn)(文件或目錄) 的節(jié)點(diǎn)編號(hào)、系統(tǒng)根目錄信息表。系統(tǒng)每一次更新都會(huì)產(chǎn)生新的索引節(jié)點(diǎn),索引節(jié)點(diǎn)更新號(hào)加1。 按照Flash 存儲(chǔ)器的使用壽命10 年計(jì)算,需要每秒更新136 次以上,才能達(dá)到索引節(jié)點(diǎn)更新號(hào)的上限,所以認(rèn)為擁有最大更新號(hào)的索引節(jié)點(diǎn)為最新的索引節(jié)點(diǎn)。簇狀態(tài)表中對(duì)應(yīng)每一個(gè)簇有兩個(gè)Bit 位,表示各個(gè)簇的狀態(tài)(干凈01 ,臟11 ,空00) 。根目錄信息表存放根目錄下的各個(gè)目錄項(xiàng),每個(gè)目錄項(xiàng)包括:屬性(文件0x1/目錄0x0) 、文件名或目錄名、節(jié)點(diǎn)編號(hào)、此文件(或目錄) 對(duì)應(yīng)節(jié)點(diǎn)的起始簇地址、根目錄表的大小可變。

目錄節(jié)點(diǎn)

目錄節(jié)點(diǎn)存放的內(nèi)容有目錄名,目錄項(xiàng)個(gè)數(shù),及所有目錄項(xiàng)信息。 文件節(jié)點(diǎn)存放文件名,文件大小,文件屬性及文件內(nèi)容,內(nèi)存中的目錄結(jié)構(gòu)見圖3。

 


內(nèi)存數(shù)據(jù)結(jié)構(gòu)及基本操作

該文件系統(tǒng)載入(Mount ) 后,會(huì)在內(nèi)存中建立一個(gè)系統(tǒng)的映象。該映象包括:索引節(jié)點(diǎn)中的信息、目錄及文件信息、每個(gè)可擦寫塊中包含的節(jié)點(diǎn)信息、未存盤的節(jié)點(diǎn)信息。簇狀態(tài)表、索引節(jié)點(diǎn)更新號(hào)、新節(jié)點(diǎn)編號(hào)、下一擦除塊號(hào)等索引節(jié)點(diǎn)中的內(nèi)容,在內(nèi)存中均作為不同的變量。內(nèi)存中為每個(gè)文件和目錄都建立了映象,數(shù)據(jù)結(jié)構(gòu)見圖4 和圖5。


 

內(nèi)存中的文件節(jié)點(diǎn)不包含文件真正的數(shù)據(jù),而使用指針。文件被打開時(shí),在內(nèi)存中創(chuàng)建一塊新存儲(chǔ)區(qū)域存放數(shù)據(jù),數(shù)據(jù)指針便指向此存儲(chǔ)區(qū),未被打開時(shí),此指針指向空。 對(duì)于每個(gè)目錄有1 個(gè)目錄層數(shù),表示此目錄的深度,如根目錄的目錄層數(shù)為0 ,根目錄的下一級(jí)目錄則為1 ,依此類推。 存儲(chǔ)地址保存文件或目錄在Flash 中的地址。文件和目錄都被存在上一級(jí)目錄下,所屬目錄指針即指向上一級(jí)目錄在內(nèi)存中的數(shù)據(jù)結(jié)構(gòu),根目錄的所屬目錄指針即為空。對(duì)于同目錄下的不同節(jié)點(diǎn),在內(nèi)存中使用鏈表將其串聯(lián),同目錄文件指針即聯(lián)成鏈表。 鏈表的首指針保存在上一級(jí)目錄中,首目錄項(xiàng)指針即指向鏈表的首項(xiàng)。為提高塊擦寫的效率,存儲(chǔ)在同一個(gè)可擦寫塊中的各個(gè)節(jié)點(diǎn)在內(nèi)存中也建立一個(gè)鏈表,塊隊(duì)列指針即用于連成此鏈表。為標(biāo)識(shí)被修改的節(jié)點(diǎn),利用一個(gè)未保存隊(duì)列,未保存隊(duì)列指針即用來建立此隊(duì)列。[!--empirenews.page--]

該文件系統(tǒng)載入(mount ) 時(shí),首先順序掃描Flash 中的每個(gè)索引節(jié)點(diǎn),查找出最大的索引節(jié)點(diǎn)更新號(hào),此更新號(hào)對(duì)應(yīng)的索引節(jié)點(diǎn)即為最新的索引節(jié)點(diǎn)。查找到最新索引節(jié)點(diǎn)后,將簇狀態(tài)表等信息映射到內(nèi)存的數(shù)據(jù)結(jié)構(gòu)中。依據(jù)索引節(jié)點(diǎn)中的根目錄信息,遍歷所有節(jié)點(diǎn),建立內(nèi)存中的目錄文件結(jié)構(gòu),并將節(jié)點(diǎn)添加到對(duì)應(yīng)的擦寫塊隊(duì)列中。 對(duì)一個(gè)文件編輯并保存的過程見圖6。

 


文件打開時(shí),先在內(nèi)存中分配一塊空間作為數(shù)據(jù)區(qū),將內(nèi)容寫入,并定位文件節(jié)點(diǎn)的數(shù)據(jù)指針指向該內(nèi)存中的數(shù)據(jù)區(qū)。如果文件內(nèi)容被修改,就將文件節(jié)點(diǎn)添加到未存盤隊(duì)列,依次寫入Flash 存儲(chǔ)器中,并修改簇狀態(tài)表。 保存時(shí)將內(nèi)存中數(shù)據(jù)區(qū)內(nèi)容寫入Flash 中,釋放申請(qǐng)的內(nèi)存空間,修改節(jié)點(diǎn)中的數(shù)據(jù)指針和簇狀態(tài)表,再將文件的所有上級(jí)目錄重新寫入Flash ,最后將更新后的索引節(jié)點(diǎn)內(nèi)容寫入Flash。如果文件未被修改,則只需修改數(shù)據(jù)指針即可。

節(jié)點(diǎn)加入未存盤隊(duì)列的順序按照目錄層數(shù)的大小排列,文件節(jié)點(diǎn)排在隊(duì)列首,目錄層數(shù)最大的排在其后,目錄層數(shù)為1 的排在隊(duì)列末尾,根目錄不加入未存盤隊(duì)列。

嵌入式文件系統(tǒng)特殊處理機(jī)制

均衡擦寫機(jī)制

為了避免任意一個(gè)可擦除塊因擦寫次數(shù)過多而過早報(bào)廢,文件系統(tǒng)對(duì)Flash擦寫時(shí)采用了均衡擦寫機(jī)制。 考慮到系統(tǒng)的精簡(jiǎn)性,擦寫在整片F(xiàn)lash 的各塊中依次進(jìn)行,一塊擦寫完后,下一個(gè)被擦寫的塊即為后一個(gè)塊,在系統(tǒng)的索引節(jié)點(diǎn)中保存了下一個(gè)要擦除的塊號(hào)。當(dāng)文件系統(tǒng)中的剩余空間減少到設(shè)定值時(shí),系統(tǒng)會(huì)擦除此塊,以回收臟簇占用的空間。對(duì)應(yīng)每個(gè)可擦寫塊都有一個(gè)節(jié)點(diǎn)隊(duì)列,此塊中包含的節(jié)點(diǎn)都加入其中。塊擦除的流程見圖7。


首先,將未保存于隊(duì)列中的節(jié)點(diǎn)保存,清未保存隊(duì)列。 然后將塊隊(duì)列中的所有文件節(jié)點(diǎn)轉(zhuǎn)移到空簇中,同時(shí)將文件路徑上的各級(jí)目錄加入到未存盤隊(duì)列中。對(duì)于塊隊(duì)列中的目錄節(jié)點(diǎn),則將它和其路徑上的各級(jí)目錄加入未存盤隊(duì)列中,按照未保存隊(duì)列的順序,依次將各個(gè)目錄寫入Flash 中,最后寫入最新的索引節(jié)點(diǎn)。因?yàn)槟夸浌?jié)點(diǎn)加入未存盤隊(duì)列時(shí),按照目錄層數(shù)的大小排列,所以按照未保存隊(duì)列的順序?qū)懭霑r(shí),可以保證當(dāng)一個(gè)目錄要被寫入 Flash 時(shí),它的所有下級(jí)目錄已被寫入Flash 中。 所有下級(jí)目錄在Flash 中的存儲(chǔ)地址都已確定。當(dāng)該文件系統(tǒng)的空間將達(dá)到存儲(chǔ)上限時(shí),可能會(huì)出現(xiàn)特殊情況,即廢簇回收時(shí),空簇的空間不足,無法將所有干凈簇重寫。文件系統(tǒng)為此建立了應(yīng)急機(jī)制,先將文件節(jié)點(diǎn)內(nèi)容存在內(nèi)存中,這時(shí)新建一個(gè)臨時(shí)未保存隊(duì)列,專門保存文件節(jié)點(diǎn),在塊擦寫完成后,將剩余的文件節(jié)點(diǎn)寫入新的空簇中,其算法與圖7 所示流程大致相同。 但是,一旦在擦寫時(shí)斷電,會(huì)導(dǎo)致該塊上的所有數(shù)據(jù)丟失。

斷電錯(cuò)誤處理機(jī)制

當(dāng)系統(tǒng)遭遇斷電重新啟動(dòng)后,索引節(jié)點(diǎn)中的信息會(huì)與系統(tǒng)中的狀態(tài)不符,這時(shí)便需要錯(cuò)誤處理機(jī)制。 錯(cuò)誤一般是索引節(jié)點(diǎn)中標(biāo)注的空簇已被寫入了數(shù)據(jù),錯(cuò)誤處理就是將此簇標(biāo)志為臟簇,并查找下一個(gè)空簇重新寫入。

多任務(wù)處理機(jī)制

該文件系統(tǒng)允許同時(shí)打開多個(gè)文件,在多任務(wù)操作系統(tǒng)下,為了避免沖突建立了多任務(wù)處理機(jī)制。系統(tǒng)允許打開的多個(gè)文件在內(nèi)存中同時(shí)被編輯修改,但是對(duì) Flash 寫入操作有限制。 處理方法是設(shè)立Flash 寫入保護(hù)區(qū),在此區(qū)中只允許當(dāng)前正在執(zhí)行的任務(wù)執(zhí)行Flash 寫入操作。 實(shí)現(xiàn)Flash 寫入保護(hù)區(qū)的方法是建立一個(gè)初始值為1 的信號(hào)量,當(dāng)一個(gè)節(jié)點(diǎn)需要Flash 寫入時(shí),首先申請(qǐng)信號(hào)量,完成后再釋放信號(hào)量。 Flash 寫入保護(hù)區(qū)見圖6 、圖7。在圖6 中,空操作語句是用來對(duì)多個(gè)文件的保存進(jìn)行同步。 例如,有文件1 和文件2 需要保存,先將文件1 的內(nèi)容寫入Flash 中,文件1 路徑下的目錄節(jié)點(diǎn)被添加到未保存隊(duì)列中,再將文件2 的內(nèi)容寫入Flash 中,文件2 路徑下的目錄節(jié)點(diǎn)也被添加到未保存隊(duì)列中,最后將未保存隊(duì)列中的所有節(jié)點(diǎn)都寫入Flash 中。這樣,如果同一路徑下的兩個(gè)文件同時(shí)存盤,可避免路徑下的相同目錄節(jié)點(diǎn)被寫入兩次,從而提高了效率。不足之處在于,如果很多文件同時(shí)存盤,會(huì)導(dǎo)致索引節(jié)點(diǎn)在一段時(shí)間內(nèi)都無法寫入Flash 存儲(chǔ)器,有斷電丟失的危險(xiǎn)。但對(duì)于一般嵌入式系統(tǒng)來說,很少會(huì)碰到這種情況。當(dāng)進(jìn)行Flash存儲(chǔ)器擦寫時(shí),在取塊隊(duì)列首節(jié)點(diǎn)至索引節(jié)點(diǎn)寫入完成這段時(shí)間內(nèi)都不允許進(jìn)行其他Flash 存儲(chǔ)器的寫入操作,這是為了保證數(shù)據(jù)的完整性,同時(shí)也提高了文件系統(tǒng)的穩(wěn)定性。

無目錄文件系統(tǒng)的優(yōu)化

許多嵌入式系統(tǒng)設(shè)計(jì)中雖沒有目錄管理的要求,但是對(duì)執(zhí)行效率和資源消耗的要求較高。 對(duì)于不要求有目錄管理的精簡(jiǎn)文件系統(tǒng),在設(shè)計(jì)時(shí)也進(jìn)行了優(yōu)化。精簡(jiǎn)文件系統(tǒng)在Flash 中的存儲(chǔ)格式與上述設(shè)計(jì)相同,文件系統(tǒng)中的所有文件信息都保存在索引節(jié)點(diǎn)的根目錄信息表中。精簡(jiǎn)文件系統(tǒng)在內(nèi)存中的映象則要簡(jiǎn)單很多,只包含索引節(jié)點(diǎn)中的信息,包括簇狀態(tài)表、下一個(gè)擦除塊、下一個(gè)新節(jié)點(diǎn)的標(biāo)號(hào)和根目錄信息,而不用為每個(gè)文件都建立內(nèi)存中的映象,節(jié)省大量的內(nèi)存空間。 文件的編輯存盤過程簡(jiǎn)化為:打開文件、編輯、將文件寫入Flash 存儲(chǔ)器、將修改后的索引節(jié)點(diǎn)寫入Flash 存儲(chǔ)器。擦寫則只需通過查詢根目錄信息表中的各個(gè)目錄項(xiàng),將塊中的所有文件節(jié)點(diǎn)寫入空簇即可。在無目錄管理的情況下,精簡(jiǎn)文件系統(tǒng)占用的內(nèi)存資源可以減少,操作也可便捷,提高了效率。 對(duì)于大量只需要按名存取的簡(jiǎn)單文件管理的小型嵌入式系統(tǒng)而言,針對(duì)Flash 存儲(chǔ)器的簡(jiǎn)單文件系統(tǒng)將占用資源少,執(zhí)行效率高,有很大的應(yīng)用價(jià)值。

嵌入式文件系統(tǒng)實(shí)現(xiàn)及性能分析

該文件系統(tǒng)的實(shí)現(xiàn)采用了分層方法,分為3 層4 個(gè)部分:應(yīng)用程序接口、文件系統(tǒng)核心、操作系統(tǒng)調(diào)用接口、Flash 存儲(chǔ)器驅(qū)動(dòng),實(shí)現(xiàn)結(jié)構(gòu)見圖8。

 

[!--empirenews.page--]

實(shí)現(xiàn)平臺(tái)中RTOS 為μC/OSOII 實(shí)時(shí)操作系統(tǒng),CPU 使用三星S4510B作為處理器,F(xiàn)lash 存儲(chǔ)器芯片為FUJ ITSU 的29LV160 TE。 針對(duì)不同的實(shí)時(shí)操作系統(tǒng)和Flash 存儲(chǔ)器芯片需要實(shí)現(xiàn)不同的操作系統(tǒng)接口和Flash 存儲(chǔ)器驅(qū)動(dòng)。

針對(duì)μC/ OSOII 編寫操作系統(tǒng)調(diào)用接口,包括5個(gè)函數(shù): ①系統(tǒng)調(diào)用接口初始化FS_Sys_Interface_Init ( ) ,創(chuàng)建互斥信號(hào)量和內(nèi)存分區(qū); ② Flash 寫入關(guān)閉FS_Sys_Write_Lock ( ) ,禁止Flash 寫入操作,調(diào)用μC/OS-II 中OSMutePend ( ) ; ③ Flash寫入打開FS_Sys_Write_Unlock ( ) ,重新允許Flash 寫入操作,調(diào)用μC/OS-II 中OSMutePost() ; ④內(nèi)存空間申請(qǐng)F(tuán)S_Sys_Mem_Alloc( ) 和內(nèi)存空間添加FS_Sys_Mem_Add ( ) , 都調(diào)用OSMemGet ( ) 來完成; ⑤內(nèi)存空間釋放FS_Sys_Mem_Free ( ) ,調(diào)用OSMemPut ( ) 完成,將申請(qǐng)的內(nèi)存塊全部釋放。針對(duì)29LV160 TE 這款Flash 存儲(chǔ)器芯片,定義一個(gè)FlashDef 結(jié)構(gòu)體的全局變量, 用于存儲(chǔ)Flash 器件信息,并且編寫針對(duì)此款Flash 的塊擦寫函數(shù)FS_Device_Sector_Erase ( ) 和數(shù)據(jù)寫入函數(shù)FJ FS_Device_Write ( ) 。

完成這兩部分的實(shí)現(xiàn)后,該系統(tǒng)就可運(yùn)行調(diào)試。 測(cè)試應(yīng)用程序接口(API) 。應(yīng)該提供的各部分功能,并在突然斷電情況下,測(cè)試文件系統(tǒng)的恢復(fù)情況。無目錄管理的精簡(jiǎn)文件系統(tǒng)的載入,可在2μs內(nèi)完成,文件寫入耗時(shí)主要為閃存的等待時(shí)間,系統(tǒng)本身只占用不到200 個(gè)字節(jié)的內(nèi)存,產(chǎn)生的代碼段大小為7 K。完整的文件系統(tǒng)載入時(shí),需要建立內(nèi)存中映象,耗時(shí)根據(jù)文件數(shù)量的多少而不同,一般為10μs ,產(chǎn)生的代碼段大小為11 K。系統(tǒng)寫入效率較高,在無目錄管理的配置下尤其明顯。試驗(yàn)中系統(tǒng)在多次斷電的情況下,系統(tǒng)仍能恢復(fù)至上次存盤的狀態(tài),雖會(huì)導(dǎo)致個(gè)別文件未更新,但不會(huì)導(dǎo)致文件系統(tǒng)崩潰。

結(jié) 語

針對(duì)Flash 存儲(chǔ)器的固有缺陷設(shè)計(jì)了一種基于Flash 存儲(chǔ)器的嵌入式文件系統(tǒng)。 在文件讀寫時(shí),極大減少了Flash 存儲(chǔ)器擦寫的次數(shù),提高了效率。 此系統(tǒng)代碼精簡(jiǎn),運(yùn)行時(shí)占用內(nèi)存資源少,運(yùn)行效率高,而且有斷電保護(hù),有較高的安全性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉