本發(fā)明設(shè)計(jì)固態(tài)硬盤(pán)存儲(chǔ)領(lǐng)域,更具體涉及一種ssd透明壓縮方法。
背景技術(shù):
1、當(dāng)前ssd已經(jīng)代替機(jī)械硬盤(pán)被廣泛應(yīng)用于便攜式設(shè)備。nand顆粒作為ssd的存儲(chǔ)載體具有高性能、低能耗、穩(wěn)定等諸多優(yōu)點(diǎn),但nand顆粒也有缺點(diǎn),nand的擦寫(xiě)次數(shù)是有限的,如果block的擦寫(xiě)次數(shù)超過(guò)一定的次數(shù)該block會(huì)被破壞。一般避免nand過(guò)度磨損的做法是使用算法去平衡各個(gè)block的擦寫(xiě)次數(shù),比如在寫(xiě)入nand的時(shí)候優(yōu)先挑選擦寫(xiě)次數(shù)較少的block,讓每個(gè)block的擦寫(xiě)次數(shù)趨于一致,但該方法并不能真正的延長(zhǎng)nand顆粒壽命。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是提供一種通過(guò)減少軟件復(fù)雜度來(lái)節(jié)省cpu的資源,由此減少成本的可實(shí)現(xiàn)大容量固態(tài)硬盤(pán)的系統(tǒng)及其實(shí)現(xiàn)方法。
2、根據(jù)本發(fā)明的一個(gè)方面,提供了一種ssd透明壓縮方法,
3、寫(xiě)數(shù)據(jù)包括:
4、接收主機(jī)發(fā)送的數(shù)據(jù)和寫(xiě)命令,并將數(shù)據(jù)所對(duì)應(yīng)的lba信息寫(xiě)到對(duì)應(yīng)的元數(shù)據(jù)地址中;
5、判斷接收的數(shù)據(jù)是否可以壓縮,若可以壓縮則將數(shù)據(jù)壓縮,并將壓縮后的數(shù)據(jù)和對(duì)應(yīng)的元數(shù)據(jù)寫(xiě)入閃存中,若數(shù)據(jù)無(wú)法壓縮,則將未壓縮的數(shù)據(jù)和對(duì)應(yīng)的元數(shù)據(jù)寫(xiě)入閃存中,所述元數(shù)據(jù)中記錄有對(duì)應(yīng)數(shù)據(jù)的lba信息;
6、讀數(shù)據(jù)包括:
7、接收主機(jī)的讀命令,通過(guò)l2p映射表獲取數(shù)據(jù)在閃存中的位置,并將數(shù)據(jù)從閃存中讀取到內(nèi)存管理模塊的buffer中;
8、檢查讀取出的數(shù)據(jù)對(duì)應(yīng)的元數(shù)據(jù)中的lba信息,并將讀取出的lba信息與所述讀命令中的lba信息比較,在解壓之后的數(shù)據(jù)中確定命令讀取數(shù)據(jù);
9、將命令讀取數(shù)據(jù)的數(shù)據(jù)回復(fù)主機(jī)。
10、在一些實(shí)施方式中,接收數(shù)據(jù)后,由軟件將所接收的數(shù)據(jù)對(duì)應(yīng)的lba信息寫(xiě)到對(duì)應(yīng)的元數(shù)據(jù)地址中。
11、在一些實(shí)施方式中,所述主機(jī)將數(shù)據(jù)和寫(xiě)命令發(fā)送至前端模塊,所述前端模塊將數(shù)據(jù)發(fā)送至壓縮模塊;
12、所述前端模塊將命令讀取數(shù)據(jù)的數(shù)據(jù)回復(fù)主機(jī)。
13、在一些實(shí)施方式中,所述壓縮模塊判斷接收到的數(shù)據(jù)是否可以被壓縮,若可被壓縮,所述壓縮模塊為該筆數(shù)據(jù)提供一個(gè)標(biāo)志位flag置0,并記錄該筆數(shù)據(jù)的lba信息;
14、所述壓縮模塊處理該筆數(shù)據(jù)后,為該筆數(shù)據(jù)提供一個(gè)標(biāo)志位flag置1,該筆數(shù)據(jù)被存放在所述內(nèi)存管理模塊中。
15、在一些實(shí)施方式中,還包括閃存控制器,所述閃存控制器從所述內(nèi)存管理模塊提取壓縮之后的數(shù)據(jù)以及對(duì)應(yīng)的元數(shù)據(jù)中的lba信息寫(xiě)入內(nèi)存中。
16、在一些實(shí)施方式中,由所述閃存控制器將數(shù)據(jù)從閃存中讀取到內(nèi)存管理模塊的buffer中。
17、在一些實(shí)施方式中,所述壓縮模塊將兩個(gè)或三個(gè)或四個(gè)數(shù)據(jù)進(jìn)行壓縮。
18、其有益效果為:本發(fā)明引入了壓縮機(jī)制,通過(guò)將數(shù)據(jù)壓縮的方式,減少對(duì)閃存nand的擦寫(xiě),在不影響系統(tǒng)正常功能的情況下,提升了寫(xiě)入效率,延長(zhǎng)了nand的使用壽命。
19、本發(fā)明引入壓縮機(jī)制,最大可以按4:1的比例進(jìn)行壓縮,通過(guò)壓縮模塊將數(shù)據(jù)壓縮然后寫(xiě)入nand的方式在不影響系統(tǒng)正常功能的情況下,可以使nand得寫(xiě)入效率大幅提升,延長(zhǎng)nand近一倍的使用壽命。
1.一種ssd透明壓縮方法,其特征在于,
2.根據(jù)權(quán)利要求1所述的ssd透明壓縮方法,其特征在于,接收數(shù)據(jù)后,將所接收的數(shù)據(jù)對(duì)應(yīng)的lba信息寫(xiě)到對(duì)應(yīng)的元數(shù)據(jù)地址中。
3.根據(jù)權(quán)利要求1所述的ssd透明壓縮方法,其特征在于,所述主機(jī)將數(shù)據(jù)和寫(xiě)命令發(fā)送至前端模塊,所述前端模塊將數(shù)據(jù)發(fā)送至壓縮模塊;
4.根據(jù)權(quán)利要求3所述的ssd透明壓縮方法,其特征在于,所述壓縮模塊判斷接收到的數(shù)據(jù)是否可以被壓縮,若可被壓縮,所述壓縮模塊為該筆數(shù)據(jù)提供一個(gè)標(biāo)志位flag置0,并記錄該筆數(shù)據(jù)的lba信息;
5.根據(jù)權(quán)利要求4所述的ssd透明壓縮方法,其特征在于,還包括閃存控制器,所述閃存控制器從所述內(nèi)存管理模塊提取壓縮之后的數(shù)據(jù)以及對(duì)應(yīng)的元數(shù)據(jù)中的lba信息寫(xiě)入內(nèi)存中。
6.根據(jù)權(quán)利要求5所述的ssd透明壓縮方法,其特征在于,由所述閃存控制器將數(shù)據(jù)從閃存中讀取到內(nèi)存管理模塊的buffer中。
7.根據(jù)權(quán)利要求1所述的ssd透明壓縮方法,其特征在于,所述壓縮模塊將兩個(gè)或三個(gè)或四個(gè)數(shù)據(jù)進(jìn)行壓縮。