欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種申威平臺支持NVMe硬盤啟動的實現(xiàn)方法與流程

文檔序號:11729176閱讀:431來源:國知局

本發(fā)明涉及一種申威平臺支持nvme硬盤啟動的實現(xiàn)方法,屬于申威處理器計算機系統(tǒng)設(shè)計技術(shù)領(lǐng)域。



背景技術(shù):

ssd(solidstatedrives)硬盤一般采用sata接口、sas或光線與計算機其他部件相連,但是,sata接口是為機械硬盤設(shè)計的,隨著ssd硬盤的迅猛發(fā)展,已成為提高ssd硬盤性能的阻礙。在nvme(non-volatilememoryexpress)標準推出之前,高端ssd硬盤已經(jīng)開始采用pcie總線作為其接口,但沒有統(tǒng)一的規(guī)范。隨著nvme標準的推出,各廠商的ssd硬盤無需再開發(fā)單獨的驅(qū)動,在系統(tǒng)下只需要一個nmve驅(qū)動就可驅(qū)動所有廠商的標準硬盤。

nvme作為非失性存儲器標準,利用基于閃存的存儲設(shè)備的低延遲和內(nèi)部并行性,滿足了當代cpu、平臺和應(yīng)用程序的并行性需求。通過其設(shè)計,nvme允許ssd硬盤中的并行性可以被主機硬件和軟件充分利用;與先前的邏輯設(shè)備接口相比,其減少了i/o開銷,并帶來了各種性能改進,包括更低的延時、更高的傳輸性能和更低的功耗,極大地提高了數(shù)據(jù)的讀取速率。nvme設(shè)備接口包括pcie、u.2、satae和m.2。

申威處理器或申威cpu,簡稱"sw處理器"。sw處理器源自于dec的alpha21164,其研制得到了國家"核高基"專項資金支持,且具有完全自主知識產(chǎn)權(quán)的處理器系列。

現(xiàn)有技術(shù)中,申威處理器計算平臺現(xiàn)有國產(chǎn)bios無法驅(qū)動nvme標準ssd硬盤,未對nvme驅(qū)動進行適配;導(dǎo)致申威處理器計算平臺無法直接從nvme標準ssd硬盤啟動,系統(tǒng)啟動時間長,硬盤讀寫速率較低,影響整機性能。



技術(shù)實現(xiàn)要素:

針對現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種申威平臺支持nvme硬盤啟動的實現(xiàn)方法;

本發(fā)明基于udk2015開源bios對nvme硬盤在申威平臺進行驅(qū)動調(diào)試,實現(xiàn)了對nvme硬盤的直接支持,進而實現(xiàn)從nvme硬盤直接啟動操作系統(tǒng),可充分利用其讀寫速度,減少系統(tǒng)啟動時間,提高系統(tǒng)性能。

發(fā)明概述:

本發(fā)明首先需要將nvme驅(qū)動添加到udk2015中進行編譯,其次需要對nvme驅(qū)動中涉及的具體函數(shù)進行修改和調(diào)試,最終將生成的二進制文件燒錄到flash芯片中。nvme驅(qū)動需要實現(xiàn)向nvme硬盤發(fā)送命令包來操作nvme硬盤的passthrough協(xié)議,和向上層協(xié)議diskio提供硬盤扇區(qū)讀寫的blcokio協(xié)議。

術(shù)語解釋:

baseclass,基類:,即被擴展繼承的類;

sub-class,子類;

interface,是面向?qū)ο缶幊陶Z言中接口操作的關(guān)鍵字,功能是把所需成員組合起來,以封裝一定功能的集合。它好比一個模板,在其中定義了對象必須實現(xiàn)的成員,通過類或結(jié)構(gòu)來實現(xiàn)它。

本發(fā)明的技術(shù)方案為:

一種申威平臺支持nvme硬盤啟動的實現(xiàn)方法,步驟包括:

(1)先封裝nvme驅(qū)動,類型為uefi_driver;

(2)在nvme驅(qū)動入口處安裝uefidrivermode的drvierbinding協(xié)議和componentname協(xié)議,用于nvme驅(qū)動的安裝和卸載;所述drvierbinding協(xié)議包括support、start和stop三個成員函數(shù),componentname協(xié)議用于人機交互,向用戶顯示nvme驅(qū)動的驅(qū)動信息;

(3)通過support成員函數(shù)檢測申威平臺是否支持nvme驅(qū)動,如果支持,start函數(shù)實現(xiàn)passthrough協(xié)議,實現(xiàn)對nvme控制器的初始化;如果不支持,則不加載nvme驅(qū)動,退出support成員函數(shù)。

根據(jù)本發(fā)明優(yōu)選的,support成員函數(shù)檢測申威平臺是否支持nvme驅(qū)動,包括:通過pciio協(xié)議讀取申威平臺的設(shè)備類型,如果baseclass為01、sub-class為08且interface為02,則申威平臺為nvme控制器,支持nvme驅(qū)動,否則,不支持nvme驅(qū)動。

根據(jù)本發(fā)明優(yōu)選的,所述passthrough協(xié)議包括passthru成員函數(shù),blockio協(xié)議建立在passthrough協(xié)議上,所述blockio協(xié)議包括reset、readblocks、writeblcoks和flushblocks成員函數(shù);

所述passthru成員函數(shù)用于向nvme硬盤發(fā)送命令包來操作nvme硬盤;操作繁瑣;

所述blockio協(xié)議用于讀寫nvme硬盤扇區(qū),所述reset成員函數(shù)用于重啟nvme硬盤,所述readblocks成員函數(shù)用于讀取nvme硬盤扇區(qū),所述writeblcoks成員函數(shù)用于寫nvme硬盤扇區(qū),所述flushblocks成員函數(shù)用于將緩存中的數(shù)據(jù)寫入nvme硬盤扇區(qū)。

根據(jù)本發(fā)明優(yōu)選的,實現(xiàn)對nvme控制器的初始化,包括:將nvme硬盤讀寫函數(shù)封裝為一個blockio協(xié)議,并安裝在該nvme控制器上。

將nvme硬盤讀寫函數(shù)封裝為一個blockio協(xié)議,并安裝在該nvme控制器上,為構(gòu)建文件系統(tǒng)做好準備。硬盤操作的總結(jié)如下:passthrough協(xié)議通過向硬盤設(shè)備發(fā)送命令包來操作陰干,這種讀寫硬盤的方式繁瑣;blockio協(xié)議建立在passthrough協(xié)議基礎(chǔ)之上,用于讀寫硬盤扇區(qū),其接口非常簡潔;diskio協(xié)議建立在blockio協(xié)議基礎(chǔ)之上,提供了讀寫硬盤任意地址處的數(shù)據(jù)能力;基于diskio協(xié)議,構(gòu)建文件系統(tǒng),方便對硬盤數(shù)據(jù)已文件形式進行管理。

本發(fā)明的有益效果為:

1、本發(fā)明實現(xiàn)了對nvme硬盤的直接支持,進而實現(xiàn)從nvme硬盤直接啟動操作系統(tǒng),可充分利用其讀寫速度,減少系統(tǒng)啟動時間,提高系統(tǒng)性能。

2、將nvme硬盤驅(qū)動封裝為一個uefi_driver,實現(xiàn)了模塊化設(shè)計,易于管理。

3、增強了申威平臺的擴展性和通用性,豐富了其業(yè)務(wù)生態(tài)。

附圖說明

圖1為本發(fā)明申威平臺支持nvme硬盤啟動的實現(xiàn)方法的文件系統(tǒng)的協(xié)議棧示意圖。

具體實施方式

下面結(jié)合說明書附圖和實施例對本發(fā)明作進一步限定,但不限于此。

實施例

一種申威平臺支持nvme硬盤啟動的實現(xiàn)方法,申威平臺為申威臺式機,支持pcie擴展卡,bios采用開源代碼udk2015,步驟包括:

(1)先封裝nvme驅(qū)動,類型為uefi_driver;

(2)在nvme驅(qū)動入口處安裝uefidrivermode的drvierbinding協(xié)議和componentname協(xié)議,用于nvme驅(qū)動的安裝和卸載;所述drvierbinding協(xié)議包括support、start和stop三個成員函數(shù),componentname協(xié)議用于人機交互,向用戶顯示nvme驅(qū)動的驅(qū)動信息;

(3)通過support成員函數(shù)檢測申威平臺是否支持nvme驅(qū)動,如果支持,start函數(shù)實現(xiàn)passthrough協(xié)議,實現(xiàn)對nvme控制器的初始化;如不支持,將不加載nvme驅(qū)動,退出support成員函數(shù)。所述passthrough協(xié)議包括passthru成員函數(shù),blockio協(xié)議建立在passthrough協(xié)議上,如圖1所示,所述blockio協(xié)議包括reset、readblocks、writeblcoks和flushblocks成員函數(shù);所述passthru成員函數(shù)用于向nvme硬盤發(fā)送命令包來操作nvme硬盤;命令包格式復(fù)雜,需要嚴格按照ata規(guī)范進行操作,操作繁瑣;所述blockio協(xié)議用于讀寫nvme硬盤扇區(qū),所述reset成員函數(shù)用于重啟nvme硬盤,所述readblocks成員函數(shù)用于讀取nvme硬盤扇區(qū),所述writeblcoks成員函數(shù)用于寫nvme硬盤扇區(qū),所述flushblocks成員函數(shù)用于將緩存中的數(shù)據(jù)寫入nvme硬盤扇區(qū)。

support成員函數(shù)檢測申威平臺是否支持nvme驅(qū)動,包括:通過pciio協(xié)議讀取申威平臺的設(shè)備類型,如果baseclass為01、sub-class為08且interface為02,則申威平臺為nvme控制器,支持nvme驅(qū)動,否則,不支持nvme驅(qū)動。

將nvme硬盤讀寫函數(shù)封裝為一個blockio協(xié)議,并安裝在該nvme控制器上,為構(gòu)建文件系統(tǒng)做好準備。硬盤操作的總結(jié)如下:passthrough協(xié)議通過向硬盤設(shè)備發(fā)送命令包來操作陰干,這種讀寫硬盤的方式繁瑣;blockio協(xié)議建立在passthrough協(xié)議基礎(chǔ)之上,用于讀寫硬盤扇區(qū),其接口非常簡潔;diskio協(xié)議建立在blockio協(xié)議基礎(chǔ)之上,提供了讀寫硬盤任意地址處的數(shù)據(jù)能力;基于diskio協(xié)議,構(gòu)建文件系統(tǒng),方便對硬盤數(shù)據(jù)已文件形式進行管理。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
连江县| 调兵山市| 镇原县| 长海县| 西平县| 商水县| 克东县| 遂宁市| 抚州市| 博乐市| 石渠县| 昭通市| 安丘市| 东阳市| 石柱| 塔河县| 怀安县| 满洲里市| 南昌县| 巴塘县| 抚松县| 观塘区| 武川县| 城口县| 珲春市| 贵定县| 姚安县| 乡城县| 河东区| 滦平县| 鹿泉市| 区。| 石阡县| 新田县| 双桥区| 定兴县| 松江区| 滦南县| 甘洛县| 蓬莱市| 武山县|