TWI492061B - 經由主機傳輸速率偵測之操作模式或特徵之選擇性啟用 - Google Patents

經由主機傳輸速率偵測之操作模式或特徵之選擇性啟用 Download PDF

Info

Publication number
TWI492061B
TWI492061B TW101104097A TW101104097A TWI492061B TW I492061 B TWI492061 B TW I492061B TW 101104097 A TW101104097 A TW 101104097A TW 101104097 A TW101104097 A TW 101104097A TW I492061 B TWI492061 B TW I492061B
Authority
TW
Taiwan
Prior art keywords
host
interface
version
serial interface
standard
Prior art date
Application number
TW101104097A
Other languages
English (en)
Other versions
TW201243605A (en
Inventor
Andrew John Tomlin
Original Assignee
Lsi Corp
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 Corp filed Critical Lsi Corp
Publication of TW201243605A publication Critical patent/TW201243605A/zh
Application granted granted Critical
Publication of TWI492061B publication Critical patent/TWI492061B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)

Description

經由主機傳輸速率偵測之操作模式或特徵之選擇性啟用
需要介接主機與儲存系統及/或子系統之進階提供使用效能、效率及效用之改良。
除非明確識別為眾所周知或熟知,否則本文中技術及概念之提及(包含背景、定義或比較目的)不應解釋為許可此等技術及概念係先前眾所周知或另外先前技術之部分。本文提出包含專利、專利申請案及公開案之所有參考(若有的話)之全文以引用方式併入本文中,無論其等是否為任何目的而具體併入。
可依眾多方式(包含一程序、一製品、一裝置、一系統、一組合物及一電腦可讀取媒體(諸如一電腦可讀取儲存媒體(例如,一光學及/或磁性大容量儲存器件(諸如具有非揮發性儲存裝置(諸如快閃記憶體)之一磁碟或一積體電路)中之媒體))或者一電腦網路(其中在光學或電子通信鏈路上發送程式指令))實施本發明。在本說明書中,本發明可採取的此等實施方案或任何其他形式可稱為技術。[實施方式]提供使能改良上文識別的領域中使用之效能、效率及效用之本發明之一或多項實施例之一曝光。[實施方式]包含一引論以促進[實施方式]之剩餘部分之更快速瞭解。引論包含根據本文描述的概念之系統、方法、製品及電腦可讀取媒體之一或多者之例示性實施例。如在引論中 詳細討論,本發明涵蓋發佈的申請專利範圍之範疇內之所有可能修改及變動。
下文提供本發明之一或多項實施例之一詳細描述連同圖解說明本發明之選定細節之隨附圖。結合實施例描述本發明。應瞭解本文之實施例僅係例示性的,本發明明顯不限於任何或所有本文之實施例或者由任何或所有本文之實施例限制,且本發明涵蓋眾多替代、修改及等效物。為了避免單調地闡述,各種字彙標籤(包含但不限於:第一、最後、特定、多種、進一步、其他、特定、選擇、一些及顯著)可應用於實施例之分開集;如本文使用此等標籤明顯不意指傳遞品質或任何形式的偏好或偏見,但僅為便利地辨別該等分開集。在本發明之範疇內,經揭示處理程序之一些操作之次序可改變。在任何情況下,多項實施例起到描述處理程序、方法及/或程式指令特徵之變動之作用,根據分別對應於該多項實施例之複數者之複數個操作模式之一者之一預定或一動態判定準則執行靜態及/或動態選擇而考量其他實施例。在下文描述中陳述眾多特定細節以提供本發明之一透徹瞭解。為了實例而提供該等細節且可根據不具該等細節之一些或所有之申請專利範圍而實踐本發明。為了清楚,未詳細描述在關於本發明之技術領域中所知的技術材料使得不必要地混淆本發明。
引論
此引論僅經包含以促進[實施方式]之更快速瞭解;本發 明不限於在該引論中呈現的概念(包含明確實例,若有的話),此係因為任何引論之段落有必要係整個主題之一簡要觀念且不意指係一詳盡或限制性描述。例如,接下來的引論提供空間及組織僅限於特定實施例之概述資訊。存在許多其他實施例,包含最終將貫穿本說明書之剩餘部分描寫、討論的申請專利範圍。
縮略詞
本文別處之多種速記縮寫詞或縮略詞有時係指特定元件。至少一些縮略詞之描述如下。
在一些情況下,諸如耦合至儲存裝置(例如,具有相容於一特定串列介面標準之一串列介面之一固態磁碟(SSD))之一主機,由SSD將狀態聯合而將狀態資訊傳回至該主機使能增強效能。一些主機不完全相容於特定串列介面標準,不能夠適當地處理聯合狀態資訊。在SSD先前不知道 耦合至一非相容/相容主機之情況下,當一非相容主機不能夠適當地處理聯合狀態時經由主機傳輸速率偵測之狀態聯合之選擇性啟用停用狀態聯合,且啟用經啟用以適當處理聯合狀態之至少一些相容主機之狀態聯合。該SSD基於串列介面之一交涉速度而保守判定該主機為非相容/相容,且回應於該交涉速度而選擇性停用/啟用狀態聯合。該串列介面之一實例係一串列進階技術附接(SATA)介面。
在多種實施例中,一SSD控制器包含:一主機介面,其用於與一計算主機介接;一快閃記憶體介面,其用於與快閃記憶體介接(例如,用以提供留存資訊而無需施加電力之非揮發性儲存器);及用於控制該等介面及執行(及/或控制執行之多種態樣)經由主機傳輸速率偵測之狀態聯合之選擇性啟用之電路。
根據多種實施例,一些主機介面相容於一USB介面標準、一CF介面標準、一MMC介面標準、一eMMC介面標準、一Thunderbolt介面標準、一UFS介面標準、一SD介面標準、一記憶體棒(Memory Stick)介面標準、一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)或者其他格狀碼(trellis code)及零或多個LDPC碼之各種組合。
例示性實施例
總結詳細描述之引論,下文係包含至少一些明確列舉為「EC」(例示性組合)提供根據本文描述的概念之各種實施例類型之額外描述之例示性實施例之一集合;此等實例不意指相互排除的、詳盡的或限制性的;且本發明不限於此等例示性實施例但相反涵蓋發佈的申請專利範圍之範疇內之所有可能修改及變動。
EC1)一種系統,其包括:用於串列介接一主機與儲存裝置之一構件;用於判定用於串列介接之該構件是否依大於/小於一臨限值之一標稱串列資料傳輸速率操作之一構件;及用於選擇性啟用/停用一操作模式及/或特徵之一構件,用於選擇性啟用/停用之該構件係至少部分取決於用於判定之該構件。
EC2)如EC1之系統,其中用於串列介接之該構件相容於一串列進階技術附接(SATA)標準之至少一版本。
EC3)如EC1之系統,其中該臨限值係6 Gb。
EC4)如EC1之系統,其中該儲存裝置包括一儲存系統/子系統。
EC5)如EC1之系統,其中該儲存裝置包括一或多個固態磁碟(SSD)、硬碟機(HDD)、光碟(CD)及/或數位多功能/視 訊光碟(DVD)機及磁帶機。
EC6)如EC1之系統,其中用於串列介接之該構件包括在一固態磁碟(SSD)中,且該儲存裝置包括在該SSD中所包括之快閃記憶體。
EC7)如EC1之系統,其中用於串列介接之該構件相容於一串列進階技術附接(SATA)標準之至少一版本,該臨限值係6 Gb,用於串列介接之該構件包括在一固態磁碟(SSD)中,且該儲存裝置包括在該SSD中所包括之快閃記憶體。
EC8)如EC1之系統,其中該主機係一介接主機。
EC9)如EC8之系統,其中該介接主機包括一儲存橋接器及一儲存擴充器之一或多者。
EC10)如EC1之系統,其中該主機係一計算主機。
EC11)如EC10之系統,其進一步包括該計算主機之所有或任何部分。
EC12)如EC1之系統,其中用於串列介接之該構件相容於一儲存介面標準。
EC13)如EC1之系統,其中該儲存裝置包括一或多個快閃記憶體且進一步包括用於介接該等快閃記憶體之一構件。
EC14)如EC13之系統,其中用於介接該等快閃記憶體之該構件包括一快閃記憶體介面。
EC15)如EC13之系統,其進一步包括該等快閃記憶體之至少一者。
EC16)如EC13之系統,其中在一單一積體電路(IC)中統 一實施該等構件。
EC17)如EC13之系統,其中該等構件包括在一固態磁碟(SSD)中。
EC18)如EC13之系統,其中該等構件包括在一固態磁碟(SSD)之一控制器中。
EC19)如EC1之系統,其中一串列介面標準之一第一版本指定依處於或高於該臨限值之一最大標稱串列資料傳輸速率操作,且該串列介面標準之該第一版本指定該操作模式及/或特徵。
EC20)如EC19之系統,其中該串列介面標準之一第二版本指定依低於該臨限值之一最大標稱串列資料傳輸速率操作。
EC21)如EC19之系統,其中該串列介面標準之一第二版本缺乏該操作模式及/或特徵之任何規範。
EC22)如EC19之系統,其中該串列介面標準之一第二版本指定依低於該臨限值之一最大標稱串列資料傳輸速率操作且缺乏該操作模式及/或特徵之任何規範。
EC23)一種方法,其包括:串列介接一主機與儲存裝置;判定該串列介接是否依大於/小於一臨限值之一標稱串列資料傳輸速率操作;及選擇性啟用/停用一操作模式/特徵,該選擇性啟用/停用係至少部分取決於該判定。
EC24)如EC23之方法,其中該串列介接相容於一串列進 階技術附接(SATA)標準之至少一版本。
EC25)如EC23之方法,其中該臨限值係6 Gb。
EC26)如EC23之方法,其中該儲存裝置包括一儲存系統/子系統。
EC27)如EC23之方法,其中該儲存裝置包括一或多個固態磁碟(SSD)、硬碟機(HDD)、光碟(CD)及/或數位多功能/視訊光碟(DVD)機及磁帶機。
EC28)如EC23之方法,其中在一固態磁碟(SSD)中執行該串列介接,且該儲存裝置包括在該SSD中所包括之快閃記憶體。
EC29)如EC23之方法,其中該串列介接相容於一串列進階技術附接(SATA)標準之至少一版本,該臨限值係6 Gb,在一固態磁碟(SSD)中執行該串列介接,且該儲存裝置包括在該SSD中所包括之快閃記憶體。
EC30)如EC23之方法,其中該主機係一介接主機。
EC31)如EC30之方法,其中該介接主機包括一儲存橋接器及一儲存擴充器之一或多者。
EC32)如EC23之方法,其中該主機係一計算主機。
EC33)如EC32之方法,其進一步操作該計算主機之所有或任何部分。
EC34)如EC23之方法,其中該串列介接相容於一儲存介面標準。
EC35)如EC23之方法,其中該儲存裝置包括一或多個快閃記憶體且進一步包括與該等快閃記憶體介接。
EC36)如EC35之方法,其中與該等快閃記憶體之該介接包括操作一快閃記憶體介面。
EC37)如EC35之方法,其進一步包括操作該等快閃記憶體之至少一者。
EC38)如EC35之方法,與該主機之該串列介接係至少部分經由操作一主機介面,與該等快閃記憶體之該介接係至少部分經由操作一快閃記憶體介面,且在一單一積體電路(IC)中統一實施該主機介面及該快閃記憶體介面。
EC39)如EC35之方法,與該主機之該串列介接係至少部分經由操作一主機介面,與該等快閃記憶體之該介接係至少部分經由操作一快閃記憶體介面,且該主機介面及該快閃記憶體介面包括在一固態磁碟(SSD)中。
EC40)如EC35之方法,與該主機之該串列介接係至少部分經由操作一主機介面,與該等快閃記憶體之該介接係至少部分經由操作一快閃記憶體介面,且該主機介面及該快閃記憶體介面包括在一固態磁碟(SSD)之一控制器中。
EC41)如EC23之方法,其中一串列介面標準之一第一版本指定依處於或高於該臨限值之一最大標稱串列資料傳輸速率操作,且該串列介面標準之該第一版本指定該操作模式及/或特徵。
EC42)如EC41之方法,其中該串列介面標準之一第二版本指定依低於該臨限值之一最大標稱串列資料傳輸速率操作。
EC43)如EC41之方法,其中該串列介面標準之一第二版 本缺乏該操作模式及/或特徵之任何規範。
EC44)如EC41之方法,其中該串列介面標準之一第二版本指定依低於該臨限值之一最大標稱串列資料傳輸速率操作且缺乏該操作模式及/或特徵之任何規範。
EC45)一種系統,其包括:主機介面電路,其經啟用以串列介接一主機與儲存裝置;串列資料速率判定電路,其經啟用以判定該主機介面電路是否依大於/小於一臨限值之一標稱串列資料傳輸速率操作;及操作模式及/或特徵控制電路,其經啟用以選擇性啟用/停用一操作模式及/或特徵,該操作模式及/或特徵控制電路係至少部分取決於該串列資料速率判定電路。
EC46)如EC45之系統,其中該主機介面電路相容於一串列進階技術附接(SATA)標準之至少一版本。
EC47)如EC45之系統,其中該臨限值係6 Gb。
EC48)如EC45之系統,其中該儲存裝置包括一儲存系統/子系統。
EC49)如EC45之系統,其中該儲存裝置包括一或多個固態磁碟(SSD)、硬碟機(HDD)、光碟(CD)及/或數位多功能/視訊光碟(DVD)機及磁帶機。
EC50)如EC45之系統,其中該主機介面電路包括在一固態磁碟(SSD)中,且該儲存裝置包括在該SSD中所包括之快閃記憶體。
EC51)如EC45之系統,其中該主機介面電路相容於一串 列進階技術附接(SATA)標準之至少一版本,該臨限值係6 Gb,該主機介面電路包括在一固態磁碟(SSD)中,且該儲存裝置包括在該SSD中所包括之快閃記憶體。
EC52)如EC45之系統,其中該主機係一介接主機。
EC53)如EC52之系統,其中該介接主機包括一儲存橋接器及一儲存擴充器之一或多者。
EC54)如EC45之系統,其中該主機係一計算主機。
EC55)如EC54之系統,其進一步包括該計算主機之所有或任何部分。
EC56)如EC45之系統,其中該主機介面電路相容於一儲存介面標準。
EC57)如EC45之系統,其中該儲存裝置包括一或多個快閃記憶體且進一步包括快閃記憶體介面電路,該等快閃記憶體介面電路經啟用以與該等快閃記憶體介接。
EC58)如EC57之系統,其中該快閃記憶體介面電路包括一快閃記憶體介面。
EC59)如EC57之系統,其進一步包括該等快閃記憶體之至少一者。
EC60)如EC57之系統,其中在一單一積體電路(IC)中統一實施該主機介面電路及該快閃記憶體介面電路。
EC61)如EC57之系統,其中該主機介面電路及該快閃記憶體介面電路包括在一固態磁碟(SSD)中。
EC62)如EC57之系統,其中該主機介面電路及該快閃記憶體介面電路包括在一固態磁碟(SSD)之一控制器中。
EC63)如EC45之系統,其中一串列介面標準之一第一版本指定依處於或高於該臨限值之一最大標稱串列資料傳輸速率操作,且該串列介面標準之該第一版本指定該操作模式及/或特徵。
EC64)如EC63之系統,其中該串列介面標準之一第二版本指定依低於該臨限值之一最大標稱串列資料傳輸速率操作。
EC65)如EC63之系統,其中該串列介面標準之一第二版本缺乏該操作模式及/或特徵之任何規範。
EC66)如EC63之系統,其中該串列介面標準之一第二版本指定依低於該臨限值之一最大標稱串列資料傳輸速率操作且缺乏該操作模式及/或特徵之任何規範。
EC67)一種具有一組指令儲存在其中之有形電腦可讀取媒體,該組指令係在由一處理元件執行時致使該處理元件執行包括以下步驟之操作:管理串列介接一主機與儲存裝置;管理判定該串列介接是否依大於/小於一臨限值之一標稱串列資料傳輸速率操作;及管理選擇性啟用/停用一操作模式及/或特徵,該選擇性啟用/停用係至少部分取決於該判定。
EC68)如EC67之有形電腦可讀取媒體,其中該串列介接相容於一串列進階技術附接(SATA)標準之至少一版本。
EC69)如EC67之有形電腦可讀取媒體,其中該臨限值係6 Gb。
EC70)如EC67之有形電腦可讀取媒體,其中該儲存裝置包括一儲存系統/子系統。
EC71)如EC67之有形電腦可讀取媒體,其中該儲存裝置包括一或多個固態磁碟(SSD)、硬碟機(HDD)、光碟(CD)及/或數位多功能/視訊光碟(DVD)機及磁帶機。
EC72)如EC67之有形電腦可讀取媒體,其中在一固態磁碟(SSD)中執行該串列介接,且該儲存裝置包括在該SSD中所包括之快閃記憶體。
EC73)如EC67之有形電腦可讀取媒體,其中該串列介接相容於一串列進階技術附接(SATA)標準之至少一版本,該臨限值係6 Gb,在一固態磁碟(SSD)中執行該串列介接,且該儲存裝置包括在該SSD中所包括之快閃記憶體。
EC74)如EC67之有形電腦可讀取媒體,其中該主機係一介接主機。
EC75)如EC74之有形電腦可讀取媒體,其中該介接主機包括一儲存橋接器及一儲存擴充器之一或多者。
EC76)如EC67之有形電腦可讀取媒體,其中該主機係一計算主機。
EC77)如EC67之有形電腦可讀取媒體,其進一步包括管理操作該計算主機之所有或任何部分。
EC78)如EC67之有形電腦可讀取媒體,其中該串列介接相容於一儲存介面標準。
EC79)如EC67之有形電腦可讀取媒體,其中該儲存裝置包括一或多個快閃記憶體且進一步包括管理與該等快閃記 憶體介接。
EC80)如EC79之有形電腦可讀取媒體,其中管理與該等快閃記憶體介接包括管理操作一快閃記憶體介面。
EC81)如EC79之有形電腦可讀取媒體,其進一步包括管理操作該等快閃記憶體之至少一者。
EC82)如EC79之有形電腦可讀取媒體,其中管理與該主機之串列介接係至少部分經由管理操作一主機介面,管理與該等快閃記憶體之介接係至少部分經由管理操作一快閃記憶體介面及該主機介面,且在一單一積體電路(IC)中統一實施該快閃記憶體介面。
EC83)如EC79之有形電腦可讀取媒體,其中管理與該主機之串列介接係至少部分經由管理操作一主機介面,管理與該等快閃記憶體之介接係至少部分經由管理操作一快閃記憶體介面及該主機介面,且該快閃記憶體介面包括在一固態磁碟(SSD)中。
EC84)如EC79之有形電腦可讀取媒體,其中管理與該主機之串列介接係至少部分經由管理操作一主機介面,管理與該等快閃記憶體之介接係至少部分經由管理操作一快閃記憶體介面及該主機介面,且該快閃記憶體介面包括在一固態磁碟(SSD)之一控制器中。
EC85)如EC67之有形電腦可讀取媒體,其中一串列介面標準之一第一版本指定依處於或高於該臨限值之一最大標稱串列資料傳輸速率操作,且該串列介面標準之該第一版本指定該操作模式及/或特徵。
EC86)如EC85之有形電腦可讀取媒體,其中該串列介面標準之一第二版本指定依低於該臨限值之一最大標稱串列資料傳輸速率操作。
EC87)如EC85之有形電腦可讀取媒體,其中該串列介面標準之一第二版本缺乏該操作模式及/或特徵之任何規範。
EC88)如EC85之有形電腦可讀取媒體,其中該串列介面標準之一第二版本指定依低於該臨限值之一最大標稱串列資料傳輸速率操作且缺乏該操作模式及/或特徵之任何規範。
EC89)任何前述EC具有一儲存介面標準或係指一儲存介面標準,其中該儲存介面標準包括以下之一或多者:一通用串列匯流排(USB)介面標準,一緊湊型快閃記憶體卡(CF)介面標準,一多媒體卡(MMC)介面標準,一嵌入式MMC(eMMC)介面標準,一Thunderbolt介面標準,一UFS介面標準,一安全數位(SD)介面標準,一記憶體卡介面標準,一xD圖像卡介面標準,一整合式驅動電子介面(IDE)介面標準,一串列進階技術附接(SATA)介面標準,一外部SATA(eSATA)介面標準, 一小型電腦系統介面(SCSI)介面標準,一串列附接小型電腦系統介面(SAS)介面標準,一光纖通道介面標準,一乙太網路介面標準,及一高速周邊組件互連(PCIe)介面標準。
EC90)任何前述EC具有一計算主機或係指一計算主機標準,其中該計算主機包括以下之一或多者之所有或任何部分:一電腦,一工作站電腦,一伺服器電腦,一儲存伺服器,一儲存裝置附接網路(SAN),一網路附接儲存裝置(NAS)器件,一直接附接儲存裝置(DAS)器件,一儲存設施,一個人電腦(PC),一膝上型電腦,一筆記型電腦,一小筆電電腦,一平板型器件或電腦,一超級筆記型電腦,一電子讀取器件(一電子閱讀器),一個人數位助理(PDA), 一導航系統,一(手持型)全球定位系統(GPS)器件,一汽車控制系統,一汽車媒體控制系統或電腦,一印表機、影印機或傳真機或多用途器件,一銷售點(POS)器件,一收銀機,一媒體播放器,一電視,一媒體錄影機,一數位視訊錄影機(DVR),一數位相機,一蜂巢式手機,一無接線電話手機,及一電子遊戲機。
EC91)任何前述EC具有至少一快閃記憶體或係指至少一快閃記憶體,其中該至少一快閃記憶體之至少一部分包括以下之一或多者:反及快閃記憶體技術儲存單元,及反或快閃記憶體技術儲存單元。
EC92)任何前述EC具有至少一快閃記憶體或係指至少一快閃記憶體,其中該至少一快閃記憶體之至少一部分包括以下之一或多者:單位階單元(SLC)快閃記憶體技術儲存單元,及 多位階單元(MLC)快閃記憶體技術儲存單元。
EC93)任何前述EC具有至少一快閃記憶體或係指至少一快閃記憶體,其中該至少一快閃記憶體之至少一部分包括以下之一或多者:基於多晶矽技術之電荷儲存單元,及基於氮化矽技術之電荷儲存單元。
EC94)任何前述EC具有至少一快閃記憶體或係指至少一快閃記憶體,其中該至少一快閃記憶體之至少一部分包括以下之一或多者:基於二維技術之快閃記憶體技術,及基於三維技術之快閃記憶體技術。
EC95)任何前述EC具有一快閃記憶體介面或係指一快閃記憶體介面,其中該快閃記憶體介面相容於以下之一或多者:一開放式反及快閃記憶體介面(ONFI),一雙態切換模式介面,一雙倍資料速率(DDR)同步介面,一DDR2同步介面,一同步介面,及一非同步介面。
系統
圖1A圖解說明包含一SSD控制器之一SSD之一實施例之選定細節,該SSD控制器提供用於經由主機傳輸速率偵測之一或多個操作模式及/或一或多個特徵(諸如狀態聯合)之 選擇性啟用以管理與一(計算)主機之一介接之多種技術以及用於管理非揮發性儲存裝置(諸如快閃記憶體)之電路。該SSD控制器用於管理諸如經由NVM元件(例如,快閃記憶體)實施的非揮發性儲存裝置。SSD控制器100係經由一或多個外部介面110而通信式耦合至一主機(未圖解說明)。根據多種實施例,外部介面110係以下之一或多者:一SATA介面;一SAS介面;一PCIe介面;一光纖通道介面;一乙太網路介面(諸如10十億位元乙太網路);任何前述介面之一非標準版本;一自訂介面;用以互連儲存裝置及/或通信及/或計算器件之任何其他類型的介面。例如,在一些實施例中,SSD控制器110包含一SATA介面及一PCIe介面。
SSD控制器110係經由一或多個器件介面190而進一步通信式耦合至NVM 199,NVM 199包含一或多個儲存器件,諸如一或多個快閃記憶體器件192。根據多種實施例,器件介面190係以下之一或多者:一非同步介面;一同步介面;一單資料速率(SDR)介面;一雙倍資料速率(DDR)介面;一DRAM相容DDR或DDR2同步介面;一ONFI相容介面,諸如一ONFI 2.2或ONFI 3.0相容介面;一雙態切換模式相容快閃記憶體介面;任何前述介面之一非標準版本;一自訂介面;或用以連接至儲存器件之任何其他類型的介面。
在一些實施例中,各快閃記憶體器件192具有一或多個個別快閃記憶體晶粒194。根據快閃記憶體器件192之一特 定者之類型,該特定快閃記憶體器件192中之複數個快閃記憶體晶粒194可視需要及/或選擇性並列存取。快閃記憶體器件192僅代表能通信式耦合至SSD控制器110之儲存器件之一類型。在多種實施例中,任何類型的儲存器件(諸如一SLC反及快閃記憶體、MLC反及快閃記憶體、反或快閃記憶體;使用基於多晶矽或氮化矽技術之電荷儲存單元之快閃記憶體、基於二維或三維技術之快閃記憶體、唯讀記憶體、靜態隨機存取記憶體、動態隨機存取記憶體、鐵磁記憶體、相變記憶體、跑道記憶體(racetrack memory)或任何其他類型的記憶體器件或儲存媒體)係可用的。
根據多種實施例,器件介面190組織為:一或多個匯流排,每個匯流排具一或多個快閃記憶體器件192;一或多個匯流排群組,每個匯流排具一或多個快閃記憶體器件192,其中大體上並列存取一群組中之匯流排;或者一或多個快閃記憶體192成為器件介面190之任何其他組織。
繼續參考圖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)之一解除分配命令(例如,一修整(trim)命令);作為回應,SSD據此修改映射且視需要提供解除分配狀態。在一些背景下,一ATA相容TRIM命令係一例示性解除分配命令。對於又另一實例,命令包含一超級電容器測試命令或一資料強化成功查詢;作為回應,SSD提供適當狀態。在一些實施例中,主機介面111相容於一SATA協定且使用NCQ命令以使能具有最多32個未決命令,各命令具表示為自0至31之一數目之一唯一標記。在一些實施例中,標記追蹤113經啟用以使經由外部介面110接收的一命令之一外部標記與用以在 由SSD控制器100處理期間追蹤該命令之外部介面110相關聯。
根據多種實施例,進行以下項之一或多者:資料處理121視需要及/或選擇性處理在緩衝器131與外部介面110之間發送的一些或所有資料;及資料處理121視需要及/或選擇性處理儲存在緩衝器131中之資料。在一些實施例中,資料處理121使用一或多個引擎123以執行以下項之一或多者:格式化;重新格式化;轉碼;及任何其他資料處理及/或操控任務。
緩衝器131儲存自外部介面110發送至器件介面190/自器件介面190發送至外部介面110之資料。在一些實施例中,緩衝器131額外儲存由SSD控制器100使用以管理一或多個快閃記憶體器件192之系統資料,諸如一些或所有映射表。在多種實施例中,緩衝器131具有以下之一或多者:記憶體137,其用於暫時儲存資料;DMA 133,其用以控制資料來回緩衝器131之移動;及ECC-X 135,其用以提供高層級錯誤校正及/或冗餘功能;及其他資料移動及/或操控功能。一更高層級冗餘功能之一實例係一似RAID能力(例如,RASIE),其中冗餘係在一快閃記憶體器件(例如,多個快閃記憶體器件192)層級及/或一快閃記憶體晶粒(例如,快閃記憶體晶粒194)層級,而非在一磁碟層級處。
根據多種實施例,進行以下步驟之一或多者:ECC 161視需要及/或選擇性處理在緩衝器131與器件介面190之間發送的一些或所有資料;及ECC 161視需要及/或選擇性處 理儲存在緩衝器131中之資料。在一些實施例中,諸如根據一或多項ECC技術,使用ECC 161以提供較低層級錯誤校正及/或冗餘功能。在一些實施例中,ECC 161實施以下之一或多者:一CRC碼;一漢明碼;一RS碼;一BCH碼;一LDPC碼;一維特比碼;一格狀碼;一硬決策碼;一軟決策碼;一基於抹除之碼;任何錯誤偵測及/或校正碼;及任何前述組合。在一些實施例中,ECC 161包含一或多個解碼器(諸如LDPC解碼器)。
器件介面邏輯191經由器件介面190而控制快閃記憶體器件192之例項。器件介面邏輯191經啟用以根據快閃記憶體器件192之一協定而發送資料至快閃記憶體器件192之例項/自快閃記憶體器件192之例項發送資料。器件介面邏輯191包含排程193,該排程193用以經由器件介面190而選擇性序列控制快閃記憶體器件192之例項。例如,在一些實施例中,排程193經啟用以對快閃記憶體器件192之例項詢問操作,且選擇性發送該等操作至快閃記憶體器件192(或快閃記憶體晶粒194)之該等例項之個別者,此係因為快閃記憶體器件192(或快閃記憶體晶粒194)之該等例項之個別者係可用的。
映射141係在外部介面110上使用的資料定址與在器件介面190上使用的資料定址之間轉換,使用表格143以將外部資料位址映射至NVM 199中之位點。例如,在一些實施例中,映射141轉換在外部介面110上使用的LBA以經由表格143提供的映射而封鎖以一或多個快閃記憶體晶粒194為目 標之位址及/或標記以一或多個快閃記憶體晶粒194為目標之位址之頁碼。對於自碟機製造或解除分配以來從未寫入的LBA,映射指向一預設值以傳回是否讀取該等LBA。例如,當處理一解除分配命令時,映射經修改使得對應於解除分配LBA之項目指向一預設值。在多種實施例中,存在多種預設值,各預設值具有一對應指標。複數個預設值使能讀取一些解除分配LBA(諸如在一第一範圍中)作為一預設值,而讀取其它解除分配LBA(諸如在一第二範圍中)作為另一預設值。在多種實施例中,由快閃記憶體、硬體、韌體、命令及/或基元引數及/或參數、可程式化暫存器或其等之多種組合定義預設值。
在一些實施例中,映射141使用表格143以執行及/或查找在外部介面100上使用的位址與在器件介面190上使用的資料定址之間的轉譯。根據多種實施例,表格143係以下之一或多者:一單層級映射;一雙層級映射;一多層級映射;一映射快取;一壓縮映射;自一位址空間至另一位址空間之任何類型的映射;及任何前述組合。根據多種實施例,表格143包含以下之一或多者:靜態隨機存取記憶體;動態隨機存取記憶體;NVM(諸如快閃記憶體);快取記憶體;晶片上記憶體;晶片外記憶體;及任何前述組合。
在一些實施例中,回收器151執行廢棄項目收集。例如,在一些實施例中,快閃記憶體器件192之例項含有在可重新寫入區塊之前必須抹除的區塊。回收器151經啟用 以諸如藉由掃描由映射141維持的一映射而判定快閃記憶體器件192之該等例項之哪個部分正在使用中(例如,分配而非解除分配),及抹除快閃記憶體器件192之該等例項之未使用(例如,解除分配)部分而使其等可用於寫入。在進一步實施例中,回收器151經啟用以移動儲存在快閃記憶體器件192之例項中之資料以使快閃記憶體器件192之該等例項之更大連續部分可用於寫入。
在一些實施例中,選擇性及/或動態組態、管理及/或使用快閃記憶體器件192之例項以具有用於儲存不同類型及/或屬性之資料之一或多個帶(band)。該等帶之一數目、配置、大小及類型係可動態變更。例如,來自一計算主機之資料寫入至一熱(作用)帶中,同時來自回收器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核心172上執行的韌體或經由外部介面110連接的一主機上執行的韌體)或其等之任何組合來控制及/或管理由CPU 171執行的任何或所有管理功能。
在一些實施例中,CPU 171經啟用以執行管理任務,諸如以下之一或多者:蒐集及/或報告效能統計;實施SMART;控制電源定序(power sequencing)、控制及/或監測及/或調整功率消耗;回應於電源故障;控制及/或監測及/或調整時脈速率;及其他管理任務。
多種實施例包含一計算主機快閃記憶體控制器,該計算主機快閃記憶體控制器相似於SSD控制器100且諸如經由調適主機介面111及/或外部介面110而相容於多種計算主機操作。多種計算主機包含以下之一或任何組合:一電腦、一工作站電腦、一伺服器電腦、一儲存伺服器、一SAN、 一NAS器件、一DAS器件、一儲存設施、一PC、一膝上型電腦、一筆記型電腦、一小筆電電腦、一平板型器件或電腦、一超級筆記型電腦、一電子讀取器件(諸如一電子閱讀器)、一PDA、一導航系統、一(手持型)GPS器件、一汽車控制系統、一汽車媒體控制系統或電腦、一印表機、影印機或傳真機或多用途器件、一POS器件、一收銀機、一媒體播放器、一電視、一媒體錄影機、一DVR、一數位相機、一蜂巢式手機、一無接線電話手機及一電子遊戲機。
在多種實施例中,在一單一IC、一多晶粒IC之一單一晶粒、一多晶粒IC之複數個晶粒或複數個IC上實施一SSD控制器(或一計算主機快閃記憶體控制器)之所有或任何部分。例如,在相同於SSD控制器100之其他元件之一晶粒上實施緩衝器131。對於另一實例,在不同於SSD控制器100之其他元件之一晶粒上實施緩衝器131。
圖1B圖解說明包含圖1A之SSD之一或多個例項之系統之多種實施例之選定細節。SSD 101包含SSD控制器100,該SSD控制器100經由器件介面190而耦合至NVM 199。該圖圖解說明實施例之各種類別:一單一SSD,其直接耦合至一主機;複數個SSD,各SSD經由各自外部介面而分別直接耦合至一主機;及一或多個SSD,其(等)經由多種互連元件而間接耦合至一主機。
作為直接耦合至一主機之一單一SSD之一例示性實施例,SSD 101之一例項經由外部介面110(例如,省略、旁通或通過交換器/網狀架構/中間控制器103)而直接耦合至 主機102。作為各經由各自外部介面而直接耦合至一主機之複數個SSD之一例示性實施例,SSD 101之複數個例項之各者經由外部介面110之一各自例項(例如,省略、旁通或通過交換器/網狀架構/中間控制器103)而分別直接耦合至主機102。作為經由多種互連元件而間接耦合至一主機之一或多個SSD之一例示性實施例,SSD 101之一或多個例項之各者分別間接耦合至主機102。各間接耦合經由外部介面110之一各自例項而耦合至交換器/網狀架構/中間控制器103,且經由中間介面104而耦合至主機102。
包含交換器/網狀架構/中間控制器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之例項之一或多者/自SSD 101之例項之一或多者接收之資料以及自OS 105之任何一或多者發送/接收至OS 105之任何一或多者之資料。
OS 105包含及/或經啟用以與驅動程式(概念上闡釋為驅動程式107)一起操作以與SSD介接。Windows之多種版本(例如,Windows 95、Windows 98、Windows ME、Windows NT、Windows XP、Windows 2000、Windows Server、Windows Vista及Windows 7)、Linux之多種版本(例如,Red Hat、Debian及Ubuntu)及MacOS之多種版本(例如,MacOS 8、MacOS 9及MacOS X)係OS 105之實例。在多種實施例中,驅動程式係可與一標準介面及/或協定(諸如SATA、AHCI或NVM Express)一起操作之標準及/或泛型驅動程式(有時稱為「拆封授權」或「預先安裝」),或視需要自訂及/或廠商特定以使能使用特定於SSD 101之命令。一些磁碟及/或驅動程式具有通過模式(pass-through mode)以啟用應用程式層級程式(諸如經由最佳化反及存取(有時稱為ONA)或直接反及存取(有時稱為DNA)技術之應用程式109),以將命令直接傳達至SSD 101,從而使一自訂應用程式甚至能與一泛型驅動程式一起使用特定於SSD 101之命令。ONA技術包含以下之一或多者:非標準修飾元(modifier)(提示)之使用;廠商特定命令之使用;非標準統計之通信,諸如根據可壓縮性之實際NVM使用;及其他技術。DNA技術包含以下之一或多者:提供對NVM之未映射讀取、寫入及/或抹除存取之非標準或廠商特定命令之使用;提供對NVM之更直接存取之非標準或廠商特定命令之使用,諸如藉由旁通I/O器件否則將使用之資料之格式化;及其他技術。驅動程式之實例係無ONA或DNA支援之 一驅動程式、一ONA啟用驅動程式、一DNA啟用驅動程式及一ONA/DNA啟用驅動程式。驅動程式之進一步實例係一廠商提供、廠商開發及/或廠商增強型驅動程式以及一用戶端提供、用戶端開發及/或用戶端增強型驅動程式。
應用程式層級程式之實例係無ONA或DNA支援之一應用程式、一ONA啟用應用程式、一DNA啟用應用程式及一ONA/DNA啟用應用程式。虛線箭頭109D代表應用程式←→I/O器件通信(例如,經由一驅動程式之旁通或經由一應用程式之一VF之旁通),例如,一ONA啟用應用程式及諸如在該應用程式未將OS用作為一中介之情況下與一SSD通信之一ONA啟用驅動程式。虛線箭頭109V代表應用程式←→I/O器件通信(例如,經由一應用程式之一VF之旁通),例如,一DNA啟用應用程式及諸如在該應用程式未將OS或驅動程式用作為一中介之情況下與一SSD通信之一DNA啟用驅動程式。
在一些實施例中,NVM 199之一或多個部分用於韌體儲存裝置,例如韌體106。韌體儲存裝置包含一或多個韌體影像(firmware image)(或其(等)之部分)。例如,一韌體影像具有(例如)由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代表 一或多個區域網路及/或廣域網路,諸如一伺服器群中之一網路、耦合伺服器群之一網路、一都會區域網路及網際網路之任何一或多者。
在多種實施例中,組合一或多個NVM之一SSD控制器及/或一計算主機快閃記憶體控制器實施為一非揮發性儲存組件,諸如一USB儲存組件、一CF儲存組件、一MMC儲存組件、一eMMC儲存組件、一Thunderbolt儲存組件、一UFS儲存組件、一SD儲存組件、一記憶體棒儲存組件及一xD圖像卡儲存組件。
在多種實施例中,一SSD控制器(或一計算主機快閃記憶體控制器)或其功能之所有或任何部分係在與該控制器耦合的一主機(例如,圖1B之主機102)中實施。在多種實施例中,一SSD控制器(或一計算主機快閃記憶體控制器)或其功能之所有或任何部分係經由硬體(例如,邏輯電路)、軟體及/或韌體(例如,驅動程式軟體或SSD控制韌體)或其等之任何組合而實施。例如,一ECC單元(諸如相似於圖1A之ECC 161及/或ECC-X 135)之功能或與一ECC單元(諸如相似於圖1A之ECC 161及/或ECC-X 135)相關聯的功能係經由一主機上之軟體而部分實施且經由一SSD控制器中之韌體及硬體之一組合而部分實施。對於另一實例,一回收器單元(諸如相似於圖1A之回收器151)之功能或與一回收器單元(諸如相似於圖1A之回收器151)相關聯的功能係經由一主機上之軟體而部分實施且經由一計算主機快閃記憶體控制器中之硬體而部分實施。
圖1C圖解說明包含圖1A之SSD之一系統之一實施例之選定細節。SSD 101包含SSD控制100,該SSD控制100經由器件介面190而耦合至NVM 199。該SSD經由外部介面110而耦合至主機6G 102A、主機3G/1.5G 102B及主機3G/1.5G 102C之任何組合,如由虛線交涉1100DA、交涉1100DB及交涉1100DC概念上指示(如關於圖2更詳細描述)。在多種實施例中,主機6G 102A、主機3G/1.5G 102B及主機3G/1.5G 102C之任何一或多者對應於圖1B之主機102之多種實施方案。在一些實施例中,SSD 101(或其之變動)對應於耦合至操作為主機102、主機6G 102A、主機3G/1.5G 102B及主機3G/1.5G 102C之任何一或多者之啟始器之一SAS磁碟或一SATA磁碟。在多種實施例及/或使用案例中,例如當省略、旁通或通過交換器/網狀架構/中間控制器103時,由圖1C表示的實施例對應於由圖1B表示的實施例。
圖1D圖解說明包含圖1A之SSD之一系統之一實施例之選定細節。如在圖1C中,SSD 101包含SSD控制器100,該SSD控制器100經由器件介面190而耦合至NVM 199。該SSD經由外部介面110而耦合至主機6G 102A、主機3G/1.5G 102B及主機3G/1.5G 102C之任何組合,該外部介面110繼而耦合至交換器/網狀架構/中間控制器103且接著經由中間介面104而耦合至主機6G 102A、主機3G/1.5G 102B及主機3G/1.5G 102C之任何組合,如由虛線交涉1100IA、交涉1100IB及交涉1100IC概念上指示(如關於圖2 更詳細描述)。在多種實施例中,SSD控制器100經由其他控制器(諸如一RAID控制器)之一或多個中間層級而耦合至該(等)主機。在一些實施例中,SSD 101(或其之變動)對應於一SAS磁碟或SATA磁碟,且交換器/網狀架構/中間控制器103對應於繼而耦合至一啟始器之一擴充器,或替代地交換器/網狀架構/中間控制器103對應於經由一擴充器而間接耦合至一啟始器之一橋接器。在多種實施例及/或使用案例中,例如當存在且不旁通或通過交換器/網狀架構/中間控制器103時,圖1D表示的實施例對應於圖1B表示的實施例。
在一些實施例及/或使用案例中,主機6G 102A、主機3G/1.5G 102B及主機3G/1.5G 102C係各具一串列介面(諸如一SATA介面)之主機。例如,主機6G 102A經啟用以依一最大速率(稱為具有一標稱6 Gb速率之一「6 Gb」速率)傳輸串列資料(且亦經啟用以依較低速率(稱為具有各自3 Gb及1.5 Gb標稱速率之「3 Gb」及「1.5 Gb」速率)傳輸資料),同時主機3G/1.5G 102B及102C經啟用以依3 Gb速率之一最大速率傳輸資料(且亦經啟用以依一較低速率(諸如該1.5 Gb速率)傳輸資料)。
經由主機傳輸速率偵測之狀態聯合之選擇性啟用
在一些實施例及/或使用案例(諸如一主機耦合至一儲存系統/子系統(例如一計算主機經由一串列介面而耦合至一SSD)之一些實施例)中,狀態聯合使能增強效能。然而,一些主機(諸如不完全相容於一特定串列介面標準之一些 主機(例如,該主機不完全相容於一特定SATA標準之一些實施例))未經啟用以適當地處理聯合狀態資訊。在儲存系統/子系統事先知道耦合至一非相容主機或一相容主機之情況下,經由串列介面之主機傳輸速率偵測之狀態聯合之選擇性啟用:在一非相容主機未經啟用以適當地處理聯合狀態之情況下停用狀態聯合;且在一相容主機經啟用以適當處理聯合狀態之至少一些情況下啟用狀態聯合。該儲存系統/子系統基於該串列介面與該主機之一交涉速度(例如,一SATA介面之一標稱串列資料速率)而保守地判定該主機非相容或相容。
關於圖1C及圖1D,在一些實施例及/或使用案例中,主機6G 102A相容於一特定SATA標準且經啟用以依一最大標稱6 Gb(以及標稱3 Gb及1.5 Gb速率)傳輸資料,同時主機3G/1.5G 102B相容於該特定SATA標準且經啟用以依3 Gb或1.5 Gb速率(但不是依一6 Gb速率)傳輸資料。此外,主機3G/1.5G 102C不完全相容於該特定SATA標準(例如,不能適當地處理聯合狀態資訊)且經啟用以依標稱3 Gb或1.5 Gb速率(但不是依一6 Gb)傳輸資料。
圖2圖解說明經由主機傳輸速率偵測之狀態聯合之選擇性啟用之一實施例之選定細節之一流程圖。流程圖200係當耦合至多種傳輸速率能力之主機(諸如如在圖1C中直接耦合或在圖1D中間接耦合的主機6G 102A、主機3G/1.5G 102B及主機3G/1.5G 102C)時一SSD與一被包含控制器(諸如SSD 101與圖1C及圖1D之SSD控制器100)之操作之一實 例。
當控制器與主機耦合時,當發生一系統重設時,當施加電力時或當發生啟始該主機與該控制器之間的一資料速率交涉之任何其他事件時流程開始(開始,201)。該主機與該控制器同意一資料傳輸速率(與主機交涉速度,202)。若該同意資料傳輸速率係標稱上的6 Gb(確定6G,203),則流程前進至開啟狀態組合(啟用狀態聯合,205),且流程完成(結束,299)。若該同意資料傳輸速率不是標稱上的6 Gb,則流程前進至關閉狀態組合(停用狀態聯合,204)。接著流程完成(結束,299)。繼流程完成之後,接著該控制器回應於主機請求且回應於特定請求而傳回狀態,當已啟用聯合時聯合該等傳回狀態且當已停用聯合時從不聯合該等傳回狀態。在多種實施例中,判定一傳輸速率高於(或低於)一標稱值(諸如一預定臨限值)而非判定一傳輸速率係一標稱值(例如,6 Gb)。
作為流程圖200之操作之一第一實例,考量SSD 101與SSD控制器100耦合至主機6G 102A(如在圖1C中圖解說明)。主機6G 102A相容於一特定SATA標準,經啟用以適當地處理聯合狀態資訊且進一步經啟用以依一最大標稱6 Gb速率傳輸資料。關於圖2,主機與控制器同意一資料傳輸速率(與主機交涉速度,202)且由圖1C中之虛線交涉1100DA概念上指示該交涉。該主機請求及獲得6 Gb之最大資料速率,且因此該同意標稱資料傳輸速率係6 Gb,因而流程前進至開啟狀態組合(啟用狀態聯合,205)。接著流 程完成。該控制器接著前進至在啟用狀態聯合之情況下操作,傳回在一些情況下聯合的狀態資訊至該主機,在一些情況下使能增強效能。
作為流程圖200之操作之一第二實例,考量SSD 101與SSD控制器100耦合至主機3G/1.5G 102B(如在圖1C中圖解說明)。主機3G/1.5G 102B相容於一特定SATA標準,經啟用以適當地處理聯合狀態資訊且進一步經啟用以依一最大標稱3 Gb速率傳輸資料。關於圖2,主機與控制器同意一資料傳輸速率(與主機交涉速度,202)且由圖1C中之虛線交涉1100DB概念上指示該交涉。該主機請求及獲得3 Gb之最大資料速率,且因此該同意標稱資料傳輸速率係3 Gb而非6 Gb,因而流程(保守地)前進至關閉狀態組合(停用狀態聯合,204)。接著流程完成。該控制器接著前進至在停用狀態聯合之情況下操作,傳回未在任何情況下聯合的狀態資訊至該主機,即使該主機經啟用以適當地處理聯合狀態資訊。
作為流程圖200之操作之一第三實例,考量SSD 101與SSD控制器100耦合至主機3G/1.5G 102C(如在圖1C中圖解說明)。主機3G/1.5G 102C相容於一特定SATA標準,不能適當地處理聯合狀態資訊但經啟用以依一最大標稱3 Gb速率傳輸資料。關於圖2,主機與控制器同意一資料傳輸速率(與主機交涉速度,202)且由圖1C中之虛線交涉1100DC概念上指示該交涉。該主機請求及獲得3 Gb之最大資料速率,且因此該同意標稱資料傳輸速率係3 Gb而非6 Gb,因 而流程前進至關閉狀態組合(停用狀態聯合,204)。接著流程完成。該控制器接著前進至在停用狀態聯合之情況下操作,傳回未在任何情況下聯合的狀態資訊至該主機,從而防止該主機不適當地處理聯合狀態資訊。
流程圖200之操作之第四、第五及第六實例分別相似於前文提及的第一、第二及第三實例,但基於圖1D而非圖1C。如由虛線交涉1100IA、交涉1100IB及交涉1100IC概念上指示的交涉間接經由交換器/網狀架構/中間控制器103及中間介面104而非直接在主機與控制器之間。由此啟用交涉1100IA(6 Gb)狀態聯合,且由此停用交涉1100IB及1100IC(3 Gb)狀態聯合。
在多種實施例中,圖1A之一或多個元件管理或執行在圖2中圖解說明的一或多個操作(或其之部分)。例如,速度交涉及/或狀態資訊傳回至主機(無論是否聯合)係部分經由主機介面111。對於另一例項,使用CPU 171之軟體執行能力之一部分來管理狀態聯合之啟用/停用。
儘管流程圖200特定關於一SATA介面,但考量操作係關於經由一更一般本質之一主機儲存介面耦合的一主機與一儲存系統/子系統之實施例。例如,該主機儲存介面係一串列介面,其使主機能與一或多個大容量儲存器件(例如,SDD、HDD、CD/DVD碟機、磁帶機及經啟用以儲存大量資料之其他儲存子系統)通信。在一些實施例中,該主機儲存介面係一串列介面。在多種實施例中,該串列介面具有兩對導體。在多種實施例中,該串列介面可進行以 下步驟之一或多者:可用一(選用)輸入/輸出佇列協定操作;相容於原生熱插拔;可用與ATA及ATAPI命令回溯相容之命令操作;及與一產業標準SATA介面。在多種實施例中,該串列介面可依多種標稱資料速率(諸如6 Gb、3 Gb及1.5 Gb)操作。
其他實施例
在其他多種實施例中,由一從屬裝置(slave)(例如,一儲存系統/子系統)使用由該從屬裝置之主機傳輸資料速率偵測以最佳化及/或改良該從屬裝置之行為及/或選擇性啟用(或停用)該從屬裝置之一或多個操作特徵。例如,一CF卡偵測經啟用以依大於一預定臨限值之一速率傳輸資料之一主機,且作為回應該CF卡啟用(停用)否則被停用(啟用)之一操作模式及/或一特徵。對於另一實例,一CF卡偵測經啟用以依小於一預定臨限值之一速率傳輸資料之一主機,且作為回應該CF卡啟用(停用)否則被停用(啟用)之一操作模式及/或一特徵。
在一些實施例及/或使用案例中,操作速度(例如,一介面之傳輸速率)隱含著操作最多至一標準之一特定修訂層級(例如,介面標準修訂層級),且速度偵測可用以推斷與該特定標準修訂層級之相容性。例如,一較高操作速度隱含著相容於一標準之一較高層級,及適當地支援由該標準之較高層級描述的操作模式及/或特徵。因此,可經由偵測該較高操作速度而推斷該等操作模式及/或特徵之適當支援。對於另一實例,一較低操作速度隱含著相容於一標 準全部或部分之一較低層級,例如,不相容於該標準之較低層級之操作。因此,可經由偵測該較低操作速度而推斷該等操作模式及/或特徵之適當支援之可能非相容性。
例示性實施方案技術
在一些實施例中,藉由相容於由一計算系統之處理之一規範指定由一系統(該系統實施經由主機傳輸速率偵測之操作模式或特徵(諸如狀態聯合)之選擇性啟用以管理與一(計算)主機之一介接以及用於(例如)用快閃記憶體、一計算主機快閃記憶體控制器及/或一SSD控制器(諸如圖1A之SSD控制器100)管理非揮發性儲存裝置之電路)執行的操作之所有或部分與一處理器、徵處理器、晶片上系統、特定應用積體電路、硬體加速器或提供前文提及操作之所有或部分之其他電路之部分之多種組合。該規範係根據多種描述,諸如硬體描述語言、電路描述、接線對照表(netlist)描述、遮罩描述或佈局描述。例示性描述包含:Verilog、VHDL、SPICE、SPICE變體(諸如PSpice)、IBIS、LEF、DEF、GDS-I、OASIS或其他描述。在多種實施例中,處理包含用以產生、驗證或指定適合於包含一或多個積體電路之邏輯及/或電路之解譯、編譯、模擬及合成之任何組合。根據多種實施例,可根據種類繁多之技術而設計及/或製造各積體電路。該等技術包含一可程式化技術(諸如一場或遮罩可程式化閘陣列積體電路)、一半自訂技術(諸如一全部或部分基於單元之積體電路)及一全自訂技術(諸如一實質上特殊化積體電路)、其等之任何組合或相容於 積體電路之設計及/或製造之任何其他技術。
在一些實施例中,藉由執行及/或解譯一或多個程式指令、藉由解譯及/或編譯一或多個原始碼及/或指令碼語言敘述或藉由執行憑藉編譯、轉譯及/或解譯在程式設計及/或指令碼語言陳述中表達的資訊產生的二進位指令而執行如由具有儲存於其中之一組指令之一電腦可讀取媒體描述的操作之所有或部分之多種組合。陳述相容於任何標準程式設計或指令碼語言(諸如C、C++、Fortran、Pascal、Ada、Java、VBscript及Shell)。程式指令、語言敘述或二進位指令之一或多者視需要儲存於一或多個電腦可讀取媒體元件上。在多種實施例中,程式指令之一些、所有或多種部分實現為一或多個函式、常式、副常式、內嵌常式、程序、巨集或其等之部分。
總結
已在描述中僅為了便於準備文字及圖式而做出特定選擇,且除非存在一相反指示,否則該等選擇不應理解為傳遞關於所描述實施例之結構或操作之額外資訊。該等選擇之實例包含:用於圖編號之指定之特定組織或指派及用以識別及參考實施例之特徵及元件之元件識別符(例如,標注或數字指定符)之特定組織或指派。
字彙「包含」、「包括」具體意欲於理解為抽象化描述開放式範疇之邏輯組且並不意指傳遞實體含有,除非明確接著字彙「在...內」。
儘管已為了清楚地描述及瞭解而詳細描述前述實施例, 但本發明不限於所提供細節。存在本發明之許多實施例。所揭示實施例係例示性的且非限制性的。
將瞭解建構、配置及使用之許多變動可能與描述一致,且在所發佈專利之申請專利範圍之範疇內。例如,根據多種實施例,所使用技術之互連及功能單元位元寬度、時脈速度及類型在各組件區塊中係可變的。互連及邏輯之名稱僅係例示性的,且不應理解為限制所描述概念。根據多種實施例,流程圖、流程圖程序、動作及功能元件之次序及配置係可變的。同樣,除非具體地相反敘述,否則所指定值範圍、所使用最大及最小值或其他特定規範(諸如快閃記憶體類型;及暫存器及緩衝器中之項目或階段之數目)僅係所描述實施例,預期追蹤實施方案技術之改良及變更,且不應理解為限制。
可採用此項技術中所知的功能上等效之技術來替代經描述以實施多種組件、子系統、操作、函式、常式、副常式、內嵌常式、程式、巨集或其等之部分之技術。亦應瞭解實施例之許多功能態樣可在硬體(即,大體專用電路)或軟體(即,經由程式化控制器或處理器之一些方式)中選擇性實現為更快處理(促進先前在硬體中之功能遷移至軟體中)及更高整合密度(促進先前在軟體中之功能遷移至硬體中)之實施例相依設計限制及技術趨勢之一功能。多種實施例中之特定變動包含但不限於:劃分差別;不同形式因素及組態;不同作業系統及其他系統軟體之使用;不同介面標準、網路協定或通信鏈路之使用;及當實施本文根據 一特定應用之唯一工程學及商業限制描述的概念時預期的其他變動。
已用遠超出需要所描述實施例之許多態樣之一最小限度實施方案之細節及環境背景描述實施。一般技術者將認知在不改變剩餘元件當中之基本協作之情況下一些實施例省略所揭示組件或特徵。因此,應瞭解所揭示之許多細節無需實施所描述實施例之多種態樣。在可自先前技術辨別剩餘元件之程度上,所省略組件及特徵不限於在本文描述的概念上。
在由所描述實施例傳遞的教示範圍內,所有此等設計變動不實質上變更。亦應瞭解本文描述的實施例具有對其他計算及網路連線應用之廣應用範圍,且不限於所描述實施例之特定應用或行業。因此,本發明理解為包含在所發佈專利之申請專利範圍之範疇內涵蓋的所有可能修改及變動。
100‧‧‧固態磁碟(SSD)控制器
101‧‧‧固態磁碟(SSD)
102‧‧‧主機
102A‧‧‧主機-6G
102B‧‧‧主機-3G/1.5G
102C‧‧‧主機-3G/1.5G
103‧‧‧(選用)交換器/網狀架構/中間控制器
104‧‧‧中間介面
105‧‧‧作業系統
106‧‧‧韌體(FW)
107‧‧‧驅動程式
107D‧‧‧虛線箭頭(主機軟體←→輸入/輸出(I/O)器件通信)
109‧‧‧應用程式
109D‧‧‧虛線箭頭(經由驅動程式之應用程式←→I/O器件通信)
109V‧‧‧虛線箭頭(經由虛擬功能(VF)之應用程式←→I/O器件通信)
110‧‧‧外部介面
111‧‧‧主機介面
112C‧‧‧(選用)卡式記憶體
113‧‧‧標記追蹤
114‧‧‧多器件管理軟體
115‧‧‧主機軟體
116‧‧‧輸入/輸出(I/O)卡
117‧‧‧輸入/輸出(I/O)及儲存器件/資源
118‧‧‧伺服器
119‧‧‧區域網路/廣域網路(LAN/WAN)
121‧‧‧資料處理
123‧‧‧引擎
131‧‧‧緩衝器
133‧‧‧直接記憶體存取(DMA)
135‧‧‧錯誤校正碼-X(ECC-X)
137‧‧‧記憶體
141‧‧‧映射
143‧‧‧表格
151‧‧‧回收器
161‧‧‧錯誤校正碼(ECC)
171‧‧‧中央處理單元(CPU)
172‧‧‧中央處理單元(CPU)核心
173‧‧‧命令管理
175‧‧‧緩衝器管理
177‧‧‧轉譯管理
179‧‧‧連貫性管理
180‧‧‧記憶體介面
181‧‧‧器件管理
182‧‧‧識別管理
190‧‧‧器件介面
191‧‧‧器件介面邏輯
192‧‧‧快閃記憶體器件
193‧‧‧排程
194‧‧‧快閃記憶體晶粒
199‧‧‧非揮發性記憶體(NVM)
1100DA‧‧‧交涉
1100DB‧‧‧交涉
1100DC‧‧‧交涉
1100IA‧‧‧交涉
1100IB‧‧‧交涉
1100IC‧‧‧交涉
圖1A圖解說明包含一固態磁碟(SSD)控制器之一SSD之一實施例之選定細節,該SSD控制器提供經由主機傳輸速率偵測之一或多個操作模式及/或一或多個特徵(諸如狀態聯合)之選擇性啟用以管理與一(計算)主機之一介接以及用於管理非揮發性儲存裝置(諸如快閃記憶體)之電路。
圖1B圖解說明包含圖1A之SSD之一或多個例項之系統之多種實施例之選定細節。
圖1C圖解說明包含圖1A之SSD之一系統之一實施例之選 定細節。
圖1D圖解說明包含圖1A之SSD之一系統之一實施例之選定細節。
圖2圖解說明經由主機傳輸速率偵測之狀態聯合之選擇性啟用之一實施例之選定細節之一流程圖。

Claims (32)

  1. 一種儲存系統,其包括:一串列介接(serially interfacing)構件,其使一主機(host)與儲存裝置(storage)串列介接;至少一儲存介接(storage-interface)操作模式或特徵之一選擇性控制啟用(enablement)構件,該選擇性控制啟用構件經啟用以選擇性地啟用該至少一儲存介接操作模式或特徵;其中該選擇性控制啟用構件係至少部分取決於該串列介接構件之一交涉(negotiated)資料傳輸速率;及其中該串列介接構件及該選擇性控制啟用構件包含於一或多個固態磁碟(SSD)、硬碟機(HDD)、光碟(CD)及/或數位多功能/視訊光碟(DVD)機及磁帶機之中。
  2. 如請求項1之系統,其中當該交涉資料傳輸速率等於或高於一預定臨限值時,該選擇性控制構件選擇性地啟用該至少一儲存介接操作模式或特徵。
  3. 如請求項2之系統,其中該選擇性控制啟用構件進一步經啟用以選擇性停用該至少一儲存介接操作模式或特徵,且當該交涉資料傳輸速率小於該預定臨限值時,該選擇性控制啟用構件選擇性停用該至少一儲存介接操作模式或特徵。
  4. 如請求項2之系統,其中一串列介面標準之一第一版本指定以等於或高於該預定臨限值之一最大標稱(nominal)串列資料傳輸速率操作,該串列介面標準之該第一版本 指定該至少一儲存介接操作模式或特徵,該串列介面標準之一第二版本指定依低於該預定臨限值之一最大標稱串列資料傳輸速率操作,該串列介接構件相容於該串列介面標準之該第一版本及該第二版本,且當啟用該至少一儲存介接操作模式或特徵時該串列介接構件不相容於該串列介面標準之該第二版本。
  5. 如請求項4之系統,其中該串列介面標準之該第一版本及該第二版本對應於一串列進階技術附接(Serial Advanced Technology Attachment;SATA)標準之各自版本。
  6. 如請求項2之系統,其中該至少一操作模式或特徵包括透過針對多個主機請求的狀態組合(status combining)傳回至該主機之狀態資訊之聯合(coalescing)。
  7. 如請求項6之系統,其中該串列介接構件相容於一串列進階技術附接(SATA)標準之至少一版本,且該預定臨限值係6Gb。
  8. 如請求項6之系統,其進一步包括該主機,且其中該主機經啟用以處理該聯合狀態資訊。
  9. 如請求項1之系統,其中該串列介接構件及該選擇性控制啟用構件包括在一或多個固態磁碟(SSD)中,且該儲存裝置包括在該等SSD之至少一者中所包括之快閃記憶體。
  10. 一種用於一儲存系統的操作方法,其包括:串列介接一主機與儲存裝置; 選擇性控制至少一儲存介接操作模式或特徵之啟用,該選擇性控制啟用選擇性地啟用該至少一儲存介接操作模式或特徵;且其中該選擇性控制啟用係至少部分取決於該串列介接之一交涉資料傳輸速率。
  11. 如請求項10之方法,其中當該交涉資料傳輸速率等於或高於一預定臨限值時,該選擇性控制啟用選擇性地啟用該至少一儲存介接操作模式或特徵。
  12. 如請求項11之方法,其中當該交涉資料傳輸速率小於該預定臨限值時,該選擇性控制啟用選擇性停用該至少一儲存介接操作模式或特徵。
  13. 如請求項11之方法,其中一串列介面標準之一第一版本指定依等於或高於該預定臨限值之一最大標稱串列資料傳輸速率操作,該串列介面標準之該第一版本指定該至少一儲存介接操作模式或特徵,該串列介面標準之一第二版本指定依低於該預定臨限值之一最大標稱串列資料傳輸速率操作,該串列介接相容於該串列介面標準之該第一版本及該第二版本,且當啟用該至少一儲存介接操作模式或特徵時該串列介接不相容於該串列介面標準之該第二版本。
  14. 如請求項13之方法,其中該串列介面標準之該第一版本及該第二版本對應於一串列進階技術附接(SATA)標準之各自版本。
  15. 如請求項11之方法,其中該至少一儲存介接操作模式或 特徵包括透過針對多個主機請求的狀態組合傳回至該主機之狀態資訊之聯合。
  16. 如請求項15之方法,其中該串列介接相容於一串列進階技術附接(SATA)標準之至少一版本,且該預定臨限值係6Gb。
  17. 如請求項15之方法,其進一步包括該主機處理該聯合狀態資訊。
  18. 如請求項10之方法,其中在一或多個固態磁碟(SSD)、硬碟機(HDD)、光碟(CD)及/或數位多功能/視訊光碟(DVD)機及磁帶機中實施該串列介接及該選擇性控制啟用。
  19. 如請求項10之方法,其中在一或多個固態磁碟(SSD)中實施該串列介接及該選擇性控制啟用,且該儲存裝置包括在該等SSD之至少一者中所包括之快閃記憶體。
  20. 一種用於一儲存系統的操作方法,其包括:交涉耦合一計算主機與一固態磁碟(SSD)之一串列介面之一標稱資料傳輸速率;判定該標稱資料傳輸速率是否小於一預定臨限值;且至少部分基於該判定,選擇性停用透過針對多個主機請求的狀態組合傳回至該計算主機之狀態資訊之聯合。
  21. 如請求項20之方法,其中該串列介面相容於一串列進階技術附接(SATA)標準之至少一版本。
  22. 如請求項20之方法,其中該預定臨限值係6Gb。
  23. 如請求項22之方法,其中該串列介面相容於一串列進階 技術附接(SATA)標準之至少一版本。
  24. 如請求項20之方法,其進一步包括至少部分基於該判定而選擇性地啟用透過針對多個主機請求的狀態組合傳回至該計算主機之狀態資訊之聯合。
  25. 如請求項20之方法,其中該串列介面相容於一串列進階技術附接(SATA)標準之至少一版本,且該預定臨限值係6Gb;且該方法進一步包括回應於該標稱資料傳輸速率小於該預定臨限值而停用透過針對多個主機請求的狀態組合傳回至該計算主機之狀態資訊之聯合。
  26. 如請求項25之方法,其中該計算主機包括以下之一或多者之所有或任何部分:一電腦,一工作站電腦,一伺服器電腦,一儲存伺服器,一個人電腦(PC),一膝上型電腦,一筆記型電腦,一小筆電電腦,一個人數位助理(PDA),一媒體播放器,一媒體錄影機,一數位相機,一蜂巢式手機, 一無接線電話手機,及一電子遊戲機。
  27. 如請求項25之方法,其進一步包括回應於該標稱資料傳輸速率大於或等於該預定臨限值而啟用透過針對多個主機請求的狀態組合傳回至該計算主機之狀態資訊之聯合。
  28. 如請求項25之方法,其中該SSD包括一控制器,該控制器經啟用以執行該交涉、該判定及該選擇性停用之所有或任何部分之一或多者。
  29. 如請求項28之方法,其進一步包括操作該計算主機以執行該交涉之至少一部分。
  30. 如請求項28之方法,其進一步包括操作該計算主機以處理聯合狀態資訊。
  31. 如請求項20之方法,其中該串列介面相容於指定該狀態資訊聯合之一串列介面標準之至少一版本。
  32. 如請求項31之方法,其中該串列介面標準相容於一串列進階技術附接(SATA)標準之至少一版本。
TW101104097A 2011-02-08 2012-02-08 經由主機傳輸速率偵測之操作模式或特徵之選擇性啟用 TWI492061B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201161440710P 2011-02-08 2011-02-08

Publications (2)

Publication Number Publication Date
TW201243605A TW201243605A (en) 2012-11-01
TWI492061B true TWI492061B (zh) 2015-07-11

Family

ID=46639129

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101104097A TWI492061B (zh) 2011-02-08 2012-02-08 經由主機傳輸速率偵測之操作模式或特徵之選擇性啟用

Country Status (3)

Country Link
US (2) US9092160B2 (zh)
TW (1) TWI492061B (zh)
WO (1) WO2012109078A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI689815B (zh) * 2018-06-29 2020-04-01 圓剛科技股份有限公司 硬體相容性的判斷方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012109078A2 (en) 2011-02-08 2012-08-16 Lsi Corporation Selective enablement of operating modes or features via host transfer rate detection
US8601134B1 (en) * 2011-06-30 2013-12-03 Amazon Technologies, Inc. Remote storage gateway management using gateway-initiated connections
US9632971B2 (en) * 2013-02-27 2017-04-25 Mediatek Inc. Method of handling transmission in data transmission system
US9471523B2 (en) * 2013-09-18 2016-10-18 Infineon Technologies Ag Serial interface systems and methods having multiple modes of serial communication
US20150143024A1 (en) * 2013-11-20 2015-05-21 Sage Microelectronics Corp. Redundant array of independent modules
US9384128B2 (en) * 2014-04-18 2016-07-05 SanDisk Technologies, Inc. Multi-level redundancy code for non-volatile memory controller
US20160093383A1 (en) * 2014-09-30 2016-03-31 Sandisk Technologies Inc. Method and apparatus for relocating data in non-volatile memory
CN106155812A (zh) 2015-04-28 2016-11-23 阿里巴巴集团控股有限公司 一种对虚拟主机的资源管理的方法、装置、系统及电子设备
US9792048B2 (en) * 2015-06-22 2017-10-17 Western Digital Technologies, Inc. Identifying disk drives and processing data access requests
CN107852281B (zh) * 2015-07-10 2020-08-25 华为技术有限公司 基带处理器、基站、用户设备、及其方法
US10061516B2 (en) * 2015-09-25 2018-08-28 Intel Corporation Methods and apparatus to configure performance of a solid state drive based on host write bandwidth
US10380579B1 (en) 2016-12-22 2019-08-13 Square, Inc. Integration of transaction status indications
US10884639B2 (en) * 2017-02-27 2021-01-05 Qualcomm Incorporated Providing single data rate (SDR) mode or double data rate (DDR) mode for the command and address (CA) bus of registering clock drive (RCD) for dynamic random access memory (DRAM)
US10353628B2 (en) 2017-04-13 2019-07-16 Samsung Electronics Co., Ltd. Opportunity window hints for background operations in SSD
US10387242B2 (en) 2017-08-21 2019-08-20 Qualcomm Incorporated Dynamic link error protection in memory systems
EP3663947B1 (en) * 2018-12-06 2021-11-24 Hewlett-Packard Development Company, L.P. Protected peripheral ports
KR20210072503A (ko) 2019-12-09 2021-06-17 삼성전자주식회사 스토리지 장치와 재구성 가능 로직 칩을 포함하는 스토리지 장치 세트 및 이를 포함하는 스토리지 시스템
US11418931B2 (en) 2020-04-06 2022-08-16 Dell Products, Lp Method and apparatus for operating a thin client across a 5G infrastructure
US20230015697A1 (en) * 2021-07-13 2023-01-19 Citrix Systems, Inc. Application programming interface (api) authorization

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030056041A1 (en) * 2001-09-20 2003-03-20 Connor Patrick L. Method and apparatus for dynamic coalescing
US20060026315A1 (en) * 2004-07-29 2006-02-02 Si-Hoon Hong Apparatus and method of establishing data transmission speed for serial advanced technology attachment interface
TW200641602A (en) * 2005-02-16 2006-12-01 Sandisk Corp Direct data file storage in flash memories
TW200951722A (en) * 2008-04-25 2009-12-16 Sandisk Corp Method and system for storage address re-mapping for a multi-bank memory device
US20100082890A1 (en) * 2008-09-30 2010-04-01 Jin Gyu Heo Method of managing a solid state drive, associated systems and implementations

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7284082B2 (en) * 2004-08-19 2007-10-16 Lsi Corporation Controller apparatus and method for improved data transfer
US8661167B2 (en) * 2007-09-17 2014-02-25 Intel Corporation DMA (direct memory access) coalescing
US7747796B1 (en) 2007-12-20 2010-06-29 Nvidia Corporation Control data transfer rates for a serial ATA device by throttling values to control insertion of align primitives in data stream over serial ATA connection
US7970978B2 (en) * 2008-05-27 2011-06-28 Initio Corporation SSD with SATA and USB interfaces
KR101573723B1 (ko) * 2009-05-13 2015-12-03 삼성전자주식회사 적응적으로 메모리 채널의 신호 강도를 조정하는 데이터 저장 장치 및 그것의 설정 방법
US8918663B2 (en) * 2009-06-07 2014-12-23 Hewlett-Packard Development Company, L.P. Method for active power management in a Serial ATA interface to operate at most a predetermined rate upon a refused speed request
TWI408557B (zh) * 2010-03-18 2013-09-11 Faraday Tech Corp 高速輸入輸出系統及其節能控制方法
WO2012109078A2 (en) 2011-02-08 2012-08-16 Lsi Corporation Selective enablement of operating modes or features via host transfer rate detection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030056041A1 (en) * 2001-09-20 2003-03-20 Connor Patrick L. Method and apparatus for dynamic coalescing
US20060026315A1 (en) * 2004-07-29 2006-02-02 Si-Hoon Hong Apparatus and method of establishing data transmission speed for serial advanced technology attachment interface
TW200641602A (en) * 2005-02-16 2006-12-01 Sandisk Corp Direct data file storage in flash memories
TW200951722A (en) * 2008-04-25 2009-12-16 Sandisk Corp Method and system for storage address re-mapping for a multi-bank memory device
US20100082890A1 (en) * 2008-09-30 2010-04-01 Jin Gyu Heo Method of managing a solid state drive, associated systems and implementations

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI689815B (zh) * 2018-06-29 2020-04-01 圓剛科技股份有限公司 硬體相容性的判斷方法

Also Published As

Publication number Publication date
TW201243605A (en) 2012-11-01
US9461904B2 (en) 2016-10-04
US9092160B2 (en) 2015-07-28
US20130318289A1 (en) 2013-11-28
US20150295806A1 (en) 2015-10-15
WO2012109078A2 (en) 2012-08-16
WO2012109078A3 (en) 2013-01-31

Similar Documents

Publication Publication Date Title
TWI492061B (zh) 經由主機傳輸速率偵測之操作模式或特徵之選擇性啟用
US20230244296A1 (en) Device power control
JP6082389B2 (ja) ホストから見たデバイスファームウェア更新の影響の管理
KR102155191B1 (ko) 비휘발성 메모리에 대한 기록들의 관리 및 그 기록들의 영역 선택
JP5638686B2 (ja) 記憶装置システムの論理ブロックアドレス割り当て解除管理およびデータハードニング
JP6045567B2 (ja) 不揮発性記憶のための可変オーバープロビジョニング
US10025735B2 (en) Decoupled locking DMA architecture
JP6265746B2 (ja) 記憶アドレス空間と不揮発性メモリのアドレス、範囲、および長さとの間のマッピング/変換
US20140095555A1 (en) File management device and method for storage system
JP2014522066A (ja) 入出力デバイスとコンピューティングホストとの相互運用
CN107908571B (zh) 一种数据写入方法、闪存装置及存储设备
US9423977B2 (en) Lock-free communication storage request reordering
US20210278998A1 (en) Architecture and design of a storage device controller for hyperscale infrastructure
KR102285275B1 (ko) 하이브리드 메모리 드라이브, 컴퓨터 시스템, 및 멀티 모드 하이브리드 드라이브를 동작시키기 위한 관련 방법
US20230153237A1 (en) Method and device for storing data

Legal Events

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