與非型快閃記憶體Nandflash控制器的製作方法
2023-12-08 17:52:06 1
專利名稱:與非型快閃記憶體Nandflash控制器的製作方法
技術領域:
本發明涉及一種Nandflash(與非型快閃記憶體)控制器。
背景技術:
Nandflash在最近幾年裡得到了突飛猛進的發展,由SLC(1位/單元)技術發展到了 MLC(多位/單元)技術,同時Nandflash的生產工藝也不斷進步。隨著技術的發展,Nandflash容量不斷增大,單位容量的成本也大幅降低,應用Nandflash的領域也越來越多。Nandflash使用過程中,由於系統邏輯操作的不平衡,會導致Nandflash的某些物理塊被較為頻繁的使用,進而較快的損壞,影響Nandflash的使用壽命。在Nandflash控制器的設計中,物理塊損耗不均衡是必須解決的問題。為解決損耗均衡問題,Nandflash控制器必須記錄Nandflash在使用過程中的每一個物理塊擦寫次數。當系統進行損耗均衡操作時,需要對損耗最大的物理塊和損耗最小的物理塊進行操作。如何儘快的得知損耗最大的物理塊和損耗最小的物理塊是提高損耗均衡操作效率的關鍵。
發明內容
本發明要解決的技術問題是提供一種Nandflash控制器,能夠簡化Nandflash控制程序的設計,提高Nandflash控制器的性能。為解決上述技術問題,本發明的Nandflash控制器,包括:一設備接口控制器,用於以某種協議和主控端進行數據傳輸;—設備端DMA (Direct Memory Access,直接存儲器訪問)控制器,與微控制器和所述設備接口控制器相連接,用於控制所述設備接口控制器和系統存儲器之間的數據傳輸;—系統存儲器,用於暫存設備接口控制器和Nandflash DMA控制器之間傳輸的數據,也用於存放當前數據讀寫所使用的地址映射表;一系統存儲器訪問仲裁邏輯模塊,與Nandflash DMA控制器、所述微控制器、設備端DMA控制器和系統存儲器相連接,用於仲裁微控制器、設備接口控制器和Nandflash DMA控制器對系統存儲器的訪問請求;一排序鍊表更新邏輯模塊,與所述微控制器相連接,用於對Nandflash的物理塊按擦寫次數進行動態排序;—排序鍊表存儲器,與所述排序鍊表更新邏輯模塊相連接,用於存放對Nandflash的物理塊按擦寫次數進行排序的排序鍊表;一 Nandflash DMA控制器,與所述微控制器相連接,用於控制所述系統存儲器與Nandflash數據緩存區之間的數據傳輸 ;— Nandflash數據緩存區,與所述Nandflash DMA控制器相連接,用於緩存從所述系統存儲器讀出但來不及寫入Nandflash的數據,和從Nandflash讀出但來不及寫入所述系統存儲器的數據;
— Nandflash接口控制器,與所述Nandflash數據緩存區相連接,用於控制Nandflash數據緩存區和Nandflash之間的數據傳輸;一微控制器,用於控制設備端DMA控制器、系統存儲器訪問仲裁邏輯模塊、Nandflash DMA控制器和排序鍊表更新邏輯模塊。本發明通過在系統硬體中增加排序隊列的控制邏輯,協助軟體完成對Nandflash的物理塊按擦寫次數進行動態排序,將本來由軟體完成的對Nandflash的物理塊按擦寫次數進行排序的繁冗工作,交由系統硬體完成,簡化了 Nandflash控制程序的設計,進而提高了 Nandflash控制器的性能。
圖1是排序鍊表初始化的格式示意圖;圖2是所述Nandflash控制器結構框圖。
具體實施例方式下面結合附圖與具體實施方式
對本發明作進一步詳細的說明:參見圖2所示,所述Nandflash控制器,包括:設備接口控制器、設備端DMA控制器、系統存儲器、系統存儲器訪問仲裁邏輯模塊、排序鍊表更新邏輯模塊、排序鍊表存儲器、Nandflash DMA控制器、Nandflash數據緩存區、Nandflash接口控制器和微控制器;對Nandflash中的物理塊按擦寫次數進行動態排序。其中,設備接口控制器,用於以某種協議和主控端進行數據傳輸;例如:IDE(Integrated Drive Electronics,電子集成驅動器)、USB (Universal Serial Bus,通用串行總線)、SATA (Serial Advanced TechnologyAttachment,串 行高級 技術附件)和 PCIE (Peripheral Component Interconnect Express外設組件互連高速總線)等協議。在系統上電時,將對Nandflash的物理塊按擦寫次數進行排序的排序鍊表從Nandflash中讀出,寫入所述Nandflash控制器的排序鍊表存儲器。系統停止工作時,將對Nandflash的物理塊按擦寫次數進行排序的排序鍊表,從所述Nandflash控制器的排序鍊表存儲器寫回Nandflash中。當系統完成對Nandflash中的一個物理塊的擦寫後,將該物理塊的擦寫次數加I並通知排序鍊表更新邏輯模塊更新排序鍊表。當系統需要查找擦寫次數最大和擦寫次數最小的一個或多個物理塊時,可從排序鍊表更新邏輯模塊中直接獲取。對Nandflash的物理塊進行排序的鍊表結構是,每一物理塊均有對應的鍊表項,每一鍊表項包含兩個指針,一個指針指向當前物理塊的前一個物理塊,另一個指針指向當前物理塊的後一個物理塊。每一物理塊在鍊表中都有4個字節,其含義如下表I所示:
權利要求
1.一種與非型快閃記憶體Nandflash控制器,其特徵在於,包括: 一設備接口控制器,用於以某種協議和主控端進行數據傳輸; 一設備端直接存儲器訪問DMA控制器,與微控制器和所述設備接口控制器相連接,用於控制所述設備接口控制器和系統存儲器之間的數據傳輸; 一系統存儲器,用於暫存所述設備接口控制器和與非型快閃記憶體直接存儲器訪問Nandflash DMA控制器之間傳輸的數據,及用於存放當前數據讀寫所使用的地址映射表;一系統存儲器訪問仲裁邏輯模塊,與與非型快閃記憶體直接存儲器訪問Nandflash DMA控制器、所述微控制器、設備端直接存儲器訪問DMA控制器和系統存儲器相連接,用於仲裁微控制器、設備接口控制器和與非型快閃記憶體直接存儲器訪問Nandflash DMA控制器對所述系統存儲器的訪問請求; 一排序鍊表更新邏輯模塊,與所述微控制器相連接,用於對與非型快閃記憶體Nandflash的物理塊按擦寫次數進行動態排序; 一排序鍊表存儲器,與所述排序鍊表更新邏輯模塊相連接,用於存放對與非型快閃記憶體Nandflash的物理塊按擦寫次數進行排序的排序鍊表; 一與非型快閃記憶體直接存儲器訪問Nandflash DMA控制器,與所述微控制器相連接,用於控制所述系統存儲器與與非型快閃記憶體Nandflash數據緩存區之間的數據傳輸; 一與非型快閃記憶體Nandflash數據緩存區,與所述與非型快閃記憶體直接存儲器訪問NandflashDMA控制器相連接,用於緩存從所述系統存儲器讀出但來不及寫入與非型快閃記憶體Nandflash的數據,和從所述與非型快閃記憶體Nandflash讀出但來不及寫入所述系統存儲器的數據; 一與非型快閃記憶體Nandflash接 口控制器,與所述與非型快閃記憶體Nandflash數據緩存區相連接,用於控制與非型快閃記憶體 Nandflash數據緩存區和與非型快閃記憶體Nandflash之間的數據傳輸; 一微控制器,用於控制設備端直接存儲器訪問DMA控制器、系統存儲器訪問仲裁邏輯模塊、與非型快閃記憶體直接存儲器訪問Nandflash DMA控制器和排序鍊表更新邏輯模塊。
2.如權利要求1所述的與非型快閃記憶體Nandflash控制器,其特徵在於:所述排序表採用鍊表結構;每一物理塊均有對應的鍊表項,每一鍊表項包含兩個指針,一個指針指向當前物理塊的前一個物理塊,另一個指針指向當前物理塊的後一個物理塊。
3.如權利要求1所述的與非型快閃記憶體Nandflash控制器,其特徵在於:所述與非型快閃記憶體Nandflash的物理塊被擦寫完成時,將該物理塊的擦寫次數加I並通知排序鍊表更新邏輯模塊更新排序鍊表。
4.如權利要求3所述的與非型快閃記憶體Nandflash控制器,其特徵在於:所述排序鍊表的更新是指,當完成對與非型快閃記憶體Nandflash中的一個物理塊的內容擦寫後,將被擦寫的物理塊和其擦寫次數寫入排序鍊表更新邏輯模塊中的寄存器。
5.如權利要求1-4任一所述的與非型快閃記憶體Nandflash控制器,其特徵在於:所述排序鍊表更新邏輯模塊,將被擦寫的物理塊從排序鍊表中刪除,刪除操作是將被檫寫物理塊的前一物理塊和後一物理塊連結起來;將被擦寫的物理塊插入排序鍊表中的新位置,排序鍊表更新邏輯模塊從被擦寫物理塊開始向前查找,直到查找到該被擦寫物理塊的擦寫次數大於或者等於排序鍊表中某個擦寫次數對應的物理塊,將被擦寫物理塊插入到該物理塊之後。
6.如權利要求1所述的與非型快閃記憶體Nandflash控制器,其特徵在於:在系統上電時,將對與非型快閃記憶體Nandflash的物理塊按擦寫次數進行排序的排序鍊表從與非型快閃記憶體Nandflash中讀出,寫入所述排序鍊表存儲器; 系統停止工作時,將對與非型快閃記憶體Nandflash的物理塊按擦寫次數進行排序的排序鍊表,從所述排序鍊表存儲器寫回與非型快閃記憶體Nandflash中。
7.如權利要求1所述的與非型快閃記憶體Nandflash控制器,其特徵在於:在使用與非型快閃記憶體Nandflash之前,對所述排序鍊表進行初始化,將與非型快閃記憶體Nandflash的物理塊的擦寫次數全部設為零,從鍊表頭到鍊表尾依次為物理塊N,N-1,N-2,…,3,2,I,並寫入與非型快閃記憶體Nandflash中約定的位置;其中,N為與非型快閃記憶體Nandflash中物理塊的總數,排序鍊表頭初始指向物 理塊N,排序鍊表尾初始指向物理塊O。
全文摘要
本發明公開了一種與非型快閃記憶體Nandflash控制器,包含設備接口控制器、設備端DMA控制器、系統存儲器、系統存儲器訪問仲裁邏輯模塊、排序鍊表更新邏輯模塊、排序鍊表存儲器、Nandflash DMA控制器、Nandflash數據緩存區、Nandflash接口控制器和微控制器。本發明通過在系統硬體中增加排序隊列的控制邏輯,協助軟體完成對Nandflash的物理塊按擦寫次數進行動態排序,簡化了Nandflash控制程序的設計,進而提高了與非型快閃記憶體Nandflash控制器的性能。
文檔編號G06F13/28GK103226530SQ20121002183
公開日2013年7月31日 申請日期2012年1月31日 優先權日2012年1月31日
發明者遲志剛 申請人:上海華虹集成電路有限責任公司