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

      一種固態(tài)硬盤SSD存儲(chǔ)系統(tǒng)及方法與流程

      文檔序號(hào):12122647閱讀:581來源:國(guó)知局
      一種固態(tài)硬盤SSD存儲(chǔ)系統(tǒng)及方法與流程

      本發(fā)明涉及計(jì)算機(jī)存儲(chǔ)技術(shù)領(lǐng)域,特別是涉及一種固態(tài)硬盤SSD存儲(chǔ)系統(tǒng)及方法。



      背景技術(shù):

      隨著計(jì)算機(jī)存儲(chǔ)技術(shù)的快速發(fā)展,SSD(Solid State Drives,固態(tài)硬盤)已逐步取代傳統(tǒng)的機(jī)械硬盤。SSD具有超大容量、超高速等特性,其依靠NAND Flash芯片存儲(chǔ)數(shù)據(jù),幾十片或者上百片的NAND Flash芯片可以組成大容量的SSD。

      隨著NAND Flash芯片的高速發(fā)展,NAND Flash芯片從2D NAND Flash發(fā)展到3D NAND Flash,容量更大、讀寫速度更快,從而對(duì)于3D NAND Flash的控制技術(shù)要求更高才能保證操作無誤。傳統(tǒng)的控制技術(shù)已經(jīng)無法滿足NAND Flash芯片發(fā)展的需求,亟需一種新的訪問控制技術(shù),增強(qiáng)數(shù)據(jù)安全性,提高糾錯(cuò)能力。



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

      本發(fā)明的目的是提供一種固態(tài)硬盤SSD存儲(chǔ)系統(tǒng)及方法,以增強(qiáng)數(shù)據(jù)安全性,提高數(shù)據(jù)糾錯(cuò)能力,進(jìn)而延長(zhǎng)SSD的使用壽命。

      一種固態(tài)硬盤SSD存儲(chǔ)系統(tǒng),包括寫隨機(jī)化模塊、循環(huán)冗余校驗(yàn)CRC產(chǎn)生模塊、低密度奇偶校驗(yàn)碼LDPC編碼模塊、BCH編碼模塊和Flash通道控制模塊,其中,

      所述寫隨機(jī)化模塊,用于利用第一隨機(jī)種子對(duì)待寫入到所述NAND Flash芯片的頁(yè)面存儲(chǔ)中的第一數(shù)據(jù)進(jìn)行隨機(jī)化處理,獲得第一隨機(jī)數(shù)據(jù);并將所述第一隨機(jī)種子和所述第一隨機(jī)數(shù)據(jù)輸入到所述CRC產(chǎn)生模塊中;

      所述CRC產(chǎn)生模塊,用于根據(jù)所述第一隨機(jī)種子和所述第一隨機(jī)數(shù)據(jù),生成第一CRC校驗(yàn)位信息;并將所述第一隨機(jī)種子、所述第一隨機(jī)數(shù)據(jù)和所述第一CRC校驗(yàn)位信息輸入到所述LDPC編碼模塊中;

      所述LDPC編碼模塊,用于根據(jù)所述第一隨機(jī)種子、所述第一隨機(jī)數(shù)據(jù)和所述第一CRC校驗(yàn)位信息,生成第一LDPC校驗(yàn)位信息;并將所述第一隨機(jī)種子、所述第一隨機(jī)數(shù)據(jù)、所述第一CRC校驗(yàn)位信息和所述第一LDPC校驗(yàn)位信息輸入到所述BCH編碼模塊中;

      所述BCH編碼模塊,用于對(duì)所述第一LDPC校驗(yàn)位信息進(jìn)行BCH編碼,生成第一BCH校驗(yàn)位信息;并通過所述Flash通道控制模塊將所述第一隨機(jī)種子、所述第一隨機(jī)數(shù)據(jù)、所述第一CRC校驗(yàn)位信息、所述第一LDPC校驗(yàn)位信息和所述第一BCH校驗(yàn)位信息存放到所述NAND Flash芯片的頁(yè)面存儲(chǔ)中。

      在本發(fā)明的一種具體實(shí)施方式中,還包括BCH解碼模塊、LDPC解碼模塊、CRC確認(rèn)模塊和讀去隨機(jī)化模塊,其中,

      所述BCH解碼模塊,用于通過所述Flash通道控制模塊從所述NAND Flash芯片的頁(yè)面存儲(chǔ)中讀取第二數(shù)據(jù)對(duì)應(yīng)的第二BCH校驗(yàn)位信息和第二LDPC校驗(yàn)位信息;對(duì)所述第二BCH校驗(yàn)位信息進(jìn)行BCH解碼,并根據(jù)第二LDPC校驗(yàn)位信息確定正確的LDPC校驗(yàn)位信息,將所述正確的LDPC校驗(yàn)位信息輸出給所述LDPC解碼模塊;

      所述LDPC解碼模塊,用于通過所述Flash通道控制模塊從所述NAND Flash芯片的頁(yè)面存儲(chǔ)中讀取所述第二數(shù)據(jù)對(duì)應(yīng)的第二隨機(jī)數(shù)據(jù)、第二CRC校驗(yàn)位信息和第二隨機(jī)種子;根據(jù)所述正確的LDPC校驗(yàn)位信息,還原LDPC原數(shù)據(jù);

      所述CRC確認(rèn)模塊,用于根據(jù)所述第二CRC校驗(yàn)信息確認(rèn)第二隨機(jī)數(shù)據(jù);

      所述讀去隨機(jī)化模塊,用于對(duì)所述第二隨機(jī)數(shù)據(jù)進(jìn)行去隨機(jī)化處理,將其還原成打亂之前的所述第二數(shù)據(jù),待直接存儲(chǔ)器訪問DMA讀取。

      在本發(fā)明的一種具體實(shí)施方式中,

      所述BCH解碼模塊,具體用于在對(duì)所述第二BCH校驗(yàn)位信息進(jìn)行BCH解碼之后,確定所述第二LDPC校驗(yàn)位信息是否正確,如果是,則確定所述第二LDPC校驗(yàn)位信息為正確的LDPC校驗(yàn)位信息,如果否,則對(duì)所述第二LDPC校驗(yàn)位信息進(jìn)行糾錯(cuò)處理,獲得正確的LDPC校驗(yàn)位信息。

      在本發(fā)明的一種具體實(shí)施方式中,

      所述寫隨機(jī)化模塊,具體用于利用所述第一隨機(jī)種子將所述第一數(shù)據(jù)與設(shè)定比特?cái)?shù)的線性反饋移位寄存器LFSR進(jìn)行隨機(jī)化操作。

      在本發(fā)明的一種具體實(shí)施方式中,所述LFSR由所述第一隨機(jī)種子擴(kuò)展而成。

      在本發(fā)明的一種具體實(shí)施方式中,所述NAND Flash芯片的頁(yè)面存儲(chǔ)包括Flash頁(yè)區(qū)域和Flash備用區(qū)域,

      所述Flash通道控制模塊,具體用于將所述第一隨機(jī)數(shù)據(jù)存放到所述Flash頁(yè)區(qū)域中,將所述第一隨機(jī)種子、所述第一CRC校驗(yàn)位信息、所述第一LDPC校驗(yàn)位信息和所述第一BCH校驗(yàn)位信息存放到所述Flash備用區(qū)域中。

      在本發(fā)明的一種具體實(shí)施方式中,還包括:

      緩存模塊,用于緩存待寫入到所述NAND Flash芯片的頁(yè)面存儲(chǔ)中的第一數(shù)據(jù),或者,緩存經(jīng)過所述讀去隨機(jī)化模塊處理后的待所述DMA讀取的第二數(shù)據(jù)。

      一種固態(tài)硬盤SSD存儲(chǔ)方法,包括:

      利用第一隨機(jī)種子對(duì)待寫入到所述NAND Flash芯片的頁(yè)面存儲(chǔ)中的第一數(shù)據(jù)進(jìn)行隨機(jī)化處理,獲得第一隨機(jī)數(shù)據(jù);

      根據(jù)所述第一隨機(jī)種子和所述第一隨機(jī)數(shù)據(jù),生成第一CRC校驗(yàn)位信息;

      根據(jù)所述第一隨機(jī)種子、所述第一隨機(jī)數(shù)據(jù)和所述第一CRC校驗(yàn)位信息,生成第一LDPC校驗(yàn)位信息;

      對(duì)所述第一LDPC校驗(yàn)位信息進(jìn)行BCH編碼,生成第一BCH校驗(yàn)位信息;

      將所述第一隨機(jī)種子、所述第一隨機(jī)數(shù)據(jù)、所述第一CRC校驗(yàn)位信息、所述第一LDPC校驗(yàn)位信息和所述第一BCH校驗(yàn)位信息存放到所述NAND Flash芯片的頁(yè)面存儲(chǔ)中。

      在本發(fā)明的一種具體實(shí)施方式中,還包括:

      從所述NAND Flash芯片的頁(yè)面存儲(chǔ)中讀取第二數(shù)據(jù)對(duì)應(yīng)的第二BCH校驗(yàn)位信息和第二LDPC校驗(yàn)位信息;

      對(duì)所述第二BCH校驗(yàn)位信息進(jìn)行BCH解碼,并根據(jù)第二LDPC校驗(yàn)位信息確定正確的LDPC校驗(yàn)位信息;

      讀取所述第二數(shù)據(jù)對(duì)應(yīng)的第二隨機(jī)數(shù)據(jù)、第二CRC校驗(yàn)位信息和第二隨機(jī)種子;

      根據(jù)所述正確的LDPC校驗(yàn)位信息,還原LDPC原數(shù)據(jù);

      根據(jù)所述第二CRC校驗(yàn)信息確認(rèn)第二隨機(jī)數(shù)據(jù);

      對(duì)所述第二隨機(jī)數(shù)據(jù)進(jìn)行去隨機(jī)化處理,將其還原成打亂之前的所述第二數(shù)據(jù),待直接存儲(chǔ)器訪問DMA讀取。

      在本發(fā)明的一種具體實(shí)施方式中,所述根據(jù)第二LDPC校驗(yàn)位信息確定正確的LDPC校驗(yàn)位信息,包括:

      在對(duì)所述第二BCH校驗(yàn)位信息進(jìn)行BCH解碼之后,確定所述第二LDPC校驗(yàn)位信息是否正確;

      如果是,則確定所述第二LDPC校驗(yàn)位信息為正確的LDPC校驗(yàn)位信息;

      如果否,則對(duì)所述第二LDPC校驗(yàn)位信息進(jìn)行糾錯(cuò)處理,獲得正確的LDPC校驗(yàn)位信息。

      應(yīng)用本發(fā)明實(shí)施例所提供的技術(shù)方案,對(duì)于待寫入到NAND Flash芯片的頁(yè)面存儲(chǔ)中的第一數(shù)據(jù),首先寫隨機(jī)化模塊利用第一隨機(jī)種子對(duì)其進(jìn)行隨機(jī)化處理,獲得第一隨機(jī)數(shù)據(jù),CRC產(chǎn)生模塊根據(jù)第一隨機(jī)數(shù)據(jù)生成第一CRC校驗(yàn)位信息,LDPC編碼模塊根據(jù)前面操作產(chǎn)生的數(shù)據(jù)生成第一LDPC校驗(yàn)位信息,BCH編碼模塊對(duì)第一LDPC校驗(yàn)位信息進(jìn)行BCH編碼,生成第一BCH校驗(yàn)位信息,通過Flash通道控制模塊將第一隨機(jī)種子、第一隨機(jī)數(shù)據(jù)、第一CRC校驗(yàn)位信息、第一LDPC校驗(yàn)位信息和第一BCH校驗(yàn)位信息存放到NAND Flash芯片的頁(yè)面存儲(chǔ)中。對(duì)第一數(shù)據(jù)進(jìn)行隨機(jī)化處理,增強(qiáng)了數(shù)據(jù)安全性,使得存儲(chǔ)在NAND Flash芯片的頁(yè)面存儲(chǔ)中的數(shù)據(jù)不容易被竊取,同時(shí),采用LDPC編碼模塊對(duì)LDPC原數(shù)據(jù)進(jìn)行編碼產(chǎn)生第一LDPC校驗(yàn)位信息,采用BCH編碼對(duì)第一LDPC校驗(yàn)位信息進(jìn)行編碼得到第一BCH校驗(yàn)位信息,增強(qiáng)了數(shù)據(jù)糾錯(cuò)能力。

      附圖說明

      為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

      圖1為本發(fā)明實(shí)施例中一種固態(tài)硬盤SSD存儲(chǔ)系統(tǒng)的結(jié)構(gòu)示意圖;

      圖2為本發(fā)明實(shí)施例中SSD控制器與NAND Flash芯片互連的結(jié)構(gòu)示意圖;

      圖3為本發(fā)明實(shí)施例中隨機(jī)化處理過程示意圖;

      圖4為本發(fā)明實(shí)施例中CRC校驗(yàn)位信息生成過程示意圖;

      圖5為本發(fā)明實(shí)施例中LDPC校驗(yàn)位信息生成過程示意圖;

      圖6為本發(fā)明實(shí)施例中BCH校驗(yàn)位信息生成過程示意圖;

      圖7為本發(fā)明實(shí)施例中NAND Flash芯片的頁(yè)面存儲(chǔ)數(shù)據(jù)格式示意圖;

      圖8為本發(fā)明實(shí)施例中一種固態(tài)硬盤SSD存儲(chǔ)方法的實(shí)施流程圖。

      具體實(shí)施方式

      為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明。顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

      參見圖1所示,為本發(fā)明實(shí)施例所提供的一種固態(tài)硬盤SSD存儲(chǔ)系統(tǒng)的結(jié)構(gòu)示意圖,該系統(tǒng)包括寫隨機(jī)化模塊、循環(huán)冗余校驗(yàn)CRC產(chǎn)生模塊、低密度奇偶校驗(yàn)碼LDPC編碼模塊、BCH編碼模塊和Flash通道控制模塊,其中,

      所述寫隨機(jī)化模塊,用于利用第一隨機(jī)種子對(duì)待寫入到所述NAND Flash芯片的頁(yè)面存儲(chǔ)中的第一數(shù)據(jù)進(jìn)行隨機(jī)化處理,獲得第一隨機(jī)數(shù)據(jù);并將所述第一隨機(jī)種子和所述第一隨機(jī)數(shù)據(jù)輸入到所述CRC產(chǎn)生模塊中;

      所述CRC產(chǎn)生模塊,用于根據(jù)所述第一隨機(jī)種子和所述第一隨機(jī)數(shù)據(jù),生成第一CRC校驗(yàn)位信息;并將所述第一隨機(jī)種子、所述第一隨機(jī)數(shù)據(jù)和所述第一CRC校驗(yàn)位信息輸入到所述LDPC編碼模塊中;

      所述LDPC編碼模塊,用于根據(jù)所述第一隨機(jī)種子、所述第一隨機(jī)數(shù)據(jù)和所述第一CRC校驗(yàn)位信息,生成第一LDPC校驗(yàn)位信息;并將所述第一隨機(jī)種子、所述第一隨機(jī)數(shù)據(jù)、所述第一CRC校驗(yàn)位信息和所述第一LDPC校驗(yàn)位信息輸入到所述BCH編碼模塊中;

      所述BCH編碼模塊,用于對(duì)所述第一LDPC校驗(yàn)位信息進(jìn)行BCH編碼,生成第一BCH校驗(yàn)位信息;并通過所述Flash通道控制模塊將所述第一隨機(jī)種子、所述第一隨機(jī)數(shù)據(jù)、所述第一CRC校驗(yàn)位信息、所述第一LDPC校驗(yàn)位信息和所述第一BCH校驗(yàn)位信息存放到所述NAND Flash芯片的頁(yè)面存儲(chǔ)中。

      本發(fā)明實(shí)施例所提供的技術(shù)方案適合對(duì)2D NAND Flash芯片和3D NAND Flash芯片進(jìn)行訪問控制。

      參見圖2所示,為SSD控制器與NAND Flash芯片互連的結(jié)構(gòu)示意圖,SSD控制器通過PCIe(最新的總線和接口標(biāo)準(zhǔn))與外界連接,NAND Flash芯片的訪問控制系統(tǒng)一共有N個(gè)通道,每個(gè)通道最多有8個(gè)Flash Target(目標(biāo)),每個(gè)Flash Target有獨(dú)立的片選信號(hào)。每個(gè)通道的Flash Target控制信號(hào)共享使用,數(shù)據(jù)總線也是共享使用。片選信號(hào)、控制信號(hào)、數(shù)據(jù)總線由NAND Flash芯片訪問控制系統(tǒng)發(fā)出給相應(yīng)的Flash Target,以對(duì)該Flash Target進(jìn)行正確的訪問。

      在本發(fā)明實(shí)施例中,固態(tài)硬盤SSD存儲(chǔ)系統(tǒng)包括寫隨機(jī)化模塊、CRC(Cyclic Redundancy check,循環(huán)冗余校驗(yàn))產(chǎn)生模塊、LDPC(Low Density Parity Check Code,低密度奇偶校驗(yàn)碼)編碼模塊、BCH(Bose、Ray-Chaudhuri與Hocquenghem的縮寫)編碼模塊和Flash通道控制模塊。

      當(dāng)存在待寫入到NAND Flash芯片的頁(yè)面存儲(chǔ)中的第一數(shù)據(jù)時(shí),寫隨機(jī)化模塊可以利用第一隨機(jī)種子對(duì)第一數(shù)據(jù)進(jìn)行隨機(jī)化處理,獲得第一隨機(jī)數(shù)據(jù)。第一數(shù)據(jù)為待寫入到NAND Flash芯片的頁(yè)面存儲(chǔ)中的任意一個(gè)數(shù)據(jù)。

      具體的,寫隨機(jī)化模塊可以利用第一隨機(jī)種子將第一數(shù)據(jù)與設(shè)定比特?cái)?shù)的LFSR(Linear Feedback Shift Register,線性反饋移位寄存器)進(jìn)行隨機(jī)化操作。LFSR由第一隨機(jī)種子擴(kuò)展而成。

      如圖3所示,2Byte(16bit)隨機(jī)種子可以擴(kuò)展成32bit LFSR數(shù)據(jù),16Kbyte第一數(shù)據(jù)通過32bit LFSR本原多項(xiàng)式進(jìn)行隨機(jī)化操作后,得到16Kbyte第一隨機(jī)數(shù)據(jù),也即為16Kbyte保護(hù)數(shù)據(jù)。

      LFSR本原多項(xiàng)式為x32+x22+x2+x+1。

      寫隨機(jī)化模塊獲得第一隨機(jī)數(shù)據(jù)后,可以將第一隨機(jī)種子和第一隨機(jī)數(shù)據(jù)輸入到CRC產(chǎn)生模塊中。

      CRC產(chǎn)生模塊根據(jù)第一隨機(jī)種子和第一隨機(jī)數(shù)據(jù),可以生成第一CRC校驗(yàn)位信息。具體如圖4所示,圖3中的2Byte隨機(jī)種子和16Kbyte保護(hù)數(shù)據(jù)作為CRC保護(hù)數(shù)據(jù),該CRC保護(hù)數(shù)據(jù)通過CRC產(chǎn)生模塊可以生成第一CRC校驗(yàn)位信息,即6Byte CRC校驗(yàn)位信息。

      CRC本原多項(xiàng)式可以為:x48+x44+x42+x39+x37+x35+x34+x31+x28+x23+x19+x18+x17+x15+x14+x12+x11+x9+x8+x6+x4+x2+x+1。

      CRC產(chǎn)生模塊生成第一CRC校驗(yàn)位信息后,將第一隨機(jī)種子、第一隨機(jī)數(shù)據(jù)和第一CRC校驗(yàn)位信息輸入到LDPC編碼模塊中。

      LDPC編碼模塊可以根據(jù)第一隨機(jī)種子、第一隨機(jī)數(shù)據(jù)和第一CRC校驗(yàn)為信息,生成第一LDPC校驗(yàn)位信息。具體如圖5所示,圖4中的2Byte隨機(jī)種子、16Kbyte保護(hù)數(shù)據(jù)和6Byte CRC校驗(yàn)位信息作為L(zhǎng)DPC原數(shù)據(jù),該LDPC原數(shù)據(jù)通過LDPC編碼模塊可以生成第一LDPC校驗(yàn)位信息,即N-Byte LDPC校驗(yàn)位信息。N值可以根據(jù)實(shí)際情況確定。

      LDPC編碼模塊生成第一LDPC校驗(yàn)位信息后,可以將第一隨機(jī)種子、第一隨機(jī)數(shù)據(jù)、第一CRC校驗(yàn)位信息和第一LDPC校驗(yàn)位信息輸入到BCH編碼模塊中。

      BCH碼是一類重要的循環(huán)碼。BCH編碼模塊對(duì)第一LDPC校驗(yàn)位信息進(jìn)行BCH編碼,可以生成第一BCH校驗(yàn)位信息。具體如圖6所示,圖5中的N-Byte LDPC校驗(yàn)位信息通過BCH編碼模塊可以生成第一BCH校驗(yàn)位信息,即M-Byte BCH校驗(yàn)位信息。M值根據(jù)實(shí)際情況確定。

      BCH編碼模塊生成第一BCH校驗(yàn)位信息后,可以通過Flash通道控制模塊將第一隨機(jī)種子、第一隨機(jī)數(shù)據(jù)、第一CRC校驗(yàn)位信息、第一LDPC校驗(yàn)位信息和第一BCH校驗(yàn)位信息存放到NAND Flash芯片的頁(yè)面存儲(chǔ)中。如圖1所示,F(xiàn)lash通道控制模塊通過通道將相關(guān)信息存放到3D NAND Flash中。

      在本發(fā)明實(shí)施例中,NAND Flash芯片的頁(yè)面存儲(chǔ)可以包括Flash page(頁(yè))區(qū)域和Flash spare(備用)區(qū)域。

      Flash通道控制模塊,具體可以用于將第一隨機(jī)數(shù)據(jù)存放到Flash page區(qū)域中,將第一隨機(jī)種子、第一CRC校驗(yàn)位信息、第一LDPC校驗(yàn)位信息和第一BCH校驗(yàn)位信息存放到Flash spare區(qū)域中。

      如圖7所示,F(xiàn)lash page區(qū)域存放的是16Kbyte保護(hù)數(shù)據(jù),F(xiàn)lash spare區(qū)域存放的是2Byte隨機(jī)種子、6Byte CRC校驗(yàn)位信息、N-Byte LDPC校驗(yàn)位信息和M-Byte BCH校驗(yàn)位信息。

      在本發(fā)明的一種具體實(shí)施方式中,參見圖1所示,該系統(tǒng)還可以包括緩存模塊,該緩存模塊用于緩存待寫入到NAND Flash芯片的頁(yè)面存儲(chǔ)中的第一數(shù)據(jù),寫隨機(jī)化模塊可以從緩存模塊中獲取第一數(shù)據(jù)。

      應(yīng)用本發(fā)明實(shí)施例所提供的系統(tǒng),對(duì)于待寫入到NAND Flash芯片的頁(yè)面存儲(chǔ)中的第一數(shù)據(jù),首先寫隨機(jī)化模塊利用第一隨機(jī)種子對(duì)其進(jìn)行隨機(jī)化處理,獲得第一隨機(jī)數(shù)據(jù),CRC產(chǎn)生模塊根據(jù)第一隨機(jī)數(shù)據(jù)生成第一CRC校驗(yàn)位信息,LDPC編碼模塊根據(jù)前面操作產(chǎn)生的數(shù)據(jù)生成第一LDPC校驗(yàn)位信息,BCH編碼模塊對(duì)第一LDPC校驗(yàn)位信息進(jìn)行BCH編碼,生成第一BCH校驗(yàn)位信息,通過Flash通道控制模塊將第一隨機(jī)種子、第一隨機(jī)數(shù)據(jù)、第一CRC校驗(yàn)位信息、第一LDPC校驗(yàn)位信息和第一BCH校驗(yàn)位信息存放到NAND Flash芯片的頁(yè)面存儲(chǔ)中。對(duì)第一數(shù)據(jù)進(jìn)行隨機(jī)化處理,增強(qiáng)了數(shù)據(jù)安全性,使得存儲(chǔ)在NAND Flash芯片的頁(yè)面存儲(chǔ)中的數(shù)據(jù)不容易被竊取,同時(shí),采用LDPC編碼模塊對(duì)LDPC原數(shù)據(jù)進(jìn)行編碼產(chǎn)生第一LDPC校驗(yàn)位信息,采用BCH編碼對(duì)第一LDPC校驗(yàn)位信息進(jìn)行編碼得到第一BCH校驗(yàn)位信息,增強(qiáng)了數(shù)據(jù)糾錯(cuò)能力。

      參見圖1所示,該系統(tǒng)還可以包括BCH解碼模塊、LDPC解碼模塊、CRC確認(rèn)模塊和讀去隨機(jī)化模塊,其中,

      所述BCH解碼模塊,用于通過所述Flash通道控制模塊從所述NAND Flash芯片的頁(yè)面存儲(chǔ)中讀取第二數(shù)據(jù)對(duì)應(yīng)的第二BCH校驗(yàn)位信息和第二LDPC校驗(yàn)位信息;對(duì)所述第二BCH校驗(yàn)位信息進(jìn)行BCH解碼,并根據(jù)第二LDPC校驗(yàn)位信息確定正確的LDPC校驗(yàn)位信息,將所述正確的LDPC校驗(yàn)位信息輸出給所述LDPC解碼模塊;

      所述LDPC解碼模塊,用于通過所述Flash通道控制模塊從所述NAND Flash芯片的頁(yè)面存儲(chǔ)中讀取所述第二數(shù)據(jù)對(duì)應(yīng)的第二隨機(jī)數(shù)據(jù)、第二CRC校驗(yàn)位信息和第二隨機(jī)種子;根據(jù)所述正確的LDPC校驗(yàn)位信息,還原LDPC原數(shù)據(jù);

      所述CRC確認(rèn)模塊,用于根據(jù)所述第二CRC校驗(yàn)信息確認(rèn)第二隨機(jī)數(shù)據(jù);

      所述讀去隨機(jī)化模塊,用于對(duì)所述第二隨機(jī)數(shù)據(jù)進(jìn)行去隨機(jī)化處理,將其還原成打亂之前的所述第二數(shù)據(jù),待直接存儲(chǔ)器訪問DMA讀取。

      在本發(fā)明實(shí)施例中,當(dāng)存在從NAND Flash芯片的頁(yè)面存儲(chǔ)中讀取第二數(shù)據(jù)的請(qǐng)求時(shí),BCH解碼模塊可以通過Flash通道控制模塊從NAND Flash芯片的頁(yè)面存儲(chǔ)中讀取第二數(shù)據(jù)對(duì)應(yīng)的第二BCH校驗(yàn)位信息和第二LDPC校驗(yàn)位信息,對(duì)第二BCH校驗(yàn)位信息進(jìn)行BCH編碼,并根據(jù)第二LDPC校驗(yàn)位信息確定正確的LDPC校驗(yàn)位信息。將正確的LDPC校驗(yàn)位信息輸出給LDPC解碼模塊。

      具體的,BCH解碼模塊可以在對(duì)第二BCH校驗(yàn)位信息進(jìn)行BCH解碼之后,確定第二LDPC校驗(yàn)位信息是否正確,如果是,則將該第二LDPC校驗(yàn)位信息確定為正確的LDPC校驗(yàn)位信息,如果否,則對(duì)該第二LDPC校驗(yàn)位信息進(jìn)行糾錯(cuò)處理,獲得正確的LDPC校驗(yàn)位信息。

      LDPC解碼模塊可以通過Flash通道控制模塊從NAND Flash芯片的頁(yè)面存儲(chǔ)中讀取第二數(shù)據(jù)對(duì)應(yīng)的第二隨機(jī)數(shù)據(jù)、第二CRC校驗(yàn)位信息和第二隨機(jī)種子。根據(jù)正確的LDPC校驗(yàn)位信息,可以還原LDPC原數(shù)據(jù)。LDPC原數(shù)據(jù)包括第二數(shù)據(jù)對(duì)應(yīng)的第二隨機(jī)種子、第二隨機(jī)數(shù)據(jù)和第二CRC校驗(yàn)位信息。

      CRC確認(rèn)模塊可以根據(jù)第二CRC校驗(yàn)位信息確認(rèn)第二隨機(jī)數(shù)據(jù)。

      讀去隨機(jī)化模塊可以對(duì)該第二隨機(jī)數(shù)據(jù)進(jìn)行去隨機(jī)化處理,將其還原成打亂之前的第二數(shù)據(jù),待直接存儲(chǔ)器訪問DMA讀取。具體的,讀去隨機(jī)化模塊可以將第二數(shù)據(jù)緩存到緩存模塊中,再由DMA讀取。即緩存模塊還用于緩存經(jīng)過讀去隨機(jī)化模塊處理后的待DMA讀取的第二數(shù)據(jù)。

      在本發(fā)明實(shí)施例中,應(yīng)用了雙重糾錯(cuò)技術(shù),如果存儲(chǔ)在Flash spare區(qū)域的LDPC校驗(yàn)位信息出錯(cuò),采用BCH糾錯(cuò)技術(shù)能對(duì)其LDPC校驗(yàn)位信息進(jìn)行糾錯(cuò),得到正確的LDPC校驗(yàn)位信息,使用正確的LDPC校驗(yàn)位信息即可通過LDPC糾錯(cuò)技術(shù)把LDPC原數(shù)據(jù)還原出來,減少數(shù)據(jù)的損失。

      相應(yīng)于上面的方法實(shí)施例,本發(fā)明實(shí)施例還提供了一種固態(tài)硬盤SSD存儲(chǔ)方法,下文描述的一種固態(tài)硬盤SSD存儲(chǔ)方法與上文描述的一種固態(tài)硬盤SSD存儲(chǔ)系統(tǒng)可相互對(duì)應(yīng)參照。

      參見圖8所示,該方法可以包括以下步驟:

      S110:利用第一隨機(jī)種子對(duì)待寫入到所述NAND Flash芯片的頁(yè)面存儲(chǔ)中的第一數(shù)據(jù)進(jìn)行隨機(jī)化處理,獲得第一隨機(jī)數(shù)據(jù);

      S120:根據(jù)所述第一隨機(jī)種子和所述第一隨機(jī)數(shù)據(jù),生成第一CRC校驗(yàn)位信息;

      S130:根據(jù)所述第一隨機(jī)種子、所述第一隨機(jī)數(shù)據(jù)和所述第一CRC校驗(yàn)位信息,生成第一LDPC校驗(yàn)位信息;

      S140:對(duì)所述第一LDPC校驗(yàn)位信息進(jìn)行BCH編碼,生成第一BCH校驗(yàn)位信息;

      S150:將所述第一隨機(jī)種子、所述第一隨機(jī)數(shù)據(jù)、所述第一CRC校驗(yàn)位信息、所述第一LDPC校驗(yàn)位信息和所述第一BCH校驗(yàn)位信息存放到所述NAND Flash芯片的頁(yè)面存儲(chǔ)中。

      應(yīng)用本發(fā)明實(shí)施例所提供的方法,對(duì)于待寫入到NAND Flash芯片的頁(yè)面存儲(chǔ)中的第一數(shù)據(jù),首先利用第一隨機(jī)種子對(duì)其進(jìn)行隨機(jī)化處理,獲得第一隨機(jī)數(shù)據(jù),根據(jù)第一隨機(jī)數(shù)據(jù)生成第一CRC校驗(yàn)位信息,根據(jù)前面操作產(chǎn)生的數(shù)據(jù)生成第一LDPC校驗(yàn)位信息,對(duì)第一LDPC校驗(yàn)位信息進(jìn)行BCH編碼,生成第一BCH校驗(yàn)位信息,將第一隨機(jī)種子、第一隨機(jī)數(shù)據(jù)、第一CRC校驗(yàn)位信息、第一LDPC校驗(yàn)位信息和第一BCH校驗(yàn)位信息存放到NAND Flash芯片的頁(yè)面存儲(chǔ)中。對(duì)第一數(shù)據(jù)進(jìn)行隨機(jī)化處理,增強(qiáng)了數(shù)據(jù)安全性,使得存儲(chǔ)在NAND Flash芯片的頁(yè)面存儲(chǔ)中的數(shù)據(jù)不容易被竊取,同時(shí),對(duì)LDPC原數(shù)據(jù)進(jìn)行編碼產(chǎn)生第一LDPC校驗(yàn)位信息,對(duì)第一LDPC校驗(yàn)位信息進(jìn)行編碼得到第一BCH校驗(yàn)位信息,增強(qiáng)了數(shù)據(jù)糾錯(cuò)能力。

      在本發(fā)明的一種具體實(shí)施方式中,還包括以下步驟:

      步驟一:從所述NAND Flash芯片的頁(yè)面存儲(chǔ)中讀取第二數(shù)據(jù)對(duì)應(yīng)的第二BCH校驗(yàn)位信息和第二LDPC校驗(yàn)位信息;

      步驟二:對(duì)所述第二BCH校驗(yàn)位信息進(jìn)行BCH解碼,并根據(jù)第二LDPC校驗(yàn)位信息確定正確的LDPC校驗(yàn)位信息;

      步驟三:讀取所述第二數(shù)據(jù)對(duì)應(yīng)的第二隨機(jī)數(shù)據(jù)、第二CRC校驗(yàn)位信息和第二隨機(jī)種子;

      步驟四:根據(jù)所述正確的LDPC校驗(yàn)位信息,還原LDPC原數(shù)據(jù);

      步驟五:根據(jù)所述第二CRC校驗(yàn)信息確認(rèn)第二隨機(jī)數(shù)據(jù);

      步驟六:對(duì)所述第二隨機(jī)數(shù)據(jù)進(jìn)行去隨機(jī)化處理,將其還原成打亂之前的所述第二數(shù)據(jù),待直接存儲(chǔ)器訪問DMA讀取。

      在本發(fā)明的一種具體實(shí)施方式中,所述根據(jù)第二LDPC校驗(yàn)位信息確定正確的LDPC校驗(yàn)位信息,包括:

      在對(duì)所述第二BCH校驗(yàn)位信息進(jìn)行BCH解碼之后,確定所述第二LDPC校驗(yàn)位信息是否正確;

      如果是,則確定所述第二LDPC校驗(yàn)位信息為正確的LDPC校驗(yàn)位信息;

      如果否,則對(duì)所述第二LDPC校驗(yàn)位信息進(jìn)行糾錯(cuò)處理,獲得正確的LDPC校驗(yàn)位信息。

      在本發(fā)明實(shí)施例中,應(yīng)用了雙重糾錯(cuò)技術(shù),如果存儲(chǔ)在Flash spare區(qū)域的LDPC校驗(yàn)位信息出錯(cuò),采用BCH糾錯(cuò)技術(shù)能對(duì)其LDPC校驗(yàn)位信息進(jìn)行糾錯(cuò),得到正確的LDPC校驗(yàn)位信息,使用正確的LDPC校驗(yàn)位信息即可通過LDPC糾錯(cuò)技術(shù)把LDPC原數(shù)據(jù)還原出來,減少數(shù)據(jù)的損失。

      本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似部分互相參見即可。對(duì)于實(shí)施例公開的方法而言,由于其與實(shí)施例公開的系統(tǒng)相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見系統(tǒng)部分說明即可。

      專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

      結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。

      本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的技術(shù)方案及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。

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