第3圖為依據本發明第三實施例中動態調整不同實體區塊的讀取重試次數閾值之示意圖。 第5圖為依據本發明一實施例中之用於資料儲存裝置的開卡方法之流程圖。 假定一個實體區塊包括4096個實體頁面(例如為第一頁面數量),當處理單元162開始對快閃記憶體180進行開卡作業時,處理單元162一開始會對所選定的目前實體區塊中的第一頁面數量的實體頁面逐一進行讀取操作。 pci 記憶體控制器2025 因此,在總目標開卡時間有限的情況下,處理單元162可依據所估計的開卡時間以動態地調整下一實體區塊所使用的讀取重試次數閾值,使得處理單元162可在設定的目標開卡時間內將快閃記憶體180中的所有實體區塊讀取完畢。 在市面上有許多電子產品會使用次等級快閃記憶體,例如USB隨身碟、快閃記憶卡等等。 此類電子產品在出廠前,需要對次等級快閃記憶體進行開卡(或可稱為初始化)。
- 與異動解析邏輯322解析PCIe TLP 324中之資料有效負載206(及標準屬性中的任一者)實質上並行地,屬 性首碼偵測及解析邏輯328解析TLP首碼202以提取藉由PCIe端點302在圖4之資料結構400中編碼的異動特定之屬性。
- 如請求項1之主機系統,其中該一或多個異動特定之屬性包括由下列各者所構成之羣組中選出的一異動特定之屬性:一指令/資料屬性;一特殊權限/使用者屬性;一直寫屬性;及一排序寫入及排序讀取屬性。
- 在非限制性實例中,PCIe端點302為控制PCIe端點302至302的PCIe切換器302。
- PCIe RC 316經由匯流排介面320接收PCIe TLP 324。
- 若PCIe端點302在初始設定期間不接收來自PCIe RC 316之能力查詢,則PCIe端點302可推斷PCIe RC 316不支援資料結構400(例如,舊式PCIe RC)。
- 舉例而言,可由電壓、電流、電磁波、磁場或磁性粒子、光場或光學粒子或其任何組合表示貫穿以上描述可能提及之資料、指令、命令、資訊、信號、位元、符號及碼片。
如申請專利範圍第6項所述之記憶體控制器,該處理單元係將已讀取的該等實體區塊的一讀取重試次數累積閾值除以一已讀取實體區塊數量以得到已讀取的該等實體區塊的一讀取重試次數平均閾值。 當目前實體區塊的讀取操作完成時,處理單元162可利用類似於第二實施例之方式計算出已經過讀取時間Tpassed及剩餘可使用開卡時間Tremain、以及預測開卡時間Tpredict。 因此,記憶體控制器160所統計的快閃記憶體180中的可用容量資訊係包括在快閃記憶體180在開卡階段中已測試過的實體頁面中可正常進行資料存取的實體頁面的數量。 若讀取的頁面資料中之錯誤位元的數量大於N,則錯誤校正電路168並無法利用頁面資料的錯誤校正碼對頁面資料進行錯誤校正,此時錯誤校正電路168通知記憶體控制器160錯誤校正失敗,此時,控制器160將啟動一讀取重試程序,以嘗試取得可校正的頁面資料。 一種用於將異動特定之屬性自一快速週邊組件互連端點傳輸至一主機系統的方法,其包含:判定一預定主機異動的一或多個異動特定之屬性;在至少一個PCIe異動層封包之一TLP首碼中編碼該一或多個異動特定之屬性;及提供該至少一個PCIe TLP至該主機系統。 如申請專利範圍第16項所述之用於資料儲存裝置的開卡方法,其中該讀取操作閾值為一讀取頁面數量閾值且該讀取操作計數值為一讀取頁面數量。
pci 記憶體控制器: Intel® 驅動程式與支援助理
舉例來說,若目前所選定的實體區塊為正常的實體區塊,則處理單元162理論上會以較少數量的讀取重試次數就可正確讀取此實體區塊中的各實體頁面的頁面資料,意即會花費較少的時間對此實體區塊進行開卡。 然而,在時間限制固定的情況下,若此實體區塊所花費的開卡時間愈少,表示在快閃記憶體180中剩下的實體區塊所能分配到的開卡時間也會愈多。 意即,在快閃記憶體180中剩下的實體區塊可用較高的讀取重試次數閾值以讀取頁面資料,這亦表示有較大的機率以得到正常的實體頁面,進而獲得較大的可用容量。 當處理單元162對正常快閃記憶體中的特定實體頁面進行讀取測試時,往往只需要使用預設讀取閾值電壓(意即讀取頁面資料一次)或是使用數量很少的不同讀取閾值電壓(意即數量很少的讀取重試操作)就可成功地讀取在寫入測試中寫入至特定實體頁面的特定頁面資料。
一般而言,錯誤校正電路168係具有一預定的錯誤校正能力,例如可校正N位元的資料,N的大小視錯誤校正碼的長度而定。 若從特定實體頁面所讀取的頁面資料中之錯誤位元的數量小於或等於N,則錯誤校正電路168可利用所讀取的頁面資料中的錯誤校正碼對頁面資料進行錯誤校正,再將校正後的頁面資料傳送至處理單元162。 在一實施例中,在資料儲存裝置140處於開卡階段(初始化階段)時,記憶體控制器160尚未得知快閃記憶體180中之各實體區塊的各實體頁面的狀態,例如是否為正常的實體頁面或是缺陷實體頁面。 記憶體控制器160會逐一寫入特定頁面資料至所選定的實體頁面,並由該實體頁面讀取頁面資料以判斷讀出的頁面資料是否與寫入的特定頁面資料相符。 若讀出的頁面資料與寫入的特定頁面資料相符,則記憶體控制器係判斷該實體頁面可以正常讀取。
pci 記憶體控制器: Intel® 顯示晶片 – BETA Windows® 10 DCH 驅動程式
舉例來說,16G位元組的快閃記憶體晶粒例如可設定為1小時的目標開卡時間。 若快閃記憶體180包括多個快閃記憶體晶粒,則總目標開卡時間Ttotal即為上述目標開卡時間乘以快閃記憶體180中之快閃記憶體晶粒之數量。 需注意的是,處理單元162每次使用讀取重試表中不同的讀取閾值電壓Vth的設定以讀取特定實體頁面的頁面資料所耗費的時間約略為一固定時間Tr。
此外,本發明之第二實施例及第三實施例的方法可以分開實施,也可以一起實施。 在第二實施例中,處理單元162係採用一時間預算基礎式(time-budget-based)的動態開卡機制以對快閃記憶體180進行開卡。 舉例來說,在總目標開卡時間(即時間限制或時間預算)有限的情況下,處理單元162可動態地調整用於下一個所選定的實體區塊之各實體頁面的讀取重試次數閾值(例如為一上限值),使得處理單元162可在總目標開卡時間內完成次等級快閃記憶體中所有實體區塊的讀取操作,進而避免資料儲存裝置140在開卡後的無可用容量或是可用容量太小。
pci 記憶體控制器: TW202105189A – 記憶體控制器、資料儲存裝置及其開卡方法
Face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
pci 記憶體控制器: 使用技巧
熟習此項技術者亦將理解,可使用各種不同技術及技法中之任一者表示資訊及信號。 舉例而言,可由電壓、電流、電磁波、磁場或磁性粒子、光場或光學粒子或其任何組合表示貫穿以上描述可能提及之資料、指令、命令、資訊、信號、位元、符號及碼片。 就此而言,圖2A為如PCIe規範中所定義的例示性PCIe TLP 200之示意圖。 PCIe TLP 200包括TLP首碼202、TLP標頭204、資料有效負載206及TLP摘要208。
pci 記憶體控制器: 使用技巧
當一特定實體區塊中的一特定實體頁面的讀取重試次數已達到所計算出用於此特定實體區塊的讀取重試次數閾值時,處理單元162則會強制結束此特定實體頁面的開卡階段,並開始進行下一個實體頁面的開卡階段。 pci 記憶體控制器 相對地,在時間限制固定的同樣情況下,若此實體區塊所花費的開卡時間愈多,表示在快閃記憶體180中剩下的實體區塊所能分配到的開卡時間也會愈少。 意即,在快閃記憶體180中剩下的實體區塊需使用較低的讀取重試次數閾值以讀取頁面資料。 對於實際缺陷實體頁面來說,使用較大的讀取重試次數閾值或較小的讀取重試次數閾值,對於最後的判斷結果來說並無區別,因為錯誤校正電路168均無法對所讀取的頁面資料進行錯誤校正以得到正確的頁面資料,故處理單元162會在讀取重試次數達到讀取重試次數閾值後即可提早判斷所選定的實體頁面為缺陷實體頁面。
pci 記憶體控制器: Intel® 顯示晶片 – BETA Windows® 10 DCH 驅動程式
MMU 110經組態以經由內部匯流排112提供匯流排異動122至記憶體控制器108。 主機系統102包括至少一個處理器106、記憶體控制器108及記憶體管理單元110。 處理器106、記憶體控制器108及MMU pci 記憶體控制器2025 110耦接至內部匯流排112(例如,系統網路單晶片匯流排)。
pci 記憶體控制器: TW202105189A – 記憶體控制器、資料儲存裝置及其開卡方法
因應於處理單元162計算出下一讀取頁面數量閾值RPnext,處理單元162即可讀取下一個實體區塊,並使用所計算出的下一讀取頁面數量閾值RPnext以做為讀取頁面數量閾值RP。 此時,處理單元162並更新已讀取實體區塊數量、已經過的讀取時間、以及讀取頁面累積數量RPread的數值。 上述流程會一直重複直到快閃記憶體180中的所有實體區塊的讀取操作均已執行完畢。 若式中所計算出的下一讀取重試次數閾值RNnext並非整數,則可使用四捨五入法或是無條件捨去小數部分以得到整數值。
pci 記憶體控制器: Intel® 驅動程式與支援助理
舉例來說,可先設定一總目標開卡時間,例如為8小時或12小時。 當資料儲存裝置140的開卡過程所花費的時間達到總目標開卡時間時,處理單元162即會停止開卡過程。 此時,處理單元162會統計在快閃記憶體180之已測試過的實體頁面中可正常進行資料存取的實體頁面的數量,並標記已測試過的實體頁面中缺陷實體頁面。 對於在快閃記憶體180未測試過的實體頁面,處理單元162則不會再進行進一步的測試,而是會將快閃記憶體180未測試過的實體頁面視為缺陷實體頁面。 MMU 310包括經組態以自屬性介面318接收異動特定之屬性的屬性轉換器330(圖3中縮寫為AC)。 屬性轉換器330將異動特定之屬性轉換成一或多個匯流排特定之屬性332並提供匯流排特定之屬性332至記憶體控制器308。
pci 記憶體控制器: 使用技巧
就此而言,圖4為PCIe端點302至302中之每一者可使用以在圖2A之PCIe TLP 200之TLP首碼202中編碼圖3之異動特定之屬性以 用於傳輸至圖3之主機系統304的例示性資料結構400之示意圖。 在非限制性實例中,資料結構400包括可緩衝屬性位元402、可快取屬性位元404、讀取分配屬性位元406及寫入分配屬性位元408。 如上文所論述之異動特定之屬性可有助於改良主機系統102之效率及效能。 然而,當記憶體異動源自PCIe端點104至104時,主機系統102具有關於異動(例如,讀取請求、寫入請求、原子操作請求)之性質的有限瞭解,且因此不可判定PCIe端點104至104之異動特定之屬性。 對比而言,PCIe端點104至104瞭解該等異動特定之屬性,但不能傳遞異動特定之屬性至主機系統102,此係由於PCIe規範不提供用於傳輸異動特定之屬性的機制。 因而,可能需要使得PCIe端點104至104能夠傳輸異動特定之屬性至PCIe RC 116同時維持遵從PCIe規範。
2021年WIN7 SM匯流排控制器&PCI記憶體控制器出現黃色 …,2021年5月3日 pci 記憶體控制器 — 但有一兩個驅動程式安裝不順,這時看一下裝置管理員 有三個驚嘆號,試著重開機後,又成功裝了一個,但始終SM 和PCI 控制器無法解決。 亦應注意,描述本文中例示性態樣中之任一者中所描述的操作步驟以提供實例及論述。 此外,描述於單個操作步驟中之操作可實際上以多個不同步驟執行。 應理解,如對於熟習此項技術者而言將容易地顯而易見的是,流程圖圖式中所說明之操作步驟可經受眾多不同修改。
如何實施此功能性視特定應用、設計選擇及/或強加於整個系統之設計約束而定。 對於每一特定應用而言,熟習此項技術者可以變化之方式實施所描述之功能性,但不應將該等實施決策解釋為導致脫離本發明之範疇。 如圖7中所說明,此等器件可包括記憶體系統710、一或多個輸入器件712、一或多個輸出器件714、一或多個網路介面器件716、一或多個顯示控制器718,及圖3之MMU 310作為實例。
pci 記憶體控制器: Intel® 驅動程式與支援助理
特定地,PCIe規範允許定義具有唯一能力識別符之新能力結構。 當PCIe端點302藉由PCIe RC 316偵測時,若PCIe RC 316支援 資料結構400,則PCIe RC 316發送作為初始設定之部分的能力查詢(未圖示)。 若PCIe端點302支援資料結構400,則PCIe端點302以唯一能力識別符回應。 若PCIe端點302不支援資料結構400,則PCIe端點302將忽略來自PCIe RC 316之能力查詢。 若PCIe端點302在初始設定期間不接收來自PCIe RC 316之能力查詢,則PCIe端點302可推斷PCIe RC 316不支援資料結構400(例如,舊式PCIe RC)。
就此而言,圖7說明可支援圖3之主機系統304的基於處理器之系統700之實例。 在此實例中,基於處理器之系統700包括一或多個中央處理單元702,每一者包括一或多個處理器704(例如,圖3之處理器306)。 該(等)CPU 702可具有耦接至該(等)處理器704之快取記憶體706,以供快速存取臨時儲存之資料。 該(等)CPU 702耦接至系統匯流排708,該系統匯流排可為圖3之內部匯流排312。 眾所周知,該 (等)CPU 702藉由經由系統匯流排708交換位址、控制及資料資訊而與其他器件通信。
如申請專利範圍第20項所述之用於資料儲存裝置的開卡方法,其中動態調整該等實體區塊之該讀取操作所使用的一讀取重試次數閾值的步驟更包括: 將已讀取的該等實體區塊的一讀取頁面累積數量除以一已讀取實體區塊數量以得到已讀取的該等實體區塊的一讀取頁面平均數量。 如申請專利範圍第7項所述之記憶體控制器,其中該處理單元並係將該讀取重試次數平均閾值乘以該剩餘可使用開卡時間再除以該預測開卡時間以得到下一讀取重試次數閾值,且將該下一讀取重試次數閾值設定為該目前實體區塊之下一實體區塊的該讀取操作閾值以進行該讀取操作。 第2圖為依據本發明第二實施例中動態調整不同實體區塊的讀取重試次數閾值之示意圖。
在步驟S540,因應於目前實體區塊之讀取操作完成,記憶體控制器160動態調整目前實體區塊之下一實體區塊之讀取操作所使用的讀取操作閾值以使快閃記憶體180的開卡作業在總目標開卡時間內完成。 其中動態調整讀取操作閾值之細節例如可參考第二實施例及第三實施例之內容。 若使用第二實施例中之讀取重試次數閾值做為讀取操作閾值,則對應的讀取操作計數值及讀取操作平均閾值分別為讀取重試次數及讀取重試次數平均閾值。 若使用第三實施例中之讀取頁面數量閾值做為讀取操作閾值,則對應的讀取操作計數值及讀取操作平均閾值分別為讀取頁面數量及讀取頁面數量平均閾值。 意即,在目前實體區塊的讀取操作中,當讀取操作計數值達到讀取操作閾值時,記憶體控制器160即會強制結束目前實體區塊的讀取操作,並更新用於下一個實體區塊的讀取操作閾值。
在一些實施例中,錯誤校正電路168係包括一低密度奇偶檢查碼(low-density parity-check code,LDPC)錯誤校正引擎(第1圖未繪示)、及/或一BCH碼校正引擎(第1圖未繪示),但本發明並不限於此。 由程式碼及資料所組成韌體由處理單元162執行,記憶體控制器160基於該韌體控制該快閃記憶體180。 使用動態隨機存取記憶體166以儲存程式碼、設定參數、暫時資料及邏輯至實體位址映射表,可改善系統的效能。 在一些實施例中,動態隨機存取記憶體166為非必要,且處理單元162例如可使用記憶體控制器160中的靜態隨機存取記憶體(未繪示)或主機記憶體緩存(Host Memory Buffer,HMB)以儲存程式碼、設定參數、暫時資料及邏輯至實體位址映射表。 該主機系統包括匯流排介面,其經組態以耦接至複數個PCIe端點以接收包括TLP首碼之至少一個PCIe TLP。
MMU 110及/或記憶體控制器108可基於指令/資料屬性判定執行匯流排異動指令而非檢查讀取/寫入權限。 特殊權限/使用者屬性指示匯流排異動122係使用者模式抑或係特殊權限模式存取。 MMU 110及/或記憶體控制器108可使用特殊權限/使用者屬性以判定記憶體存取權限。 直寫屬性指示快取記憶體(未圖示)應將匯流排異動122處置為直寫抑或寫回。 直寫屬性可由主機系統102中之多種快取記憶體(例如,系統快取記憶體、2級快取記憶體等)使用。 pci 記憶體控制器 排序寫入及排序讀取屬性指示並行匯流排異動(寫入或讀取)需要被排序。
pci 記憶體控制器: Intel® 顯示晶片 – BETA Windows® 10 DCH 驅動程式
根據本文所揭示之態樣的圖3之主機系統304可在任何基於處理器的器件中提供或整合至任何基於處理器的器件中。 雖然所有此等器件可得益於本發明,但依賴於無線連接並具有RFFE匯流排的器件將看到自使用本發明之態樣得到最大益處。 屬性首碼偵測及解析邏輯328經組態以自匯流排介面320接收PCIe TLP 324並偵測接收之PCIe TLP 324中的TLP首碼202。 與異動解析邏輯322解析PCIe TLP 324中之資料有效負載206(及標準屬性中的任一者)實質上並行地,屬 性首碼偵測及解析邏輯328解析TLP首碼202以提取藉由PCIe端點302在圖4之資料結構400中編碼的異動特定之屬性。 屬性首碼偵測及解析邏輯328接著提供異動特定之屬性至屬性介面318。 PCIe RC 316經由匯流排介面320接收PCIe TLP 324。
pci 記憶體控制器: TW202105189A – 記憶體控制器、資料儲存裝置及其開卡方法
如申請專利範圍第10項所述之記憶體控制器,其中該處理單元係將該讀取頁面平均數量乘以該剩餘可使用開卡時間再除以該預測開卡時間以得到下一讀取頁面數量閾值,並將該下一讀取頁面數量閾值設定為該目前實體區塊之下一實體區塊的該讀取操作閾值以進行該讀取操作。 在步驟S530,記憶體控制器160從該等實體區塊中依序選擇一目前實體區塊以進行快閃記憶體180的一開卡作業,並依據一讀取操作閾值對目前實體區塊進行讀取操作。 上述讀取操作閾值例如可為第二實施例中之讀取重試次數閾值或是第三實施例中之讀取頁面數量閾值。 如第3圖所示,處理單元162係依序對實體區塊301~308執行開卡作業,且實體區塊301~304均具有較多的缺陷實體頁面數量,實體區塊305~308具有較少的缺陷實體頁面數量。 若實體區塊301的讀取頁面數量閾值RP為4096,經過本發明第三實施例之方法計算後,可得到用於實體區塊302的讀取讀取頁面數量閾值RP為4010次。