TWI525631B - 儲存裝置及其操作方法 - Google Patents

儲存裝置及其操作方法 Download PDF

Info

Publication number
TWI525631B
TWI525631B TW101142519A TW101142519A TWI525631B TW I525631 B TWI525631 B TW I525631B TW 101142519 A TW101142519 A TW 101142519A TW 101142519 A TW101142519 A TW 101142519A TW I525631 B TWI525631 B TW I525631B
Authority
TW
Taiwan
Prior art keywords
storage
ssd
storage device
command
firmware
Prior art date
Application number
TW101142519A
Other languages
English (en)
Other versions
TW201333964A (zh
Inventor
卡爾 大衛 史裘
卡爾 環 姚 寇
亞洛瑟士C 愛旭利 威傑雅羅南
史提芬 賈氏奇
賽得 歐姆拉
蘇密特 普利
傑瑞米 伊薩克 那薩尼爾 華納
Original Assignee
Lsi公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lsi公司 filed Critical Lsi公司
Publication of TW201333964A publication Critical patent/TW201333964A/zh
Application granted granted Critical
Publication of TWI525631B publication Critical patent/TWI525631B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • G11C29/16Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0407Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals on power on
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/06Acceleration testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Storage Device Security (AREA)

Description

儲存裝置及其操作方法
需要快閃記憶體儲存技術及製造之進展以提供成本、獲利性、效能、效率及使用效用之改良。
在隨附申請案資料列表、請求書或傳送信中進行本申請案之優先權權益主張(若存在,在適當時)。在本申請案之類型准許之情況下,本申請案出於所有目的而以引用方式併入有以下申請案(其在作出本發明時全部與本申請案共同擁有):2012年3月30日提出申請、第一發明人為Karl David SCHUH且標題為「Solid-State Disk Manufacturing Self Test」之美國非臨時申請案(代理人檔案號為SF-11-21且序號為13/436,639);及2011年11月14日提出申請、第一發明人為Thad OMURA且標題為「Virtual Drive Manufacturing Model」之美國臨時申請案(代理人檔案號為SF-11-17且序號為61/559,201)。
除非明確識別為公眾習知或眾所周知,否則本文中提及之出於上下文、定義或比較目的而包含之技術及概念不應視為承認此等技術及概念系先前公眾習知或以其他方式作為先前技術之部分。本文中所述之包含專利、專利申請案及公開案之全部參考文獻(若存在)皆出於所有目的而以全文引用之方式明確地或不明確地併入本文中。
本發明可以眾多方式實施,例如,作為一處理程序、一製造物件、一設備、一系統、一物質組合物及諸如一電腦可讀儲存媒體之一電腦可讀媒體(例如,一光學及/或磁性大容量儲存裝置中之媒體,諸如一磁碟、具有諸如快閃記憶體儲存之非揮發性儲存之一積體電路)或其中在光學或電子通信鏈路上發送程式指令之一電腦網路。[實施方式]提供本發明之達成在上文所識別領域中之成本、獲利性、效能、效率及使用效用之改良的一或多個實施例之一解釋。[實施方式]包含一導論以促進對[實施方式]之其餘部分之理解。該導論包含根據本文中所闡述之概念之系統、方法、製造物件及電腦可讀媒體中之一或多者之實例性實施例。如在總論中更詳細地論述,本發明涵蓋在所發佈之申請專利範圍之範疇內的所有可能修改及變化。
結合圖解說明本發明之選定細節之附圖在下文中提供本發明之一或多個實施例之一詳細說明。本發明係連同該等實施例一起闡述。本文中之實施例應理解為僅係例示性的,本發明明確地不限於或受限於本文中實施例中之任一者或全部,且本發明涵蓋眾多替代、修改及等效物。為避免解釋之單調性,可將多種措詞標籤(諸如:第一、最後、某一(些)、各種、進一步、其他、特定、選擇、某一(些)及顯著的)應用於單獨組之實施例;如本文所使用,此等標籤明確地不意在表達品質或任何形式之偏好或偏見,而僅在該等單獨組之間便利地加以區分。所揭示處理程序 之某些操作之次序在可本發明之範疇內更改。儘管多個實施例起到闡述處理程序、方法及/或程式指令特徵中之變化之作用,但亦預計根據一預定準則或一動態判定之準則執行分別對應於複數個該多個實施例之複數個操作模式中之一者之靜態及/或動態選擇之其他實施例。在以下說明中陳述眾多特定細節以提供對本發明之一透徹理解。出於舉例目的提供該等細節,且可在不具有該等細節中之某些或全部之情況下根據申請專利範圍來實踐本發明。出於清晰目的,並未詳細闡述關於本發明之技術領域所習知之技術材料,以便不會不必要地使本發明模糊。
導論
本文僅出於促進更快速地理解[實施方式]之目的而包含此導論;本發明不限於該導論中所呈現之概念(若存在,包含明確實例),此乃因任何導論之段落係整個主題之一示意圖,且不意在係一窮盡性或限制性說明。舉例而言,下文之導論提供由空間所限之概略資訊及對僅某些實施例之組織。貫穿該說明書均衡地論述諸多其他實施例,包含申請專利範圍將最終涉及之彼等實施例。
縮寫字
本文所定義之各種簡寫縮略語(例如,縮寫字)中之至少某些係指本文中所使用之某些元件。
一SSD MST能力使得一SSD製造商能夠定義且準備用於一SSD之測試、對SSD之產品例項運行該等測試及在完成該等測試之後收集運行結果。該製造商在無SSD之內部操作之任何特定知識(諸如SSD如何實施測試之元素)之情況下形成該等測試,且根據目標產品及/或品質保證要求定製該等測試。該等測試視情況(如製造商定義)採用以下各項中之一或多者:測試參數、順序及允出準則。除選用測試之外,該等測試亦係由SSD實施之預定義及/或內建測試(例如,如由諸如一ATA SMART協定之一儲存介面協定啟動)。
測試之定義及準備包含產生一測試指令碼且將該指令碼 載入至產品SSD上。運行包含使產品SSD開啟電源且產品SSD自身執行該經載入指令碼。該開啟電源及自執行係(例如)在耦合至載入該指令碼之一主機時、在耦合至不能夠將該指令碼載入至該SSD但能夠提供電力至該SSD之一機架或在耦合至能夠提供電力之某一其他組件時。該機架視情況減少成本以達成用於生產之相當較大量SSD之成本高效平行測試。結果收集包含讀取自執行之結果(例如,一事件記錄及壞區塊資訊)且使產品SSD準備供客戶使用。準備包含安全地抹除該等產品SSD,清除該等結果中之某些結果(例如,事件記錄)及使該等結果中之某些結果(例如,壞區塊資訊)保留完整。
SSD能夠接收測試(例如,經由主機寫入SSD之一「輸入」SMART記錄)、執行測試之命令(例如,經由韌體自該輸入SMART記錄讀取命令)及提供結果(例如,經由韌體寫入至SSD之一「輸出」SMART記錄)。SSD能夠經由硬體、軟體及韌體中之一或多者執行該接收、該執行及該提供。命令包含寫入硬碟機、抹除硬碟機、SATA PHY燒錄、延遲及應力模式。該等命令中之任何一或多者具有零或零以上個參數(例如)以規定命令之操作。
在某些實施例及/或使用情景中,SSD MST能力結合一SSD虛擬製造模型一起使用。在某些例項中,SSD MST能力由製造SSD之一系統供應商使用(例如,在該系統供應商使用一虛擬硬碟機制造模型之上下文中)。
一虛擬硬碟機制造模型使得一系統供應商能夠直接採購 用於儲存裝置之製造之選定材料(諸如記憶體裝置)。與其中系統供應商自一儲存裝置供應商採購儲存裝置(使用選定材料)之技術相比,直接採購消除選定材料之一差額加碼(例如,差額重疊)。除記憶體裝置以外,其他實例性選定材料亦包含電源供應器、溫度感測器、殼體、印刷電路板及被動組件。針對一特定實例,選定材料係諸如NVM(例如,快閃記憶體裝置)之記憶體裝置,且儲存裝置係SSD。一設計供應商實施一SSD控制器及相關聯韌體連同一參考設計、供用於參考設計及該SSD控制器之所推薦及/或所支援之快閃記憶體裝置之一清單以及(視情況)達成使用該SSD控制器所建造之儲存裝置之大量生產之製造軟體。設計供應商為系統供應商視情況及/或選擇性地提供行銷推廣品、工程資訊、工程樣本、製造軟體及/或測試/檢定服務以使得系統供應商能夠使用SSD控制器、韌體、來自清單之快閃記憶體裝置及其他材料根據參考設計直接地(或間接地)執行SSD之大量生產。
在各種實施例及/或使用情景中,由設計供應商實施之SSD控制器及/或韌體能夠與來自複數個快閃記憶體供應商之快閃記憶體裝置一起操作。與來自複數個快閃記憶體供應商之快閃記憶體裝置一起操作係經由(舉例而言)根據所使用快閃記憶體而變化操作介面協定、讀取、寫入及/或抹除技術、參數及/或特性來達成。與來自複數個快閃記憶體供應商之快閃記憶體裝置一起操作係進一步經由(針對另一實例)根據各種錯誤復原碼來管理快閃記憶體裝置 之管理演算法。
在各種實施例及/或使用情景中,由設計供應商實施之SSD控制器及/或韌體能夠各種大小配量(quanta)之主機LB一起操作,從而達成可與各種LB大小一起操作之SSD產品(諸如用於企業及/或雲端使用情景)以及可與一單個LB大小一起操作之SSD產品(諸如用於工業及/或用戶端使用情景)。在各種實施例及/或使用情景中,由設計供應商實施之SSD控制器及/或韌體能夠實施各種能力(諸如用於企業、雲端、及/或用戶端使用情景)之SSD。
在某些實施例中,諸如一SSD之一I/O裝置包含一SSD控制器。SSD控制器充當SSD之主機介面與NVM之間的一橋接器,且執行經由SSD之一主機介面自一計算主機發送之一主機協定之命令。該等命令中之至少某些命令引導SSD寫入及讀取NVM,其中分別係自計算主機發送資料及將資料發送至計算主機。在進一步之實施例中,SSD控制器能夠使用一映射來在主機協定之LBA與NVM中之實體儲存位址之間轉譯。在進一步之實施例中,該映射之至少一部分用於I/O裝置之私用儲存(對計算主機不可見)。舉例而言,不可由計算主機存取之LBA之一部分由I/O裝置使用以管理對記錄、統計資料或其他私用資料之存取。
根據各種實施例,該映射係以下各項中之一或多者:一單階映射;一雙階映射;一多階映射;一直接映射;一相關聯映射;及用於使主機協定之LBA與NVM中之實體儲存位址相關聯之任何其他手段。舉例而言,在某些實施例 中,一雙階映射包含使一LBA之一第一功能與複數個第二階映射頁中之一者之NVM中之一各別位址相關聯之一第一階映射,且該等第二階映射頁中之每一者使該LBA之一第二功能與對應於該LBA之資料之NVM中之一各別位址相關聯。在進一步之實施例中,LBA之第一功能及LBA之第二功能之一實例係在除以第二階映射頁中之每一者中所包含之項目之一固定數目時獲得之一商及一餘數。複數個第二階映射頁統稱為一第二階映射。本文中,提及一映射之一或多個項目係指任何類型之映射之一或多個項目,包含一單階映射、一雙階映射之一第一階、一雙階映射之一第二階、一多階映射之任何階或具有若干項目之任何其他類型之映射。
根據各種實施例,一第二階映射(或一多階映射之一較低階)之映射頁中之每一者達成以下各項中之一或多者:包含與該等映射頁中之其他映射頁相同之數目個項目;包含與該等映射頁中之至少某些其他映射頁不同之數目個項目;包含與該等映射頁中之其他映射頁相同之一細微度之項目;包含與該等映射頁中之其他映射頁不同之一細微度之項目;包含全部具有一相同細微度之項目;包含具有多個細微度之項目;包含規定該映射頁之內容之一格式及/或佈局之一各別標頭;及具有用以表示該映射頁之項目之任何其他格式、佈局或組織。舉例而言,一第一第二階映射頁具有每項目4 KB之一細微度之一規格,且一第二第二階映射頁具有每項目8 KB之一細微度之一規格且僅具有該 第一第二階映射頁的一半之項目。
在進一步之實施例中,一較高階映射之項目可包含對應較低階映射頁之資訊之格式及/或佈局。舉例而言,一第一階映射中之項目中之每一者包含針對相關聯之第二階映射頁中之項目之一細微度規格。
在某些實施例中,該映射包含複數個項目,該等項目中之每一者使一或多個LBA與選擇性地包含其中儲存LBA之資料之NVM中之一各別位置之資訊相關聯。舉例而言,LBA規定512 B磁區,且映射中之每一項目與LBA之一經對準之八磁區(4 KB)區相關聯。
根據各種實施例,映射之項目之資訊包含以下各項中之一或多者:NVM中之一位置;NVM中之一讀取單位之一位址;經讀取以獲得儲存於NVM中之相關聯之LBA之資料之讀取單位之一數目;儲存於NVM中之相關聯之LBA之資料之一大小,該大小具有視情況及/或選擇性地大於一個位元組之一細微度;相關聯之LBA之資料不存在於NVM中(諸如,由於相關聯之LBA之資料經修整)之一指示;相關聯之LBA之資料之一性質及相關聯之LBA之資料之任何其他後設資料、性質或本性。
在某些實施例中,將NVM中之位址分組成若干區以減少表示該等位址中之一者所需之位元之一數目。舉例而言,若將I/O裝置之LBA劃分成64個區且將NVM劃分成64個區(針對LBA區中之每一者具有一個區),則與一特定LBA相關聯之一映射項目需要六個較少位址位元,此乃因NVM中 之區中之一者能夠藉由特定LBA之區判定。根據各種實施例,LBA之區與NVM之區之間的一關聯性係藉由以下各項中之一或多者:相等;一直接關聯性,諸如1對1數值函數;一表查找;一動態映射;及用於使兩組數目相關聯之任何其他方法。
在各種實施例中,NVM中之位置包含複數個讀取單位中之一者之一位址,以及讀取單位之一長度及/或一跨度。長度係儲存於NVM中之複數個資料項中之一特定者之一大小,該特定資料項與包含該長度之映射之項目相關聯。根據各種實施例,長度具有以下各項中之一或多者之一細微度:一個位元組;一個以上位元組;一個讀取單位;一讀取單位之一規定分率;根據資料項中之一者之一最大允許壓縮率之一細微度;及用以追蹤儲存使用之任何其他細微度。跨度係儲存特定資料項之一各別部分之讀取單位之一數目,諸如讀取單位之一整數。在進一步之實施例及/或使用情景中,讀取單位之跨度中之一第一讀取單位及/或讀取單位之跨度中之一最後讀取單位視情況及/或選擇性地儲存資料項中之多個資料項中之某些或全部資料項。在某些實施例及/或使用情景中,長度及/或跨度係(諸如)藉由將長度(在其中長度及/或跨度經編碼之一上下文中有時稱為大小)儲存為自跨度之一位移而經編碼方式儲存。在某些實施例及/或使用情景中,長度及/或跨度之未使用編碼編碼額外資訊,諸如關於一相關聯資料項是否存在於NVM中之一指示。
編碼NVM中之位置作為一位址及一長度使得儲存於NVM中之資料能夠在大小上變化。舉例而言,一第一4 KB區經壓縮成400 B大小,經完全儲存於一單個讀取單位中(例如,具有一個讀取單位之一跨度),且具有一個讀取單位之一長度,而一第二4 KB區不可壓縮,經完全儲存於一個以上讀取單位中(例如,具有一個以上讀取單位之一跨度),且具有一個以上讀取單位之一長度。針對另一實例,一第三2 KB區經壓縮成1 KB大小,經跨越兩個讀取單位儲存儲存(例如,具有兩個讀取單位之一跨度),且具有一個讀取單位之一長度,而一第四1 KB區不可壓縮,但經儲存於一個讀取單位中(例如,具有一個讀取單位之一跨度),且具有一個讀取單位之一長度。在進一步之實施例中,具有與LBA之一區相關聯的儲存之讀取單位之一長度及/或跨度使得能夠僅讀取擷取LBA之區之資料所需之NVM之一部分。
在某些實施例中,映射之項目中之每一者包含規定與該項目相關聯之LBA之一區之性質之資訊(有時稱為後設資料)。在進一步之實施例中,該後設資料中之至少某些後設資料具有比該區之細微度精細之一細微度,諸如藉由針對該區之複數個LBA中之每一者具有單獨後設資料規格。
在某些實施例中,在NVM中存取大小不一的配量之經壓縮資料在某些使用情景中提供經改良之儲存效率。舉例而言,一SSD控制器自一計算主機接收(經解壓縮)資料(例如,與一磁碟寫入命令相關)、壓縮該資料且將經壓縮資 料儲存至快閃記憶體中。回應於來自該計算主機之一後續請求(例如,與一磁碟讀取命令相關),SSD控制器自該快閃記憶體讀取經壓縮資料、將經壓縮資料解壓縮且將經解壓縮資料提供至該計算主機。根據大小不一的配量將經壓縮資料儲存於快閃記憶體中,該配量大小變化歸因於(例如)壓縮演算法、操作模式及對各種資料之壓縮有效性。SSD控制器部分地藉由查閱一所包含映射表來解壓縮資料以判定將標頭儲存於快閃記憶體中何處。SSD控制器剖析自快閃記憶體獲得之標頭以判定將適當(經壓縮)資料儲存於快閃記憶體中何處。SSD控制器解壓縮來自快閃記憶體之適當資料以產生經解壓縮資料以提供至計算主機。在本申請案中,解壓縮(uncompress)(及其變型)與解除壓縮(decompress)(及其變型)同義。
在各種實施例中,一SSD控制器包含:一主機介面,其用於與一計算主機介接;一介面,其用於與諸如快閃記憶體之NVM介接;及電路,其用於控制該等介面且執行(及/或控制該執行之各種態樣)壓縮及解壓縮,以及較低階冗餘及/或錯誤校正、較高階冗餘及/或錯誤校正及藉助獨立矽元件之動態較高階冗餘模式管理。
根據各種實施例,某些主機介面與以下各標準中之一或多者相容:一USB介面標準、一CF介面標準、一MMC介面標準、一eMMC介面標準、一Thunderbolt介面標準、一UFS介面標準、一SD介面標準、一記憶卡介面標準、一xD圖片卡介面標準、一IDE介面標準、一SATA介面標準、一 SCSI介面標準、一SAS介面標準及一PCIe介面標準。根據各種實施例,計算主機係以下各項之全部或任何部分:一電腦、一工作站電腦、一伺服器電腦、一儲存伺服器、一SAN、一NAS裝置、一DAS裝置、一儲存器具、一PC、一膝上型電腦、一筆記型電腦、一小筆電電腦、一平板裝置或電腦、一超輕薄筆記型電腦、一電子閱讀裝置(諸如一電子閱讀器)、一PDA、一導航系統、一(手持式)GPS裝置、一汽車控制系統、一汽車媒體控制系統或電腦、一印表機、影印機或傳真機或一體式裝置、一POS裝置、一收銀機、一媒體播放器、一電視機、一媒體記錄器、一DVR、一數位相機、一蜂巢式手機、一無線電話手機及一電子遊戲機。在某些實施例中,一介接主機(諸如,一SAS/SATA橋接器)操作為一計算主機及/或操作為至一計算主機之一橋接器。
在各種實施例中,SSD控制器包含一或多個處理器。該等處理器執行韌體以控制及/或執行SSD控制器之操作。SSD控制器與計算主機通信以發送及接收命令及/或狀態以及資料。該計算主機執行一作業系統、一驅動程式及一應用程式中之一或多者。計算主機與SSD控制器之通信係視情況及/或選擇性地經由驅動程式及/或經由應用程式進行的。在一第一實例中,與SSD控制器之所有通信皆係經由驅動程式進行的,且應用程式將較高階命令提供至驅動程式,驅動程式將該等較高階命令轉譯成用於SSD控制器之特定命令。在一第二實例中,驅動程式實施一繞過模式且 應用程式能夠經由驅動程式將特定命令發送至SSD控制器。在一第三實例中,一PCIe SSD控制器支援一或多個虛擬函式(VF),使得一應用程式(一旦組態)繞過驅動程式與SSD控制器直接通信。
根據各種實施例,某些SSD與由磁性及/或光學非揮發性儲存器件(諸如,HDD、CD硬碟機及DVD硬碟機)所使用之外觀尺寸、電介面及/或協定相容。在各種實施例中,SSD使用以下各項之各種組合:零或零以上同位碼、零或零以上RS碼、零或零以上BCH碼、零或零以上維特比(Viterbi)或其他格狀碼及零或零以上LDPC碼。
實例性實施例
在結束詳細說明之導論後,接下來是實例性實施例之一集合,包含至少某些明確地列舉為「EC(實例組合)」之實例性實施例,提供根據本文中所闡述之概念之多種實施例類型之額外說明;此等實例不意在係彼此排外性、窮盡性或限制性的;且本發明不限於此等實例性實施例,而是涵蓋在所發佈申請專利範圍及其等效物之範疇內的所有可能的修改及變化。
EC1)一種系統,其包括:用於提供一密碼編譯密鑰以使得能夠自一經加密FW儲存庫將韌體(FW)解密為一或多個影像之構件,該等影像與包含於根據一I/O裝置參考設計建構之一I/O裝置中之一I/O裝置控制器相容;用於提供對該經加密FW儲存庫之存取之構件;且 其中該I/O裝置包括選自一組件清單之組件,該清單係與該FW、該I/O裝置控制器及該I/O裝置參考設計相容之組件。
EC2)如EC1之系統,其中用於提供該密碼編譯密鑰之該構件包括用於使該密碼編譯密鑰可用於一企業以將該FW解密為該等影像之構件,且用於提供存取之該構件包括用於使該經加密FW儲存庫可用於該企業之構件。
EC3)一種系統,其包括:用於提供對一經加密韌體(FW)儲存庫之存取以使得能夠經由一密碼編譯密鑰自該經加密FW儲存庫將FW解密為一或多個影像之構件,該等影像與包含於根據一I/O裝置參考設計建構之一I/O裝置中之一I/O裝置控制器相容;用於提供與該FW、該I/O裝置控制器及該I/O裝置參考設計相容之組件之一清單之構件;且其中該I/O裝置包括選自該清單之組件。
EC4)如EC3之系統,其中用於提供存取之該構件使得一企業能夠執行該解密。
EC5)一種系統,其包括:用於將一I/O裝置參考設計提供至一代理商之構件;用於將對一組件清單之存取提供至該代理商之構件;用於將以下各項中之任何一或多者提供至該代理商之構件對一經加密韌體(FW)儲存庫之存取,一密碼編譯密鑰,其使得能夠自該經加密FW儲存庫將 FW解密為一或多個影像,一I/O裝置控制器,該等影像與該I/O裝置控制器及該I/O裝置參考設計相容,及一製造軟體工具,其使得能夠將該等影像中之一者下載至一I/O裝置之一原型設計及/或製造例項中;其中該清單之該等部件中之每一者與該等影像、該I/O裝置控制器及該I/O裝置參考設計相容;且其中用於提供之該三個構件之結果至少部分地使得該代理商能夠根據選自該清單之組件生產該I/O裝置。
EC6)如EC5之系統,其中該代理商包括一企業。
EC7)一種系統,其包括:用於將與一I/O裝置控制器相容之韌體(FW)下載至根據一I/O裝置參考設計建構且包含該I/O裝置控制器之一I/O裝置中之構件;用於使該FW個人化之構件;其中該I/O裝置包括選自一組件清單之組件,該清單係與該FW、該I/O裝置控制器及該I/O裝置參考設計相容之組件;且其中該FW係使用一密碼編譯密鑰自一經加密FW儲存庫解密之一或多個影像中之一者。
EC8)一種系統,其包括:用於接收一密碼編譯密鑰之構件;用於至少部分地經由該所接收密碼編譯密鑰自一經加密FW儲存庫將韌體(FW)解密為一或多個影像之構件,該等 影像與根據一I/O裝置參考設計建構且包含該I/O裝置控制器之一I/O裝置相容;且其中該I/O裝置包括選自一組件清單之組件,該清單係與該FW、該I/O裝置控制器及該I/O裝置參考設計相容之組件。
EC9)如EC1、EC3、EC5、EC7或EC8之系統,其進一步包括用於一相同企業實體以使該I/O裝置參考設計、該I/O裝置控制器、該清單、該經加密FW儲存庫及該密碼編譯密鑰可用之一構件。
EC10)如EC1、EC3、EC5、EC7或EC8之系統,用於一相同企業實體以使該I/O裝置參考設計、該I/O裝置控制器、該清單、該經加密FW儲存庫及該密碼編譯密鑰中之任何一或多者可用之一構件。
EC11)如EC9或EC10之系統,其中用於使可用之該構件之任何或所有部分至少部分地經由以下各項中之任何一或多者實施電子郵件,一或多個可延伸標記語言(XML)註解之規範及/或基於XML之形式,一或多個伺服器對伺服器異動,使用網際網路之企業對企業自動系統,一多層列之基於網際網路商務之伺服器之任何一或多個層列,一或多個網頁、資料庫及/或應用程式伺服器,及 一或多個網頁、資料庫及/或應用程式指令碼、程式及/或應用程式。
EC12)如EC1、EC3、EC5、EC7或EC8之系統,其中該等選定組件包括來自複數個非揮發性記憶體裝置製造商之非揮發性記憶體裝置。
EC13)如EC12之系統,其中該I/O裝置包括一固態硬碟(SSD),該I/O裝置控制器包括一SSD控制器,該I/O裝置參考設計包括一SSD參考設計,該等非揮發性記憶體裝置包括固態記憶體裝置,且該等非揮發性記憶體裝置製造商包括固態記憶體裝置製造商。
EC14)一種方法,其包括:提供一密碼編譯密鑰以使得能夠自一經加密FW儲存庫將韌體(FW)解密為一或多個影像,該等影像與包含於根據一I/O裝置參考設計建構之一I/O裝置中之一I/O裝置控制器相容;且其中該I/O裝置包括選自一組件清單之組件,該清單係與該FW、該I/O裝置控制器及該I/O裝置參考設計相容之組件。
EC15)如EC14之方法,其中該提供該密碼編譯密鑰包括使該密碼編譯密鑰可用於一企業以使得該企業能夠將該FW解密為該等影像。
EC16)一種方法,其包括:提供對一經加密韌體(FW)儲存庫之存取以使得能夠經由一密碼編譯密鑰自該經加密FW儲存庫將FW解密為一或多 個影像,該等影像與包含於根據一I/O裝置參考設計建構之一I/O裝置中之一I/O裝置控制器相容;且其中該I/O裝置包括選自一組件清單之組件,該清單係與該FW、該I/O裝置控制器及該I/O裝置參考設計相容之組件。
EC17)如EC16之方法,其中該提供對該經加密FW之存取包括使該經加密FW可用於一企業以使得該企業能夠經由該密碼編譯密鑰將該FW解密為該等影像。
EC18)一種方法,其包括:將元素提供至一代理商,該等元素包括以下各項中之任何一或多者對一經加密韌體(FW)儲存庫之存取,一密碼編譯密鑰,其使得能夠自該經加密FW儲存庫將FW解密為一或多個影像,一I/O裝置參考設計,一I/O裝置控制器,該等影像與該I/O裝置控制器及該I/O裝置參考設計相容,及對係與該等影像、該I/O裝置控制器及該I/O裝置參考設計相容之組件之一清單之存取,一製造軟體工具,其能夠將該等影像中之一者下載至一I/O裝置之一原型設計及/或製造例項中;且其中該所提供原件使得該代理商能夠根據選自該清單之組件生產該I/O裝置。
EC19)如EC18之方法,其中該代理商包括一企業。
EC20)一種方法,其包括:將與一I/O裝置控制器相容之韌體(FW)下載至根據一I/O裝置參考設計建構且包含該I/O裝置控制器之一I/O裝置中;其中該I/O裝置包括選自一組件清單之組件,該清單係與該FW、該I/O裝置控制器及該I/O裝置參考設計相容之組件;且其中該FW係使用一密碼編譯密鑰自一經加密FW儲存庫解密之一或多個影像中之一者。
EC21)一種方法,其包括:至少部分地使用一密碼編譯密鑰自一經加密FW儲存庫將韌體(FW)解密為一或多個影像,該等影像與根據一I/O裝置參考設計建構且包含該I/O裝置控制器之一I/O裝置相容;且其中該I/O裝置包括選自一組件清單之組件,該清單係與該FW、該I/O裝置控制器及該I/O裝置參考設計相容之組件。
EC22)如EC14、EC16、EC18、EC20或EC21之方法,其中一相同企業實體可用該I/O裝置參考設計、該I/O裝置控制器、該清單、該經加密FW儲存庫及該密碼編譯密鑰。
EC23)如EC14、EC16、EC18、EC20或EC21之方法,其中一相同企業實體可用該I/O裝置參考設計、該I/O裝置控制器、該清單、該經加密FW儲存庫及該密碼編譯密鑰 中之任何一或多者。
EC24)如EC22或EC23之方法,其中該使可用之任何或所有部分係至少部分地經由以下各項中之任何一或多者電子郵件,一或多個可延伸標記語言(XML)註解之規範及/或基於XML之形式,一或多個伺服器對伺服器異動,使用網際網路之企業對企業自動系統,一多層列之基於網際網路商務之伺服器之任何一或多個層列,一或多個網頁、資料庫及/或應用程式伺服器,及一或多個網頁、資料庫及/或應用程式指令碼、程式及/或應用程式。
EC25)如EC14、EC16、EC18、EC20或EC21之方法,其中該等選定組件包括來自複數個非揮發性記憶體裝置製造商之非揮發性記憶體裝置。
EC26)如EC25之方法,其中該I/O裝置包括一固態硬碟(SSD),該I/O裝置控制器包括一SSD控制器,該I/O裝置參考設計包括一SSD參考設計,該等非揮發性記憶體裝置包括固態記憶體裝置,且該等非揮發性記憶體裝置製造商包括固態記憶體裝置製造商。
EC27)一種方法,其包括:使與一I/O裝置控制器相容之韌體(FW)可用於一代理商; 將一I/O裝置參考設計提供至該代理商;將一非揮發性記憶體裝置清單提供之該代理商,該清單包括來自複數個非揮發性記憶體裝置製造商之非揮發性記憶體裝置;且其中該I/O裝置控制器結合該FW能夠經由該I/O裝置參考設計及該清單之該等非揮發性記憶體裝置中之任一者實施一I/O裝置。
EC28)如EC27之方法,其中該代理商係一企業,且該使該FW可用包括將該FW授權給該企業。
EC29)如EC28之方法,其進一步包括將該I/O裝置控制器銷售給該企業。
EC30)如EC29之方法,其中該I/O裝置包括一固態硬碟(SSD),該I/O裝置控制器包括一SSD控制器,該I/O裝置參考設計包括一SSD參考設計,該等非揮發性記憶體裝置包括固態記憶體裝置,且該等非揮發性記憶體裝置製造商包括固態記憶體裝置製造商。
EC31)如EC30之方法,其中該等固態記憶體裝置包括快閃記憶體裝置,且該等固態記憶體裝置製造商包括快閃記憶體裝置製造商。
EC32)如EC31之方法,其進一步包括該企業採購一定數量之選自該清單之快閃記憶體裝置當中之快閃記憶體裝置,該等數量足以達成該SSD之大量製造。
EC33)如EC32之方法,其中該企業係一系統供應商,且銷售、授權之該等動作及提供之該兩個動作係由一設計 供應商執行。
EC34)如EC33之方法,其中該系統供應商及該設計供應商係不同公司。
EC35)如EC33之方法,其中該系統供應商及該設計供應商係一相同公司之部分。
EC36)如EC31之方法,其進一步包括將一或多個原型SSD之驗證及/或特性化之結果提供至該企業,該等原型SSD係根據該SSD參考設計使用該SSD控制器及該FW之例項來建構。
EC37)如EC31之方法,其進一步包括將一或多個原型SSD之一或多個可靠性驗證測試(RDT)之結果提供至該企業,該原型SSD係根據該SSD參考設計使用該SSD控制器及該FW之例項來建構。
EC38)如請求項EC37之方法,其中該企業係一系統供應商,且銷售、授權之該等動作及提供之該三個動作係由一設計供應商執行。
EC39)如EC31之方法,其進一步包括將一或多個原型SSD之一或多個設計驗證測試(DVT)結果提供至該企業,該原型SSD係根據該SSD參考設計使用該SSD控制器及該FW之例項來建構。
EC40)如EC39之方法,其中該企業係一系統供應商,且銷售、授權之該等動作及提供之該三個動作係由一設計供應商執行。
EC41)如EC31之方法,其進一步包括提供針對由該企 業根據該參考設計直接或間接製造且包含該FW及該SSD控制器之複數個SSD之故障者之故障分析。
EC42)如EC41之方法,其中該企業係一系統供應商,且銷售、授權之該等動作及提供之該三個動作係由一設計供應商執行。
EC43)如EC31之方法,其中該企業係一第一企業,且該方法進一步包括將一製造軟體工具提供至一第二企業,該製造軟體工具能夠將該FW下載至該SSD之一製造例項中。
EC44)如EC43之方法,其中該第一企業係一系統供應商,且銷售、授權之該等動作及提供之該三個動作係由一設計供應商執行。
EC45)如EC43之方法,其中該製造軟體工具進一步能夠引導該SSD之該製造例項執行該SSD之一製造自我測試及該SSD之該製造例項之一快閃記憶體測試中之一或多者。
EC46)如EC43之方法,其中該奇異企業及該第二企業係一相同公司。
EC47)如EC43之方法,其中該第一企業及該第二企業係不同公司。
EC48)如EC25或EC28之方法,其中該I/O裝置參考設計係根據一或多個I/O裝置控制器、一或多個非揮發性記憶體裝置、一或多個電源供應器、一或多個溫度感測器、一或多個殼體、一或多個印刷電路板、一或多個被動組件及 FW。
EC49)如EC26或EC30之方法,其中該等固態記憶體裝置包括快閃記憶體裝置,且該等固態記憶體裝置製造商包括快閃記憶體裝置製造商。
EC50)如EC49之方法,其中:該SSD係來自複數個種類之SSD之一第一特定種類之SSD;該SSD控制器結合該FW進一步能夠經由該SSD參考設計及該清單之該等快閃記憶體裝置中之任一者來實施至少一第二特定種類之SSD;且該等種類之SSD包括一企業類SSD、一雲端類SSD、一工業類SSD及一用戶端類SSD。
EC51)如EC49之方法,其中:該SSD係來自複數個種類之SSD之一第一特定種類之SSD;該等種類之SSD包括一企業類SSD、一雲端類SSD、一工業類SSD及一用戶端類SSD;該FW係來自複數個種類之FW之一第一特定種類FW;該等種類之FW包括與該企業類SSD相關聯之一企業類FW、與該雲端類SSD相關聯之一雲端類FW、與該工業類SSD相關聯之一工業類FW及與該用戶端類SSD相關聯之一用戶端類FW;該SSD控制器結合來自該等種類之FW之一第二特定種類FW進一步能夠經由該SSD參考設計及該清單之該等快閃記 憶體裝置中之任一者實施來自該等種類之SSD之至少一第二特定種類之SSD;且該第二特定種類之SSD係與該第二特定種類FW相關聯之該種類之SSD。
EC52)如EC51之方法,其中該等種類之FW中之至少兩者具有至少某些共同之常式、函式及/或操作。
EC53)如EC50或EC51之方法,其中來自該等快閃記憶體裝置製造商中之一第一者之快閃記憶體裝置可用於製造該第一特定種類之SSD,且來自該等快閃記憶體裝置製造商中之一第二者之快閃記憶體裝置可用於製造該第二特定種類之SSD。
EC54)如EC50或EC51之方法,其中來自該等快閃記憶體裝置製造商中之一特定者之複數種類別之快閃記憶體裝置中之一第一者之快閃記憶體裝置可用於製造該第一特定種類之SSD,且來自該等類別之一第二者之快閃記憶體裝置可用於製造該第二特定種類之SSD。
EC55)如EC49之方法,其中該SSD係一相對較大能力之SSD,且該SSD控制器結合該FW進一步能夠經由該SSD參考設計及該清單之該等快閃記憶體裝置中之任一者實施一相對較小能力之SSD。
EC56)如EC55之方法,其中來自該等快閃記憶體裝置製造商中之一第一者之快閃記憶體裝置可用於製造該相對較大能力之SSD,且來自該等快閃記憶體裝置製造商中之一第二者之快閃記憶體裝置可用於製造該相對較小能力之 SSD。
EC57)如EC55之方法,其中來自該等快閃記憶體裝置製造商之一特定者之複數種類別之快閃記憶體裝置中之一第一者之快閃記憶體裝置可用於製造該相對較大能力之SSD,且來自該等類別中之一第二者之快閃記憶體裝置可用於製造該相對較小能力之SSD。
EC58)如EC49之方法,其中在一單個積體電路(IC)中實施該SSD控制器。
EC59)如EC49之方法,其中該SSD控制器包括能夠與該清單之該等快閃記憶體裝置中之任一者通信資料之一快閃記憶體介面。
EC60)如EC49之方法,其中該SSD控制器包括一儲存介面,該儲存介面與一儲存介面標準相容且能夠耦合至經由該儲存介面提供該命令之一計算主機。
EC61)如EC60之方法,其進一步包括操作該計算主機以提供該等儲存命令。
EC62)一種方法,其包括:經由耦合至一主機之一儲存裝置之一儲存介面自該主機接收一或多個命令,該等命令由該主機引導以儲存於原本專用於由該儲存裝置所產生之記錄資訊之儲存之該儲存裝置之儲存空間中;接收用以回應於一事件而開始執行該等命令之一指示符;及回應於該事件而執行該等命令。
EC63)如EC62之方法,其進一步包括:將一密碼編譯密鑰提供至一企業以使得該企業能夠自一經加密韌體儲存庫將韌體解密為一或多個影像,該等影像可藉由包含於該儲存裝置中之一儲存裝置控制器之處理元件執行,該等影像使得能夠執行該等命令,且該儲存裝置係根據一儲存裝置參考設計來建構;將對該經加密韌體儲存庫之存取提供至該企業;其中該等命令包括該儲存裝置之一製造自我測試;且其中該儲存裝置包括選自一組件清單之組件,該清單係與該韌體、該儲存裝置控制器及該儲存裝置參考設計相容之組件。
EC64)如EC62之方法,其中:該儲存裝置包括一儲存裝置控制器及儲存媒體;與該儲存裝置控制器相容之韌體僅授權給一企業;該儲存裝置係根據提供之該企業之一參考設計及候選儲存媒體裝置之一清單來建構;該等儲存媒體係由該企業自該清單選擇之元件構成;該儲存裝置控制器結合該韌體能夠經由該參考設計及該清單中之任何部件來實施該儲存裝置;該儲存裝置控制器結合該韌體能夠執行該執行;且該執行執行該儲存裝置之一製造自我測試。
EC65)如EC62之方法,其進一步包括儲存由該執行產生之一或多個結果。
EC66)如EC62之方法,其中該指示符係來自該主機且 經由該儲存介面。
EC67)如EC62之方法,其中該儲存空間原本專用於一自我監視分析與報告技術(SMART)記錄。
EC68)如EC67之方法,其中該SMART記錄係一第一SMART記錄,且該方法進一步包括將該執行之一或多個結果儲存於一第二SMART記錄中。
EC69)如EC62之方法,其中該事件係包括一下次通電事件及一立即啟動事件之複數個事件中之一者。
EC70)如EC62之方法,其中接收之該兩個動作及執行之該動作至少部分地由一固態硬碟(SSD)之一控制器執行。
EC71)如EC62之方法,其中接收之該兩個動作及執行之該動作係至少部分地由包括於該儲存裝置中之一儲存裝置控制器實施。
EC72)如EC71之方法,其中在一單個積體電路(IC)中實施該儲存裝置控制器。
EC73)一種方法,其包括:經由一儲存裝置之一儲存介面接收用於開始執行儲存於一儲存裝置之一記錄儲存空間之一第一部分中之一或多個命令之一指示符;回應於該指示符之該接收而執行該等命令;及將由全部或任何部分產生之一或多個結果儲存於該記錄儲存空間之一第二部分中。
EC74)如EC73之方法,其中該指示符係由耦合至該儲 存介面之一主機提供。
EC75)如EC73之方法,其中該記錄儲存空間係與經由經由該儲存介面所接收之一SMART記錄儲存空間讀取或寫入存取之存取相容之自我監視分析與報考技術(SMART)記錄儲存空間。
EC76)如EC73之方法,其中接收、執行及儲存之該等動作係至少部分地由一固態硬碟(SSD)之一控制器執行。
EC77)一種方法,其包括:在一儲存裝置中,經由該儲存裝置之一儲存介面自一主機接收資訊,該資訊包括與執行該儲存裝置之一製造自我測試之至少一部分相容之一或多個命令,該資訊進一步包括該等命令欲儲存於該儲存裝置之一記錄儲存之一第一部分中之一指示;在該儲存裝置中,經由該儲存介面自該主機接收一指示符,該指示符係規定何時開始執行儲存於該記錄儲存之該第一部分中之該等命令之至該儲存裝置之一信號;在該儲存裝置中且回應於該接收該指示符,執行該等命令;在該儲存裝置中,將該執行之至少某些結果儲存於該記錄儲存之一第二部分中;且其中該記錄儲存係可經由SMART記錄儲存存取命令(經由該儲存介面所接收)來存取之自我監視分析及報告技術(SMART)記錄儲存。
EC78)如EC77之方法,其中該指示符指示立即開始該 等命令之該執行且該儲存裝置在該執行期間至少部分地耦合至該主機。
EC79)如EC77之方法,其中該指示符指示在一下次通電時開始執行該等命令,該執行進一步回應於該下次通電,且該儲存裝置在該執行期間至少部分地自該主機解耦合。
EC80)如EC62、EC73或EC77之方法,其中該等命令中至少一者引導該儲存裝置測試包括於該儲存裝置中之儲存媒體且使得該儲存裝置能夠儲存經由該儲存介面所接收之資料。
EC81)如EC62、EC73或EC77之方法,其中該儲存裝置包括一固態硬碟(SSD)且該儲存介面包括一串列進階技術附接(SATA)介面。
EC82)如EC62、EC73或EC77之方法,其中該指示符係一供應商指定自我監視分析與報告技術(SMART)命令傳輸(SCT)命令。
EC83)如EC62、EC73或EC77之方法,其中該命令包括以下命令中之任何一或多者:一寫入儲存命令、一抹除儲存命令、一儲存介面燒錄命令、一延遲命令、一應力模式命令、一迴圈命令及一條件命令。
EC84)如EC62、EC73或EC77,其中該命令包括一系列一或多個操作類型。
EC85)如EC84之方法,其中該等操作類型中之至少一者規定包括於該儲存裝置中之儲存媒體之寫入。
EC86)如EC84之方法,其中該等操作類型中之至少一者規定包括於該儲存裝置中之儲存媒體之抹除。
EC87)如EC84之方法,其中該等操作類型中至少一者規定包括於該儲存裝置中之儲存媒體之驗證。
EC88)如EC84之方法,其中該等操作類型中之一或多者包括與包括於對應於一長度之一大小之儲存裝置中之儲存媒體之一部分相關聯之一位址及該長度。
EC89)如EC65、EC73或EC77之方法,其中該結果包括以下各項中之任何一或多者:測試狀態、一或多個進展指示符、一或多個統計資料及錯誤資訊。
EC90)如EC89之方法,其中該測試狀態包括以下各項中之一或多者:不啟動、經啟動、正運行、輸入結束、中止及錯誤測試狀態。
EC91)如EC89之方法,其中該等進展指示符中之至少一者包括以下各項中之任何一或多者關於該等命令之輸入位移,該等命令之一當前者之一指示符,完成之該等命令之一數目之一量度,該等命令中之任何一或多者之一完成量之一量度,剩下待測試之該儲存裝置之使用者資料儲存之一量之一量度,已經量測之該使用者資料儲存之一量之一量度,及自開始該執行開始過去之時間的一量度。
EC92)如EC89之方法,其中該等統計資料中至少一者 包括以下各項中之一或多者:該儲存裝置之全部或任何部分之溫度、該儲存裝置之使用者資料儲存之壞部分、該使用者資料儲存之經重映射部分及該儲存器件之無錯誤讀取。
EC93)如EC89之方法,其中該錯誤資訊包括以下各項中之一或多者:可校正及/或不可校正錯誤、程式錯誤、抹除錯誤、位元錯誤計數及/或類型以及錯誤事件。
EC94)如EC62、EC73或EC77之方法,其中該儲存裝置至少部分地經由所包含之一或多個快閃記憶體裝置實施大容量儲存。
EC95)如EC94之方法,其中該儲存裝置包括能夠與該等快閃記憶體裝置中之至少一者通信資料之一快閃記憶體介面。
EC96)如EC94之方法,其中該儲存介面與一儲存介面標準相容。
EC97)如EC62、EC74或EC77之方法,其進一步包括操作該主機以提供該等命令。
EC98)一種儲存裝置,其包括:韌體;一處理元件,其能夠執行該韌體之指令;一儲存介面,其能夠自耦合至該儲存介面之一主機接收一或多個命令及用以回應於一事件而開始執行該等命令之一指示符;儲存空間;且 其中由該處理元件執行該韌體之一或多個常式使得能夠如該主機所引導,將該等命令儲存於原本專用於儲存由該儲存裝置產生之記錄資訊之該儲存空間之一部分中,及回應於該事件執行該等命令。
EC99)如EC98之儲存裝置,其中該韌體、該處理元件、該儲存介面及該儲存空間包括於一固態硬碟(SSD)中,且該儲存介面包括一串列進階技術附接(SATA)介面。
EC100)如EC98之儲存裝置,其中該儲存空間包括一第一自我監視分析與報告技術(SMART)記錄及一第二SMART記錄,該第一SMART記錄包括該部分,且該執行產生一或多個結果,該等結果儲存於該第二SMART記錄中。
EC101)一種儲存裝置,其包括:記錄儲存空間,其具有第一及第二部分;韌體;一處理元件,其能夠執行該韌體之指令;一儲存介面,其能夠自耦合至該儲存介面之一主機接收用以開始執行儲存於該第一部分中之一或多個命令之一指示符;其中由該處理元件執行該韌體之一或多個常式使得能夠回應於接收到該指示符而執行該等命令,及將由該執行之全部或任何部分所產生之一或多個結果儲存於該第二部分中。
EC102)如EC101之儲存裝置中,其中該韌體、該處理元件、該儲存介面及該記錄儲存空間包括於一固態硬碟(SSD)中,且該儲存介面包括一串列進階技術附接(SATA)介面。
EC103)如EC101之儲存裝置,其中該記錄儲存空間包括第一及第二自我監視分析與報告技術(SMART)記錄,該第一SMART記錄包括該第一部分,且該第二SMART記錄包括該第二部分。
EC104)如EC98或EC101之儲存裝置,其中該等命令包括以下命令中之任何一或多者:一寫入儲存命令、一抹除儲存命令、一儲存介面燒錄命令、一延遲命令、一應力模式命令、一迴圈命令及一條件命令。
EC105)如EC98或EC101之儲存裝置,其進一步包括儲存媒體;且其中該等命令包括一系列一或多個操作類型,且該等操作中之任何一或多者包括規定該等儲存媒體之寫入、抹除及驗證中之任何一或多者。
EC106)一種有形電腦可讀媒體,其中儲存有一指令集,當由一儲存裝置之一處理元件執行時該等指令致使該處理元件執行包括以下之操作:管理經由該儲存裝置之一儲存介面自耦合至該儲存裝置之一主機接收一或多個命令,該等命令由該主機引導以儲存於原本專用於由該儲存裝置所產生之記錄資訊之儲存之該儲存裝置之儲存空間之一部分中;辨識用以回應於一事件而開始執行該等命令之一指示 符;及回應於該事件而執行該等命令。
EC107)如EC106之有形電腦可讀媒體,其中該儲存空間包括一第一自我監視分析與報告技術(SMART)記錄及一第二SMART記錄,該第一SMART記錄包括該部分,該執行該等命令產生一或多個結果,該等結果儲存於該第二SMART記錄中。
EC108)一種有形電腦可讀媒體,其中儲存有一指令集,當由一儲存裝置之一處理元件執行時該等指令致使該處理元件執行包括以下之操作:管理經由該儲存裝置之一儲存介面接收用以執行儲存於該儲存裝置之一記錄儲存空間之一第一部分中之一或多個命令之一指示符;回應於該指示符之該接收而執行該等命令;及將由該執行該等命令之全部或任何部分產生之一或多個結果儲存於該記錄儲存空間之一第二部分中。
EC109)如EC108之有形電腦可讀媒體,其中該記錄儲存空間包括第一及第二自我監視分析與報告技術(SMART)記錄,該第一SMART記錄包括該第一部分,且該第二SMART記錄包括該第二部分。
EC110)如EC106或EC108之有形電腦可讀媒體,其中該等命令包括以下命令中之任何一或多者:一寫入儲存命令、一抹除儲存命令、一儲存介面燒錄命令、一延遲命令、一應力模式命令、一迴圈命令及一條件命令。
EC111)如EC106或EC108之有形電腦可讀媒體,其中該儲存裝置包括儲存媒體;該等命令包括一系列一或多個操作類型,且該等操作中之任何一或多者包括規定該等儲存媒體之寫入、抹除及驗證中之任何一或多者。
EC112)一種系統,其包括:用於經由耦合至一主機之一儲存裝置之一儲存介面自該主機接收一或多個命令之構件,該等命令由該主機引導以儲存於原本專用於由該儲存裝置產生之記錄資訊之儲存之該儲存裝置之儲存空間之一部分中;用於接收用以回應於一事件而開始執行該等命令之一指示符之構件;及用於回應於該事件而執行該等命令之構件。
EC113)如EC112之系統,其中用於接收該等命令之該構件、用於接收該指示符之該構件及用於執行之該構件包括於一固態硬碟(SSD)中,且該儲存介面包括一串列進階技術附接(SATA)介面。
EC114)一種系統,其包括:用於藉由一儲存裝置及經由該儲存裝置之一儲存介面接收用以開始執行儲存於一儲存裝置之一記錄儲存空間之一第一部分中之一或多個命令之一指示符之構件;用於回應於用於接收之該構件而執行該等命令之構件;及用於將由用於執行之該構件之全部或任何部分產生之一或多個結果儲存於該記錄儲存空間之一第二部分中之構 件。
EC115)如EC114之系統,其中用於接收之該構件、用於執行之該構件及用於儲存之該構件包括於一固態硬碟(SSD)中,且該儲存介面包括一串列進階技術附接(SATA)介面。
EC116)如EC112或EC114之系統,其中該等命令包括以下命令中之任何一或多者:一寫入儲存命令、一抹除儲存命令、一儲存介面燒錄命令、一延遲命令、一應力模式命令、一迴圈命令及一條件命令。
EC117)如EC112或EC114之系統,其進一步包括儲存媒體,且其中該等命令包括一系列一或多個操作類型,且該等操作中之任何一或多者包括規定該等儲存媒體之寫入、抹除及驗證中之任何一或多者。
EC118)一種方法,其包括:將一I/O裝置控制器提供至一代理商;將與該I/O裝置控制器相容之韌體(FW)提供之該代理商;將一I/O裝置參考設計提供至該代理商;將一非揮發性記憶體裝置清單提供至該代理商,該清單包括來自複數個非揮發性記憶體裝置製造商之非揮發性記憶體裝置;且其中該I/O裝置控制器結合該FW能夠經由該I/O裝置參考設計及該清單之該等非揮發性記憶體裝置中之任一者來實施一I/O裝置。
EC119)如EC118之方法,其中:該代理商包括一企業,且該將該I/O裝置控制器提供至該代理商包括將該I/O裝置控制器銷售至該企業;且該提供該FW包括將該FW授權給該企業。
EC120)如EC119之方法,其中該I/O裝置包括一固態硬碟(SSD),該I/O裝置控制器包括一SSD控制器,該I/O裝置參考設計包括一SSD參考設計,該等非揮發性記憶體裝置包括快閃記憶體裝置,且該等非揮發性記憶體裝置製造商包括快閃記憶體裝置製造商。
EC121)如EC119之方法,其進一步包括該企業採購一定數量之選自該清單之該等非揮發性記憶體裝置當中之非揮發性記憶體裝置,該等數量足以達成該I/O裝置之大量製造。
EC122)如EC121之方法,其中該企業係一系統供應商,且銷售、授權之該等操作及提供之該兩個動作由一設計供應商執行。
EC123)如EC122之方法,其中該系統供應商及該設計供應商係不同公司。
EC124)如EC123之方法,其中該I/O裝置係一企業類SSD,且該I/O裝置控制器結合該FW進一步能夠經由該I/O裝置參考設計及該清單之該等非揮發性記憶體裝置中之至少某些非揮發性記憶體裝置來實施一用戶端類SSD。
EC125)如123之方法,其中該I/O裝置係一相對較大能力之SSD,且該I/O裝置控制器結合該FW進一步能夠經由 該I/O裝置參考設計及該清單之該等非揮發性記憶體裝置中之至少某些非揮發性記憶體裝置實施一相對較小能力之SSD。
EC126),如上述EC中任一項,其具有或提及一儲存介面標準,其中該儲存介面標準包括以下各項中之一或多者:一通用串列匯流排(USB)介面標準,一壓縮快閃記憶體(CF)介面標準,一多媒體卡(MMC)介面標準,一嵌入式MMC(eMMC)介面標準,一Thunderbolt介面標準,一UFS介面標準,一安全數位(SD)介面標準,一記憶卡介面標準,一xD圖片卡介面標準,一整合式驅動電子器件(IDE)介面標準,一串列進階技術附接(SATA)介面標準,一外部SATA(eSATA)介面標準,一小型電腦系統介面(SCSI)介面標準,一串列附接小型電腦系統介面(SAS)介面標準,一光纖通道介面標準,一乙太網路介面標準,及一高速周邊組件互連(PCIe)介面標準。
EC127),如上述EC中任一項,其具有或提及一快閃記 憶體介面,其中該快閃記憶體介面與以下各項中之一或多者相容一開放NAND快閃記憶體介面(ONFI),一雙態切換模式介面,一雙倍資料速率(DDR)同步介面,一DDR2同步介面;一同步介面,及一不同步介面。
EC128)如上述EC中任一項,其具有或提及一計算主機,其中該計算主機包括以下各項中之一或多者:一電腦,一工作站電腦,一伺服器電腦,一儲存伺服器,一儲存附加網路(SAN),一網路附加儲存(NAS)裝置,一直接附加儲存(DAS)裝置,一儲存器具,一個人電腦(PC),一膝上型電腦,一筆記型電腦,一小筆電電腦,一平板裝置或電腦,一超輕薄筆記型電腦, 一電子閱讀裝置(一電子閱讀器),一個人數位助理(PDA),一導航系統,一(手持式)全球定位系統(GPS)裝置,一汽車控制系統,一汽車媒體控制系統或電腦,一印表機、影印機或傳真機或一體式裝置,一銷售點(POS)裝置,一收銀機,一媒體播放器,一電視機,一媒體記錄器,一數位視訊記錄器(DVR),一數位相機,一蜂巢式手機,一無線電話手機,及一電子遊戲機。
EC129)如上述EC中任一項,其具有或提及至少一個快閃記憶體裝置,其中該至少一個快閃記憶體裝置之至少一部分包括以下各項中之一或多者NAND快閃記憶體技術儲存記憶體胞,及NOR快閃記憶體技術儲存記憶體胞。
EC130)如上述EC中任一項,其具有或提及至少一個快閃記憶體裝置,其中該至少一個快閃記憶體裝置之至少一 部分包括以下各項中之一或多者單位階記憶體胞(SLC)快閃記憶體技術儲存記憶體胞,及多位階記憶體胞(MLC)快閃記憶體技術儲存記憶體胞。
EC131)如上述EC中任一項,其具有或提及至少一個快閃記憶體裝置,其中該至少一個快閃記憶體裝置之至少一部分包括以下各項中之一或多者基於多晶矽技術之電荷儲存記憶體胞,及基於氮化矽技術之電荷儲存記憶體胞。
EC132)如上述EC中任一項,其具有或提及至少一個快閃記憶體裝置,其中該至少一個快閃記憶體裝置之至少一部分包括以下各項中之一或多者基於二維技術之快閃記憶體技術,及基於三維技術之快閃記憶體技術。
系統
圖1A圖解說明包含相容以供與一VDMM及一SSD MST一起使用之一SSD控制器之一SSD之一實施例之選定細節。SSD控制器係用於管理諸如經由NVM元件(例如,快閃記憶體)實施之非揮發性儲存。SSD控制器100經由一或多個外部介面110以通信方式耦合至一主機(未圖解說明)。根據各種實施例,外部介面110係以下各項中之一或多者:一SATA介面;一SAS介面;一PCIe介面;一光纖通道介面;一乙太網路介面(諸如,10十億位元乙太網路)、前述介面中之任一者之一非標準版本;一定製介面;或用以將 儲存及/或通信及/或計算裝置互連之任何其他類型之介面。舉例而言,在某些實施例中,SSD控制器100包含一SATA介面及一PCIe介面。
SSD控制器100經由一或多個裝置介面190進一步以通信方式耦合至包含一或多個儲存裝置(諸如,快閃記憶體裝置192之一或多個例項)之NVM 199。根據各種實施例,裝置介面190係以下各項中之一或多者:一不同步介面;一同步介面;一單一資料速率(SDR)介面;一雙資料速率(DDR)介面;一DRAM相容DDR或DDR2同步介面;一ONFI相容介面(諸如,一ONFI 2.2或ONFI 3.0相容介面);一雙態切換模式相容快閃記憶體介面;前述介面中之任一者之一非標準版本;一定製介面;或用以連接至儲存裝置之任何其他類型之介面。
在某些實施例中,每一快閃記憶體裝置192具有一或多個個別快閃記憶體晶粒194。根據快閃記憶體裝置192之一特定者之類型,特定快閃記憶體裝置192中之複數個快閃記憶體晶粒194可視情況及/或選擇性地並行存取。快閃記憶體裝置192僅表示能夠以通信方式耦合至SSD控制器100之一種類型之儲存裝置。在各種實施例中,任何類型之儲存裝置皆係可使用的,諸如一SLC NAND快閃記憶體、MLC NAND快閃記憶體、NOR快閃記憶體、使用基於多晶矽或氮化矽技術之電荷儲存記憶體胞之快閃記憶體、基於二維或三維技術之快閃記憶體、唯讀記憶體、靜態隨機存取記憶體、動態隨機存取記憶體、鐵磁記憶體、相變記憶 體、賽道(racetrack)記憶體或任何其他類型之記憶體裝置或儲存媒體。
根據各種實施例,裝置介面190組織為:其中每匯流排具有快閃記憶體裝置192之一或多個例項之一或多個匯流排;其中每匯流排具有快閃記憶體裝置192之一或多例項之一或多個匯流排群組,通常並行存取一群組中之匯流排;或至裝置介面190上之快閃記憶體裝置192之一或多例項之任何其他組織。
在圖1A中繼續,SSD控制器100具有一或多個模組,諸如主機介面111、資料處理121、緩衝器131、映射141、回收器151、ECC 161、裝置介面邏輯191及CPU 171。圖1A中所圖解說明之特定模組及互連僅表示一項實施例,且聯想到該等模組中之某些或全部模組之諸多配置及互連以及未圖解說明之額外模組。在一第一實例中,在某些實施例中,存在兩個或兩個以上主機介面111以提供雙埠法。在一第二實例中,在某些實施例中,資料處理121及/或ECC 161與緩衝器131組合在一起。在一第三實例中,在某些實施例中,主機介面111直接耦合至緩衝器131,且資料處理121視情況及/或選擇性地操作儲存於緩衝器131中之資料。在一第四實例中,在某些實施例中,裝置介面邏輯191直接耦合至緩衝器131,且ECC 161視情況及/或選擇性地操作儲存於緩衝器131中之資料。
主機介面111經由外部介面110發送及接收命令及/或資料且在某些實施例中經由標籤追蹤113追蹤個別命令之進 展。舉例而言,該等命令包含規定欲讀取之資料之一位址(諸如,一LBA)及一量(諸如,LBA配量(諸如,磁區)之一數目)之一讀取命令;作為回應,SSD提供讀取狀態及/或讀取資料。針對另一實例,該等命令包含規定欲寫入之資料之一位址(諸如,一LBA)及一量(諸如,LBA配量(例如,磁區)之一數目)之一寫入命令;作為回應,SSD提供寫入狀態及/或請求寫入資料且隨後視情況提供寫入狀態。對於又一實例,該等命令包含規定不再需要分配之一或多個位址(諸如,一或多個LBA)之一解除分配命令(例如,一修整命令);作為回應,SSD相應地修改映射且視情況提供解除分配狀態。在某些上下文中,一ATA相容TRIM命令係一例示性解除分配命令。對於又一實例,該等命令包含一超級電容器測試命令或一資料強化成功查詢;作為回應,SSD提供適當狀態。在某些實施例中,主機介面111係與一SATA協定相容且使用NCQ命令能夠具有多達32個擱置中命令,其每一者具有表示為自0至31之一數目之一唯一標籤。在某些實施例中,標籤追蹤113能夠使經由外部介面110接收之一命令之一外部標籤與用以在由SSD控制器100處理期間追蹤該命令之一內部標籤相關聯。
根據各種實施例,揭示以下各項中之一或多者:資料處理121視情況及/或選擇性地處理在緩衝器131與外部介面110之間發送之某些或全部資料;及資料處理121視情況及/或選擇性地處理儲存於緩衝器131中之資料。在某些實 施例中,資料處理121使用一或多個引擎123以執行以下各項中之一或多者:格式化;重新格式化;轉碼;及任何其他資料處理及/或操縱任務。
緩衝器131儲存自裝置介面190發送至外部介面110/自外部介面110發送至裝置介面190之資料。在某些實施例中,緩衝器131另外儲存由SSD控制器100使用之系統資料(諸如,某些或全部映射表)以管理快閃記憶體裝置192之一或多例項。在各種實施例中,緩衝器131具有以下各項中之一或多者:記憶體137,其用於資料之暫時儲存;DMA 133,其用以控制至及/或自緩衝器131之資料之移動;及ECC-X 135,其用以提供較高階錯誤校正及/或冗餘功能;及其他資料移動及/或操縱功能。一較高階冗餘功能之一實例系一類RAID能力(例如,RASIE),其中冗餘係在一快閃記憶體裝置級(例如,快閃記憶體裝置192之多個快閃記憶體裝置)及/或一快閃記憶體晶粒級(例如,快閃記憶體晶粒194)上而非在一磁碟級上。
根據各種實施例,達成以下各項中之一或多者:ECC 161視情況及/或選擇性地處理在緩衝器131與裝置介面190之間發送之某些或全部資料;及ECC 161視情況及/或選擇性地處理儲存於緩衝器131中之資料。在某些實施例中,ECC 161用以提供較低階錯誤校正及/或諸如根據一或多個ECC技術之冗餘功能。在某些實施例中,ECC 161實施以下各項中之一或多者:一CRC碼;一漢明(Hamming)碼;一RS碼;一BCH碼;一LDPC碼;一維特比碼;一格狀 碼;一硬式決策碼;一軟式決策碼;一基於抹除之碼;任何錯誤偵測及/或校正碼;及前述項之任何組合。在某些實施例中,ECC 161包含一或多個解碼器(諸如,LDPC解碼器)。
裝置介面邏輯191經由裝置介面190控制快閃記憶體裝置192之例項。裝置介面邏輯191能夠根據快閃記憶體裝置192之一協定將資料發送至快閃記憶體裝置192之例項/自快閃記憶體裝置192之例項發送資料。裝置介面邏輯191包含排程193以選擇性地定序經由裝置介面190對快閃記憶體裝置192之例項之控制。舉例而言,在某些實施例中,排程193能夠將對快閃記憶體裝置192之例項之操作排成佇列,且在快閃記憶體裝置192(或快閃記憶體晶粒194)之例項中之個別例項係可用時,將該等操作選擇性地發送至快閃記憶體裝置192(或快閃記憶體晶粒194)之例項中之個別例項。
使用表143來將外部資料位址映射至NVM 199中之位置,映射141在用於外部介面110上之資料定址與用於裝置介面190上之資料定址之間轉換。舉例而言,在某些實施例中,映射141經由表143提供之映射而將用於外部介面110上之LBA轉換成定標一或多個快閃記憶體晶粒194之區塊及/或頁位址。針對由於硬碟機制造或解除分配而尚未寫入之LBA,若該等LBA經讀取,則映射指向一預設值以返回。舉例而言,當處理一解除分配命令時,修改該映射以使得對應於經解除分配LBA之項目指向該等預設值中之 一者。在各種實施例中,存在各種預設值,其各自具有一對應指標。該複數個預設值使得能夠讀取某些經解除分配LBA(諸如,在一第一範圍中)作為一個預設值,同時讀取其他經解除分配LBA(諸如,在一第二範圍中)作為另一預設值。在各種實施例中,該等預設值係由快閃記憶體、硬體、韌體、命令及/或基元引數及/或參數、可程式化暫存器或其各種組合定義。
在某些實施例中,映射141使用表143以執行及/或查找用於外部介面110上之位址與用於裝置介面190上之資料定址之間的轉譯。根據各種實施例,表143係以下各項中之一或多者:一單階映射;一雙階映射;一多階映射;一映射快取記憶體;一經壓縮映射;自一個位址空間至另一個位址空間的任何類型之映射;及上述項之任何組合。根據各種實施例,表143包含以下各項中之一或多者:靜態隨機存取記憶體;動態隨機存取記憶體;NVM(諸如,快閃記憶體);快取記憶體;晶片上記憶體;晶片外記憶體;及上述項之任何組合。
在某些實施例中,回收器151執行廢棄項目收集。舉例而言,在某些實施例中,快閃記憶體裝置192之例項含有必須在區塊係可重寫之前抹除之區塊。回收器151能夠(諸如)藉由掃描由映射141維持之一映射來判定快閃記憶體裝置192之例項之哪些部分係主動地在使用中(例如,經分配而非經解除分配),且藉由抹除快閃記憶體裝置192之例項之未使用(例如,經解除分配)部分而使該等未使用部分可 用於寫入。在進一步之實施例中,回收器151能夠移動儲存於快閃記憶體裝置192之例項內之資料以使得快閃記憶體裝置192之例項之較大連續部分可用於寫入。
在某些實施例中,快閃記憶體裝置192之例項選擇性地及/或動態地經組態、管理及/或使用以具有用於儲存不同類型及/或性質之資料之一或多個頻帶。該等頻帶之一數目、配置、大小及類型係可動態地改變。舉例而言,將來自一計算主機之資料寫入至一熱(作用)頻帶中,而將來自回收器151之資料寫入至一冷(較少作用)頻帶中。在某些使用情景中,若計算主機寫入一長順序串流,則熱頻帶之一大小增長,而若計算主機進行隨機寫入或較少寫入,則冷頻帶之一大小增長。
CPU 171控制SSD控制器100之各種部分。CPU 171包含CPU核心172。根據各種實施例,CPU核心172係一或多個單核或多核處理器。在某些實施例中,CPU核心172中之個別處理器係多執行緒的。CPU核心172包含指令及/或資料快取記憶體及/或記憶體。舉例而言,指令記憶體含有用以使得CPU核心172能夠執行程式(例如,有時稱為韌體之軟體)以控制SSD控制器100之指令。在某些實施例中,由CPU核心172執行之韌體中之某些或全部儲存於快閃記憶體裝置192之例項上(如圖解說明(例如)為圖1B中之NVM 199之韌體106)。
在各種實施例中,CPU 171進一步包含:命令管理173,其用以在經由外部介面110接收之命令在進行中時追蹤及 控制該等命令;緩衝器管理175,其用以控制緩衝器131之分配及使用;轉譯管理177,其用以控制映射141;一致性管理179,其用以控制資料定址之一致性且避免諸如外部資料存取與回收資料存取之間的衝突;裝置管理181,其用以控制裝置介面邏輯191;身份管理182,其用以控制識別資訊之修改及通信;及視情況其他管理單元。根據各種實施例,由CPU 171執行之管理功能中無一者、任一者或全部係藉由硬體、藉由軟體(諸如,在CPU核心172上或在經由外部介面110連接之一主機上執行之韌體)或其任何組合來控制及/或管理。
在某些實施例中,CPU 171能夠使得執行其他管理任務,諸如以下各項中之一或多者:搜集及/或報告效能統計資料;實施SMART;控制電力定序;控制及/或監視及/或調整電力消耗;對電力故障作出回應;控制及/或監視及/或調整時脈速率;及其他管理任務。
各種實施例包含一計算主機快閃記憶體控制器,該計算主機快閃記憶體控制器類似於SSD控制器100且與各種計算主機之操作相容(諸如經由主機介面111及/或外部介面110之調適)。各種計算主機包含以下各項之一者或任何組合:一電腦、一工作站電腦、一伺服器電腦、一儲存伺服器、一SAN、一NAS裝置、一DAS裝置、一儲存器件、一PC、一膝上型電腦、一筆記型電腦、一小筆電電腦、一平板裝置或電腦、一超輕薄筆記型電腦、一電子閱讀裝置(諸如一電子閱讀器)、一PDA、一導航系統、一(手持 式)GPS裝置、一車輛控制系統、一汽車媒體控制系統或電腦、一印表機、影印機或傳真機或一體式裝置、一POS裝置、一收銀機、一媒體播放器、一電視機、一媒體記錄器、一DVR、一數位相機、一蜂巢式手機、一無線電話手機及一電子遊戲機。
在各種實施例中,一SSD控制器(或一計算主機快閃記憶體控制器)之全部或任何部分實施於一單個IC、一多晶粒IC之一單個晶粒、一多晶粒IC之複數個晶粒或複數個IC上。舉例而言,緩衝器131實施於與SSD控制器100之其他元件相同之一晶粒上。針對另一實例,緩衝器131實施於不同於SSD控制器100之其他元件之一晶粒上。
圖1B圖解說明包含圖1A之SSD之一或多個例項之系統之各種實施例之選定細節。SSD 101包含經由裝置介面190耦合至NVM 199之SSD控制器100。該圖圖解說明各種種類之實施例:直接耦合至一主機之一單個SSD;各自經由各別外部介面分別直接耦合至一主機之複數個SSD;及經由各種互連元件間接耦合至一主機之一或多個SSD。
作為直接耦合至一主機之一單個SSD之一實例性實施例,SSD 101之一個例項經由外部介面110直接耦合至主機102(例如,省略、繞過或穿過切換器/光纖/中間控制器103)。作為各自經由各別外部介面直接耦合至一主機之複數個SSD之一實例性實施例,SSD 101之複數個例項中之每一者經由外部介面110之一各別例項分別直接耦合至主機102(例如,省略、繞過或穿過切換器/光纖/中間控制器 103)。作為經由各別互連元件間接耦合至一主機之一或多個SSD之一實例性實施例,SSD 101之一或多個例項中之每一者分別間接耦合至主機102。每一間接耦合係經由耦合至切換器/光纖/中間控制器103之外部介面110及耦合至主機102之中間介面104之一各別例項。
包含切換器/光纖/中間控制器103之實施例中之某些實施例亦包含經由記憶體介面180耦合且可由SSD存取之卡記憶體112C。在各種實施例中,SSD、切換器/光纖/中間控制器及/或卡記憶體中之一或多者包含於一實體上可識別模組、卡或可插入元件(例如,I/O卡116)上。在某些實施例中,SSD 101(或其變化形式)對應於耦合至操作為主機102之一起始器之一SAS硬碟機或一SATA硬碟機。
主機102能夠執行主機軟體115之各種元件,諸如OS 105、驅動程式107、應用程式109及多裝置管理軟體114之各種組合。虛線箭頭107D表示主機軟體←→I/O裝置通信,例如,經由驅動程式107及應用程式109(經由驅動程式107或直接作為一VF)自SSD 101之例項中之一或多者發送至OS 105之任何一或多者及自OS 105之任何一或多者接收至SSD 101之例項中之一或多者之資料。
OS 105包含及/或能夠藉助用於與SSD介接之驅動程式(概念上由驅動程式107圖解說明)操作。Windows之各種版本(例如,95、98、ME、NT、XP、2000、Server、Vista及7)、Linux之各種版本(例如,Red Hat、Debian及Ubuntu)及MacOS之各種版本(例如,8、9及X)係OS 105之實例。 在各種實施例中,驅動程式係可藉助一標準介面及/或協定(諸如,SATA、AHCI或NVM Express)操作之標準及/或泛用驅動程式(有時稱為「壓製於光碟之拆封授權軟體(shrink-wrapped)」或「經預安裝」),或視情況係定製及/或供應商特定的以達成特定於SSD 101之命令之使用。某些硬碟機及/或驅動程式具有穿通模式以啟用應用程式級程式(諸如,經由經最佳化NAND存取(有時稱為ONA)或直接NAND存取(有時稱為DNA)技術之應用程式109)以將命令直接傳遞至SSD 101,使得一經定製應用程式能夠甚至藉助一泛用驅動程式使用特定於SSD 101之命令。ONA技術包含以下各項中之一或多者:非標準修改程式(提示)之使用;供應商特定命令之使用;非標準統計資料之通信(諸如根據壓縮性之實際NVM使用)及其他技術。DNA技術包含以下各項中之一或多者:提供對NVM之未經映射讀取、寫入及/或抹除存取之非標準或供應商特定命令之使用;諸如藉由繞過I/O裝置原本將進行之資料之格式化來提供對NVM之更直接存取之非標準或供應商特定命令之使用;及其他技術。驅動程式之實例係不具有ONA或DNA支援之一驅動程式、一ONA啟用之驅動程式、一DNA啟用之驅動程式及一ONA/DNA啟用之驅動程式。驅動程式之進一步之實例係一供應商提供、供應商開發及/或供應商增強之驅動程式及一用戶端提供、用戶端開發及/或用戶端增強之驅動程式。
應用程式級之程式之實例係不具有ONA或DNA支援之一 應用程式、一ONA啟用應用程式、一DNA啟用應用程式及一ONA/DNA啟用應用程式。虛線箭頭109D表示應用程式←→I/O裝置通信(例如,經由一驅動程式之繞過或經由用於一應用程式之一VF之繞過),例如一ONA啟用應用程式及一ONA啟用驅動程式與一SSD通信,諸如在該應用程式不使用OS作為一中介之情況下。虛線箭頭109V表示應用程式←→I/O裝置通信(例如,經由用於一應用程式之一VF之繞過),例如,一DNA啟用應用程式及一DNA啟用驅動程式與一SSD通信,諸如在該應用程式不使用OS或該驅動程式作為中介之情況下。
在某些實施例中,NVM 199之一或多個部分用於韌體儲存(例如,韌體106)。該韌體儲存包含一或多個韌體影像(或其部分)。舉例而言,一韌體影像具有(例如)藉由SSD控制器100之CPU核心172執行之韌體之一或多個影像。針對另一實例,一韌體影像具有(例如)在韌體執行期間由CPU核心參考之常數、參數值及NVM裝置資訊之一或多個影像。韌體之影像對應於(例如)一當前韌體影像及零或零以上先前(相對於韌體更新)韌體影像。在各種實施例中,韌體提供泛用、標準、ONA及/或DNA操作模式。在某些實施例中,經由視情況由一驅動程式傳遞及/或提供之密鑰或各種軟體技術來啟用韌體操作模式中之一或多者(例如,一或多個API係「未經鎖定」)。
在缺少切換器/光纖/中間控制器之某些實施例中,SSD經由外部介面110直接耦合至主機。在各種實施例中, SSD控制器100經由其他控制器(諸如,一RAID控制器)之一或多個中間階層耦合至主機。在某些實施例中,SSD 101(或其變化形式)對應於一SAS硬碟機或一SATA硬碟機,且切換器/光纖/中間控制器103對應於一擴充器,該擴充器又耦合至一起始器,或另一選擇係,切換器/光纖/中間控制器103對應於一橋接器,該橋接器經由一擴充器間接耦合至一起始器。在某些實施例中,切換器/光纖/中間控制器103包含一或多個PCIe切換器及/或光纖。
在諸如其中主機102作為一計算主機(例如,一電腦、一工作站電腦、一伺服器電腦、一儲存伺服器、一SAN、一NAS裝置、一DAS裝置、一儲存器具、一PC、一膝上型電腦、一筆記型電腦及/或一小筆電電腦)之實施例中之某些實施例等各種實施例中,計算主機視情況能夠與一或多個本端及/或遠端伺服器(例如,選用伺服器118)通信(例如,經由選用I/O及儲存裝置/資源117以及選用LAN/WAN 119)。舉例而言,該通信達成SSD 101元件中之任何一或多者之本端及/或遠端存取、管理及/或使用。在某些實施例中,該通信係完全地或部分地經由乙太網路。在某些實施例中,該通信係完全地或部分地經由光纖通道。在各種實施例中,LAN/WAN 119表示一或多個區域及/或廣域網路,諸如一伺服器群中之一網路、耦合伺服器群之一網路、一都會區網路及網際網路中之任何一或多者。
在各種實施例中,一SSD控制器及/或一計算主機快閃記憶體控制器結合一或多個NVM一起實施為一非揮發性儲存 組件,諸如一USB儲存組件、一CF儲存組件、一MMC儲存組件、一eMMC儲存組件、一Thunderbolt儲存組件、一UFS儲存組件、一SD儲存組件、一記憶卡儲存組件及一xD圖片卡儲存組件。
在各種實施例中,一SSD控制器(或一計算主機快閃記憶體控制器)之全部或任何部分或其功能實施於一主機(例如,圖1B之主機102)中,該控制器欲與該主機耦合。在各種實施例中,一SSD控制器(或一計算主機快閃記憶體控制器)之全部或任何部分或其功能係經由硬體(例如,邏輯電路)、軟體及/或韌體(例如,驅動程式軟體或SSD控制韌體)或其任何組合而實施。舉例而言,一ECC單元(諸如,類似於圖1A之ECC 161及/或ECC-X 135)之功能性或與該ECC單元相關聯之功能性係部分地經由軟體實施於一主機上且部分地經由韌體與硬體之一組合實施於一SSD控制器中。針對另一實例,一回收器單元(諸如,類似於圖1A之回收器151)之功能性或與該回收器單元相關聯之功能性係部分地經由軟體實施於一主機上且部分地經由硬體實施於一計算主機快閃記憶體控制器中。
映射操作
圖2圖解說明映射一LBA之一LPN部分之一實施例之選定細節。在某些實施例中,一讀取單位係可獨立讀取之一NVM之一最精細細微度,諸如NVM之一頁之一部分。在進一步之實施例中,該讀取單位對應於一(較低階)錯誤校正碼之檢查位元(有時稱為冗餘)連同由該等檢查位元保護 之所有資料。舉例而言,圖1A之ECC 161經由檢查位元(諸如,經由一LDPC碼)實施錯誤校正,且除由LDPC編碼位元保護之資料位元以外,一讀取單位亦對應於實施LDPC碼之編碼位元。
在某些實施例中,映射141(諸如)經由表143(如圖1A中所圖解說明)將LBA 211之LPN 213部分映射至用於LPN之映射資訊221。用於一LPN之映射資訊(諸如,用於LPN之映射資訊221)有時稱為一映射項目。映射141被認為使一LPN與一對應映射項目相關聯。在各種實施例中,映射係經由一或多個相關聯查找、經由一或多個非相關聯查找及/或經由一或多個其他技術。
在某些實施例中,SSD控制器100維持用於每一LPN之一個映射項目潛在地及/或主動地在使用中。
在某些實施例中,用於LPN之映射資訊221包含各別讀取單位位址223及讀取單位之長度225。在某些實施例中,一長度及/或一跨度係(諸如)藉由將長度儲存為自跨度之一位移(例如,在讀取單位之長度225之全部或任何部分中)而以經編碼方式儲存。在進一步之實施例中,一第一LPN與一第一映射項目相關聯,一第二LPN(不同於第一LPN,但係指與藉由該第一LPN所指代之一邏輯頁相同之一大小之一邏輯頁)與一第二映射項目相關聯,且該第一映射項目之讀取單位之各別長度不同於該第二映射項目之讀取單位之各別長度。
在各種實施例中,在一相同時間點處,一第一LPN與一 第一映射項目相關聯,一第二LPN(不同於第一LPN)與一第二映射項目相關聯,且該第一映射項目之各別讀取單位位址與該第二映射項目之各別讀取單位位址相同。在進一步之實施例中,與第一LPN相關聯之資料及與第二LPN相關聯之資料兩者儲存於NVM 199中之一相同裝置之一相同實體頁中。
根據各種實施例,讀取單位位址223與以下各項中之一或多者相關聯:NVM中之一開始位址;NVM中之一結束位址;前述項中之任一者之一位移;及用於識別與LPN 213相關聯之NVM之一部分之任何其他技術。
圖3圖解說明在一讀取單位位址處存取一NVM以產生組織為各種讀取單位(共同地具有按讀取單位之配量所量測之一長度)之讀取資料之一實施例之選定細節。根據各種實施例,第一讀取單位313係以下各項中之一或多者:具有NVM之一位址空間中之一最低位址之讀取資料311中之讀取單位中之一讀取單位;該等讀取單位中之一固定讀取單位;該等讀取單位中之一任意讀取單位;該等讀取單位中之一可變讀取單位;及藉由任何其他技術選擇之該等讀取單位中之一讀取單位。在各種實施例中,SSD控制器100能夠存取NVM 199且藉由讀取不多於由讀取單位之長度225規定之若干讀取單位來產生讀取資料311。
圖4A圖解說明如讀取單位401A之一讀取單位(諸如,圖3之讀取單位313或315)之一實施例之選定細節。在各種實施例及使用情景中,標頭1 411A至標頭N 419A係連續的, 且由該等標頭中之每一者識別(諸如,經由各別位移)之各別資料區連續跟隨該等標頭中之一最後標頭。該等資料區共同地形成資料位元組421A。該等資料區係以匹配儲存標頭之位置次序之一位置次序儲存。舉例而言,設想一第一標頭,在一讀取單位之開頭處,其中一第二標頭及一第三標頭連續地跟隨第一標頭。一第一資料區(由第一標頭中之一第一位移識別)連續地跟隨第三標頭。一第二資料區(由第二標頭中之一第二位移識別)連續地跟隨第一資料區。類似地,一第三資料區(由第三標頭識別)連續地跟隨第二資料區。
圖4B圖解說明如讀取單位401B之一讀取單位(諸如,圖3之讀取單位313或315)之另一實施例之選定細節。在各種實施例及使用情景中,標頭標記(HM)410B係一選用初始欄位(諸如,一位元組欄位),其指示跟隨之連續標頭(標頭1 411B、標頭2 412B...標頭N 419B)之一數目。資料區(資料位元組421B、資料位元組422B...資料位元組429B)分別由標頭(標頭1 411B、標頭2 412B...標頭N 419B)識別且以與儲存標頭之位置次序相反之一位置次序儲存。標頭在一讀取單位之開頭處開始,而對應資料區在一讀取單位之結束處開始。在某些實施例中,一資料區(例如,資料位元組421B、資料位元組422B...資料位元組429B)中之資料位元組係以一向前次序(匹配位置次序之位元組次序)配置,而在其他實施例中,該等資料位元組係以一顛倒次序(相對於位置次序顛倒之位元組次序)配置。在某些實施例 中,一標頭標記用於其中以一相同位置次序(例如,如圖4A中所圖解說明)儲存標頭及資料位元組之讀取單位中。
在某些實施例中,選用填補位元組431A(或431B)係根據與一特定LPN相關聯之資料之細微度。舉例而言,在某些實施例中,若在儲存與標頭1 411A至標頭N 419A(或標頭1 411B、標頭2 412B...標頭N 419B)中之幾乎一最後標頭相關聯之資料之後資料位元組421A(或共同地,資料位元組421B、資料位元組422B...資料位元組429B)具有少於一固定量之剩餘空間(諸如,8位元組),則用於與最後標頭相關聯之一LPN之資料以一後續讀取單位開始。在進一步之實施例中,最後標頭中之一特定位移值(例如,總位移值)指示用於與最後標頭相關聯之LPN之資料以後續讀取單位開始。
圖5圖解說明具有若干欄位之一標頭(諸如,圖4A之標頭1 411A至標頭N 419A或圖4B之標頭1 411B至標頭419B中之任一者)之一實施例之選定細節。在某些實施例中,標頭係固定長度(例如,每一標頭係相同數目個位元組長)。標頭501包含欄位類型511、最後指示符513、旗標515、LPN 517、長度519及位移521。類型欄位識別資料位元組之一類別。舉例而言,類型欄位指示資料位元組之類別係主機資料(例如,邏輯頁資料)或系統資料(例如,映射資訊或檢查點資訊)中之一者。最後欄位指示標頭係資料位元組之前的最後標頭。在具有一標頭標記之某些實施例中,視情況省略最後欄位。LPN欄位係標頭與其相關聯之 LPN。LPN欄位使得能夠剖析標頭以(舉例而言)藉由搜尋該等標頭中具有匹配一特定LPN之一LPN欄位之一標頭來判定與該特定LPN相關聯之標頭中之一特定標頭。長度欄位係資料位元組之位元組長度(例如,在與標頭501相關聯之資料位元組421A中存在多少資料位元組)。在某些實施例中,根據一特定細微度(例如,8位元組細微度)將位移欄位中之一位移捨入。
在各種實施例中,與一特定LPN相關聯之某些或全部資訊儲存於與該特定LPN相關聯之一映射項目、與該特定LPN相關聯之一標頭或此兩者中。舉例而言,在某些實施例中,長度519之某些或全部儲存於一映射項目中而非一標頭中。
非揮發性記憶體組織及管理之選定態樣
在各種實施例中,實施一SSD之大量儲存之NVM係經由一或多個快閃記憶體晶粒實施。每一快閃記憶體晶粒包含整數個區塊(例如,N個區塊)且一區塊係一最小抹除配量。在某些實施例中,每一區塊包含整數個頁且一頁係一最小寫入配量。根據各種實施例,揭示以下各項中之一或多者:一讀取單位係一最小讀取及錯誤校正配量;每一頁包含整數個讀取單位;兩個或兩個以上頁之一相關聯群組包含整數個讀取單位;且讀取單位視情況及/或選擇性地跨越頁邊界。
在各種實施例中,各種NVM管理功能(例如,讀取、回收、抹除及/或程式化/寫入)係以R區塊單元執行。一R區 塊經例示為跨越(例如)一快閃記憶體之各種晶粒(例如,所有晶粒、不包括完全或部分故障之晶粒之所有晶粒及/或一或多個選定子組之晶粒)之一邏輯截塊或區段。舉例而言。在具有R快閃記憶體晶粒之一快閃記憶體中,每一快閃記憶體晶粒具有N個區塊,每一R區塊係合在一起之快閃記憶體晶粒中之每一者之第i個區塊,總計N個R區塊。繼續該實例,若R快閃記憶體晶粒中之一者故障,則每一R區塊係除該故障快閃記憶體晶粒之外之快閃記憶體晶粒中之每一者之第i個區塊,總計N-1個R區塊。針對另一實例,在具有R快閃記憶體晶粒之一快閃記憶體中,每一快閃記憶體晶粒具有N個區塊,每一R區塊係快閃記憶體晶粒之每一者之第i個及第(i+1)個區塊,總計N/2個R區塊。針對又一實例,在具有複數個雙平面裝置之一快閃記憶體中,每一R區塊係該等雙平面裝置中之每一者之第i個偶數區塊及第i個奇數區塊。
虛擬硬碟機制造模型
圖6圖解說明一虛擬硬碟機制造模型(諸如與虛擬SSD製造模型)之一實施例之選定細節之一流程圖。操作經圖解說明為由三個不同實體執行:設計供應商610(例如,一積體電路設計公司)、製造商620(例如,一合約製造公司)及系統供應商630(例如,一OEM)。在各種實施例中,不同企業實體係不同股份公司,而在其他實施例中,該等不同企業實體中之一或多者係一相同股份公司之一部分。在各種實施例中,不同企業實體中之任何一或多者係以下各項 中之任何一或多者:一股份公司、一合資企業、一獨資企業、作為一發展中企業正式或非正式運營之一或多個個人公司及非任何特定企業或組織之成員運營之一或多個個人公司。在各種實施例中,不同企業實體中之任何一或多者係以下各項中之任何一或多者:一盈利實體、一非盈利實體、一教育實體及一政府實體。
在概念上,設計供應商將一SSD控制器及相關聯韌體連同一參考設計及所推薦及/或所支援之快閃記憶體裝置(及/或諸如其他裝置/組件之其他材料)之一相關聯清單提供至系統供應商以用於使用該SSD控制器及選自該清單之一或多個快閃記憶體裝置(及/或其他材料)來生產一SSD。系統供應商然後選擇材料以至少部分地基於SSD控制器、韌體、參考設計、清單及/或其一或多個屬性(例如,價格、可用性、耐久性及/或效能)製造SSD。選擇包含自清單當中選擇一或多個快閃記憶體裝置。系統供應商進一步採購材料以製造一或多個原型之SSD。在各種實施例中,使用選定快閃記憶體裝置之不同快閃記憶體裝置來建造原型中之不同原型以便達成選定記憶體裝置之比較。一製造商(諸如根據來自系統供應商之引導一合約製造商動作)建造原型SSD。設計供應商評估原型SSD且將評估之結果全部或任何部分提供至系統供應商。
系統供應商至少基於所提供結果之一部分而直接或經由一合約製造商(諸如建造原型SSD之合約製造商)或兩者方式大量製造SSD。系統供應商採購(或引導採購)大量製造 中使用之材料(例如,來自設計供應商之SSD控制器及/或由清單識別及視情況來自一或多個快閃記憶體供應商之快閃記憶體裝置)。系統供應商將大量製造之SSD銷售至一或多個客戶(例如,供用於諸如一伺服器之一企業應用、諸如一資料中心之一雲端應用、諸如一加固電腦之一工業應用及/或諸如一PC之一用戶端應用)。因此,系統供應商能夠銷售大量製造之SSD而無需支付內建至大量製造SSD中之快閃記憶體裝置(及/或其他材料)之一差額,除支付至快閃記憶體裝置(及/或其他材料)之供應商自身之一差額。
在某些實施例及/或使用情景中,系統供應商視情況完全或部分地基於由設計供應商提供至系統供應商之培訓及/或工具而執行至少關於與客戶之互動之RMA及/或檢修操作。根據各種實施例,RMA及/或檢修提供資訊至由系統供應商、設計供應商或其兩者執行之故障分析操作資訊。大量製造之SSD之全部或任何部分之重新加工(舉例而言)藉由合約製造商執行。
實例性系統供應商包含所謂「雲端提供商」(例如,Google、Facebook及Amazon)、資料中心實施者/使用者(例如,銀行、製藥公司及金融服務公司)及包含SSD之系統之OEM。其他實例性系統供應商包含某些類型之製造商,諸如某些合約製造商及/或某些原始設計製造商。
更特定而言,且如圖所圖解說明,設計供應商實施用於由SSD控制器執行之一SSD控制器及韌體(控制器及韌體611)。設計供應商至少部分地基於SSD控制器及韌體而生 產至少一個相關聯參考設計及供與該等參考設計中之每一者一起使用之所推薦及/或所支援快閃記憶體裝置之一清單(參考設計及快閃記憶體推薦612)。設計供應商使用(例如)SSD控制器、韌體、至少一個參考設計及該清單之快閃記憶體裝置中之一或多者來生產一或多個SSD之文件、工程/除錯樣本。文件(例如,行銷推廣品及/或工程資訊)完全或部分地基於樣本SSD及清單之快閃記憶體裝置之評估/特性化(例如,價格、效能及/或特徵)之任何一或多者以及原本係設計供應商內部之設計文件(例如,闡述SSD控制器、韌體及/或至少一個參考設計之架構文件)。
設計供應商將文件之全部或任何部分、樣本SSD中之一或多者、至少一個參考設計及/或(所推薦及/或所支援之快閃記憶體裝置之)清單提供至系統供應商。至少部分地基於由設計供應商提供至系統供應商之前述物項,系統供應商選擇且採購一SSD之大量製造所需之材料(或另一選擇係,足以用於原型建構之初始數量之材料)且核准大量製造SSD之一設計(BOM選擇、BOM採購及設計核准632)。選擇包含自清單之快閃記憶體裝置當中選擇一或多個快閃記憶體裝置。採購包含採購足夠數量之用於SSD原型建構及/或大量生產之選定快閃記憶體裝置。大量製造之SSD係根據至少一個參考設計且使用SSD控制器、韌體(或視情況及/或選擇性地,針對系統供應商客製化之韌體之一或多個版本,諸如一企業版本、一雲端版本、一工業版本及/或一用戶端版本)及選定快閃記憶體裝置。在某些實施例 中,韌體(或韌體之其他客製化版本)經授權給系統供應商以供用於藉助SSD控制器製造之SSD中。
隨後,系統供應商630引導製造商620根據至少一個參考設計建構一或多個原型SSD(原型製造623),且該一或多個原型SSD包含SSD控制器、韌體及清單之選定快閃記憶體裝置。該等原型SSD係使用由系統供應商採購之至少某些材料(例如,SSD控制器及選定快閃記憶體裝置)建構。在某些實施例中及/或使用情景(未圖解說明),系統供應商建構原型SSD。
設計供應商610然後評估及/或特徵化該等原型SSD,諸如經由硬體驗證及特性化(硬體驗證/特性化614)及/或可靠性及驗證測試(RDT、EVT及DVT 615)。硬體驗證及特性化視情況包含互通性及/或順從性檢查。舉例而言,原型SSD經驗證對一主機介面協定及/或一電信號標準之順從性。根據各種實施例,設計供應商使用韌體、針對系統供應商客製化之韌體之一或多個版本或其任何組合來執行評估及/或特性化。設計供應商將驗證/特性化之一或多個結果提供至系統供應商。系統供應商檢查所提供之結果中之至少某些結果且判定原型SSD係足以用於大量製造之品質(系統品質保證634)。設計供應商將可靠性及驗證測試之一或多個結果提供至諸如由製造商(大量製造625)及/或系統供應商(大量製造635)執行之大量製造(大量製造655)。系統供應商將系統品質保證之結果提供至大量製造(不論係由製造商、系統供應商或是其兩者執行)。
在某些實施例中,為達成大量製造之SSD之大量製造,設計供應商610提供一製造軟體工具(製造軟體工具616)以供大量製造(諸如大量製造655,無論由製造商620執行為大量製造625或由系統供應商630執行為大量製造635)之選用使用。在各種實施例及/或使用情景中,製造軟體工具基於來自以下共同圖解說明為選定設計供應商操作618之各項中之任何一或多者之資訊:控制器及韌體611、參考設計及快閃記憶體推薦612、硬體驗證/特性化614及RDT、EVT及DVT 615。舉例而言,在某些實施例中,製造軟體工具係在耦合至複數個大量製造之SSD之一電腦上運行之一程式,且能夠與所有複數個大量製造之SSD通信以便實質上、完全或部分並行組態該等大量製造之SSD。
根據各種實施例及/或使用情景,製造軟體工具達成及/或執行以下各項中之一或多者:初始組態大量製造之SSD中之一者;將韌體下載至該等大量製造之SSD中之一者上;對該等大量製造之SSD中之一者執行MST或其他診斷功能;執行用於該等大量製造之SSD中之一者之一各別獨特加密密鑰之指派;將其他獨特ID指派至該等大量製造之SSD中之一者(諸如一乙太網路MAC位址);將資訊記錄於一資料庫中(諸如一製造記錄及/或製造統計資料);作為獨特加密密鑰之指派之一部分及/或針對密鑰委付而與設計供應商之伺服器通信(諸如經由網際網路)及視情況及/或選擇性地用作大量製造之一部分之其他功能。在某些實施例中,製造軟體工具用於原型建構(諸如用於原型製造623)。 關於進一步說明參考本文中其他處之「製造軟體工具」。
系統供應商然後銷售大量製造之SSD中之一或多者。所銷售之大量製造之SSD中之某些被客戶退貨,諸如由於所感知缺陷、故障、錯失、瑕疵及/或缺點。系統供應商接收來自客戶之所銷售之SSD中之經退貨者,且執行收入檢查及/或檢修(RMA/服務636)。舉例而言,取決於檢查及/或檢修之結果,為該等經退貨之SSD提供諸如由設計供應商(故障分析617)及/或系統供應商(故障分析637)執行之故障分析。在某些情形中,製造商(及/或系統供應商,為特定圖解說明)嘗試修復、修正及/或修理已經故障分析之該等SSD中之某些SSD(重新加工627)。系統供應商然後視情況銷售經故障分析SSD中之經成功重新加工之SSD(未圖解說明)。在某些實施例中,設計供應商為系統供應商供應一或多個軟體工具以輔助故障分析及/或判定在故障分析之後將經退貨之SSD發送至何處(例如,設計供應商、製造商或系統供應商)。
在各種實施例及/或使用情景中,設計供應商將SSD控制器之例項銷售至系統供應商、將韌體之使用授權給系統供應商、生產由設計供應商為系統供應商客製化之韌體且授權其使用及其之任何組合。
在某些基於授權之實施例中,SSD生產(例如,原型或大量)係至少部分地經由設計供應商授權給系統供應商之各種能力(諸如,韌體授權、韌體戳記及/或韌體提取)而達成。在基於授權之實施例中之某些實施例中,設計供應商 對系統供應商之授權條款需要使用一製造軟體工具(諸如製造軟體工具616)。在需要使用一製造軟體工具之基於授權之實施例中之某些實施例中,執行韌體授權、韌體戳記及/或韌體提取中之一或多者需要(例如,經由設計供應商對系統供應商之授權條款)經由製造軟體工具。根據各種實施例,需要使用如設計供應商610提供之製造軟體工具616使得設計供應商610能夠進行以下各項中之一或多者:諸如藉由經由網際網路將統計資料及/或其他資訊報告至設計供應商610之製造軟體工具616,監視生產及/或追蹤用於SSD之韌體或其他授權;針對所製造之SSD執行諸如密鑰委付之功能;及其他監視、追蹤、授權或委付功能。
儘管圖中未特定圖解說明,但在某些實施例及/或使用情景中,所圖解說明之操作中之某些操作提供回饋至所圖解說明操作之其他操作。舉例而言,硬體驗證/特性化614及/或RDT、EVT及DVT 615之結果之某些或所有結果經回饋至控制器及韌體611及/或參考設計及快閃記憶體推薦612。針對另一實例,自大量製造625及/或大量製造635獲得之資訊回饋至控制器及韌體611、參考設計及快閃記憶體推薦612以及BOM選擇、BOM採購及設計核准632中之任何一或多者。針對又一實例,自RMA/檢修636、故障分析617、故障分析637及/或重新加工627中之任何一或多者收集之資料回饋至控制器及韌體611、參考設計及快閃記憶體推薦612、BOM選擇、BOM採購及設計核准632、大量製造625以及大量製造635中。
在某些實施例及/或使用情景中,圖6中所圖解說明之操作在概念上由一相同設計供應商及複數個系統供應商(及視情況對應複數個製造商)複製。因此,設計供應商將虛擬硬碟機制造能力提供至該複數個系統供應商。
在各種實施例及/或使用情景中,由設計供應商實施之SSD控制器及/或韌體(控制器及韌體611)能夠與來自複數個快閃記憶體裝置供應商之快閃記憶體裝置一起操作。舉例而言,SSD控制器及/或韌體能夠與具有變化讀取、寫入(程式)及/或抹除計數、參數及/或特性之快閃記憶體裝置一起操作。繼續該實例,SSD控制器包含(例如,由韌體及/或各種硬體狀態機)用以追蹤每一快閃記憶體晶粒、其區塊、其頁或其任何部分或子部分上之操作(例如,讀取、寫入及/或抹除)之數目或操作之特性(重試、軟性錯誤及/或硬性錯誤之數目)之記憶體(例如,控制RAM 125之縮放資料結構126)。SSD控制器根據所追蹤之操作之數目、所追蹤之操作之特性及或SSD控制器正管理之特定快閃記憶體裝置之特定特性而選擇性地及/或視情況變化讀取、寫入及/或抹除操作。在某些情形中,由SSD控制器進行之讀取、寫入及/或抹除操作之操作變化達成SSD控制器與來自複數個快閃記憶體供應商之各種快閃記憶體裝置一起操作,且該等各種快閃記憶體裝置包含於所推薦及/或所支援之快閃記憶體裝置之清單中。
針對另一實例,SSD控制器及/或韌體能夠根據諸如以下各項中之一或多者之各種錯誤復原碼而管理快閃記憶體裝 置:零或零以上同位碼、零或零以上RS碼、零或零以上BCH碼、零或零以上維特比或其他格狀碼及零或零以上LDPC碼。繼續該實例,SSD控制器及/或韌體能夠根據一第一碼率之各種BCH碼而管理選自一第一快閃記憶體供應商之快閃記憶體裝置以及根據一第二碼率之各種BCH碼而管理選自一第二快閃記憶體供應商之快閃記憶體裝置。此外,SSD控制器及/或韌體能夠根據各種同位碼而管理來自一第三快閃記憶體供應商之一第一類別之快閃記憶體裝置,且根據各種LDPC碼而管理來自該第三快閃記憶體供應商之一第二類別之快閃記憶體裝置。所推薦及/或所支援之快閃記憶體裝置之清單視情況包含以下各項中之一或多者:選自該第一快閃記憶體供應商之快閃記憶體裝置、選自該第二快閃記憶體供應商之快閃記憶體裝置以及來自該第三快閃記憶體供應商之第一及第二類別之快閃記憶體裝置。
在各種實施例及/或使用情景中,SSD控制器及/或韌體能夠與諸如以下各項中之一或多者之各種大小配量之主機LB一起操作:512、516、520、524、528、532、536、540、1024、1032、2048、2056、4096、4100、4104、4108、4112、4116、4160、4164、4172、4192、4196、4204、4224、4228、4236及4256個位元組。與前述LB大小中之任一者一起操作使得能夠將SSD控制器及/或韌體用於以各別各種預期客戶為目標之各種SSD產品中。舉例而言,系統供應商提供能夠與前述LB大小中之任何兩或兩個 以上者一起操作之一或多個SSD產品至係一伺服器(例如,儲存伺服器)供應商之一企業客戶,或係一資料中心供應商之一雲端客戶,且提供能夠與512位元組LB一起操作之一或多個SSD產品至係一加固電腦供應商之一工業客戶或係一PC(例如,膝上型)供應商之一用戶端客戶。
在各種實施例及/或使用情景中,SSD控制器及/或韌體能夠實施各種能力之SSD,從而達成以各別各種預期客戶為目標之SSD產品。舉例而言,系統供應商提供一相對大能力SSD至係一伺服器(例如,儲存伺服器)供應商之一企業客戶,或係一資料中心供應商之一雲端客戶,且提供一相對小能力SSD至係一加固電腦供應商之一工業客戶或係一PC(例如,膝上型)供應商之一用戶端客戶。針對另一實例,系統供應商提供兩個SSD至一企業及/或一雲端客戶,該等SSD中之一第一者具有一相對較大能力且能夠相對較慢隨機存取,且該等SSD中之一第二具有一相對較小能力且能夠相對較快隨機存取。在某些實施例中,SSD控制器及/或韌體能夠至少部分地經由主機LBA至NVM位置之一雙階映射而實施變化之能力之SSD。雙階映射係(例如)部分地經由一LBA除以表示每SLM頁之SLM項目之一數目之一可程式化值從而產生一商及一餘數而實施。該商選擇一FLM商且該餘數選擇由該選定FLM項目選擇之一SLM頁之一特定項目(關於進一步闡述參見本文中別處之「LBA至NVM之位置映射」)。
在各種實施例及/或使用情景中,SSD控制器及/或韌體 能夠實施變化溫度能力(諸如一非擴展溫度範圍內之一可靠操作及一擴展溫度範圍內之操作)之SSD,從而達成以各種溫度範圍為目標之SSD產品。舉例而言,一系統供應商提供非擴展溫度範圍SSD至一企業、雲端及/或用戶端客戶,且提供擴展溫度範圍SSD至一工業客戶。在某些實施例中,SSD控制器及/或韌體能夠至少部分地經由與變化溫度能力之非揮發性記憶體裝置相容操作而實施變化溫度能力之SSD。
在各種實施例及/或使用情景中,SSD控制器及/或韌體能夠實施效能之變化可靠性、耐久性及/或可預測性之SSD,從而達成以效能特徵設定之各種可靠性、耐久性及/或可預測性為目標之SSD產品。舉例而言,一系統供應商提供相對較高可靠性及耐久性SSD至一企業、雲端及/或工業客戶,及提供相對較低可靠性及耐久性SSD至一用戶端客戶。針對另一實例,一系統供應商提供具有相對較可預測之效能之SSD至一雲端客戶,且提供具有相對較不可預測之效能之SSD至一企業、工業及/或用戶端客戶。在某些實施例中,SSD控制器及/或韌體能夠至少部分地經由與變化可靠性及/或耐久性之非揮發性記憶體裝置之操作而實施變化可靠性及/或耐久性之SSD。在某些實施例中,SSD控制器及/或韌體能夠至少部分地經由以變化可靠性及/或耐久性模式操作相同非揮發性記憶體裝置(例如,以一SLC模式或一MLV模式操作MLC裝置)而實施變化可靠性及/或耐久性之SSD。在某些實施例中,SSD控制器及/或韌體能 夠至少部分地經由變化一定量之超規空間(例如,在某些使用情景中,較高超規空間達成較高效能可預測性)而實施變化之效能可預測性之SSD。
因此,使用除法及變化可程式化值針對分配至一雙階映射之儲存(諸如,該雙階映射之一第一階之儲存及/或第二階映射頁之一快取記憶體之儲存)之固定大小儲存達成一相對較大能力SSD與一相對較小能力SSD相比以一相對較大細微度映射。隨著映射細微度減少,在某些實施例及/或使用情景中,可用之同時主動映射項目之一數目增加。在某些情形中,隨著同時主動映射項目之數目增加,隨機存取之效能及/或經高效處理之獨立連續串流之一數目增加。
在各種實施例及/或使用情景中,由設計供應商(控制器及韌體611)實施之SSD控制器完全相同於圖1A之SSD控制器100或係其一變化形式。在各種實施例及/或使用情景中,由設計供應商(控制器及韌體611)實施之韌體完全相同於圖1B之韌體106或係其一變化形式。在各種實施例及/或使用情景中,由設計供應商(參考設計及快閃記憶體推薦612)產生之至少一個參考設計完全相同於圖1A之SSD 101或係其一變化形式,(例如)如用於圖1B中所圖解說明之實施例及/或上下文中之任一者中。在各種實施例及/或使用情景中,由設計供應商(參考設計及快閃記憶體推薦612)產生之所推薦及/或所支援快閃記憶體裝置之清單係關於快閃記憶體裝置192、快閃記憶體晶粒194及NVM 199中之任 何一或多者,如圖1A中所圖解說明。
圖6之上述說明側重於作為由設計供應商關於由系統供應商執行之BOM選擇而所特定推薦及/或支援之元件之快閃記憶體裝置。在各種其他實施例中,諸如其他裝置/組件(包含電源供應器、溫度感測器、殼體、印刷電路板及被動組件)之各種其他(額外)材料係由設計供應商關於由系統供應商執行之BOM選擇所特定推薦及/或所支援。舉例而言,來自一第一溫度感測器供應商之第一及第二溫度感測器係由設計供應商所推薦及/或所支援,而來自一第二溫度感測器供應商之一第三溫度感測器非設計供應商所推薦且不支援(例如,由於缺少韌體支援)。因此,當為一SSD之原型設計或製造選擇材料時,系統供應商自由自第一及第二溫度感測器當中挑選,而非第三溫度感測器。
SSD大量製造及原型建構
圖7A圖解說明根據一虛擬硬碟機制造模型之SSD之(大量)製造(或原型建構)之一實施例之選定細節之一概念表示。所圖解說明元素經分組成兩個解耦合部分,從而視情況使得能夠單獨於工廠操作執行工程設立操作。第一部分(工程730A)係(例如)每單個生產運行執行一次或針對一相同模型SSD之一系列生產運行執行一次以針對生產運行設立。第二部分(工廠740F)針對每一生產運行(不論一單個生產運行(諸如針對原型建構)或是一相同模型SSD之一系列生長運行中之一者(諸如針對大量製造))執行以完成每一各別SSD之各種製造態樣。根據各種實施例及/或使用情景, 經繪示為工程730A之元素之操作之全部或任何部分係由以下各項中之一或多者執行:圖6之系統供應商630及圖6之製造商620。
工程730A之元素包含用於一或多個SSD之製造之一韌體影像之產品,有時稱作「經加戳記韌體」(製造韌體套件721)。製造韌體影像係經由一應用程式(套件管理員711)根據一授權描述(授權檔案701)及一散佈式韌體影像(散佈韌體套件703)而產生。套件管理員使用授權檔案自散佈韌體套件提取韌體,且執行一或多個加戳記功能(諸如以使該製造韌體套件加密、具安全性、個人化及/或客製化),從而產生製造韌體套件。套件管理員視情況針對如授權檔案中所識別之可用經授權硬碟機組態(例如,一設計供應商已同意關於系統供應商提供及/或支援之組態)中之全部或任一者產生硬碟機組態模板。在某些實施例中,套件管理員能夠經由一GUI互動。在各種實施例及/或使用情景中,授權檔案、散佈韌體套件及套件管理員中之任何一或多者係由圖6之設計供應商610提供。
工程730A之元素進一步包含進一步包含用於控制由工廠740F之元素所使用之製造軟體之一或多個命令線輸入及/或檔案(硬碟機組態及設定檔案722)之產品。硬碟機組態及設定檔案係經由一應用程式(組態管理員712)根據硬碟機組態及/或參數(系統供應商期望之硬碟機設定704)之一描述而產生。組態管理員視情況操作為用於管理所有SSD設定及/或下載選項之一中央儲存庫。在某些實施例中,組態 管理員能夠操作為具有用於硬碟機設定及韌體下載流程選項之一控制面板之一GUI。在某些實施例及/或使用情景中,系統供應商期望之硬碟機設定由圖6之系統供應商630提供,且組態管理員由圖6之設計供應商610提供。
製造韌體套件及硬碟機組態及設定檔案自工程730A傳遞至工廠740F,供由製造軟體工具(MT)751使用。製造工具能夠將韌體下載至不具有韌體之一SSD或(另一選擇係)具有欲替換或升級之韌體之一SSD(新SSD 750F)中。新SSD藉此變換成具有新下載韌體之SSD(韌體載入SSD 750L)。所下載韌體係基於製造韌體套件、硬碟機組態及設定檔案以及獨特識別資訊(序號、世界廣用名稱(WWN)760、一診斷解鎖密鑰及/或供應商識別資料)。
在某些實施例及/或使用情景中,下載韌體包含經由(舉例而言)設定一獨特序號及/或一獨特WWN來產生SSD。在某些實施例及/或使用情景中,製造軟體工具能夠提供及/或委付專屬於SSD之一加密密鑰(諸如一公用加密密鑰)。在又一實施例及/或使用情景中,提供及/或委付包含與由設計供應商操作之伺服器通信。在某些實施例及/或使用情景中,製造軟體工具能夠在執行一或多個工廠測試之後將SMART屬性及/或記錄(例如,執行一ClearSMART)重設成一乾淨工廠出貨狀態。
在某些實施例中,下載韌體包含在將SSD交付至一客戶之前執行SSD之一安全抹除(舉例而言)作為一最終操作。在某些實施例中,製造工具能夠引導所下載韌體對韌體下 載至其中之SSD執行一或多個製造測試。該等製造測試包含SSD之一MST及/或對SSD之快閃記憶體之一測試。
「不具有韌體之一SSD」之一實例係在具有經下載之韌體之後(且視情況在執行一或多個隨後製造操作之後)可操作為一SSD之一元素集合。舉例而言,圖1B之SSD 101在FW 106尚未下載之情況下係不具有韌體之一SSD之一實例。
作為製造一特定SSD之一特定實例,一系統供應商自由一設計供應商提供之一授權檔案及由設計供應商提供之一散佈韌體套件研發一特定製造韌體套件。系統供應商使用來自設計供應商且在(例如)運行一Linux版本之一PC上執行之一套件管理員應用程式來研發特定製造韌體套件。系統供應商針對特定SSD判定期望之硬碟機設定(例如,能力、超規空間、可靠性特徵及其他產品及/或模型特定屬性)且將期望之硬碟機設定供應至來自設計供應商且(例如)在PC上執行之一組態管理員應用程式。組態管理員應用程式產生一或多個特定命令線之一特定檔案,該等特定命令線係特定於該特定SSD及期望之硬碟機設定。
繼續實例,一製造商使用由設計供應商提供之一製造工具將不具有韌體之一SSD變換成具有韌體之一SSD。製造工具將經由特定命令線控制之製造韌體套件下載至不具有韌體之SSD中,藉此將不具有韌體之SSD變換成具有韌體之一SSD。製造工具視情況引導具有韌體之SSD經由所下載韌體執行一MST。特定命令線(例如)規定用於客製化所 下載之韌體之每一例項之序號及/或WWN資訊之產生以使得(舉例而言)每一所製造SSD具有一獨特WWN及/或一獨特序號。
在各種實施例中,套件管理員711、組態管理員712及製造軟體工具(MT)751中之任何一或多者係圖6之製造軟體工具616之全部或任何部分,或其變化形式。
圖7B圖解說明根據一虛擬硬碟機制造模型之用於SSD之(大量)製造(或原型建構)之一系統之一實施例之選定細節。一計算主機(諸如一工作站電腦、一PC、一膝上型電腦或一筆記型電腦)(主機780P)耦合至一或多個SSD(經圖解說明為SSD.1 790P.1...SSD.N 790P.N)。計算主機能夠執行製造工具應用程式軟體(例如,如主機780P中所圖解說明且如圖7A中另一上下文中所進一步圖解說明之製造軟體工具(MT)751)。預期具有耦合至一單個主機之任何數目個SSD之實施例以及具有複數個主機之實施例,該等主機中之每一者耦合至一或多個SSD之一各別群組。在具有耦合至一單個主機之複數個SSD之實施例中,該單個主機視情況經由製造軟體工具能夠完全或部分地並行引導韌體下載至任何數目個耦合SSD及/或對其之一製造測試。
在操作中,主機780P執行製造軟體工具(MT)751以將韌體下載至SSD.1 790P.1...SSD.N 790P.N中之任何一或多者中,因此將一或多個無韌體SSD變換成一或多個具有韌體之SSD(如由圖7A之新SSD 750F、製造軟體工具(MT)751及韌體載入SSD 750L所圖解說明)。
在某些實施例中,製造軟體工具可經由一命令線調用(諸如由執行於一主機(例如,主機780P)上之一外殼程式解譯之一系列一或多個命令線)操作。作為一特定實例,命令線調用包含識別製造軟體工具(例如,製造軟體工具(MT)751)之一第一參數、識別對應於準備接受韌體之一SSD(例如,SSD.1 790P.1...SSD.N 790P.N中之一者)之一特定裝置之一第二參數、識別一硬碟機組態檔案(例如,圖7A之硬碟機組態及設定檔案722)之一第三參數、分別係用於準備接受韌體之SSD之一序號及一WWN(例如,圖7A之序號、世界廣用名稱(WWN)760)之第四及第五參數。一第六(選用)參數規定一診斷解鎖密鑰。在某些實施例及/或使用情景中,診斷解鎖密鑰用於防止在使用經由製造軟體工具所產生之一SSD期間對特定命令(例如,專屬於一特定系統供應商之診斷命令)之未經授權存取。一第七(選用)參數規定一512B供應商識別資料檔案(例如,專屬於特定系統供應商之資訊之一集合)。一第八(選用)參數規定一輸出及/或記錄檔案之一名稱。在又一些實施例中,輸出及/或記錄寫入有狀態資訊,包含下載及/或任何MST級/或對SSD執行之新裝置測試之結果。
圖7C圖解說明根據一虛擬硬碟機制造模型之SSD(諸如,經由諸如由圖7A及/或圖7B所圖解說明之實施例所產生之SSD)之韌體更新之一實施例之選定細節之一概念表示。如在圖7A中,所圖解說明元素經分組成兩個解耦合部分,從而視情況使得能夠單獨於韌體更新地執行工程設立 操作。第一部分(工程730C)係(例如)每單個生產運行每韌體交付執行一次或每一相同模型SSD之一系列生產運行每韌體交付執行一次以針對韌體更新設立。第二部分(工廠740E)針對每一韌體更新(不論一單個生產運行(諸如針對原型韌體更新)或是一相同模型SSD之一系列生長運行中之一者(諸如針對最終使用者韌體更新))執行。根據各種實施例及/或使用情景,經繪示為工程730C之元素之操作之全部或任何部分係由以下各項中之一或多者執行:圖6之系統供應商630及圖6之製造商620。在某些實施例及/或使用情景中,工程730C之元素係由與圖7A之工程730A之元素相同之一組織執行。
工程730C之元素包含用於一或多個SSD之韌體更新之一現場更新韌體影像(現場更新韌體套件723)之產生。類似於圖7A之製造韌體套件721,現場更新韌體影像係經由套件管理員711根據授權檔案701及散佈韌體套件703產生。套件管理員使用授權檔案自散佈韌體條件提取可用於韌體更新之韌體,且執行一或多個加戳記功能(諸如使現場更新韌體套件加密、具有安全性、個人化及/或客製化),從而產生現場更新韌體套件。舉例而言,套件管理員使一特定現場更新韌體套件個人化以當產生用以產生欲具有經由特定現場更新韌體套件更新之韌體之SSD之一對應特定製造韌體套件時匹配由套件管理員執行之個人化之全部或任何部分。針對另一實例,套件管理員將一雜湊戳記(例如,作為現場更新韌體套件之開頭處之一元素之一部分或作為 現場更新韌體套件之末尾處之一部分)添加至現場更新韌體套件,從而使現場更新韌體套件個人化。該戳記包含一或多個安全措施以使得現場更新韌體套件能夠僅可用於具有帶有匹配現場更新韌體套件之戳記之一雜湊戳記之韌體之SSD上。
現場更新韌體套件自工程730C傳遞至最終使用者740E以供SSD更新軟體工具(UT)753使用。SSD更新工具能夠經由下載至具有(舊)韌體之一SSD((舊)韌體載入SSD 750X)中之一韌體來更新韌體。具有舊韌體之SSD藉此變換成具有新韌體之一SSD((新)韌體載入SSD 750Y)。在某些實施例及/或使用情景中,韌體更新係經由一或多個密鑰、供應商識別符、韌體更動控制字串及/或各種安全技術(由加密密鑰754表示)解鎖及/或啟用。解鎖及/或啟用與在產生現場更新韌體套件時由套件管理員執行之戳記功能相容。因此,防止未經授權方執行一韌體更新,例如將新/經修正韌體下載至先前具有下載韌體之一SSD上。在各種上下文中,最終使用者740E表示以下各項中之任何一或多者:一設計供應商(例如,期望韌體之一工程改變)、一系統供應商及/或一製造商(例如,期望韌體之一產品相關改變)或一系統供應商之一客戶(例如,對由該最終使用者先前使用中之一SSD執行一現場更新之一最終使用者)。
在某些實施例及/或使用情景中,一韌體更新包含用以將一先前所產生SSD(例如,具有先前下載韌體之一SSD)自行為之一個組態及/或組改變至另一者之資訊及/或操 作。舉例而言,一附錄附加至一韌體影像以使得能夠經由一韌體更新修改原本在生產時間固定(例如,藉由圖7A之系統供應商期望之硬碟機設定704經由組態管理員712)之行為。
圖7D圖解說明根據一虛擬硬碟機制造模型之用於SSD之韌體更新之一系統之一實施例之選定細節。
類似於圖7B,一計算主機(諸如一工作站電腦、一PC、一膝上型電腦或一筆記型電腦)(主機780E)耦合至一或多個SSD(經圖解說明為SSD.1 790E.1...SSD.N 790E.N)。計算主機能夠執行SSD更新工具應用程式軟體(例如,如主機780E中所圖解說明且如圖7C中另一上下文中所進一步圖解說明之SSD更新軟體工具(UT)753)。如在圖7B中,預期具有耦合至一單個主機之任何數目個SSD之實施例以及具有複數個主機之實施例,該等主機中之每一者耦合至一或多個SSD之一各別群組。在具有耦合至一單個主機之複數個SSD之實施例中,該單個主機視情況經由SSD更新軟體工具能夠完全或部分地並行引導韌體更新(例如,下載)至任何數目個耦合SSD。
在操作中,主機780E執行SSD更新軟體工具(UT)753以將韌體更新(例如,下載)至SSD.1 790E.1...SSD.N 790E.N中之任何一或多者中,因此將一或多個具有舊韌體之SSD變換成一或多個具有新韌體之SSD(如圖7C之(舊)韌體載入SSD 750X、SSD更新軟體工具(UT)753及(新)韌體載入SSD 750Y)。
在某些實施例及/或使用情景中,由套件管理員711執行之一或多個功能/操作(例如,製造韌體套件721及/或現場更新韌體套件723之產生)及/或由組態管理員712執行之一或多個功能/操作(例如,硬碟機組態及設定檔案722之產生)經由一或多個密鑰、供應商識別符、韌體更動控制字串及/或各種安全技術(加密密鑰702)來解鎖及/或啟用。
在各種實施例及/或使用情景中,圖7B之主機780P及圖7D之主機780E中之一者或兩者完全相同於圖1B之主機102或係其一變化形式。在各種實施例及/或使用情景中,圖7B之SSD.1 790P.1...SSD.N 790P.N及圖7D之SSD.1 790E.1...SSD.N 790E.N中之任何一或多者完全相同於如(例如)圖1B中所圖解說明之SSD 101或其變化形式。
選定實例性VDMM實施技術
在某些實施例及/或使用情景中,圖6及圖7A至圖7D之一或多個元素或其部分經由數個電腦輔助及/或電腦先關技術之一或多者完全或部分地執行。舉例而言,元素之間的一或多個路徑可經由電子郵件、XML註解規範及/或基於XML形式及伺服器對伺服器異動中之一或多者實施。例如,圖6之參考設計及快閃記憶體推薦612資訊至BOM選擇、BOM採購及設計核准632之通信係經由電子郵件及/或複數個XML註解規範。針對另一實例,一或多個元素可至少部分地經由以下各項中之任何一或多者實施:一多層列基於網際網路商務之伺服器之任何一或多個層列、一或多個網頁、資料庫及/或應用程式伺服器,及一或多個網 頁、資料庫及/或應用程式指令碼、程式及/或應用程式。例如,與圖6之控制器及韌體611相關之文件經由一網站可用,諸如經由一或多個網頁、資料庫及/或應用程式伺服器可操作。
針對又一實例,密碼編譯密鑰委付技術(諸如基於其經加密通信、密碼及/或憑證及伺服器)用於實施某些操作。例如,一授權伺服器提供密碼編譯密鑰之經加密簽出,諸如圖7A及圖7C之授權檔案701之全部或任何部分。針對另一實例,某些元素經由使用網際網路之一或多個企業對企業自動系統完全或部分散佈。例如,如圖7B中使用之製造軟體工具(MT)751(及/或如圖7D中所使用之SSD更新軟體工具(UT)753)係經由使用網際網路之一設計供應商對製造商自動系統。
在各種實施例及/或使用情景中,圖6及圖7A至圖7D之一或多個元素或其部分係在各種位置排列處執行。舉例而言,與(圖6之)設計供應商610、製造商620及系統供應商630相關之所有操作在一相同位置處執行。針對另一實例,與設計供應商610相關之所有操作係在一第一位置處執行,與製造商620相關之所有操作係在一第二位置處執行,且與系統供應商630相關之所有操作係在一第三位置處執行。針對又一實例,與設計供應商610及系統供應商630相關之某些操作係在一第一位置處執行,且與製造商620及系統供應商630相關之某些操作係在一第二位置處執行。針對另一實例,與(圖7A之)工程730A及工廠740F相關 之某些操作係在複數個位置處執行。
LBA至NVM位置映射
圖8圖解說明經由具有一FLM及一或多個SLM頁之一雙階映射將LBA映射至儲存於一NVM中之LB之一實施例之選定細節作為LBA至NVM位置映射800。雙階映射係經由耦合至一或多個第二階元素(在概念上經圖解說明為一單元素SLM頁820)之一第一階元素(FLM 810)實施。FLM包含複數個項目(SLM頁/長度810.1...SLM頁/長度810.M)。FLM之項目中之每一者指向SLM頁中之一者(諸如SLM頁820)。SLM頁包含複數個項目(LB頁/長度820.1...LB頁/長度820.N)。SLM頁之項目中之每一者指向其中資料開始之NVM中之一位置(例如,儲存用於一LBA之主機寫入資料之至少開頭之一讀取單位)。一除法器(整數除法器822)接收來自(例如)一可程式化硬體暫存器(SLM項目/SLM頁(CSR)823)之一參數以除以一傳入LBA以判定選擇哪一FLM項目及選擇哪一SLM項目(在由選定FLM項目指向之SLM頁內)。除法器耦合至FLM及SLM頁。
在各種實施例中,圖係圖解說明圖1A之映射141及/或表143或與其相關之選定細節。舉例而言,在某些實施例中,映射141及/或表143實施映射資訊(諸如一FLM之一或多個項目及/或一SLM之一或多個項目)之一或多個快取記憶體。FLM及/或SLM之一完整影像維持於NVM(例如,圖1A之NVM 199)之一部分中,(例如)在快取記憶體替換一先前快取FLM及/或SLM項目時更新。在某些實施例中,FLM 及/或SLM完整影像係經由輪流或乒乓檢查點來實施,該等檢查點中之每一者係各別完整映射影像之一部分。
在操作中,將LBA 821呈現至整數除法器822。除法器用如SLM項目/SLM頁(CSR)823提供之每SLM頁之SLM項目之一數目除以LBA,從而產生一商(FLM索引822Q)及一餘數(SLM頁索引822R)。商用於選擇該等FLM項目之一者,且讀取選定FLM項目之一頁欄位(SLM指標810S)。頁欄位用於選擇SLM頁之一者(例如,SLM頁820),且餘數(例如,作為一位移)用於選擇選定SLM頁之一項目。選定SLM頁項目之一頁欄位用於選擇NVM中之一特定位置,諸如一特定讀取單位,其中儲存對應於所呈現LBA之LB之至少開頭(LB指標820L)。在各種實施例中,LB指標包含NVM之一讀取單位之一位址(例如,圖2之讀取單位位址223)。在某些實施例中,SLM項目中之每一者包含指示讀取多少讀取單位以獲得關於一LB之所有資料及/或關於一LB之資料在一讀取單位內何處開始之一長度欄位(例如,編碼大小及/或跨度)(例如,圖2之讀取單位之長度225)。在某些實施例中,FLM項目中之每一者包含指示讀取多少讀取單位以獲得由FLM項目之頁欄位規定之所有各別SLM頁之一長度欄位(例如,編碼大小及/或跨度)(例如,圖2之讀取單位之長度225)。
在各種實施例中,商用作用以存取一快取記憶體(諸如SLM頁之一完全相關聯快取記憶體)之一密鑰。若一特定SLM頁之快取記憶體中存在一點閱,則在不存取NVM之情 況下在快取記憶體中找到特定SLM頁之一最新複本。在某些實施例及/或使用情景中,提供對複數個SLM頁之快速存取達成對NVM之隨機存取及/或對NVM之連續資料存取之複數個獨立串流(例如,對LBA之一第一區之連續資料存取之一第一串流與對LBA之一第二區之連續資料存取之一第二串流穿插)之較高效處理。
固態硬碟製造自我測試
如下係一SSD MST流程之一實例之一概述。一技師將欲測試之一SSD耦合至一主機(例如,經由將該SSD插置一測試主機電腦中)。在技師及執行於主機上之一或多個程式中之任何一或多者之引導下,SSD(視情況結合主機)執行對SSD之快閃記憶體之一測試且然後保存一生長缺陷清單之一開始狀態。快閃記憶體測試係(例如)檢查與主機之連接性係起作用的。生長缺陷清單之開始狀態係(例如)不可操作之快閃記憶體之區塊之一開始清單。主機然後藉由用形成測試之命令寫入一輸入記錄(例如,一SMART記錄)來組態一MST。命令選自SSD可執行(例如,經由韌體)之複數個所支援MST命令。在概念上,所支援MST命令共同地對應於用於與SSD之快閃記憶體介接之一API。當主機已完成該組態時,主機發送一START命令(例如,作為一特定SCT命令,諸如MST_START)以使SSD處於MST模式中且引導SSD藉由執行來自輸入記錄之命令而開始測試。
在某些使用情景中,START命令指示SSD立即開始測試(同時耦合至主機)。在其他使用情景中,START命令指示 SSD立即進入一備用模式且延遲開始測試直至下次SSD經開啟電源時。在START命令指示進入備用模式之使用情景中之至少某些使用情景中,在SSD進入備用模式且斷電之後,技工將SSD自主機解耦合且將SSD耦合至一電源(例如,一機架式)。然後技工引導電源將電力施加至SSD。當SSD經開啟電源時,其開始測試。
在測試開始之後,技工觀察用以指示測試完成之SSD上之一指示器(例如,諸如一LED之一視覺顯示器)。另一選擇係,技工週期性地使SSD斷電,將SSD自電源解耦合,將SSD耦合至主機,使SSD開啟電源且經由主機查詢SSD以判定測試之狀態(諸如測試是否完成)。
當SSD已完成測試時,SSD進入一備用模式。然後技工將SSD耦合至主機(若該SSD尚未耦合至主機)且使SSD開啟電源。主機(例如,在技工之引導下及/或回應於SSD之耦合及通電)讀取(自SSD)且保存(例如,至耦合之主機之儲存)測試之結果及生長缺陷清單之最終狀態。主機然後發送一COMPLETE命令(例如,作為一特定SCT命令,諸如MST_COMPLETE)至SSD以引導SSD結束MST且使SSD準備銷售給一系統供應商及/或一客戶。
雖然上述內容係以一單個技工闡述,但在各種實施例及/或使用情景中,技工係一單個個人或另一選擇係複數個個人,諸如在一時間段內。
在某些實施例及/或使用情景中,一MST規定用於控制經受MST之一SSD之一環境上下文之一或多個環境參數。 在某些實施例中,環境參數用於實施可用於(例如)SSD之快閃記憶體之一或多個電壓斜坡。
圖9A圖解說明一SSD MST流程之一實施例之選定細節。在各種情形中,作為執行關於對一SSD之一測試之流程之結果,先前儲存於SSD上之使用者資料之全部或任何部分經抹除及/或覆寫。(SSD MST之上下文之「使用者資料」之實例包含經接收為主機讀取/寫入或源自其之資料,諸如作業系統資料、驅動程式資料及應用程式資料。)一主機用於根據該流程設立及開始一測試。測試繼續跨越SSD之電力循環運行直至SSD完成測試或主機藉由發送一ABORT命令(例如,作為一特定SCT命令,諸如MST_ABORT)至SSD來引導SSD提前結束測試。在某些實施例中,並非演練SSD之所有快閃記憶體,例如僅分配及/或指定用於儲存使用者資料之快閃記憶體之區域,視情況包含任何超規空間分配及/或指定。在某些實施例中,主機解譯測試之(例如,主機判定測試是否通過或失敗)。在各種實施例中,一設計供應商(諸如根據一虛擬硬碟機制造模型)將根據所圖解說明之SSD MST流程達成操作之韌體提供於SSD中。
流程大致地配置成三個部分:設立以運行一測試(準備MST 910)、運行該測試(運行MST 920)及在測試完成之後執行各種完成後操作(結束MST 930)。流程之準備部分以形成一或多個MST命令(產生MST命令912)開始(開始911),諸如經由測試個人製作命令及/或在一主機上執行一 指令碼以形成命令。在某些使用情景(例如,某些製造使用情景)中,測試僅係一單個寫入硬碟機(例如,SSD)命令。流程藉由使一SSD準備用於MST操作(使SSD準備好用於MST操作913)繼續,諸如包含主機自SSD讀取一生長缺陷清單之一開始狀態及主機引導SSD執行一安全抹除及清除一或多個SMART記錄。然後,主機組態SSD以藉由將測試之命令儲存至SSD之一輸入SMART記錄(將MST命令寫入至SMART記錄0xF8 914)來執行測試。
流程以主機諸如藉由發佈一MST_START命令至SSD來引導SSD進入MST模式(啟動MST 915)繼續。在某些使用情景中,所發佈MST_START命令包含指示在SSD之一下次開啟電源時SSD旋即開始執行來自SMART記錄之測試之命令之一功能碼。回應於接收到MST_START命令,SSD設定一MST旗標。SSD現在能夠執行儲存於SMART記錄中之測試而無與主機之進一步互動(例如,無耦合至主機之一主機介面,諸如一SATA介面)。在某些實施例中,主機輪詢SSD之一輸出SMART記錄(例如,SMART記錄0xF9)直至由SSD儲存於輸出SMART記錄中之測試狀態指示符指示SSD已進入及/或啟動MST模式。回應於主機判定SSD已進入/啟動MST模式,主機引導SSD立即進入一備用模式且然後使SSD斷電。當SSD被斷電時,SSD自主機解耦合且耦合至一電源(移動SSD 916),諸如藉由測試人員將SSD自主機重新定位至一(例如)專用於MST操作之機架。
在某些使用情景中,省略使重新定位解耦合(移動SSD 916),且執行測試同時SSD保持耦合至主機。在某些使用情景中,所發佈之MST_START命令包含指示SSD立即開始執行命令(諸如同時保持耦合至主機)之一功能碼。
在發佈MST_START命令且隨後視情況使SSD重新定位為耦合至機架之後,流程之準備部分(準備MST 910)完成且運行部分(運行MST 920)開始。流程繼續進行以施加電力至SSD(給SSD通電921),諸如經由主機或機架。回應於電力之施加,SSD開始以MST模式操作(開始MST 922),且開始自輸入SMART記錄提取命令並執行其(執行SMART記錄0xF8 MST命令923)。在處於MST模式中時SSD停用資料命令(例如,SATA資料命令)之處理。進一步在處於MST模式中時,在指示操作處於MST模式時SSD對識別查詢作出回應(例如,藉由藉助將一「T」展示於識別字串之第7個字元中來對一SATA識別硬碟機查詢作出回應)。在執行測試命令時,SSD提供及/或記錄進展、狀態及/或結果資訊(指示進展(LED、事件記錄、SMART記錄0xF9)924)。在各種實施例及/或使用情景中,進展、狀態及結果資訊中之任何一或多者包含累積統計資料。在各種情形中,包含錯誤之一數目、錯誤位置及已處理多少命令中之一或多者。除非經指示提前結束測試(例如,藉由主機經由一MST_ABORT命令指示SSD中止測試),否則SSD繼續提取且執行測試之命令直至滿足測試中規定之一結束指示(例如,經由一或較多輸入參數)(完成?925)為止。當測試完成時,SSD指示測試完成(例如,經由LED(諸如藉由中斷 閃爍),經由事件、記錄及/或經由SMART記錄0xF9)且進入一閒置模式(備用SSD 926)(諸如經由韌體中斷SSD之所有操作)。
若SSD正運行測試同時耦合至主機,則在某些使用情景中,主機讀取進展、狀態及/或結果資訊(諸如輸入SMART記錄)以判定測試何時已完成。若SSD正運行測試同時耦合至主機或機架,則測試人員在某些使用情景中觀察LED以判定測試何時已完成。當測試完成時,若SSD自主機移動至機架(移動SSD 916),則SSD被斷電,自機架解耦合及耦合至主機(移動SSD 927),諸如藉由測試人員將SSD自機架重新定位至主機。
在完成測試且視情況使SSD重新定位為耦合至主機之後,流程之運行部分(運行MST 920)完成且各種完成操作部分(結束MST 930)開始。流程繼續進行以施加電力至SSD(若尚未施加)(給SSD通電931),諸如經由主機。主機自SSD讀取測試之進展、狀態及/或結果資訊之全部或任何部分(讀取結果(事件記錄、缺陷、SMART記錄0xF9)932)。在某些實施例中,結果資訊包含生長缺陷清單之一最終狀態。在主機已完成讀取進展、狀態及/或結果資訊之後,主機請求SSD退出MST模式(發送MST_COMPLETE命令933)。主機然後在測試之後引導SSD清理(安全抹除、清除SMART 934),諸如藉由發送一或多個抹除及/或SMART記錄命令至SSD。主機然後使SSD斷電,使SSD處於使得在一下次通電時SSD能夠接收及處理資料命令(諸如,SATA 資料命令)之一狀態(使SSD準備好用於SATA操作935)中。測試人員然後將SSD自主機解耦合(使SSD斷開連接936)。在解耦合之後,流程之各種完成操作部分(結束MST 930)完成,且整個流程完成(結束999)。SSD現在準備用於銷售至一統供應商及/或一客戶。
在某些實施例中及/或使用情景(例如,當SSD保持耦合至主機同時執行測試時)中,主機藉由發送一ABORT命令(例如,如經由一特定SCT命令)至SSD來引導SSD提前結束測試。作為回應,SSD中斷執行測試之命令且進入一閒置模式。
在來自主機之進入MST模式之引導之後,且在測試完成或中止之前,SSD在一斷電及開啟電源循環之後繼續測試。特定而言,若在SSD處於923、924及925中之任一者中時存在一斷電,則在一下次開啟電源時SSD繼續由於斷電而暫停之測試執行之測試。
在各種實施例及/或使用情景中,主機存檔自SSD讀取之進展、狀態及/或結果資訊之全部或任何部分(諸如事件記錄及生長缺陷清單之最終狀態)。在各種實施例及/或使用情景中,主機存檔輸入記錄之全部或任何部分(諸如測試之命令中之一或多者)。在各種實施例及/或使用情景中,主機解譯自SSD讀取之各種資訊元素之全部或任何部分(諸如經由執行一或多個指令碼、程式及/或分析工具)。
在某些實施例中及/或使用情景(諸如在生產流程中)中,形成測試之命令之形成(產生MST命令912)針對一SSD群組 (諸如形成一生產運行之一SSD例項集合或來自一相同生產線之一SSD例項集合)執行一次。針對SSD例項中之每一者執行圖中所圖解說明之流程之其餘部分。流程(或其變化形式)並不限於用於生產(例如,製造)中。在各種實施例及/或使用情景中,流程(或其變化形式)用作以下各項中之任何一或多者之一部分:燒錄、品質保證服務/操作、故障分析及/或RMA/檢修操作。
在各種實施例及/或使用情景中,特定SCT命令(例如,START、COMPLETE及ABORT)中之一或多者係供應商特定的。
圖9B圖解說明用於對一或多個SSD執行一或多個MST(例如,如關於圖9A所闡述)之一系統之一實施例之選定細節。系統包含耦合至經圖解說明為SSD.1 990.1...SSD.N 990.N之一或多個SSD之主機/機架980。在某些實施例及/或使用情景中,所圖解說明之主機/機架表示用於由SSD執行之一MST之一期間(例如,準備、運行及結束MST)之一計算主機。在某些實施例及/或使用情景中,所圖解說明主機/機架表示用於由SSD執行之一MST之開始及結束部分(例如,準備及結束MST)之一計算主機,且表示用於MST之一中間部分(例如,運行MST)之一電源供應測試機架。主機/機架能夠將命令及/或資料提供至SSD,且自SSD接收資訊及/或資料。主機/機架能夠提供電力至SSD但不能提供命令及/或資料至SSD。
主機/機架耦合至LAN/WAN 984以達成經由(例如)網際 網路與別處之計算及儲存資源之通信。主機/機架耦合至儲存器件985以達成保留供應用於SSD之各種測試以及來自至SSD之測試之應用之結果。主機/機架在概念上包含經圖解說明為MST命令981之至少一個SSD測試。主機/機架在概念上包含經圖解說明為結果982之執行至少一個MST之SSD中之至少一者之結果之至少一個集合。雖然圖解說明「在」主機/機架980「內」,但在各種實施例及/或使用情景中,MST命令981及/或結果982保留在可經由LAN/WAN 984來存取之遠端資源中或保留在儲存器件985之全部或任何部分中。
SSD.1 990.1包含用以實施大量儲存之經圖解說明為快閃記憶體996之一或多個NVM。SSD.1 990.1實施於MST相關之特定能力。在各種實施例中,特定能力係由硬體、軟體及韌體中之任何一或多者之各種組合實施。特定能力包含以下各項中之任何一或多者:SMART記錄0xF8(MST命令)991、LED(進展指示器)992、事件記錄(進展、結果)993、SMART記錄0xF9(進展、結果)994及缺陷清單995。雖然經圖解說明為單獨元素,但在各種實施例中,該等能力中之一或多者實施於一相同元素中。舉例而言,SMART記錄0xF8(MST命令)991及/或SMART記錄0xF9(進展、結果)994實施於快閃記憶體996之一部分(諸如與用於儲存於特定LBA相關聯之主機資料之快閃記憶體之部分分開之一部分)中。針對另一實例,事件記錄(進展、結果)993實施於快閃記憶體996之一部分中。
在各種實施例中,SMART記錄0xF8(MST命令)991、事件記錄(進展、結果)993、SMART記錄0xF9(進展、結果)994及缺陷清單995中之任何一或多者係經由一SSD之一裝置記憶體之全部或任何部分實施。SSD裝置記憶體之一或多個位置可經由與主機LBA相關聯之一記憶體空間分開之一SSD裝置記憶體空間定址。SSD裝置記憶體空間可由主機經由一或多個命令(由主機經由SSD之一主機介面提供)存取。舉例而言,一主機經由一SSD之一SATA介面將命令提供至該SSD之讀取/寫入裝置記憶體。
SMART記錄0xF8(MST命令)991為由主機/機架980提供之測試之命令提供儲存。當執行測試時,SSD.1 990.1自SMART記錄0xF8(MST命令)991提取命令且執行其。LED(進展指示器)992提供測試是否已完成之一指示。事件記錄(進展、結果)993及SMART記錄0xF9(進展、結果)994為測試之進展指示及結果提供儲存。SSD.1 990.1能夠為主機/機架980提供對事件記錄(進展、結果)993及SMART記錄0xF9(進展、結果)994之存取。舉例而言,當測試正運行時,主機/機架存取事件記錄以判定測試是否已完成。針對另一實例,當測試完成時,主機/機架存取SMART記錄0xF9以獲得如在執行測試時由SSD.1 990.1儲存之測試之結果。缺陷清單995為快閃記憶體996之不能操作或相對不利執行區塊之一清單提供儲存。SSD.1 990.1能夠為主機/機架980提供對缺陷清單995之存取。舉例而言,在測試完成之後,主機/機架存取缺陷清單以存檔用於潛在稍後分析 之關於SSD之資訊。
雖然為明確圖解說明,但SSD.1 990.N包含類似於或完全相同於SSD.1 990.1之元素。
在某些情形中,一MST測試失敗,諸如由於一惡性SSD故障或不能確定MST測試之進展。故障來源包含一韌體「緊急」、一輸入SMART記錄中之不正確資料及超過一逾時值之一循環時間。在某些使用情景中,MST測試包含估計定指示故障之一或多個條件之準則(例如,經表達為參數)。準則包含可校正較低階及/或較高階ECC錯誤之一數目、不可校正之較低階及/或較高階ECC錯誤之一數目、程式錯誤之一數目、抹除錯誤之一數目及位元錯誤與無錯誤讀取之一比率。
在各種實施例中,圖9B之元素係與由圖9A之某些元素所闡述之操作相關。舉例而言,圖9B之主機/機架980執行由一主機及/或一機架執行之圖9A之操作中之任何一或多者。圖9B之SSD.1 990.1...SSD.N 990.N中之任何一或多者表示由一SSD執行或關於一SSD之圖9A之操作物件。類似地,圖9B之SSD.1 990.1之特定元素係與圖9A之特定元素相關。舉例而言,圖9B之SMART記錄0xF8(MST命令)991係圖9A之將MST命令寫入至SMART記錄0xF8 914且執行SMART記錄0xF8 MST命令923中出現之Smart記錄0xF8之一實施例。針對另一實例,圖9B之LED(進展指示器)992係指示進展(LED、事件記錄、SMART記錄0xF9)924之LED之一實施例。針對另一實例,圖9B之事件記錄(進展、結 果)993係圖9A之指示進展(LED、事件記錄、SMART記錄0xF9)924及讀取結果(事件記錄、缺陷、SMART記錄0xF9)932之事件記錄之一實施例。針對另一實例,圖9B之SMART記錄0xF9(進展、結果)994係圖9A之指示進展(LED、事件記錄、SMART記錄0xF9)924及讀取結果(事件記錄、缺陷、SMART記錄0xF9)932之SMART記錄0xF9之一實施例。針對另一實例,圖9B之缺陷清單995係圖9A之讀取結果(事件記錄、缺陷、SMART記錄0xF9)932之缺陷之一實施例。
在各種實施例中,圖1A及/或圖1B之元件之全部或任何部分係圖9A及圖9B之元件之全部或任何部分之例示性實施例。舉例而言,圖1A及圖1B之SSD 101係關於圖9A之操作提及之SSD以及圖9B之SSD.1 990.1...SSD.N 990.N中之任何一或多者之一例示性實施例。針對另一實例,圖1B之主機102係關於圖9A之操作之主機及/或機架以及圖9B之主機/機架980之一例示性實施例。針對另一實例,圖1A之CPU 171係關於圖9A之操作及圖9B之元素所提及之能夠執行韌體之一處理器之一實例性實施例。針對另一實例,圖1B之FW 106係關於圖9A之操作及圖9B之元素所提及之韌體之一實例性實施例。
在各種實施例中,圖9A所闡述之流程之全部或任何部分係如關於圖6及/圖7之上下文所闡述之一SSD之測試(例如,工廠測試及/或MST)之全部或任何部分之實例性實施例。在各種實施例及/或使用情景中,圖9A所闡述之流程 之全部或任何部分(諸如由主機執行之操作)係經由圖6之製造軟體工具616實施。在各種實施例中,圖9B之全部或任何部分係圖7B之全部或任何部分之例示性實施例(例如,主機/機架980係主機780P之一實例性實施例,且SSD.1 990.1...SSD.N 990.N係SSD.1 790P.1...SSD.N 790P.N之實例性實施例)。
圖10圖解說明MST命令以及相關聯數目個參數對及參數識別符/值對之一實施例之選定細節。一完整MST(例如,MST輸入1000)係具有一或多個命令及一結束標記之一命令序列。在各種實施例中,MST輸入1000表示由一主機儲存於欲測試之一SSD之一輸入SMART記錄(例如,如在圖9A之將MST命令寫入至SMART記錄0xF8 914中及/或圖9B之SMART記錄0xF8(MST命令)991)中以及由SSD提取及執行(例如,如在圖9A之執行SMART記錄0xF8 MST命令923中)之命令。
每一命令後續接著一數目(指示多少參數對跟隨該數目),且該數目後續接著零或零以上參數指示符及值對。最後命令後續接著一結束標記。在某些使用情景中,一MST包含一單個命令,視情況具有一或多個參數指示符及值對。在某些使用情景中,一MST包含任何數目個命令,每一命令具有各別參數資訊,且命令之數目僅由欲測試之SSD之輸入SMART記錄之一大小限制。
如圖中特定圖解說明,MST輸入1000包含後續接著一結束標記(哨符(sentinel)1090)之N個命令(命令1及參數1 1010、命令2及參數2 1020...命令N及參數N 1080)。SSD將哨符辨識為MST中不再存在命令之一指示符(例如,藉由韌體處理MST輸入),且作為回應,SSD指示測試完成進入一閒置模式(例如,如在圖9A之備用SSD 926中)。
命令1及參數1 1010經詳細圖解說明為具有後續接著指示多少參數對跟隨之一部分(參數對之數目1012)之一命令(命令1 1011),且以作為參數識別符值對(參數ID及值對1 1013...參數ID及值對N 1014)之參數對結束。在各種使用情景中,命令1及參數1 1010係一MST中之唯一命令或(另一選擇係)一MST中之複數個命令中之第一者。在某些各種情景中,參數對之數目1012為零(省略參數ID及值對1 1013...參數ID及值對N 1014),參數對之數目1012為壹(針對命令1及參數1 1010僅存在參數ID及值對1 1013)及諸如此類。雖然未明確圖解說明,命令2及參數2 1020...命令N及參數N 1080各自具有指示多少各別參數對跟隨每一命令之各別部分以及各別參數識別符/值對。
圖11圖解說明可用於MST中之各種命令(例如,經由韌體可執行之所支援MST命令)之一實施例之選定細節。MST命令1100圖解說明一命令碼、一命令名稱及用於描述複數個命令之一命令描述。MST命令可用作公式化一MST之命令,諸如經圖解說明為圖10之MST輸入1000。圖所闡述之命令包含寫入硬碟機1101、抹除硬碟機1102、SATA PHY燒錄1103、延遲1104及應力模式1105。預期其他命令,諸如用以在一MST內執行流程控制之命令,例如迴圈 及/或分支命令。在圖11之上下文中,一SSD(如本文中別處所闡述)係一「硬碟機」之一實例。
圖12圖解說明一MST之一實例之選定細節。實例性MST輸入1200圖解說明共同形成實例性MST之命令及對複數個命令之相關聯描述以及一結束標記。實例性MST適於用作如由一主機儲存於欲測試之一SSD之一輸入SMART記錄(例如,如在圖9A之將MST命令寫入至SMART記錄0xF8 914中及/或圖9B之SMART記錄0xF8(MST命令)991)中以及由SSD提取及執行(例如,如在圖9A之執行SMART記錄0xF8 MST命令923)之一MST命令序列。在圖12之上下文中,一SSD(如本文中別處所闡述)係一「DRIVE」及一「硬碟機」之一實例。
圖13A至圖13D圖解說明一特定使用情景中一寫入硬碟機命令(例如,圖11之寫入硬碟機1101)之一實施方案之一實施例之選定細節。在概念上,執行寫入硬碟機命令(例如,在MST處理期間)之一SSD在SSD之快閃記憶體上以部分(諸如複數個R區塊)操作。圖13A至圖13D將SSD之快閃記憶體圖解說明為複數個R區塊,且該等圖中每一者對應於R區塊之一各別時間及一對應狀態。簡字符號「Sys」對應於與系統資料(例如,某些或全部映射表)相關聯之一R區塊。簡字符號「Usr」對應於與使用者資料(例如,經接收為或源自主機讀取/寫入)相關聯之一R區塊。虛線大「X」對應於係「壞的」(例如,不能操作、缺陷及/或表徵為一相對高錯誤率)之一R區塊。簡字符號「Pat」對應 於(諸如)以一特定型樣、複數個特定型樣之一選定者及/或一計算型樣經由寫入硬碟機命令之執行(例如,藉由SSD之韌體)寫入之一R區塊。
寫入硬碟機命令以反覆方式執行,在概念上,在每一反覆期間跨越一或多個R區塊步進寫入。在圖13A至圖13D所圖解說明之實施例中,僅與使用者資料相關聯之R區塊經受寫入(例如,保留與系統資料相關聯之R區塊)。隨著寫入硬碟機命令之執行進展,SSD(例如,經由韌體)週期地收集及記錄統計資料,且檢查/驗證無R區塊經無意中抹除。在某些實施例中,寫入硬碟機命令之進展按循環量測,每一循環對應於寫入於使用者資料相關聯之所有R區塊至少一次。當寫入硬碟機命令之反覆完成,SSD(例如,經由韌體)檢查/驗證無R區塊經無意中抹除及/或所有R區塊已經正確程式化。
圖13A將SSD之快閃記憶體圖解說明為對應於由於寫入硬碟機命令之執行所致之任何改變之前的一時間之處於一初始狀態中之R區塊1301至1310。R區塊1303、1304、1306至1308及1310分配至及/或含有使用者資料(如由Usr簡字符號所圖解說明)。由於寫入硬碟機命令尚未改變R區塊中之任一者,因此不存在經由寫入硬碟機命令之執行寫入之R區塊。R區塊1301及1302分配至及/或含有系統資料(如由Sys簡字符號所圖解說明)。在所圖解說明之實施例中,寫入硬碟機命令僅修改與使用者資料相關聯之R區塊,且因此R區塊1301及1302貫穿寫入硬碟機命令之執行保持與 系統資料相關聯且不關於圖13B至圖13D進一步加以論述。R區塊1305及1309係壞的(如由虛線大X所圖解說明)。在所圖解說明之使用情景中,未發現額外壞R區塊(且先前壞R區塊中之無一者經以某一方式修復)。因此,R區塊1305及1309貫穿寫入硬碟機命令之執行保持為僅有的壞R區塊且不關於圖13B至圖13D進一步加以論述。
圖13B圖解說明對應於寫入硬碟機命令之一第一反覆之後的一時間的處於一第一反覆狀態中之R區塊1301至1310。R區塊1303及1304現在含有由寫入硬碟機命令之第一反覆寫入之各別型樣(如由Pat簡字符號所圖解說明)。R區塊1306至1308及1310尚未由寫入硬碟機命令之執行而修改且保持與使用者資料相關聯(如由Usr簡字符號所圖解說明)。
圖13C圖解說明對應於在寫入硬碟機命令之一第二反覆之後的一時間之處於一第二反覆狀態中之R區塊1301至1310。R區塊1306及1307現在含有由寫入硬碟機命令之第二反覆寫入之各別型樣(如由Pat簡字符號所圖解說明)。R區塊1303及1304與使用者資料相關聯(如由Usr簡字符號所圖解說明),但在寫入硬碟機命令之執行之前儲存於其中之任何使用者資料已經覆寫(例如,由該寫入硬碟機命令之第一反覆)。R區塊1308及1310尚未由寫入硬碟機命令之執行而修改且保持與使用者資料相關聯(如由Usr簡字符號所圖解說明)。
圖13D圖解說明對應於寫入硬碟機命令之完成之後的一 時間處於一最終狀態中之R區塊1301至1310。R區塊1308及1310現在含有由寫入硬碟機命令之最終反覆寫入之各別型樣(如由Pat簡字符號所圖解說明)。R區塊1303、1304、1306及1307與使用者資料相關聯(如由Usr簡字符號所圖解說明),但在寫入硬碟機命令之執行之前儲存於其中之任何使用者資料已經覆寫(例如,由該寫入硬碟機命令之第一或第二反覆)。
在各種實施例及/或使用情景中,一寫入硬碟機命令具有零或零以上參數,如下表中所闡述。注意,表中之所有參數係選用的。
在各種實施例及/或使用情景中,一SATA PHY燒錄命令具有零或零以上參數,如下表中所闡述。注意,表中之所有參數係選用的。
認為一SSD在執行SATA PHY燒錄命令作為一MST測試之一部分時經由該SSD之一SATA鏈路耦合至一主機。由於SATA鏈路在SATA PHY燒錄命令執行時不可用,因此主機不能將用以提前結束測試之一ABORT命令傳遞至SSD。替代地,使SSD斷電以提前結束測試。在某些實施例中,SATA PHY燒錄命令係至少部分地經由SATA鏈路之一BIST能力、SATA鏈路之一SATA PHY或其兩者實施。
在某些實施例及/或使用情景中,一應力模式命令(例如,應力模式1105)使得能夠建構規定特定快閃記憶體存取之一MST。在某些情形中,特定快閃記憶體存取係專屬於一特定製造商或系統供應商(圖6之製造商620或系統供應商630中之任一者)之存取序列。應力模式命令使得製造商或系統供應商能夠在不將專屬序列實施於SSD之韌體中之情況下且因此在不將專屬序列揭露給一設計供應商(例 如,圖6之設計供應商610)之情況下根據專屬序列演練一SSD。在某些使用情景中,製造商或系統供應商使用一或多個特定應力模式命令來判定SSD之快閃記憶體之不能操作區塊,例如藉由變化特定應力模式命令中之一或多者之參數中之一或多者。在各種使用情景中,專屬序列變化與以下各項中之任何一或多者相關之參數中之一或多者:快閃記憶體之操作電壓、快閃記憶體之演練特定記憶體胞、快閃記憶體之操作頻率、快閃記憶體之錯誤檢查速率、快閃記憶體之記憶體胞之拓撲偵測及快閃記憶體之記憶體胞之間的耦合。在某些實施例中,應力模式命令由SSD之韌體實施以包含位址、序列及行為參數(諸如符合如由圖10所圖解說明之命令及參數規格)中之任何一或多者。
圖14圖解說明一MST結果記錄之一實施例之選定細節。MST結果記錄1400圖解說明用於複數個記錄欄位之一記錄欄位及相關聯記錄欄位元素。在各種實施例中,MST結果記錄1400之全部或任何部分表示r以下各項中之任何一或多者之全部或任何部分:一事件記錄及一SMART記錄(例如,如由圖9A之指示進展(LED、事件記錄、SMART記錄0xF9)924及讀取結果(事件記錄、缺陷、SMART記錄0xF9)932所提及,以及由圖9B之事件記錄(進展、結果)993及SMART記錄0xF9(進展、結果)994所例示)。由圖闡述之記錄欄位包含記錄標頭1401、測試狀態1402、進展指示符1403、統計資料1404及錯誤1405。
下表列出一MST結果記錄之各種實施例之選定元素。在 各種實施例中,該等元素中之任何一或多者係選用的。
下表列出一MST事件記錄之各種實施例之選定元素。在各種實施例中,該等元素中之任何一或多者係選用的。
其他實施例資訊
在各種實施例中,一SSD(諸如圖9B之SSD.1 990.1)至少部分地經由韌體實施MST命令(諸如圖11之MST命令1100)之處理。韌體包含各種模組,諸如用於在使用者空間(例如,處於一相對較低特權級)中執行之模組及用於在核心空間(例如,處於一相對較高特權級)中執行之模組。在某些實施例中,使用者空間模組包含剖析及命令執行模組。在某些實施例中,核心空間模組包含硬體協調模組,諸如與一回收器(例如,圖1A之回收器151)相關。在某些實施例中,特定於MST命令之處理及/或處於MST模式之操作之韌體之部分包含至錯誤處置及/報告常式之「觸手」,或原本(特定而言)不與MST模式相關之其他路由。
下表列出實施MST模式之全部或任何部分之韌體之選定例示性常式。
下表列出使用者空間與核心空間之間的選定實例性API進入點(該等進入點由實施MST模式之全部或任何部分之韌體實施)。
實例性實施技術
在某些實施例中,藉由與由一電腦系統進行之處理相容之一規範規定由以下各項執行之操作之全部或任何部分之各種組合:一I/O裝置或其部分,舉例而言,適於與諸如包含一或多個SSD之一儲存I/O裝置之一I/O裝置之一VDMM及/或一SSD MST一起使用之一SSD控制器,例如,具有快閃記憶體、一計算主機快閃記憶體控制器及/或一SSD控制器(諸如,圖1A之SSD控制器100),以及一處理器、微處理器、系統單晶片、特殊應用積體電路、硬體加速器或提供前面所提及操作之全部或若干部分之其他電路之若干部分。該規範係根據各種說明,諸如硬體描述語言、電路描述、接線對照表描述、遮罩描述或佈局描述。實例性描述包含:Verilog、VHDL、SPICE、SPICE變型(諸如PSpice)、IBIS、LEF、DEF、GDS-II、OASIS或其他 描述。在各種實施例中,處理包含解譯、編譯、模擬及合成之任何組合以產生、驗證或規定適於包含於一或多個積體電路上之邏輯及/或電路。根據各種實施例,每一積體電路可根據多種技術來設計及/或製造。該等技術包含一可程式化技術(諸如,一場可程式化閘陣列積體電路或遮罩可程式化閘陣列積體電路)、一半定製技術(諸如,一完全或部分地基於記憶體胞之積體電路)及一全定製技術(諸如,實質上特定之一積體電路)、其任何組合或與積體電路之設計及/或製造相容之任何其他技術。
在某些實施例中,由其中儲存有一指令集之一電腦可讀媒體闡述之操作之全部或若干部分之各種組合係藉由一或多個程式指令之執行及/或解譯、藉由一或多個源語言及/或指令碼語言陳述式之解譯及/或編譯或者藉由執行藉由編譯、轉譯及/或解譯在程式設計及/或指令碼設計語言陳述式中表達之資訊而產生之二進制指令來執行。該等陳述式與任何標準程式設計或指令碼設計語言(諸如C、C++、Fortran、Pascal、Ada、Java、VBscript及Shell)相容。該等程式指令、語言陳述式或二進制指令中之一或多者係視情況儲存於一或多個電腦可讀儲存媒體元件上。在各種實施例中,該等程式指令之某些、全部或各種部分係實現為一或多個功能、常式、次常式、內嵌常式、程序、巨集或其部分。
已使用快閃記憶體裝置作為一SSD之揮發性記憶體之一項實例來闡述該等實施例。替換快閃記憶體裝置或除以 外,諸多其他類型之揮發性或非揮發性記憶體裝置亦可應用及使用於此等實施例中之諸多實施例中,且存在使用多個不同類型之記憶體裝置之實施例。此外,已使用一SSD作為諸如一類型之I/O裝置之一電子組件之一實例來闡述該等實施例。本文中所闡述之技術同樣地適用於諸多不同電子組件,諸如其他類型之I/O裝置、電腦、網路連結設備及其他形式之電子設備。
總論
已僅出於方便製備文字與圖式之目的而在說明中做出某些挑選,且除非存在對相反內容之一指示,否則不應將該等挑選本身視為傳達就所闡述實施例之結構或操作之額外資訊。該等挑選之實例包含:用於圖式編號之設計之特定組織或指派及用於識別及引用該等實施例之特徵及元件之元件識別符(例如圖說文字或數字指示符)之特定組織或指派。
措詞「包含(includes或including)」係特定地意欲被視為闡述開放範疇之邏輯組之抽象詞,且除非明確地後續接著措詞「在...內(within)」否則不意欲表達實體含有。
儘管已出於清晰說明及理解之目的在某些細節上闡述上述實施例,但本發明並不限於所提供之細節。存在本發明之諸多實施例。該等所揭示實施例僅係例示性而非限制性的。
應理解,建構、配置及使用之諸多變化形式可能與本說明一致,且在所發佈之專利之申請專利範圍之範疇內。舉 例而言,互連及功能單元位元寬度、時脈速度及所使用技術類型係可根據每一組件區塊中之各種實施例變化。賦予互連及邏輯之名稱僅係例示性的,且不應被視為限制所闡述之概念。流程圖及流程圖程序、動作及功能元件之次序及配置係可根據各種實施例變化。此外,除非明確地陳述為相反,否則所規定之值範圍、所使用之最大及最小值或其他特定規範(諸如,快閃記憶體技術類型;及暫存器與緩衝器中之項目或級之數目)僅係所闡述實施例之彼等、預期追蹤實施技術中之改良及改變且不應被視為限制。
此項技術中習知之在功能上等效之技術可替代所闡述之彼等技術來採用以實施各種組件、子系統、操作、功能、常式、次常式、內嵌常式、程序、巨集或其部分。亦應理解,依據實施例相依之設計約束及較快處理之技術趨勢(促進先前在硬體中之功能遷移至軟體中)及較高整合密度(促進先前在軟體中之功能遷移至硬體中),諸多實施例之功能態樣可在硬體(例如,通常為專用電路)或軟體(例如,經由某一方式之經程式化控制器或處理器)中選擇性地實現。各種實施例中之特定變化形式包含但不限於:分割差異;不同的外觀尺寸及組態;不同作業系統及其他系統軟體之使用;不同介面標準、網路協定或通信鏈路之使用;及在根據一特定應用程式之獨特工程及商務約束實施本文中所闡述之概念時將預期之其他變化形式。
已藉助超出所闡述實施例之諸多態樣之一最小實施方案所要求之細節及環境上下文來闡述該等實施例。熟習此項 技術者將認識到,某些實施例在不更改其餘元件之間的基本協作之情況下省略所揭示之組件及特徵。因此,應理解,所揭示之大部分細節並不要求實施所闡述之實施例之各種態樣。在其餘元件與先前技術可區分之情況下,省略之組件及特徵並非限制本文中所闡述之概念。
所有此等設計之變化形式係在所闡述實施例傳達之教示內之非實質性改變。亦應理解,本文中所闡述實施例對其他計算及網路連結應用程式具有廣泛的可應用性,且不限於所闡述實施例之特定應用或產業。因此,本發明應視為包含涵蓋於所發佈專利之申請專利範圍之範疇內之所有可能修改及變化形式。
100‧‧‧固態磁碟/硬碟機控制器
101‧‧‧固態磁碟/硬碟機
102‧‧‧主機
103‧‧‧(選用)切換器/光纖/中間控制器
104‧‧‧中間介面
105‧‧‧作業系統
106‧‧‧韌體(FW)
107‧‧‧驅動程式
107D‧‧‧虛線箭頭(主機軟體←→輸入/輸出裝置通信)
109‧‧‧應用程式
109D‧‧‧虛線箭頭(經由驅動程式之應用程式←→輸入/輸出裝置通信)
109V‧‧‧虛線箭頭(經由虛擬函式之應用程式←→輸入/輸出裝置通信)
110‧‧‧外部介面
111‧‧‧主機介面
112C‧‧‧(選用)卡記憶體
113‧‧‧標籤追蹤
114‧‧‧多裝置管理軟體
115‧‧‧主機軟體
116‧‧‧輸入/輸出卡
117‧‧‧輸入/輸出及儲存裝置/資源
118‧‧‧伺服器
119‧‧‧區域網路/廣域網路
121‧‧‧資料處理
123‧‧‧引擎
125‧‧‧控制隨機存取記憶體
126‧‧‧縮放資料結構
131‧‧‧緩衝器
133‧‧‧直接記憶體存取
135‧‧‧錯誤校正碼-X
137‧‧‧記憶體
141‧‧‧映射
143‧‧‧表
151‧‧‧回收器
161‧‧‧錯誤校正碼
171‧‧‧中央處理單元
172‧‧‧中央處理單元核心
173‧‧‧命令管理
175‧‧‧緩衝器管理
177‧‧‧轉譯管理
179‧‧‧一致性管理
180‧‧‧記憶體介面
181‧‧‧裝置管理
182‧‧‧身份管理
190‧‧‧裝置介面
191‧‧‧裝置介面邏輯
192‧‧‧快閃記憶體裝置
193‧‧‧排程
194‧‧‧快閃記憶體晶粒
199‧‧‧非揮發性記憶體
211‧‧‧邏輯區塊位址
213‧‧‧邏輯頁編號
215‧‧‧邏輯位移
221‧‧‧邏輯頁編號之映射資訊
223‧‧‧讀取單位位址
225‧‧‧讀取單位之長度
311‧‧‧讀取資料
313‧‧‧第一讀取單位
315‧‧‧最後讀取單位
401A‧‧‧讀取單位
401B‧‧‧讀取單位
410B‧‧‧標頭標記(HM)
411A‧‧‧標頭1
411B‧‧‧標頭1
412B‧‧‧標頭2
419A‧‧‧標頭N
419B‧‧‧標頭N
421A‧‧‧資料位元組
421B‧‧‧資料位元組
422B‧‧‧資料位元組
429B‧‧‧資料位元組
431A‧‧‧選用填補位元組
431B‧‧‧選用填補位元組
501‧‧‧標頭
511‧‧‧類型
513‧‧‧最後指示符
515‧‧‧旗標
517‧‧‧邏輯頁編號
519‧‧‧長度
521‧‧‧位移
610‧‧‧設計供應商
611‧‧‧控制器及韌體
612‧‧‧參考設計及快閃記憶體推薦
614‧‧‧硬體驗證/特性化
615‧‧‧可靠性驗證測試(RDT)、環境設計驗證 (EVT)及設計驗證測試(DVT)
616‧‧‧製造軟體工具
617‧‧‧故障分析
618‧‧‧選定設計供應商操作(虛線框)
620‧‧‧製造商
623‧‧‧原型製造
625‧‧‧大量製造
627‧‧‧重新加工
630‧‧‧系統供應商
632‧‧‧材料清單(BOM)選擇、材料清單採購及 設計核准
634‧‧‧系統品質保證
635‧‧‧大量製造
636‧‧‧退料授權(RMA)/檢修
637‧‧‧故障分析
655‧‧‧大量製造
701‧‧‧授權檔案
702‧‧‧加密密鑰
703‧‧‧散佈韌體套件
704‧‧‧系統供應商期望之硬碟機設定
711‧‧‧套件管理員
712‧‧‧組態管理員
721‧‧‧製造韌體套件
722‧‧‧硬碟機組態及設定檔案
723‧‧‧現場更新韌體套件
730A‧‧‧工程
730C‧‧‧工程
740E‧‧‧最終使用者
740F‧‧‧工廠
750F‧‧‧新固態磁碟/硬碟機
750L‧‧‧韌體載入固態磁碟/硬碟機
750X‧‧‧(舊)韌體載入固態磁碟/硬碟機
750Y‧‧‧(新)韌體載入固態磁碟/硬碟機
751‧‧‧製造軟體工具(MT)
753‧‧‧固態磁碟/硬碟機更新軟體工具(UT)
754‧‧‧更新密鑰
760‧‧‧序號、世界廣用名稱(WWN)
780E‧‧‧主機
780P‧‧‧主機
790E.1‧‧‧固態磁碟/硬碟機1
790E.N‧‧‧固態磁碟/硬碟機N
790P.1‧‧‧固態磁碟/硬碟機1
790P.N‧‧‧固態磁碟/硬碟機N
800‧‧‧邏輯區塊位址至非揮發性記憶體位置映射
810‧‧‧第一階映射
810.1‧‧‧第二階映射頁/長度
810.2‧‧‧第二階映射頁/長度
810.M‧‧‧第二階映射頁/長度
810S‧‧‧第二階映射指標
820‧‧‧第二階映射頁
820.1‧‧‧邏輯區塊頁/長度
820.2‧‧‧邏輯區塊頁/長度
820.N‧‧‧邏輯區塊頁/長度
820L‧‧‧邏輯區塊指標
821‧‧‧邏輯區塊位址
822‧‧‧整數除法器
822Q‧‧‧第一階映射索引
822R‧‧‧第二階映射頁索引
823‧‧‧第二階映射項目/第二階映射頁(CSR)
910‧‧‧準備製造自我測試
911‧‧‧開始
912‧‧‧產生製造自我測試命令
913‧‧‧使固態磁碟/硬碟機準備好用於製造自我測試操作
914‧‧‧將製造自我測試命令寫入至自我監視分析與報告技術(SMART)記錄0xF8
915‧‧‧啟動製造自我測試
916‧‧‧移動固態磁碟/硬碟機
920‧‧‧運行製造自我測試
921‧‧‧給固態磁碟/硬碟機通電
922‧‧‧開始製造自我測試
923‧‧‧執行自我監視分析與報告技術(SMART)記錄0xF8製造自我測試命令
924‧‧‧指示進展(發光二極體(LED)、事件記 錄、自我監視分析與報告技術(SMART)記錄0xF9)
925‧‧‧完成?
926‧‧‧備用固態磁碟/硬碟機
927‧‧‧移動固態磁碟/硬碟機
930‧‧‧結束製造自我測試
931‧‧‧給固態磁碟/硬碟機通電
932‧‧‧讀取結果(事件記錄、缺陷、自我監視分析與報告技術(SMART)記錄0xF9)
933‧‧‧發送MST_COMPLETE命令
934‧‧‧安全抹除、清除自我監視分析與報告技術(SMART)
935‧‧‧使固態磁碟/硬碟機準備好用於串列進階技術附接操作
936‧‧‧使固態磁碟/硬碟機斷開連接
980‧‧‧主機/機架
981‧‧‧製造自我測試命令
982‧‧‧結果
984‧‧‧區域網路/廣域網路
985‧‧‧儲存器件
990.1‧‧‧固態磁碟/硬碟機1
990.N‧‧‧固態磁碟/硬碟機N
991‧‧‧自我監視分析與報告技術(SMART)記錄0xF8(製造自我測試命令)
992‧‧‧發光二極體(進展指示器)
993‧‧‧事件記錄(進展、結果)
994‧‧‧自我監視分析與報告技術(SMART)記錄0xF9(進展、結果)
995‧‧‧缺陷清單
996‧‧‧快閃記憶體
999‧‧‧結束
1000‧‧‧製造自我測試輸入
1010‧‧‧命令1及參數1
1011‧‧‧命令1
1012‧‧‧參數對之數目
1013‧‧‧參數ID及值對1
1014‧‧‧參數ID及值對N
1020‧‧‧命令2及參數2
1080‧‧‧命令N及參數N
1090‧‧‧哨符
1100‧‧‧製造自我測試命令
1101‧‧‧寫入硬碟機
1102‧‧‧抹除硬碟機
1103‧‧‧串列進階技術附接(SATA)實體介面(PHY)燒錄
1104‧‧‧延遲
1105‧‧‧應力模式
1200‧‧‧實例性製造自我測試輸入
1301-1310‧‧‧R區塊
1400‧‧‧製造自我測試結果記錄
1401‧‧‧記錄標頭
1402‧‧‧測試狀態
1403‧‧‧進展指示符
1404‧‧‧統計資料
1405‧‧‧錯誤
圖1A圖解說明包含相容以供與一虛擬硬碟機制造模型(VDMM)及一SSD製造自我測試(MST)一起使用之一SSD控制器之一固態硬碟(SSD)之一實施例之選定細節。
圖1B圖解說明包含圖1A之SSD之一或多個例項之系統之各種實施例之選定細節。
圖2圖解說明映射一邏輯區塊位址(LBA)之一邏輯頁編號(LPN)部分之一實施例之選定細節。
圖3圖解說明在一讀取單位位址處存取一非揮發性記憶體(NVM)以產生組織為各種讀取單位(共同地具有按讀取單位之配量所量測之一長度)之讀取資料之一實施例之選定細節。
圖4A圖解說明一讀取單位之一實施例之選定細節。
圖4B圖解說明一讀取單位之另一實施例之選定細節。
圖5圖解說明具有若干欄位之一標頭之一實施例之選定細節。
圖6圖解說明一虛擬硬碟機制造模型之一實施例之選定細節之一流程圖。
圖7A圖解說明根據一虛擬硬碟機制造模型之SSD之(大量)製造(或原型建構)之一實施例之選定細節之一概念表示。
圖7B圖解說明根據一虛擬硬碟機制造模型之用於SSD之(大量)製造(或原型建構)之一系統之一實施例之選定細節。
圖7C圖解說明根據一虛擬硬碟機制造模型之SSD之韌體更新之一實施例之選定細節之一概念表示。
圖7D圖解說明根據一虛擬硬碟機制造模型之用於SSD之韌體更新之一系統之一實施例之選定細節。
圖8圖解說明經由一雙階映射(其具有一第一階映射(FLM)頁及一或多個第二階映射(SLM)頁)將LBA映射之儲存於一NVM中之邏輯區塊(LB)之一實施例之選定細節。
圖9A圖解說明一SSD MST流程之一實施例之選定細節。
圖9B圖解說明用於對一或多個SSD執行一或多個MST之一系統之一實施例之選定細節。
圖10圖解說明MST命令以及相關聯數目個參數對及參數識別符/值對之一實施例之選定細節。
圖11圖解說明可用於MST中之各種命令之一實施例之選 定細節。
圖12圖解說明一MST之一實例之選定細節。
圖13A至圖13D圖解說明一特定使用情景中之一寫入驅動命令之一實施方案之一實施例之選定細節。
圖14圖解說明一MST結果記錄之一實施例之選定細節。
610‧‧‧設計供應商
611‧‧‧控制器及韌體
612‧‧‧參考設計及快閃記憶體推薦
614‧‧‧硬體驗證/特性化
615‧‧‧可靠性驗證測試(RDT)、環境設計驗證(EVT)及設計驗證測試(DVT)
616‧‧‧製造軟體工具
617‧‧‧故障分析
618‧‧‧選定設計供應商操作(虛線框)
620‧‧‧製造商
623‧‧‧原型製造
625‧‧‧大量製造
627‧‧‧重新加工
630‧‧‧系統供應商
632‧‧‧材料清單(BOM)選擇、材料清單採購及設計核准
634‧‧‧系統品質保證
635‧‧‧大量製造
636‧‧‧退料授權(RMA)/檢修
637‧‧‧故障分析
655‧‧‧大量製造

Claims (20)

  1. 一種操作一儲存裝置之方法,其包括:經由一儲存介面以將一儲存裝置連接至一外部主機裝置;藉由該儲存裝置以經由該儲存介面自該外部主機裝置接收一或多個命令,該等命令由該主機裝置引導以儲存於能夠儲存該等命令及進一步能夠儲存由該儲存裝置所產生之記錄(log)資訊之該儲存裝置之儲存空間中;藉由該儲存裝置以經由該儲存介面以自該外部主機裝置接收用以回應於影響該儲存裝置之一事件而開始執行該等命令之一指示符;回應於該事件而經由該儲存裝置以執行該等命令;及將記錄資訊儲存於與執行該一或多個命令相關聯之該儲存空間中及經由該儲存介面以將該經儲存之記錄資訊轉移(transfer)至該主機裝置。
  2. 如請求項1之方法,其進一步包括:提供一密碼編譯密鑰以使得能夠自一經加密韌體儲存庫將韌體解密為一或多個影像,該等影像可由包含於該儲存裝置中之一儲存裝置控制器之處理元件執行,該等影像使得能夠執行該等命令,該儲存裝置係根據一儲存裝置參考設計而建構;提供對該經加密韌體儲存庫之存取;其中該等命令包括該儲存裝置之一製造自我測試;且其中該儲存裝置包括選自一組件清單之組件,該清單 係與該韌體、該儲存裝置控制器及該儲存裝置參考設計相容之組件。
  3. 如請求項1之方法,其中:該儲存裝置包括一儲存裝置控制器及儲存媒體;與該儲存裝置控制器相容之韌體係授權至一企業(business);該儲存裝置係根據一參考設計及提供至該企業之候選儲存媒體裝置之一清單而建構;該儲存媒體係藉由該企業選自該清單之元件所構成;使得該儲存裝置控制器結合韌體能夠經由該參考設計及該清單中之任何部件來實施該儲存裝置;使得該儲存裝置控制器結合該韌體能夠執行該執行;且該執行執行該儲存裝置之一製造自我測試。
  4. 如請求項1之方法,其進一步包括執行一生長缺陷測試以識別該儲存裝置之該儲存媒體中之生長缺陷、回應於該自我測試以產生一生長缺陷清單及將該生長缺陷清單轉移至與該經儲存之記錄資訊結合之該主機裝置。
  5. 如請求項1之方法,其中該一或多個命令引導該儲存裝置以執行該儲存裝置之一自我測試,且其中該方法進一步包括使用該主機裝置以回應於該經儲存之記錄資訊之該轉移以判定該儲存裝置是否通過該自我測試。
  6. 如請求項1之方法,其中該儲存空間包含一自我監視分析與報告技術(SMART)記錄。
  7. 如請求項6之方法,其中該SMART記錄係一第一SMART記錄,且該方法進一步包括將該執行之一或多個結果儲存於一第二SMART記錄。
  8. 如請求項1之方法,其中該事件係包括一下次通電事件及一立即開始事件之複數個事件之一者。
  9. 如請求項1之方法,其中該儲存裝置包括儲存媒體,該等命令包括一系列一或多個類型之操作,且該等操作中之任何一或多者包括規定該儲存媒體之寫入、抹除及驗證中之任何一或多者。
  10. 如請求項1之方法,其進一步包含藉由該儲存裝置以經由該儲存介面自該主機裝置接收一安全抹除命令,其中回應於該安全抹除命令該儲存裝置執行該儲存裝置之儲存媒體之一安全抹除及儲存該經儲存之記錄資訊之該儲存空間之一部分的一安全抹除。
  11. 如請求項1之方法,其中該一或多個命令包含複數個命令經配置作為一選定序列中之一指令碼,其中該儲存裝置之一儲存控制器回應於影響該儲存裝置之該事件的發生以執行該選定序列中之該指令碼中之該複數個命令,該事件包含自一停用(deactivated)狀態的該儲存裝置之一通電。
  12. 一種儲存裝置,其包括:一儲存媒體;及一儲存控制器,其經調適以回應於自連接至該儲存裝置之一外部主機裝置接收一命令序列而引導能夠儲存該 命令序列及進一步能夠儲存由該儲存裝置所產生之記錄資訊之該儲存裝置之一儲存空間中之該命令序列之儲存,該儲存控制器進一步經調適以回應於自該外部主機裝置接收一指示符而回應於影響該儲存裝置之一事件以開始執行該等命令、執行該命令序列、將記錄資訊儲存於與執行該命令序列相關聯之該儲存空間中及經由該儲存介面以將該經儲存之記錄資訊轉移至該主機裝置。
  13. 如請求項12之儲存裝置,包含特徵一固態硬碟(SSD),該儲存媒體包含快閃記憶體。
  14. 如請求項12之儲存裝置,其中該儲有控制器進一步經調適以在該儲存媒體除了執行該命令序列之外之後,執行一生長缺陷測試、產生一生長缺陷清單、將該生長缺陷清單儲存於該儲存空間中及將與該經儲存之記錄資訊結合之該經儲存之缺陷清單轉移至該主機裝置。
  15. 如請求項12之儲存裝置,其中該儲存控制器進一步在執行該命令序列之一結束(conclusion)後,執行該儲存媒體之一安全抹除。
  16. 如請求項12之儲存裝置,其中該命令序列包含該儲存裝置之一製造自我測試。
  17. 如請求項12之儲存裝置,其中該命令序列組態該儲存媒體之一可定址(addressable)區塊大小以由一後續(subsequent)主機裝置使用。
  18. 如請求項12之儲存裝置,其中該儲存空間包含一自我監視分析與報告技術(SMART)記錄。
  19. 如請求項12之儲存裝置,其中該事件係一下一通電事件,以使得該儲存控制器回應於自一斷電(powered down)狀態至一可操作地供電(powered)狀態之該儲存裝置之一後續轉移而執行該命令序列。
  20. 一種儲存設備,其包括:一主機裝置,其包含一可程式化之處理器及相關聯之記憶體;及經由一儲存介面耦合至該主機裝置之一儲存裝置,該儲存裝置包含儲存媒體及一儲存控制器,其經調適以回應於自該外部主機裝置接收一命令序列而引導能夠儲存該命令序列及進一步能夠儲存由該儲存裝置所產生之記錄資訊之該儲存裝置之一儲存空間中之該命令序列之儲存,該儲存控制器進一步經調適以回應於自該外部主機裝置接收一指示符而回應於影響該儲存裝置之一事件以開始執行該等命令、執行該命令序列、將記錄資訊儲存於與執行該命令序列相關聯之該儲存空間中及經由該儲存介面以將該經儲存之記錄資訊轉移至該主機裝置,該命令序列包含一製造自我測試,該主機裝置經組態以回應於該經儲存之記錄資訊以判定該儲存裝置是否通過該自我測試,該主機裝置進一步經組態以發佈一命令至該儲存裝置以回應於該判定而執行該儲存媒體之一安全抹除。
TW101142519A 2011-11-14 2012-11-14 儲存裝置及其操作方法 TWI525631B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161559201P 2011-11-14 2011-11-14
US13/436,639 US10803970B2 (en) 2011-11-14 2012-03-30 Solid-state disk manufacturing self test

Publications (2)

Publication Number Publication Date
TW201333964A TW201333964A (zh) 2013-08-16
TWI525631B true TWI525631B (zh) 2016-03-11

Family

ID=48281836

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101142519A TWI525631B (zh) 2011-11-14 2012-11-14 儲存裝置及其操作方法

Country Status (7)

Country Link
US (1) US10803970B2 (zh)
EP (1) EP2780798A4 (zh)
JP (2) JP2014535120A (zh)
KR (2) KR101495519B1 (zh)
CN (1) CN103597443B (zh)
TW (1) TWI525631B (zh)
WO (1) WO2013074455A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI631463B (zh) * 2016-03-22 2018-08-01 威盛電子股份有限公司 非揮發性記憶體裝置及其操作方法
US10108366B2 (en) 2016-03-22 2018-10-23 Via Technologies, Inc. Non-volatile memory apparatus and operating method thereof
CN108874301A (zh) * 2017-05-08 2018-11-23 慧荣科技股份有限公司 数据储存装置以及其操作方法
TWI645331B (zh) * 2017-05-26 2018-12-21 上海寶存信息科技有限公司 固態硬碟存取方法以及使用該方法的裝置
CN109448779A (zh) * 2018-11-14 2019-03-08 郑州云海信息技术有限公司 一种Dual Port SSD的SI测试方法、装置
TWI773395B (zh) * 2021-06-22 2022-08-01 慧榮科技股份有限公司 記憶體控制器與連結識別方法
US11502832B2 (en) 2020-06-04 2022-11-15 PUFsecurity Corporation Electronic device capable of protecting confidential data

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650471B2 (en) * 2011-06-28 2014-02-11 Dell Products L.P. System and method for look-aside parity based raid
TWI436211B (zh) * 2011-11-02 2014-05-01 Phison Electronics Corp 區塊管理方法、記憶體控制器與記憶體儲存裝置
US10803970B2 (en) 2011-11-14 2020-10-13 Seagate Technology Llc Solid-state disk manufacturing self test
JP5740296B2 (ja) 2011-12-16 2015-06-24 株式会社東芝 半導体記憶装置、半導体記憶装置の制御方法、制御プログラム
JP5112566B1 (ja) 2011-12-16 2013-01-09 株式会社東芝 半導体記憶装置、不揮発性半導体メモリの検査方法、及びプログラム
US8914706B2 (en) * 2011-12-30 2014-12-16 Streamscale, Inc. Using parity data for concurrent data authentication, correction, compression, and encryption
US8683296B2 (en) * 2011-12-30 2014-03-25 Streamscale, Inc. Accelerated erasure coding system and method
US10096350B2 (en) * 2012-03-07 2018-10-09 Medtronic, Inc. Memory array with flash and random access memory and method therefor, reading data from the flash memory without storing the data in the random access memory
US9217772B2 (en) * 2012-07-31 2015-12-22 Infineon Technologies Ag Systems and methods for characterizing devices
US20140136152A1 (en) * 2012-11-13 2014-05-15 International Business Machines Corporation Analyzing hardware designs based on component re-use
US9348774B2 (en) 2013-01-25 2016-05-24 Seagate Technology Llc Controller-opaque communication with non-volatile memory devices
US20140258780A1 (en) * 2013-03-05 2014-09-11 Micron Technology, Inc. Memory controllers including test mode engines and methods for repair of memory over busses used during normal operation of the memory
US9417628B2 (en) * 2013-03-13 2016-08-16 Western Digital Technologies, Inc. Production failure analysis system
US9032264B2 (en) 2013-03-21 2015-05-12 Kabushiki Kaisha Toshiba Test method for nonvolatile memory
KR101547317B1 (ko) * 2013-09-30 2015-08-26 주식회사 유니테스트 스토리지 테스트 장치에서 로직 블록 어드레스와 데이터 버퍼 주소를 이용한 불량 블록 검출 시스템
US9824004B2 (en) 2013-10-04 2017-11-21 Micron Technology, Inc. Methods and apparatuses for requesting ready status information from a memory
US10275814B2 (en) * 2013-10-11 2019-04-30 Skyworks Solutions, Inc. Systems and methods for avoiding margin stacking
CN104598386B (zh) 2013-10-31 2018-03-27 Lsi公司 通过追踪和利用二级映射索引重复利用固态驱动器块
US9274900B2 (en) * 2013-12-03 2016-03-01 Samsung Electronics Co., Ltd. Method and apparatus for updating firmware
US9798493B2 (en) 2013-12-16 2017-10-24 International Business Machines Corporation Firmware bypass for medium-access commands
US10108372B2 (en) 2014-01-27 2018-10-23 Micron Technology, Inc. Methods and apparatuses for executing a plurality of queued tasks in a memory
US9454310B2 (en) 2014-02-14 2016-09-27 Micron Technology, Inc. Command queuing
US9595352B2 (en) 2014-03-17 2017-03-14 Seagate Technology Llc Manufacturer self-test for solid-state drives
US20170003717A1 (en) * 2014-03-20 2017-01-05 Intel Corporation Memory card connector for electronic devices
US10145890B2 (en) 2014-03-28 2018-12-04 Hewlett Packard Enterprise Development Lp Testing electronic devices
US9619157B2 (en) * 2014-04-03 2017-04-11 Analysis Solution Llc High-speed data storage
TWI579762B (zh) * 2014-05-06 2017-04-21 瑞昱半導體股份有限公司 固態硬碟控制電路及相關的固態硬碟裝置與固態硬碟存取系統
US9244764B2 (en) 2014-05-08 2016-01-26 Sandisk Technologies Inc. Error correcting code techniques for a memory having a three-dimensional memory configuration
US9257186B2 (en) 2014-05-08 2016-02-09 Sandisk Technologies Inc. Memory access techniques for a memory having a three-dimensional memory configuration
US9779268B1 (en) * 2014-06-03 2017-10-03 Pure Storage, Inc. Utilizing a non-repeating identifier to encrypt data
KR102277666B1 (ko) * 2014-06-30 2021-07-15 삼성전자 주식회사 영상처리장치 및 그 제어방법
TWI540861B (zh) * 2014-08-01 2016-07-01 友勁科技股份有限公司 管理系統與管理方法
US9722632B2 (en) 2014-09-22 2017-08-01 Streamscale, Inc. Sliding window list decoder for error correcting codes
US9459857B2 (en) 2015-01-21 2016-10-04 HGST Netherlands B.V. Managing wear of system areas of storage devices
US9691505B2 (en) * 2015-03-27 2017-06-27 Intel Corporation Dynamic application of error correction code (ECC) based on error type
US10162006B2 (en) 2015-04-16 2018-12-25 Western Digital Technologies, Inc. Boundary scan testing a storage device via system management bus interface
CN106155812A (zh) 2015-04-28 2016-11-23 阿里巴巴集团控股有限公司 一种对虚拟主机的资源管理的方法、装置、系统及电子设备
DE102016109387A1 (de) 2015-05-26 2016-12-01 Samsung Electronics Co., Ltd. Ein-Chip-System mit Taktverwaltungseinheit und Verfahren zum Betreiben des Ein-Chip-Systems
KR102384347B1 (ko) 2015-05-26 2022-04-07 삼성전자주식회사 클록 관리 유닛을 포함하는 시스템 온 칩 및 그 동작방법
US11042328B2 (en) 2015-06-01 2021-06-22 Samsung Electronics Co., Ltd. Storage apparatus and method for autonomous space compaction
US10216418B2 (en) 2015-06-01 2019-02-26 Samsung Electronics Co., Ltd. Storage apparatus and method for autonomous space compaction
KR102267041B1 (ko) 2015-06-05 2021-06-22 삼성전자주식회사 스토리지 장치 및 그것의 동작 방법
WO2017033993A1 (ja) 2015-08-27 2017-03-02 東レバッテリーセパレータフィルム株式会社 電池用セパレータおよびその製造方法
TWI566253B (zh) * 2015-09-02 2017-01-11 慧榮科技股份有限公司 用來管理一記憶裝置之方法以及記憶裝置與控制器
US10283209B2 (en) * 2015-09-08 2019-05-07 Storart Technology (Shenzhen) Co. Ltd Method for detecting problem cells of SATA SSD and SATA SSD having self-detecting function looking for problem cells
CN105511819B (zh) * 2015-11-27 2018-11-02 贵州航天风华精密设备有限公司 一种基于xml架构的材料定额管理系统
CN105607975A (zh) * 2015-12-16 2016-05-25 深圳市迪菲特科技股份有限公司 一种测试磁盘阵列的方法、装置及系统
CN105607988A (zh) * 2015-12-18 2016-05-25 浪潮电子信息产业股份有限公司 对服务器存储设备io性能进行自动化测试和分析方法
US10379747B2 (en) 2015-12-21 2019-08-13 Western Digital Technologies, Inc. Automated latency monitoring
US10545548B2 (en) 2016-03-07 2020-01-28 Toshiba Memory Corporation Memory device and host device
CN105843754A (zh) * 2016-03-23 2016-08-10 山东超越数控电子有限公司 一种固态硬盘的日志信息存储方法
KR102494241B1 (ko) * 2016-08-18 2023-02-03 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
US10275174B2 (en) * 2016-08-23 2019-04-30 Samsung Electronics Co., Ltd. System and method for pre-conditioning a storage device
CN107918571B (zh) 2016-10-08 2021-04-30 上海宝存信息科技有限公司 测试储存单元的方法以及使用该方法的装置
CN108008914B (zh) * 2016-10-27 2019-09-13 华为技术有限公司 一种arm设备中磁盘管理的方法、装置和arm设备
CN108153548A (zh) * 2016-12-05 2018-06-12 北京京存技术有限公司 一种emmc固件升级方法和装置
US10310745B2 (en) 2017-05-19 2019-06-04 Samsung Electronics Co., Ltd. Method and apparatus for fine tuning and optimizing NVMe-oF SSDs
CN107241220A (zh) * 2017-05-26 2017-10-10 京信通信系统(中国)有限公司 产品老化监控自动分析方法和系统
CN107274933A (zh) * 2017-06-14 2017-10-20 湖南国科微电子股份有限公司 一种测试固态硬盘的方法及装置
US10387347B2 (en) 2017-08-18 2019-08-20 Quanta Computer Inc. Method to locate SAS JBOD cable routing
TWI658363B (zh) * 2017-10-20 2019-05-01 慧榮科技股份有限公司 儲存裝置以及其介面晶片
US10572427B2 (en) * 2017-11-13 2020-02-25 Data I/O Corporation Device programming system with protocol emulation
US20190036704A1 (en) * 2017-12-27 2019-01-31 Intel Corporation System and method for verification of a secure erase operation on a storage device
US11099831B2 (en) * 2018-02-08 2021-08-24 Micron Technology, Inc. Firmware update in a storage backed memory system
CN110223728A (zh) * 2018-03-02 2019-09-10 深圳市时创意电子有限公司 固态硬盘的批量自动测试方法与批量自动测试装置
US10761773B2 (en) 2018-04-02 2020-09-01 Micron Technology, Inc. Resource allocation in memory systems based on operation modes
US10642519B2 (en) 2018-04-06 2020-05-05 Western Digital Technologies, Inc. Intelligent SAS phy connection management
CN110556155B (zh) * 2018-06-04 2021-06-08 记忆科技(深圳)有限公司 无盘启动的ssd产品测试方法、装置及计算机设备
CN108536450B (zh) * 2018-06-19 2023-04-04 北京航星中云科技有限公司 一种板载固态盘开卡量产方法和装置
CN109240603A (zh) * 2018-08-10 2019-01-18 微网云(深圳)技术有限公司 全闪存服务器
US10991445B2 (en) * 2018-09-06 2021-04-27 Micron Technology, Inc. Memory sub-system including an in-package sequencer to perform error correction and memory testing operations
CN109062808A (zh) * 2018-09-17 2018-12-21 浪潮电子信息产业股份有限公司 一种ssd开发性能的测试方法、装置及相关设备
US11093369B2 (en) * 2018-09-19 2021-08-17 SK Hynix Inc. Reconfigurable simulation system and method for testing firmware of storage
US10732869B2 (en) 2018-09-20 2020-08-04 Western Digital Technologies, Inc. Customizing configuration of storage device(s) for operational environment
US11430536B2 (en) 2018-12-20 2022-08-30 Advantest Corporation Software-focused solution for arbitrary all-data odd sector size support
US10976361B2 (en) 2018-12-20 2021-04-13 Advantest Corporation Automated test equipment (ATE) support framework for solid state device (SSD) odd sector sizes and protection modes
WO2020132821A1 (en) * 2018-12-24 2020-07-02 Intel Corporation Post code reporting via secure digital memory interface
US11106519B2 (en) * 2019-04-03 2021-08-31 Micron Technology, Inc. Automotive electronic control unit reliability and safety during power standby mode
TWI695264B (zh) * 2019-05-20 2020-06-01 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
CN110413295B (zh) * 2019-06-26 2023-07-21 上海电器科学研究所(集团)有限公司 一种嵌入式设备远程固件更新方法
CN112289353B (zh) * 2019-07-25 2024-03-12 上海磁宇信息科技有限公司 一种优化的具有ecc功能的mram系统及其操作方法
TWI808229B (zh) * 2019-07-29 2023-07-11 宜鼎國際股份有限公司 可遠端控制電子設備執行程序的系統及方法
US11016755B2 (en) * 2019-07-31 2021-05-25 Dell Products L.P. System and method to secure embedded controller flashing process
JP7341784B2 (ja) 2019-08-09 2023-09-11 キオクシア株式会社 ストレージ装置
JP7277324B2 (ja) * 2019-09-18 2023-05-18 日立Astemo株式会社 自動車用電子制御装置
TWI709079B (zh) * 2019-09-26 2020-11-01 奕智鏈結科技股份有限公司 文件碎形化出版與機密管制系統及其技術
CN110610740A (zh) * 2019-09-29 2019-12-24 深圳大普微电子科技有限公司 一种测试单元、方法、系统及控制器、存储设备
CN111044738B (zh) * 2019-11-08 2023-06-09 太原理工大学 基于蓝光光驱的嵌入式定量检测装置及其检测方法
CN110968510A (zh) * 2019-11-28 2020-04-07 深圳忆联信息系统有限公司 Ssd自动化在线升级固件测试方法、装置及计算机设备
US11210183B2 (en) 2020-01-14 2021-12-28 Western Digital Technologies, Inc. Memory health tracking for differentiated data recovery configurations
CN111639008B (zh) * 2020-05-29 2023-08-25 杭州海康威视系统技术有限公司 基于双端口ssd的文件系统状态监测方法、装置及电子设备
US11417410B2 (en) * 2020-09-16 2022-08-16 Kioxia Corporation Die-based high and low priority error queues
CN112115097B (zh) 2020-09-28 2023-08-29 合肥沛睿微电子股份有限公司 运行日志信息的访问方法及存储设备
TWI811573B (zh) * 2020-10-16 2023-08-11 大陸商合肥沛睿微電子股份有限公司 儲存裝置及其運行日誌的存取方法
WO2023277883A1 (en) * 2021-06-29 2023-01-05 Hewlett-Packard Development Company, L.P. Production procedure device modifications
CN113360957B (zh) * 2021-06-30 2022-08-02 四川效率源信息安全技术股份有限公司 一种主控为sm2246en的固态硬盘的密码提取方法
CN113724772A (zh) * 2021-07-12 2021-11-30 深圳市美信咨询有限公司 存储器失效位置查找方法、装置和计算机设备
US20230015697A1 (en) * 2021-07-13 2023-01-19 Citrix Systems, Inc. Application programming interface (api) authorization
CN115809071A (zh) * 2021-09-15 2023-03-17 北京车和家信息技术有限公司 软件升级方法、装置、系统、设备及存储介质
JP2023060606A (ja) 2021-10-18 2023-04-28 キオクシア株式会社 半導体集積回路及びメモリシステム
CN114265549B (zh) * 2021-11-21 2024-06-21 山东云海国创云计算装备产业创新中心有限公司 一种NVMe命令的处理方法、装置及可读存储介质
CN114171107B (zh) * 2021-11-26 2024-09-10 浪潮(北京)电子信息产业有限公司 固态硬盘vpd信息的检测方法、装置、设备及存储介质
TWI837552B (zh) * 2021-12-01 2024-04-01 慧榮科技股份有限公司 資料儲存裝置的自我燒機測試系統及其方法
JP2023136000A (ja) * 2022-03-16 2023-09-29 キオクシア株式会社 メモリシステム
US20230393774A1 (en) * 2022-06-01 2023-12-07 Micron Technology, Inc. Test mode state machine for a memory device
US11953992B2 (en) * 2022-06-23 2024-04-09 Dell Products L.P. Device modification analysis framework
US12056262B2 (en) * 2022-08-26 2024-08-06 Hewlett Packard Enterprise Development Lp Applying trusted backup configuration to a node

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4319323A (en) * 1980-04-04 1982-03-09 Digital Equipment Corporation Communications device for data processing system
US5150465A (en) * 1988-11-30 1992-09-22 Compaq Computer Corporation Mode-selectable integrated disk drive for computer
US5615335A (en) * 1994-11-10 1997-03-25 Emc Corporation Storage system self-test apparatus and method
US5675800A (en) * 1994-11-30 1997-10-07 Digital Equipment Corporation Method and apparatus for remotely booting a computer system
US5712978A (en) * 1994-12-30 1998-01-27 Lucent Technologies Inc. System for control of remote processors
US6467054B1 (en) * 1995-03-13 2002-10-15 Compaq Computer Corporation Self test for storage device
JP2000090014A (ja) 1998-09-11 2000-03-31 Nec Corp 制御ファームウェアによるシステム立ち上げ時のメモリ試験システム及び方法
US6591389B1 (en) * 1999-01-29 2003-07-08 Lucent Technologies Inc. Testing system for circuit board self-test
JP2001236797A (ja) 1999-12-17 2001-08-31 Fujitsu Ltd 自己試験回路及びそれを内蔵するメモリデバイス
JP2002109899A (ja) 2000-07-26 2002-04-12 Mitsubishi Electric Corp 半導体記憶装置およびそれを備える半導体集積回路装置
US6950967B1 (en) * 2001-09-26 2005-09-27 Maxtor Corporation Method and apparatus for manufacture test processing a disk drive installed in a computer system
GB0123422D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Improved memory controller
US20030212735A1 (en) * 2002-05-13 2003-11-13 Nvidia Corporation Method and apparatus for providing an integrated network of processors
KR20040023843A (ko) 2002-09-12 2004-03-20 삼성전기주식회사 메모리의 결함 처리 장치 및 그 방법
US6915420B2 (en) * 2003-01-06 2005-07-05 John Alan Hensley Method for creating and protecting a back-up operating system within existing storage that is not hidden during operation
KR100498498B1 (ko) * 2003-05-15 2005-07-01 삼성전자주식회사 하드디스크 드라이브의 테스트 방법 및 이에 적합한 기록매체
US7493534B2 (en) * 2003-08-29 2009-02-17 Hewlett-Packard Development Company, L.P. Memory error ranking
US7146529B2 (en) * 2003-09-25 2006-12-05 International Business Machines Corporation System and method for processor thread acting as a system service processor
US7730368B2 (en) 2003-10-31 2010-06-01 Sandisk Il Ltd. Method, system and computer-readable code for testing of flash memory
US7376756B2 (en) * 2003-11-03 2008-05-20 Lsi Corporation HDD firmware download
US7185190B2 (en) * 2003-12-29 2007-02-27 Intel Corporation Pushing capabilities into firmware by an operating system
US7330967B1 (en) * 2004-12-03 2008-02-12 Symantec Operating Corporation System and method for injecting drivers and setup information into pre-created images for image-based provisioning
US20060143600A1 (en) 2004-12-29 2006-06-29 Andrew Cottrell Secure firmware update
US8577041B2 (en) * 2005-02-07 2013-11-05 Arris Enterprises, Inc. Method for securely distributing configuration information to a device
US20080072068A1 (en) * 2006-09-19 2008-03-20 Wang Liang-Yun Methods and apparatuses for securing firmware image download and storage by distribution protection
JP2008108326A (ja) 2006-10-24 2008-05-08 Toshiba Corp 記憶装置およびその自己テスト方法
US7730293B2 (en) * 2006-10-26 2010-06-01 Hewlett-Packard Development Company, L.P. Hard disk drive self-test system and method
US7840846B2 (en) * 2006-10-30 2010-11-23 International Business Machines Corporation Point of sale system boot failure detection
US9183133B2 (en) 2007-11-28 2015-11-10 Seagate Technology Llc System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
JP2010061242A (ja) * 2008-09-01 2010-03-18 Toshiba Storage Device Corp 記憶装置、制御装置および制御プログラム
JP2010192060A (ja) 2009-02-20 2010-09-02 Cis Electronica Industria & Comercio Ltda センサモジュールおよびセンサモジュールの製造方法
US8230208B2 (en) 2009-04-20 2012-07-24 Intel Corporation Booting an operating system of a system using a read ahead technique
GB2481955B (en) * 2009-05-04 2014-10-08 Hewlett Packard Development Co Storage device erase command having a control field controllable by a requestor device
US8510569B2 (en) 2009-12-16 2013-08-13 Intel Corporation Providing integrity verification and attestation in a hidden execution environment
US9063816B2 (en) 2010-02-05 2015-06-23 Lenovo (Singapore) Pte. Ltd. Method and apparatus for updating firmware on a storage device
US8943329B2 (en) 2010-03-29 2015-01-27 Lenovo (Singapore) Pte. Ltd. Method and apparatus for sharing an integrity security module in a dual-environment computing device
US20120036373A1 (en) * 2010-08-05 2012-02-09 Softlog Systems (2006) Ltd. Method system and device for secure firmware programming
EP2715510B1 (en) 2011-05-24 2018-05-02 Marvell World Trade Ltd. Method for storage devices to achieve low write amplification with low over provision
TWI443513B (zh) * 2011-08-05 2014-07-01 Phison Electronics Corp 記憶體儲存裝置、記憶體控制器與資料寫入方法
US10803970B2 (en) 2011-11-14 2020-10-13 Seagate Technology Llc Solid-state disk manufacturing self test

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI631463B (zh) * 2016-03-22 2018-08-01 威盛電子股份有限公司 非揮發性記憶體裝置及其操作方法
US10108366B2 (en) 2016-03-22 2018-10-23 Via Technologies, Inc. Non-volatile memory apparatus and operating method thereof
US10289559B2 (en) 2016-03-22 2019-05-14 Via Technologies, Inc. Non-volatile memory apparatus and operating method thereof
CN108874301A (zh) * 2017-05-08 2018-11-23 慧荣科技股份有限公司 数据储存装置以及其操作方法
CN108874301B (zh) * 2017-05-08 2021-08-10 慧荣科技股份有限公司 数据储存装置以及其操作方法
TWI645331B (zh) * 2017-05-26 2018-12-21 上海寶存信息科技有限公司 固態硬碟存取方法以及使用該方法的裝置
CN109448779A (zh) * 2018-11-14 2019-03-08 郑州云海信息技术有限公司 一种Dual Port SSD的SI测试方法、装置
US11502832B2 (en) 2020-06-04 2022-11-15 PUFsecurity Corporation Electronic device capable of protecting confidential data
TWI827912B (zh) * 2020-06-04 2024-01-01 熵碼科技股份有限公司 電子裝置及操作電子裝置的方法
TWI773395B (zh) * 2021-06-22 2022-08-01 慧榮科技股份有限公司 記憶體控制器與連結識別方法
US11755439B2 (en) 2021-06-22 2023-09-12 Silicon Motion, Inc. Memory controller, test device and link identification method

Also Published As

Publication number Publication date
KR101495519B1 (ko) 2015-03-05
JP6377237B2 (ja) 2018-08-22
CN103597443A (zh) 2014-02-19
WO2013074455A1 (en) 2013-05-23
TW201333964A (zh) 2013-08-16
EP2780798A4 (en) 2015-12-09
EP2780798A1 (en) 2014-09-24
US10803970B2 (en) 2020-10-13
JP2014535120A (ja) 2014-12-25
CN103597443B (zh) 2018-02-02
KR20140097613A (ko) 2014-08-06
US20130124932A1 (en) 2013-05-16
KR101469596B1 (ko) 2014-12-08
KR20130133074A (ko) 2013-12-05
JP2018060575A (ja) 2018-04-12

Similar Documents

Publication Publication Date Title
TWI525631B (zh) 儲存裝置及其操作方法
US20160293274A1 (en) Storage Device Firmware and Manufacturing Software
US10452283B2 (en) Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device
US9467288B2 (en) Encryption key destruction for secure data erasure
TWI584125B (zh) 輸入/輸出裝置及計算主機相互運作
JP6082389B2 (ja) ホストから見たデバイスファームウェア更新の影響の管理
JP6387231B2 (ja) 不揮発性メモリへの書き込みの管理および領域選択
JP6336767B2 (ja) リテンションドリフト履歴ベースの不揮発性メモリ読出し閾値最適化
KR101562781B1 (ko) 비휘발성 스토리지에 대한 셀프-저널링 및 계층적 일치성
CN103620563B (zh) 用于非易失性存储器的可变超量配置
KR102147970B1 (ko) 비휘발성 메모리 기반의 스토리지 디바이스의 복구 방법 및 상기 스토리지 디바이스를 포함하는 전자 시스템의 동작 방법
US8010768B2 (en) Secure and scalable solid state disk system
US20140040639A1 (en) Encrypted-transport solid-state disk controller
US20240126435A1 (en) Storage system and method of data management of the same
Liu et al. Research and Implementation of SSD Lifespan Protection Mechanism

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees