1.一種FTL地址映射的方法,其特征在于,包括:
將邏輯地址空間劃分為若干個(gè)邏輯地址段,每個(gè)所述邏輯地址段中所包括的邏輯塊數(shù)量為預(yù)設(shè)值;
建立虛擬地址空間,所述虛擬地址空間包括虛擬地址段,所述虛擬地址段的數(shù)量大于或等于所述邏輯地址段的數(shù)量,各虛擬地址段中虛擬塊的數(shù)量大于所述預(yù)設(shè)值,所述虛擬地址段與所述邏輯地址段一一對(duì)應(yīng),所述虛擬地址段中的虛擬塊與物理地址空間中的物理塊為塊級(jí)映射;
建立所述邏輯地址段和與所述邏輯地址段對(duì)應(yīng)的虛擬地址段之間的頁級(jí)映射表,以及所述虛擬地址段中虛擬塊和與所述虛擬地址段中虛擬塊映射的物理塊之間的塊級(jí)映射表;
當(dāng)主機(jī)讀或?qū)憯?shù)據(jù)時(shí),獲取所述主機(jī)讀或?qū)憯?shù)據(jù)對(duì)應(yīng)的目標(biāo)邏輯頁地址;
根據(jù)所述目標(biāo)邏輯頁地址和所述頁級(jí)映射表,確定目標(biāo)虛擬頁地址,所述目標(biāo)虛擬頁地址與所述目標(biāo)邏輯頁地址相互映射;
根據(jù)所述目標(biāo)虛擬頁地址和所述塊級(jí)映射表,確定目標(biāo)物理頁地址,所述目標(biāo)虛擬頁地址所在虛擬塊與所述目標(biāo)邏輯頁地址所在邏輯塊相互映射。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述頁級(jí)映射表包括與邏輯頁地址映射的虛擬頁地址,所述虛擬頁地址包括虛擬頁所屬虛擬地址段的標(biāo)識(shí)、虛擬頁所屬虛擬地址段中虛擬塊的標(biāo)識(shí)和塊內(nèi)偏移量;
所述目標(biāo)虛擬頁地址包括所述目標(biāo)虛擬頁所屬虛擬地址段的標(biāo)識(shí)、所述目標(biāo)虛擬頁所屬虛擬地址段中虛擬塊的標(biāo)識(shí)和目標(biāo)塊內(nèi)偏移量。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述塊級(jí)映射表包括與所述虛擬地址段中虛擬塊映射的物理地址空間中物理塊的地址,所述物理地址空間中物理塊的地址包括所述物理地址空間中物理塊的標(biāo)識(shí);
則所述根據(jù)所述目標(biāo)虛擬頁地址和所述塊級(jí)映射表,確定目標(biāo)物理頁地址包括:
根據(jù)所述目標(biāo)虛擬頁所屬虛擬地址段中虛擬塊的標(biāo)識(shí)和所述塊級(jí)映射表,確定所述目標(biāo)物理頁所屬物理塊的標(biāo)識(shí);
根據(jù)所述目標(biāo)物理頁所屬物理塊的標(biāo)識(shí)和所述目標(biāo)塊內(nèi)偏移量確定所述目標(biāo)物理頁地址。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述虛擬地址段與所述邏輯地址段按照所述虛擬地址段標(biāo)識(shí)順序和所述邏輯地址段標(biāo)識(shí)順序一一對(duì)應(yīng)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)主機(jī)寫數(shù)據(jù)時(shí),所述獲取所述主機(jī)讀或?qū)憯?shù)據(jù)對(duì)應(yīng)的目標(biāo)邏輯頁地址包括:
根據(jù)所述主機(jī)發(fā)送的寫數(shù)據(jù)請(qǐng)求獲取所述主機(jī)讀數(shù)據(jù)對(duì)應(yīng)的目標(biāo)邏輯頁地址;
在所述根據(jù)所述目標(biāo)虛擬頁地址和所述塊級(jí)映射表,確定目標(biāo)物理頁地址之后,所述方法還包括:
判斷所述目標(biāo)物理頁地址當(dāng)前是否存儲(chǔ)其他數(shù)據(jù);
當(dāng)所述目標(biāo)物理頁地址當(dāng)前未存儲(chǔ)其他數(shù)據(jù)時(shí),將所述主機(jī)寫入的數(shù)據(jù)存儲(chǔ)所述目標(biāo)物理頁地址;
當(dāng)所述目標(biāo)物理頁地址當(dāng)前存儲(chǔ)其他數(shù)據(jù)時(shí),在所述物理地址空間中選擇當(dāng)前未存儲(chǔ)其他數(shù)據(jù)的物理頁地址作為新目標(biāo)物理頁地址,與所述新目標(biāo)物理頁地址所屬物理塊相互映射的新目標(biāo)虛擬塊和所述目標(biāo)虛擬頁地址所在虛擬塊屬于同一個(gè)虛擬地址段;
將所述主機(jī)寫入的數(shù)據(jù)存儲(chǔ)所述新目標(biāo)物理頁地址。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述將所述主機(jī)寫入的數(shù)據(jù)存儲(chǔ)所述新目標(biāo)物理頁地址之后,所述方法還包括:
根據(jù)所述新目標(biāo)物理頁地址和所述塊級(jí)映射表確定新目標(biāo)虛擬頁地址,所述新目標(biāo)虛擬頁地址所在虛擬塊與所述新目標(biāo)邏輯頁地址所在邏輯塊相互映射;
根據(jù)所述新目標(biāo)虛擬頁地址更新所述頁級(jí)映射表,使更新后的頁級(jí)映射表中所述新目標(biāo)虛擬頁地址與所述目標(biāo)邏輯頁地址相互映射。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)所述主機(jī)讀數(shù)據(jù)時(shí),所述獲取所述主機(jī)讀數(shù)據(jù)對(duì)應(yīng)的目標(biāo)邏輯頁地址包括:
根據(jù)所述主機(jī)發(fā)送的讀數(shù)據(jù)請(qǐng)求獲取所述主機(jī)讀數(shù)據(jù)對(duì)應(yīng)的目標(biāo)邏輯頁地址;
在所述根據(jù)所述目標(biāo)虛擬頁地址和所述塊級(jí)映射表,確定目標(biāo)物理頁地址之后,所述方法還包括:
向所述主機(jī)發(fā)送所述目標(biāo)物理頁地址中存儲(chǔ)的數(shù)據(jù)。
8.一種FTL地址映射的裝置,其特征在于,包括:
劃分單元,用于將邏輯地址空間劃分為若干個(gè)邏輯地址段,每個(gè)所述邏輯地址段中所包括的邏輯塊數(shù)量為預(yù)設(shè)值;
建立單元,用于建立虛擬地址空間,所述虛擬地址空間包括虛擬地址段,所述虛擬地址段的數(shù)量大于或等于所述邏輯地址段的數(shù)量,各虛擬地址段中虛擬塊的數(shù)量大于所述預(yù)設(shè)值,所述虛擬地址段與所述邏輯地址段一一對(duì)應(yīng),所述虛擬地址段中的虛擬塊與物理地址空間中的物理塊為塊級(jí)映射;
所述建立單元還用于建立所述邏輯地址段和與所述邏輯地址段對(duì)應(yīng)的虛擬地址段之間的頁級(jí)映射表,以及所述虛擬地址段中虛擬塊和與所述虛擬地址段中虛擬塊映射的物理塊之間的塊級(jí)映射表;
獲取單元,用于當(dāng)主機(jī)讀或?qū)憯?shù)據(jù)時(shí),獲取所述主機(jī)讀或?qū)憯?shù)據(jù)對(duì)應(yīng)的目標(biāo)邏輯頁地址;
確定單元,用于根據(jù)所述目標(biāo)邏輯頁地址和所述頁級(jí)映射表,確定目標(biāo)虛擬頁地址,所述目標(biāo)虛擬頁地址與所述目標(biāo)邏輯頁地址相互映射;
所述確定單元還用于根據(jù)所述目標(biāo)虛擬頁地址和所述塊級(jí)映射表,確定目標(biāo)物理頁地址,所述目標(biāo)虛擬頁地址所在虛擬塊與所述目標(biāo)邏輯頁地址所在邏輯塊相互映射。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述頁級(jí)映射表包括與邏輯頁地址映射的虛擬頁地址,所述虛擬頁地址包括虛擬頁所屬虛擬地址段的標(biāo)識(shí)、虛擬頁所屬虛擬地址段中虛擬塊的標(biāo)識(shí)和塊內(nèi)偏移量;
所述目標(biāo)虛擬頁地址包括所述目標(biāo)虛擬頁所屬虛擬地址段的標(biāo)識(shí)、所述目標(biāo)虛擬頁所屬虛擬地址段中虛擬塊的標(biāo)識(shí)和目標(biāo)塊內(nèi)偏移量。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述塊級(jí)映射表包括與所 述虛擬地址段中虛擬塊映射的物理地址空間中物理塊的地址,所述物理地址空間中物理塊的地址包括所述物理地址空間中物理塊的標(biāo)識(shí);
所述確定單元具體用于根據(jù)所述目標(biāo)虛擬頁所屬虛擬地址段中虛擬塊的標(biāo)識(shí)和所述塊級(jí)映射表,確定所述目標(biāo)物理頁所屬物理塊的標(biāo)識(shí);以及,用于根據(jù)所述目標(biāo)物理頁所屬物理塊的標(biāo)識(shí)和所述目標(biāo)塊內(nèi)偏移量確定所述目標(biāo)物理頁地址。
11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述虛擬地址段與所述邏輯地址段按照所述虛擬地址段標(biāo)識(shí)順序和所述邏輯地址段標(biāo)識(shí)順序一一對(duì)應(yīng)。
12.根據(jù)權(quán)利要求8所述的裝置,其特征在于,當(dāng)主機(jī)寫數(shù)據(jù)時(shí),所述獲取單元具體用于根據(jù)所述主機(jī)發(fā)送的寫數(shù)據(jù)請(qǐng)求獲取所述主機(jī)讀數(shù)據(jù)對(duì)應(yīng)的目標(biāo)邏輯頁地址;
所述裝置還包括:
判斷單元,用于判斷所述目標(biāo)物理頁地址當(dāng)前是否存儲(chǔ)其他數(shù)據(jù);
存儲(chǔ)單元,用于當(dāng)所述目標(biāo)物理頁地址當(dāng)前未存儲(chǔ)其他數(shù)據(jù)時(shí),將所述主機(jī)寫入的數(shù)據(jù)存儲(chǔ)所述目標(biāo)物理頁地址;
選擇單元,用于當(dāng)所述目標(biāo)物理頁地址當(dāng)前存儲(chǔ)其他數(shù)據(jù)時(shí),在所述物理地址空間中選擇當(dāng)前未存儲(chǔ)其他數(shù)據(jù)的物理頁地址作為新目標(biāo)物理頁地址,與所述新目標(biāo)物理頁地址所屬物理塊相互映射的新目標(biāo)虛擬塊和所述目標(biāo)虛擬頁地址所在虛擬塊屬于同一個(gè)虛擬地址段;
所述存儲(chǔ)單元還用于將所述主機(jī)寫入的數(shù)據(jù)存儲(chǔ)所述新目標(biāo)物理頁地址。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述確定單元還用于根據(jù)所述新目標(biāo)物理頁地址和所述塊級(jí)映射表確定新目標(biāo)虛擬頁地址,所述新目標(biāo)虛擬頁地址所在虛擬塊與所述新目標(biāo)邏輯頁地址所在邏輯塊相互映射;所述裝置還包括:
更新單元,用于根據(jù)所述新目標(biāo)虛擬頁地址更新所述頁級(jí)映射表,使更新后的頁級(jí)映射表中所述新目標(biāo)虛擬頁地址與所述目標(biāo)邏輯頁地址相互映射。
14.根據(jù)權(quán)利要求8所述的裝置,其特征在于,當(dāng)所述主機(jī)讀數(shù)據(jù)時(shí),所述獲取單元具體用于根據(jù)所述主機(jī)發(fā)送的讀數(shù)據(jù)請(qǐng)求獲取所述主機(jī)讀數(shù)據(jù)對(duì)應(yīng) 的目標(biāo)邏輯頁地址;
所述裝置還包括:
發(fā)送單元,用于向所述主機(jī)發(fā)送所述目標(biāo)物理頁地址中存儲(chǔ)的數(shù)據(jù)。