TWI645298B - Methods for reducing data error in transceiving of flash storage interface and apparatuses using the same - Google Patents
Methods for reducing data error in transceiving of flash storage interface and apparatuses using the same Download PDFInfo
- Publication number
- TWI645298B TWI645298B TW106146237A TW106146237A TWI645298B TW I645298 B TWI645298 B TW I645298B TW 106146237 A TW106146237 A TW 106146237A TW 106146237 A TW106146237 A TW 106146237A TW I645298 B TWI645298 B TW I645298B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- layer
- error
- flash storage
- level
- Prior art date
Links
Landscapes
- Communication Control (AREA)
Abstract
本發明的實施例提出一種降低快閃儲存介面中傳收的資料錯誤方法,由第一端的處理單元執行,包含下列步驟:持續監督從第二端接收的資料訊框以及/或控制訊框;以及當資料訊框以及/或上述控制訊框包含的訊息指出第二端的最底層偵測到接收資料錯誤時,觸發去加重設定調整。 Embodiments of the present invention provide a method for reducing data errors transmitted in a flash storage interface, which is executed by a processing unit at a first end, and includes the following steps: continuously supervising data frames and/or control frames received from the second end And triggering the de-emphasis setting adjustment when the data frame and/or the message contained in the control frame indicates that the bottom layer of the second end detects the received data error.
Description
本發明關連於一種快閃記憶體,特別是一種降低快閃儲存介面中傳收資料錯誤方法以及使用該方法的裝置。 The present invention relates to a flash memory, and more particularly to a method for reducing the error of transmitted data in a flash memory interface and a device using the same.
快閃記憶體裝置通常分為NOR快閃裝置與NAND快閃裝置。NOR快閃裝置為隨機存取裝置,主裝置(host)可於位址腳位上提供存取NOR快閃裝置的任意位址,並即時地由NOR快閃裝置的資料腳位上獲得儲存於該位址上的資料。相反地,NAND快閃裝置並非隨機存取,而是序列存取。NAND快閃裝置無法像NOR快閃裝置一樣,可以存取任何隨機位址,主裝置反而需要寫入序列的位元組(bytes)值到NAND快閃裝置中,用以定義請求命令(command)的類型(如,讀取、寫入、抹除等),以及此命令上的位址。位址可指向一個頁面(在快閃記憶體中的一個寫入作業的最小資料塊)或一個區塊(在快閃記憶體中的一個抹除作業的最小資料塊)。實際上,NAND快閃裝置通常從記憶體單元(memory cells)上讀取或寫入完整的數頁資料。當一整頁的資料從陣列讀取到裝置中的緩存器(buffer)後,藉由使用提取訊號(strobe signal)順序地敲出(clock out)內 容,讓主單元可逐位元組或字元組(words)存取資料。 Flash memory devices are generally classified into NOR flash devices and NAND flash devices. The NOR flash device is a random access device, and the host device can provide any address of the NOR flash device on the address pin, and is instantly stored in the data pin of the NOR flash device. The information on this address. Conversely, NAND flash devices are not random access, but sequential access. The NAND flash device cannot access any random address like the NOR flash device, and the master device needs to write the byte value of the sequence to the NAND flash device to define the request command (command). The type (eg, read, write, erase, etc.) and the address on this command. The address can point to a page (the smallest data block of a write job in flash memory) or a block (the smallest data block of an erase job in flash memory). In fact, NAND flash devices typically read or write complete pages of data from memory cells. When a full page of data is read from the array into a buffer in the device, it is sequentially clocked out by using a strobe signal. Let the main unit access the data bit by bit or word.
快閃記憶體裝置通常包含裝置端及儲存單元,並且以快閃儲存介面連接上主控端。隨著快閃儲存介面的資料傳輸速度越來越快,資料於傳收時更容易發生錯誤。因此,需要一種方法以及使用該方法的裝置,用以降低快閃儲存介面中傳收資料錯誤。 The flash memory device usually includes a device end and a storage unit, and is connected to the main control terminal by a flash storage interface. As the data transfer speed of the flash storage interface becomes faster and faster, data is more prone to errors when transmitted. Therefore, there is a need for a method and apparatus for using the method for reducing transmission data errors in a flash storage interface.
本發明的實施例提出一種降低快閃儲存介面中傳收的資料錯誤方法,由第一端的處理單元執行,包含下列步驟:持續監督從第二端接收的資料訊框以及/或控制訊框;以及當資料訊框以及/或上述控制訊框包含的訊息指出第二端的最底層偵測到接收資料錯誤時,觸發去加重設定調整。 Embodiments of the present invention provide a method for reducing data errors transmitted in a flash storage interface, which is executed by a processing unit at a first end, and includes the following steps: continuously supervising data frames and/or control frames received from the second end And triggering the de-emphasis setting adjustment when the data frame and/or the message contained in the control frame indicates that the bottom layer of the second end detects the received data error.
本發明的實施例提出一種降低快閃儲存介面中傳收資料錯誤的裝置,包含最底層及處理單元。最底層耦接於對應端,處理單元耦接於最底層。處理單元透過最底層持續監督從對應端接收的資料訊框以及/或控制訊框;以及當資料訊框以及/或控制訊框包含的資訊指出對應端的最底層偵測到接收資料錯誤時,觸發去加重設定調整。 Embodiments of the present invention provide an apparatus for reducing transmission data errors in a flash storage interface, including a bottom layer and a processing unit. The bottom layer is coupled to the corresponding end, and the processing unit is coupled to the bottom layer. The processing unit continuously monitors the data frame and/or the control frame received from the corresponding end through the bottom layer; and triggers when the information frame and/or the information contained in the control frame indicates that the bottom layer of the corresponding end detects the received data error. To increase the setting adjustment.
110‧‧‧計算裝置 110‧‧‧ Computing device
130‧‧‧主控端 130‧‧‧Master
131‧‧‧物理層 131‧‧‧ physical layer
133‧‧‧物理轉換層 133‧‧‧Physical conversion layer
135‧‧‧資料連接層 135‧‧‧data connection layer
137‧‧‧處理單元 137‧‧‧Processing unit
150‧‧‧裝置端 150‧‧‧ device side
151‧‧‧物理層 151‧‧‧ physical layer
153‧‧‧物理轉換層 153‧‧‧Physical conversion layer
155‧‧‧資料連接層 155‧‧‧data connection layer
157‧‧‧處理單元 157‧‧‧Processing unit
170‧‧‧存取介面 170‧‧‧Access interface
170_0~170_j存‧‧‧取子介面 170_0~170_ j deposit ‧‧‧ sub-interface
180‧‧‧儲存單元 180‧‧‧ storage unit
180_0_0~180_j_i‧‧‧儲存子單元 180_0_0~180_ j _ i ‧‧‧Storage subunit
310_0‧‧‧資料線 310_0‧‧‧Information line
320_0_0~320_0_i‧‧‧晶片致能控制訊號 320_0_0~320_0_ i ‧‧‧ Chip enable control signal
S411~S457‧‧‧方法步驟 S411~S457‧‧‧ method steps
50‧‧‧資料連接層訊框 50‧‧‧Data Link Layer Frame
51‧‧‧資料訊框 51‧‧‧Information frame
511‧‧‧第0通訊類別資料訊框 511‧‧‧0th Communication Category Information Frame
513‧‧‧第1通訊類別資料訊框 513‧‧‧1st communication category information frame
53‧‧‧控制訊框 53‧‧‧Control frame
533‧‧‧否定應答控制訊框 533‧‧‧Negative response control frame
61‧‧‧RReq比特 61‧‧‧RReq bits
63‧‧‧CCITT CRC-16校驗碼 63‧‧‧CCITT CRC-16 check code
80‧‧‧PACP_GET_req訊框 80‧‧‧PACP_GET_req frame
81‧‧‧MIBattribute欄位 81‧‧‧MIBattribute field
第1圖係依據本發明實施例之快閃記憶體的系統架構示意圖。 1 is a schematic diagram of a system architecture of a flash memory according to an embodiment of the present invention.
第2圖係依據本發明實施例之存取介面與儲存單元的方塊圖。 2 is a block diagram of an access interface and a storage unit in accordance with an embodiment of the present invention.
第3圖係依據本發明實施例之一個存取子介面與多個儲存子單元的連接示意圖。 Figure 3 is a schematic diagram showing the connection of an access sub-interface and a plurality of storage sub-units according to an embodiment of the present invention.
第4圖係依據本發明實施例之運行於高速檔時之去加重設定調整方法的流程圖。 Fig. 4 is a flow chart showing a method of adjusting the de-emphasis setting when operating in a high speed gear according to an embodiment of the present invention.
第5圖係依據本發明實施例之控制及資料訊框的分類樹。 Figure 5 is a classification tree of control and data frames in accordance with an embodiment of the present invention.
第6圖係顯示依據本發明實施例之否定應答控制訊框的資料結構。 Figure 6 is a diagram showing the data structure of a negative response control frame in accordance with an embodiment of the present invention.
第7圖係顯示依據本發明實施例之包含覆寫之否定應答控制訊框的資料訊框的資料結構。 Figure 7 is a diagram showing the data structure of a data frame including an overwritten negative response control frame in accordance with an embodiment of the present invention.
第8圖係顯示依據本發明實施例之PACP_GET_req訊框的資料結構。 Figure 8 is a diagram showing the data structure of a PACP_GET_req frame in accordance with an embodiment of the present invention.
第9圖係依據本發明實施例之運行於高速檔時之去加重設定調整方法的流程圖。 Fig. 9 is a flow chart showing a method of adjusting the de-emphasis setting when operating in a high speed gear according to an embodiment of the present invention.
以下說明係為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。 The following description is a preferred embodiment of the invention, which is intended to describe the basic spirit of the invention, but is not intended to limit the invention. The actual inventive content must be referenced to the scope of the following claims.
必須了解的是,使用於本說明書中的”包含”、”包括”等詞,係用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。 It must be understood that the terms "comprising", "comprising" and "the" are used in the <RTI ID=0.0> </RTI> <RTIgt; </ RTI> to indicate the existence of specific technical features, numerical values, method steps, work processes, components and/or components, but do not exclude Add more technical features, values, method steps, job processing, components, components, or any combination of the above.
於權利要求中使用如”第一”、"第二"、"第三"等詞係用來修飾權利要求中的元件,並非用來表示之間具有優先權 順序,先行關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。 The words "first", "second", and "third" are used in the claims to modify the elements in the claims. Order, precedence, or a component precedes another component, or the chronological order in which the method steps are performed, only to distinguish components with the same name.
第1圖係依據本發明實施例之快閃記憶體的系統架構示意圖。快閃記憶體的系統架構包含裝置端150,並透過通用快閃儲存(UFS,Universal Flash Storage)介面與主控端130溝通。UFS是個快閃儲存規範,用以達成較高的資料傳輸速度及更可靠的快閃記憶儲存,並且不需要因為快閃儲存單元的類型不同而配置不同的轉換器。快閃記憶體可配備於數位相機、行動電話、消費性電子設備等之中。UFS介面可運行於脈波寬度調變檔(PWM,Pulse-Width Modulation gear)及高速檔(HS,High-Speed gear)。脈波寬度調變檔可為0.5Gbps(Gigabits per second)或更低速,而高速檔可為1.4Gbps或更高速。脈波寬度調變檔可稱為低速檔。例如,表1列舉UFS規範所定義不同高速檔(HS-GEARs)的資料速率:
快閃記憶體更包含儲存單元180,並且裝置端150使用存取介面170與儲存單元180溝通,可採用雙倍資料率(double data rate,DDR)通訊協定與儲存單元180溝通,例如,開放NAND快閃(open NAND flash interface,ONFI)、雙倍資料率開關(DDR toggle)或其他介面。裝置端150的處理單元157透過存取介面170寫入資料到儲存單元180中的指定位址,以及從儲存單元180中的指定位址讀取資料。詳細來說,裝置端150的處理單元157透過存取介面170寫入資料到儲存單元180中的指定位址,以及從儲存單元180中的指定位址讀取資料。存取介 面170使用數個電子訊號來協調裝置端150的處理單元與儲存單元180間的資料與命令傳遞,包含資料線(data line)、時脈訊號(clock signal)與控制訊號(control signal)。資料線可用以傳遞命令、位址、讀出及寫入的資料;控制訊號線可用以傳遞晶片致能(chip enable,CE)、位址提取致能(address latch enable,ALE)、命令提取致能(command latch enable,CLE)、寫入致能(write enable,WE)等控制訊號。 The flash memory further includes a storage unit 180, and the device end 150 communicates with the storage unit 180 using the access interface 170, and can communicate with the storage unit 180 by using a double data rate (DDR) protocol, for example, open NAND. Open NAND flash interface (ONFI), double data rate switch (DDR toggle) or other interface. The processing unit 157 of the device end 150 writes the data to the specified address in the storage unit 180 through the access interface 170, and reads the data from the specified address in the storage unit 180. In detail, the processing unit 157 of the device end 150 writes the data to the specified address in the storage unit 180 through the access interface 170, and reads the data from the specified address in the storage unit 180. Access media The face 170 uses a plurality of electronic signals to coordinate data and command transfer between the processing unit of the device end 150 and the storage unit 180, including a data line, a clock signal, and a control signal. The data line can be used to transfer commands, addresses, read and write data; the control signal line can be used to transmit chip enable (CE), address latch enable (ALE), command extraction Control signals such as command latch enable (CLE) and write enable (WE).
儲存單元180可包含多個儲存子單元,每一個儲存子單元實施於一個晶粒(die)上,各自使用關聯的存取子介面與處理單元157進行溝通。第2圖係依據本發明實施例之存取介面與儲存單元的方塊圖。快閃記憶體可包含j+1個存取子介面170_0至170_j,存取子介面又可稱為通道(channel),每一個存取子介面連接i+1個儲存子單元。換句話說,i+1個儲存子單元共享一個存取子介面。例如,當快閃記憶體10包含4個通道(j=3)且每一個通道連接4個儲存單元(i=3)時,快閃記憶體一共擁有16個儲存單元180_0_0至180_j_i。處理單元157可驅動存取子介面170_0至170_j中之一者,從指定的儲存子單元讀取資料。每個儲存子單元擁有獨立的晶片致能(CE)控制訊號。換句話說,當欲對指定的儲存子單元進行資料讀取時,需要驅動關聯的存取子介面致能此儲存子單元的晶片致能控制訊號。第3圖係依據本發明實施例之一個存取子介面與多個儲存子單元的連接示意圖。處理單元157可透過存取子介面170_0使用獨立的晶片致能控制訊號320_0_0至320_0_i來從連接的儲存子單元180_0_0至180_0_i中選擇出其中一者,接著,透過共享的資料 線310_0從選擇出的儲存子單元的指定位置讀取資料。 The storage unit 180 can include a plurality of storage subunits, each of which is implemented on a die, each communicating with the processing unit 157 using an associated access sub-interface. 2 is a block diagram of an access interface and a storage unit in accordance with an embodiment of the present invention. The flash memory may include j + 1 access sub-interfaces 170_0 to 170_ j , the access sub-interfaces may also be referred to as channels, and each access sub-interface is connected to i + 1 storage sub-units. In other words, i + 1 storage subunits share an access subinterface. For example, when the flash memory 10 comprises four channels (j = 3) and each channel connected to a storage unit 4 (i = 3), flash memory has a total of 16 storage units 180_0_0 to 180_ j _ i. The processing unit 157 may drive the sub-access interface 170_0 to 170_ j by one of read data from the specified storage subunit. Each storage subunit has an independent wafer enable (CE) control signal. In other words, when data reading is to be performed on a specified storage subunit, it is necessary to drive the associated access subinterface to enable the wafer enable control signal of the storage subunit. Figure 3 is a schematic diagram showing the connection of an access sub-interface and a plurality of storage sub-units according to an embodiment of the present invention. The processing unit 157 may be accessed through the use of separate sub-wafer interface 170_0 enable control signal to 320_0_0 320_0_ i selects from the storage sub-unit connected to 180_0_ i 180_0_0 wherein one out, then, through the sharing of data lines from the selector 310_0 Read the data at the specified location of the storage subunit.
主控端130的處理單元137可使用存取介面120透過指定通訊協定與計算裝置110進行溝通,例如,通用序列匯流排(universal serial bus,USB)、先進技術附著(advanced technology attachment,ATA)、序列先進技術附著(serial advanced technology attachment,SATA)、快速周邊元件互聯(peripheral component interconnect express,PCI-E)或其他介面。 The processing unit 137 of the host 130 can communicate with the computing device 110 through the designated communication protocol using the access interface 120, for example, a universal serial bus (USB), an advanced technology attachment (ATA), Serial advanced technology attachment (SATA), peripheral component interconnect express (PCI-E) or other interface.
主控端130及裝置端150各自包含UFS互聯層(UIC,UFS InterConnect layer)。UFS互聯層是UFS分層架構的最底層,管理主控端130及裝置端150間的連接。主控端130的UFS互聯層可包含物理層(PHY,L1 layer)131、物理轉換層(physical adapter,L1.5 layer)133及資料連接層(data link,L2 layer)135。裝置端150的UFS互聯層可包含物理層151、物理轉換層153及資料連接層155。物理層131及151中之每一者可包含差動輸出對,如圖1的TXP及TXN,用以傳送資料至對應端,以及差動輸入對,如圖1的RXP及RXN,用以從對應端接收資料。例如,主控端130的物理層131可透過差動輸出對傳送資料至裝置端150,以及透過差動輸入對從裝置端150接收資料。反面來說,裝置端150的物理層131可透過差動輸出對傳送資料至主控端130,以及透過差動輸入對從主控端130接收資料。 The host 130 and the device 150 each include a UFS InterConnect layer (UIC). The UFS interconnect layer is the lowest layer of the UFS layered architecture, and manages the connection between the host 130 and the device 150. The UFS interconnect layer of the host 130 may include a physical layer (PHY, L1 layer) 131, a physical adapter (L1.5 layer) 133, and a data link (L2 layer) 135. The UFS interconnect layer of the device end 150 may include a physical layer 151, a physical conversion layer 153, and a data connection layer 155. Each of the physical layers 131 and 151 may include a differential output pair, such as TXP and TXN of FIG. 1, for transmitting data to the corresponding end, and a differential input pair, such as RXP and RXN of FIG. The corresponding end receives the data. For example, the physical layer 131 of the host 130 can transmit data to the device end 150 through the differential output pair and receive data from the device terminal 150 through the differential input pair. Conversely, the physical layer 131 of the device end 150 can transmit data to the host 130 through the differential output pair and receive data from the host 130 through the differential input pair.
當主控端130及裝置端150運行在高速檔時,可能因多重反射的現象發生符元干擾(ISI,Intersymbol Interference)。主控端130及裝置端150中之任一者(亦可稱為傳 送端)運行在高速檔時,可透過其最底層(例如,UFS互聯層)持續監督從對應端接收的資料訊框以及/或控制訊框,並且,當資料訊框以及/或控制訊框包含的資訊指出對應端的最底層(例如,UFS互聯層)運行於高速檔時偵測到接收資料錯誤時,觸發去加重(de-emphasis)設定調整,用以降低多重反射的現象。例如,主控端130可持續監督從裝置端150接收的資料訊框以及/或控制訊框,並且,當資料訊框以及/或控制訊框指出裝置端150的最底層運行於高速檔時偵測到接收資料錯誤時,觸發去加重設定調整,反之亦然。預設條件指對應端的UFS互聯層運行於高速檔時偵測到接收資料錯誤。去加重(de-emphasis)設定可調整為0dB、3.5dB或6dB。第4圖係依據本發明實施例之運行於高速檔時之去加重設定調整方法的流程圖。此方法由處理單元137或157於載入並執行特定微碼或軟體指令時實施。去加重可使用硬體電路實施於傳送端的實體層之中,降低高頻的量值以對應其他頻率的量值,藉由最小化如衰減差異(attenuation differences)或記錄介質過飽和(saturation of recording media)等情況的負面影響來提升整體訊噪比(signal-to-noise ratio)。此方法可實施於主控端130的處理單元137或裝置端150的處理單元157,統稱為傳送端的處理單元。傳送端的處理單元可為通用處理器(general-purpose processor)、微控制器(microcontroller)、微控制器單元(MCU,microcontroller unit)等。當傳送端的處理單元從傳送端的非揮發性記憶體(non-volatile memory)載入並執行相關韌體時實施去加重設定調整方法。傳送端的處理單元可持續監督透過差動輸入對從另 一端(或可稱為對應端或接收端)接收的資料訊框(data frames)或控制訊框(control frames),並且判斷是否接收到相應於之前傳送資料的資料連接層的否定應答控制訊框(NAC,negative acknowledgement control frame)(步驟S411)。第5圖係依據本發明實施例之控制及資料訊框的分類樹。資料連接層訊框50包含二類:資料訊框(TCx)51及控制訊框53。資料訊框51可更分為二類:第0通訊類別資料訊框(TC0,Trraffic Class 0 Data Frames);及第1通訊類別資料訊框(TC1,Trraffic Class 0 Data Frames)。控制訊框家族53包含可被傳送端的邏輯(硬體電路)辨識或解析的否定應答控制訊框533。當對應端於任何訊框中偵測到錯誤或接收到具有錯誤的訊框序號(FSN,Frame Sequence Number)的資料訊框時,傳送否定應答控制訊框533給傳送端。第6圖係顯示依據本發明實施例之否定應答控制訊框的資料結構。否定應答控制訊框533的長度為2個符號(symbols),而每個符號為16比特。否定應答控制訊框533包含RReq比特(第0個符號的第0比特),用以請求傳送端重新初始其物理層中的傳送部分。否定應答控制訊框533可使用CCITT CRC-16校驗碼63保護(第1個符號)。第7圖係顯示依據本發明實施例之包含覆寫之否定應答控制訊框的資料訊框的資料結構。於另一些實施例中,否定應答控制訊框533可覆寫多份DL_SDU位元組中之一者而乘載於資料訊框511或513中。 When the master terminal 130 and the device terminal 150 are operating at a high speed, an interference (ISI, Intersymbol Interference) may occur due to the phenomenon of multiple reflection. Any one of the main control terminal 130 and the device terminal 150 (also referred to as a transmission When the high-end file is running, the data frame and/or control frame received from the corresponding end can be continuously supervised through the bottom layer (for example, the UFS interconnect layer), and when the data frame and/or the control frame are The information contained indicates that the bottom layer of the corresponding end (for example, the UFS interconnect layer) triggers de-emphasis setting adjustment when detecting the received data error when running at high speed to reduce the phenomenon of multiple reflection. For example, the host 130 can continuously monitor the data frame and/or the control frame received from the device end 150, and when the data frame and/or the control frame indicates that the lowest layer of the device end 150 is running at the high speed file, When the received data error is detected, the trigger de-emphasis setting adjustment is triggered, and vice versa. The preset condition means that the UFS interconnect layer at the corresponding end detects the received data error when running on the high speed file. The de-emphasis setting can be adjusted to 0dB, 3.5dB or 6dB. Fig. 4 is a flow chart showing a method of adjusting the de-emphasis setting when operating in a high speed gear according to an embodiment of the present invention. This method is implemented by processing unit 137 or 157 when loading and executing a particular microcode or software instruction. De-emphasis can be implemented in the physical layer of the transmitting end using a hardware circuit, reducing the magnitude of the high frequency to correspond to the magnitude of other frequencies, by minimizing attenuation differences or saturation of recording media. ) The negative effects of the situation to improve the overall signal-to-noise ratio. This method can be implemented in the processing unit 137 of the host 130 or the processing unit 157 of the device end 150, which is collectively referred to as a processing unit at the transmitting end. The processing unit of the transmitting end may be a general-purpose processor, a microcontroller, a microcontroller unit (MCU), or the like. The de-emphasis setting adjustment method is implemented when the processing unit at the transmitting end loads and executes the relevant firmware from the non-volatile memory of the transmitting end. The processing unit at the transmitting end can continuously monitor the differential input through the pair A data frame or control frame received at one end (or may be referred to as a corresponding end or a receiving end), and determining whether a negative response control frame corresponding to the data connection layer of the previously transmitted data is received (NAC, negative acknowledgement control frame) (step S411). Figure 5 is a classification tree of control and data frames in accordance with an embodiment of the present invention. The data connection layer frame 50 includes two types: a data frame (TCx) 51 and a control frame 53. The information frame 51 can be further divided into two categories: a 0th communication category data frame (TC0, Trraffic Class 0 Data Frames); and a first communication category data frame (TC1, Trraffic Class 0 Data Frames). The control frame family 53 contains a negative acknowledgement control frame 533 that can be recognized or parsed by the logic (hardware circuitry) of the transmitting end. When the corresponding end detects an error in any frame or receives a data frame with an incorrect frame sequence number (FSN), a negative acknowledgement control frame 533 is transmitted to the transmitting end. Figure 6 is a diagram showing the data structure of a negative response control frame in accordance with an embodiment of the present invention. The length of the negative response control frame 533 is 2 symbols, and each symbol is 16 bits. The negative acknowledgement control frame 533 contains RReq bits (bit 0 of the 0th symbol) for requesting the transmitting end to reinitialize the transmitted portion in its physical layer. The negative acknowledgement control frame 533 can be protected (the first symbol) using the CCITT CRC-16 check code 63. Figure 7 is a diagram showing the data structure of a data frame including an overwritten negative response control frame in accordance with an embodiment of the present invention. In other embodiments, the negative acknowledgement control frame 533 can overwrite one of the plurality of DL_SDU bytes and be carried in the data frame 511 or 513.
由於對應端偵測到先前傳送的資料有錯誤的原因不一定是因為UFS互聯層運行於高速檔而造成,所以需要進一步檢查,避免進行沒有用的去加重設定調整。參考第4圖。當
接收到相應於之前傳送資料的資料連接層的否定應答控制訊框(NAC,negative acknowledgement control frame)(步驟S411中”是”的路徑),傳送端的處理單元發送請求給對應端,用以請求關聯於否定應答控制訊框的可能原因,並且從對應端接收回覆(response)(步驟S413)。此請求可為UFS規範中定義的PACP_GET_req。第8圖係顯示依據本發明實施例之PACP_GET_req訊框的資料結構。PACP_GET_req訊框80包含MIBattribute欄位(第2個符號)81,定義欲存取對應端中的哪些屬性(Attributes)。請求中的MIBattribute欄位定義欲存取對應端中的錯誤碼。回覆中可包含錯誤碼,指出對應端於資料連接層中發生的錯誤事件的錯誤類型。於一些實施例中,錯誤碼可乘載於DL_LM_SAP狀態基元(status primitive)中的DLErrorCode列舉(Enumeration)。表1列出DL_LM_SAP狀態基元的參數範例:
參考第4圖。當從對應端接收回覆後(步驟S413),傳送端的處理單元判斷對應端的最底層是否發生循環冗餘校驗錯誤或符號錯誤(步驟S431)。由於對應端發生的錯誤可能只是偶然發生,因此傳送端的處理單元可維護比特錯誤率計數器(BER,Bit Error Rate counter),初始為1,用以記錄對應端發生循環冗餘校驗錯誤或符號錯誤的次數,並且於偵測到對應端發生循環冗餘校驗錯誤或符號錯誤至少二次之後再進行去加重設定調整。當對應端發生循環冗餘校驗錯誤或符號錯誤時(步驟S431中”是”的路徑),傳送端的處理單元更判斷比特錯誤率計數器的值是否到達或高於預設閥值(例如,2至10間的任意整數)(步驟S433)。當比特錯誤率計數器的值低於預設閥值時(步驟S433中”否”的路徑),比特錯誤率計數器的值加1(步驟S451),並進行下一次否定應答控制訊框的判斷(步驟S411)。當 比特錯誤率計數器的值到達或高於預設閥值時(步驟S433中”是”的路徑),傳送端的處理單元調整傳送端中實體層的去加重設定,用以讓後續資料訊框以新的去加重設定進行傳送(步驟S435、S437、S453、S455及S457)。詳細的去加重設定調整,描述如下:當傳送端的實體層的目前去加重設定處於第一水平(步驟S435中”是”的路徑),傳送端的處理單元驅動傳送端的實體層,用以調整去加重設定至第二水平(步驟S453)。當傳送端的實體層的目前去加重設定處於第二水平(步驟S435中”否”的路徑接著步驟S437中”是”的路徑),傳送端的處理單元驅動傳送端的實體層,用以調整去加重設定至第三水平(步驟S455)。當傳送端的實體層的目前去加重設定處於第三水平(步驟S435中”否”的路徑接著步驟S437中”否”的路徑),傳送端的處理單元驅動傳送端的實體層,用以調整去加重設定至第一水平(步驟S455)。其中,第一水平低於第二水平,及第二水平低於第三水平。於一些實施例中,第一水平為0dB,第二水平為3.5dB,及第三水平為6dB。於此須注意的是,傳送端的實體層的去加重設定處於較高水平時所傳送資料的高頻量值的降低程度大於傳送端的實體層的去加重設定處於較低水平時。於此另須注意的是,當目前傳送端的實體層的目前去加重設定處於第三水平時,傳送端的實體層的去加重設定無須再進一步調整,反而需要調整去加重以外的參數來提升於高速檔時的傳輸可靠性。於此須注意的是,步驟S453、S455及S457中之每一者於執行時更將比特錯誤率計數器的值重設為1。 Refer to Figure 4. After receiving the reply from the corresponding end (step S413), the processing unit at the transmitting end determines whether a cyclic redundancy check error or a symbol error has occurred at the lowest layer of the corresponding end (step S431). Since the error occurring at the corresponding end may only occur by chance, the processing unit at the transmitting end can maintain a Bit Error Rate Counter (BER), which is initially 1 to record a cyclic redundancy check error or a symbol error at the corresponding end. The number of times, and the de-emphasis setting adjustment is performed after detecting that the corresponding terminal has a cyclic redundancy check error or a symbol error at least twice. When a cyclic redundancy check error or a symbol error occurs at the corresponding end (the path of YES in step S431), the processing unit at the transmitting end further determines whether the value of the bit error rate counter reaches or is higher than a preset threshold (for example, 2) Any integer to 10) (step S433). When the value of the bit error rate counter is lower than the preset threshold (the path of NO in step S433), the value of the bit error rate counter is incremented by one (step S451), and the judgment of the next negative response control frame is performed ( Step S411). when When the value of the bit error rate counter reaches or exceeds the preset threshold ("YES" in step S433), the processing unit at the transmitting end adjusts the de-emphasis setting of the physical layer in the transmitting end to make the subsequent data frame new. The de-emphasis setting is transmitted (steps S435, S437, S453, S455, and S457). The detailed de-emphasis setting adjustment is described as follows: when the current de-emphasis setting of the physical layer of the transmitting end is at the first level ("YES" path in step S435), the processing unit at the transmitting end drives the physical layer of the transmitting end to adjust the de-emphasis. Set to the second level (step S453). When the current de-emphasis setting of the physical layer of the transmitting end is at the second level (the path of NO in step S435 follows the path of YES in step S437), the processing unit at the transmitting end drives the physical layer of the transmitting end to adjust the de-emphasis setting. Up to the third level (step S455). When the current de-emphasis setting of the physical layer of the transmitting end is at the third level (the path of NO in step S435 follows the path of "NO" in step S437), the processing unit at the transmitting end drives the physical layer of the transmitting end to adjust the de-emphasis setting. Up to the first level (step S455). Wherein the first level is lower than the second level and the second level is lower than the third level. In some embodiments, the first level is 0 dB, the second level is 3.5 dB, and the third level is 6 dB. It should be noted here that when the de-emphasis setting of the physical layer of the transmitting end is at a higher level, the high-frequency magnitude of the transmitted data is reduced more than when the de-emphasis setting of the physical layer of the transmitting end is at a lower level. It should be noted that when the current de-emphasis setting of the physical layer of the transmitting end is at the third level, the de-emphasis setting of the physical layer of the transmitting end does not need further adjustment, but instead needs to adjust the parameters other than de-emphasis to improve the high speed. Transmission reliability at the time of the file. It should be noted here that each of steps S453, S455 and S457 resets the value of the bit error rate counter to 1 when executed.
第9圖係依據本發明實施例之運行於高速檔時之 去加重設定調整方法的流程圖。整體而言,第9圖的流程相較於第4圖的流程省略了比特錯誤率計數器的維護,也就是說,缺少了步驟S433及步驟S451。詳細來說,當從對應端接收到相應於之前傳送資料的資料連接層的否定應答控制訊框,及偵測到對應端發生循環冗餘校驗錯誤或符號錯誤時(步驟S411中”是”的路徑接著步驟S431中”是”的路徑),傳送端的處理單元調整傳送端中實體層的去加重設定,用以讓後續資料訊框以新的去加重設定進行傳送(步驟S435、S437、S453、S455及S457)。 Figure 9 is a diagram of the operation of the high speed gear according to an embodiment of the present invention. To increase the flow chart of the adjustment method. Overall, the flow of Fig. 9 omits the maintenance of the bit error rate counter compared to the flow of Fig. 4, that is, step S433 and step S451 are missing. In detail, when a negative response control frame corresponding to the data connection layer of the previously transmitted data is received from the corresponding end, and a cyclic redundancy check error or a symbol error is detected at the corresponding end ("YES" in step S411" The path follows the path of "Yes" in step S431. The processing unit at the transmitting end adjusts the de-emphasis setting of the physical layer in the transmitting end, so that the subsequent data frame is transmitted with the new de-emphasis setting (steps S435, S437, S453). , S455 and S457).
雖然第1至3圖中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然第4圖及第9圖的流程圖採用指定的順序來執行,但是在不違反發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。 Although the above-described elements are included in FIGS. 1 to 3, it is not excluded that more other additional elements are used without departing from the spirit of the invention, and a better technical effect has been achieved. In addition, although the flowcharts of FIGS. 4 and 9 are executed in a specified order, without departing from the spirit of the invention, those skilled in the art can modify the order among the steps while achieving the same effect. Therefore, the present invention is not limited to the use of only the order as described above. In addition, those skilled in the art may also integrate several steps into one step, or in addition to these steps, performing more steps sequentially or in parallel, and the present invention is not limited thereby.
雖然本發明使用以上實施例進行說明,但需要注意的是,這些描述並非用以限縮本發明。相反地,此發明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權利要求範圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置。 Although the present invention has been described using the above embodiments, it should be noted that these descriptions are not intended to limit the invention. On the contrary, this invention covers modifications and similar arrangements that are apparent to those skilled in the art. Therefore, the scope of the claims should be interpreted in the broadest form to include all obvious modifications and similar arrangements.
Claims (20)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810530379.5A CN109213623B (en) | 2017-06-30 | 2018-05-29 | Method and apparatus for reducing errors in data transmission and reception in flash memory interface |
US16/013,091 US10637509B2 (en) | 2017-06-30 | 2018-06-20 | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762527177P | 2017-06-30 | 2017-06-30 | |
US62/527,177 | 2017-06-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI645298B true TWI645298B (en) | 2018-12-21 |
TW201905722A TW201905722A (en) | 2019-02-01 |
Family
ID=65432199
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106146237A TWI645298B (en) | 2017-06-30 | 2017-12-28 | Methods for reducing data error in transceiving of flash storage interface and apparatuses using the same |
TW106146501A TWI654526B (en) | 2017-06-30 | 2017-12-29 | Methods for reducing data error in transceiving of flash storage interface and apparatuses using the same |
TW106146500A TWI649756B (en) | 2017-06-30 | 2017-12-29 | Methods for reducing data error in transceiving of flash storage interface and apparatuses using the same |
TW106146502A TWI654517B (en) | 2017-06-30 | 2017-12-29 | Methods for reducing data error in transceiving of flash storage interface and apparatuses using the same |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106146501A TWI654526B (en) | 2017-06-30 | 2017-12-29 | Methods for reducing data error in transceiving of flash storage interface and apparatuses using the same |
TW106146500A TWI649756B (en) | 2017-06-30 | 2017-12-29 | Methods for reducing data error in transceiving of flash storage interface and apparatuses using the same |
TW106146502A TWI654517B (en) | 2017-06-30 | 2017-12-29 | Methods for reducing data error in transceiving of flash storage interface and apparatuses using the same |
Country Status (1)
Country | Link |
---|---|
TW (4) | TWI645298B (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1825817A (en) * | 2005-01-31 | 2006-08-30 | 美国博通公司 | Method with in-access long-distance link associated management registers and communication network |
US20120113732A1 (en) * | 2010-11-09 | 2012-05-10 | Samsung Electronics Co., Ltd. | Pseudo-open drain type output driver having de-emphasis function, semiconductor memory device, and control method thereof |
TW201405562A (en) * | 2012-06-26 | 2014-02-01 | Lsi Corp | Fast tracking for flash channels |
US20140156924A1 (en) * | 2012-12-04 | 2014-06-05 | SK Hynix Inc. | Semiconductor memory device with improved operating speed and data storage device including the same |
US20140310536A1 (en) * | 2013-04-16 | 2014-10-16 | Qualcomm Incorporated | Storage device assisted inline encryption and decryption |
US9203391B2 (en) * | 2014-04-22 | 2015-12-01 | Qualcomm Incorporated | Pulse-width modulation data decoder |
CN106850476A (en) * | 2017-02-24 | 2017-06-13 | 合肥兆芯电子有限公司 | Balanced device method of adjustment, applicable equalizer and memory storage apparatus |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8127200B2 (en) | 2006-12-24 | 2012-02-28 | Sandisk Il Ltd. | Flash memory device and system with randomizing for suppressing errors |
US8566676B2 (en) | 2007-01-05 | 2013-10-22 | Qualcomm Incorporated | FEC code and code rate selection based on packet size |
US8144608B2 (en) * | 2007-01-22 | 2012-03-27 | Broadcom Corporation | Method and system for medium access control (MAC) rate selection |
KR101686980B1 (en) | 2011-03-02 | 2016-12-16 | 샌디스크 테크놀로지스 엘엘씨 | Method of data storage in non-volatile memory |
US8914696B2 (en) | 2012-08-29 | 2014-12-16 | Seagate Technology Llc | Flash memory read scrub and channel tracking |
US9116824B2 (en) | 2013-03-15 | 2015-08-25 | Sandisk Technologies Inc. | System and method to reduce read latency of a data storage device |
TWI509624B (en) | 2013-07-01 | 2015-11-21 | Asolid Technology Co Ltd | Flash memory apparatus, memory controller and method for controlling flash memory |
KR20150014002A (en) * | 2013-07-25 | 2015-02-06 | 삼성전자주식회사 | Storage system including data transfer speed manager and data method for changing data transfer speed thereof |
KR102268699B1 (en) * | 2015-06-29 | 2021-06-28 | 삼성전자주식회사 | Operation method of storage device, operation method of host device, and operation method of user system including storage device and host device |
US10101763B2 (en) * | 2015-07-29 | 2018-10-16 | Sandisk Technologies Inc. | Interface adjustment processes for a data storage device |
CN105761753A (en) | 2016-02-02 | 2016-07-13 | 清华大学 | Data scrambler/descrambler, memory device and scrambling/descrambling method |
CN105786749B (en) | 2016-03-16 | 2018-08-07 | 山东华芯半导体有限公司 | A kind of double channel A TA agreement bridge-sets based on NAND FLASH interfaces |
-
2017
- 2017-12-28 TW TW106146237A patent/TWI645298B/en active
- 2017-12-29 TW TW106146501A patent/TWI654526B/en active
- 2017-12-29 TW TW106146500A patent/TWI649756B/en active
- 2017-12-29 TW TW106146502A patent/TWI654517B/en active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1825817A (en) * | 2005-01-31 | 2006-08-30 | 美国博通公司 | Method with in-access long-distance link associated management registers and communication network |
US20120113732A1 (en) * | 2010-11-09 | 2012-05-10 | Samsung Electronics Co., Ltd. | Pseudo-open drain type output driver having de-emphasis function, semiconductor memory device, and control method thereof |
TW201405562A (en) * | 2012-06-26 | 2014-02-01 | Lsi Corp | Fast tracking for flash channels |
US20140156924A1 (en) * | 2012-12-04 | 2014-06-05 | SK Hynix Inc. | Semiconductor memory device with improved operating speed and data storage device including the same |
US20140310536A1 (en) * | 2013-04-16 | 2014-10-16 | Qualcomm Incorporated | Storage device assisted inline encryption and decryption |
US9203391B2 (en) * | 2014-04-22 | 2015-12-01 | Qualcomm Incorporated | Pulse-width modulation data decoder |
CN106850476A (en) * | 2017-02-24 | 2017-06-13 | 合肥兆芯电子有限公司 | Balanced device method of adjustment, applicable equalizer and memory storage apparatus |
Also Published As
Publication number | Publication date |
---|---|
TWI654517B (en) | 2019-03-21 |
TW201905692A (en) | 2019-02-01 |
TWI654526B (en) | 2019-03-21 |
TW201905722A (en) | 2019-02-01 |
TW201905723A (en) | 2019-02-01 |
TW201905933A (en) | 2019-02-01 |
TWI649756B (en) | 2019-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10992580B2 (en) | Ingress rate limiting in order to reduce or prevent egress congestion | |
US9104793B2 (en) | Method and system of adapting communication links to link conditions on a platform | |
CN101473612B (en) | Adaptive speed control for MAC-PHY interfaces | |
US10637509B2 (en) | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same | |
CN108062285A (en) | A kind of access method of NVMe storage devices and NVMe storage devices | |
JP2012048707A (en) | Method and apparatus for improving performance in serial advanced technology attachment | |
JP6746791B2 (en) | Clock gating enable generation | |
JP2009169939A (en) | Adjustment of data transfer rate of serial interface type large capacity storage device | |
US8832499B2 (en) | Methods and structure for trapping requests directed to hardware registers of an electronic circuit | |
CN107066418A (en) | A kind of SATA protocol power-up initializing control method and controller based on FPGA | |
TWI645298B (en) | Methods for reducing data error in transceiving of flash storage interface and apparatuses using the same | |
US20190007160A1 (en) | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same | |
US10630424B2 (en) | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same | |
CN109213623B (en) | Method and apparatus for reducing errors in data transmission and reception in flash memory interface | |
KR102482527B1 (en) | Method for operating of storage device using serial interface and method for operating data processing system including same | |
CN113495849A (en) | Data stream cutting device and method for physical layer | |
CN109213624B (en) | Method and apparatus for reducing errors in data transmission and reception in flash memory interface | |
CN109213436B (en) | Method and apparatus for reducing errors in data transmission and reception in flash memory interface | |
CN109213625B (en) | Method and apparatus for reducing errors in data transmission and reception in flash memory interface | |
US9311045B2 (en) | Elastic buffer module and elastic buffering method for transmission interface | |
WO2022179368A1 (en) | Method for optimizing flash memory chip and related device | |
TWI735199B (en) | Apparatus and method for segmenting a data stream of a physical layer | |
TWI818274B (en) | Apparatus and method for segmenting a data stream of a physical layer | |
US20240089886A1 (en) | Method for lane synchronization for an interconnection protocol, controller, and storage device | |
TW202125256A (en) | Temperature control method and data storage system |