• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于地址映射的NAND Flash控制器設計

    2023-07-06 12:41:56王保成
    計算機測量與控制 2023年6期
    關鍵詞:寄存器邏輯控制器

    徐 磊,王保成

    (1.中國科學院 空天信息創(chuàng)新研究院,北京 100094;2.中國科學院大學 航空宇航學院,北京 100049)

    0 引言

    NAND Flash是一種具有存儲密度高、功耗低、讀寫速度快等優(yōu)點的非易失性存儲器,被廣泛應用于消費類電子、汽車、航空航天等領域[1-3]。NAND Flash 具有以下特點:1)讀、寫、擦除過程中可能會因為比特位翻轉(zhuǎn)出現(xiàn)壞塊[4];2)每個存儲單元塊的擦除、寫入次數(shù)達到上限后單元塊會失效[5],因此需要有效的數(shù)據(jù)管理方法實現(xiàn)對NAND Flash的讀寫控制。

    NAND Flash的控制方法通??梢苑譃榛谖募到y(tǒng)控制法和直接控制法[6]。第一種方法通過移植文件系統(tǒng)實現(xiàn)對NAND Flash的讀寫控制,如文獻[7]使用FAT 文件系統(tǒng)+FAST 閃存轉(zhuǎn)換層算法構建了NAND FALSH 存儲系統(tǒng);文獻[8]則通過YAFFS文件系統(tǒng)實現(xiàn)了星載固態(tài)存儲器的數(shù)據(jù)管理。這種方法的優(yōu)點可以實現(xiàn)存儲數(shù)據(jù)的高效統(tǒng)一管理,具備完整的數(shù)據(jù)分區(qū)、壞塊管理、磨損均衡功能;缺點是需要移植嵌入式操作系統(tǒng),對硬件資源要求較高。第二種方法通過直接給出控制指令和地址對NAND Flash進行讀寫控制,如文獻[9 -10]基于FPGA使用直接控制的方法實現(xiàn)了NAND Flash 控制器;文獻[1]、[11]同樣采用直接控制的方式,將待存儲數(shù)據(jù)按順序?qū)懭隖lash存儲塊,實現(xiàn)了一種雙Flash數(shù)據(jù)存儲系器。直接控制法的優(yōu)點是操作簡單,無需使用操作系統(tǒng);缺點是遇到壞塊通常采用直接跳過的方式,缺乏壞塊管理機制,且每次上電復位后均從原始地址塊進行擦寫[6],容易造成存儲塊磨損失衡。

    由以上分析可知,基于文件系統(tǒng)控制法和直接控制法各有優(yōu)劣??紤]到傳統(tǒng)的嵌入式數(shù)據(jù)采集系統(tǒng),如文獻[12]設計的氣象數(shù)據(jù)采集系統(tǒng),文獻[13]設計的星載數(shù)據(jù)采集中系統(tǒng)中,對NAND Flash采用直接控制法,缺乏有效的數(shù)據(jù)管理方式,而采用基于文件系統(tǒng)控制法會帶來硬件要求的提高和軟件設計復雜度的提升。因此本文提出一種兩層地址映射的方式對NAND Flash 進行讀寫控制,第一層地址映射將邏輯地址按順序映射到中間邏輯地址,實現(xiàn)存儲塊的均衡使用,第二層映射通過壞塊監(jiān)測和好塊替換壞塊的方式建立壞塊映射表,將中間邏輯地址映射到物理地址,實現(xiàn)壞塊管理。使用地址映射方法,設計了一款NAND Flash控制器。基于地址映射方式的NAND Flash控制器不需要移植文件系統(tǒng),操作過程簡單,解決了嵌入式數(shù)據(jù)采集系統(tǒng)中NAND Flash的壞塊管理問題以及存儲塊均衡使用問題,提升了系統(tǒng)的可靠性。

    1 地址映射方法原理

    1.1 方法核心思想

    閃存轉(zhuǎn)換層(FTL)是固態(tài)硬盤的核心部件,F(xiàn)TL 的存在讓用戶可以像磁盤一樣使用固態(tài)硬盤[14]。FTL 的一大功能是實現(xiàn)邏輯地址到物理地址的映射,根據(jù)映射尺度,F(xiàn)TL 映射方式又分為塊映、頁映射、混合映射等。當NAND Flash運用于嵌入式數(shù)據(jù)采集系統(tǒng)中,由于采集的數(shù)據(jù)具有數(shù)量大、連續(xù)性高的特點,因此本文借鑒FTL 塊映射方式,通過特定的算法將存儲塊邏輯地址映射到物理地址,解決NAND FLASH 壞塊問題和磨損失衡問題;并且通過地址映射的方式,使得NAND FLASH 存儲塊地址對于上層驅(qū)動和應用完全透明,也方便了嵌入式軟件設計??紤]到壞塊管理和磨損均衡對于地址轉(zhuǎn)換需求的差異性,因此將地址映射過程分為兩個層次,第一層映射用于均衡存儲塊的磨損,第二層映射用于處理壞塊問題,其過程如圖1所示。其中中間邏輯地址為串聯(lián)一、二層映射關系的中介地址,當沒有出現(xiàn)壞塊時,中間邏輯地址等于物理地址。Table_WL(tableofwear leveling)和Table_BM(tableof badblock management)分別為兩層映射的地址關系表,這兩張地址映射信息表的建立與維護是地址映射的方法的核心。

    圖1 地址映射方法過程

    1.2 第一層地址映射信息表的建立與維護

    Table_WL 是第一層地址映射信息表,用于將邏輯地址映射到中間邏輯地址,實現(xiàn)磨損均衡。

    考慮到數(shù)據(jù)采集系統(tǒng)中,采用直接控制法進行NAND FLASH 讀寫控制時,數(shù)據(jù)存儲過程具有以下特點:

    1)不同類型的數(shù)據(jù)存儲在初始地址不同的連續(xù)存儲塊中,每次上電時均從初始地址進行數(shù)據(jù)擦寫操作,且每次寫入數(shù)據(jù)的大小不確定,因此會出現(xiàn)頻繁被擦寫的 “熱塊”和很少被擦寫的“冷塊”,不同存儲塊擦寫次數(shù)差異的增大可能會導致NAND Flash壽命的減?。?5]。

    2)數(shù)據(jù)采集系統(tǒng)單次上電操作不會對已寫入數(shù)據(jù)的存儲塊進行重復的擦寫操作。

    基于以上特點,讓系統(tǒng)按照第1 號存儲塊—第N(N表示存儲塊最大地址)號存儲塊的順序循環(huán)向NAND FLASH 寫入數(shù)據(jù),可以使每一個存儲塊具有相同的機會被使用,由此建立第一層地址映射關系。

    記邏輯地址的范圍為1~N,邏輯地址n(1≤n≤N)對應的中間邏輯地址為Temp_Addr(n)。記一次數(shù)據(jù)采集存儲過程中,邏輯地址最后一次映射得到的中間邏輯地址為Last_Temp_Addr,初次上電啟動時Last_Temp_Addr賦值為N。記初次上電啟動標志為Flag,當Flag為1時表示系統(tǒng)是第一次上電啟動。Table_WL的建立和維護過程如下:

    1)上電啟動,讀取啟動標志Flag,進行Table_WL初始化:

    其中:Read_Table_WL(n)表示通過讀取前一次上電結(jié)束時保存的Table_WL地址映射信息,得地址到的邏輯地址n對應的中間邏輯地址。

    2)控制器對邏輯地址為n的存儲塊發(fā)出擦:

    除指令時更新邏輯地址和中間邏輯地址的映射關系:

    3)完成數(shù)據(jù)存儲后,將反映第一層地址映射信息關系的Table_WL、Last_Temp_Addr以及啟動標志Flag記錄到非易失性存儲器中。

    1.3 第二層地址映射信息表的建立與維護

    Table_BM 是第二層地址映射信息表,用于將中間邏輯地址映射到物理地址,實現(xiàn)壞塊管理功能。針對NAND Flash使用過程中出現(xiàn)的壞塊,常用的壞塊管理方法有直接跳過法和壞塊替換法,前一種方法會使得邏輯地址和物理地址的映射關系變得混亂[16],因此使用好塊替換壞塊,該方法可以分為壞塊識別以及壞塊替換兩個步驟。

    NAND Flash壞塊分為出廠時自帶的壞塊和使用過程中產(chǎn)生的壞塊,前者可以通過讀取每一個存儲塊的壞塊標記位進行區(qū)分,后者需要使用ECC(error checkingand correction)碼對存儲數(shù)據(jù)進行校驗。常用的ECC 碼有漢明碼、BCH(Bose-Chaudhuri-Hocquenghem)碼、LDPC(low density parity check)碼等,不同校驗碼有著不同的校驗和糾錯能力,當錯誤超出ECC 糾錯能力范圍時判定出現(xiàn)壞塊[17]。壞塊替換需要預留一定數(shù)量的好塊,當正在使用的存儲塊被判定為壞塊時,采用預留的好塊替換掉壞塊,并記錄壞塊與好塊的地址映射關系,實現(xiàn)壞塊管理功能。預留好塊的數(shù)量需要根據(jù)芯片實際參數(shù)進行設置,通常NAND Flash 使用過程中可能出現(xiàn)的壞塊數(shù)量不超過2%[16]。第二層地址映射關系本質(zhì)就是使用好塊地址替換壞塊地址。

    記中間邏輯地址為m(1≤m≤N),中間邏輯地址對應的物理地址為Phy_Addr(m),物理地址的范圍為1~P。預留一定數(shù)量的存儲塊用于替換使用過程中可能出現(xiàn)的壞塊,預留存儲塊的地址范圍為(N+1)~P,占總存儲塊數(shù)量的2%。記一次數(shù)據(jù)采集存儲過程中,最后用于替換壞塊的保留塊地址為Last_Res_Addr,初次上電啟動時設置Last_Res_Addr為N;Table_BM 的建立以及維護過程如下:

    1)上電啟動,讀取啟動標志Flag,進行Table_BM初始化,若Flag為1,代表初次啟動,則遍歷前N個存儲塊的壞塊標記位;若Flag為0,則直接讀取上次上電結(jié)束時保存的Table_BM 信息:

    其中:Read_Table_BM(m)表示通過讀取前一次上電結(jié)束時保存的Table_BM 地址映射信息,得到的中間邏輯地址m對應的物理地址。Bad_Block(m)表示初始化讀取第m個存儲塊的壞塊標記位的結(jié)果,為1表示壞塊,為0表示好塊。

    2)當控制器對中間邏輯地址為n的存儲塊進行擦除、讀、寫操作時,邏輯地址經(jīng)過兩層地址映射得到的物理地址塊被判斷為壞塊時,更新中間邏輯地址和物理地址的映射關系:

    3)一次上電完成數(shù)據(jù)存儲后,同樣將反映第二層地址映射信息關系的Table_BM 以及Last_Res_Addr記錄到非易失性存儲器中。

    2 NAND Flash控制器設計

    基于兩層地址映射方法,本文設計了一款NAND Flash控制器,并運用于某型浮空器的傳感器數(shù)據(jù)采集系統(tǒng)中,用于控制片外NAND Flash進行實驗數(shù)據(jù)存取。傳感器數(shù)據(jù)采集系統(tǒng)主控芯片采用ZYNQ7020,下面介紹NAND Flash控制器的設計過程。

    2.1 系統(tǒng)結(jié)構設計

    NAND Flash控制器整體結(jié)構如圖2所示。控制器的主體功能基于ZYNQ 的PL(programable logic)端實現(xiàn),ZYNQ的PS(processing system)端向PL端的控制器發(fā)送控制指令,實現(xiàn)對片外NAND Flash的控制。片外NAND Flash使用Micron公司的MT29F2G08ABAEAH4,芯片共有2 048個存儲塊,每塊64頁,每頁2 048+64字節(jié),總存儲容量2Gb,I/O接口為異步模式,具備內(nèi)部硬件ECC功能。

    圖2 NAND Flash控制器結(jié)構圖

    PL端NAND Flash控制器由寄存器配置模塊、時序邏輯控制模塊、地址映射模塊以及DMA 數(shù)據(jù)傳輸模塊4個部分構成。PS端通過寄存器讀寫模塊發(fā)送控制指令,讀取PL端NAND Flash控制器工作狀態(tài)。時序邏輯控制模塊根據(jù)NAND Flash接口時序要求,驅(qū)動NAND Flash控制和數(shù)據(jù)信號。地址映射模塊根據(jù)兩層地址映射的原理,更新地址映射信息表Table_WL以及Table_BM,完成邏輯地址到物理地址的映射,實現(xiàn)磨損均衡和壞塊管理的功能。DMA數(shù)據(jù)傳輸模塊采用DMA 的方式實現(xiàn)PS端與PL 端的數(shù)據(jù)搬運,并通過乒乓操作的方法提高數(shù)據(jù)傳輸效率。

    2.2 寄存器讀寫模塊設計

    寄存器讀寫模塊用于PS端對PL 端NAND Flash控制器的控制寄存器、狀態(tài)寄存器等進行訪問。各寄存器的定義如表1所示。

    表1 NAND Flash控制器寄存器定義表

    PS端通過對命令寄存器發(fā)送相應指令碼,控制NAND Flash控制器執(zhí)行相應操作。本文設計的NAND Flash控制器共有6種操作,每種操作對應的指令編碼如表2所示。

    表2 NAND Flash操作指令碼

    地址寄存器用于指定NAND Flash讀寫等操作的目標地址,包括列地址和行地址,其中行地址又分為頁地址和塊地址。PS端向命令寄存器寫入指令編碼前,需要先向地址寄存器寫入目標地址。狀態(tài)寄存器用于指示每一種操作的執(zhí)行狀態(tài),PS端通過讀狀態(tài)寄存器判斷每一種操作成功或失敗。ID寄存器1和ID 寄存器2用于保存讀ID 操作讀取的NAND Flash芯片40位ID號。

    本文設計的NAND Flash控制器支持中斷的工作方式,每執(zhí)行完一種操作就會產(chǎn)生中斷信號,中斷信號連接至PS端,PS端響應中斷后可通過讀狀態(tài)寄存器消除中斷。中斷使能寄存器用于配置每一種操作是否啟用中斷。

    PS端通過AIX_LITE接口讀寫寄存器,實現(xiàn)對PL端NAND Flash控制器的使用。這種方式便于應用層程序?qū)AND Flash的控制,也易于PL端進行后續(xù)功能的擴展。

    2.3 地址映射模塊設計

    地址映射的過程需要以映射前的地址為索引,通過查詢映射關系表,得到映射后的地址。地址映射的過程符合RAM(random access memory)的工作方式,即以地址為索引訪問存儲內(nèi)容。BRAM(block RAM)是FPGA 內(nèi)嵌的存儲資源,具有延遲周期確定、不占用邏輯資源的優(yōu)點,因此采用BRAM 存儲Table_WL 以及Table_BM 的地址映射信息,并通過對BRAM 的讀寫實現(xiàn)地址映射信息的更新。

    考慮到使用的NAND Flash芯片共有2 048個存儲塊,為了預留約2%的存儲塊用于替換壞塊,設定邏輯地址和中間邏輯地址的范圍為1~2 008,物理地址范圍為1~2 048。分別使用兩個位寬為11比特,深度為2 048的BRAM 存儲兩層地址映射信息表,具體存儲方式如圖3所示。RAM_WL存儲第一層地址映射信息,其中地址0保存單次上電結(jié)束時,邏輯地址進行最后一次映射得到的中間邏輯地址Last_Temp_Addr;地址1~2 008保存邏輯地址對應的中間邏輯地址Temp_Addr(1)~Temp_Addr(2 008)。RAM_BM 存儲第二層地址信息,地址0保存著單次上電結(jié)束時,最后一次用于替換壞塊的保留塊地址;地址1~2 008保存中間邏輯地址對應的物理Phy_Addr(1)~Phy_Addr(2 008)。

    圖3 地址映射信息存儲圖

    第二層地址映射用于實現(xiàn)壞塊管理,需要對芯片出廠時帶有的壞塊和使用過程中產(chǎn)生的壞塊進行判斷。系統(tǒng)使用的NAND Flash 芯片每一個存儲塊首頁的空閑區(qū)域(spare area)都有出廠壞塊標志,當讀取壞塊標志為0x00時,表示此存儲塊為壞塊[18]。對于NAND Flash使用過程中出現(xiàn)的壞塊,需要使用ECC 校驗碼進行判斷。本文采用NAND Flash芯片內(nèi)部帶有的硬件ECC功能,該ECC具有每512字節(jié)5比特錯誤檢測、4比特錯誤糾正的能力。在每次使用前,需要發(fā)送相應指令使能芯片內(nèi)部ECC 功能。在使用過程中,每完成一次讀、寫、擦除操作后,通過讀取芯片執(zhí)行狀態(tài)(operation status)來判斷是否出現(xiàn)壞塊。通過使用芯片內(nèi)部硬件ECC 功能,可以減少PL 端邏輯資源的消耗,降低NAND Flash控制器設計的復雜度。

    由于系統(tǒng)掉電后RAM 存儲的信息會丟失,需要在系統(tǒng)上電結(jié)束前將RAM_WL和RAM_BM 保存到非易失性存儲器中。非易失性存儲器可以選擇在主控芯片外增加一小容量存儲芯片,如E2PROM[19]、非易失性隨機鐵電存儲器[6]等。由于系統(tǒng)使用的NAND Flash在使能內(nèi)部ECC 進行存儲數(shù)據(jù)保護的前提下,可以保證第0號存儲塊數(shù)據(jù)的正確性。因此在系統(tǒng)掉電前將RAM_WL和RAM_BM 的信息存入NAND Flash芯片的第0塊中,在實現(xiàn)地址映射信息掉電不丟失的同時,避免了增加存儲芯片帶來的硬件資源消耗。

    RAM_WL和RAM_BM 的上電初始化過程以及掉電前存入NAND Flash第0塊的過程需要對NAND Flash進行讀寫,這兩個過程分別由時序邏輯控制模塊的初始化功能和信息存儲功能實現(xiàn)。地址映射模塊使用狀態(tài)機的方式進行設計,狀態(tài)轉(zhuǎn)移如圖4所示。根據(jù)前文所述地址映射方法原理,地址映射模塊工作過程如下:1)對NAND Flash進行擦除操作時,時序邏輯控制模塊發(fā)出S_Map_E信號,地址映射模塊更新RAM_WL 信息,然后以邏輯地址為索引訪問RAM_WL得到對應的中間邏輯地址,再以中間邏輯地址為索引訪問RAM_BM 得到物理地址。2)對NAND Flash進行讀、寫操作時,時序邏輯控制模塊發(fā)出S_Map_WR 信號,地址映射模塊通過讀RAM-BM 和RAM_WL得到邏輯地址對應的物理地址。3)對NAND Flash進行讀、寫、擦除操作過程中出現(xiàn)壞塊時,時序邏輯控制模塊發(fā)出Bad_Block信號,地址映射模塊更新RAM_BM 信息。

    圖4 地址映射模塊狀態(tài)轉(zhuǎn)移圖

    2.4 時序邏輯控制模塊設計

    NAND Flash時序邏輯模塊用于實現(xiàn)NAND Flash讀寫等操作的復雜時序邏輯控制,實現(xiàn)對NAND Flash的直接驅(qū)動。片外NAND Flash與PL 端控制器的連接采用標準ONFI協(xié)議,主要控制信號包含片選信號CE、命令鎖存信號CLE、地址鎖存信號ALE、寫使能信號WE 以及讀使能信號RE,另外有8位數(shù)據(jù)、命令、地址分時復用的IO 信號[20]。NAND Flash各種操作的時序主要由異步地址輸入、異步命令輸入、異步數(shù)據(jù)輸入、異步數(shù)據(jù)輸出四種總線操作模式構成,不同模式對應的控制信號變化如表3所示。

    表3 控制信號狀態(tài)表

    根據(jù)不同總線操作模式下控制信號的變化,NAND Flash讀寫時序如圖5、圖6所示。為了實現(xiàn)NAND Flash不同操作的時序驅(qū)動需求,采用有限狀態(tài)機的方法進行控制邏輯設計[21],其中狀態(tài)機狀態(tài)轉(zhuǎn)移如圖7 所示?;贜AND Flash的控制需求,狀態(tài)機實現(xiàn)了讀頁、頁編程、擦除等基本控制操作,以及初始化操作和信息存儲操作的時序控制。其中初始化和信息存儲操作分別用于地址映射信息的加載和存儲。根據(jù)圖7的狀態(tài)轉(zhuǎn)移過程,不同操作的流程如下:

    圖5 NAND Flash頁編程操作時序圖

    圖6 NAND Flash讀頁操作時序圖

    圖7 時序邏輯控制模塊狀態(tài)轉(zhuǎn)移圖

    1)讀頁操作:首先通過地址映射模塊得到物理地址,接著發(fā)送讀命令和讀地址,等待R/B(忙閑信號)信號拉高后發(fā)出讀狀態(tài)命令。通過狀態(tài)編碼判斷讀頁操作是否成功,若成功則讀取一頁數(shù)據(jù),若失敗則通知地址映射模塊更新RAM_BM 信息。

    2)頁編程操作:通過地址映射得到待寫存儲塊的物理地址,接著發(fā)送寫命令和寫地址,并寫入一頁數(shù)據(jù)。之后等待R/B信號拉高,發(fā)出讀狀態(tài)命令來判斷寫頁操作是否成功,若失敗則通知地址映射模塊更新RAM_BM 信息。

    3)擦除操作:通過地址映射模塊得到物理地址,發(fā)送擦除命令和地址,等待R/B 信號拉高,發(fā)出讀狀態(tài)命令來判斷擦除操作是否成功,若失敗則通知地址映射模塊更新RAM_BM 信息。

    4)初始化操作:發(fā)送復位命令復位NAND Flash 芯片,接著通過Set_Feature命令啟動NAND Flash內(nèi)嵌硬件ECC功能。讀取初次啟動標志Flag判斷初始化方法,如果是初次使用,遍歷第1~2 008個存儲塊的壞塊標志位進行RAM 表初始化;若非初次使用,讀取NAND Flash第0塊存儲的地址映射信息,將信息寫入RAM _WL 和RAM_BM。系統(tǒng)每次上電使用NAND Flash之前,都需要進行初始化操作。

    5)信息存儲操作:發(fā)送寫命令和寫地址,讀取RAM_WL以及RAM _BM 的信息并寫入NAND Flash,最后寫入初次啟動標志Flag,完成地址映射信息存儲。系統(tǒng)每次掉電之前,都需要進行信息存儲操。

    2.5 DMA數(shù)據(jù)傳輸模塊設計

    基于NAND Flash的結(jié)構,通常將數(shù)據(jù)按頁為單位進行寫入和讀出[20]。將數(shù)據(jù)寫入NAND Flash進行存儲的過程中,首先將待寫入數(shù)據(jù)從PS端搬運到PL 端的緩存中,等待緩存滿一頁數(shù)據(jù)后PS端發(fā)出頁編程操作指令,寫入數(shù)據(jù);讀取NAND Flash存儲數(shù)據(jù)的過程中,PS端首先發(fā)送讀頁操作指令,將數(shù)據(jù)讀到PL端的緩存中,完成一頁數(shù)據(jù)讀取后,需要將數(shù)據(jù)搬運到PS端用于后續(xù)處理。對于PS端與PL 端之間大容量數(shù)據(jù)的搬運,采用DMA(direct memory access)的方式可以提高PS端CPU 的工作效率。

    采用Xilinx的AXI_DMA 控制器IP核實現(xiàn)數(shù)據(jù)搬運。系統(tǒng)中PS端掛載DDR3芯片作為運行內(nèi)存,因此DMA 控制器實現(xiàn)的是內(nèi)存與PL 端緩存之間的數(shù)據(jù)搬運。AXI_DMA 控制器共有三種數(shù)據(jù)通道,每種通道的作用如下:1)S_AXI_LITE通道,使用AXI_LITE接口協(xié)議,連接到PS端的M_AXI_GP接口,用于DMA 控制器的功能配置以及初始化;2)M _AXI_MM2S 通道、M _AXI_2SMM 通道,均使用AXI_FULL接口協(xié)議,連接到PS端的M_AXI_GP接口,可通過M _AXI_GP 接口直接訪問內(nèi)存,分別用于從內(nèi)存中讀出數(shù)據(jù)和向內(nèi)存寫入數(shù)據(jù);3)S_AXIS_S2MM 通道、M _AXIS_MM2S 通道,使用AXI_STREAM 接口協(xié)議,連接到PL 端緩存,分別用于從緩存中讀出數(shù)據(jù)和向緩存寫入數(shù)據(jù)。考慮到設計中使用的NAND Flash芯片一頁大小為2 048字節(jié),采用位寬為8比特,深度為2048的FIFO 作為讀寫緩存,并將FIFO 接口設置為AXI_STREAM 形式。

    DMA 控制器寫滿一頁緩存的速度快于將一頁緩存的數(shù)據(jù)寫入NAND Flash的速度,將一頁數(shù)據(jù)從NAND Flash讀到緩存中的速度慢于DMA 控制器將一頁緩存數(shù)據(jù)寫到內(nèi)存的速度,為了平衡緩存讀寫端口的速度差異,采用乒乓操作的方式。對于頁編程和讀頁操作,設置兩個大小相同的緩存,分別為WFIFO_1、WFIFO_2以及RFIFO_1、RFIFO_2。當DMA 控制器向其中一個WFIFO 寫入數(shù)據(jù)時,時序邏輯控制模塊可以將數(shù)據(jù)從另外一個WFIFO 中讀出并寫入NAND Flash中;當時序邏輯控制模塊從NAND Flash讀出一頁數(shù)據(jù)并存入其中一個RFIFO 中,DMA 控制器可以將另一RFIFO 的數(shù)據(jù)讀出。為了實現(xiàn)數(shù)據(jù)讀寫時的乒乓操作,需要控制讀寫緩存FIFO 的切換。FIFO 接口使用AXI_STREAM 協(xié)議,AXI_STREAM 協(xié)議的TLAST信號拉高表示一次數(shù)據(jù)傳輸完成,因此通過檢測TLAST 信號的上升沿變化來控制緩存接口的切換,具體電路結(jié)構如圖8所示。

    圖8 讀寫緩存切換電路圖

    3 系統(tǒng)仿真與測試

    3.1 仿真分析

    3.1.1 仿真環(huán)境

    基于Vivado 平臺,編寫Testbench 對PL 端NAND Flash控制器功能進行測試,仿真測試模塊功能劃分如圖9所示。其中DUT(Design Under Test)為待測模塊,即PL端NAND Flash 控制器;NAND Flash MODEL 采用Micron公司提供的MT29F系列Verilog仿真模型,能夠模擬MT29F2G08ABAEAH4 型NAND Flash 的 功 能;CTRL(Control)模塊用于模擬PS端發(fā)送控制指令;BRAM 模塊用于保存NAND Flash控制器待發(fā)送數(shù)據(jù)和讀取數(shù)據(jù)。

    圖9 測試模塊圖

    3.1.2 功能仿真

    NAND Flash控制器功能仿真如圖10所示,仿真過程中各信號定義如下:

    圖10 功能仿真圖

    1)NAND Flash 控制信號:ce、ale、cle、re、we、rb、Flash_data_io。

    2)RAM 表讀寫控制信號:包括RAM _WL _we、RAM _WL _addr、RAM _WL _din、RAM _WL _dout、RAM _BM _we、RAM _BM _addr、RAM_BM_din、RAM_BM_dout。

    3)地址信號:包括Logic_Addr(邏輯地址)、Temp_Addr(中間邏輯地址)、Phy_Addr(物理地址)。

    圖10(a)為地址映射信息初始化過程,遍歷NAND Flash 的出廠壞塊標志位,進行地址映射信息表RAM _WL 和RAM_BM 的初始化。仿真過程中,為了模擬芯片出廠時帶有壞塊的情況,設置NAND Flash第50號存儲塊和第1 000號存儲塊的壞塊標志位為0x00。RAM_BM初始化過程如下:控制器發(fā)送讀取每一個存儲塊首頁的空閑區(qū)域的命令(如區(qū)間A、B表示讀第1號存儲塊的壞塊標志),若檢測出壞塊(如區(qū)間C、D 所示),采用保留區(qū)的存儲塊替換壞塊,并將好塊—壞塊的映射關系寫入RAM_BM 中。RAM_WL初始化過程中始終將邏輯地址映射到的中間邏輯地址設置為“1”。

    圖10(b)為NAND Flash控制器進行擦除、頁編程、讀頁操作仿真,三種操作的邏輯地址均設置為 “2”。區(qū)間A 為塊擦除過程,地址映射模塊通過訪問RAM_WL 得到中間邏輯地址為“1”,并更新RAM_WL 的信息,接著以中間邏輯地址為索引訪問RAM_BM 得到物理地址為“1”,并向第1號存儲塊發(fā)出擦除命令。區(qū)間B、C 分別為頁編程、讀頁過程,首先通過地址映射模塊得到實際物理地址為“1”,并向第1號存儲塊發(fā)出編程命令和讀命令。

    為了測試突發(fā)壞塊的情況,對物理地址為 “1”的存儲塊進行編程操作時,設置讀取操作狀態(tài)結(jié)果為失敗,即出現(xiàn)突發(fā)壞塊,仿真過程如圖10(c)所示。NAND Flash控制器向物理地址為“1”的存儲塊發(fā)出編程指令(如區(qū)間A所示)。完成存儲數(shù)據(jù)發(fā)送后,讀取操作狀態(tài)為0xe1(如區(qū)間B所示),表示編程操作失敗,待編程的存儲塊為壞塊。地址映射模塊更新RAM _BM,使用保留區(qū)的好塊地址“2010”替換壞塊地址“1”,實現(xiàn)壞塊管理功能。

    為了驗證基于地址映射方法實現(xiàn)的磨損均衡功能的有效性,模擬數(shù)據(jù)采集系統(tǒng)的工作情況,每次從初始地址開始,向一定數(shù)量的存儲塊寫入數(shù)據(jù)。為了覆蓋足夠數(shù)量的存儲塊,每次寫入存儲塊的數(shù)量占NAND Flash總?cè)萘康?0%~100%,重復寫入數(shù)據(jù)1萬次。分別使用地址映射方法和直接控制法寫入數(shù)據(jù),NAND Flash存儲塊磨損情況如圖11所示。由仿真結(jié)果可見,相較于直接控制法,地址映射方法能夠更為均勻地擦除存儲塊。這是因為每次進行數(shù)據(jù)寫入時,地址映射方法將邏輯地址映射到序號遞增的物理地址中,避免了序號靠后的存儲塊較少被寫入數(shù)據(jù)的情況,達到存儲塊均衡使用的目的。

    圖11 NAND Flash存儲塊磨損情況

    3.2 板級測試

    將設計的NAND Flash控制器應用于某型浮空器的傳感器數(shù)據(jù)采集系統(tǒng),該系統(tǒng)通過多路串口、SPI接口和AD接口實時獲取壓差傳感器、溫度傳感器和電源電壓數(shù)據(jù),并存入NAND Flash中,系統(tǒng)程序基于裸機執(zhí)行。為了驗證NAND Flash控制器功能的正確性,在系統(tǒng)工作過程中,將以下信息通過串口發(fā)送到PC 端存儲:1)存入NAND Flash的傳感器數(shù)據(jù);2)NAND Flash擦除、編程操作的邏輯地址和物理地址;3)NAND Flash擦除、編程操作的完成情況。PC端接收到的部分數(shù)據(jù)如圖12所示。數(shù)據(jù)采集完成后,將NAND Flash中存儲的實驗數(shù)據(jù)讀出并與之前實時存儲的數(shù)據(jù)進行對比,并統(tǒng)計每個存儲塊的擦除次數(shù)。

    圖12 PC端串口接收數(shù)據(jù)圖

    經(jīng)過多次實驗測試,數(shù)據(jù)采集系統(tǒng)寫入NAND Flash的數(shù)據(jù)與從NAND Flash讀出的數(shù)據(jù)均保持一致,存儲塊最大擦次數(shù)與最小擦除次數(shù)之差始終為1。實驗過程中未出現(xiàn)壞塊,模擬壞塊出現(xiàn)情況,對第1號存儲塊進行編程操作時設置編程狀態(tài)為失敗,經(jīng)測試NAND Flash控制器能夠使用保留區(qū)好塊地址代替壞塊地址。由此驗證了基于地址映射方法的NAND Flash控制器可以在嵌入式數(shù)據(jù)采集系統(tǒng)得到正確使用。

    4 結(jié)束語

    本文提出了一種基于地址映射的NAND Flash控制方法,通過建立、維護、查詢邏輯地址到物理地址的映射信息表,實現(xiàn)嵌入式數(shù)據(jù)采集系統(tǒng)中NAND Flash的壞塊管理和磨損均衡功能。相比于使用文件系統(tǒng)的NAND Flash控制方法,對硬件資源要求更低,更為簡單。基于地址映射方法,本文設計了一款NAND Flash控制器,仿真和實際應用測試結(jié)果表明,控制器能夠管理出廠壞塊和突發(fā)壞塊,均衡每個存儲塊的負載,提高系統(tǒng)的可靠性,在嵌入式數(shù)據(jù)采集領域具有一定的應用價值。

    猜你喜歡
    寄存器邏輯控制器
    刑事印證證明準確達成的邏輯反思
    法律方法(2022年2期)2022-10-20 06:44:24
    邏輯
    創(chuàng)新的邏輯
    Lite寄存器模型的設計與實現(xiàn)
    計算機應用(2020年5期)2020-06-07 07:06:44
    女人買買買的神邏輯
    37°女人(2017年11期)2017-11-14 20:27:40
    分簇結(jié)構向量寄存器分配策略研究*
    模糊PID控制器設計及MATLAB仿真
    MOXA RTU控制器ioPAC 5542系列
    自動化博覽(2014年9期)2014-02-28 22:33:17
    倍福 CX8091嵌入式控制器
    自動化博覽(2014年4期)2014-02-28 22:31:15
    4V三輸出同步降壓型控制器
    在线av久久热| 久99久视频精品免费| 99在线视频只有这里精品首页| 国产精品久久视频播放| 国产精品久久视频播放| 午夜免费激情av| 在线观看午夜福利视频| 午夜福利视频1000在线观看| 啪啪无遮挡十八禁网站| 满18在线观看网站| 国产麻豆成人av免费视频| 国产成人av激情在线播放| 久久国产精品影院| 一区福利在线观看| АⅤ资源中文在线天堂| 国产精华一区二区三区| 国产成人av激情在线播放| 在线观看免费视频日本深夜| 亚洲国产看品久久| 啪啪无遮挡十八禁网站| 正在播放国产对白刺激| 成人特级黄色片久久久久久久| 午夜福利一区二区在线看| 国产高清有码在线观看视频 | 亚洲一码二码三码区别大吗| 国产亚洲欧美精品永久| 一本综合久久免费| 欧美在线黄色| 日韩av在线大香蕉| 亚洲精品国产一区二区精华液| 国产熟女xx| 国产精品久久久久久亚洲av鲁大| 嫩草影院精品99| 国产精品美女特级片免费视频播放器 | 波多野结衣av一区二区av| 久久久久久大精品| 亚洲一区高清亚洲精品| 亚洲成a人片在线一区二区| 成人欧美大片| 人人妻人人澡欧美一区二区| 51午夜福利影视在线观看| 亚洲免费av在线视频| 99久久99久久久精品蜜桃| 男人舔女人的私密视频| a级毛片a级免费在线| 一进一出抽搐动态| 午夜日韩欧美国产| 欧美av亚洲av综合av国产av| cao死你这个sao货| 亚洲欧洲精品一区二区精品久久久| 亚洲色图av天堂| 国产精品香港三级国产av潘金莲| 一本久久中文字幕| 国产片内射在线| 一二三四在线观看免费中文在| avwww免费| 国产精品久久久久久人妻精品电影| 91麻豆av在线| 不卡av一区二区三区| 亚洲第一av免费看| 国产精品久久久久久人妻精品电影| 美女扒开内裤让男人捅视频| 国产亚洲精品久久久久久毛片| 免费av毛片视频| 视频在线观看一区二区三区| 看免费av毛片| 日本五十路高清| 极品教师在线免费播放| 亚洲第一欧美日韩一区二区三区| 国语自产精品视频在线第100页| 国产精品香港三级国产av潘金莲| 国产精华一区二区三区| 国产成人精品久久二区二区免费| 国产精品久久久久久亚洲av鲁大| 两个人视频免费观看高清| 色av中文字幕| 亚洲熟女毛片儿| 99热只有精品国产| 人人妻人人澡人人看| 中文字幕高清在线视频| 欧美又色又爽又黄视频| 国产精品自产拍在线观看55亚洲| 国产v大片淫在线免费观看| 欧美性长视频在线观看| avwww免费| 中国美女看黄片| 天堂影院成人在线观看| 一区二区三区高清视频在线| or卡值多少钱| 午夜成年电影在线免费观看| 999精品在线视频| 国产三级黄色录像| 色综合欧美亚洲国产小说| 亚洲国产精品合色在线| 亚洲,欧美精品.| 欧美乱妇无乱码| 一级毛片精品| 欧美+亚洲+日韩+国产| 听说在线观看完整版免费高清| 国内精品久久久久久久电影| 亚洲av片天天在线观看| 亚洲成人精品中文字幕电影| 久久久久久久午夜电影| 国产97色在线日韩免费| 一级黄色大片毛片| 99精品欧美一区二区三区四区| 中文字幕人妻熟女乱码| 亚洲av片天天在线观看| 亚洲第一av免费看| 欧美乱妇无乱码| 国产1区2区3区精品| 韩国精品一区二区三区| 亚洲国产精品成人综合色| svipshipincom国产片| 侵犯人妻中文字幕一二三四区| 国产一卡二卡三卡精品| 久久久国产欧美日韩av| 久久精品成人免费网站| 国产1区2区3区精品| 日本五十路高清| 久久精品国产亚洲av高清一级| 国产区一区二久久| 亚洲五月色婷婷综合| 波多野结衣高清作品| 可以在线观看的亚洲视频| 亚洲午夜理论影院| 欧美午夜高清在线| 中文字幕人妻熟女乱码| 日韩国内少妇激情av| 国产免费av片在线观看野外av| 十八禁人妻一区二区| 精品国内亚洲2022精品成人| 精华霜和精华液先用哪个| 午夜福利在线观看吧| 50天的宝宝边吃奶边哭怎么回事| 亚洲国产精品999在线| 亚洲黑人精品在线| 免费观看精品视频网站| av天堂在线播放| 亚洲av熟女| 黄色丝袜av网址大全| 悠悠久久av| 亚洲狠狠婷婷综合久久图片| 成人18禁在线播放| 99国产极品粉嫩在线观看| 亚洲精品中文字幕一二三四区| 高清在线国产一区| 亚洲精品一区av在线观看| 两个人视频免费观看高清| 久久午夜综合久久蜜桃| 成人国产一区最新在线观看| 啪啪无遮挡十八禁网站| 欧美一级a爱片免费观看看 | 嫩草影院精品99| 一卡2卡三卡四卡精品乱码亚洲| 国产视频一区二区在线看| 老汉色av国产亚洲站长工具| 国产区一区二久久| 欧美亚洲日本最大视频资源| 狠狠狠狠99中文字幕| 九色国产91popny在线| 欧美一区二区精品小视频在线| 久久人妻福利社区极品人妻图片| 国产aⅴ精品一区二区三区波| 一进一出抽搐gif免费好疼| 国产精品自产拍在线观看55亚洲| 最新美女视频免费是黄的| 老熟妇仑乱视频hdxx| 搡老妇女老女人老熟妇| 久久国产精品人妻蜜桃| 国产又爽黄色视频| 国产精华一区二区三区| 久久久久国产精品人妻aⅴ院| 欧美激情 高清一区二区三区| 国产av又大| 国产精品亚洲美女久久久| 一进一出好大好爽视频| 在线av久久热| 午夜视频精品福利| 老鸭窝网址在线观看| 国产精品电影一区二区三区| 国产av一区二区精品久久| 国产熟女午夜一区二区三区| av电影中文网址| 免费av毛片视频| 久久久精品国产亚洲av高清涩受| 国产精品亚洲一级av第二区| 少妇裸体淫交视频免费看高清 | 人人妻人人看人人澡| 午夜a级毛片| 午夜精品久久久久久毛片777| 无限看片的www在线观看| 国产精品久久久人人做人人爽| 午夜精品久久久久久毛片777| 亚洲va日本ⅴa欧美va伊人久久| 18禁国产床啪视频网站| 两人在一起打扑克的视频| 国产精品亚洲一级av第二区| 黄频高清免费视频| 丁香六月欧美| av欧美777| 日韩有码中文字幕| 久久香蕉精品热| 90打野战视频偷拍视频| 久久久久久久久免费视频了| av在线播放免费不卡| 麻豆成人午夜福利视频| 黄色成人免费大全| 日韩欧美免费精品| 国产激情偷乱视频一区二区| 香蕉av资源在线| 欧美色欧美亚洲另类二区| 欧美成人午夜精品| 国产高清有码在线观看视频 | 免费在线观看视频国产中文字幕亚洲| 女生性感内裤真人,穿戴方法视频| 欧美成人免费av一区二区三区| 亚洲成人久久性| 亚洲精品中文字幕一二三四区| 中文字幕久久专区| 久久99热这里只有精品18| 人人妻人人澡人人看| 国产精品免费视频内射| 久久久精品欧美日韩精品| 成人三级做爰电影| 亚洲精品中文字幕在线视频| 亚洲av熟女| 99精品在免费线老司机午夜| 国产高清激情床上av| 日本一区二区免费在线视频| 亚洲精品在线美女| 老鸭窝网址在线观看| 精品卡一卡二卡四卡免费| 一区二区日韩欧美中文字幕| 麻豆国产av国片精品| 国产伦一二天堂av在线观看| www.999成人在线观看| 国产视频内射| 每晚都被弄得嗷嗷叫到高潮| 国产亚洲精品久久久久5区| 男女那种视频在线观看| 久久人人精品亚洲av| 国产精品久久视频播放| 国产成+人综合+亚洲专区| 少妇被粗大的猛进出69影院| 很黄的视频免费| 成年版毛片免费区| 黑丝袜美女国产一区| 国产人伦9x9x在线观看| 波多野结衣高清无吗| 久久精品91无色码中文字幕| 精品卡一卡二卡四卡免费| 男女做爰动态图高潮gif福利片| 久9热在线精品视频| 99国产精品一区二区三区| 88av欧美| 国产精品久久电影中文字幕| 波多野结衣av一区二区av| 国产真实乱freesex| 777久久人妻少妇嫩草av网站| 免费高清在线观看日韩| 国产激情欧美一区二区| 黄片小视频在线播放| 免费看日本二区| 大型黄色视频在线免费观看| 1024手机看黄色片| 亚洲国产高清在线一区二区三 | 中文字幕高清在线视频| 啦啦啦 在线观看视频| 丰满人妻熟妇乱又伦精品不卡| 男女午夜视频在线观看| 韩国av一区二区三区四区| 天堂动漫精品| 欧美大码av| 精品国产一区二区三区四区第35| 桃色一区二区三区在线观看| 99国产极品粉嫩在线观看| 制服诱惑二区| www日本在线高清视频| 露出奶头的视频| 高潮久久久久久久久久久不卡| 亚洲片人在线观看| 熟女少妇亚洲综合色aaa.| 久久欧美精品欧美久久欧美| 一进一出抽搐动态| 午夜福利高清视频| 亚洲色图 男人天堂 中文字幕| 黄色成人免费大全| 啪啪无遮挡十八禁网站| 激情在线观看视频在线高清| 亚洲七黄色美女视频| 色综合婷婷激情| 中文字幕人妻丝袜一区二区| 黄片播放在线免费| 在线免费观看的www视频| 一卡2卡三卡四卡精品乱码亚洲| 亚洲真实伦在线观看| 好男人在线观看高清免费视频 | 99久久国产精品久久久| 99久久久亚洲精品蜜臀av| 午夜免费激情av| 欧美精品亚洲一区二区| 免费搜索国产男女视频| 岛国在线观看网站| 两个人视频免费观看高清| 91九色精品人成在线观看| 老汉色av国产亚洲站长工具| www国产在线视频色| 97碰自拍视频| 精品无人区乱码1区二区| 国产一区二区三区视频了| 久久精品成人免费网站| 亚洲五月色婷婷综合| 久久亚洲真实| 白带黄色成豆腐渣| 一级片免费观看大全| 国产免费男女视频| 香蕉丝袜av| 热re99久久国产66热| 变态另类丝袜制服| 脱女人内裤的视频| 欧美激情极品国产一区二区三区| 成人欧美大片| 久久久久久久午夜电影| 热re99久久国产66热| 久久久水蜜桃国产精品网| 人人澡人人妻人| 久久精品国产清高在天天线| 九色国产91popny在线| 久久婷婷人人爽人人干人人爱| 精品日产1卡2卡| 免费看a级黄色片| 久久久精品国产亚洲av高清涩受| 国产精品影院久久| 国产亚洲欧美98| av天堂在线播放| 无人区码免费观看不卡| 欧美+亚洲+日韩+国产| 久99久视频精品免费| 亚洲成人久久性| 欧美成狂野欧美在线观看| 麻豆成人av在线观看| 69av精品久久久久久| 欧美精品啪啪一区二区三区| 亚洲国产精品成人综合色| 又黄又爽又免费观看的视频| cao死你这个sao货| 一二三四在线观看免费中文在| av视频在线观看入口| 日本熟妇午夜| 成人午夜高清在线视频 | 在线观看午夜福利视频| 一二三四在线观看免费中文在| 99久久无色码亚洲精品果冻| 欧美日韩瑟瑟在线播放| 母亲3免费完整高清在线观看| 曰老女人黄片| 精品久久久久久久末码| 日韩中文字幕欧美一区二区| 两性夫妻黄色片| 久久久久久免费高清国产稀缺| 又大又爽又粗| 精品一区二区三区视频在线观看免费| 后天国语完整版免费观看| 国产一区二区三区视频了| 久久午夜亚洲精品久久| 每晚都被弄得嗷嗷叫到高潮| 无人区码免费观看不卡| 国产亚洲精品第一综合不卡| 国产单亲对白刺激| 国产不卡一卡二| 亚洲精品国产一区二区精华液| 男女下面进入的视频免费午夜 | 亚洲美女黄片视频| 欧美一级毛片孕妇| 草草在线视频免费看| 国产精品永久免费网站| 免费电影在线观看免费观看| 夜夜躁狠狠躁天天躁| 亚洲av成人av| 国产精品野战在线观看| 听说在线观看完整版免费高清| 久久久久免费精品人妻一区二区 | 亚洲 欧美一区二区三区| 19禁男女啪啪无遮挡网站| 亚洲欧美精品综合久久99| 欧美一区二区精品小视频在线| 精品熟女少妇八av免费久了| 成人国产一区最新在线观看| 亚洲一区高清亚洲精品| 国产精品香港三级国产av潘金莲| 国产片内射在线| 国产精品免费一区二区三区在线| 淫妇啪啪啪对白视频| 国产av不卡久久| 久久国产亚洲av麻豆专区| 淫秽高清视频在线观看| 国产免费男女视频| 男女视频在线观看网站免费 | 1024香蕉在线观看| 中文字幕久久专区| 亚洲av电影在线进入| 美国免费a级毛片| 少妇裸体淫交视频免费看高清 | 亚洲精品中文字幕在线视频| 国产成人av教育| 亚洲av成人不卡在线观看播放网| 亚洲成国产人片在线观看| 搡老岳熟女国产| 亚洲国产中文字幕在线视频| 亚洲第一青青草原| 一级毛片女人18水好多| 免费高清在线观看日韩| 色婷婷久久久亚洲欧美| 久久天躁狠狠躁夜夜2o2o| 熟女电影av网| 欧美人与性动交α欧美精品济南到| 大型黄色视频在线免费观看| 两人在一起打扑克的视频| 亚洲自拍偷在线| 精品欧美一区二区三区在线| 国产精品久久久久久精品电影 | 天天添夜夜摸| 色老头精品视频在线观看| 中亚洲国语对白在线视频| 一区二区三区激情视频| 亚洲成人久久爱视频| 人人妻人人澡欧美一区二区| 99热这里只有精品一区 | 久久精品91蜜桃| 中文字幕人妻熟女乱码| 免费看a级黄色片| 精品午夜福利视频在线观看一区| 久久精品国产清高在天天线| 国产精品野战在线观看| 黄频高清免费视频| 日本成人三级电影网站| 亚洲色图 男人天堂 中文字幕| 好男人电影高清在线观看| av片东京热男人的天堂| 久久亚洲精品不卡| 日本一本二区三区精品| 亚洲av电影在线进入| 国产精品乱码一区二三区的特点| 一个人免费在线观看的高清视频| 色av中文字幕| www日本黄色视频网| 久久伊人香网站| 国产一区在线观看成人免费| 久久久久久亚洲精品国产蜜桃av| 色在线成人网| 精品日产1卡2卡| 1024香蕉在线观看| 看片在线看免费视频| 91av网站免费观看| 国产精品亚洲美女久久久| 夜夜爽天天搞| 欧美日韩黄片免| 精品无人区乱码1区二区| 搡老岳熟女国产| 久久久久精品国产欧美久久久| 国产三级黄色录像| 天天一区二区日本电影三级| 高清毛片免费观看视频网站| 此物有八面人人有两片| 亚洲av电影不卡..在线观看| 国产成年人精品一区二区| 精品国内亚洲2022精品成人| 制服丝袜大香蕉在线| 少妇 在线观看| 久久久国产成人免费| 国产三级在线视频| 亚洲欧洲精品一区二区精品久久久| 变态另类丝袜制服| 不卡av一区二区三区| 日韩高清综合在线| 亚洲 国产 在线| 精品欧美一区二区三区在线| 亚洲av美国av| 香蕉久久夜色| 18美女黄网站色大片免费观看| 免费在线观看影片大全网站| 国内精品久久久久久久电影| 婷婷六月久久综合丁香| 久久青草综合色| 91av网站免费观看| 黄网站色视频无遮挡免费观看| 午夜老司机福利片| av在线播放免费不卡| 国产成人av激情在线播放| 黄色视频,在线免费观看| 欧美日韩精品网址| 久久香蕉激情| 啦啦啦免费观看视频1| xxx96com| 黄色视频,在线免费观看| 777久久人妻少妇嫩草av网站| 99在线视频只有这里精品首页| 国产野战对白在线观看| 黄色丝袜av网址大全| 美女高潮到喷水免费观看| 欧美性长视频在线观看| 午夜精品在线福利| 国产成人系列免费观看| 亚洲在线自拍视频| 免费女性裸体啪啪无遮挡网站| 一级黄色大片毛片| 精品一区二区三区四区五区乱码| 久久婷婷人人爽人人干人人爱| 日日爽夜夜爽网站| 日韩av在线大香蕉| 国产爱豆传媒在线观看 | 成年版毛片免费区| 免费在线观看黄色视频的| 日韩 欧美 亚洲 中文字幕| 国内精品久久久久精免费| 国产伦人伦偷精品视频| 999久久久精品免费观看国产| 亚洲成a人片在线一区二区| 免费av毛片视频| 热re99久久国产66热| av超薄肉色丝袜交足视频| 午夜福利高清视频| 日韩欧美在线二视频| 19禁男女啪啪无遮挡网站| 欧美日韩瑟瑟在线播放| av福利片在线| 国内揄拍国产精品人妻在线 | 1024香蕉在线观看| 中文资源天堂在线| 日韩高清综合在线| 男女午夜视频在线观看| 久久热在线av| 性色av乱码一区二区三区2| 成人特级黄色片久久久久久久| 最新在线观看一区二区三区| 亚洲激情在线av| 91九色精品人成在线观看| 国产成人影院久久av| 国产av在哪里看| 级片在线观看| 国内毛片毛片毛片毛片毛片| 亚洲中文字幕日韩| 首页视频小说图片口味搜索| 亚洲成av片中文字幕在线观看| 超碰成人久久| 午夜精品久久久久久毛片777| 久久狼人影院| 精品久久久久久久人妻蜜臀av| a级毛片在线看网站| 神马国产精品三级电影在线观看 | 熟女电影av网| 国产单亲对白刺激| 久久精品影院6| 成年版毛片免费区| 精品无人区乱码1区二区| 91麻豆精品激情在线观看国产| 亚洲国产日韩欧美精品在线观看 | 97碰自拍视频| 一本精品99久久精品77| 免费女性裸体啪啪无遮挡网站| 身体一侧抽搐| 国产激情久久老熟女| 久久久久久国产a免费观看| 一级a爱视频在线免费观看| 很黄的视频免费| 在线免费观看的www视频| 超碰成人久久| 在线观看免费午夜福利视频| 日韩欧美一区视频在线观看| 男男h啪啪无遮挡| 99riav亚洲国产免费| 亚洲自拍偷在线| 看免费av毛片| 中亚洲国语对白在线视频| 免费看a级黄色片| 欧美一级a爱片免费观看看 | 高清在线国产一区| 精品国产乱码久久久久久男人| 老汉色∧v一级毛片| 美女扒开内裤让男人捅视频| 一个人免费在线观看的高清视频| 夜夜看夜夜爽夜夜摸| 成年女人毛片免费观看观看9| 亚洲精品美女久久久久99蜜臀| 欧美日韩瑟瑟在线播放| 日本一区二区免费在线视频| 久久精品国产清高在天天线| 日韩国内少妇激情av| 女警被强在线播放| 亚洲成人国产一区在线观看| 国产精品乱码一区二三区的特点| 国产精品美女特级片免费视频播放器 | 亚洲色图av天堂| 老司机午夜十八禁免费视频| 亚洲成av片中文字幕在线观看| 成年版毛片免费区| 日本撒尿小便嘘嘘汇集6| 美女高潮喷水抽搐中文字幕| 亚洲最大成人中文| 久久久精品国产亚洲av高清涩受| 日韩欧美三级三区| 曰老女人黄片| av片东京热男人的天堂| 哪里可以看免费的av片| 一级黄色大片毛片| 久久久久国产一级毛片高清牌| 视频区欧美日本亚洲| 欧美三级亚洲精品| 欧美中文综合在线视频| 欧美性猛交╳xxx乱大交人| 亚洲成人久久性| 天堂影院成人在线观看| 两个人视频免费观看高清| 午夜福利在线在线|