專利名稱:一種同時糾正固定錯誤與隨機(jī)錯誤的糾錯編碼算法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲器領(lǐng)域,更具體的,涉及閃存或相變隨機(jī)存取存儲器中的糾錯編碼方法,尤其是固定錯誤與隨機(jī)錯誤共存的糾錯編碼方法。
背景技術(shù):
閃存(FlashMemory)和相變隨機(jī)存取存儲器(Phase Change Random Access Memory, PCRAM)是兩種新型的固態(tài)存儲技術(shù)。閃存是目前使用最普遍的消費類存儲器,如優(yōu)盤,內(nèi)存卡等,而PCRAM則是作為下一代固態(tài)存儲器的最有力競爭者。閃存的存儲原理是通過量化其浮柵(Floating Gate)結(jié)構(gòu)中存儲的電子數(shù)量來表示存儲數(shù)據(jù),而PCRAM則是通過存儲介質(zhì)材料在晶態(tài)和非晶態(tài)之間的導(dǎo)電性差異來表示存儲數(shù)據(jù)。
閃存與PCRAM介質(zhì)在生產(chǎn)過程中由于工藝,環(huán)境等因素都可能會產(chǎn)生壞位,即壞的存儲單元,這些壞的存儲單元被稱為固定錯誤(Stuck Error or Stuck Cell),這些固定錯誤的取值是永久固定,不可以被改變的,一般而言,固定錯誤的位置與類型可以在芯片出廠之前通過測試獲得,從而在使用中進(jìn)行標(biāo)記與糾正;與此同時,閃存與PCRAM在使用過程中,由于電子噪聲,干擾等因素會產(chǎn)生隨機(jī)錯誤(Random Error),相對于固定錯誤而言,隨機(jī)錯誤的位置與類型是不可預(yù)知的,而且隨機(jī)錯誤的產(chǎn)生跟芯片的使用時間有關(guān),是可以被改變的。
在閃存與PCRAM存儲系統(tǒng)中,為了確保存儲數(shù)據(jù)的可靠性,在數(shù)據(jù)存儲之前,需要對存儲數(shù)據(jù)進(jìn)行編碼,然后在數(shù)據(jù)讀取之后,對數(shù)據(jù)進(jìn)行檢錯與糾錯,這稱為錯誤校驗與糾錯(Error Checking and Correcting, ECC)或纟H錯編石馬(Error Correcting Coding, ECC)。
傳統(tǒng)的糾錯方法采用線性分組碼、循環(huán)碼或者其他的糾錯碼來進(jìn)行糾錯,如漢明碼,BCH碼,LDPC碼等。但是上述的這些糾錯編碼都是針對隨機(jī)錯誤而設(shè)計的,對于固定錯誤與隨機(jī)錯誤共存的場景,目前主要有兩種方案來解決,第一種方案是把固定錯誤當(dāng)作隨機(jī)錯誤來處理,這樣其需要的冗余會相對比較大,如(7,4)漢明碼,糾正一個隨機(jī)錯誤,需要3位冗余,碼率只有57. 1%,而當(dāng)編碼器獲知固定錯誤信息時,屏蔽一個固定錯誤,只需要 I位冗余,碼率為85. 7% ;第二種方案是把固定錯誤圖樣傳遞給譯碼器,譯碼器輸出數(shù)據(jù)時直接查詢固定錯誤圖樣,然后進(jìn)行糾正,這樣其需要的解碼時延比較大,同時破壞了系統(tǒng)的層次性與模塊化特征,使得控制電路非常復(fù)雜,不具有實用性。
針對閃存與PCRAM系統(tǒng)中固定錯誤與隨機(jī)錯誤共存的錯誤特點,同時編碼器能獲知固定錯誤信息的場景,需要設(shè)計一種編碼效率高,解碼時延小,復(fù)雜度低,同時具有實用性的糾錯編碼方法。發(fā)明內(nèi)容
本發(fā)明針對固定錯誤與隨機(jī)錯誤共存,并且編碼器獲知固定錯誤信息的場景,提供一種新的糾錯編碼方法來保證存儲數(shù)據(jù)的可靠性,該方法可以提高編碼效率,具有編解碼復(fù)雜度低,時延小等特點,同時,本方法具有很強(qiáng)的通用性。
本發(fā)明提供一種同時糾正固定錯誤與隨機(jī)錯誤的糾錯編碼方法,其包括錯誤圖樣檢測;編碼矩陣構(gòu)造;特征序列生成;數(shù)據(jù)編碼;數(shù)據(jù)解碼。
I)錯誤圖樣檢測獲取固定錯誤的位置與類型。如果固定為“1”,則稱其為“I-型錯誤”,如果固定為“0”,則稱“O-型錯誤”,錯誤圖樣一般在生產(chǎn)之后進(jìn)行檢測,并存儲在某個固定區(qū)域,當(dāng)用戶信息數(shù)據(jù)到達(dá),編碼器查詢欲存儲區(qū)域是否存在固定錯誤,若有,則獲取錯誤圖樣。
2)編碼矩陣構(gòu)造根據(jù)系統(tǒng)所需的糾錯能力,選取合適的線性編碼矩陣G和校驗矩陣H,滿足G ·ΗΤ=0,在線性編碼矩陣G的基礎(chǔ)上,分解出糾正隨機(jī)錯誤的編碼矩陣G1與其偽逆矩陣A=Gf -(G1-Gfr1,滿足G1 -Ht=O與G1 4=1,然后根據(jù)G1與,求解得到糾正固定錯誤的編碼矩陣G。,滿足Gtl · Ht=O與G0-(S1=O。
3)特征序列生成編碼器根據(jù)獲取到的固定錯誤圖樣,采用交叉熵 (Cross-Entropy, CE)迭代算法生成糾正固定錯誤的預(yù)編碼序列U,使得其能屏蔽盡可能多的固定錯誤。
4)數(shù)據(jù)編碼編碼器編碼矩陣G1與Gtl,分別對信息序列M與特征序列U進(jìn)行編碼,得到相應(yīng)的碼字G1和Ctl,然后做模2加法運算,得到最終的存儲碼字C。
5)數(shù)據(jù)解碼解碼器根據(jù)校驗矩陣H進(jìn)行校驗與糾錯,恢復(fù)出原始信息序列M,只要隨機(jī)錯誤個數(shù)與固定錯誤個數(shù)沒有超過系統(tǒng)給定的糾錯能力,即能實現(xiàn)正確譯碼。
本發(fā)明考慮在編碼器端對固定錯誤進(jìn)行屏蔽的策略,解碼器不需固定錯誤信息而直接進(jìn)行解碼,具有很低的解碼時延和復(fù)雜度,同時本方法編碼效率高,且具有很強(qiáng)的通用性。本發(fā)明特別適用于閃存與相變隨機(jī)存取存儲器等固定錯誤可檢測,且要求低解碼時延的應(yīng)用場景中。
圖I是閃存與相變隨機(jī)存取存儲器中固定錯誤圖樣示意圖
圖2是閃存與相變隨機(jī)存取存儲器典型系統(tǒng)結(jié)構(gòu)框圖3是本發(fā)明編解碼整體框架結(jié)構(gòu)示意圖4是本發(fā)明編碼流程示意圖5是本發(fā)明解碼流程示意圖6是本發(fā)明編碼矩陣構(gòu)造流程示意圖7是本發(fā)明特征序列生成流程示意圖;具體實施方式
下面結(jié)合附圖對本發(fā)明的具體實施方式
進(jìn)行詳細(xì)說明。
圖I是本發(fā)明的提及的錯誤圖樣示意圖,當(dāng)需要把信息數(shù)據(jù)塊中的數(shù)據(jù)(用M(i, j)表示),寫入存儲區(qū)域塊中的存儲單元(用C(i,j)表示)時(注這里i表示行號,j表示列號),由于存儲單元存在固定錯誤,使得存儲數(shù)據(jù)可能發(fā)生錯誤,難以保證其可靠性。假設(shè)信息數(shù)據(jù)與存取區(qū)域的錯誤圖樣如圖I所示,則存儲單元c(l,4)與C(4,6)固定為“0”,不論寫入何值,其讀出值始終為“0”,而存儲單元C(2,7)與C(3,2)固定為“1”,不論寫入何值,其讀出值始終為“I”。對照信息數(shù)據(jù)塊可知,M(l, 4)和M(3,2)的值為“1”,M(2, 7)和M(4,6)的值為“O”。因此,M(l,4)與C(l,4)不吻合,讀出將出錯;M(3,2)與C(3,2)吻合,讀出將不出錯;M(2,7)與C(2,7)不吻合,讀出將出錯;M(4,6)與C(4,6)吻合,讀出將不出錯。圖2是本發(fā)明閃存與相變隨機(jī)存取存儲器典型系統(tǒng)結(jié)構(gòu)框圖,存儲技術(shù)設(shè)備層(Memory Technology Device, MTD)作為底層功能模塊提供對Flash存儲單元最基本的讀、寫、擦除等操作;閃存映射層(Flash Translation Layer, FTL)作為上層文件系統(tǒng)與存儲單元之間的中間層,提供邏輯塊地址(Logic Block Address, LBA)到物理塊地址(PhysicBlock Address, PBA)之間的映射,不同的存儲系統(tǒng)根據(jù)實際應(yīng)用需求采用不同的映射方法,典型的映射方式有基于頁地址映射和基于塊地址映射等;文件系統(tǒng)(File System,如FAT32)提供用戶操作統(tǒng)一接口,屏蔽下層具體物理存儲系統(tǒng),存儲控制器(StorageController)是存儲系統(tǒng)管理相當(dāng)重要的一個模塊,包括磨損均衡(Wear Leveling, WL),垃圾回收(Garbage Collection, GC),壞塊管理(Bad Block Management, BBM),錯誤檢驗與糾正(Error Checking and Correcting, ECC)等模塊,這些模塊對存儲系統(tǒng)的穩(wěn)定性與可靠性提供保障,本發(fā)明主要考慮ECC模塊。圖3是本發(fā)明編解碼整體框架結(jié)構(gòu)示意圖,系統(tǒng)在啟動時,需要根據(jù)預(yù)先設(shè)定的糾錯能力選定合適的線性糾錯編碼,確定其生成矩陣G與校驗矩陣H,然后在此基礎(chǔ)上獲得糾正固定錯誤的編碼矩陣Gtl與糾正隨機(jī)錯誤的編碼矩陣G1,并根據(jù)錯誤圖樣獲得特征序列U。寫入數(shù)據(jù)時,用戶信息數(shù)據(jù)M經(jīng)過編碼器G1后,得到碼字G1,特征序列經(jīng)過編碼器Gtl后,得到碼字Ctl,然后對Ctl和G1進(jìn)行模2加法運算,得到最終的輸出碼字C,然后寫入存儲介質(zhì);讀出數(shù)據(jù)時,用戶從存儲介質(zhì)中獲取數(shù)據(jù)碼字C',經(jīng)過解碼器后,恢復(fù)信息數(shù)據(jù)M'。本發(fā)明提出第一實施例,給出本發(fā)明的編解碼原理與流程。如圖4所示為本發(fā)明編碼流程圖,設(shè)G為線性糾錯碼C(m,n)的生成矩陣,其為mXn的行滿秩矩陣,H為其校驗矩陣,滿足G · Ητ=0。設(shè)G1和Gtl為根據(jù)G獲得的分別用來糾正隨機(jī)錯誤與固定錯誤的生成矩陣,其中G1為(m-k) Xn的行滿秩矩陣,G0為kXn的行滿秩矩陣,A=GfG1的偽逆矩陣,滿足G1 · HT=0, G0 · HT=0, Gtl .(S1=O與Cri-Oi=GrGi .(GiW) =I,乂· J--C1與Gtl的獲取以及相關(guān)關(guān)系式的證明將在接下來的實施例中給出。編碼器I)假設(shè)碼長為n,則實際信息序列長度為m-k,當(dāng)寫入請求到達(dá),編碼器接收到信息數(shù)據(jù)序列M,即M=Lx1, X2, *··, Xm-J.(I)編碼器根據(jù)編碼矩陣G1與M生成碼字G1, SP :C1 = M · G1(2)同時根據(jù)編碼矩陣Gtl與特征序U生成碼字Ctl,即C0=U · G0(3)2)把G1和Ctl進(jìn)行模2加法運算得到最終的存儲碼字C,并寫入存儲介質(zhì),即C=CfC1=U · G0+M · G1(4)由假設(shè)可知,Gtl為行滿秩矩陣,rank (Gtl)=L則由Gtl生成的碼字最小距離為k+Ι,因此只要固定錯誤個數(shù)小于等于k,則總能找到合適的特征序列U,使得C可以屏蔽所有的固定錯誤(注關(guān)于特征序列U的獲取將在接下來的實施例中給出)。解碼器如圖5所示為本發(fā)明解碼流程圖。I)當(dāng)讀取請求到達(dá),解碼器從存儲介質(zhì)中獲取存儲數(shù)據(jù)碼字C',即C ' =(c ' P c ' 2,…,c ' n) ·(5)然后根據(jù)校驗矩陣H對隨機(jī)錯誤進(jìn)行檢錯與糾正,得到長度為m的解碼序列C,根據(jù)假設(shè),G1 · Ht=O且G0 · Ht=O,因此C可以被校驗矩陣H進(jìn)行校驗,即C · Ht= (C0+Q · Ht=U · G0 · Ητ+Μ · G1 · Ht=O (6)因此C為去除了隨機(jī)錯誤的序列,即為C=U ■ Ci0 - M ■ (i,(7)2)由于G0-G1=O,且G1-G=I,因此用即可恢復(fù)出原始信息序列,即M'= CG =(U-G^M-G1)-G1=U-G0-G^M-G1-G1=M (8)解碼正確。實例I.假設(shè)C(7,3,I)碼長為7,信息位長為3,糾正I個固定錯誤和一個隨機(jī)錯誤,則可
得
"1000111" OOiOOO'"1011100"
G1 =0100011,G0=[1111111],A =0101000,H =IiOlOlO0010101(K)IlOOO1110001假設(shè)信息序列M = [1,1,0],不妨設(shè)固定錯誤為第三位,錯誤類型為“I-型錯誤”,則C1 = M · G1 = [1100100],其第三位不為I,與錯誤類型不一致,則找到一個IXk的向量U,使得C = M · G^U · G0的第三位與固定錯誤的值一致,由于k=l,所以U = I為一個值。所以C = M · G^U · G0 =
,由此看出其在固定錯誤位置與固定錯誤的值一致,所以其屏蔽了固定錯誤。又假設(shè)存在一個隨機(jī)錯誤,不妨設(shè)其發(fā)生在第四位,則解碼器得到輸入碼字為C ' = C+e =
,于是計算校驗子s=C ' ·ΗΤ=[110]。即efefefeflGfeJefe6=I(9)GfeJefe7=O可知第四位發(fā)生錯誤,所以得到P =
,然后可得二[110] = If,解
碼正確。本發(fā)明提出第二實施例,給出本發(fā)明的編碼矩陣構(gòu)造方法。如圖6所示為本發(fā)明中編碼矩陣Gtl與G1的構(gòu)造過程,這是本發(fā)明最核心的部分之一,這個過程在系統(tǒng)出廠之前完成。根據(jù)第一實施例的需求,G0與G1必須滿足如下條件=G1 · HT=0, G0 · HT=0, G0 G1=O與G1 .A=G1 .Gf -(G1-Gfr1=/ ,本實施例說明Gtl與G1的構(gòu)造方法并驗證上述條件。I)根據(jù)系統(tǒng)所需的糾正隨機(jī)錯誤的能力,確定線性糾錯碼C(n,m),其中η為碼字長度,m為信息位長度,則冗余位長度為n-m,設(shè)其編碼矩陣與校驗矩陣分別為G和H,滿足G · Ht=O。2)根據(jù)系統(tǒng)所需的糾錯固定錯誤的能力,確定所需冗余位長度,設(shè)其為k,這部分冗余從原始信息位中取得,則實際信息位長度為m-k。3)在G中選取任意m-k行作為糾正隨機(jī)錯誤的生成矩陣G1,同時獲得其偽逆矩陣G1=Gf '(G1 -Gfr1,不難驗證 G1 · Ht=O 與 G1 G1 =G1 -Gf -(G1-G1rF1=/,這里 Ht 表示 H 的轉(zhuǎn)置,I表示單位陣。4)由Gtl · Ητ=0,可知Gtl為G中行的線性組合,因此設(shè)Rkxm為一個待定的基本變換矩陣,設(shè)Gtl = R · G,則根據(jù)GnWl=O可知i .G.G=0.5)用高斯消元法可以把G G轉(zhuǎn)換成如下形式,SP G0 G- =[/ P](10)從而可求得R= [Pt I](11)6)最后可得Gtl = R · G,經(jīng)驗證,上述條件均滿足。本發(fā)明提出第三實施例,給出本發(fā)明的特征序列的生成方法。如圖7所示為本發(fā)明中特征序列U的生成過程,稱為交叉熵迭代算法。I)給定欲存儲區(qū)域的固定錯誤圖樣E以及特征序列U的長度k,初始化迭代次數(shù)t=0,樣本取值比率P=10%(P越大,結(jié)果越精確,但收斂速度越慢),以及概率向量P(t),即P(t=0) = [p1; P2, ···, pk] =
(12)其中Pi,i = 1,2,…,k表示特征序列第i位Ui取“I”的概率,則Ui取“O”的概率為 l_Pi。2)根據(jù)P(t)生成N組U的樣本值{ ΟΓ,這里N與k的大小有關(guān),一般k越大,N也越大,具體的取值根據(jù)系統(tǒng)需求決定。3)對每個樣本計算C(i) =M-G^U(I) · Gtl并與錯誤圖樣進(jìn)行比較,并根據(jù)屏蔽的固定錯誤個數(shù)對U(i)進(jìn)行排序,即C(i)與E在固定錯誤位置上取值不一致的位數(shù)按從小到大排列,排序后的結(jié)果為C(I)彡 C(2)彡…彡 C(N)(13)4)選取排序后最前面的P · N個樣本值估計P(t),
ρ· Nη其中Uy為第j的特征序列樣本值中第i位的取值。5)令t = t+Ι,同時對P(t)進(jìn)行加權(quán)更新,即P(t)=AP(t)+(\-l)P{t-\)(15)其中λ為原有概率與估計概率之間的加權(quán)值,一般取λ e [O. 6,I. O]。6)如果迭代次數(shù)達(dá)到或者P (t)滿足需求,則停止迭代,用P (t)生成特征序列U,否則,回到第2步繼續(xù)進(jìn)行迭代。用此方法總可以找到屏蔽盡可能多固定錯誤的特征序列。本發(fā)明考慮在編碼器端對固定錯誤進(jìn)行屏蔽的策略,解碼器不需固定錯誤信息而直接進(jìn)行解碼,具有很低的解碼時延和復(fù)雜度,同時本方法編碼效率高,且具有很強(qiáng)的通用性,特別適用于閃存與相變隨機(jī)存取存儲器等固定錯誤可檢測,且要求低解碼時延的應(yīng)場景中。以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書以及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種同時糾正固定錯誤與隨機(jī)錯誤的糾錯編碼方法,其包括 (1)錯誤圖樣E檢測,獲取固定錯誤的位置與類型; (2)編碼矩陣構(gòu)造,根據(jù)系統(tǒng)所需的糾正固定錯誤與隨機(jī)錯誤的能力,選取合適的線性編碼矩陣G和校驗矩陣H,然后在此基礎(chǔ)上分別構(gòu)造糾正固定錯誤的編碼矩陣Gtl和糾正隨機(jī)錯誤的編碼矩陣G1 ; (3)特征序列生成,根據(jù)獲取的固定錯誤圖樣,生成糾正固定錯誤的預(yù)編碼序列U; (4)數(shù)據(jù)編碼,編碼器根據(jù)編碼矩陣Gtl和G1,分別對特征序列U和信息序列M進(jìn)行編碼,得到碼字Ctl和G1,然后對Ctl和C1進(jìn)行模2加法運算,得到最終的碼字C ; (5)數(shù)據(jù)解碼,由于固定錯誤已經(jīng)在編碼器端進(jìn)行屏蔽,解碼器只需對隨機(jī)錯誤進(jìn)行校驗與糾正;解碼器首先根據(jù)校驗矩陣H對隨機(jī)錯誤進(jìn)行校驗與糾正,得到去除了隨機(jī)錯誤的碼字序列,然后通過$即恢復(fù)出原始信息序列,只要隨機(jī)錯誤個數(shù)與固定錯誤個數(shù)沒有超過系統(tǒng)給定的糾錯能力,即能實現(xiàn)正確譯碼。
2.根據(jù)權(quán)利要求I所述的編解碼方法,其特征在于所有的序列均為二進(jìn)制序列,序列的元素取值為“O”或者“I”。存在固定錯誤的存儲單元無論輸入為何值,輸出保持固定為“O”或者“1”,如果固定為“1”,則稱其為“I-型錯誤”,如果固定為“O”,則稱“O-型錯誤”,其錯誤圖樣可以在出廠檢測時獲得。
3.根據(jù)權(quán)利要求I所述的編解碼方法,其特征在于固定錯誤圖樣只有編碼器可以獲得,而解碼器未知。除了這部分可以檢測獲知的固定錯誤,在存儲或傳輸過程中,還有可能產(chǎn)生不可預(yù)知的隨機(jī)錯誤。
4.根據(jù)權(quán)利要求I所述的編解碼方法,其特征在于根據(jù)系統(tǒng)所需的糾錯能力,選取合適的線性編碼矩陣G和校驗矩陣H,滿足G · Ητ=0。在線性編碼矩陣G的基礎(chǔ)上,分解出糾正隨機(jī)錯誤的編碼矩陣G1與其偽逆矩陣(5, =Gf -(G1-Gfr1,滿足G1 · Ht=O與G1 W1=I。
5.根據(jù)權(quán)利要求I所述的編解碼方法,其特征在于根據(jù)G1與$,求解可得到糾正固定錯誤的編碼矩陣G。,滿足Gtl · Ht=O與(V G1=O。
6.根據(jù)權(quán)利要求I所述的編解碼方法,其特征在于特征序列U是一串采用交叉熵迭代算法獲得的二進(jìn)制序列,其使得編碼后的碼字能屏蔽盡可能多的固定錯誤。
7.根據(jù)權(quán)利要求I所述的編解碼方法,其特征在于編碼過程包括隨機(jī)錯誤編碼與固定錯誤編碼,然后再進(jìn)行模2加法運算,得到最終的碼字。
8.根據(jù)權(quán)利要求I所述的編解碼方法,其特征在于本發(fā)明采用在編碼器端對固定錯誤進(jìn)行屏蔽的策略,使得編碼后的碼字與固定錯誤圖樣在相應(yīng)位置上的取值保持一致,固定錯誤對解碼器保持透明,解碼器無需獲得固定錯誤的任何信息,解碼過程只需要進(jìn)行隨機(jī)錯誤的校驗與糾正。
9.根據(jù)權(quán)利要求I所述的編解碼方法,其特征在于即使固定錯誤沒有全部被屏蔽,只要未屏蔽的固定錯誤與隨機(jī)錯誤的個數(shù)總和沒有超過系統(tǒng)總的糾錯能力,依然可以用剩余的糾錯能力來糾正這部分未屏蔽的固定錯誤。
全文摘要
本發(fā)明提供了一種同時糾正固定錯誤與隨機(jī)錯誤的糾錯編碼方法,其對傳統(tǒng)糾正隨機(jī)錯誤的線性糾錯碼進(jìn)行分解,使其在編碼器端對固定錯誤進(jìn)行屏蔽,從而提高編碼效率。包括錯誤圖樣檢測;編碼矩陣構(gòu)造,獲得糾正固定錯誤和隨機(jī)錯誤的編碼矩陣G0與G1;特征序列生成,生成糾正固定錯誤的預(yù)編碼序列;編碼,根據(jù)G1和G0,對信息序列和特征序列進(jìn)行編碼;解碼,恢復(fù)信息序列。本發(fā)明在編碼器端對固定錯誤進(jìn)行屏蔽,解碼器不需固定錯誤信息而直接進(jìn)行解碼,具有很低的解碼時延和復(fù)雜度,因而有很大的實用價值,同時,本方法還具有很強(qiáng)的通用性。
文檔編號G11C29/42GK102930902SQ201210265610
公開日2013年2月13日 申請日期2012年7月27日 優(yōu)先權(quán)日2012年7月27日
發(fā)明者康旺, 張德明, 張有光 申請人:北京航空航天大學(xué)