欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

固態(tài)存儲裝置及其垃圾搜集動作的控制方法

文檔序號:6432444閱讀:159來源:國知局
專利名稱:固態(tài)存儲裝置及其垃圾搜集動作的控制方法
技術領域
本發(fā)明涉及一種固態(tài)存儲裝置及其控制方法,且特別涉及一種固態(tài)存儲裝置及其垃圾搜集(garbage collection)控制方法。
背景技術
眾所周知,固態(tài)存儲裝置(Solid State Drive, SSD)使用與非門快閃存儲器(NANDflash memory)為主要存儲元件,而此類的快閃存儲器為一種非易失性(non-volatile)的存儲器元件。也就是說,當數據寫入快閃存儲器后,一旦系統(tǒng)電源關閉,數據仍保存在快閃存儲器中。請參照圖1,其所繪示為已知固態(tài)存儲裝置的示意圖。固態(tài)存儲裝置10中包括一控制單元101與一快閃存儲器105??刂茊卧?01與快閃存儲器105之間利用一內部總線107進行數據的存取,而控制單元101利用一外部總線20與主機(host) 12之間進行指令與數據的傳遞。其中,外部總線20可為USB總線、IEEE 1394總線或SATA總線等等。一般來說,快閃存儲器中105包括許多區(qū)塊(block),而每個區(qū)塊中又包括多個頁(page)或稱為段(sector)。例如,一個區(qū)塊中有64頁,而每個頁的容量為4K字節(jié)(bytes)。再者,由于快閃存儲器105的特性,每次數據寫入時是以頁為最小單位,而每次抹除(erase)時則是以區(qū)塊為單位進行數據抹除。由于快閃存儲器105的特性,當區(qū)塊中某一個頁的數據需要更改時,控制單元101將無法直接修改該頁中的數據,因此控制單元101是將需要修改的數據寫在另一空白頁,而原來舊的頁將被視為無效頁(invalid page),里面的數據將被視為無效數據(invaliddata)。當主機12經過多次的存取之后,在快閃存儲器105中將會出現許多的無效頁以及無效數據,并且占據了整個快閃存儲器的空間。因此,如何有效率地減少無效頁以及無效數據,并且增加快閃存儲器的空間,即是本發(fā)明所欲解決的問題。

發(fā)明內容
本發(fā)明提出一種固態(tài)存儲裝置的垃圾搜集動作控制方法,其特征在于,包括下列步驟計算一快閃存儲器內具有數據的多個區(qū)塊中可被釋放的空間總數,并定義為A ;計算該快閃存儲器內多個空白區(qū)塊中的空間總數,并定義為B ;判斷(B/A)小于一第一臨限值是否成立,在成立時執(zhí)行一垃圾搜集動作;以及,在進行該垃圾搜集動作時,判斷(B/A)大于一第二臨限值是否成立,在成立時,結束該垃圾搜集動作;其中,該第一臨限值小于該第二臨限值。本發(fā)明提出一種固態(tài)存儲裝置的垃圾搜集動作控制方法,其特征在于,包括下列步驟計算一快閃存儲器內有數據的多個區(qū)塊中可被釋放的空間總數,并定義為A ;計算該快閃存儲器內多個空白區(qū)塊中的空間總數,并定義為B ;判斷B/(A+B)小于一第一臨限值是否成立,在成立時執(zhí)行一垃圾搜集動作;以及,在進行該垃圾搜集動作時,判斷B/(A+B)大于一第二臨限值是否成立,在成立時,結束該垃圾搜集動作;其中,該第一臨限值小于該第二臨限值。本發(fā)明提出一種固態(tài)存儲裝置,連接至一主機,其特征在于,該固態(tài)存儲裝置包含一快閃存儲器,該快閃存儲器中具有多個區(qū)塊,每一該區(qū)塊中具有多個頁;以及一控制單元,連接至該快閃存儲器,用以計算該快閃存儲器內有數據的多個區(qū)塊中可被釋放的空間總數并定義為A,且用以計算該快閃存儲器內多個空白區(qū)塊中的空間總數并定義為B;其中,該控制單元根據A與B之間的關系來對該快閃存儲器進行一垃圾搜集動作。為了對本發(fā)明的上述及其他方面有更佳的了解,下文特舉優(yōu)選實施例,并配合附圖,作詳細說明如下


圖I所繪示為已知固態(tài)存儲裝置的示意圖。。圖2A至圖2F所繪示為固態(tài)存儲裝置中數據更新以及降低無效頁的示意圖。圖3A所繪示為本發(fā)明第一實施例固態(tài)存儲裝置中垃圾搜集動作的控制方法。圖3B所繪示為本發(fā)明第二實施例固態(tài)存儲裝置中垃圾搜集動作的控制方法。
具體實施例方式請參照圖2A至圖2F,其所繪示為固態(tài)存儲裝置中數據更新以及降低無效頁的示意圖?;旧?,固態(tài)存儲裝置的架構與圖I相同。如圖2A所示,假設快閃存儲器中有八個區(qū)塊(Block_l Block_8),每個區(qū)塊中有四個頁(Page_l Page4)。其中,第一區(qū)塊(Block_l)與第二區(qū)塊(Block_2)中所有的頁內共存儲Datal Data8的數據。如圖2B所示,當主機12欲將Datal、Data2、Data4、Data6、Data7的數據更新為Datal’、Data2’、Data4’、Data6’、Data7’時,控制單元101會在快閃存儲器中尋找空白頁來存儲修改的數據。例如,將Datal’寫在第四區(qū)塊(Block_4)第二頁(page_2) ;Data2’寫在第五區(qū)塊(Block_5)第三頁(page_3) ;Data4’寫在第七區(qū)塊(Block_7)第二頁(page_2);Data6’寫在第六區(qū)塊(Block_6)第二頁(page_2) ;Data7’寫在第六區(qū)塊(Block_6)第三頁(page_3)。之后,原存儲Datal、Data2、Data4、Data6、Data7的數據頁將被視為無效頁(以斜線來表示)。如圖2C 所示,當主機 12 欲將 Datal’、Data2’、Data4’、Data6’、Data7’ 的數據再更新為Datal”、Data2”、Data4”、Data6”、Data7”時,控制單元101同樣地會在快閃存儲器中尋找空白頁來存儲修改的數據。例如,將Datal”寫在第五區(qū)塊(Block_5)第二頁(page_2);Data2”寫在第四區(qū)塊(Block_4)第一頁(page_l) ;Data4”寫在第六區(qū)塊(Block_6)第一頁(page_l) ;Data6”寫在第三區(qū)塊(Block_3)第二頁(page_2) ;Data7”寫在第六區(qū)塊(Block_6)第四頁(page_4)。之后,原存儲 Datal’、Data2’、Data4’、Data6’、Data7’ 的數據頁將被視為無效頁(以斜線來表示)。如圖2D所示,當主機12欲將Data7”的數據再更新為Data7”’時,控制單元101同樣地又會在快閃存儲器中尋找空白頁來存儲修改的數據。例如,將Data7’”寫在第四區(qū)塊(Block_4)第四頁(page_4)。之后,原存儲Data7”的數據頁將被視為無效頁(以斜線來表不)。由以上的說明可知,當主機12經過多次的存取之后,在快閃存儲器105中將會出現許多的無效頁以及無效數據,如圖2D中的斜線部分。由于快閃存儲器的抹除最小單位為區(qū)塊,而圖2D的快閃存儲器中雖然有很多無效頁,但是每個區(qū)塊中都還是有部分的數據頁為有效數據(valid data),因此控制單元101無法抹除任何一個區(qū)塊。而太多的無效數據將占據快閃存儲器的空間,使得快閃存儲器可寫入的空間變少。而垃圾搜集(garbage collection)動作可以解決上述的問題。所謂的垃圾搜集動作即是控制單元101將區(qū)塊中的有效頁搜集起來另外存放在新的區(qū)塊中,使原區(qū)塊中的頁全部變成無效頁,因此可以進行區(qū)塊抹除(block erase)動作,并且產生空白區(qū)塊,使快閃存儲器增加更多可寫入的空間。在經過垃圾搜集動作后,在具有數據的區(qū)塊中的無效頁或空白頁的空間,相當于被釋出而變成可使用的空間。例如,在圖2D所示的情況下控制單元101開始執(zhí)行垃圾搜集動作。此時控制單元101會將第一區(qū)塊(Block_l)第三頁(Page_3)中的Data3,第二區(qū)塊(Block_2)第一頁(Page_l)中的Data5,第二區(qū)塊(Block_2)第四頁(Page_4)中的Data8,第六區(qū)塊(Block_6)第一頁(Page_l)中的Data4”寫入一個空白的第八區(qū)塊(Block_8)。如圖2E 所不,當 Data3、Data5、Data8、Data4” 寫入第八區(qū)塊(Block_8)后,快閃存儲器中的第一區(qū)塊(Block_l)、第二區(qū)塊(Block_2)、第六區(qū)塊(Block_6)中的數據全部為無效數據。因此,控制單元101可以對第一區(qū)塊(Block_l)、第二區(qū)塊(Block_2)、第六區(qū)塊(Block_6)進行區(qū)塊抹除動作。之后,第一區(qū)塊(Block_l)、第二區(qū)塊(Block_2)、第六區(qū)塊(Block_6)變成空白的區(qū)塊,并且使得快閃存儲器增加更多可寫入的空間,如圖2F所示。在開始執(zhí)行垃圾搜集動作之前,如圖2D所示,第一區(qū)塊(Block_l)、第二區(qū)塊(Block_2)以及第六區(qū)塊(Block_6)內具有八個無法使用的無效頁,且此時的空白區(qū)塊僅有第八區(qū)塊(Block_8),其具有四個可使用的頁空間;而在經過垃圾搜集動作之后,這八個無效頁的空間被釋放出來,如圖2F所示,此時的空白區(qū)塊為第一區(qū)塊(Block_l)、第二區(qū)塊(Block_2)以及第六區(qū)塊(Block_6),其具有十二個可使用的頁空間。由以上的說明可知,垃圾搜集動作可以讓快閃存儲器增加更多可寫入的空間。然而,控制單元101需要有效率的控制垃圾搜集動作的啟動與結束的時機。舉例來說,如果控制單元101于圖2A的狀況時即啟動垃圾搜集動作,這樣將使得第一區(qū)塊(Block_l)與第二區(qū)塊(Block_2)中的數據被復制到另二個空白區(qū)塊,并接著抹除第一區(qū)塊(Block_l)與第二區(qū)塊(Block_2)。很明顯的,這樣的啟動時機是沒有任何意義的,而且會增加區(qū)塊的抹除次數,使區(qū)塊的使用壽命降低。再者,在如圖2D所示的情況下才開始執(zhí)行垃圾搜集動作時,由于空白區(qū)塊僅剩下第八區(qū)塊(Block_8),因此僅可搬移四個有效數據頁,無法處理更多的數據頁搬移。所以,在空白區(qū)塊過少的情況下,垃圾搜集動作的執(zhí)行效率會大幅降低。因此,如何有效率地利用控制單元101來啟動與結束垃圾搜集動作,即是本發(fā)明所欲解決的問題。根據本發(fā)明的實施例,控制單元101會計算快閃存儲器105中,在具有數據的區(qū)塊中,可被釋放的空間總數,并定義為A,其中可被釋放的空間總數至少包含區(qū)塊中的無效頁或空白頁的空間。再者,控制單元101會計算快閃存儲器105中,所有空白區(qū)塊的空間總數,并定義為B。并且,控制單元101即根據A與B之間的比例關系來決定垃圾搜集動作的啟動與結束時機。請參照圖3A,其所繪示為本發(fā)明第一實施例固態(tài)存儲裝置中垃圾搜集動作的控制方法。首先,計算快閃存儲器內有數據的區(qū)塊中可被釋放的空間總數,并定義為A(步驟S310),其中可被釋放的空間總數至少包含區(qū)塊中的無效頁或空白頁的空間;并且計算快閃存儲器內所有空白區(qū)塊中的空間總數,并定義為B (步驟S312);接著,判斷(B/A)小于第一臨限值是否成立(步驟S314)。當(B/A)小于第一臨限值不成立時,不進行垃圾搜集動作(步驟S315);反之,當(B/A)小于第一臨限值成立時,則執(zhí)行垃圾搜集動作(步驟S316)。接著,判斷(B/A)大于第二臨限值是否成立(步驟S318)。當(B/A)大于第二臨限值不成立時,繼續(xù)執(zhí)行垃圾搜集動作(步驟S316);反之,當(B/A)大于第二臨限值成立時,結束垃圾搜集動作(步驟S319)?;旧?,第一臨限值小于第二臨限值,而該二個臨限值的實際數值是由研發(fā)人員經由累積的經驗來決定。以下將第一臨限值設定為O. 4,第二臨限值設定為2,且可被釋放的空間總數以具有數據的區(qū)塊中的無效頁的空間計算,搭配圖2A至圖2F來進一步的說明。假設如圖2A所示的情況,第一區(qū)塊(Block_l)與第二區(qū)塊(Block_2)為具有數據的區(qū)塊,且其中沒有任何無效頁,因此可被釋放的空間總數A = O。再者,第三區(qū)塊(Block_3)至第八區(qū)塊(Block_8)皆為空白區(qū)塊,因此B = 6X4 = 24(頁空間)。所以B/A未小于第一臨限值,所以不需進行垃圾搜集動作。如圖2B所示的情況,第一區(qū)塊(Block_l)、第二區(qū)塊(Block_2)、第四區(qū)塊(Block_4)、第五區(qū)塊(Block_5)、第六區(qū)塊(Block_6)、第七區(qū)塊(Block_7)為具有數據的區(qū)塊,且其中共有五個無效頁,因此可被釋放的空間總數A = 5(頁空間)。再者,第三區(qū)塊(Block_3)與第八區(qū)塊(Block_8)為空白區(qū)塊,因此B = 2 X 4 = 8 (頁空間)。所以B/A =
I.6未小于第一臨限值,所以不需進行垃圾搜集動作。如圖2C所示的情況,第一區(qū)塊(Block_l)至第七區(qū)塊(Block_7)為具有數據的區(qū)塊,且其中共有十個無效頁,因此可被釋放的空間總數A= 10(頁空間)。再者,第八區(qū)塊(Block_8)為空白區(qū)塊,因此B= 1X4 = 4(頁空間)。所以B/A = O. 4未小于第一臨限值,所以不需進行垃圾搜集動作。如圖2D所示的情況,第一區(qū)塊(Block_l)至第七區(qū)塊(Block_7)為具有數據的區(qū)塊,且其中共有十一個無效頁,因此可被釋放的空間總數A = 11 (頁空間)。再者,第八區(qū)塊(Block_8)為空白區(qū)塊,因此B= 1X4 = 4(頁空間)。所以B/A = O. 37小于第一臨限值,所以開始執(zhí)行垃圾搜集動作。在執(zhí)行垃圾搜集動作的過程中,快閃存儲器內有數據的區(qū)塊中可被釋放的空間總數(A),及快閃存儲器內所有空白區(qū)塊中的空間總數(B)會被重新計算,以決定結束執(zhí)行垃圾搜集動作的時機。在執(zhí)行垃圾搜集動作的過程中,如圖2D至圖2F所示,第一區(qū)塊(Block_l)、第二區(qū)塊(Block_2)、第六區(qū)塊(Block_6)內的有效數據已經被搬移至第八區(qū)塊(Block_8),且第一區(qū)塊(Block_l)、第二區(qū)塊(Block_2)、第六區(qū)塊(Block_6)經過抹除動作后而變成空白的區(qū)塊。此時,如圖2F所示,第三區(qū)塊(Block_3)、第四塊(Block_4)、第五區(qū)塊(Block_5)、第七區(qū)塊(Block_7)、第八區(qū)塊(Block_8)為具有數據的區(qū)塊,且其中共有三個無效頁,因此可被釋放的空間總數A = 3(頁空間)。再者,第一區(qū)塊(Block_l)、第二區(qū)塊(Block_2)、第六區(qū)塊(Block_6)為空白區(qū)塊,因此B = 3X4 = 12(頁空間)。所以B/A = 4大于第二臨限值,所以停止執(zhí)行垃圾搜集動作。本發(fā)明提出的可被釋放的空間總數除了以無效頁的空間計算外,還可加入具有數據的區(qū)塊中的空白頁的空間計算。在同樣以上述第一臨限值設定為O. 4,第二臨限值設定為2的例子來看,假設如圖2C所示的情況,第一區(qū)塊(Block_l)至第七區(qū)塊(Block_7)為具有數據的區(qū)塊,且其中共有十個無效頁、十個空白頁,因此可被釋放的空間總數A = 10+10 = 20(頁空間)。再者,第八區(qū)塊(Block_8)為空白區(qū)塊,因此B= 1X4 = 4(頁空間)。所以B/A = O. 2小于第一臨限值,所以開始執(zhí)行垃圾搜集動作。同樣地,在執(zhí)行垃圾搜集動作的過程中,如圖2F所示,第三區(qū)塊(Block_3)、第四塊(Block_4)、第五區(qū)塊(Block_5)、第七區(qū)塊(Block_7)、第八區(qū)塊(Block_8)為具有數據的區(qū)塊,且其中共有三個無效頁、九個空白頁,因此可被釋放的空間總數A = 3+9 = 12(頁空間)。再者,第一區(qū)塊(Block_l)、第二區(qū)塊(Block_2)、第六區(qū)塊(Block_6)為空白區(qū)塊,因此B = 3X4 = 12(頁空間)。所以B/A = I小于第二臨限值,所以垃圾搜集動作需繼續(xù)執(zhí)行,直到B/A大于第二臨限值的情況產生。由以上的說明可知,本發(fā)明提出計算快閃存儲器內具有數據的區(qū)塊中可被釋放的空間總數(A),以及快閃存儲器內所有空白區(qū)塊的空間總數(B)。并根據A與B之間的關系來決定垃圾搜集動作的啟動與結束時機,使得控制單元101更有效率地管理快閃存儲器。A與B之間的比例關系比較條件,除了利用B/A之間的關系來決定垃圾搜集動作的啟動與結束時機之外,本發(fā)明也可以利用B/(A+B)之間的關系來決定垃圾搜集動作的啟動與結束時機。請參照圖3B,其所繪示為本發(fā)明第二實施例固態(tài)存儲裝置中垃圾搜集動作的控制方法。首先,計算快閃存儲器內具有數據的區(qū)塊中可被釋放的空間總數,并定義為A(步驟S320),其中可被釋放的空間總數至少包含區(qū)塊中的無效頁或空白頁的空間;并且計算快閃存儲器內所有空白區(qū)塊中的空間總數,并定義為B(步驟S322);接著,判斷[B/(A+B)]小于第一臨限值是否成立(步驟S324)。當[B/(A+B)]小于第一臨限值不成立時,不進行垃圾搜集動作(步驟S325);反之,當[B/(A+B)]小于第一臨限值成立時,則執(zhí)行垃圾搜集動作(步驟S326)。接著,判斷[B/(A+B)]大于第二臨限值是否成立(步驟S328)。當[B/ (A+B)]大于第二臨限值不成立時,繼續(xù)執(zhí)行垃圾搜集動作(步驟S326);反之,當[B/(A+B)]大于第二臨限值成立時,結束垃圾搜集動作(步驟S329)。同理,第一臨限值小于第二臨限值,而該二個臨限值的實際數值是由研發(fā)人員經由累積的經驗來決定,并沒有實際準確的數字。在第二實施例中,可以設定第一臨限值為
O.25 ;第二臨限值為O. 5當然并不限定于此。
因此,本發(fā)明的優(yōu)點是提出一種固態(tài)存儲裝置及其垃圾搜集動作的控制方法。本發(fā)明提出計算快閃存儲器內具有數據的區(qū)塊中可被釋放的空間總數(A),以及快閃存儲器內所有空白區(qū)塊的空間總數(B)。并根據A與B之間的關系來決定垃圾搜集動作的啟動與結束時機,使得控制單元更有效率地管理快閃存儲器。當然在此領域的技術人員也可以將(B/A)改成(A/B),將[B/(A+B)]改成[(A+B)/B]并且以第一臨限值大于第二臨限值的條件來進行本發(fā)明。綜上所述,雖然本發(fā)明已以優(yōu)選實施例公開如上,然其并非用以限定本發(fā)明。本發(fā)明所屬領域技術人員,在不脫離本發(fā)明的精神和范圍內,當可作各種的更動與潤飾。因此,本發(fā)明的保護范圍當視所附權利要求書所界定者為準。
權利要求
1.一種固態(tài)存儲裝置的垃圾搜集動作控制方法,其特征在于,包括下列步驟 計算一快閃存儲器內具有數據的多個區(qū)塊中可被釋出的空間總數,并定義為A ; 計算該快閃存儲器內多個空白區(qū)塊的空間總數,并定義為B ; 判斷(B/A)小于一第一臨限值是否成立,在成立時執(zhí)行一垃圾搜集動作; 以及 在進行該垃圾搜集動作時,判斷(B/A)大于一第二臨限值是否成立,在成立時,結束該垃圾搜集動作; 其中,該第一臨限值小于該第二臨限值。
2.如權利要求I所述的控制方法,其中該可被釋出的空間總數至少包含這些具有數據的多個區(qū)塊中的無效頁或空白頁的空間。
3.一種固態(tài)存儲裝置的垃圾搜集動作控制方法,其特征在于,包括下列步驟 計算一快閃存儲器內具有數據的多個區(qū)塊中可被釋出的空間總數,并定義為A ; 計算該快閃存儲器內多個空白區(qū)塊的空間總數,并定義為B ; 判斷B/(A+B)小于一第一臨限值是否成立,在成立時執(zhí)行一垃圾搜集動作;以及在進行該垃圾搜集動作時,判斷B/(A+B)大于一第二臨限值是否成立,在成立時,結束該垃圾搜集動作; 其中,該第一臨限值小于該第二臨限值。
4.如權利要求3所述的控制方法,其中可被釋出的空間總數至少包含這些具有數據的多個區(qū)塊中的無效頁或空白頁的空間。
5.一種固態(tài)存儲裝置,連接至一主機,其特征在于,該固態(tài)存儲裝置包含 一快閃存儲器,該快閃存儲器中具有多個區(qū)塊,每一該區(qū)塊中具有多個頁;以及一控制單元,連接至該快閃存儲器,用以計算該快閃存儲器內具有數據的多個區(qū)塊中可被釋出的空間總數并定義為A,且用以計算該快閃存儲器內多個空白區(qū)塊中的空間總數并定乂為B ; 其中,該控制單元根據A與B之間的關系來對該快閃存儲器進行一垃圾搜集動作。
6.如權利要求5所述的固態(tài)存儲裝置,其中當B/A小于一第一臨限值時執(zhí)行一垃圾搜集動作;之后,在B/A大于一第二臨限值時,結束該垃圾搜集動作;且該第一臨限值小于該第二臨限值。
7.如權利要求5所述的固態(tài)存儲裝置,其中當B/(A+B)小于一第一臨限值時執(zhí)行一垃圾搜集動作;之后,在B/(A+B)大于一第二臨限值時,結束該垃圾搜集動作;且該第一臨限值小于該第二臨限值。
8.如權利要求5所述的固態(tài)存儲裝置,其中可被釋出的空間總數至少包含這些具有數據的多個區(qū)塊中的無效頁或空白頁的空間。
全文摘要
本發(fā)明為一種固態(tài)存儲裝置及其垃圾搜集控制方法。此控制方法,包括下列步驟計算快閃存儲器內有數據的多個區(qū)塊中可被釋出的空間總數,并定義為A;持續(xù)計算快閃存儲器內多個空白區(qū)塊中的空間總數,并定義為B;判斷(B/A)小于第一臨限值是否成立,在成立時執(zhí)行垃圾搜集動作;以及,在進行該垃圾搜集動作時,判斷(B/A)大于第二臨限值是否成立,在成立時,結束該垃圾搜集動作;其中,該第一臨限值小于該第二臨限值。
文檔編號G06F12/02GK102981959SQ201110260719
公開日2013年3月20日 申請日期2011年9月5日 優(yōu)先權日2011年9月5日
發(fā)明者李世強, 陳凌風 申請人:建興電子科技股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
时尚| 隆化县| 易门县| 沧源| 教育| 城步| 乌鲁木齐县| 内丘县| 西藏| 马山县| 商河县| 朝阳县| 界首市| 六盘水市| 玉田县| 静安区| 永胜县| 镇安县| 临城县| 澄城县| 新干县| 萝北县| 壶关县| 望城县| 沽源县| 洞口县| 工布江达县| 江门市| 望奎县| 讷河市| 虞城县| 仪征市| 平泉县| 大丰市| 瑞金市| 黔南| 汪清县| 噶尔县| 青田县| 禄劝| 陈巴尔虎旗|