TW202347136A - 用於互連協定的同步電路、控制器以及儲存裝置 - Google Patents
用於互連協定的同步電路、控制器以及儲存裝置 Download PDFInfo
- Publication number
- TW202347136A TW202347136A TW111118695A TW111118695A TW202347136A TW 202347136 A TW202347136 A TW 202347136A TW 111118695 A TW111118695 A TW 111118695A TW 111118695 A TW111118695 A TW 111118695A TW 202347136 A TW202347136 A TW 202347136A
- Authority
- TW
- Taiwan
- Prior art keywords
- control information
- clock domain
- link layer
- data link
- circuit module
- Prior art date
Links
- 230000001360 synchronised effect Effects 0.000 claims description 91
- 238000012545 processing Methods 0.000 claims description 53
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 24
- 238000005516 engineering process Methods 0.000 description 11
- 238000000034 method Methods 0.000 description 11
- 239000013256 coordination polymer Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000006854 communication Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000001737 promoting effect Effects 0.000 description 3
- 101100269321 Arabidopsis thaliana AFC1 gene Proteins 0.000 description 2
- 101100258032 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) STE24 gene Proteins 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1066—Output synchronization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1063—Control signal output circuits, e.g. status or busy flags, feedback command signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1093—Input synchronization
Abstract
用於互連協定的同步電路、控制器及儲存裝置。該同步電路包括第一同步電路模組以及第二同步電路模組。第一同步電路模組用以資料鏈路層接收器輸出的第一時脈域的第一控制資訊轉換並輸出為第二時脈域的第二控制資訊。第二同步電路模組耦接該第一同步電路模組,用以將第一同步電路模組所輸出的第二時脈域的第二控制資訊轉換為第三時脈域的第三控制資訊以輸出至該第一裝置的一資料鏈路層發送器。第一時脈域、第二時脈域、第三時脈域的兩兩之間是非同步的。
Description
本發明係關於一種電子裝置,尤其是關於用於互連協定的同步電路、控制器以及儲存裝置。
現今行動裝置(如智慧型手機、平板電腦、多媒體裝置、穿戴式裝置之類的運算裝置)中產生和處理的資料量不斷增加,行動裝置內部的晶片對晶片的或受行動裝置影響的互連介面技術需要進一步的演進,從而達至能夠滿足更高的傳輸速度、低功耗運作、具可擴充性、支援多工處理、易於採用等目標。
為此,行動產業處理器介面(Mobile Industry Processor Interface, MIPI)聯盟開發出能夠符合上述目標的互連介面技術,例如關於實體層的MIPI M-PHY規範以及關於統一協定(Unified Protocol, UniPro)的MIPI UniPro規範。另一方面,聯合電子裝置工程委員會(Joint Electron Device Engineering Council, JEDEC)利用MIPI M-PHY規範及通用傳輸協定MIPI UniPro規範推出下一代高性能非揮發性記憶體標準,稱為通用快閃儲存(Universal Flash Storage, UFS),其可實現每秒十億位元等級的高速傳輸及低功耗運作,並具有高階行動系統所需的功能和可擴展性,從而有助於為業界快速的採用。
技術人員在依據這些互連介面技術來開發的產品為相關晶片、電子模組或電子裝置時,要確保產品的功能及運作能夠符合規範。舉例而言,依據UFS標準而實現的系統如包含了運算裝置及非揮發性記憶體的儲存裝置,運算裝置及儲存裝置分別擔任本地的(local)主機與遙距的(remote)裝置的角色。主機與裝置建立起雙向的鏈路,且主機與裝置之間的鏈路可以在任一傳輸方向上配置為多個(最多4個)通道(lane)。相對應地,主機與裝置各自地配置依據UniPro規範的互連協定的處理電路需要具備處理多個通道的功能。
依據UniPro規範需要在資料鏈路層(data link layer)實現鏈路級流量控制(link-level flow control)。資料鏈路層流量控制確保在鏈路的發送端的資料鏈路層的發送器知道在鏈路的接收端的資料鏈路層有多少可用的緩衝區空間,以防止資料鏈路層緩衝器溢位,並從而避免資料遺失。藉由使用基於信用的流量控制機制,在接收端的資料鏈路層的接收器透過該機制發送信用資訊以更新在發送端的資料鏈路層的發送器所維護的信用資訊。接收端的資料鏈路層要如何實現以將控制資訊正確且有效率地在該資料鏈路層的接收器與發送器之間傳輸從而有效地實現該基於信用的流量控制機制,是在資料鏈路層的實現上亟需關注的技術課題。
實施方式提供了一種用於互連協定的同步電路的技術,適用於能夠依據該互連協定鏈接一第二裝置的一第一裝置中。該技術在該第一裝置對該第二裝置透過互連協定進行通訊過程中,能夠在互連協定下正確且有效率地將控制資訊在該第一裝置的資料鏈路層的接收器與發送器之間同步傳輸,從而促進有效地實現該互連協定下基於信用的流量控制機制。
以下依據該技術提出各種實施方式,如用於互連協定的的同步電路、控制器以及儲存裝置。
實施方式提供一種用於互連協定的同步電路,適用於能夠依據該互連協定鏈接一第二裝置的一第一裝置中。該同步電路包括一第一同步電路模組以及一第二同步電路模組。該第一同步電路模組用以將該第一裝置的一資料鏈路層接收器輸出的一第一時脈域的第一控制資訊轉換並輸出為一第二時脈域的第二控制資訊。該第二同步電路模組,耦接該第一同步電路模組,用以將該第一同步電路模組所輸出的該第二時脈域的該第二控制資訊轉換為一第三時脈域的第三控制資訊以輸出至該第一裝置的一資料鏈路層發送器。其中該資料鏈路層接收器輸出的該第一控制資訊係該第一時脈域的至少一訊號,該第二同步電路模組輸出的該第三控制資訊係該第三時脈域的至少一訊號,該第一時脈域、該第二時脈域、該第三時脈域的兩兩之間是非同步的。
實施方式提供了一種控制器,適用於能夠依據一互連協定鏈接一第二裝置的一第一裝置中,該控制器包括一控制器模組。該控制器模組用於耦接到一介面電路,且用於實現該互連協定的一鏈接層。該控制器模組包括:一資料鏈路層接收器;一資料鏈路層發送器;以及一同步電路。該同步電路耦接於該資料鏈路層接收器及該資料鏈路層發送器之間。該同步電路包括一第一同步電路模組以及一第二同步電路模組。該第一同步電路模組用以將該資料鏈路層接收器輸出的一第一時脈域的第一控制資訊轉換並輸出為一第二時脈域的第二控制資訊。該第二同步電路模組,耦接該第一同步電路模組,用以將該第一同步電路模組所輸出的該第二時脈域的該第二控制資訊轉換為一第三時脈域的第三控制資訊以輸出至該資料鏈路層發送器。其中該資料鏈路層接收器輸出的該第一控制資訊係該第一時脈域的至少一訊號,該第二同步電路模組輸出的該第三控制資訊係該第三時脈域的至少一訊號,該第一時脈域、該第二時脈域、該第三時脈域的兩兩之間是非同步的。
實施方式提供了一種儲存裝置,能夠依據一互連協定鏈接一主機,該儲存裝置包括:一儲存模組、一介面電路及一裝置控制器。該介面電路用於實現該互連協定的一實體層以鏈接該主機。該控制器模組用於耦接到該介面電路和該儲存模組,且用於實現該互連協定的一鏈接層。該控制器模組包括:一資料鏈路層接收器;一資料鏈路層發送器;以及一同步電路。該同步電路耦接於該資料鏈路層接收器及該資料鏈路層發送器之間。該同步電路包括一第一同步電路模組以及一第二同步電路模組。該第一同步電路模組用以將該資料鏈路層接收器輸出的一第一時脈域的第一控制資訊轉換並輸出為一第二時脈域的第二控制資訊。該第二同步電路模組,耦接該第一同步電路模組,用以將該第一同步電路模組所輸出的該第二時脈域的該第二控制資訊轉換為一第三時脈域的第三控制資訊以輸出至該資料鏈路層發送器。其中該資料鏈路層接收器輸出的該第一控制資訊係該第一時脈域的至少一訊號,該第二同步電路模組輸出的該第三控制資訊係該第三時脈域的至少一訊號,該第一時脈域、該第二時脈域、該第三時脈域的兩兩之間是非同步的。
在上述同步電路、控制器或儲存裝置的一些實施例中,當該資料鏈路層接收器的一訊框接收處理單元完成一資料訊框的處理並成功傳送至上層時,該訊框接收處理單元所輸出的該第一時脈域的該第一控制資訊透過該同步電路的該第一同步電路模組及該第二同步電路模組被轉換為該第三時脈域的該第三控制資訊以輸出至該資料鏈路層發送器。
在上述同步電路、控制器或儲存裝置的一些實施例中,當該資料鏈路層接收器的一訊框接收處理單元正確地接收到一控制訊框後,該資料鏈路層接收器所輸出的該第一時脈域的該第一控制資訊透過該同步電路的該第一同步電路模組及該第二同步電路模組被轉換為該第三時脈域的該第三控制資訊以輸出至該資料鏈路層發送器。
在上述同步電路、控制器或儲存裝置的一些實施例中,該同步電路更包括:一第三同步電路模組以及一第四同步電路模組。該第三同步電路模組用以將該資料鏈路層發送器輸出的該第三時脈域的第四控制資訊轉換並輸出為該第二時脈域的第五控制資訊。該第四同步電路模組,耦接該第三同步電路模組,用以將該第三同步電路模組所輸出的該第二時脈域的該第五控制資訊轉換為該第一時脈域的第六控制資訊以輸出至該資料鏈路層接收器。其中該資料鏈路層發送器輸出的該第四控制資訊係該第三時脈域的至少另一訊號,該第四同步電路模組輸出的該第六控制資訊係該第一時脈域的至少另一訊號。
在上述同步電路、控制器或儲存裝置的一些實施例中,當該資料鏈路層發送器完成發送一資料訊框後,該資料鏈路層發送器所輸出的該第三時脈域的該第四控制資訊透過該同步電路的該第三同步電路模組及該第四同步電路模組被轉換為該第一時脈域的該第六控制資訊以輸出至該資料鏈路層接收器。
在一些實施例中,同步電路模組可實現為有差異觸發(difference trigger)及多相位鎖存(multi-phase latch)的條件下進行控制資訊的同步。
在上述同步電路、控制器或儲存裝置的一些實施例中,該第一同步電路模組被配置為於該資料鏈路層接收器所輸出的該第一控制資訊與先前控制資訊有差異時才進行交換資訊。
在上述同步電路、控制器或儲存裝置的一些實施例中,該第一同步電路模組被配置為於進行該交換資訊時,於該第一時脈域中鎖存該第一控制資訊,且經過該第一時脈域的一第一數目的週期及經過該第二時脈域的一第二數目的週期後於該第二時脈域中鎖存該第一控制資訊,並將於該第二時脈域中鎖存的該第一控制資訊輸出為該第二控制資訊。
在上述同步電路、控制器或儲存裝置的一些實施例中,該第一同步電路模組被配置為於進行該交換資訊時,該第一數目等於或大於該第二數目。
在上述同步電路、控制器或儲存裝置的一些實施例中,該第二同步電路模組、該第三同步電路模組或該第四同步電路模組中的至少一者或全部,亦可利用與該第一同步電路模組相似的方式而被配置。
在上述同步電路、控制器或儲存裝置的一些實施例中,該互連協定是通用快閃儲存(Universal Flash Storage, UFS)標準。
為充分瞭解本發明之目的、特徵及功效,茲藉由下述具體之實施例,並配合所附之圖式,對本發明做詳細說明,說明如後。
以下實施方式提供了一種用於互連協定的同步電路模組的技術,適用於能夠依據該互連協定鏈接一第二裝置的一第一裝置中。該技術在資料鏈路層的接收器與發送器之間實現了基於同步電路模組的資料鏈路層同步電路,資料鏈路層同步電路利用一同步電路模組將接收器輸出的控制資訊從第一時脈域轉換至第二時脈域,並接著利用另一同步電路模組從第二時脈域轉換至第三時脈域,從而將控制資訊發送至發送器。藉此技術,控制資訊得以在該資料鏈路層的接收器與發送器之間正確且有效率地傳輸,從而促進有效地實現資料鏈路層的基於信用的流量控制機制。以下舉例以說明依據該技術的各種實現方式。
為便於理解及說明依據該技術的各種實現方式,以下首先提供基於一種互連協定的通訊系統的電路架構,這種電路架構具備足夠彈性及能夠有效率地被配置來滿足不同產品的需求,以適應各種廠商的設計而有助於產品開發。該技術可應用於能夠依據互連協定鏈接第二裝置(如圖1的主機10)的第一裝置(如圖1的儲存裝置20)中;亦適用於第一裝置為主機10,第二裝置為儲存裝置20的情況下。如圖1所示,這種電路架構應用於儲存系統1時,儲存系統1的主機10的控制器模組(如主機控制器12)或儲存系統1的儲存裝置20的控制器模組(如裝置控制器22)可分別實現為包括硬體協定引擎及處理單元的電路架構,其中該控制器的處理單元為可選的。又例如,可依據主機介面11及主機控制器12的結合而作為控制器,如一單晶片,用於主機10;另外,可依據裝置介面21及裝置控制器22的結合而作為控制器,如一單晶片,用於儲存裝置20。
請參考圖1,其為依據本發明之一種實施方式的儲存系統的示意方塊圖。如圖1所示,儲存系統1包括主機10及儲存裝置20。主機10及儲存裝置20之間透過一種互連協定來通訊,從而讓主機10對儲存裝置20進行資料的存取。該互連協定例如是通用快閃儲存(Universal Flash Storage, UFS)標準。主機10例如是智慧型手機、平板電腦、多媒體裝置之類的運算裝置。儲存裝置20例如是該運算裝置內部或外部的儲存裝置,例如是基於非揮發性記憶體的儲存裝置。儲存裝置20可以在主機10的控制下寫入資料或向主機10提供被寫入資料。儲存裝置20可以被實現為固態儲存裝置(SSD),多媒體卡(MMC),嵌入式MMC(eMMC)、安全數位(SD)卡或通用快閃儲存(UFS)裝置,然而本揭露內容的實現並不受限於上述示例。
主機10包括主機介面11、主機控制器12及應用處理器16。
主機介面11用於實現該互連協定的一實體層以鏈接該儲存裝置20。例如,主機介面11用以實現UFS標準的實體(M-PHY)層。
主機控制器12耦接於主機介面11與應用處理器16之間。當應用處理器16需要對儲存裝置20進行資料的存取時,發出代表對應的存取動作指令至主機控制器12,透過該互連協定與儲存裝置20溝通,從而達成對儲存裝置20進行資料的存取。
主機控制器12例如包括硬體協定引擎13及處理單元14,其中處理單元14為可選的。
硬體協定引擎13用於實現該互連協定的一鏈接層(Link layer)。就以該互連協定為UFS標準為例,該鏈接層為統一協定(Unified Protocol, UniPro)層。硬體協定引擎13依據該鏈接層的規範來與主機介面11及處理單元14進行溝通及資訊的轉換。
處理單元14,其與該硬體協定引擎13耦接,用以與應用處理器16進行通訊。處理單元14可執行一個或多個韌體。例如應用處理器16所執行的作業系統、驅動程式或應用程式所發出的存取動作指令透過處理單元14所執行的韌體轉換為符合該互連協定的鏈接層的指令格式,並繼而發送至硬體協定引擎13以依據該鏈接層的規範來進行處理。韌體例如可儲存於處理單元14的內部記憶體,或儲存於主機控制器12的內部記憶體,其中內部記憶體可包括揮發性記憶體及非揮發性記憶體。
儲存裝置20包括裝置介面21、裝置控制器22及儲存模組26。
裝置介面21用於實現該互連協定的一實體層以鏈接該主機10。例如,主機介面21用以實現UFS標準的實體(M-PHY)層。
裝置控制器22耦接於裝置介面21與儲存模組26之間。裝置控制器22可以控制儲存模組26的寫入運作、讀取運作或抹除運作。裝置控制器22可以透過地址匯流排或資料匯流排與儲存模組26交換資料。儲存模組26例如包含一個或多個非揮發性記憶體的記憶體晶片。
裝置控制器22包括硬體協定引擎23及處理單元24,其中處理單元24為可選的。
硬體協定引擎23用於實現該互連協定的一鏈接層。就以該互連協定為UFS標準為例,該鏈接層為UniPro層。硬體協定引擎13依據該鏈接層的規範來與裝置介面21及處理單元24進行溝通及資訊的轉換。
處理單元24,其與該硬體協定引擎23耦接,用以透過裝置介面21而與主機10進行通訊。處理單元24可執行一個或多個韌體。例如處理單元24執行一個或多個韌體來控制或指示儲存模組26的寫入運作、讀取運作或抹除運作,對來自硬體協定引擎23的訊息作處理或將訊息發送至硬體協定引擎23。韌體例如可儲存於處理單元24的內部記憶體、裝置控制器22的內部記憶體,或儲存模組26的特定儲存區域,其中內部記憶體可包括揮發性記憶體及非揮發性記憶體。
如圖1所示,主機介面11能夠透過用於發送/接收資料的資料線Din和Dout、用於發送硬體重置訊號的重置線RST、用於發送資料的時脈線CLK而與裝置介面21耦接。資料線Din和Dout可以被實現為多對,其中一對的資料線Din或一對的資料線Dout可稱為一個通道(lane)。主機介面11可以使用至少一種介面協定與裝置介面21行通信,介面協定諸如移動工業處理器介面(MIPI)、通用快閃儲存(UFS)、小型計算機系統介面(SCSI)或串行連接的SCSI(SAS),然而本揭露內容的實現並不受限於上述示例。在UFS標準之下,主機10及儲存裝置20之間可以配置為支持多個通道,以增進傳輸的效率,其中在主機10至儲存裝置20之間或儲存裝置20至主機10之間的任一方向上目前最多能支持2個通道,多個通道可以選擇設定為啟用或不啟用。
以下藉由該互連協定為通用快閃儲存(UFS)標準為例作詳細說明。UFS標準中包含UFS指令集層(UFS Command Set Layer,USC)、UFS傳輸協定層(UFS Transport Layer,UTP)及UFS互連層(UFS Interconnect Layer,UIC)。UIC又包含鏈接層及實體層,UIC的鏈接層依據UniPro規範而定義,UIC的實體層依據M-PHY規範而定義。
請參考圖2,其為圖1的儲存系統依據UFS標準的分層架構的示意圖。由於UFS標準基於MIPI統一協定(UniPro)層以及MIPI實體(M-PHY)層,圖1所示的主機10的主機介面11及硬體協定引擎13分別用以實現圖2中的實體層110及UniPro層130;圖1所示的儲存裝置20的裝置介面21及硬體協定引擎23分別用以實現圖2中的實體層210及UniPro層230。
如圖2所示,UniPro層130(或230)可以包括實體配接器層(PHY adapter layer,PA)131(或231)、資料鏈路層(data link layer,DL)132(或232)、網路層(network layer)133(或233)和傳輸層(transport layer)134(或234)。儲存裝置20的UniPro層230中的各個層也可以相似地運作及實現。
實體配接器層(131或231)用以將實體層(110或210)耦接到資料鏈路層(132或232)。實體配接器層(131或231)可以在實體層(110或210)和資料鏈路層(132或232)之間執行頻寬控制、功率管理等。在實現時,主機10的實體層110包含發送器111及接收器112,又儲存裝置20的實體層210包含發送器211及接收器212,藉此能夠建立資料通道SL1及SL2以進行全雙功通訊。UniPro規範支援在每一傳輸方向上 (如前向或反向)的鏈路有多個資料通道。
資料鏈路層(132或232)可以執行用於主機10和儲存裝置20之間的資料傳輸的流量控制(flow control)。即,資料鏈路層(132或232)可以監視資料傳輸或控制資料傳輸速率。此外,資料鏈路層(132或232)可以執行基於循環冗餘校驗(cyclic redundancy check, CRC)的錯誤控制。資料鏈路層(132或232)可以使用從網路層(133或233)接收到的封包來產生訊框(frame),或者可以使用從實體配接器層(131或231)接收到的訊框來產生封包。
網路層(133或233)用於對於從傳輸層(134或234)接收的封包選擇傳輸路徑的路由功能。
傳輸層(134或234)可以使用從UFS應用層接收的命令來配置適合於協定的資料段(segment),並且將該資料段發送到網路層(133或233),或者可以從網路層(133或233)接收的封包中提取命令並且發送該命令至UFS應用層。傳輸層(134或234)可以使用基於序列的錯誤控制方案,以保證資料傳輸的有效性。
再者,UniPro層(130或230)中更定義了裝置管理實體(device management entity, DME)(135或235),其能夠與實體層(110或210)及UniPro層(130或230)中的各層互通,如實體配接器層(131或231)、資料鏈路層(132或232)、網路層(133或231)和傳輸層(134或234)以至UFS應用層互通,從而實現及統一協定(UniPro)整體性的功能如開機、關機、重置、功耗模式改變等控制或組態的功能。
如上所述,UFS標準利用UniPro規範來定義鏈接層中多個協定層。UniPro規範除了定義各協定層的功能,並且定義各協定層之間透過稱為服務存取點(service access point, SAP)的概念性介面來通訊,各協定層具有多個對應的服務存取點(SAP)來讓上層或下層來使用該協定層提供的服務。在符合UniPro規範的要求下,研發單位或廠商可以利用各自的技術方案,以硬體、靭體或軟體方式或上述方式的各種組合來具體實現各協定層及服務存取點(SAP)。
請參考圖3,其為依據UniPro規範的資料鏈路層的服務存取點(SAP)模型的示意圖。如圖3所示,資料鏈路層320(其代表圖2中132或232)具有兩個特定於流量類別(traffic class)的服務存取點321、322。服務存取點321、322例如是在UniPro規範中定義的服務存取點DL_TC0_SAP及DL_TC1_SAP,且分別為網路層330(其代表圖2中133或233)提供流量類別0及流量類別1的資料鏈路層服務。此外,資料鏈路層320具有服務存取點323,例如是UniPro規範中定義的服務存取點DL_LM_SAP,其提供給裝置管理實體350(如圖2中135或235)用於配置和控制目的。資料鏈路層320又依賴實體配接器層310(如圖2中131或231)的服務存取點311(在UniPro規範中記作PA_SAP)所提供給資料鏈路層320的服務。如圖3所示,資料鏈路層320的TC0實體325、TC1實體326、DL_LM實體327分別代表用作服務存取點321、322、323代表提供服務的各個實體,各實體可以依據UniPro規範並利用硬體或軟體方式,或硬體及軟體結合方式來實現。
UFS系統支持於資料鏈路層中的兩種流量類別(traffic class),其分別稱為流量類別0(記作TC0)及流量類別1(記作TC1),流量類別1的資料訊框比以流量類別TC0的資料訊框在傳送上有較高的優先權。依據UniPro規範,資料鏈路層提供多種服務以確保透過服務存取點DL_TC0_SAP或DL_TC1_SAP而透通(transparent)和可靠地傳輸服務使用者(即使用該服務的層)的資料。如圖3所示,服務存取點321、322分別適用於流量類別0(TC0)或流量類別1(TC1),以在資料鏈路層320和網路層330之間的接收方向(DL RX)上傳輸服務使用者的資料。
依據UniPro規範,資料鏈路層將多個17位元的PA層協定資料單元(protocol data unit, PDU)符號轉換為DL層協定資料單元(即訊框)。例如,每一個資料訊框(data frame)包含被編碼為資料符號或控制符號的一系列17位元符號。請參考圖4A至圖4B,其為依據UniPro規範的資料鏈路層的資料訊框的格式的示意圖。對一個17位元符號而言,最高有效位元為0表示該符號為資料符號,最高有效位元為1表示該符號為資料控制符號。只有16位元符號透過鏈路來傳遞,不包括最高有效位元。簡而言之,每個有效符號是16位元的服務使用者資料,它傳遞到上層(就接收方向而言)或下層(就發送方向而言)。
在資料鏈路層中,所有流量類別都使用相同格式的資料訊框。如圖4A和圖4B所示,每個資料訊框包含一個符號的標頭(header)、至少一個符號的酬載(payload)以及兩個符號的標尾(trailer),其中標尾包含核對和(checksum)(如16位元CRC碼(CRC-16))。此外,每個資料訊框始終以訊框啟始標記(start of frame, SOF)符號開始,並以訊框結束標記(end of frame,EOF)符號即EOF_EVEN符號或EOF_ODD符號來結束。EOF_EVEN符號和EOF_ODD符號後接一個CRC符號。此外,標頭除了含有訊框啟始標記(SOF)更含有流量類別(traffic class, TC)標記,例如是TC0、TC1以表現優先權等級。此外,標尾除了含有訊框結束標記(EOF)更含有訊框序號(frame sequence number)。其中ESC_DL標記代表此訊框為資料鏈路層的訊框。
此外,請參考圖4C,其為依據UniPro規範的資料鏈路層的控制訊框的格式的示意圖。圖4C所示的控制訊框為資料鏈路層確認和流量控制(Acknowledgment and Flow Control,AFC)訊框,其用於確認正確接收的資料訊框並用於交換相應流量類別的流量控制資訊。AFC訊框以AFC控制符號開始,後接跟兩個資料符號。AFC訊框包括流量類別(TC)識別碼、信用傳輸請求(CReq)位元、訊框序號和流量控制信用值。確認(訊框序號)和流量控制(信用值)資訊被賦予由TC欄位所識別的流量類別。
UniPro規範已規定了資料鏈路層接收器(或簡稱DL RX)的TC0或TC1的服務存取點模型的運作。一般來說,資料傳輸到資料鏈路層的每個過程都是以訊框為基礎的,若是記號來表示,例如訊框可表示為:“SOF + TC0 Data #0 + EOF + CRC”、“SOF + TC0 Data #1 + EOF + CRC”等等。資料鏈路層接收器將去除訊框的標頭(SOF符號)和標尾(如EOF_EVEN或EOF_ODD符號及CRC符號),並在 CRC 校驗正確後將用戶資料傳遞給上層。
依據UniPro規範的資料鏈路層流量控制,就本地端接收TC0資料訊框的情景而言,在本地端,當上層正確地接收到每個TC0資料訊框時,在DL RX中需要更新UniPro規範中所定義的序號和信用值“A”。具有確認的序號和信用值“A”的控制資訊將提供給資料鏈路層發送器(或簡稱DL TX)以將AFC0控制訊框發送到對等端(peer side)(在此亦可稱為遙距端(remote end))。然後於對等端將信用值“S”替換為“A”。
依據UniPro規範的資料鏈路層流量控制,就本地端接收AFC0控制訊框的情景而言,在本地端,當DL RX正確地接收到每個AFC0控制訊框後,接收到的序號和AFC0控制訊框中的信用值“R”需要在DL RX中更新。將提供此控制資訊以讓DL TX釋放已確認的TC0發送器(TX)緩衝區,並且DL TX可以開始將具有新序號的下一個資料訊框發送到對等端(或稱為遙距端)。然後,在DL TX將資料訊框發送到實體配接器層(PA)層後,DL TX更新UniPro規範定義的信用值“U”。
此外,依據UniPro規範,就本地端接收AFC0控制訊框的情景而言,在本地端,當透過來自接收到的AFC0控制訊框的控制資訊中的信用值而得知對等端(或稱遙距端)的接收器(RX)緩衝區可用時,DL TX將資料訊框發送到PA層。 DL TX完成發送TC0資料訊框後,將更新序號以通知DL RX下一個預期接收到的AFC0控制訊框是什麼序號。
從上面UniPro規範所規定的資料鏈路層流量控制的操作來看,本案發明人觀察到有以下技術議題產生。
(1)DL TX和DL RX之間需要交換資訊,如確認(訊框序號)和流量控制(信用值)資訊,它是多位元匯流排(multi-bit bus)資訊。此外,多位元匯流排資訊中的信用值並非單純以增量為1的方式來變化。
(2)從圖3的示意圖可見,在以硬體實現資料鏈路層320時,在資料鏈路層320與上層鄰近或相關的資料鏈路層電路操作於上層的時脈域,如CPort時脈域,在資料鏈路層320與下層鄰近或相關的資料鏈路層電路操作於下層的時脈域,如TX符號時脈域和RX符號時脈域。此外,資料鏈路層320的DL TX和DL RX所操作的時脈域是非同步的。故在資料鏈路層320中,CPort、DL TX和DL RX的兩兩之間的時脈域是非同步的。
(3)在UniPro規範中,在預定數目的RX尾隨(trailing)時脈週期後,可以將RX符號時脈關閉,例如透過UniPro規範中定義的PA層最少RX尾隨(trailing)時脈週期屬性(PA_MinRxTrailingClocks)來加以設定。這是UniPro的資料鏈路層電路操作的一種特殊情況。
針對上述技術議題,雖然可以利用一些習知同步器方案來進行多位元同步,但仍有問題產生。如基於先進先出(FIFO)的同步器方案可能是可靠的,但需要較多數量的邏輯閘且產生不少的功耗。另外,雙向交握同步器的方案會造成較長的延遲,且當來源時脈關閉時會出現問題(如上面的RX符號時脈關閉的情況)。
由此,發明人針對上述技術議題提出以下的資料鏈路層同步電路實現方式,從而在沒有元問題(meta problem)的情況下正確地交換「控制資訊」,且能減少耗電。資料鏈路層同步電路可進一步被配置,以因應在來源時脈(如RX符號時脈)關閉之前快速交換控制資訊。其中「控制資訊」可以包含確認資訊(如訊框序號)或流量控制資訊(如信用值)或上述兩種資訊。
請參考圖5,其為資料鏈路層同步電路的多種實施例的示意電路架構圖,其可代表基於圖5的多個實施例。圖5所示的電路架構可應用於實現在主機的主機控制器(12)或儲存裝置的裝置控制器(22),例如用於實現主機及儲存裝置的硬體協定引擎中的資料鏈路層(132或232;或320)。
在UniPro規範下,可進一步依據圖5的電路架構來實現資料鏈路層(132或232;或320)中的資料鏈路層接收器(DL RX)及資料鏈路層發送器(DL TX)。如圖5所示,資料鏈路層電路500包括資料鏈路層接收器(DL RX)電路510、資料鏈路層發送器(DL TX)電路520以及資料鏈路層同步電路530。資料鏈路層接收器(DL RX)電路510及資料鏈路層發送器(DL TX)電路520可以分別實現為運作於兩個時脈域,如記作TD_RX、TD_TX,此兩時脈域可能為不同頻率的時脈域或非同步的時脈域,如分別代表前述RX和TX符號時脈域。
資料鏈路層同步電路530用於在資料鏈路層接收器(DL RX)電路510與資料鏈路層發送器(DL TX)電路520之間控制資訊同步傳輸。資料鏈路層同步電路530可包括多個同步電路模組,該等同步電路模組可以作個別的配置以符合在UniPro規範下控制資訊同步傳輸的目的。
在基於圖5的一種實施例中,資料鏈路層同步電路530可配置為將資料鏈路層接收器(DL RX)電路510輸出的控制資訊同步傳輸至資料鏈路層發送器(DL TX)電路520。在該種實施例中,資料鏈路層同步電路530包括同步電路模組531及533。同步電路模組531將資料鏈路層接收器(DL RX)電路510所輸出的第一時脈域(如TD-RX)的第一控制資訊(如序號及信用值)轉換及輸出為第二時脈域(如CPort時脈域,記作TD_CP)的第二控制資訊。同步電路模組533將同步電路模組531所輸出的第二時脈域(如TD_CP)的第二控制資訊轉換為第三時脈域(如TD_TX)的第三控制資訊,並將第三時脈域(如TD_TX)的第三控制資訊輸出至資料鏈路層發送器(DL TX)電路520。藉此,資料鏈路層同步電路530能夠用於接收器至發送器的控制資訊同步傳輸。在上述說明中,為了區別在不同時脈域中的控制資訊,故分別命名為第一控制資訊、第二控制資訊、第三控制資訊。
上述資料鏈路層同步電路530的實施例用於接收器至發送器的控制資訊同步傳輸,能夠用於實現前述UniPro規範中的資料鏈路層流量控制。為此,在依據UniPro規範來實現資料鏈路層接收器(DL RX)及資料鏈路層發送器(DL TX)時,可以同時依據圖5的電路架構,在資料鏈路層接收器(DL RX)電路510中實現訊框接收處理單元511以輸出控制資訊或接收控制資訊,以及在資料鏈路層發送器(DL TX)電路520中實現訊框發送處理單元521以接收對應的控制資訊或輸出對應的控制資訊。
在一示例中,訊框接收處理單元511包括資料訊框解碼電路512,資料訊框解碼電路512用以對來自PA層的符號資料中屬於TC0資料訊框的符號進行解碼處理。為了實現前述UniPro規範的資料鏈路層流量控制中就本地端接收TC0資料訊框的情景,資料鏈路層接收器(DL RX)電路510、資料鏈路層發送器(DL TX)電路520以及資料鏈路層同步電路530可進一步作以下的配置。例如,當資料鏈路層接收器(DL RX)電路510完成一個TC0資料訊框的處理如透過訊框接收處理單元511或資料訊框解碼電路512處理,並成功傳送至上層(如網路層)即上層正確地接收到該TC0資料訊框時,資料鏈路層接收器(DL RX)電路510更新UniPro規範中所定義的序號和信用值“A”,將具有確認的序號和信用值“A”的控制資訊透過上述資料鏈路層同步電路530的接收器至發送器的控制資訊同步傳輸提供給資料鏈路層發送器(DL TX)電路520的訊框發送處理單元521。訊框發送處理單元521的控制訊框發送電路524依據透過上述控制資訊同步傳輸提供的控制資訊而產生AFC0控制訊框以發送到對等端。
在另一示例中,訊框接收處理單元511更可包括控制訊框解碼電路514,控制訊框解碼電路514用以對來自PA層的符號資料中屬於AFC0控制訊框的符號進行解碼處理。為了實現前述UniPro規範的資料鏈路層流量控制中就本地端接收AFC0控制訊框的情景,資料鏈路層接收器(DL RX)電路510、資料鏈路層發送器(DL TX)電路520以及資料鏈路層同步電路530可進一步作以下的配置。例如,當資料鏈路層接收器(DL RX)電路510的訊框接收處理單元511或控制訊框解碼電路514正確地接收到一個AFC0控制訊框後,資料鏈路層接收器(DL RX)電路510需要更新接收到的序號和AFC0控制訊框中的信用值“R”。資料鏈路層接收器(DL RX)電路510將此控制資訊透過上述資料鏈路層同步電路530的接收器至發送器的控制資訊同步傳輸提供給資料鏈路層發送器(DL TX)電路520的訊框發送處理單元521,以讓資料鏈路層發送器(DL TX)電路520釋放已確認的TC0發送器(TX)緩衝區,並且資料鏈路層發送器(DL TX)電路520可以開始將具有新序號的下一個資料訊框發送到對等端(或稱為遙距端)。然後,在資料鏈路層發送器(DL TX)電路520的訊框發送處理單元521將資料訊框發送到實體配接器層(PA)層後,資料鏈路層發送器(DL TX)電路520更新UniPro規範定義的信用值“U”。
在基於圖5的另一種實施例中,資料鏈路層同步電路530可配置為將資料鏈路層發送器(DL TX)電路520輸出的控制資訊同步傳輸至資料鏈路層接收器(DL RX)電路510。在該種實施例中,資料鏈路層同步電路530可以包括同步電路模組535及537。同步電路模組535將資料鏈路層發送器(DL TX)電路520所輸出的第三時脈域(如TD_TX)的第四控制資訊(如序號)轉換及輸出為第二時脈域(如TD_CP)的第五控制資訊。同步電路模組537將同步電路模組535所輸出的第二時脈域(如TD_CP)的第五控制資訊轉換為第一時脈域(如TD_RX)的第六控制資訊,並將第一時脈域(如TD_RX)的第六控制資訊輸出至資料鏈路層接收器(DL RX)電路510。藉此,資料鏈路層同步電路530能夠用於發送器至接收器的控制資訊同步傳輸。在上述說明中,為了區別在不同時脈域中的控制資訊,故分別命名為第五控制資訊、第六控制資訊。
在一示例中,訊框發送處理單元521可包括資料訊框發送電路522及控制訊框發送電路524。資料訊框發送電路522用以依據UniPro規範進行資料訊框發送處理,控制訊框發送電路524用以依據UniPro規範進行控制訊框發送處理。為了實現前述UniPro規範的資料鏈路層流量控制中就本地端接收AFC0控制訊框的情景,資料鏈路層接收器(DL RX)電路510、資料鏈路層發送器(DL TX)電路520以及資料鏈路層同步電路530可作以下的配置。當資料鏈路層發送器(DL TX)電路520透過來自接收到的AFC0控制訊框的控制資訊中的信用值而得知對等端(或稱遙距端)的接收器(RX)緩衝區可用時,資料鏈路層發送器(DL TX)電路520的資料訊框發送電路522將資料訊框發送到PA層。資料鏈路層發送器(DL TX)電路520完成發送TC0資料訊框後,將更新序號的控制資訊透過資料鏈路層同步電路530的發送器至接收器的控制資訊同步傳輸以通知資料鏈路層接收器(DL RX)電路510下一個預期接收到的AFC0控制訊框是什麼序號。
由以上基於圖5的電路架構的實施例可知,同步電路530的接收器至發送器的控制資訊同步傳輸以及發送器至接收器的控制資訊同步傳輸的過程中皆採用了第二時脈域作為中繼的時脈域,而第二時脈域是獨立於資料鏈路層接收器(DL RX)電路510的第一時脈域及資料鏈路層發送器(DL TX)的第三時脈域的。在一些示例下,如前述技術議題(3)的適用的情況下,第一時脈域或第三時脈域的時脈訊號依據UniPro規範在預定數目的尾隨時脈週期後而關閉時,由於同步電路530中的第二時脈域是獨立於第一時脈域及第三時脈域的,故同步電路530仍然可以透過同步電路530中操作於第二時脈的對應電路而對控制資訊進行暫存並於第一時脈域或第三時脈域的時脈訊號恢復以後輸出至目標的時脈域。第二時脈域例如是UniPro規範中所定義的CPort時脈域,或者也可以利用獨立於資料鏈路層接收器(DL RX)電路510的第一時脈域及資料鏈路層發送器(DL TX)的第三時脈域的其他時脈域來實現。
請參考圖6,其為圖5中的同步電路模組的一種實施例的示意圖。圖6所示的同步電路模組600為圖5中的同步電路模組的一種實施例。同步電路模組600係基於操作於不同步的時脈域的兩組電路單元來實現,如圖6所示,如可包括鎖存器610、比較器620、來源鎖存及交握邏輯電路630、來源鎖存器640、目標鎖存及交握邏輯電路650及目標鎖存器660。鎖存器610、比較器620、來源鎖存及交握邏輯電路630、來源鎖存器640操作於一來源時脈域;目標鎖存及交握邏輯電路650及目標鎖存器660操作於一目標時脈域。此外,同步電路模組600更包括位元準位同步器635、位元準位同步器655。
此外,基於圖6所示的同步電路模組600可以作個別的配置以實現圖5所示的資料鏈路層同步電路530的多個同步電路模組。例如,基於圖6所示的同步電路模組600來實現圖5所示的同步電路模組531時,同步電路模組600的來源時脈域和目標時脈域分別為同步電路模組531的前述實施例中的第一時脈域(如TD-RX)及第二時脈域(如TD_CP)。例如,基於圖6所示的同步電路模組600來實現圖5所示的同步電路模組533時,同步電路模組600的來源時脈域和目標時脈域分別為同步電路模組533的前述實施例中的第二時脈域(如TD_CP)及第三時脈域(如TD_TX)。如此一來,基於圖6來實現同步電路模組531、533,控制資訊同步傳輸的過程中就能夠採用第二時脈域(如TD_CP)作為中繼的時脈域了。如此類推,圖5所示的同步電路模組535或537亦可基於圖6所示的同步電路模組600來作個別的配置而加以實現。
以下舉例說明同步電路模組600。舉例而言,同步電路模組600接收來源時脈域的來源時脈訊號src_clk、src_rstn以及目標時脈域的目標時脈訊號tgt_clk、tgt_rstn。同步電路模組600用以對來源資訊訊號src_info、src_info_vld進行匯流排同步處理,而輸出目標資訊訊號tgt_info_out、tgt_info_out_vld。其中src_info_vld用以表示src_info是否有效, tgt_info_out_vld用以表示tgt_info_out是否有效。來源資訊訊號src_info及目標資訊訊號tgt_info_out可以分別代表並實現為多位元匯流排(multi-bit bus)資訊。
鎖存器610依據來源資訊訊號src_info、src_info_vld輸出來源有效資訊訊號src_valid_info。比較器620依據來源有效資訊訊號src_valid_info及來源鎖存資訊訊號src_latch_info輸出一差異表示訊號以表示來源有效資訊訊號及來源鎖存資訊訊號是否有差異。來源鎖存及交握邏輯電路630依據該差異表示訊號、同步來源鎖存交握訊號sync_src_latch_hnshk及同步目標鎖存交握訊號sync_tgt_latch_hnshk而輸出來源鎖存致能訊號src_latch_en及來源鎖存交握訊號src_latch_hnshk。位元準位同步器(1-bit level synchronizer)635依據該來源鎖存交握訊號src_latch_hnshk輸出該同步來源鎖存交握訊號sync_src_latch_hnshk。來源鎖存器640依據該來源有效資訊訊號src_valid_info及該來源鎖存致能訊號src_latch_en而輸出該來源鎖存資訊訊號src_latch_info。為了同步電路模組600進行初始運作,來源鎖存器640可被配置具有鎖存的預設值作為該來源鎖存資訊訊號src_latch_info,從而使比較器620進行比較操作。目標鎖存及交握邏輯電路650依據同步來源鎖存交握訊號sync_src_latch_hnshk而輸出目標鎖存交握訊號tgt_latch_hnshk、目標鎖存致能訊號tgt_latch_en及目標資訊訊號tgt_info_out_vld。位元準位同步器655依據該目標鎖存交握訊號tgt_latch_hnshk輸出該同步目標鎖存交握訊號sync_tgt_latch_hnshk。目標鎖存器660依據該來源鎖存資訊訊號src_latch_info及目標鎖存致能訊號tgt_latch_en而輸出該目標資訊訊號tgt_info_out。
在圖6中,同步電路模組600可以被配置來實現兩個技術方案來做匯流排同步。 一種是「差異觸發」方案,另一種是「多相鎖存」方案。
以下提出一種差異觸發 (DT) 和多相鎖存 (ML) 匯流排同步的實現例來支持前述技術議題的要求。
舉例而言,匯流排資訊同步是透過來源時脈域和目標時脈域之間的交握來實現的。在UniPro的資料鏈路層的操作中,欲交換的控制資訊並不總是有效的(active),即並不是時常存在欲交換的控制資訊。資料鏈路層僅在接收或發送TC0或AFC0訊框時發生變化,才需要對欲交換的控制資訊進行匯流排資訊同步。首先,提出了一種僅在欲交換的控制資訊發生變化時才進行匯流排同步的技術方案的實施例,其可稱為「差異觸發」 (difference trigger,DT)方案。差異觸發可以降低功耗,因為它只有在有效資訊發生變化時才有效同步。
其次,為了實現正確快速的匯流排同步,「多相鎖存」(multi-phase latch,ML)方案在交換控制資訊時利用了來源時脈域的第一數目的週期(如來源鎖存點的週期)和目標時脈域的第二數目的週期(如目標鎖存點的週期)。例如,第一數目可能等於或大於第二數目;舉例而言,第一數目為4個週期(或稱4個相位)時可以幫助盡快鎖存來源資訊。如此一來,在RX符號時脈關閉之前有助於減少丟失(missing)的機會。
在一些實施例中,可將上述兩個方案結合而成為差異觸發和多相鎖存(DTML)匯流排同步方案。
UniPro的資料鏈路層的控制資訊同步可以基於DTML 匯流排同步方案以各種實現方式來實現。在以下一些實施例中,分別以可稱為普通方案(normal scheme)的一種實現方式和可稱為增強方案(enhanced scheme)的另一種實現方式來舉例說明。
請參考圖7,其為圖6的同步電路模組的一實施例的示意時序圖。圖7為DTML匯流排同步方案的時序圖,其中為便於說明,以脈波波形表示各個訊號及這些訊號因應的準位的變化,而在實作時這些訊號之間可能彼此會有延遲等情況。圖7示意同步電路模組600中如前述實施例之兩組電路單元的多個訊號。同步電路模組600的一組電路電元依據來源時脈訊號src_clk在來源時脈域的操作頻率下運作,來源資訊訊號src_info_vld表示來源資訊訊號src_info是否有效,來源資訊訊號src_info帶有的數值(如訊框序號或信用值)可能會變化。為便於說明,如圖7所示,來源資訊訊號src_info帶有的數值例如變化的過程從0x0、0x1、0x2至0x6;而在實作時,該數值可以為不同於圖7的值或該數值作不規則的變化。同步電路模組600的鎖存器610依據來源資訊訊號src_info、src_info_vld輸出來源有效資訊訊號src_valid_info。當來源鎖存致能訊號src_latch_en被設為作用狀態(asserted)時(如高位準),來源鎖存器640鎖存來源有效資訊訊號src_valid_info的數值並因此而輸出來源鎖存資訊訊號src_latch_info,如圖7中從src_latch_en及src_latch_info對應的波形之間的虛線箭號示意鎖存及輸出數值,如src_latch_info的波形中所顯示的0、1、2,或5,或6。當來源鎖存器640輸出的數值穩定時,同步電路模組600中來源鎖存及交握邏輯電路630及目標鎖存及交握邏輯電路650彼此交握。若交握成功則將目標鎖存致能訊號tgt_latch_en設為作用狀態(asserted),令目標鎖存器660可以開始鎖存來源鎖存器640所輸出的來源鎖存資訊訊號src_latch_info,從而使目標鎖存器660輸出目標資訊訊號tgt_info_out,如tgt_info_out的波形中所顯示的0、2、5、6。
如圖7所示,有兩個普通的來源鎖存點(source latch point)SLA、SLC,其表示來源鎖存器鎖存來源資訊的時間點,如以虛線橢圓表示的SLA、SLC。此外,有兩個目標鎖存點(target latch point)TLA、TLB,其表示目標鎖存器鎖存更新的來源資訊的時間點,如在tgt_info_out的波形中以實心方形所對應的TLA、TLB。請注意,圖7中來源時脈訊號src_clk可能會被關閉的,如圖7中TCS所指的尾隨時脈週期(trailing clock cycles)可以被配置為某特定數目(譬如32或其他)達到後而關閉來源時脈訊號。此外,在圖7中以虛線箭頭表示src_latch_hnshk、sync_src_latch_hnshk之間的位元準位同步(bit level synchronization,BLS)。
如圖7所示,示意來源鎖存器640在來源鎖存點SLA、SLC鎖存資訊後,當來源有效資訊訊號src_valid_info再次更新下一筆資訊(如其數值為0x6)時,如果來源時脈訊號仍然存在,則可以在前一次交握完成後鎖存該筆更新的資訊。
在一些示例中,有一種情況可能會發生──來源時脈訊號在多個時脈週期後關閉,並且目標時脈訊號tgt_clk比來源時脈訊號src_clk慢得多;這意味著因為來源時脈訊號src_clk與目標時脈訊號tgt_clk之間的時脈頻率比率(clock frequency ratio)很大,故同步延遲超過了接收器尾隨時脈(RX Trailing Clock)的週期。關於上述情況,請參考圖8,其為圖6的同步電路模組的另一實施例的示意時序圖。圖8顯示了DTML匯流排同步的普通方案中可能具有丟失(miss)情況的時序圖(當同步延遲超過接收器尾隨時脈的週期時)。在圖 8 中,同步目標鎖存交握訊號sync_tgt_latch_hnshk的波形中最後的多個虛線的下降緣示意因為來源時脈已丟失的情況出現,故來源有效資訊訊號src_valid_info的值為0x6時可能已丟失,而並未在來源時脈域中被鎖存於來源鎖存器640。在此情況下,目標資訊訊號tgt_info_out已變為不可能輸出0x6了。
為了幫助減少這種情況的丟失機會,在一些實施例中,可以進一步實現另一種實現方式,即增強方案,使來源時脈域具有較多數目的鎖存點,如有兩個額外的鎖存點,從而在RX符號時脈關閉之前盡快鎖存來源資訊。
請參考圖9,其為圖6的同步電路模組的又一實施例的示意時序圖。增強方案的時序波形如圖9所示。與圖7或圖8所示意的普通方案的實施例相比,圖9所示意的增強方案的實施例增加了兩個來源鎖存點,如來源鎖存點SLB以及源鎖存點SLD。此外,圖9所示意的增強方案的實施例具有與圖7或圖8所示意的普通方案相似的兩個目標鎖存點,如目標鎖存點TLA以及目標鎖存點TLB。
在來源鎖存點SLB和來源鎖存點SLD之後,在目標鎖存點開始鎖存來源資訊之前,具有至少兩個目標時脈週期的邊限(margin),來確保交握的穩定性,如圖9中MA、MB所指的兩個目標時脈週期的延遲。其中依據目標鎖存交握訊號tgt_latch_hnshk經延遲來產生內部訊號tgt_latch_hnshk_d1,從而使目標鎖存致能訊號tgt_latch_en從作用狀態(asserted)改變為非作用狀態(deasserted)時作為目標鎖存點,如TLA、TLB所示。
以下舉例說明差異觸發和多相鎖存的實施例的詳細操作。
差異觸發(DT):在圖6所示的同步電路模組600中,來源資訊在有效時被鎖存在鎖存器610並輸出來源有效資訊訊號src_valid_info。透過比較器620比較之前鎖存的來源資訊(如來源鎖存資訊訊號src_latch_info)和有效來源資訊(如來源有效資訊訊號src_valid_info所帶有的資訊)並輸出差異表示訊號,其中在初始階段,來源鎖存資訊訊號src_latch_info具有預設值。若差異表示訊號表示有差異,此將觸發來源鎖存交握訊號(src_latch_hnshk)並將最新更改的資訊(即有效來源資訊)鎖存到來源鎖存器640而令來源鎖存器640輸出來源鎖存資訊訊號src_latch_info。 之後,當來源資訊有效並再次發生變化時,將觸發匯流排同步邏輯在特定時間點進行來源鎖存和目標鎖存,如下面的多相時間點所示。
多相鎖存(ML):圖9是增強型之差異觸發和多相鎖存匯流排同步方案的操作的示例。在比較器620比較出有差異而觸發後,在兩個時脈域內有兩種鎖存器。一個在來源時脈域,另一個在目標時脈域。
(1)在圖9的來源時脈域中,第一個源鎖存器從來源鎖存點SLA開始,來源鎖存交握訊號src_latch_hnshk被設為作用狀態(asserted),並透過 1 位元準位同步邏輯與目標時脈域同步(如圖9中的虛線BLS所示),以通知目標時脈域的電路(如目標鎖存及交握邏輯電路650)關於來源資訊已鎖存且穩定。
(2)目標時脈域中將目標鎖存交握訊號tgt_latch_hnshk設為作用狀態(asserted)從而於目標鎖存點TLA將來源鎖存資訊訊號src_latch_info鎖存到目標資訊訊號tgt_info_out,如圖9中tgt_latch_en的波形與tgt_info_out的波形之間虛線箭號所示意。
(3)目標鎖存交握訊號tgt_latch_hnshk通過1位元準位同步邏輯與來源時脈域同步(如圖9中的虛線BLS所示),以通知來源時脈域的電路(如來源鎖存及交握邏輯電路630)關於目標鎖存器660已經鎖存來源資訊。
(4)然後,如果在來源鎖存點SLC,來源有效資訊訊號src_valid_info和來源鎖存交握訊號src_latch_hnshk之間存在差異,則來源鎖存器640可以再次鎖存資訊。
(5)在交握完成後,來源鎖存交握訊號src_latch_hnshk被設為非作用狀態(deasserted),目標鎖存交握訊號tgt_latch_hnshk亦被設為非作用狀態(deasserted),從而使在目標鎖存點TLB處將來源鎖存資訊訊號src_latch_info再次鎖存到目標資訊訊號tgt_info_out,如圖9中tgt_info_out的波形中的數值0x6。
在增強方案的實施例中,有兩個額外的來源鎖存點,藉此在交握過程中快速鎖存來源資訊。
(1)來源鎖存點SLB是在目標鎖存器660開始鎖存來源鎖存資訊訊號src_latch_info之前來源資訊再次被改變的時間點。來源資訊可以盡快被鎖存。
(2)來源鎖存點SLD是在目標鎖存器660鎖存來源鎖存資訊訊號src_latch_info之後來源資訊再次被改變的時間點。來源資訊可以盡快被鎖存。
在一些實施例中,四個來源鎖存點可利用如下表1中的公式1來確定,其使用硬體描述語言(HDL)如Verilog語言來表示。為便於說明,如表1所示,公式1可以另外表示如下:src_latch_en = (條件式A1及(條件式B1或條件式B2或條件式B3或條件式B4))。
表1
公式1 | 註 |
src_latch_en = ( (src_latch_info != src_valid_info) & ( ( (~src_latch_hnshk) & (~sync_tgt_latch_hnshk) ) | ( src_latch_hnshk & sync_tgt_latch_hnshk ) | ( src_latch_hnshk & (~sync_src_latch_hnshk) ) | ( (~src_latch_hnshk) & sync_src_latch_hnshk ) ) ); | src_latch_en = (條件式A1及 ( 條件式B1 或 條件式B2 或 條件式B3 或 條件式B4) )) |
條件式A1成立時即代表來源資訊有效並發生變化。條件式B1成立時代表第一個來源鎖存點(SLA)是在交握開始時的來源鎖存交握訊號src_latch_hnshk的一個上升邊緣之時間點,其中來源鎖存交握訊號src_latch_hnshk及同步目標鎖存交握訊號sync_tgt_latch_hnshk處於未被啟用(inactive)狀態。條件式B2成立時代表第三個來源鎖存點(SLC)是在交握結束時的來源鎖存交握訊號src_latch_hnshk的一個下降邊緣之時間點,其中來源鎖存交握訊號src_latch_hnshk及同步目標鎖存交握訊號sync_tgt_latch_hnshk處於被啟用(active)狀態。條件式B3成立時代表第二個來源鎖存點(SLB)是在交握中間階段的時間點,其中來源鎖存交握訊號src_latch_hnshk處於被啟用(active)狀態及同步目標鎖存交握訊號sync_tgt_latch_hnshk處於未被啟用(inactive)狀態。條件式B4成立時代表第四個來源鎖存點(SLD)是在交握中間階段的時間點,其中來源鎖存交握訊號src_latch_hnshk處於未被啟用(inactive)狀態及同步目標鎖存交握訊號sync_tgt_latch_hnshk處於被啟用(active)狀態。
在一些實施例中,兩個目標鎖存點可利用公式2來確定,如下所示:tgt_latch_en = tgt_latch_hnshk ^ tgt_latch_hnshk_d1。公式2代表目標鎖存致能訊號tgt_latch_en可實現為依據目標鎖存交握訊號tgt_latch_hnshk及依據目標鎖存交握訊號tgt_latch_hnshk經延遲來產生的內部訊號tgt_latch_hnshk_d1的邏輯運算(如互斥或運算XOR)來確定。
從圖9的實施例可知,來源時脈域至目標時脈域的同步延遲(synchronous latency)能減少至數個目標時脈週期(如0x3到0x5個),藉此,多相鎖存(Multi-Phase Latch)可有效地減少來源時脈關閉時的丟失資訊的機會。此外,從圖7至圖9可知,在實現同步電路模組600時,針對來源控制資訊如來源資訊訊號src_info所帶有的數值會變化如從0x0變化至0x6,當來源資訊訊號src_info不在變化時(如0x6)時,來源鎖存器640及目標鎖存器660所鎖存的控制資訊會一致。由於同步電路模組600所要同步傳輸的是控制資訊,故不必對來源資訊訊號src_info變化過程中的每一個數值都作同步傳輸。如圖9所示,來源資訊訊號src_info所帶有的數值變化如從0x0變化至0x6,經過同步電路模組600的同步傳輸所輸出的目標資訊訊號tgt_info_out的控制資訊為0x0、0x3、0x6。藉此,控制資訊為0x0、0x3、0x6已足以用於互連協定(如UniPro)下基於信用的流量控制機制使用。如此一來,同步電路模組600在高速傳輸的應用情景下,如UniPro規範的每秒十億位元等級的高速傳輸下,亦可有助於減少功耗。
在一些實施例中,圖5的架構中的同步電路模組可以配置為利用前述普通方案來實現至少具有兩個來源鎖存點(如SLA、SLC)。
在一些實施例中,圖5的架構中的同步電路模組可以配置為基於普通方案並進一步實現增強方案,以來實現至少具有四個來源鎖存點(如SLA、SLB、SLC、SLD) ,其中利用兩個來源鎖存點(如SLB、SLD),如利用同步來源鎖存交握訊號sync_src_latch_hnshk直接從目標時脈域到來源時脈域,以確保有至少有兩個目標時脈週期邊限(margin)。
在一些實施例中,圖5的架構中的同步電路模組可被配置為於進行該交換資訊時,於第一時脈域中鎖存第一控制資訊,且經過第一時脈域的一第一數目的週期(如來源鎖存點 (如SLA及SLC;或SLA、SLB、SLC、SLD)所對應的週期)以及經過第二時脈域的一第二數目的週期(如目標鎖存點(如TLA或TLB)所對應的週期)之後於該第二時脈域中鎖存該第一控制資訊,並將於該第二時脈域中鎖存的該第一控制資訊輸出為該第二控制資訊。在一實施例中,圖5的架構中的同步電路模組被配置為於進行該交換資訊時,該第一數目可等於該第二數目(如圖7、8所示)。在另一實施例中,圖5的架構中的同步電路模組被配置為於進行該交換資訊時,該第一數目可大於該第二數目,如圖9所示,來源鎖存點(如SLA、SLB、SLC、SLD)所對應的週期有4個,目標鎖存點(如TLA、TLB)所對應的週期有2個。
再者,雖然以上的諸多實施例是針對資料鏈路層的TC0實體(如圖3的325)在接收或發送TC0或AFC0訊框時發生變化,對欲交換的控制資訊進行匯流排資訊同步,然而對於TC1或AFC1訊框來說,以上諸多實施例也同樣適用。故可選地,在一些實施例中,針對TC1或AFC1訊框,可以在資料鏈路層中實現TC1實體(如圖3的326),在TC1實體中的DL_RX及DL_TX之間實現與圖5相似的同步電路來做控制資訊的同步傳輸。
此外,在上述關於主機和儲存裝置的實施例中,主機控制器或裝置控制器中的硬體協定引擎是可以基於使用硬體描述語言(HDL)如Verilog語言或本領域技術人員所熟悉的數位電路的任何其他設計方法的技術進行設計,並且可以基於使用現場可程式邏輯閘陣列(field programmable gate array, FPGA)、或特定積體電路(application specific integrated circuit,ASIC)或複雜可編程邏輯器件(CPLD)之類的電路中之一個或多個電路來實現,亦可使用專屬的電路或模組來實現。主機控制器或裝置控制器(或其中的處理單元或硬體協定引擎)也可以基於微控制器、處理器、或數位訊號處理器來實現。
在一些實施例中,在利用特定積體電路(ASIC)來實現基於圖5的電路架構中的同步電路模組時,可以創建「同步器」作為巨集單元(macro cell),以最大限度地減少ASIC 中的數據路徑延遲。
在一些實施例中,在利用現場可程式邏輯閘陣列(FPGA)來實現基於圖5的電路架構中的同步電路模組時,使用 FPGA中的「ASYNC_REG」屬性或「set_max_delay」確保源寄存器和目標寄存器不要相距太遠。
如上所述,上述提供了用於互連協定的同步電路的技術的各種實施方式,如用於互連協定的同步電路、控制器以及儲存裝置。如資料鏈路層同步電路530用於在資料鏈路層接收器(DL RX)電路與資料鏈路層發送器(DL TX)電路之間控制資訊同步傳輸,資料鏈路層同步電路530可包括多個同步電路模組,該等同步電路模組可以作個別的配置以符合在UniPro規範下控制資訊同步傳輸的目的。同步電路模組可以依據前述實施例中的差異觸發(DT)和多相鎖存(ML)匯流排同步的實現方式,只有當有效資訊發生變化時才開始鎖存交換的資訊,故無需隨時更新資訊,耗電可以減少,從而達到促進正確、快速地交換例如UniPro的資料鏈路層的控制資訊,並節省功耗。
本發明在上文中已以多個實施例揭露,然熟習本項技術者應理解的是,該實施例僅用於描繪本發明,而不應解讀為限制本發明之範圍。應注意的是,舉凡與該實施例等效之變化與置換,均應設為涵蓋於本發明之範疇內。因此,本發明之保護範圍當以申請專利範圍所界定者為準。
1:儲存系統
10:主機
11:主機介面
12:主機控制器
13:硬體協定引擎
14:處理單元
16:應用處理器
20:儲存裝置
21:裝置介面
22:裝置控制器
23:硬體協定引擎
24:處理單元
26:儲存模組
110:實體層
111:發送器
112:接收器
130:MIPI統一協定(UniPro)層
131:實體配接器層
132:資料鏈路層
133:網路層
134:傳輸層
135:裝置管理實體
210:實體層
211:發送器
212:接收器
230:MIPI統一協定(UniPro)層
231:實體配接器層
232:資料鏈路層
233:網路層
234:傳輸層
235:裝置管理實體
310:實體配接器層
311:服務存取點
320:資料鏈路層
321、322、323:服務存取點
325:TC0實體
326:TC1實體
327:DL_LM實體
330:網路層
350:裝置管理實體
500:資料鏈路層電路
510:資料鏈路層接收器電路
511:訊框接收處理單元
512:資料訊框解碼電路
514:控制訊框解碼電路
520:資料鏈路層發送器電路
521:訊框發送處理單元
522:資料訊框發送電路
524:控制訊框發送電路
530:同步電路
531、533、535、537:同步電路模組
600:同步電路模組
610:鎖存器
620:比較器
630:來源鎖存及交握邏輯電路
635:位元準位同步器
640:來源鎖存器
650:目標鎖存及交握邏輯電路
655:位元準位同步器
660:目標鎖存器
CLK:時脈線
Din、Dout:資料線
RST:重置線
SL1:資料通道
SL2:資料通道
圖1為儲存系統的一實施方式的示意方塊圖。
圖2為圖1的儲存系統依據UFS標準的分層架構的示意圖。
圖3為依據UniPro規範的資料鏈路層的服務存取點模型的示意圖。
圖4A為依據UniPro規範的資料鏈路層的資料訊框的格式的示意圖。
圖4B為依據UniPro規範的資料鏈路層的資料訊框的格式的示意圖。
圖4C為依據UniPro規範的資料鏈路層的控制訊框的格式的示意圖。
圖5為資料鏈路層同步電路的多種實施例的示意電路架構圖。
圖6為圖5中的同步電路模組的一種實施例的示意圖。
圖7為圖6的同步電路模組的一實施例的示意時序圖。
圖8為圖6的同步電路模組的另一實施例的示意時序圖。
圖9為圖6的同步電路模組的又一實施例的示意時序圖。
500:資料鏈路層電路
510:資料鏈路層接收器電路
511:訊框接收處理單元
512:資料訊框解碼電路
514:控制訊框解碼電路
520:資料鏈路層發送器電路
521:訊框發送處理單元
522:資料訊框發送電路
524:控制訊框發送電路
530:同步電路
531、533、535、537:同步電路模組
Claims (20)
- 一種用於互連協定的同步電路,適用於能夠依據該互連協定鏈接一第二裝置的一第一裝置中,該同步電路包括: 一第一同步電路模組,用以將該第一裝置的一資料鏈路層接收器輸出的一第一時脈域的第一控制資訊轉換並輸出為一第二時脈域的第二控制資訊;以及 一第二同步電路模組,耦接該第一同步電路模組,用以將該第一同步電路模組所輸出的該第二時脈域的該第二控制資訊轉換為一第三時脈域的第三控制資訊以輸出至該第一裝置的一資料鏈路層發送器, 其中該資料鏈路層接收器輸出的該第一控制資訊係該第一時脈域的至少一訊號,該第二同步電路模組輸出的該第三控制資訊係該第三時脈域的至少一訊號,該第一時脈域、該第二時脈域、該第三時脈域的兩兩之間是非同步的。
- 如請求項1所述之同步電路,其中當該資料鏈路層接收器的一訊框接收處理單元完成一資料訊框的處理並成功傳送至上層時,該訊框接收處理單元所輸出的該第一時脈域的該第一控制資訊透過該同步電路的該第一同步電路模組及該第二同步電路模組被轉換為該第三時脈域的該第三控制資訊以輸出至該資料鏈路層發送器。
- 如請求項1所述之同步電路,其中當該資料鏈路層接收器的一訊框接收處理單元正確地接收到一控制訊框後,該資料鏈路層接收器所輸出的該第一時脈域的該第一控制資訊透過該同步電路的該第一同步電路模組及該第二同步電路模組被轉換為該第三時脈域的該第三控制資訊以輸出至該資料鏈路層發送器。
- 如請求項1所述之同步電路,其中該同步電路更包括: 一第三同步電路模組,用以將該資料鏈路層發送器輸出的該第三時脈域的第四控制資訊轉換並輸出為該第二時脈域的第五控制資訊輸出; 一第四同步電路模組,耦接該第三同步電路模組,用以將該第三同步電路模組所輸出的該第二時脈域的該第五控制資訊轉換為該第一時脈域的第六控制資訊以輸出至該資料鏈路層接收器, 其中該資料鏈路層發送器輸出的該第四控制資訊係該第三時脈域的至少另一訊號,該第四同步電路模組輸出的該第六控制資訊係該第一時脈域的至少另一訊號。
- 如請求項4所述之同步電路,其中當該資料鏈路層發送器完成發送一資料訊框後,該資料鏈路層發送器所輸出的該第三時脈域的該第四控制資訊透過該同步電路的該第三同步電路模組及該第四同步電路模組被轉換為該第一時脈域的該第六控制資訊以輸出至該資料鏈路層接收器。
- 如請求項1所述之同步電路,其中該第一同步電路模組被配置為於該資料鏈路層接收器所輸出的該第一控制資訊與先前控制資訊有差異時才進行交換資訊。
- 如請求項6所述之同步電路,其中該第一同步電路模組被配置為於進行該交換資訊時,於該第一時脈域中鎖存該第一控制資訊,且經過該第一時脈域的一第一數目的週期及經過該第二時脈域的一第二數目的週期後於該第二時脈域中鎖存該第一控制資訊,並將於該第二時脈域中鎖存的該第一控制資訊輸出為該第二控制資訊。
- 如請求項7所述之同步電路,其中該第一同步電路模組被配置為於進行該交換資訊時,該第一數目等於或大於該第二數目。
- 如請求項1所述之同步電路,其中該互連協定是通用快閃儲存(Universal Flash Storage, UFS)標準。
- 一種控制器,適用於能夠依據一互連協定鏈接一第二裝置的一第一裝置中,該控制器包括: 一控制器模組,該控制器模組用於耦接到一介面電路,且用於實現該互連協定的一鏈接層,該控制器模組包括: 一資料鏈路層接收器; 一資料鏈路層發送器;以及 一同步電路,耦接於該資料鏈路層接收器及該資料鏈路層發送器之間,該同步電路包括: 一第一同步電路模組,用以將該資料鏈路層接收器輸出的一第一時脈域的第一控制資訊轉換並輸出為一第二時脈域的第二控制資訊;以及 一第二同步電路模組,耦接該第一同步電路模組,用以將該第一同步電路模組所輸出的該第二時脈域的該第二控制資訊轉換為一第三時脈域的第三控制資訊以輸出至該資料鏈路層發送器, 其中該資料鏈路層接收器輸出的該第一控制資訊係該第一時脈域的至少一訊號,該第二同步電路模組輸出的該第三控制資訊係該第三時脈域的至少一訊號,該第一時脈域、該第二時脈域、該第三時脈域的兩兩之間是非同步的。
- 如請求項10所述之控制器,其中當該資料鏈路層接收器的一訊框接收處理單元完成一資料訊框的處理並成功傳送至上層時,該訊框接收處理單元所輸出的該第一時脈域的該第一控制資訊透過該同步電路的該第一同步電路模組及該第二同步電路模組被轉換為該第三時脈域的該第三控制資訊以輸出至該資料鏈路層發送器。
- 如請求項10所述之控制器,其中當該資料鏈路層接收器的一訊框接收處理單元正確地接收到一控制訊框後,該資料鏈路層接收器所輸出的該第一時脈域的該第一控制資訊透過該同步電路的該第一同步電路模組及該第二同步電路模組被轉換為該第三時脈域的該第三控制資訊以輸出至該資料鏈路層發送器。
- 如請求項10所述之控制器,其中該同步電路更包括: 一第三同步電路模組,用以將該資料鏈路層發送器輸出的該第三時脈域的第四控制資訊轉換並輸出為該第二時脈域的第五控制資訊輸出;以及 一第四同步電路模組,耦接該第三同步電路模組,用以將該第三同步電路模組所輸出的該第二時脈域的該第五控制資訊轉換為該第一時脈域的第六控制資訊以輸出至該資料鏈路層接收器, 其中該資料鏈路層發送器輸出的該第四控制資訊係該第三時脈域的至少另一訊號,該第四同步電路模組輸出的該第六控制資訊係該第一時脈域的至少另一訊號。
- 如請求項13所述之控制器,其中當該資料鏈路層發送器完成發送一資料訊框後,該資料鏈路層發送器所輸出的該第三時脈域的該第四控制資訊透過該同步電路的該第三同步電路模組及該第四同步電路模組被轉換為該第一時脈域的該第六控制資訊以輸出至該資料鏈路層接收器。
- 如請求項10所述之控制器,其中該第一同步電路模組被配置為於該資料鏈路層接收器所輸出的該第一控制資訊與先前控制資訊有差異時才進行交換資訊。
- 如請求項15所述之控制器,其中該第一同步電路模組被配置為於進行該交換資訊時,於該第一時脈域中鎖存該第一控制資訊,且經過該第一時脈域的一第一數目的週期及經過該第二時脈域的一第二數目的週期後於該第二時脈域中鎖存該第一控制資訊,並將於該第二時脈域中鎖存的該第一控制資訊輸出為該第二控制資訊。
- 如請求項16所述之控制器,其中該第一同步電路模組被配置為於進行該交換資訊時,該第一數目等於或大於該第二數目。
- 如請求項10所述之控制器,其中該互連協定是通用快閃儲存(Universal Flash Storage, UFS)標準。
- 一種儲存裝置,能夠依據一互連協定鏈接一主機,該儲存裝置包括: 一儲存模組; 一介面電路,該介面電路用於實現該互連協定的一實體層以鏈接該主機;以及 一控制器模組,該控制器模組用於耦接到該介面電路和該儲存模組,且用於實現該互連協定的一鏈接層,該控制器模組包括: 一資料鏈路層接收器; 一資料鏈路層發送器;以及 一同步電路,耦接於該資料鏈路層接收器及該資料鏈路層發送器之間,該同步電路包括: 一第一同步電路模組,用以將該資料鏈路層接收器輸出的一第一時脈域的第一控制資訊轉換並輸出為一第二時脈域的第二控制資訊;以及 一第二同步電路模組,耦接該第一同步電路模組,用以將該第一同步電路模組所輸出的該第二時脈域的該第二控制資訊轉換為一第三時脈域的第三控制資訊以輸出至該資料鏈路層發送器, 其中該資料鏈路層接收器輸出的該第一控制資訊係該第一時脈域的至少一訊號,該第二同步電路模組輸出的該第三控制資訊係該第三時脈域的至少一訊號,該第一時脈域、該第二時脈域、該第三時脈域的兩兩之間是非同步的。
- 如請求項19所述之儲存裝置,其中該互連協定是通用快閃儲存(Universal Flash Storage, UFS)標準。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111118695A TW202347136A (zh) | 2022-05-19 | 2022-05-19 | 用於互連協定的同步電路、控制器以及儲存裝置 |
US17/869,429 US20230377618A1 (en) | 2022-05-19 | 2022-07-20 | Circuit for synchronization for an interconnection protocol, controller and storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111118695A TW202347136A (zh) | 2022-05-19 | 2022-05-19 | 用於互連協定的同步電路、控制器以及儲存裝置 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202347136A true TW202347136A (zh) | 2023-12-01 |
Family
ID=88791926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111118695A TW202347136A (zh) | 2022-05-19 | 2022-05-19 | 用於互連協定的同步電路、控制器以及儲存裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230377618A1 (zh) |
TW (1) | TW202347136A (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7352836B1 (en) * | 2001-08-22 | 2008-04-01 | Nortel Networks Limited | System and method of cross-clock domain rate matching |
US7665059B2 (en) * | 2006-06-07 | 2010-02-16 | Bluespec, Inc. | System and method for designing multiple clock domain circuits |
US9031241B2 (en) * | 2009-02-05 | 2015-05-12 | D.E. Shaw Research, Llc | Link and physical coding sub-layer protocols |
-
2022
- 2022-05-19 TW TW111118695A patent/TW202347136A/zh unknown
- 2022-07-20 US US17/869,429 patent/US20230377618A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230377618A1 (en) | 2023-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11755486B2 (en) | Shared buffered memory routing | |
EP3739462B1 (en) | Bimodal phy for low latency in high speed interconnects | |
US10152446B2 (en) | Link-physical layer interface adapter | |
US10198379B2 (en) | Early identification in transactional buffered memory | |
EP3035198B1 (en) | Low power entry in a shared memory link | |
US10360096B2 (en) | Error handling in transactional buffered memory | |
JP4704050B2 (ja) | データ転送システム及び電子機器 | |
US20140281071A1 (en) | Optical memory extension architecture | |
US20230388251A1 (en) | Tightly-Coupled, Loosely Connected Heterogeneous Packet Based Transport | |
US11892927B2 (en) | Method for error handling of an interconnection protocol, controller and storage device | |
TW202347136A (zh) | 用於互連協定的同步電路、控制器以及儲存裝置 | |
TW202306365A (zh) | 用於互連協定的訊框接收的資料處理的方法以及儲存裝置 | |
US8555104B2 (en) | Frequency adapter utilized in high-speed internal buses | |
CN117278469A (zh) | 用于互连协议的同步电路、控制器以及存储设备 | |
TW202311971A (zh) | 用於互連協定的資料處理的方法、控制器以及儲存裝置 | |
TW202234861A (zh) | 用於控制器中的錯誤處理的控制方法、其記錄媒體、控制器以及儲存裝置 | |
US20240121323A1 (en) | Method for control protocol frame transmission and electronic device | |
US20240121326A1 (en) | Operation method for an electronic device and an electronic device capable of performing an advanced line coding | |
US20240089886A1 (en) | Method for lane synchronization for an interconnection protocol, controller, and storage device | |
US20240163010A1 (en) | Operation method for an electronic device and an electronic device capable of performing an advanced line coding | |
US20240118974A1 (en) | Method for facilitating frame error handling and an electronic device | |
CN115842605A (zh) | 用于互连协议的错误处理的方法、控制器以及存储设备 | |
CN117955583A (zh) | 用于互连协议的通道同步的方法、控制器以及存储装置 | |
TW202411856A (zh) | 用於互連協定的通道同步的方法、控制器以及儲存裝置 | |
CN115842872A (zh) | 用于互连协议的帧接收的数据处理的方法以及存储设备 |