国产精品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>

      一種檢測(cè)潛在扇區(qū)錯(cuò)誤的方法

      文檔序號(hào):8942966閱讀:269來(lái)源:國(guó)知局
      一種檢測(cè)潛在扇區(qū)錯(cuò)誤的方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及計(jì)算機(jī)系統(tǒng)及存儲(chǔ)領(lǐng)域,具體涉及一種檢測(cè)潛在扇區(qū)錯(cuò)誤的方法。
      【背景技術(shù)】
      [0002]潛在扇區(qū)錯(cuò)誤(LSES)是一種常見(jiàn)的硬盤故障模式,在磁盤扇區(qū)不可用但是硬盤的其余部分不受影響。為了防止?jié)撛谏葏^(qū)錯(cuò)誤,需要相關(guān)方法檢測(cè)潛在錯(cuò)誤。目前,普遍檢測(cè)潛在錯(cuò)誤扇區(qū)采取的方法是利用讀的方式,從頭到尾讀寫每一個(gè)扇區(qū),這種方式的缺點(diǎn)在于檢測(cè)效率較低,對(duì)所有扇區(qū)進(jìn)行讀操作,也影響并發(fā)上層業(yè)務(wù)的效率。上述方法性能較低,需要進(jìn)行優(yōu)化。

      【發(fā)明內(nèi)容】

      [0003]本發(fā)明要解決的技術(shù)問(wèn)題是針對(duì)潛在扇區(qū)錯(cuò)誤,提出一種檢測(cè)潛在扇區(qū)錯(cuò)誤的方法,與現(xiàn)有檢測(cè)方法相比,具有對(duì)上層業(yè)務(wù)影響較小、檢測(cè)效率高的優(yōu)勢(shì)。
      [0004]本發(fā)明提供了一種檢測(cè)潛在扇區(qū)錯(cuò)誤的方法,其特征在于:采用隨機(jī)讀的方式進(jìn)行檢測(cè)潛在扇區(qū)錯(cuò)誤。
      [0005]進(jìn)一步地,所述方法應(yīng)用于內(nèi)核空間。
      [0006]進(jìn)一步地,所述方法應(yīng)用于內(nèi)核空間的通用塊層。
      [0007]進(jìn)一步地,所述方法通過(guò)自舉的方式被激活。
      [0008]進(jìn)一步地,所述自舉的方式被激活是指休眠的線程被插在CPU的睡眠隊(duì)列,直到需要讀寫一個(gè)特定的設(shè)備被激活。
      [0009]進(jìn)一步地,所述隨機(jī)讀的方式包括通過(guò)通用塊擦除器層的接口來(lái)發(fā)送擦除請(qǐng)求到I/O調(diào)度器,以及設(shè)置擦除器線程的I/O優(yōu)先級(jí)。
      [0010]進(jìn)一步地,所述請(qǐng)求偽裝成普通的讀請(qǐng)求。
      [0011]進(jìn)一步地,所述請(qǐng)求發(fā)出后,回調(diào)休眠隊(duì)列,并完成應(yīng)答。
      [0012]進(jìn)一步地,所述擦除器線程經(jīng)SCSI驗(yàn)證后發(fā)送到I/O調(diào)度器層。
      [0013]進(jìn)一步地,所述隨機(jī)讀的讀取大小為16MB。
      [0014]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書中闡述,并且,部分地從說(shuō)明書中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在說(shuō)明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
      【附圖說(shuō)明】
      [0015]附圖用來(lái)提供對(duì)本發(fā)明技術(shù)方案的進(jìn)一步理解,并且構(gòu)成說(shuō)明書的一部分,與本申請(qǐng)的實(shí)施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對(duì)本發(fā)明技術(shù)方案的限制。
      [0016]圖1示出了根據(jù)本發(fā)明一實(shí)施例的內(nèi)核擦除器(kernel scrubber)的架構(gòu)圖。
      【具體實(shí)施方式】
      [0017]本發(fā)明作為一種檢測(cè)潛在扇區(qū)錯(cuò)誤的方法,該方法是利用隨機(jī)讀方式來(lái)檢測(cè)潛在錯(cuò)誤扇區(qū),可以在一定程度上提高檢測(cè)效率、減少對(duì)上層業(yè)務(wù)的影響。
      [0018]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合
      [0019]相對(duì)于【背景技術(shù)】所述的潛在磁盤扇區(qū)錯(cuò)誤檢測(cè)方法,本發(fā)明的隨機(jī)讀的策略的核心在于:可以更快的探測(cè)磁盤的不同區(qū)域,并且“期望”這些探測(cè)可以檢測(cè)到錯(cuò)誤區(qū)域,此種策略在高等數(shù)學(xué)的概率學(xué)中已被證明。因此,采用隨機(jī)讀的方法可以有效的提高檢測(cè)的效率。
      [0020]對(duì)于本發(fā)明的方法,需要確定如下細(xì)節(jié):實(shí)現(xiàn)該方法需要在內(nèi)核空間還是用戶空間,如果是內(nèi)核空間具體處于哪一位置;何時(shí)調(diào)度使用該方法;該方法的讀取速度是多少;每一次讀寫的大小是多少。下面將對(duì)這些問(wèn)題進(jìn)行進(jìn)一步闡述。
      [0021]從本發(fā)明的需求以及要解決的問(wèn)題來(lái)看,它需要調(diào)用LINUX內(nèi)核中的調(diào)度策略(CFQ)來(lái)完成調(diào)度策略,而在用戶空間無(wú)法避免調(diào)度策略的缺失,因此在內(nèi)核空間來(lái)進(jìn)行是最為合適。需要基于磁盤進(jìn)行讀操作,并且需要用到CFQ調(diào)度器,因此,本方法應(yīng)該位于塊I/O子系統(tǒng)的通用塊層(Generic Block layer)。
      [0022]關(guān)于本方法的調(diào)度策略使用內(nèi)核中的CFQ算法。CFQ算法是針對(duì)一個(gè)磁盤設(shè)備的,B卩每個(gè)磁盤設(shè)備都會(huì)管理一個(gè)cfq對(duì)象。在磁盤設(shè)備的請(qǐng)求隊(duì)列(request queue)對(duì)象中會(huì)保存這個(gè)cfq對(duì)象,這點(diǎn)和其他的調(diào)度算法是相同的。Cfq數(shù)據(jù)(cfq_data)就是那個(gè)cfq對(duì)象。前面提到,由于一個(gè)磁盤設(shè)備會(huì)被多個(gè)線程進(jìn)行訪問(wèn),因此可以存在多種I/O策略,所以,一個(gè)cfq對(duì)象需要管理多個(gè)cfq組(cfq_group),每個(gè)cfq_group管理了一種I/O策略。在cfq算法中,每個(gè)按時(shí)間片調(diào)度的基本單元是線程,由于多個(gè)線程可以共享一種策略,即共享cfq_group,因此,在cfq_group對(duì)象中為每個(gè)線程獨(dú)立管理了一個(gè)request隊(duì)列,這個(gè)隊(duì)列對(duì)象是cfq_queue。Cfq_queue是與線程相關(guān)的調(diào)度對(duì)象,cfq算法在調(diào)度的過(guò)程中會(huì)給被調(diào)度的cfq_queue分配時(shí)間片,然后在這個(gè)時(shí)間片內(nèi)處理cfq_queue中的request。調(diào)度cfq_queue中的request方法和deadline算法是基本一致的。因此,在cfq_queue中會(huì)維護(hù)一棵紅黑樹以及一條FIFO隊(duì)列,F(xiàn)IFO隊(duì)列中的request按照時(shí)間先后次序排列,紅黑樹上的request采用邏輯塊地址LBA訪問(wèn)地址進(jìn)行索引。并且在處理的過(guò)程中,也會(huì)考慮臨近I/O優(yōu)先處理的策略,使得磁盤臨近1批量處理,提高了 I/O性能。
      [0023]讀取速度與讀取的大小是成比例的關(guān)系,通過(guò)大量的實(shí)驗(yàn)可以得出在某一讀取速度與讀取大小的比值上,可以達(dá)到最優(yōu)的效果。通過(guò)實(shí)驗(yàn)可以得出在一次讀取大小為16MB時(shí),可以達(dá)到最優(yōu)的讀取速度。
      [0024]參考圖1,內(nèi)核擦除器結(jié)構(gòu)包括通用塊層、I/O調(diào)度器層(I/O Scheduler Layer)、塊設(shè)備(Block Device),通用塊層包括擦除器層(Scrubber Layer) ο
      [0025]本方法會(huì)通過(guò)自舉(bootstrapping)的方式被激活,同時(shí)匹配需要讀取的系統(tǒng)中的每一個(gè)塊設(shè)備。休眠的線程被插在CPU的睡眠隊(duì)列,直到需要讀寫一個(gè)特定的設(shè)備被激活。
      [0026]本方法利用通用塊擦除器層(Scrubber Layer)的接口來(lái)發(fā)送擦除請(qǐng)求(Scrubbing Request)到1/0調(diào)度器和設(shè)置擦除器線程(Scrubber Thread) 1/0優(yōu)先級(jí)。為了是I/O調(diào)度器可以挑選和應(yīng)答優(yōu)先級(jí)更高的請(qǐng)求,每次線程調(diào)度請(qǐng)求我們把它偽裝成普通的讀請(qǐng)求去承載更多的相關(guān)信息。一旦該請(qǐng)求發(fā)出,將回調(diào)休眠隊(duì)列,并完成應(yīng)答。進(jìn)一步地,擦除器線程(Scrubber Thread)經(jīng)SCSI驗(yàn)證(SCSI Verify)后發(fā)送到I/O調(diào)度器層。
      [0027]綜上就是本方法在內(nèi)核中的架構(gòu)以及調(diào)度方法。
      [0028]雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容僅為便于理解本發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實(shí)施的形式及細(xì)節(jié)上進(jìn)行任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。
      【主權(quán)項(xiàng)】
      1.一種檢測(cè)潛在扇區(qū)錯(cuò)誤的方法,其特征在于: 采用隨機(jī)讀的方式進(jìn)行檢測(cè)潛在扇區(qū)錯(cuò)誤。2.如權(quán)利要求1所述的方法,其特征在于,所述方法應(yīng)用于內(nèi)核空間。3.如權(quán)利要求2所述的方法,其特征在于,所述方法應(yīng)用于內(nèi)核空間的通用塊層。4.如權(quán)利要求1所述的方法,其特征在于,所述方法通過(guò)自舉的方式被激活。5.如權(quán)利要求4所述的方法,其特征在于,所述自舉的方式被激活是指休眠的線程被插在CPU的睡眠隊(duì)列,直到需要讀寫一個(gè)特定的設(shè)備被激活。6.如權(quán)利要求5所述的方法,其特征在于,所述隨機(jī)讀的方式包括通過(guò)通用塊擦除器層的接口來(lái)發(fā)送擦除請(qǐng)求到I/o調(diào)度器,以及設(shè)置擦除器線程的I/O優(yōu)先級(jí)。7.如權(quán)利要求6所述的方法,其特征在于,所述請(qǐng)求偽裝成普通的讀請(qǐng)求。8.如權(quán)利要求6所述的方法,其特征在于,所述請(qǐng)求發(fā)出后,回調(diào)休眠隊(duì)列,并完成應(yīng)技口 ο9.如權(quán)利要求6所述的方法,其特征在于,所述擦除器線程經(jīng)SCSI驗(yàn)證后發(fā)送到I/O調(diào)度器層。10.如權(quán)利要求6所述的方法,其特征在于,所述隨機(jī)讀的讀取大小為16MB。
      【專利摘要】本發(fā)明公開了一種檢測(cè)潛在扇區(qū)錯(cuò)誤的方法,其特征在于利用隨機(jī)讀方式來(lái)檢測(cè)潛在錯(cuò)誤扇區(qū),可以在一定程度上提高檢測(cè)效率、減少對(duì)上層業(yè)務(wù)的影響。
      【IPC分類】G06F11/22
      【公開號(hào)】CN105159807
      【申請(qǐng)?zhí)枴緾N201510561598
      【發(fā)明人】蔡豐龍
      【申請(qǐng)人】浪潮(北京)電子信息產(chǎn)業(yè)有限公司
      【公開日】2015年12月16日
      【申請(qǐng)日】2015年9月6日
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1