TWI649756B - 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
- TWI649756B TWI649756B TW106146500A TW106146500A TWI649756B TW I649756 B TWI649756 B TW I649756B TW 106146500 A TW106146500 A TW 106146500A TW 106146500 A TW106146500 A TW 106146500A TW I649756 B TWI649756 B TW I649756B
- Authority
- TW
- Taiwan
- Prior art keywords
- level
- data
- transmission rate
- data transmission
- error
- 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 data transmission rate setting adjustment when the data frame and/or the control frame includes a message indicating 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 data transmission rate setting adjustment when the data frame and/or the control frame includes a message indicating 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. Data transfer rate 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 ‧‧‧Access subinterface
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~S499‧‧‧方法步驟 S411~S499‧‧‧ 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.
第4A至4B圖係依據本發明實施例之運行於低速檔時之資料傳輸率設定調整方法的流程圖。 4A to 4B are flowcharts of a data transmission rate setting adjustment method when operating at a low speed 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.
第9A至9B圖係依據本發明實施例之運行於低速檔時之資料傳輸率設定調整方法的流程圖。 9A to 9B are flowcharts of a data transmission rate setting adjustment method when operating at a low speed 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)。脈波寬度調變檔可為1Gbps(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個儲存子單元共享一個存取子介面。例如,當快閃記憶體包含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 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中之每一者(亦可稱為傳送端)於運行在高速檔時,可透過其最底層(例如,UFS互聯層)持續監督從對應端接收的資料訊框以及/或控制訊框,並且,當 資料訊框以及/或控制訊框包含的資訊指出對應端的最底層(例如,UFS互聯層)運行於低速檔時偵測到接收資料錯誤時,觸發資料傳輸率設定調整。例如,主控端130可持續監督從裝置端150接收的資料訊框以及/或控制訊框,並且,當資料訊框以及/或控制訊框指出裝置端150的最底層運行於低速檔時偵測到接收資料錯誤時,觸發資料傳輸率設定調整,反之亦然。預設條件指對應端的UFS互聯層運行於低速檔時偵測到接收資料錯誤。第4圖係依據本發明實施例之運行於低速檔時之資料傳輸率設定調整方法的流程圖。此方法由處理單元137或157於載入並執行特定微碼或軟體指令時實施。脈波寬度調變可使用硬體電路實施於傳送端的實體層之中,用以將訊息編碼為脈衝訊號(pulsing signal)。傳送端的實體層可調整脈衝訊號的頻率,用以獲得更高或更低的資料傳輸率。此方法可實施於主控端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中。 Each of the main control unit 130 and the device end 150 (also referred to as a transmitting end) can continuously monitor the data frame received from the corresponding end through the bottom layer (for example, the UFS interconnect layer) when running at the high speed file. And/or control frames, and when The data frame and/or the control frame contain information indicating that the bottom layer of the corresponding end (for example, the UFS interconnect layer) triggers the data transmission rate setting adjustment when detecting a received data error when running at a low speed. For example, the host 130 can continuously monitor the data frame and/or control frame received from the device end 150, and when the data frame and/or control frame indicates that the lowest layer of the device end 150 is running at a low speed, When the received data error is detected, the data transmission rate setting adjustment is triggered, and vice versa. The preset condition means that the UFS interconnect layer at the corresponding end detects a received data error when running at a low speed. Fig. 4 is a flow chart showing a method of adjusting a data transmission rate setting when operating at a low speed in accordance with 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. The pulse width modulation can be implemented in the physical layer of the transmitting end using a hardware circuit for encoding the message into a pulse signal. The physical layer of the transmitting end can adjust the frequency of the pulse signal to obtain a higher or lower data transmission rate. 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 data transmission rate 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 data frames or control frames received from the other end (or may be referred to as the corresponding end or the receiving end) through the differential input, and determine whether the corresponding information is received. The negative acknowledgement control frame (NAC) of the data connection layer of the previous data is transmitted (step S411). Figure 5 is a classification tree of control and data frames in accordance with an embodiment of the present invention. Data link The 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狀態基元的參數範例:
參考第4A至4B圖。當從對應端接收回覆後(步驟S413),傳送端的處理單元判斷對應端的最底層是否發生循環冗餘校驗錯誤或符號錯誤(步驟S431)。由於對應端發生的錯誤可能只是偶然發生,因此傳送端的處理單元可維護比特錯誤率計數器(BER,Bit Error Rate counter),初始為1,用以記錄對應端發生循環冗餘校驗錯誤或符號錯誤的次數,並且於偵測到對應端發生循環冗餘校驗錯誤或符號錯誤至少二次之後再進行資料傳輸率設定調整。當對應端發生循環冗餘校驗錯誤或符號錯誤時(步驟S431中”是”的路徑),傳送端的處理單元更判斷比特錯誤率計數器的值是否到達或高於預設閥值(例如,2至10間的任意整數)(步驟S433)。當比特錯誤率計數器的值低於預設閥值時(步驟S433中”否”的路徑),比特錯誤率計數器的值加1(步驟S451),並進行下一次否定應答控制訊框的判斷(步驟S411)。當比特錯誤率計數器的值到達或高於預設閥值時(步驟S433中”是”的路徑),傳送端的處理單元調整傳送端中實體層的資料傳輸率設定,用以讓後續資料訊框以新的資料傳輸率設定進行傳送(步驟S435、S437、S453、S455及S457)。詳細的資料傳輸率設定調整,描述如下:當傳送端的實體層的目前資料傳輸 率設定處於第一水平(依序沿著步驟S471中”否”的路徑、步驟S473中”否”的路徑及步驟S475中”否”的路徑),傳送端的處理單元驅動傳送端的實體層,用以調整資料傳輸率設定至第二水平(步驟S499)。當傳送端的實體層的目前資料傳輸率設定處於第二水平(依序沿著步驟S471中”否”的路徑、步驟S473中”否”的路徑及步驟S475中”是”的路徑),傳送端的處理單元驅動傳送端的實體層,用以調整資料傳輸率設定至第三水平(步驟S497)。當傳送端的實體層的目前資料傳輸率設定處於第三水平(步驟S471中”是”的路徑),傳送端的處理單元驅動傳送端的實體層,用以調整資料傳輸率設定至第四水平(步驟S491)。當傳送端的實體層的目前資料傳輸率設定處於第四水平(依序沿著步驟S471中”否”的路徑、步驟S473中”是”的路徑及步驟S477中”否”的路徑),傳送端的處理單元驅動傳送端的實體層,用以調整資料傳輸率設定至第五水平(步驟S495)。當傳送端的實體層的目前資料傳輸率設定處於第五水平(依序沿著步驟S471中”否”的路徑、步驟S473中”是”的路徑及步驟S477中”是”的路徑),傳送端的處理單元驅動傳送端的實體層,用以調整資料傳輸率設定至第一水平(步驟S493)。其中,第一水平高於第二水平,第二水平高於第三水平,第三水平高於第四水平,及第四水平高於第五水平。於一些實施例中,第一水平為最大資料傳輸率x60%,第二水平為最大資料傳輸率x55%,第三水平為最大資料傳輸率x50%,第四水平為最大資料傳輸率x45%,及第五水平為最大資料傳輸率x40%。於此須注意的是,傳送端的實體層的資料傳輸率設定處於較高水平所傳送資料的資料量 於單位時間(例如,一秒)高於傳送端的實體層的資料傳輸率設定處於較低水平時。於此另須注意的是,當目前傳送端的實體層的目前資料傳輸率設定處於第五水平時,傳送端的實體層的資料傳輸率設定無須再進一步調整,反而需要調整資料傳輸率以外的參數來提升於低速檔時的傳輸可靠性。於此須注意的是,步驟S491、S493、S495、S497及S499中之每一者可更重設比特錯誤率計數器的值為1。 Refer to Figures 4A through 4B. 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 data transmission rate setting adjustment is performed after detecting that the corresponding side 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 the value of the bit error rate counter reaches or exceeds the preset threshold ("YES" path in step S433), the processing unit at the transmitting end adjusts the data transmission rate setting of the physical layer in the transmitting end for the subsequent data frame. The transmission is performed with a new data transmission rate setting (steps S435, S437, S453, S455, and S457). Detailed data transmission rate setting adjustment, described as follows: current data transmission at the physical layer of the transmitting end The rate setting is at the first level (sequentially along the path of "NO" in step S471, the path of "NO" in step S473, and the path of "NO" in step S475), and the processing unit at the transmitting end drives the physical layer of the transmitting end, with The data transfer rate is set to the second level (step S499). When the current data transmission rate of the physical layer of the transmitting end is set to the second level (the path of "NO" in step S471, the path of "NO" in step S473, and the path of "Yes" in step S475), the transmitting end The processing unit drives the physical layer of the transmitting end to adjust the data transmission rate setting to the third level (step S497). When the current data transmission rate of the physical layer of the transmitting end is set to the third level ("YES" in step S471), the processing unit at the transmitting end drives the physical layer of the transmitting end to adjust the data transmission rate setting to the fourth level (step S491). ). When the current data transmission rate of the physical layer of the transmitting end is set to the fourth level (the path of "NO" in step S471, the path of "Yes" in step S473, and the path of "No" in step S477), the transmitting end The processing unit drives the physical layer of the transmitting end to adjust the data transmission rate setting to the fifth level (step S495). When the current data transmission rate of the physical layer of the transmitting end is set to the fifth level (the path of "NO" in step S471, the path of "Yes" in step S473, and the path of "Yes" in step S477), the transmitting end The processing unit drives the physical layer of the transmitting end to adjust the data transmission rate setting to the first level (step S493). Wherein, the first level is higher than the second level, the second level is higher than the third level, the third level is higher than the fourth level, and the fourth level is higher than the fifth level. In some embodiments, the first level is a maximum data transmission rate x60%, the second level is a maximum data transmission rate x55%, the third level is a maximum data transmission rate x50%, and the fourth level is a maximum data transmission rate x45%, And the fifth level is the maximum data transmission rate x40%. It should be noted here that the data transmission rate of the physical layer of the transmitting end sets the amount of data of the data transmitted at a higher level. When the data transmission rate of the physical layer higher than the transmitting end is set to a lower level per unit time (for example, one second). It should also be noted that when the current data transmission rate of the physical layer of the transmitting end is set to the fifth level, the data transmission rate setting of the physical layer of the transmitting end does not need further adjustment, but instead needs to adjust parameters other than the data transmission rate. Increased transmission reliability at low gears. It should be noted here that each of steps S491, S493, S495, S497, and S499 may reset the value of the bit error rate counter to 1.
第9A至9B圖係依據本發明實施例之運行於低速檔時之資料傳輸率設定調整方法的流程圖。整體而言,第9A至9B圖的流程相較於第4A至4B圖的流程省略了比特錯誤率計數器的維護,也就是說,缺少了步驟S433及步驟S451。詳細來說,當從對應端接收到相應於之前傳送資料的資料連接層的否定應答控制訊框,及偵測到對應端發生循環冗餘校驗錯誤或符號錯誤時(步驟S411中”是”的路徑接著步驟S431中”是”的路徑),傳送端的處理單元調整傳送端中實體層的資料傳輸率設定,用以讓後續資料訊框以新的資料傳輸率設定進行傳送(步驟S435、S437、S453、S455及S457)。 9A to 9B are flowcharts of a data transmission rate setting adjustment method when operating at a low speed according to an embodiment of the present invention. Overall, the flow of the FIGS. 9A to 9B omits the maintenance of the bit error rate counter compared to the flow of FIGS. 4A to 4B, that is, the steps S433 and 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 of the path is YES in step S431. The processing unit at the transmitting end adjusts the data transmission rate setting of the physical layer in the transmitting end, so that the subsequent data frame is transmitted with the new data transmission rate setting (steps S435, S437). , S453, S455 and S457).
雖然第1至3圖中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然第4A、4B圖及第9A、9B圖的流程圖採用指定的順序來執行,但是在不違反發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步 驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。 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. Further, although the flowcharts of FIGS. 4A, 4B and 9A, 9B are executed in a specified order, those skilled in the art can modify these steps without achieving the same effect without violating the spirit of the invention. The order is so, therefore, the invention is not limited to the use of only the order as described above. In addition, those skilled in the art can also integrate several steps into one step. In addition, or in addition to these steps, more steps are performed 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 |
---|---|---|---|
CN201810530621.9A CN109213624B (en) | 2017-06-30 | 2018-05-29 | Method and apparatus for reducing errors in data transmission and reception in flash memory interface |
US16/013,105 US10848263B2 (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 |
---|---|
TWI649756B true TWI649756B (en) | 2019-02-01 |
TW201905933A TW201905933A (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 |
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 |
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 |
Family Applications Before (3)
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 |
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 (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080175163A1 (en) * | 2007-01-22 | 2008-07-24 | Hooman Honary | Method and system for medium access control (mac) rate selection |
US20150032915A1 (en) * | 2013-07-25 | 2015-01-29 | Samsung Electronics Co., Ltd. | Storage system including data transfer speed manager and method for changing data transfer speed thereof |
US20160378582A1 (en) * | 2015-06-29 | 2016-12-29 | Samsung Electronics Co., Ltd. | Operation method of storage device, operation metho of host device, and operation method of user system including storage device and host device |
US20170031845A1 (en) * | 2015-07-29 | 2017-02-02 | Sandisk Technologies Inc. | Interface adjustment processes for a data storage device |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060179152A1 (en) * | 2005-01-31 | 2006-08-10 | Broadcom Corporation | In-band access of management registers |
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 |
KR101854232B1 (en) * | 2010-11-09 | 2018-05-04 | 삼성전자주식회사 | Pseudo-open drain type output driver having de-emphasis function and semiconductor memory device, and control method thereof |
WO2012117263A1 (en) | 2011-03-02 | 2012-09-07 | Sandisk Il Ltd. | Method of data storage in non-volatile memory |
US20130343131A1 (en) * | 2012-06-26 | 2013-12-26 | Lsi Corporation | Fast tracking for flash channels |
US8914696B2 (en) | 2012-08-29 | 2014-12-16 | Seagate Technology Llc | Flash memory read scrub and channel tracking |
KR20140071639A (en) * | 2012-12-04 | 2014-06-12 | 에스케이하이닉스 주식회사 | Semiconductor memory device improving operating speed and data storage device including the same |
US9116824B2 (en) | 2013-03-15 | 2015-08-25 | Sandisk Technologies Inc. | System and method to reduce read latency of a data storage device |
US20140310536A1 (en) * | 2013-04-16 | 2014-10-16 | Qualcomm Incorporated | Storage device assisted inline encryption and decryption |
TWI509624B (en) | 2013-07-01 | 2015-11-21 | Asolid Technology Co Ltd | Flash memory apparatus, memory controller and method for controlling flash memory |
US9203391B2 (en) * | 2014-04-22 | 2015-12-01 | Qualcomm Incorporated | Pulse-width modulation data decoder |
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 |
CN106850476B (en) * | 2017-02-24 | 2019-09-17 | 合肥兆芯电子有限公司 | Balanced device method of adjustment, applicable equalizer and memory storage apparatus |
-
2017
- 2017-12-28 TW TW106146237A patent/TWI645298B/en active
- 2017-12-29 TW TW106146501A patent/TWI654526B/en active
- 2017-12-29 TW TW106146502A patent/TWI654517B/en active
- 2017-12-29 TW TW106146500A patent/TWI649756B/en active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080175163A1 (en) * | 2007-01-22 | 2008-07-24 | Hooman Honary | Method and system for medium access control (mac) rate selection |
US20150032915A1 (en) * | 2013-07-25 | 2015-01-29 | Samsung Electronics Co., Ltd. | Storage system including data transfer speed manager and method for changing data transfer speed thereof |
US20160378582A1 (en) * | 2015-06-29 | 2016-12-29 | Samsung Electronics Co., Ltd. | Operation method of storage device, operation metho of host device, and operation method of user system including storage device and host device |
US20170031845A1 (en) * | 2015-07-29 | 2017-02-02 | Sandisk Technologies Inc. | Interface adjustment processes for a data storage device |
Also Published As
Publication number | Publication date |
---|---|
TW201905692A (en) | 2019-02-01 |
TWI654526B (en) | 2019-03-21 |
TW201905722A (en) | 2019-02-01 |
TWI654517B (en) | 2019-03-21 |
TW201905933A (en) | 2019-02-01 |
TWI645298B (en) | 2018-12-21 |
TW201905723A (en) | 2019-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2977904A1 (en) | Method and system of live error recovery | |
WO2011011295A2 (en) | Reducing a rate of data transfer to at least a portion of memory | |
US10762003B2 (en) | State change in systems having devices coupled in a chained configuration | |
US10637509B2 (en) | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same | |
WO2017000684A1 (en) | Data reading method, peer device, controller, and storage medium | |
KR20140146275A (en) | Operating method for memory controller controlling nonvolatile memory device and nonvolatile memroy system | |
TWI507981B (en) | Command executing method, connector and memory storage device | |
CN103019987A (en) | Method and system for transmitting data on basis of USB (universal serial bus) interfaces | |
WO2020238649A1 (en) | Method and device for controlling communication compensation, and air conditioner | |
TWI464597B (en) | Method of improving data transmission and related computer system | |
KR102140297B1 (en) | Nonvolatile memory devicee and data storage device including the same | |
TWI649756B (en) | Methods for reducing data error in transceiving of flash storage interface and apparatuses using the same | |
US10848263B2 (en) | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same | |
CN103401743B (en) | Method and device for eliminating interference signals for I2C (Inter-IC BUS) | |
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 | |
CN109213624B (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 | |
Saadé et al. | A system-level overview and comparison of three High-Speed Serial Links: USB 3.0, PCI Express 2.0 and LLI 1.0 | |
TW201426314A (en) | Data transmitting method, memory controller and data transmitting system | |
CN115794701A (en) | BMC chip and method of DMA function virtual serial port | |
US20140068120A1 (en) | Host system, storage device and communication method | |
WO2020238648A1 (en) | Method and device for communication detection, and air conditioner | |
CN109213436B (en) | Method and apparatus for reducing errors in data transmission and reception in flash memory interface | |
TW201528269A (en) | Error handling method, memory storage device and memory controlling circuit unit |