国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      計算機(jī)系統(tǒng)及非揮發(fā)性存儲器的控制方法與流程

      文檔序號:12270787閱讀:277來源:國知局
      計算機(jī)系統(tǒng)及非揮發(fā)性存儲器的控制方法與流程

      本發(fā)明有關(guān)于計算機(jī)系統(tǒng),特別是有關(guān)于一種非揮發(fā)性存儲器的控制方法及其計算機(jī)系統(tǒng)。



      背景技術(shù):

      隨著技術(shù)發(fā)展,在計算機(jī)系統(tǒng)中的儲存裝置的傳輸速度也愈來愈快,例如固態(tài)硬盤(Solid-state Disk)即為可進(jìn)行快速數(shù)據(jù)存取的非揮發(fā)性存儲器。近年來,由各計算機(jī)廠商已訂定了非揮發(fā)性存儲器的傳輸標(biāo)準(zhǔn),例如進(jìn)階主機(jī)控制器界面(Advanced Host Controller Interface,AHCI)及快捷非揮發(fā)性存儲器(Non-volatile Memory Express,NVMe)等等。上述兩種標(biāo)準(zhǔn)階為在儲存裝置與作業(yè)系統(tǒng)端的包含指令集、快閃存儲器存取控制、暫存器傳輸級(Register Transfer Level)、及驅(qū)動程序?qū)拥冉缑鏄?biāo)準(zhǔn)。

      更進(jìn)一步而言,NVME是一種改善傳統(tǒng)AHCI的新型儲存裝置控制器,其能改善系統(tǒng)資源的使用,例如使用系統(tǒng)多核心下達(dá)指令、減下不必要的暫存器控制等等。然而現(xiàn)今NVMe仍是受限于NAND Flash儲存裝置的限制,因為它的隨機(jī)存取不夠快(存取時間約50us),還無法直接用來取代動態(tài)隨機(jī)存取存儲器(DRAM)與中央處理器(CPU)直接溝通,必須通過直接存儲器存取(Direct Memory Access、DMA)的機(jī)制將系統(tǒng)要求的數(shù)據(jù)放入主控制的存儲器(存取時間約30ns),再由主控端存儲器跟中央處理器進(jìn)行處理。

      為了解開上述問題,NVMe制訂了主控端存儲器緩沖器(Host Memory Buffer)的功能。傳統(tǒng)的固態(tài)硬盤為了提供快速的存取效率都是在固態(tài)硬盤控制器上掛一顆動態(tài)隨機(jī)存取存儲器以進(jìn)行數(shù)據(jù)存取?,F(xiàn)在NVMe標(biāo)準(zhǔn)則直接制訂此新功能來使用系統(tǒng)端的主控端存儲器來替代固態(tài)硬盤控制器上的動態(tài)隨機(jī)存取存儲器。然而,上述作法仍然有其限制,因為主控端存儲器緩沖器主要是用于I/O存取,并無法拿來放固定數(shù)據(jù),意即針對特 定的數(shù)據(jù)還是先必須通過NVMe控制器將數(shù)據(jù)放到主控端存儲器。需注意的是,上述的存取動作與DMA不同,DMA是將數(shù)據(jù)放進(jìn)中央處理器可以使用的數(shù)據(jù)池,而主控端存儲器緩沖器是將數(shù)據(jù)放進(jìn)NVMe控制器可以使用的數(shù)據(jù)池。



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

      本發(fā)明提供一種計算機(jī)系統(tǒng),包括:一中央處理器;一系統(tǒng)存儲器;一第一存儲器控制器,用以控制該系統(tǒng)存儲器的存??;以及一儲存裝置,包括:一非揮發(fā)性存儲器;以及一第二存儲器控制器,用以控制該非揮發(fā)性存儲器的存取,其中,該第一存儲器控制器是將該系統(tǒng)存儲器劃分出一第一數(shù)據(jù)池及一第二數(shù)據(jù)池,該第一數(shù)據(jù)池儲存該中央處理器存取該儲存裝置的暫存數(shù)據(jù),且該第二數(shù)據(jù)池儲存一快閃轉(zhuǎn)譯層數(shù)據(jù),并專供該第二存儲器控制器使用,其中,當(dāng)該中央處理器欲存取該儲存裝置時,該第二存儲器控制器是依據(jù)該快閃轉(zhuǎn)譯層數(shù)據(jù)存取該非揮發(fā)性存儲器。

      于一實施例中,當(dāng)該中央處理器欲寫入該暫存數(shù)據(jù)該儲存裝置時,該第一存儲器控制器是將該第二數(shù)據(jù)池中的該快閃轉(zhuǎn)譯層數(shù)據(jù)讀取至該第一數(shù)據(jù)池,且該第二存儲器控制器是由該第一數(shù)據(jù)池取得該暫存數(shù)據(jù)及該快閃轉(zhuǎn)譯層數(shù)據(jù)。

      于一實施例中,該第二存儲器控制器更將該非揮發(fā)性存儲器中的一儲存數(shù)據(jù)復(fù)制至該第二數(shù)據(jù)池,且當(dāng)該中央處理器由該儲存裝置讀取該儲存數(shù)據(jù)時,該第二存儲器控制器是傳送一提示信息至該第一存儲器控制器以將該第二數(shù)據(jù)池中的該儲存數(shù)據(jù)復(fù)制至該第一數(shù)據(jù)池,且該中央處理器是由該第一數(shù)據(jù)池讀取該儲存數(shù)據(jù)。

      于一實施例中,當(dāng)該第二存儲器控制器是更新該快閃轉(zhuǎn)譯層數(shù)據(jù)且該中央處理器欲寫入該暫存數(shù)據(jù)至該儲存裝置時,該第二存儲器控制器是同時將該暫存數(shù)據(jù)寫入該第二數(shù)據(jù)池及該非揮發(fā)性存儲器。

      于一實施例中,該系統(tǒng)存儲器及該第二存儲器控制器是通過PCI Express總線進(jìn)行溝通。

      本發(fā)明更提供一種非揮發(fā)性存儲器的控制方法,用于一計算機(jī)系統(tǒng),該計算機(jī)系統(tǒng)包括:一中央處理器;一系統(tǒng)存儲器;一第一存儲器控制器, 用以控制該系統(tǒng)存儲器的存??;以及一儲存裝置,包括一非揮發(fā)性存儲器及一第二存儲器控制器,用以控制該非揮發(fā)性存儲器的存取,該方法包括:利用該第一存儲器控制器將該系統(tǒng)存儲器劃分出一第一數(shù)據(jù)池及一第二數(shù)據(jù)池,其中該第一數(shù)據(jù)池儲存該中央處理器存取該儲存裝置的暫存數(shù)據(jù),且該第二數(shù)據(jù)池儲存一快閃轉(zhuǎn)譯層數(shù)據(jù),并專供該第二存儲器控制器使用;以及當(dāng)該中央處理器欲存取該儲存裝置時,該第二存儲器控制器是依據(jù)該快閃轉(zhuǎn)譯層數(shù)據(jù)以存取該非揮發(fā)性存儲器。

      于一實施例中,還包括:

      當(dāng)該中央處理器欲寫入該暫存數(shù)據(jù)該儲存裝置時,利用該第一存儲器控制器將該第二數(shù)據(jù)池中的該快閃轉(zhuǎn)譯層數(shù)據(jù)讀取至該第一數(shù)據(jù)池;

      以及利用該第二存儲器控制器由該第一數(shù)據(jù)池取得該暫存數(shù)據(jù)及該快閃轉(zhuǎn)譯層數(shù)據(jù)。

      于一實施例中,還包括:

      利用該第二存儲器控制器將該非揮發(fā)性存儲器中的一儲存數(shù)據(jù)復(fù)制至該第二數(shù)據(jù)池;

      當(dāng)該中央處理器由該儲存裝置讀取該儲存數(shù)據(jù)時,利用該第二存儲器控制器是傳送一提示信息至該第一存儲器控制器以將該第二數(shù)據(jù)池中的該儲存數(shù)據(jù)復(fù)制至該第一數(shù)據(jù)池;以及

      利用該中央處理器由該第一數(shù)據(jù)池讀取該儲存數(shù)據(jù)。

      于一實施例中,還包括:

      當(dāng)該第二存儲器控制器是更新該快閃轉(zhuǎn)譯層數(shù)據(jù)且該中央處理器欲寫入該暫存數(shù)據(jù)至該儲存裝置時,利用該第二存儲器控制器同時將該暫存數(shù)據(jù)寫入該第二數(shù)據(jù)池及該非揮發(fā)性存儲器。

      于一實施例中,該系統(tǒng)存儲器及該第二存儲器控制器是通過PCI Express總線進(jìn)行溝通。

      附圖說明

      圖1是顯示依據(jù)本發(fā)明一實施例中的計算機(jī)系統(tǒng)的方塊圖。

      圖2是顯示依據(jù)本發(fā)明一實施例中的用于一非揮發(fā)性存儲器的控制方法的流程圖。

      其中,附圖標(biāo)記說明如下:

      100~計算機(jī)系統(tǒng);

      110~中央處理器;

      111~第一存儲器控制器;

      120~系統(tǒng)存儲器;

      121~第一數(shù)據(jù)池;

      122~第二數(shù)據(jù)池;

      130~儲存裝置;

      131~第二存儲器控制器;

      132~非揮發(fā)性存儲器。

      具體實施方式

      為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉一較佳實施例,并配合所附附圖,作詳細(xì)說明如下。

      圖1是顯示依據(jù)本發(fā)明一實施例中的計算機(jī)系統(tǒng)的方塊圖。在一實施例中,計算機(jī)系統(tǒng)100包括一中央處理器110、一系統(tǒng)存儲器120、及一儲存裝置130。儲存裝置130是包括一存儲器控制器131及一非揮發(fā)性存儲器132,其中存儲器控制器131是支持NVMe標(biāo)準(zhǔn),且非揮發(fā)性存儲器132例如是NAND快閃存儲器,但本發(fā)明并不限于此。另外,系統(tǒng)存儲器120及儲存裝置130之間是以PCIe總線做為溝通橋梁。在一實施例中,中央處理器110還包括一第一存儲器控制器111,用以控制系統(tǒng)存儲器120的數(shù)據(jù)存取,其中系統(tǒng)存儲器120例如是動態(tài)隨機(jī)存取存儲器。在另一實施例中,第一存儲器控制器111是獨立于中央處理器110之外。

      在一實施例中,第一存儲器控制器111是由系統(tǒng)存儲器120中劃分出一第一數(shù)據(jù)池121及一第二數(shù)據(jù)池122。當(dāng)中央處理器110欲寫入數(shù)據(jù)至儲存裝置130時,中央處理器110是通過第一存儲器控制器111將暫存數(shù)據(jù)先寫入至系統(tǒng)存儲器120中的第一數(shù)據(jù)池121(例如供DMA存取)中,第二存儲器控制器131再由第一數(shù)據(jù)池121中取得暫存數(shù)據(jù),并寫入非揮發(fā)性存儲器132中。

      需了解的是,第二存儲器控制器131在寫入數(shù)據(jù)至非揮發(fā)性存儲器132時均是通過一快閃轉(zhuǎn)譯層(Flash Translation Layer),該快閃轉(zhuǎn)譯層是負(fù)責(zé)提供文件系統(tǒng)和在非揮性存儲器132中的實體數(shù)據(jù)層之間的對應(yīng),使得作業(yè)系統(tǒng)仍然可看到與一般傳統(tǒng)硬盤一樣的文件系統(tǒng)。

      在一實施例中,系統(tǒng)存儲器120更劃分出一第二數(shù)據(jù)池122,用以專門供第二存儲器控制器131進(jìn)行存取。更進(jìn)一步而言,在快閃轉(zhuǎn)譯層中的數(shù)據(jù)是可放進(jìn)第二數(shù)據(jù)池122中,因此,存取快閃轉(zhuǎn)譯層的數(shù)據(jù)的傳輸速度可大幅提高。舉例來說,原本若是第二存儲器控制器131外掛一個DDR動態(tài)隨機(jī)存取存儲器時,其頻寬約為1.6GB/s。而本發(fā)明是將快閃轉(zhuǎn)譯層中的數(shù)據(jù)是放進(jìn)第二數(shù)據(jù)池122中,則存儲器控制器131存取第二數(shù)據(jù)池122中的數(shù)據(jù)的傳輸速度可達(dá)到4GB/s。在另一實施例中,第二數(shù)據(jù)池122更供以儲存使用者的數(shù)據(jù)(即一般數(shù)據(jù)),且當(dāng)?shù)诙鎯ζ骺刂破?31收到來自中央處理器110的讀取指令時,第一存儲器控制器111可直接由第二數(shù)據(jù)池122中讀出數(shù)據(jù),而不需再經(jīng)由PCIe總線由儲存裝置130傳輸數(shù)據(jù)至系統(tǒng)存儲器120,再由系統(tǒng)存儲器120中讀取數(shù)據(jù)。

      此外,每當(dāng)中央處理器110欲寫入數(shù)據(jù)至儲存裝置130時,第二存儲器控制器131是接收到來自中央處理器110的寫入指令。此時,第二存儲器控制器131是傳送一提示信息(hint message)至第一存儲器控制器111,并通過第一存儲器控制器111將欲寫入數(shù)據(jù)所需的快閃轉(zhuǎn)譯層數(shù)據(jù)由第二數(shù)據(jù)池122讀取至第一數(shù)據(jù)池121中。因此,第二存儲器控制器131可由系統(tǒng)存儲器120的第一數(shù)據(jù)池121同時取得欲寫入的數(shù)據(jù)及快閃轉(zhuǎn)譯層數(shù)據(jù),并依據(jù)所取得的快閃轉(zhuǎn)譯層數(shù)據(jù)將數(shù)據(jù)寫入非揮發(fā)性存儲器132中。簡單來說,本發(fā)明可利用系統(tǒng)存儲器120儲存快閃轉(zhuǎn)譯層數(shù)據(jù),而儲存裝置130則可不用再另外增加一個動態(tài)隨機(jī)存取存儲器。

      在一實施例中,第二存儲器控制器131在存取數(shù)據(jù)的同時,因為文件位置及實體數(shù)據(jù)層的對應(yīng)關(guān)系可能跟著改變,因此第二存儲器控制器131也會隨時更新快閃轉(zhuǎn)譯層數(shù)據(jù)。然而,為了,確保數(shù)據(jù)的安全性,在本實施例中,第二存儲器控制器131是使用透寫(write through)的方式將數(shù)據(jù)同時寫入系統(tǒng)存儲器120的第二數(shù)據(jù)池122及非揮發(fā)性存儲器132中。

      圖2是顯示依據(jù)本發(fā)明一實施例中的用于非揮發(fā)性存儲器的控制方 法的流程圖。在步驟S210,利用該第一存儲器控制器將該系統(tǒng)存儲器劃分出一第一數(shù)據(jù)池及一第二數(shù)據(jù)池,其中該第一數(shù)據(jù)池儲存該中央處理器存取該儲存裝置的暫存數(shù)據(jù),且該第二數(shù)據(jù)池儲存一快閃轉(zhuǎn)譯層數(shù)據(jù),并專供該第二存儲器控制器使用。在步驟S220,當(dāng)中央處理器110欲存取儲存裝置130時,第二存儲器控制器131依據(jù)快閃轉(zhuǎn)譯層數(shù)據(jù)以存取非揮發(fā)性存儲器132。

      綜上所述,本發(fā)明提供一種計算機(jī)系統(tǒng)及用于非揮發(fā)性存儲器的控制方法,其可利用計算機(jī)系統(tǒng)中的系統(tǒng)存儲器存放快閃轉(zhuǎn)譯層數(shù)據(jù)及非揮發(fā)性存儲器中所儲存的數(shù)據(jù)以供中央處理器或儲存裝置中的第二存儲器控制器以較大的傳輸頻寬快速存取所需的數(shù)據(jù)及快閃轉(zhuǎn)譯層數(shù)據(jù),進(jìn)而提升存取速度。

      本發(fā)明雖以較佳實施例揭露如上,然其并非用以限定本發(fā)明的范圍,任何所屬技術(shù)領(lǐng)域中具有通常知識者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可做些許的更動與潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)視后附的申請專利范圍所界定者為準(zhǔn)。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1