TW201905692A - 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 sameInfo
- Publication number
- TW201905692A TW201905692A TW106146502A TW106146502A TW201905692A TW 201905692 A TW201905692 A TW 201905692A TW 106146502 A TW106146502 A TW 106146502A TW 106146502 A TW106146502 A TW 106146502A TW 201905692 A TW201905692 A TW 201905692A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- error
- received
- flash storage
- reducing
- Prior art date
Links
Landscapes
- Communication Control (AREA)
Abstract
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, the main unit can be bitwise or word by sequentially clocking out the content using a strobe signal. A group of words access data.
快閃記憶體裝置通常包含裝置端及儲存單元,並且以快閃儲存介面連接上主控端。隨著儲存介面的資料傳輸速度越來越快,資料於傳收時更容易發生錯誤。因此,需要一種方法以及使用該方法的裝置,用以降低快閃儲存介面中傳收資料錯誤。 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 storage interface becomes faster and faster, the data is more prone to errors when it is 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: descrambling a second received by a bottom-enabled descrambler First information; repeatedly supervising the first data after descrambling to determine whether the receiving data is incorrect; each time the first data after descrambling is detected to receive data error, a negative response control frame is sent to the second end, The information for notifying the second end that the first data after the descrambling is received is incorrect; and when the number of times the received data of the first data after the descrambling is detected reaches the preset threshold, the bottom layer is not enabled. The descrambler.
本發明的實施例提出一種降低快閃儲存介面中傳收資料錯誤的裝置,包含最底層及處理單元。最底層耦接於對應端,包含解擾器。處理單元耦接於最底層,透過上述最底層致能的上述解擾器解擾從上述對應端接收的第一資料;反覆監督解擾後的第一資料以判斷是否發生接收資料錯誤;每次偵測到解擾後的第一資料發生接收資料錯誤時,發送否定應答控制訊框給對應端,用以通知對應端關於第一資料發生接收資料錯誤的資訊;以及當偵測到解擾後的第一資料發生接收資料錯誤 的次數到達預設閥值時,不致能最底層的解擾器。 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 includes a descrambler. The processing unit is coupled to the bottom layer, and the first data received from the corresponding end is descrambled through the bottommost enabled descrambler; and the first data after the descrambling is supervised to determine whether a received data error occurs; When detecting that the first data after the descrambling is incorrectly received, sending a negative response control frame to the corresponding end, for notifying the corresponding end that the information about the first data is incorrectly received; and when detecting the descrambling When the number of received data errors reaches the preset threshold, the lowest level of the descrambler is not enabled.
本發明的實施例提出另一種降低快閃儲存介面中傳收的資料錯誤方法,由第一端的處理單元執行,包含下列步驟:當第一端的擾碼器處於致能狀態時,反覆偵測是否從第二端接收到否定應答控制訊框;當接收到否定應答控制訊框的次數到達預設閥值時,不致能擾碼器;當第一端的擾碼器處於不致能狀態時,反覆偵測是否從第二端接收到應答控制訊框;以及當接收到應答控制訊框時,致能擾碼器。 The embodiment of the present invention proposes another method for reducing data error in the flash storage interface, which is executed by the processing unit at the first end, and includes the following steps: when the first end scrambler is in an enabled state, the method is repeatedly detected. Detecting whether a negative acknowledgement control frame is received from the second end; when the number of times the negative acknowledgement control frame is received reaches a preset threshold, the scrambler is not enabled; when the first end scrambler is disabled And repeatedly detecting whether the response control frame is received from the second end; and when the response control frame is received, enabling the scrambler.
本發明的實施例提出另一種降低快閃儲存介面中傳收資料錯誤的裝置,包含最底層及處理單元。最底層耦接於對應端,包含擾碼器。處理單元耦接於最底層,當擾碼器處於致能狀態時,反覆偵測是否從對應端接收到否定應答控制訊框;當接收到否定應答控制訊框的次數到達預設閥值時,不致能擾碼器;當擾碼器處於不致能狀態時,反覆偵測是否從對應端接收到應答控制訊框;以及當接收到應答控制訊框時,致能擾碼器。 Embodiments of the present invention propose another apparatus for reducing errors in transmitted data in a flash storage interface, including a bottom layer and a processing unit. The bottom layer is coupled to the corresponding end and includes a scrambler. The processing unit is coupled to the bottom layer, and when the scrambler is in an enabled state, repeatedly detecting whether a negative response control frame is received from the corresponding end; when the number of times the negative response control frame is received reaches a preset threshold, The scrambler is not enabled; when the scrambler is in the disabled state, it repeatedly detects whether the response control frame is received from the corresponding end; and when the response control frame is received, the scrambler is enabled.
10‧‧‧快閃記憶體 10‧‧‧Flash memory
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~S493‧‧‧方法步驟 S411~S493‧‧‧ method steps
50‧‧‧否定應答控制訊框 50‧‧‧Negative response control frame
S610~S690‧‧‧方法步驟 S610~S690‧‧‧ method steps
第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 for adjusting data transmission setting at the receiving end according to an embodiment of the present invention.
第5圖係顯示依據本發明實施例之否定應答控制訊框的資料結構。 Figure 5 is a diagram showing the data structure of a negative response control frame in accordance with an embodiment of the present invention.
第6圖係依據本發明實施例之傳送端的資料傳輸設定調整方法的流程圖。 Figure 6 is a flow chart showing a data transmission setting adjustment method at the transmitting end 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, and are not used to indicate a priority order, an advance relationship, or a component. Prior to another component, or the chronological order in which the method steps are performed, it is only used to distinguish components with the same name.
第1圖係依據本發明實施例之快閃記憶體的系統架構示意圖。快閃記憶體10的系統架構包含裝置端150,並透過通用快閃儲存(UFS,Universal Flash Storage)介面與主控端130溝通。UFS是個快閃儲存規範,用以達成較高的資料傳輸速 度及更可靠的快閃記憶儲存,並且不需要因為快閃儲存單元的類型不同而配置不同的轉換器。快閃記憶體10可配備於數位相機、行動電話、消費性電子設備等之中。UFS介面可運行於脈波寬度調變檔(PWM,Pulse-Width Modulation gear)及高速檔(HS,High-Speed gear)。脈波寬度調變檔可為1Gbps(Gigabits per second)或更低速,而高速檔可為1.4Gbps或更高速。脈波寬度調變檔可稱為低速檔。例如,表1列舉UFS規範所定義不同高速檔(HS-GEARs)的資料傳輸率:
快閃記憶體10更包含儲存單元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的處理單元157與儲存單元180間的資料與命令傳遞,包含資料線(data line)、時脈訊號(clock signal)與控制訊號(control signal)。資料線可用以傳遞命令、位址、讀出及寫入的資料;控制訊號線可用以傳遞晶片致能(chip enable,CE)、位址提取致能(address latch enable,ALE)、命令提取致能(command latch enable,CLE)、寫入致能(write enable,WE)等控制訊號。 The flash memory 10 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, 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. The access interface 170 uses a plurality of electronic signals to coordinate data and command transmission between the processing unit 157 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圖係依據本發明實施例之存取介面與儲存單元的方塊圖。快閃記憶體10可包含j+1個存取子介面170_0至170_j,存取子介面又可稱為通道(channel),每一個存取子介面連接i+1個儲存子單元。換句話說,i+1個儲存子單元共享一個存取子介面。例如,當快閃記憶體10包含4個通道(j=3)且每一個通道連接4個儲存單元(i=3)時,快閃記憶體10一共擁有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 10 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 10 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互聯層)致能的解擾器(descrambler)解擾從對應端接收的資料以取得解擾後的資料,判斷解擾後的資料是否發生錯誤。例如,主控端130可解擾從裝置端150接收的資料以取得資料訊框以及/或控制訊框,判斷資料訊框以及/或控制訊框是否發生接收資料錯誤,反之亦然。當接收端偵測到解擾後的資料存在錯誤時,傳送否定應答控制訊框(NAC,negative acknowledgement control frame)給對應端。並且,當偵測解擾後的資料存在錯誤到達預設的次數時,不致能解擾器。另一方面,當對應端接收 到否定應答控制訊框到達上述預設的次數時,不致能擾碼器。反面來說,當接收端的最底層不致能解擾器時(亦即是對應端的最底層不致能擾碼器時),接收端持續監督接收的資料訊框以及/或控制訊框,並且,當偵測到不存在接收資料錯誤時,致能解擾器並且傳送應答控制訊框(ACK,acknowledgement control frame)給對應端。例如,主控端130的最底層不致能解擾器時,主控端130持續監督接收的資料訊框以及/或控制訊框,並且,當偵測到不存在接收資料錯誤時,致能解擾器並且並且傳送應答控制訊框給裝置端150,反之亦然。另一方面,當對應端接收到應答控制訊框時,致能擾碼器。擾碼器可使用硬體電路實施於傳送端的物理轉換層之中,而解擾器可使用硬體電路實施於接收端的物理轉換層之中。於此須注意的是,將資料進行擾碼雖然可提升安全性,但可能讓資料於傳輸中產生錯誤比特的機會提高。 Each of the main control terminal 130 and the device terminal 150 (also referred to as the receiving end) can be enabled by the lowest layer (eg, UFS interconnect layer) to operate the descrambler when operating at high speed or low speed ( Descramler) descrambles the data received from the corresponding end to obtain the descrambled data, and determines whether the descrambled data has an error. For example, the host 130 can descramble the data received from the device end 150 to obtain the data frame and/or the control frame, and determine whether the data frame and/or the control frame have received data errors, and vice versa. When the receiving end detects that the descrambled data has an error, the negative acknowledgement control frame (NAC) is transmitted to the corresponding end. Moreover, when detecting that the descrambled data has an error and reaches a preset number of times, the descrambler is not enabled. On the other hand, when the corresponding end receives the negative response control frame to reach the preset number of times, the scrambler is not enabled. On the other hand, when the bottom layer of the receiving end does not enable the descrambler (that is, when the bottom layer of the corresponding end does not enable the scrambler), the receiving end continuously monitors the received data frame and/or control frame, and when When it is detected that there is no error in receiving data, the descrambler is enabled and an acknowledgment control frame (ACK) is sent to the corresponding end. For example, when the bottom layer of the host 130 is not capable of the descrambler, the host 130 continuously monitors the received data frame and/or the control frame, and when it detects that there is no error in receiving data, the solution is enabled. The scrambler also transmits a response control frame to the device end 150 and vice versa. On the other hand, when the corresponding end receives the response control frame, the scrambler is enabled. The scrambler can be implemented in the physical conversion layer of the transmitting end using a hardware circuit, and the descrambler can be implemented in the physical conversion layer of the receiving end using a hardware circuit. It should be noted here that scrambling data can improve security, but it may increase the chances of data generating errors in transmission.
第4圖係依據本發明實施例之接收端的資料傳輸設定調整方法的流程圖。此方法由處理單元137或157於載入並執行特定微碼或軟體指令時實施。接收端的處理單元可為通用處理器(general-purpose processor)、微控制器(microcontroller)、微控制器單元(MCU,microcontroller unit)等。當接收端的處理單元從接收端的非揮發性記憶體(non-volatile memory)載入並執行相關韌體時實施以下所述的調整方法。接收端的處理單元可透過差動輸入對從另一端(或可稱為對應端或傳送端)接收資料,並且透過其最底層致能的解擾器解擾從對應端接收的資料以取得解擾後資料。判斷是否 於接收端的物理轉換層偵測到循環冗餘校驗(CRC,Cyclic Redundancy Check)錯誤,或者於接收端的物理層偵測到符號錯誤(步驟S411)。當沒有偵測到解擾後資料的循環冗餘校驗錯誤或符號錯誤或沒有致能解擾器時(步驟S411中”否”的路徑),進行下一回合的接收資料判斷(步驟S411)。當偵測到解擾後資料的循環冗餘校驗或符號錯誤時(步驟S411中”是”的路徑),傳送否定應答控制訊框給對應端(步驟S413)。第5圖係顯示依據本發明實施例之否定應答控制訊框的資料結構。否定應答控制訊框50的長度為2個符號(symbols),而每個符號為16比特。 Fig. 4 is a flow chart showing a method for adjusting data transmission setting at the receiving end 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. The processing unit at the receiving end may be a general-purpose processor, a microcontroller, a microcontroller unit (MCU), or the like. The adjustment method described below is implemented when the processing unit at the receiving end loads and executes the relevant firmware from the non-volatile memory of the receiving end. The processing unit at the receiving end can receive data from the other end (or can be referred to as a corresponding end or a transmitting end) through the differential input pair, and descramble the data received from the corresponding end through the bottom layer enabled descrambler to obtain descrambling After the information. It is determined whether a physical redundancy layer at the receiving end detects a Cyclic Redundancy Check (CRC) error, or a physical layer detects a symbol error at the receiving end (step S411). When the cyclic redundancy check error or the symbol error of the data after descrambling is not detected or the descrambler is not enabled (NO in step S411), the received data determination for the next round is performed (step S411). . When a cyclic redundancy check or a symbol error of the descrambled data is detected ("YES" in step S411), a negative response control frame is transmitted to the corresponding end (step S413). Figure 5 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 50 is 2 symbols, and each symbol is 16 bits.
由於接收資料的錯誤可能只是偶然發生,因此接收端的處理單元可維護比特錯誤率計數器(BER,Bit Error Rate counter),初始為1,用以記錄偵測到循環冗餘校驗錯誤或符號錯誤的次數,並且於偵測到循環冗餘校驗錯誤或符號錯誤多次之後再進行調整。例如,當傳送否定應答控制訊框給對應端後(步驟S413),接收端的處理單元更判斷比特錯誤率計數器的值是否到達或高於預設閥值(例如,2至10間的任意整數)(步驟S431)。當比特錯誤率計數器的值低於預設閥值時(步驟S431中”否”的路徑),比特錯誤率計數器的值加1(步驟S433),並進行下一回合的接收資料判斷(步驟S411)。當比特錯誤率計數器的值到達或高於預設閥值時(步驟S431中”是”的路徑),接收端的處理單元不致能接收端中物理轉換層的解擾器(步驟S450)。於步驟S450,於此須注意的是,接收端的處理單元不需要發送任何訊息給對應端來不致能對應端的擾碼器,用以節省接收端及對應端間使用的頻寬。取而代之地,對應端也維護 一個計數器,並且每次從接收端接收到否定應答控制訊框時,讓計數器的值加一。對應端不致能擾碼器的細節可參考如後的說明。 Since the error of receiving data may only happen by chance, the processing unit at the receiving end can maintain a Bit Error Rate Counter (BER), which is initially 1 to record the detection of a cyclic redundancy check error or a symbol error. The number of times, and then adjust after detecting a cyclic redundancy check error or a symbol error multiple times. For example, when the negative response control frame is transmitted to the corresponding end (step S413), the processing unit at the receiving end further determines whether the value of the bit error rate counter reaches or exceeds a preset threshold (for example, an arbitrary integer between 2 and 10) (Step S431). When the value of the bit error rate counter is lower than the preset threshold (the path of NO in step S431), the value of the bit error rate counter is incremented by one (step S433), and the received data determination for the next round is performed (step S411). ). When the value of the bit error rate counter reaches or exceeds the preset threshold (the path of YES in step S431), the processing unit at the receiving end does not enable the descrambler of the physical conversion layer in the receiving end (step S450). In step S450, it should be noted that the processing unit at the receiving end does not need to send any message to the corresponding end to disable the scrambler of the corresponding end, so as to save the bandwidth used between the receiving end and the corresponding end. Instead, the corresponding end also maintains a counter, and increments the value of the counter each time it receives a negative acknowledgement control frame from the receiving end. For details on the corresponding end of the scrambler, refer to the following description.
於另一些實施例中,接收端的處理單元可不維護比特錯誤率計數器,並省略步驟S431及S433。換句話說,當偵測到循環冗餘校驗錯誤或符號錯誤後,接收端的處理單元就認定需要不致能解擾器。於另一些實施例中,於步驟S431中的預設閥值可設為1,用以一偵測到循環冗餘校驗錯誤或符號錯誤後,接收端的處理單元就認定需要不致能解擾器。 In other embodiments, the processing unit at the receiving end may not maintain the bit error rate counter, and steps S431 and S433 are omitted. In other words, when a cyclic redundancy check error or a symbol error is detected, the processing unit at the receiving end determines that the descrambler is not required. In other embodiments, the preset threshold in step S431 can be set to 1, after detecting a cyclic redundancy check error or a symbol error, the processing unit at the receiving end determines that the descrambler is not required. .
於接收端中實體層的解擾器不致能時,接收端的處理單元可持續監督透過差動輸入對從對應端接收的資料,並且判斷是否於接收端的物理轉換層偵測到循環冗餘校驗錯誤,或者於接收端的物理層偵測到符號錯誤(步驟S470)。當依然偵測到循環冗餘校驗或符號錯誤時(步驟S470中”是”的路徑),接收端的處理單元維持不致能接收端中實體層的解擾器及指示對應端的處理單元維持不致能對應端中實體層的擾碼器(步驟S450)。當沒有偵測到循環冗餘校驗或符號錯誤時(步驟S470中”否”的路徑),接收端的處理單元致能接收端中物理轉換層的解擾器及傳送應答控制訊框給對應端(步驟S491),以及重設比特錯誤率計數器的值為1(步驟S493)。 When the descrambler of the physical layer is disabled in the receiving end, the processing unit at the receiving end can continuously supervise the data received from the corresponding end through the differential input, and determine whether the cyclic redundancy check is detected at the physical translation layer of the receiving end. An error, or a symbol error is detected at the physical layer of the receiving end (step S470). When the cyclic redundancy check or the symbol error is still detected (the path of YES in step S470), the processing unit at the receiving end maintains the descrambler of the physical layer in the receiving end and the processing unit indicating the corresponding end is not enabled. The scrambler of the physical layer in the corresponding end (step S450). When no cyclic redundancy check or symbol error is detected (NO in step S470), the processing unit at the receiving end enables the descrambler of the physical conversion layer and the transmission response control frame in the receiving end to the corresponding end. (Step S491), and the value of the reset bit error rate counter is 1 (step S493).
第6圖係依據本發明實施例之傳送端的資料傳輸設定調整方法的流程圖。此方法由處理單元137或157於載入並執行特定微碼或軟體指令時實施。傳送端的處理單元可為通用處理器、微控制器、微控制器單元等。當傳送端的物理轉換層 的擾碼器處於致能狀態時,傳送端的處理器反覆偵測是否從對應端(亦可稱為接收端)接收到否定應答控制訊框(步驟S610)。 Figure 6 is a flow chart showing a data transmission setting adjustment method at the transmitting end 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. The processing unit at the transmitting end may be a general purpose processor, a microcontroller, a microcontroller unit, or the like. When the scrambler of the physical translation layer of the transmitting end is in the enabled state, the processor of the transmitting end repeatedly detects whether a negative acknowledgement control frame is received from the corresponding end (also referred to as the receiving end) (step S610).
由於接收資料的錯誤可能只是偶然發生,因此傳送端的處理單元也可維護否定應答計數器,用以記錄接收到否定應答控制訊框的次數,並且於接收到否定應答控制訊框多次之後再進行調整。例如,當從對應端接收到否定應答控制訊框時(步驟S610中”是”的路徑),傳送端的處理單元更判斷否定應答計數器的值是否到達或高於預設閥值(步驟S631)。於此須注意的是,步驟S631中的預設閥值相同於對應端中相應於比特錯誤率計數器的預設閥值,例如,如步驟S431中所示的預設閥值。當否定應答計數器的值低於預設閥值時(步驟S631中”否”的路徑),否定應答計數器的值加1(步驟S633),並進行下一回合的判斷(步驟S610)。當否定應答計數器的值到達或高於預設閥值時(步驟S631中”是”的路徑),傳送端的處理單元不致能物理轉換層的擾碼器(步驟S650)。當傳送端的物理轉換層的擾碼器處於不致能狀態時,傳送端的處理器反覆偵測是否從對應端接收到應答控制訊框(步驟S670)。當從對應端接收到應答控制訊框時(步驟S670中”是”的路徑),傳送端的處理單元致能物理轉換層的擾碼器(步驟S690)。 Since the error of receiving data may only happen by chance, the processing unit at the transmitting end can also maintain a negative response counter for recording the number of times the negative response control frame is received, and then adjusting after receiving the negative response control frame multiple times. . For example, when a negative response control frame is received from the corresponding end (the path of YES in step S610), the processing unit at the transmitting end further determines whether the value of the negative response counter has reached or exceeded the preset threshold (step S631). It should be noted here that the preset threshold in step S631 is the same as the preset threshold corresponding to the bit error rate counter in the corresponding end, for example, the preset threshold as shown in step S431. When the value of the negative response counter is lower than the preset threshold (the path of NO in step S631), the value of the negative response counter is incremented by 1 (step S633), and the determination of the next round is made (step S610). When the value of the negative response counter reaches or exceeds the preset threshold (the path of YES in step S631), the processing unit at the transmitting end does not enable the scrambler of the physical conversion layer (step S650). When the scrambler of the physical conversion layer of the transmitting end is in the disabled state, the processor of the transmitting end repeatedly detects whether the response control frame is received from the corresponding end (step S670). When the response control frame is received from the corresponding end (the path of YES in step S670), the processing unit at the transmitting end enables the scrambler of the physical conversion layer (step S690).
於此須注意的是,應答控制訊框及否定應答控制訊框是通用快閃儲存規範中分別使用來讓接收端向對應端回覆之前的傳送資料已正確接收到及已經發生錯誤的信息。在規範的應答控制訊框及否定應答控制訊框的基礎上進行擾碼器及解擾器的致能及不致能,可不需要再額外產生及解譯自訂的 請求。 It should be noted that the response control frame and the negative response control frame are information used in the universal flash storage specification to allow the receiving end to correctly receive and transmit an error before the reply to the corresponding end. The enabling and disabling of the scrambler and the descrambler based on the standard response control frame and the negative response control frame eliminates the need to additionally generate and interpret the customized request.
雖然第1至3圖中包含了以上描述的元件,但不排除在不違反發明的精神下,使用更多其他的附加元件,已達成更佳的技術效果。此外,雖然第4圖及第6圖的流程圖採用指定的順序來執行,但是在不違反發明精神的情況下,熟習此技藝人士可以在達到相同效果的前提下,修改這些步驟間的順序,所以,本發明並不侷限於僅使用如上所述的順序。此外,熟習此技藝人士亦可以將若干步驟整合為一個步驟,或者是除了這些步驟外,循序或平行地執行更多步驟,本發明亦不因此而侷限。 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. 4 and 6 are executed in a specified order, those skilled in the art can modify the order among the steps without achieving the same effect without departing from the spirit of the invention. 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 |
---|---|---|---|
CN201810531614.0A CN109213436B (en) | 2017-06-30 | 2018-05-29 | Method and apparatus for reducing errors in data transmission and reception in flash memory interface |
US16/013,133 US10630425B2 (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 |
---|---|
TW201905692A true TW201905692A (en) | 2019-02-01 |
TWI654517B TWI654517B (en) | 2019-03-21 |
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 |
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 |
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 |
Family Applications Before (1)
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 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 |
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 |
Country Status (1)
Country | Link |
---|---|
TW (4) | TWI645298B (en) |
Family Cites Families (19)
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 |
US8144608B2 (en) * | 2007-01-22 | 2012-03-27 | Broadcom Corporation | Method and system for medium access control (MAC) rate selection |
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 |
KR101686980B1 (en) | 2011-03-02 | 2016-12-16 | 샌디스크 테크놀로지스 엘엘씨 | 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 |
KR20150014002A (en) * | 2013-07-25 | 2015-02-06 | 삼성전자주식회사 | Storage system including data transfer speed manager and data method for changing data transfer speed thereof |
US9203391B2 (en) * | 2014-04-22 | 2015-12-01 | Qualcomm Incorporated | Pulse-width modulation data decoder |
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 |
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 TW106146502A patent/TWI654517B/en active
- 2017-12-29 TW TW106146500A patent/TWI649756B/en active
- 2017-12-29 TW TW106146501A patent/TWI654526B/en active
Also Published As
Publication number | Publication date |
---|---|
TW201905722A (en) | 2019-02-01 |
TWI654526B (en) | 2019-03-21 |
TWI645298B (en) | 2018-12-21 |
TW201905723A (en) | 2019-02-01 |
TW201905933A (en) | 2019-02-01 |
TWI654517B (en) | 2019-03-21 |
TWI649756B (en) | 2019-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI464577B (en) | Method and system of live error recovery | |
US9104793B2 (en) | Method and system of adapting communication links to link conditions on a platform | |
US9720866B2 (en) | Interface circuit executing protocol control in compliance with first and second interface standards | |
KR20170113643A (en) | Impedance-based flow control for a two-wire interface system with variable frame length | |
US20140325124A1 (en) | Memory system and method for operating a memory system | |
US10637509B2 (en) | Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same | |
US8924611B2 (en) | Providing a serial protocol for a bidirectional serial interconnect | |
EP3779708A1 (en) | Method for fast balancing, chips, and communication system | |
US20220147254A1 (en) | Ufs device, method of operating the ufs device, and system including the ufs device | |
TWI654517B (en) | Methods for reducing data error in transceiving of flash storage interface and apparatuses using the same | |
KR20150072469A (en) | Nonvolatile memory devicee and data storage device including the same | |
US10848263B2 (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 | |
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 | |
CN110099028B (en) | Serial port data transmission method and device | |
WO2017012459A1 (en) | System bus device response timeout processing method and apparatus, and storage medium | |
TW202234861A (en) | Control method for error handling in a controller, storage medium therefor, controller and storage device | |
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 | |
CN107291640B (en) | Data transmission method and device based on SAS technology | |
JP6222724B2 (en) | USB device, USB system, data transfer method, and program | |
US20210279189A1 (en) | Memory storage device including a configurable data transfer trigger | |
CN102571280A (en) | Method and device for data transmission | |
KR20230138037A (en) | Method and related apparatus for optimizing flash memory chips |