TWI818274B - Apparatus and method for segmenting a data stream of a physical layer - Google Patents
Apparatus and method for segmenting a data stream of a physical layer Download PDFInfo
- Publication number
- TWI818274B TWI818274B TW110123662A TW110123662A TWI818274B TW I818274 B TWI818274 B TW I818274B TW 110123662 A TW110123662 A TW 110123662A TW 110123662 A TW110123662 A TW 110123662A TW I818274 B TWI818274 B TW I818274B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- register
- special symbol
- physical layer
- host
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 26
- 239000012634 fragment Substances 0.000 claims description 18
- 230000011218 segmentation Effects 0.000 claims description 4
- 230000009189 diving Effects 0.000 abstract 1
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000000945 filler Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 241000854291 Dianthus carthusianorum Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004242 micellar liquid chromatography Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000004809 thin layer chromatography Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Holo Graphy (AREA)
- Image Analysis (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
Description
本發明涉及儲存裝置,尤指一種實體層的資料串流切割裝置及方法。 The present invention relates to a storage device, and in particular, to a physical layer data stream cutting device and method.
快閃記憶裝置通常分為NOR快閃記憶裝置與NAND快閃記憶裝置。NOR快閃記憶裝置為隨機存取裝置,主裝置(host)可於位址腳位上提供任何存取NOR快閃記憶裝置的位址,並及時地從NOR快閃記憶裝置的資料腳位上獲得儲存於該位址上的資料。相反地,NAND快閃記憶裝置並非隨機存取,而是序列存取。NAND快閃記憶裝置無法像NOR快閃記憶裝置一樣,可以存取任何隨機位址,主裝置反而需要寫入序列的位元組(bytes)的值到NAND快閃記憶裝置中,用以定義請求命令(command)的類型(如,讀取、寫入、抹除等),以及用在此命令上的位址。位址可指向一個頁面(快閃記憶裝置中寫入作業的最小資料塊)或一個區塊(快閃記憶裝置中抹除作業的最小資料塊)。 Flash memory devices are generally divided into NOR flash memory devices and NAND flash memory devices. The NOR flash memory device is a random access device. The host can provide any address for accessing the NOR flash memory device on the address pin and obtain the data pin of the NOR flash memory device in real time. Get the data stored at this address. In contrast, NAND flash memory devices do not have random access, but sequential access. NAND flash memory devices cannot access any random address like NOR flash memory devices. Instead, the master device needs to write a sequence of bytes values to the NAND flash memory device to define the request. The type of command (e.g., read, write, erase, etc.), and the address used for this command. The address can point to a page (the smallest block of data for a write operation in a flash memory device) or a block (the smallest block of data for an erase operation in a flash memory device).
為滿足高速通信的需求,快閃記憶裝置的實體層可包含串列器/解串器(Serializer/Deserializer,簡稱SerDes)。SerDes是一對功能電路,用來彌補有限輸入/輸出的不足,其提供在單一導線或差動對上傳輸資料,讓輸入輸出接腳及其間的接線能夠最少。詳細來說,傳送端將低速並行信號轉換為高速串列信號,並經過單一導線或差動對傳送到接收端。然而,在SerDes環境下,因為頻差或環境因素讓鎖相迴路(Phase-Locked Loop PLL)脫鎖(Lose Lock),造成原始資料中插入了不需要的位元,或者是遺失了原始資料中的部分位元。因 此,本發明提出一種資料串流切割裝置及方法,用以解決如上所述的問題。 In order to meet the requirements of high-speed communication, the physical layer of the flash memory device may include a serializer/deserializer (SerDes for short). SerDes is a pair of functional circuits used to make up for the shortcomings of limited input/output. It provides data transmission on a single wire or a differential pair, allowing the input and output pins and the wiring between them to be minimized. Specifically, the transmitting end converts low-speed parallel signals into high-speed serial signals and transmits them to the receiving end through a single wire or differential pair. However, in the SerDes environment, due to frequency difference or environmental factors, the Phase-Locked Loop PLL loses its lock (Lose Lock), causing unnecessary bits to be inserted into the original data, or the original data to be lost. part of the bits. because Therefore, the present invention proposes a data stream cutting device and method to solve the above problems.
有鑑於此,如何減輕或消除上述相關領域的缺失,實為有待解決的問題。 In view of this, how to alleviate or eliminate the deficiencies in the above-mentioned related fields is a problem that needs to be solved.
本說明書提供一種實體層的資料串流切割裝置的實施例,安裝於實體層中,包含:資料寄存器及邊界偵測器。邊界偵測器具有偵測特殊符號的能力,用於偵測資料寄存器的內容,並且當資料寄存器包含特殊符號時,輸出資料寄存器中偵測到的特殊符號的起始位址給偏移寄存器來更新該偏移寄存器中儲存的值,使得串流分割器依據偏移寄存器中儲存的新值進行資料寄存器中的資料片段切割。 This specification provides an embodiment of a physical layer data stream cutting device, which is installed in the physical layer and includes: a data register and a boundary detector. The boundary detector has the ability to detect special symbols and is used to detect the contents of the data register. When the data register contains special symbols, it outputs the starting address of the special symbols detected in the data register to the offset register. The value stored in the offset register is updated, so that the stream splitter performs segmentation of the data fragments in the data register according to the new value stored in the offset register.
本說明書提供一種資料串流切割方法的實施例,由實體層執行,包含:比較資料寄存器中連續n個位元資料的每一個組合與特殊符號;以及當資料寄存器中連續n個位元資料的任一組合相符於特殊符號時,改變為依據該特殊符號於資料寄存器中的起始位址切割資料寄存器中的內容,用於產生一或多個片段。 This specification provides an embodiment of a data stream cutting method, which is executed by the physical layer and includes: comparing each combination of n consecutive n-bit data in the data register with a special symbol; and when the n consecutive n-bit data in the data register is When any combination matches a special symbol, the content in the data register is cut according to the starting address of the special symbol in the data register to generate one or more fragments.
本說明書提供另一種資料串流切割方法的實施例,由實體層執行,包含:當之前切割的資料解碼失敗時,比較資料寄存器中連續n個位元資料的每一個組合與特殊符號;以及當資料寄存器中連續n個位元資料的任一組合相符於特殊符號時,改變為依據邊界鎖定模式或特殊符號於資料寄存器中的起始位址切割資料寄存器中的內容,用於產生一個或多個片段。 This specification provides another embodiment of a data stream cutting method, which is executed by the physical layer, including: when the previously cut data fails to be decoded, comparing each combination of consecutive n bit data in the data register with a special symbol; and when When any combination of n consecutive n-bit data in the data register matches a special symbol, the content in the data register is changed to be cut according to the boundary lock mode or the starting address of the special symbol in the data register to generate one or more fragments.
上述實施例的優點之一,通過在實體層中更加上追蹤特殊符號,減少因為主機端減少邊界鎖定模式時修正資料切割錯誤所需的時間。 One of the advantages of the above embodiment is to reduce the time required to correct data cutting errors when the host side reduces the boundary lock mode by tracking special symbols in the physical layer.
本發明的其他優點將搭配以下的說明和圖式進行更詳細的解說。 Other advantages of the present invention will be explained in more detail in conjunction with the following description and drawings.
110:主機端 110: Host side
130:控制器 130:Controller
131:處理單元 131: Processing unit
133:媒體存取控制層 133:Media access control layer
135:靜態隨機存取記憶體 135: Static random access memory
138:NAND閃存控制器 138:NAND flash controller
139:儲存介面 139:Storage interface
150:儲存裝置 150:Storage device
151:閃存介面 151:Flash interface
153#0~153#15:NAND閃存模組 153#0~153#15: NAND flash memory module
170:實體層 170:Entity layer
171:主機介面 171:Host interface
173:資料寄存器 173:Data register
174:邊界偵測器 174: Boundary Detector
175:串流分割器 175:Stream splitter
176:偏移寄存器 176:Offset register
177:解碼器 177:Decoder
179:並行介面 179: Parallel interface
310,330,350,510,530:資料 310,330,350,510,530: Information
330p,350q:資料位元 330p, 350q: data bits
410:UFS的叢發頭 410:UFS’s Congfatou
420:主機寫命令 420: Host writes command
430:確認訊息 430: Confirmation message
450:填充元 450: Filling element
460:使用者資料 460:User information
Fn-1,Fn,Fn+1,Fn+2,Fn+3:資料片段 Fn-1,Fn,Fn+1,Fn+2,Fn+3: data fragment
610-0~610-10,620-0~620-10,710-0~710-130,720-0~720-130,810-0~810-10,910-0~910-130:比較器 610-0~610-10,620-0~620-10,710-0~710-130,720-0~720-130,810-0~810-10,910-0~910-130: Comparator
630-0~630-10,730-0~730-130,830-0~830-10,930-0~930-130:輸出電路 630-0~630-10,730-0~730-130,830-0~830-10,930-0~930-130: Output circuit
850,950:多工器 850,950:Mux
S1010~S1070,S1110~S1170:方法步驟 S1010~S1070, S1110~S1170: Method steps
圖1為依據本發明實施例的快閃記憶體的系統架構示意圖。 FIG. 1 is a schematic diagram of the system architecture of a flash memory according to an embodiment of the present invention.
圖2為閃存介面與儲存單元的連接示意圖。 Figure 2 is a schematic diagram of the connection between the flash memory interface and the storage unit.
圖3A為原始資料串流的示意圖。 Figure 3A is a schematic diagram of raw data streaming.
圖3B及圖3C為受干擾的資料串流的示意圖。 Figures 3B and 3C are schematic diagrams of disturbed data streams.
圖4為主機端寫入使用者資料的時序圖。 Figure 4 is a timing diagram for the host to write user data.
圖5A及圖5B為依據本發明實施例的資料片段切割示意圖。 5A and 5B are schematic diagrams of data fragment cutting according to an embodiment of the present invention.
圖6至圖9為依據本發明實施例的邊界偵測器的方塊圖。 6 to 9 are block diagrams of boundary detectors according to embodiments of the present invention.
圖10至圖11為依據本發明實施例的資料串流切割的方法流程圖。 10 to 11 are flowcharts of a data stream cutting method according to an embodiment of the present invention.
以下說明為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。 The following description is a preferred implementation manner for completing the invention, and its purpose is to describe the basic spirit of the invention, but is not intended to limit the invention. For the actual invention, reference must be made to the following claims.
必須了解的是,使用於本說明書中的“包含”、“包括”等詞,用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。 It must be understood that the words "including" and "include" used in this specification are used to indicate the existence of specific technical features, numerical values, method steps, work processes, components and/or components, but do not exclude the possibility of adding further technical features, values, method steps, processes, components, components, or any combination of the above.
於權利要求中使用如“第一”、“第二”、“第三”等詞是用來修飾權利要求中的元件,並非用來表示之間具有優先順序,前置關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。 The use of words such as "first", "second" and "third" in the claims is used to modify the elements in the claims, and is not used to indicate that there is a priority, precedence relationship between them, or that they are one element. Prior to another element, or the chronological order in which method steps are performed, it is only used to distinguish elements with the same name.
必須了解的是,當元件描述為“連接”或“耦接”至另一元件時,可以是直接連結、或耦接至其他元件,可能出現中間元件。相反地,當元件描述為“直接連接”或“直接耦接”至另一元件時,其中不存在任何中間元件。使用來描述元件之間關係的其他語詞也可類似方式解讀,例如“介於”相對於“直接介於”,或者是“鄰接”相對於“直接鄰接”等等。 It must be understood that when an element is described as being "connected" or "coupled" to another element, it can be directly connected or coupled to the other element, and intervening elements may be present. In contrast, when an element is described as being "directly connected" or "directly coupled" to another element, there are no intervening elements present. Other words used to describe the relationship between elements could be interpreted in a similar fashion, such as "between" versus "directly between," "adjacent" versus "directly adjacent," etc.
參考圖1。電子裝置包含主機端(Host Side)110、控制器130及儲存裝置150,並且控制器130及儲存裝置150可合稱為裝置端(Device
Side)。電子裝置可為個人電腦、筆記型電腦(Laptop PC)、平板電腦、手機、數位相機、數位攝影機等電子產品。主機端110的介面(未顯示於圖1)及控制器130的主機介面(Host Interface) 171可採用通用快閃記憶儲存(Universal Flash Storage,UFS)、通用序列匯流排(Universal Serial Bus,USB)、先進技術附著(Advanced Technology Attachment,ATA)、序列先進技術附著(Serial Advanced Technology Attachment,SATA)、快速周邊元件互聯(Peripheral Component Interconnect Express,PCI-E)等通信協定彼此溝通。控制器130的儲存介面(Storage Interface)139及儲存裝置150的閃存介面可以雙倍資料率(Double Data Rate,DDR)通訊協定彼此溝通,例如,開放NAND快閃(Open NAND Flash Interface,ONFI)、雙倍資料率開關(DDR Toggle)或其他介面通訊協定。控制器130包含處理單元131,用於通過實體層(Physical Layer,PHY)170及媒體存取控制層(Media Access Control,MAC Layer)133從主機端110接收主機命令,例如讀取、寫入、抹除命令等。處理單元131可使用多種方式實施,如使用通用硬體(例如,單一處理器、具平行處理能力的多處理器、圖形處理器或其他具運算能力的處理器),並且在執行軟體以及/或韌體指令時,提供指定的功能。控制器130另包含靜態隨機存取記憶體(Static Random Access Memory,SRAM)135,用於配置空間作為資料緩衝區,儲存主機寫命令欲寫入儲存裝置150的使用者資料,主機讀命令指示從儲存裝置150讀取的使用者資料,以及執行過程中需要的資料,例如,變數、資料表、主機-閃存對照表(Host-to-Flash,H2F Table)、閃存-主機對照表(Flash-to-Host,F2H Table)等。控制器130另包含NAND閃存控制器(NAND Flash Controller,NFC)138,提供存取儲存裝置150過程中需要的功能,例如命令序列器(Command Sequencer)、低密度奇偶校驗(Low Density Parity Check,LDPC)
等。處理單元131依據主機命令通過NFC138及儲存介面139指示儲存裝置150執行資料讀取、寫入、抹除等操作。
Refer to Figure 1. The electronic device includes a host side (Host Side) 110, a
儲存裝置150包含儲存單元153,提供大量的儲存空間,通常是數百個千兆位元組(Gigabytes,GB),甚至是數個兆兆位元組(Terabytes,TB),用於儲存大量的使用者資料,例如高解析度圖片、影片等。儲存單元153中包含控制電路以及記憶體陣列,記憶體陣列中的記憶單元可包含單層式單元(Single Level Cells,SLCs)、多層式單元(Multiple Level Cells,MLCs)三層式單元(Triple Level Cells,TLCs)、四層式單元(Quad-Level Cells,QLCs)或上述的任意組合。處理單元131透過儲存介面139寫入使用者資料到儲存裝置150(詳細來說,儲存單元153)中的指定位址(目的位址),以及從儲存裝置150中的指定位址(來源位址)讀取使用者資料。儲存介面139使用數個電子訊號來協調控制器130與儲存裝置150間的資料與命令傳遞,包含資料線(Data Line)、時脈訊號(Clock Signal)與控制訊號(Control Signal)。資料線可用於傳遞命令、位址、讀出及寫入的資料;控制訊號線可用於傳遞晶片致能(Chip Enable,CE)、位址提取致能(Address Latch Enable,ALE)、命令提取致能(Command Latch Enable,CLE)、寫入致能(Write Enable,WE)等控制訊號。
The
參考圖2,閃存介面151可包含四個輸出入通道(I/O channels,以下簡稱通道)CH#0至CH#3,每一個通道連接四個NAND閃存模組,例如,通道CH#0連接NAND閃存模組153#0、153#4、153#8及153#12。每個NAND閃存模組可封裝為獨立的芯片(die)。NAND閃存控制器138可通過儲存介面139及閃存介面151發出致能訊號CE#0至CE#3中的一個來致能NAND閃存模組153#0至153#3、153#4至153#7、153#8至153#11、或153#12至153#15,接著以並行的方式從致能的NAND閃存模組讀取使用者資料,或者寫入使用者資料至
致能的NAND閃存模組。
Referring to Figure 2, the
控制器130的實體層170可設置為8b/10b、64b/66b或128b/130b串列器/解串器(Serializer/Deserializer,簡稱SerDes)環境。然而,頻差或環境因素會讓鎖相迴路(Phase-Locked Loop PLL)脫鎖(Loss Lock),造成主機端110傳送的原始資料中插入了不需要的位元,或者是遺失了主機端110傳送的原始資料中的部分位元。當控制器130搭載在手機上,環境的干擾更為嚴重,例如,使用者操作觸控螢幕產生的突波影響了實體層170中的類比電路(也可稱為類比實體層Analog Physical Layer A-PHY),使得鎖相迴路脫鎖的情況更頻繁地發生。類比實體層包含串列器,用於在串列化資料之前,將每個資料片段映射成使用更多位元表示的碼,例如將8、64或128位元片段映射成10、66或130位元碼。舉例來說,參考圖3A,主機端110通過主機介面171傳送資料310給控制器130中的實體層170,包含資料串流”b01100001101010000011”。但由於鎖相迴路脫鎖,使得實體層170接收到如圖3B所示的錯誤資料330或如圖3C所示的錯誤資料350。圖3B中的資料串流330包含原始資料310中不存在的位元”b11”330p,而圖3C中的資料串流350中遺失了原始資料310中原有的位元”b00”350q。由於原始資料串流由一系列固定大小(例如,10、66、130個位元,或其他數目的位元)的片段組成,錯誤插入或遺失的位元會造成後續的資料切割發生錯誤。例如,圖3A所示的原始資料串流310原本該切割出2個10位元片段”b0110000110”及”b1010000011”。然而,圖3B所示的資料串流330卻切割出2個錯誤的10位元片段”b0110011001”及”b1010100000”。圖3C所示的資料串流350則切割出2個錯誤的10位元片段”b0110011010”及”b10000011xx”。
The
為了解決如上所述鎖相迴路脫鎖後造成的切割錯誤,在8b/10bSerDes環境的一些實施方式中,主機端110可週期性地傳送邊界鎖
定模式(Boundary-lock Pattern),例如UFS的叢發頭(Head of Burst HOB,又稱MK0或K.28.5符號)等,讓實體層170可通過追蹤主機介面171傳來的資料串流的邊界鎖定模式來重新決定每個片段的邊界(Boundary)並據以進行切割。在128b/130b SerDes環境的一些實施方式中,主機端110可週期性地傳送邊界鎖定模式,例如PCI-E的逗點符號(Comma Character,又稱K28.5符號)等,用來讓實體層170進行片段邊界的決定與切割。但是,主機端110為了獲得更好的傳輸率可能減少邊界鎖定模式的傳送數量,造成實體層170修正資料切割錯誤的時間進一步拉長。
In order to solve the cutting error caused by the unlocking of the phase-locked loop as described above, in some implementations of the 8b/10bSerDes environment, the
為改進如上所述實施方式的缺點,在8b/10b SerDes環境中,本發明實施例提出一種實體層電路,不只在有效封包傳輸期間追蹤主機介面171傳來的資料串流中的邊界鎖定模式,也在閒置期間(Idle)追蹤主機介面171傳來的資訊串流中的特殊符號,例如UFS的填充元(FILLER,又稱K.28.1符號)。參考圖4,以主機端110寫入使用者資料為例。在正常情況下,主機端110發送HOB 410後再發送主機寫命令CMD 420,用來讓控制器130能夠正確切割資料串流。接著,在接收到控制器130發送的確認訊息(Acknowledgement ACK)430後,主機端110開始傳送使用者資料DAT 460。在開始傳送使用者資料之前,主機端110發送HOB 410,用來讓控制器130能夠正確切割資料串流。主機寫命令CMD 420及使用者資料460可稱為有效封包。所屬技術領域人員理解有效封包還包括主機管理命令、其他主機輸出入命令、參數等能夠被通訊協定層(Protocol Layer)使用的資訊。傳送有效封包及關聯必要控制符號(例如邊界鎖定模式、同步模式SYN等)的期間稱為有效封包傳輸期間。在主機寫命令CMD 420發送後至下一個HOB 410的期間,稱為閒置期間tIDLE。在等待裝置端的確認430的閒置期間tIDLE,主機端110可不斷傳送填充元FIL 450給裝置端。UFS的叢發頭及填充元的細節可參考表1:
在128b/130b SerDes環境中,實體層電路不只在資料傳輸期間追蹤邊界鎖定模式,更多追蹤一個特殊符號,例如PCI-E的快速訓練序列(Fast Training Sequence FTS,又稱K28.1符號)。PCI-E的逗點符號及快速訓練序列的細節可參考表2:
所屬技術領域人員理解,FTS用來被插入在有效資料之前。通過追蹤更多的符號,實體層170在主機端110拉長傳送同步模式的週期的情況下,還能夠儘早修正資料切割錯誤。
Those skilled in the art understand that FTS is used to be inserted before valid data. By tracking more symbols, the
參考圖1,實體層170包含如上所述的主機介面171,用於從主機端110接收主機命令、參數及使用者資料等。以8b/10b SerDes環境為例,主機端110傳送的主機命令、參數及使用者資料會以10個位元為單位進行編碼。實體層170更包含資料寄存器173、邊界偵測器174、串流分割器175、偏移寄存器(Offset Register)176及解碼器177。資料寄存器173可儲存通過主機介面171接收到的20個位元的資料。偏移寄存器176記錄資料片段的邊界(Boundary,也可稱為切割的起始位址)。串流分割器(Stream Splitter)175依據偏移寄存器176的值切割資料寄存器173中的資料位元為一個或多個片段,並輸出到解碼器177。圖5A及5B分別顯示依據本發明實施例當偏移寄存器173紀錄0及2時的資料片段切割情形。資料寄存器173在時間點t1儲
存20個位元的資料510,接著在時間點t2儲存之後20個位元的資料530。
Referring to FIG. 1 , the
參考圖5A,舉例來說,當偏移寄存器176紀錄0時,串流分割器175可在時間點t1將資料510中的第0到9個位元當作片段Fn,將資料510中的第10到19個位元當作片段Fn+1,並輸出兩個片段的資料給解碼器177。串流分割器175可在時間點t2將資料530中的第0到9個位元當作片段Fn+2,將資料530中的第10到19個位元當作片段Fn+3,並輸出兩個片段的資料給解碼器177。
Referring to FIG. 5A, for example, when the offset
參考圖5B,舉例來說,當偏移寄存器176紀錄2時,串流分割器175可在時間點t1將資料510中的第2到11個位元當作片段Fn,輸出此片段的資料給解碼器177,此外,資料510中的第12到19個位元被保留下來以供之後使用。串流分割器175可在時間點t2將保留下來的資料位元結合資料530中的第0到1個位元當作片段Fn+1,將資料530中的第2到11個位元當作片段Fn+2,並輸出兩個片段的資料給解碼器177,此外,資料530中的第12到19個位元被保留下來以供之後使用。
Referring to FIG. 5B, for example, when the offset
因應不同的SerDes環境設置,解碼器177可為8b/10b轉換器(Converter)、64b/66b轉換器或128b/130b轉換器。解碼器177包含映射表,用來將輸入的資料位元轉換為用較少位元表示的碼,例如將輸入的10、66或130位元資料映設成8、64或128位元碼。當任何輸入的資料位元依據映射表轉換不出任何碼時,解碼器177判定輸入的資料位元錯誤,並可輸出解碼錯誤訊號給邊界偵測器174。反之,當轉碼成功時,解碼器177輸出解碼成功訊號給邊界偵測器174。舉例來說,在8b/10b SerDes環境中,10位元可表示210=1024個狀態,映射表只包含28=256個映射關係。因此,當解碼器177無法將輸入的資料位元轉換出任何碼時,表示原始資料在傳輸過程中遭到改變。
According to different SerDes environment settings, the
參考圖1,邊界偵測器174具有偵測資料寄存器173中的邊界鎖定模式(例如UFS的叢發頭或PCI-E的逗點符號)及預設的特殊符號(例
如UFS的填充元或PCI-E的FTS)的能力。需要注意的是,此預設的特殊符號並非原先在規範中用來決定資料串流中每個片段的邊界,而有其他的用途。邊界偵測器174不斷偵測資料寄存器173的內容,並且當資料寄存器173包含邊界鎖定模式或預設的特殊符號時,輸出資料寄存器173中偵測到的邊界鎖定模式或預設的特殊符號的起始位址給偏移寄存器176,用於將偏移寄存器176的值更新為偵測到的起始位址。之後,串流分割器175依據偏移寄存器176中儲存的新值進行資料寄存器173中的資料片段切割。
Referring to FIG. 1 , the
參考圖6,在8b/10b SerDes環境的一些實施例中,為了UFS叢發頭(K.28.5),邊界偵測器174包含11個輸出電路630-0至630-10,耦接偏移寄存器176,在被驅動時分別輸出0至10至偏移寄存器176。邊界偵測器174包含11個比較器610-0至610-10,用來偵測資料寄存器173中連續10位元資料的所有可能組合。例如,比較器610-0偵測資料寄存器173中第0至9位元的資料D[9:0],比較器610-1偵測資料寄存器173中第1至10位元的資料D[10:1],依此類推。每個比較器耦接一個相應的輸出電路,該輸出電路的輸出值相符於該比較器輸入的連續10位元資料於資料寄存器173中的起始位址。例如,比較器610-0耦接能夠輸出0的輸出電路630-0,比較器610-1耦接能夠輸出1的輸出電路630-1,依此類推。比較器610-0至610-10中的每一個比較輸入的連續10位元資料及UFS叢發頭。當輸入的10位元資料相符於UFS的叢發頭,該比較器輸出訊號來驅動耦接的輸出電路以輸出特定值(也就是UFS叢發頭於資料寄存器173中的起始位址)至偏移寄存器176。反之,該比較器不輸出訊號。此外,為了UFS填充元(K.28.1),邊界偵測器174另包含11個比較器620-0至620-10,用來偵測資料寄存器173中連續10位元資料的所有可能組合。每個比較器耦接一個相應的輸出電路,該輸出電路的輸出值相符於該比較器輸入的連續10位元資料於資料寄存器173中的起始位址。例如,
比較器620-0耦接能夠輸出0的輸出電路630-0,比較器620-1耦接能夠輸出1的輸出電路630-1,依此類推。比較器620-0至620-10中的每一個比較輸入的連續10位元資料及UFS填充元。當輸入的10位元資料相符於UFS的填充元,該比較器輸出訊號來驅動耦接的輸出電路以輸出特定值(也就是填充元於資料寄存器173中的起始位址)至偏移寄存器176。反之,該比較器不輸出訊號。
Referring to Figure 6, in some embodiments of the 8b/10b SerDes environment, for the UFS burst header (K.28.5), the
參考圖7,在128b/130b SerDes環境的一些實施例中,資料寄存器173儲存260個位元的資料。為了PCI-E逗點符號(K28.5),邊界偵測器174包含131個輸出電路730-0至730-130,耦接偏移寄存器176,在被驅動時分別輸出0至130至偏移寄存器176。邊界偵測器174包含131個比較器710-0至710-130,用來偵測資料寄存器173中連續130位元資料的所有可能組合。例如,比較器710-0偵測資料寄存器173中第0至129位元的資料D[129:0],比較器710-1偵測資料寄存器173中第1至130位元的資料D[130:1],依此類推。每個比較器耦接一個相應的輸出電路,該輸出電路的輸出值相符於該比較器輸入的連續130位元資料於資料寄存器173中的起始位址。例如,比較器710-0耦接能夠輸出0的輸出電路730-0,比較器710-1耦接能夠輸出1的輸出電路730-1,依此類推。比較器710-0至710-130中的每一個比較輸入的連續130位元資料及PCI-E逗點符號。當輸入的130位元資料相符於PCI-E逗點符號,該比較器輸出訊號來驅動耦接的輸出電路以輸出特定值(也就是PCI-E逗點符號於資料寄存器173中的起始位址)至偏移寄存器176。反之,該比較器不輸出訊號。此外,為了PCI-E FTS(K28.1),邊界偵測器174包含131個比較器720-0至720-130,用來偵測資料寄存器173中連續130位元資料的所有可能組合。每個比較器耦接一個相應的輸出電路,該輸出電路的輸出值相符於該比較器輸入的連續130位元資料於資料寄存器173中的起始位址。例如,比較器720-0耦接能夠輸出0的輸出電路730-0,比較器720-1耦接能
夠輸出1的輸出電路730-1,依此類推。比較器720-0至720-130中的每一個比較輸入的連續130位元資料及PCI-E FTS。當輸入的130位元資料相符於PCI-E FTS,該比較器輸出訊號來驅動耦接的輸出電路以輸出特定值(也就是PCI-E FTS於資料寄存器173中的起始位址)至偏移寄存器176。反之,該比較器不輸出訊號。
Referring to Figure 7, in some embodiments of a 128b/130b SerDes environment, data register 173 stores 260 bits of data. For PCI-E comma notation (K28.5), the
參考圖8,在8b/10b SerDes環境的一些實施例中,邊界偵測器174包含多工器(Multiplexer MUX)850,其兩個輸入端分別輸入UFS叢發頭及UFS填充元。多工器850依據相應於解碼器177的解碼成功訊號的控制訊號Ct輸出UFS叢發頭至所有比較器810-0至810-10,以及依據相應於解碼器177的解碼失敗訊號的控制訊號Ct’輸出UFS填充元至所有比較器810-0至810-10。邊界偵測器174包含11個輸出電路830-0至830-10,其耦接關係及功能分別類似於圖6所示的輸出電路630-0至630-10。邊界偵測器174包含11個比較器810-0至810-10,用來偵測資料寄存器173中連續10位元資料的所有可能組合。每個比較器耦接一個相應的輸出電路,該輸出電路的輸出值相符於該比較器輸入的連續10位元資料於資料寄存器173中的起始位址。比較器810-0至810-10中的每一個比較從資料寄存器173輸入的連續10位元資料與從多工器850輸入的碼。當兩者相符時,該比較器輸出訊號來驅動耦接的輸出電路以輸出特定值(也就是UFS叢發頭或UFS填充元於資料寄存器173中的起始位址)至偏移寄存器176。反之,該比較器不輸出訊號。相較於圖6,圖8所示的電路減少一半的比較器。
Referring to Figure 8, in some embodiments of the 8b/10b SerDes environment, the
參考圖9,在128b/130b SerDes環境的一些實施例中,邊界偵測器174包含多工器950,其兩個輸入端分別輸入PCI-E逗點符號及PCI-E FTS。多工器950依據相應於解碼器177的解碼成功訊號的控制訊號Ct輸出PCI-E逗點符號至所有比較器910-0至910-130,以及依據相應於解碼器177的解碼失敗訊號的控制訊號Ct’輸出PCI-E FTS至所有比較器910-0至910-130。邊界偵測器174包含131個輸出電路930-0至
930-130,其耦接關係及功能分別類似於圖7所示的輸出電路730-0至730-130。邊界偵測器174包含131個比較器910-0至910-130,用來偵測資料寄存器173中連續130位元資料的所有可能組合。每個比較器耦接一個相應的輸出電路,該輸出電路的輸出值相符於該比較器輸入的連續130位元資料於資料寄存器173中的起始位址。比較器910-0至910-130中的每一個比較從資料寄存器173輸入的連續130位元資料與從多工器950輸入的碼。當兩者相符時,該比較器輸出訊號來驅動耦接的輸出電路以輸出特定值(也就是PCI-E逗點符號或PCI-E FTS於資料寄存器173中的起始位址)至偏移寄存器176。反之,該比較器不輸出訊號。相較於圖7,圖9所示的電路減少一半的比較器。
Referring to Figure 9, in some embodiments of a 128b/130b SerDes environment, the
於一些實施例,參考圖10所示由實體層170執行的資料串流切割方法。
In some embodiments, refer to the data stream cutting method performed by the
步驟S1010:此方法不斷更新資料寄存器173中的內容,用以儲存從主機端110傳來的資料。
Step S1010: This method continuously updates the content in the data register 173 to store data transmitted from the
步驟S1030:每次資料寄存器173中的內容更新後,比較資料寄存器173中連續n個位元資料的每一個可能組合與邊界鎖定模式。 Step S1030: Each time the content in the data register 173 is updated, compare each possible combination of n consecutive bit data in the data register 173 with the boundary lock mode.
步驟S1050:每次資料寄存器173中的內容更新後,比較資料寄存器173中連續n個位元資料的每一個可能組合與預設的特殊符號。 Step S1050: Each time the content in the data register 173 is updated, compare each possible combination of n consecutive bit data in the data register 173 with the preset special symbols.
步驟S1070:當資料寄存器173中連續n個位元資料的任一組合相符於邊界鎖定模式或預設的特殊符號時,改變為依據邊界鎖定模式或預設的特殊符號於資料寄存器173中的起始位址切割資料寄存器173中的內容,用於產生一或多個片段。 Step S1070: When any combination of n consecutive n-bit data in the data register 173 matches the boundary lock mode or the preset special symbol, change the starting point in the data register 173 according to the boundary lock mode or the preset special symbol. The content in the starting address cutting data register 173 is used to generate one or more segments.
於另一些實施例,參考圖11所示由實體層170執行的資料串流切割方法。
In other embodiments, refer to the data stream cutting method performed by the
步驟S1110:此方法不斷更新資料寄存器173中的內容,用以儲存從主機端110傳來的資料。
Step S1110: This method continuously updates the content in the data register 173 to store data transmitted from the
步驟S1130:每次資料寄存器173中的內容更新後且之前切割的資料 解碼成功時,比較資料寄存器173中連續n個位元資料的每一個可能組合與邊界鎖定模式。 Step S1130: Each time the content in the data register 173 is updated and the previously cut data When the decoding is successful, each possible combination of n consecutive bit data in the data register 173 is compared with the boundary lock mode.
步驟S1150:每次資料寄存器173中的內容更新後且之前切割的資料解碼失敗時,比較資料寄存器173中連續n個位元資料的每一個可能組合與與預設的特殊符號。 Step S1150: Each time the content in the data register 173 is updated and the previously cut data fails to be decoded, compare each possible combination of n consecutive n bit data in the data register 173 with a preset special symbol.
步驟S1170:當資料寄存器173中連續n個位元資料的任一組合相符於邊界鎖定模式或預設的特殊符號時,依據邊界鎖定模式或預設的特殊符號於資料寄存器173中的起始位址切割資料寄存器173中的內容,用於產生一或多個片段。 Step S1170: When any combination of n consecutive n-bit data in the data register 173 matches the boundary lock mode or the preset special symbol, the starting bit in the data register 173 is determined according to the boundary lock mode or the preset special symbol. The contents of the address segmentation data register 173 are used to generate one or more segments.
於圖10或圖11所示的方法的一些使用案例中,n為10,實體層170設置為8b/10b SerDes環境,邊界鎖定模式為K.28.5符號,以及特殊符號為於閒置期間由主機端110傳送的K.28.1符號。
In some use cases of the method shown in Figure 10 or Figure 11, n is 10, the
於圖10或圖11所示的方法的另一些使用案例中,n為130,實體層170設置為128b/130b SerDes環境,邊界鎖定模式為K28.5符號,以及特殊符號為由主機端110傳送且插入在有效資料之前的K28.1符號。
In other use cases of the method shown in Figure 10 or Figure 11, n is 130, the
雖然本發明實施例描述8b/10b及128b/130b SerDes環境作為範例,但所屬技術領域人員也可以將實施例提出的裝置及方法進行適當的修改後應用到資料儲存中的其他SerDes環境,例如64b/66b SerDes環境等。 Although the embodiments of the present invention describe 8b/10b and 128b/130b SerDes environments as examples, those skilled in the art can also make appropriate modifications to the devices and methods proposed in the embodiments and apply them to other SerDes environments in data storage, such as 64b /66b SerDes environment, etc.
雖然圖1~2、6~9中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然圖10~11的流程圖採用指定的順序來執行,但是在不違反發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。 Although Figures 1 to 2 and 6 to 9 contain the components described above, it does not rule out that more other additional components can be used to achieve better technical effects without violating the spirit of the invention. In addition, although the flowcharts in Figures 10 to 11 are executed in a specified order, those skilled in the art can modify the order of these steps while achieving the same effect without violating the spirit of the invention. Therefore, this The invention is not limited to the use of only the sequence described above. In addition, those skilled in the art can also integrate several steps into one step, or in addition to these steps, perform more steps sequentially or in parallel, and the invention is not limited thereby.
雖然本發明使用以上實施例進行說明,但需要注意的是,這些描述並非用以限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。 Although the present invention is described using the above embodiments, it should be noted that these descriptions are not intended to limit the present invention. On the contrary, this invention covers modifications and similar arrangements which will be obvious to one skilled in the art. Therefore, the scope of the claims of the application must be interpreted in the broadest manner to include all obvious modifications and similar arrangements.
110:主機端 110: Host side
130:控制器 130:Controller
131:處理單元 131: Processing unit
133:媒體存取控制層 133:Media access control layer
135:靜態隨機存取記憶體 135: Static random access memory
138:NAND閃存控制器 138:NAND flash controller
139:儲存介面 139:Storage interface
150:儲存裝置 150:Storage device
171:主機介面 171:Host interface
173:資料寄存器 173:Data register
174:邊界偵測器 174: Boundary Detector
175:串流分割器 175:Stream splitter
176:偏移寄存器 176:Offset register
177:解碼器 177:Decoder
179:並行介面 179: Parallel interface
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110123662A TWI818274B (en) | 2020-04-08 | 2020-04-08 | Apparatus and method for segmenting a data stream of a physical layer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110123662A TWI818274B (en) | 2020-04-08 | 2020-04-08 | Apparatus and method for segmenting a data stream of a physical layer |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202207047A TW202207047A (en) | 2022-02-16 |
TWI818274B true TWI818274B (en) | 2023-10-11 |
Family
ID=81323633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110123662A TWI818274B (en) | 2020-04-08 | 2020-04-08 | Apparatus and method for segmenting a data stream of a physical layer |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI818274B (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609386B (en) * | 2010-12-03 | 2016-04-13 | 罗姆股份有限公司 | The receiving circuit of serial data, method of reseptance and transmission system, transmission method |
TWI533210B (en) * | 2012-10-31 | 2016-05-11 | 晨星半導體股份有限公司 | Stream data processor |
CN109902051A (en) * | 2017-12-11 | 2019-06-18 | 美光科技公司 | Converting system for more fine granular memory architecture |
CN110781112A (en) * | 2019-10-23 | 2020-02-11 | 中国人民解放军国防科技大学 | Dual-channel serial RapidIO interface supporting multiple transmission modes |
US10592450B2 (en) * | 2016-10-20 | 2020-03-17 | Micron Technology, Inc. | Custom compute cores in integrated circuit devices |
-
2020
- 2020-04-08 TW TW110123662A patent/TWI818274B/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609386B (en) * | 2010-12-03 | 2016-04-13 | 罗姆股份有限公司 | The receiving circuit of serial data, method of reseptance and transmission system, transmission method |
TWI533210B (en) * | 2012-10-31 | 2016-05-11 | 晨星半導體股份有限公司 | Stream data processor |
US10592450B2 (en) * | 2016-10-20 | 2020-03-17 | Micron Technology, Inc. | Custom compute cores in integrated circuit devices |
CN109902051A (en) * | 2017-12-11 | 2019-06-18 | 美光科技公司 | Converting system for more fine granular memory architecture |
CN110781112A (en) * | 2019-10-23 | 2020-02-11 | 中国人民解放军国防科技大学 | Dual-channel serial RapidIO interface supporting multiple transmission modes |
Also Published As
Publication number | Publication date |
---|---|
TW202207047A (en) | 2022-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11829759B2 (en) | Apparatus and method for segmenting a data stream of a physical layer | |
US9971730B2 (en) | Link layer to physical layer (PHY) serial interface | |
US20050034007A1 (en) | Synchronized communication between multi-processor clusters of multi-cluster computer systems | |
US8464145B2 (en) | Serial interface devices, systems and methods | |
US20040193821A1 (en) | Providing an arrangement of memory devices to enable high-speed data access | |
US8401138B2 (en) | Serial data receiver circuit apparatus and serial data receiving method | |
US20160249070A1 (en) | Methods and apparatus for error rate estimation | |
US10089173B2 (en) | Error detection constants of symbol transition clocking transcoding | |
US20060129722A1 (en) | Low protocol, high speed serial transfer for intra-board or inter-board data communication | |
US11829626B2 (en) | Storage device and operating method of storage device | |
US20220244863A1 (en) | Techniques for performing write training on a dynamic random-access memory | |
US7386626B2 (en) | Bandwidth, framing and error detection in communications between multi-processor clusters of multi-cluster computer systems | |
TWI818274B (en) | Apparatus and method for segmenting a data stream of a physical layer | |
US20230239256A1 (en) | Wide Elastic Buffer | |
TWI735199B (en) | Apparatus and method for segmenting a data stream of a physical layer | |
KR20240112831A (en) | Hybrid memory system with increased bandwidth | |
US10630424B2 (en) | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same | |
US20030112827A1 (en) | Method and apparatus for deskewing parallel serial data channels using asynchronous elastic buffers | |
EP2811483A2 (en) | Methods and apparatus for error rate estimation | |
US6895542B2 (en) | Data recovery circuit and method and data receiving system using the same | |
US20240163010A1 (en) | Operation method for an electronic device and an electronic device capable of performing an advanced line coding | |
TWI645298B (en) | Methods for reducing data error in transceiving of flash storage interface and apparatuses using the same | |
WO2024044867A1 (en) | Data reordering training method and die | |
US10630425B2 (en) | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same | |
US20230254108A1 (en) | System and method for efficient transition encoding |