[發明專利]指令處理方法及使用所述方法的存儲控制器在審
| 申請號: | 201811337070.0 | 申請日: | 2018-11-12 |
| 公開(公告)號: | CN111176728A | 公開(公告)日: | 2020-05-19 |
| 發明(設計)人: | 廖世田 | 申請(專利權)人: | 深圳大心電子科技有限公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 北京同立鈞成知識產權代理有限公司 11205 | 代理人: | 吳志紅;臧建明 |
| 地址: | 518057 廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 指令 處理 方法 使用 存儲 控制器 | ||
本發明提出一種指令處理方法及存儲控制器。指令處理方法包括:通過存儲控制器的指令處理池接收多個讀取修改寫入指令,每個讀取修改寫入指令包括成對的讀取指令及寫入指令;指令處理池鎖定佇列并將指令處理池中的讀取修改寫入指令的待處理的第一讀取指令傳送到佇列;當與讀取修改寫入指令的第二寫入指令的成對的第二讀取指令為待處理時,則指令處理池不鎖定佇列且第二寫入指令不被傳送到佇列;以及當與讀取修改寫入指令的第三寫入指令的成對的第三讀取指令不為待處理時,指令處理池鎖定佇列且第三寫入指令被傳送到佇列。
技術領域
本發明涉及一種指令處理方法及使用所述方法的存儲控制器,尤其涉及一種能避免死結的指令處理方法及使用所述方法的存儲控制器。
背景技術
在基于反及柵快閃存儲器(NAND flash)的存儲裝置的技術領域中,反及柵快閃存儲器的顆粒(die)通常會形成一個二維陣列用于大容量需求及高速存取需求。為了處理復雜且低延遲的數據存取,現有的存儲控制器幾乎采用多個中央處理器(CentralProcessing Unit,CPU)及多個指令佇列以控制反及柵快閃存儲器的顆粒的讀取、程序化及抹除等操作。在現有的存儲控制器的設計中,一個指令佇列通常設計來排程一個顆粒的讀取命令、程序化命令及抹除命令等。多個中央處理器會用于處理同時從主機系統所接收的讀取命令、程序化命令及抹除命令等。
邏輯轉實體表項目(L2P table entry)所尋址(addressed)的數據大小通常會大于邏輯區塊地址(Logic Block Address,LBA)的大小。在此,邏輯轉實體表項目也可稱為邏輯區塊數(Logic Block Number,LBN)。舉例來說,常見的邏輯區塊地址大小為512字節(bytes)且一個邏輯轉實體表項目所尋址的數據大小為4096字節。也就是說,連續的八個512字節的邏輯區塊地址構成一個邏輯區塊數。在這種情況下,當寫入指令對應的寫入數據大小不是4096字節的倍數,或是寫入指令的結束邏輯區塊地址沒有對齊在8的倍數上的時候,快閃存儲器轉譯層(Flash Translation Layer,FTL)必須執行讀取修改寫入(Read-Modify-Write,RMW)程序。
讀取修改寫入程序包括以下步驟:從實體地址讀取對應的邏輯區塊數數據(LBNdata)到隨機存取存儲器(Random Access Memory,RAM);將對應邏輯區塊地址的最新數據從主機寫入隨機存取存儲器;以及將新的邏輯區塊數數據寫入實體地址。在讀取修改寫入程序的以上三個步驟中,有兩個實體地址存取操作。也就是第一個步驟中的讀取操作及第三個步驟中的程序化操作。因此,當存儲控制器的兩個中央處理器同時執行讀取修改寫入程序時,就可能發生死結(deadlock)。
以圖1為例,存儲控制器100可耦接到快閃存儲器陣列150。快閃存儲器陣列150可分別對應到指令佇列110,例如D11對應Q11、D21對應Q21、D2n對應Q2n等等。存儲控制器100具有多個處理器120。處理器120會將指令傳送到指令佇列110。每個D11到D2n可包括一到多個邏輯單元號(Logic Unit Number,LUN),而一個邏輯單元號可為一個顆粒。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳大心電子科技有限公司,未經深圳大心電子科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811337070.0/2.html,轉載請聲明來源鉆瓜專利網。





