EP3479241B1 - Link error correction in memory system - Google Patents

Link error correction in memory system Download PDF

Info

Publication number
EP3479241B1
EP3479241B1 EP17740597.4A EP17740597A EP3479241B1 EP 3479241 B1 EP3479241 B1 EP 3479241B1 EP 17740597 A EP17740597 A EP 17740597A EP 3479241 B1 EP3479241 B1 EP 3479241B1
Authority
EP
European Patent Office
Prior art keywords
read
data
write
protection code
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
EP17740597.4A
Other languages
German (de)
English (en)
French (fr)
Other versions
EP3479241A1 (en
Inventor
Jungwon Suh
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of EP3479241A1 publication Critical patent/EP3479241A1/en
Application granted granted Critical
Publication of EP3479241B1 publication Critical patent/EP3479241B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/31Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining coding for error detection or correction and efficient use of the spectrum

Definitions

  • One or more aspects of the present disclosure generally relate to memory systems, and in particular, to link error corrections in memory systems.
  • ECC error correction codes
  • FIG. 1 illustrates a simplified diagram of a conventional memory subsystem 100 which includes a host system-on-chip (SOC) 110 with a memory array 140.
  • the host SOC 110 includes a memory controller 120 with an ECC encoder/decoder 125 and a PHY block 130.
  • the memory array 140 includes nine 8-bit memory devices 150.
  • An 8-bit ECC can be assigned to each 64-bit data to protect any bit error in both the host SOC 110 and the memory cell array 140.
  • the data can be written to the first eight memory devices 150, and the ECC can be written to the 9 th memory device 150.
  • the conventional memory configuration incurs additional memory devices cost. It also results in an increased printed circuit board (PCB) area cost by requiring wider memory channel routing and increased memory standby & active power cost due to the additional 9 th memory device 150.
  • PCB printed circuit board
  • the additional memory configuration directly impacts performance. Memory bandwidth corresponds with how many valid bits are transferred per given amount of time.
  • the additional ECC bits while enhancing reliability, do not themselves have values as data.
  • the first conventional technique directly impacts the performance of the memory subsystem in that the entire I/O width is not used to transfer useful data.
  • FIG. 2 illustrates a simplified diagram of the conventional memory subsystem 100, but this time showing only one data (DQ) byte for simplicity.
  • the memory device 150 includes an I/O block 260 and a plurality of memory banks 270.
  • signal lines collectively referred to as a link 290, are used to exchange data between the host SOC 110 and the memory device 150.
  • the link 290 includes:
  • the DM line may be a Data Mask Inversion (DMI) pin function - either a Data Inversion or Data Mask.
  • DMI Data Mask Inversion
  • the DMI pin function depends on a Mode Register setting. However, in FIG. 2 , it is shown as DM line for simplicity.
  • FIG. 3A illustrates a timing diagram of a conventional mask write operation.
  • the memory controller 120 issues a WRITE command to the memory device 150.
  • a byte (8-bits) of data is transferred over each of sixteen burst cycles from the host SOC 110 to the memory device 150.
  • a 128-bit Write Data (8-bit DQ x burst length 16) is transferred.
  • each of DO - DF represents 8-bits (a byte) of the Write Data DQ[0:7] being transferred in one burst cycle.
  • the Write Data is transferred with some data mask (DM) activities.
  • DM data mask
  • DM data mask
  • FIG. 3B illustrates a timing diagram of a conventional read operation.
  • the memory controller 120 issues a READ command to the memory device 150.
  • the memory device 150 responds by sending a 128-bit Read Data (8-bit DQ x burst length 16) to the host SOC 110.
  • DO - DF represents a byte of the Read Data DQ[0:7] being transferred in one burst cycle.
  • the Read Strobe clock from the memory device 150 toggles with the Read Data as an input clock to the host SOC 110.
  • the DM line is idle since this is a read operation.
  • burst lengths are extended to transmit the ECC codes.
  • the burst length can be extended from 16 to 18 (BL16 ⁇ BL18), and the ECC bits can be transferred between the host SOC 110 and the memory device 150 in burst cycles not used to transfer the DQ bits.
  • This conventional extended data burst length technique also directly impacts performance in that not every cycle is used to transfer useful data.
  • US 2014/177362 A1 discloses a memory and a method of storing data in a memory.
  • the memory comprises a memory block comprising data bits and additional bits.
  • the memory includes logic which, when receiving a first command, writes data into the data bits of the memory block, wherein the data is masked according to a first input.
  • the logic in response to a second command, writes data into the data bits of the memory block and writes a second input into the additional bits of the memory block.
  • the memory device may comprise a memory bank, a memory side interface, a memory side encoder, and a memory side decoder.
  • the memory side interface may be configured to receive a WRITE command from a host over a link, receive Write Data and a write protection code from the host over the link, and store the Write Data to the memory bank in response to the WRITE command.
  • the memory side interface may also be configured receive a READ command from the host over the link, retrieve Read Data from the memory bank in response to the READ command, and send the Read Data and a read protection code to the host over the link.
  • the memory side decoder may be configured to detect whether the Write Data has an error based on the write protection code, and the memory side encoder may be configured to generate the read protection code based on the Read Data retrieved from the memory bank.
  • the link may comprise a plurality of data lines, a data mask line, and a Read Strobe clock line.
  • the data mask line may be used in mask write operations
  • the Read Strobe clock line may be used by the memory device to provide timing in read operations.
  • the memory side interface may further be configured to receive the Write Data and send the Read Data over the plurality of data lines, receive the write protection code over the Read Strobe clock line, and send the read protection code over the data mask line.
  • the host may comprise a memory controller, a host side interface, a host side encoder, and a host side decoder.
  • the memory controller may be configured to issue READ and WRITE commands.
  • the host side interface may be configured to send the WRITE command from the memory controller to the memory device over a link, and send Write Data and a write protection code to the memory device over the link.
  • the host side interface may also be configured to send the READ command from the memory controller to the memory device over the link, receive Read Data and a read protection code from the memory device over the link subsequent to the READ command being sent, and provide the Read Data to the memory controller.
  • the host side encoder may be configured to generate the write protection code based on the Write Data, and the host side decoder may be configured to detect whether the Read Data has an error based on the read protection code.
  • the link may comprise a plurality of data lines, a data mask line, and a Read Strobe clock line.
  • the data mask line may be used in mask write operations, and the Read Strobe clock line used by the memory device to provide timing in read operations.
  • the host side interface may further be configured to send the Write Data and receive the Read Data over the plurality of data lines, send the write protection code over the Read Strobe clock line, and receive the read protection code over the data mask line.
  • the method may comprise a host sending a WRITE command to a memory device over a link, the host generating a write protection code based on Write Data, and the host sending the Write Data and the write protection code to the memory device over the link.
  • the method may also comprise the memory device detecting whether the Write Data has an error based on the write protection code, and the memory device storing the Write Data to a memory bank of the memory device in response to the WRITE command.
  • the link may comprise a plurality of data lines, a data mask line, and a Read Strobe clock line.
  • the data mask line may be used in mask write operations, and the Read Strobe clock line for used the memory device to provide timing in read operations.
  • the host may send the Write Data to the memory device over the plurality of data lines, and may send the write protection code to the memory device over the Read Strobe clock line.
  • the method may comprise a host sending a READ command to a memory device over a link, the memory device retrieving Read Data from a memory bank of the memory device in response to the READ command, the memory device generating a read protection code based on the Read Data, and the memory device sending the Read Data and the read protection code to the host over the link.
  • the method may also comprise the host detecting whether the Read Data has an error based on the read protection code.
  • the link may comprise a plurality of data lines, a data mask line, and a Read Strobe clock line.
  • the data mask line may be used in mask write operations, and the Read Strobe clock line used by the memory device to provide timing in read operations.
  • the memory device may send the Read Data to the host over the plurality of data lines, and may send the read protection code to the host over the data mask line.
  • the apparatus may comprise a host and a memory device configured to communicate with each other over a link.
  • the link may comprise a plurality of data lines, a data mask line, and a Read Strobe clock line.
  • the data mask line may be used in mask write operations, and the Read Strobe clock line used by the memory device to provide timing in read operations.
  • the memory device may be configured to receive a READ command from the host over the link, retrieve Read Data from a memory bank of the memory device in response to the READ command, generate a read protection code based on the Read Data, send the Read Data to the host over the plurality of data lines, and send the read protection code to the host over the data mask line.
  • the read protection code may be a parity code for protection of the Read Data.
  • the host may be configured to send the READ command to the memory device over the link, receive the Read Data from the memory device over the plurality of data lines, receive the read protection code from the memory device over the data mask line, and detect whether the Read Data has an error based on the read protection code.
  • the apparatus may comprise a host and a memory device configured to communicate with each other over a link.
  • the link may comprise a plurality of data lines, a data mask line, and a Read Strobe clock line.
  • the data mask line may be used in mask write operations, and the Read Strobe clock line used by the memory device to provide timing in read operations.
  • the host may be configured to send a WRITE command to the memory device over the link, generate a write protection code based on Write Data, send the Write Data to the memory device over the plurality of data lines, and send the write protection code to the memory device over the Read Strobe clock line.
  • the write protection code may be a parity code for protection of the Write Data.
  • the memory device may be configured to receive the WRITE command from the host over the link, receive the Write Data from the host over the plurality of data lines, receive the write protection code from the host over the Read Strobe clock line, and detect whether the Write Data has an error based on the write protection code.
  • One or more aspects of the disclosure may be applied to low power memory subsystem in mobile or computing systems to protect high speed memory links (interfaces) with error detection and/or correction codes.
  • one or more aspects may be related with next generation low power DDR SPEC and DDR PHY in mobile or computing chipsets.
  • encoding and decoding capabilities e.g., ECC capabilities
  • ECC capabilities e.g., ECC capabilities
  • the proposed technique does not require an additional memory device. This means that costs of additional devices is avoided, which in turns leads to less die area being consumed and less power being required. Therefore, more memory can be devoted storing useful data in the same die area.
  • the burst length need not be lengthened, i.e., each burst cycle may be used to transfer data. This means that performance penalty of dedicating some burst cycles to the transfer of ECC is also avoided.
  • no changes to the link between the host and the memory device are required.
  • FIG. 4 illustrates an example of a proposed memory subsystem 400 that includes a host 410 and a memory device 450.
  • the host 410 e.g., a system-on-chip SOC
  • the host 410 may include a memory controller 420, a host side interface 430 (e.g., memory PHY block), a host side encoder 432, and a host side decoder 434.
  • the memory controller 420 may issue READ and WRITE commands to the memory device 450 through the host side interface 430.
  • the memory controller 420 may also provide Write Data to the host side interface 430.
  • the memory controller 420 may receive Read Data from the host side interface 430.
  • the host side interface 430 may send the WRITE command and the Write Data to the memory device 450 over a link 490.
  • the host side encoder 432 e.g., an ECC encoder
  • the host side interface 430 may also send the write protection code to the memory device 450 over the link 490.
  • the write protection code may be an ECC and/or other types of parity code to protect the Write Data. That is to say, the write protection code may allow the memory device 450 to detect and even correct errors that may be present in the Write Data. For example, an error may occur in the transmission of the Write Data from the host 410 to the memory device 450.
  • the host side encoder 432 may generate the write protection code based on the Write Data and the data mask (DM) data. In this way, the write protection code may protect the data mask (DM) bits in addition to protecting the Write Data. In this aspect, if the write operation does not involve masking, then the write protection code may be generated with the DM bits all zeroed out.
  • the host side interface 430 may send the READ command to the memory device 450 over the link 490. Subsequently, the host side interface 430 may receive the Read Data from the memory device 450 over the link 490, and provide the received Read Data to the memory controller 420.
  • the host side interface 430 may also receive a read protection code from the memory device 450 over the link 490 along with the Read Data.
  • the read protection code may be an ECC and/or other types of parity code to that can be used to protect the Read Data.
  • the host side decoder 434 may determine whether the received Read Data is valid based on the read protection code. In other words, the host side decoder 434 may detect whether the Read Data has an error. Additionally, the host side decoder 434 may correct the Read Data when the error is detected, and the host side interface 430 can provide the corrected Read Data to the memory controller 420.
  • the host side encoder 432 and the host side decoder 434 are illustrated as being incorporated into the host side interface 430. This is merely an example, and should not be taken to be limiting. It is contemplated that the host side encoder 432 and/or the host side decoder 434 may be on their own or incorporated into other components within the host 410 such as the memory controller 420. Also, while the host side encoder 432 and the host side decoder 434 are individually illustrated, the two may be implemented in a single device. It is also contemplated that the host side encoder 432 and/or the host side decoder 434 may be implemented in multiple devices. Indeed, in some aspect(s), the implementation of the host side encoder 432 and/or the host side decoder 434 may be spread among multiple components.
  • the memory device 450 may include a memory side interface 460 (e.g., an input/output (I/O) block), memory banks 470, a memory side encoder 462, and a memory side decoder 464.
  • the memory side interface 460 may receive the WRITE command from the host 410 over the link 490.
  • the memory side interface 460 may receive the Write Data from the host 410 over the link 490, and may store the Write Data in the memory banks 470 in response to the WRITE command.
  • the memory side interface 460 may also receive the write protection code from the host 410 over the link 490 along with the Write Data.
  • the write protection code may be an ECC and/or other types of parity code.
  • the memory side decoder 464 may determine whether the received Write Data is valid based on the write protection code. That is, the memory side decoder 464 may detect whether there are errors in the Write Data. Additionally, the memory side decoder 464 may correct the Write Data when the error is detected, and the memory side interface 460 can store the corrected Write Data in the memory banks 470.
  • the memory side interface 460 may receive the READ command from the host 410 over the link 490. In response to the READ command, the memory side interface 460 may retrieve the Read Data from the memory banks 470 and send the retrieved Read Data to the host 410 over the link 490.
  • the memory side encoder 462 may generate the read protection code based on the Read Data retrieved from the memory banks 470. Alternatively, the memory side encoder 462 may generate the read protection code based on the Read Data as well as on DM data, which may be zeroed out. As mentioned, the read protection code may be an ECC and/or other types of parity code.
  • the memory side interface 460 may provide the read protection code along with the Read Data to the host 410 over the link.
  • the memory side encoder 462 and the memory side decoder 464 are illustrated as being incorporated into the memory side interface 460. This is merely an example, and should not be taken to be limiting. It is contemplated that the memory side encoder 462 and/or the memory side decoder 464 may be on their own or incorporated into other components within the memory device 450. Also, while the memory side encoder 462 and the memory side decoder 464 are individually illustrated, the two may be implemented in a single device. It is also contemplated that the memory side encoder 462 and/or the memory side decoder 464 may be implemented in multiple devices. Indeed, in some aspect(s), the implementation of the memory side encoder 462 and/or the memory side decoder 464 may be spread among multiple components.
  • the host side encoder 432 and the memory side encoder 462 may operate to generate identical write protection code and read protection code (e.g., same ECC) when provided with identical data.
  • the write protection code can be different from the read protection code.
  • the memory and host side decoders 464, 434 respectively operate complimentarily to the host and memory side encoders 432, 462, proper data exchange can take place.
  • the links 490 and 290 can be identical, i.e., there need not be any change in the configuration of the link 490 between the host 410 and the memory device 450. That is, the same signal lines DQ[0:7], DM, Data CK, Read Strobe CK, CA[0:n] and CA CK may be used to exchange information between the host 410 and the memory device 450. Since the same signal lines can be used, no architectural changes to the link 490 are required.
  • the write and read protection codes still be communicated between the host 410 and the memory device 450 without changing the link architecture, without increasing the I/O width, and without increasing the burst length.
  • the Read Strobe clock line remains idle during the write operation ( see FIG . 3A ) and the DM line remains idle during the read operation ( see FIG. 3B ). Therefore, in an aspect, it is proposed to utilize the Read Strobe clock line to transfer the write protection code during the write operation, and to utilize the DM line to transfer the read protection code during the read operation.
  • the Read Data and Write Data may still be transferred over the data (DQ) lines.
  • FIG. 5A illustrates a timing diagram of an example of a mask write operation.
  • a 128-bit Write Data (8-bit DQ x burst length 16) may be assumed to be transferred over the DQ lines from the host 410 to the memory device 450.
  • Each of DO - DF may represent 8-bits (a byte) of the Write Data DQ[0:7] being transferred in one burst cycle.
  • the Write Data is assumed to be transferred with some data mask (DM) activities.
  • DM data mask
  • DM data mask
  • 4 th and 9 th DM bits may be set to mask the 4 th and 9 th DQ bytes (D3 and D8). Note that for a normal write operation without masking, all DM bits would be unset, i.e., zeroed out.
  • the host side encoder 432 may generate the write protection code (e.g., an 8-bit ECC), which then may be transferred on the Read Strobe clock line by the host side interface 430.
  • the host side encoder 432 may generate the write protection code based on the Write Data received from the memory controller 420. For example, an 8-bit write protection code may be generated to protect the 128-bit Write Data.
  • the host side encoder 432 may generate the write protection code based on the DM bits in addition to the Write Data. For example, the 8-bit ECC may be generated to protect a total of 144 bits (the 128-bit Write Data and the 16-bit DM).
  • the write protection code may be based only on the 128-bit Write Data.
  • the write protection code may be based on the 128-bit Write Data and zeroed-out DM bits.
  • the write protection code may be based only on the Write Data. Otherwise in the mask write operation, the write protection code may be based on the Write Data and the DM data.
  • the 8-bit E[0:7] write protection code may be transmitted to coincide with burst cycles 8 through 15. More generally, the write protection code may be transmitted during a latter part of the burst cycles such that an end of the burst cycles (e.g., burst cycle 15) coincides with the transmission of the last bit (e.g., E7) of the write protection code. This is because the write protection code may take some time to generate. By transferring the write protection code during the latter part of the burst cycles such that an end of the Read Data transfer coincides with an end of the read protection code transfer, maximum amount of time can be provided to generate the write protection data without having to extend the burst length.
  • the transfer of the write protection code can begin as soon as the individual write protection code bits are available.
  • the transfer of the write protection code can finish before the end of the burst cycles.
  • FIG. 5B illustrates a timing diagram of an example of a read operation.
  • the memory controller 420 issues the READ command to the memory device 450
  • the memory device 450 may respond by sending the Read Data to the host 410.
  • a 128-bit Read Data (8-bit DQ x burst length 16) may be assumed to be transferred from the memory device 450 to the host 410 over the DQ lines.
  • Each of DO - DF may represent 8-bits (a byte) of the Read Data DQ[0:7] being transferred in one burst cycle.
  • the memory side encoder 462 may generate the read protection code (e.g., an 8-bit ECC), which then may be transferred through the DM line by the memory side interface 460.
  • the memory side encoder 462 may generate the read protection code based on the Read Data retrieved from the memory banks 470.
  • the 8-bit read protection code may be generated to protect the 128-bit Read Data.
  • the read protection code may be generated to protect a total of 144 bits (the 128-bit Write Data and the 16-bit DM zeroed out).
  • the 8-bit E[0:7] read protection code may be transferred to coincide with burst cycles 8 through 15. More generally, the read protection code may be transferred during a latter part of the burst cycles such that an end of the burst cycles (e.g., burst cycle 15) coincides with the last bit (e.g., E7) of the read protection code.
  • E7 last bit
  • maximum time can be provided to generate the read protection data without having to extend the burst length.
  • the transfer of the read protection code can begin as soon as the individual read protection code bits are generated. Thus, the transfer of the read protection code can finish before the end of the burst cycles. But regardless, it is generally preferred that the transfer of the read protection code finish no later than the end of the burst cycles to avoid lengthening of the burst length.
  • FIG. 6A illustrates an example of data (e.g., Read/Write Data) and corresponding protection code (e.g., read/write protection code).
  • data e.g., Read/Write Data
  • protection code e.g., read/write protection code
  • E0 - E7 e.g., ECC bits
  • d0 - d7F 128-bit Read/Write Data
  • M0 - MF 16-bit DM data
  • the DM bits may all be zeroed for normal read/write operations. This is merely an example. Any number of data bits (e.g., any combination of Read/Write Data bits and masking bits) may be protected with the protection code.
  • FIG. 6B illustrates another example of data, DM data, and corresponding protection code.
  • 9 ECC bits may be to protect the 128-bit data (e.g., Read/Write Data) and 6 ECC bits may be to protect the 16-bit DM data.
  • a 15-bit ECC (E0 - EE) code may be transferred.
  • FIG. 7 illustrates a flow chart of an example method 700 to perform a write operation.
  • the method 700 may be applied to mask writes and/or to normal writes.
  • the host 410 may perform blocks 710 - 730 and the memory device 450 may perform blocks 740 - 780.
  • the memory controller 420 may issue the WRITE command to the memory side through the host side interface 430.
  • the host side encoder 432 may generate the write protection code based on the Write Data provided by the memory controller 420. Alternatively, the host side encoder 432 may generate the write protection code to protect the Write Data and the DM data.
  • the host side interface 430 may send the Write Data and the write protection code (e.g., ECC) to the memory side.
  • the Write Data may be sent over the DQ lines, and the write protection code may be sent over the Read Strobe clock line.
  • ECC write protection code
  • the memory side interface 460 may receive the WRITE command from the host side. Thereafter, in block 750, the memory side interface 460 may receive the Write Data (e.g., over the DQ lines) and the write protection code (e.g., over the Read Strobe clock line) from the host side. In block 760, the memory side decoder 464 may detect whether there is an error in the Write Data based on the write protection code. Alternatively, the memory side decoder 464 may detect whether there is an error in the Write Data and/or the DM data based on the write protection code. In block 770, the memory side decoder 464 may correct the Write Data as needed, e.g., when any bit error(s) is(are) detected. In block 780, the memory side interface 460 may store the Write Data in the memory banks 470. If the memory side decoder 464 corrects the Write Data, the corrected Write Data may be stored in the memory banks 470.
  • the memory side interface 460 may store the Write Data in the memory banks 470.
  • FIG. 8 illustrates a flow chart of an example method 800 to perform a read operation.
  • the host 410 may perform blocks 810 - 850, and the memory device 450 may perform blocks 850 - 890.
  • the memory side interface 460 may receive the READ command from the host side.
  • memory side interface 460 may retrieve the Read Data from the memory banks 470.
  • the memory side encoder 462 may generate the read protection code based on the retrieved Read Data.
  • the memory side encoder 462 may generate the read protection code to protect the Read Data and the DM data, and the DM data may be zeroed out.
  • the memory side interface 460 may send the Read Data and the read protection code (e.g., ECC) to the host side.
  • the Read Data may be sent over the DQ lines, and the read protection code may be sent over the DM line.
  • ECC read protection code
  • the memory controller 420 may issue the READ command to the memory side through the host side interface 430. Thereafter, in block 820, the host side interface 430 may receive the Read Data (e.g., over the DQ lines) and the read protection code (e.g., over the DM line) from the memory side. In block 830, the host side decoder 434 may detect whether there is an error in the Read Data based on the read protection code. Alternatively, the host side decoder 434 may detect whether there is an error in the Read Data and/or the DM data based on the read protection code.
  • the Read Data e.g., over the DQ lines
  • the read protection code e.g., over the DM line
  • the host side decoder 434 may correct the Read Data as needed, e.g., when any bit error(s) is(are) detected.
  • the host side interface 430 may provide the Read Data to the memory controller 420. If the host side decoder 434 corrects the Read Data, the corrected Read Data may be provided to the memory controller 420.
  • the host 410 may communicate with multiple memory devices 450. It should be noted that not all blocks of the method 700 or the method 800 need be performed. Also, the blocks of the method 700 and/or the blocks of the method 800 need not be performed in any particular order.
  • FIG. 9 illustrates various electronic devices that may be integrated with the aforementioned memory subsystem 400.
  • a mobile phone device 902, a laptop computer device 904, a terminal device 906 as well as wearable devices, portable systems, that require small form factor, extreme low profile may include a device/package 900 that incorporates the memory subsystem 400 as described herein.
  • the device/package 900 may be, for example, any of the integrated circuits, dies, integrated devices, integrated device packages, integrated circuit devices, device packages, integrated circuit (IC) packages, package-on-package devices, system in package devices described herein.
  • the devices 902, 904, 906 illustrated in FIG. 9 are merely exemplary.
  • Other electronic devices may also feature the device/package 900 including, but not limited to, a group of devices (e.g., electronic devices) that includes mobile devices, hand-held personal communication systems (PCS) units, portable data units such as personal digital assistants, global positioning system (GPS) enabled devices, navigation devices, set top boxes, music players, video players, entertainment units, fixed location data units such as meter reading equipment, communications devices, smartphones, tablet computers, computers, wearable devices, servers, routers, electronic devices implemented in automotive vehicles (e.g., autonomous vehicles), or any other device that stores or retrieves data or computer instructions, or any combination thereof.
  • a group of devices e.g., electronic devices
  • devices that includes mobile devices, hand-held personal communication systems (PCS) units, portable data units such as personal digital assistants, global positioning system (GPS) enabled devices, navigation devices, set top boxes, music players, video players, entertainment units, fixed location data units such as meter reading equipment, communications devices, smartphones, tablet computers, computers, wearable devices, servers, routers, electronic devices
  • a software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
  • An exemplary storage medium is coupled with the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
  • an aspect can include a computer-readable media embodying any of the devices described above. Accordingly, the scope of the disclosed subject matter is not limited to illustrated examples and any means for performing the functionality described herein are included.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Memory System (AREA)
  • Error Detection And Correction (AREA)
EP17740597.4A 2016-08-26 2017-07-07 Link error correction in memory system Active EP3479241B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662380104P 2016-08-26 2016-08-26
US15/643,455 US10331517B2 (en) 2016-08-26 2017-07-06 Link error correction in memory system
PCT/US2017/041129 WO2018038813A1 (en) 2016-08-26 2017-07-07 Link error correction in memory system

Publications (2)

Publication Number Publication Date
EP3479241A1 EP3479241A1 (en) 2019-05-08
EP3479241B1 true EP3479241B1 (en) 2020-08-19

Family

ID=61242685

Family Applications (1)

Application Number Title Priority Date Filing Date
EP17740597.4A Active EP3479241B1 (en) 2016-08-26 2017-07-07 Link error correction in memory system

Country Status (20)

Country Link
US (1) US10331517B2 (zh)
EP (1) EP3479241B1 (zh)
JP (1) JP6630869B2 (zh)
KR (1) KR102045712B1 (zh)
CN (1) CN109643257B (zh)
AU (2) AU2017315303B2 (zh)
BR (1) BR112019003473A2 (zh)
CA (1) CA3032278C (zh)
CO (1) CO2019001630A2 (zh)
ES (1) ES2829331T3 (zh)
IL (1) IL264303B (zh)
MX (1) MX2019002194A (zh)
MY (1) MY201067A (zh)
PH (1) PH12019500160A1 (zh)
RU (1) RU2710977C1 (zh)
SA (1) SA519401035B1 (zh)
SG (1) SG11201900375YA (zh)
TW (1) TWI684102B (zh)
WO (1) WO2018038813A1 (zh)
ZA (1) ZA201901194B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107039086B (zh) * 2017-05-17 2024-08-30 西安紫光国芯半导体有限公司 具有兼容不同数据长度的纠错功能的存储器和纠错方法
US10387242B2 (en) 2017-08-21 2019-08-20 Qualcomm Incorporated Dynamic link error protection in memory systems
US10725912B2 (en) * 2018-12-19 2020-07-28 Micron Technology, Inc. Power loss protection in memory sub-systems
US11537464B2 (en) * 2019-06-14 2022-12-27 Micron Technology, Inc. Host-based error correction
US11372717B2 (en) * 2019-08-30 2022-06-28 Qualcomm Incorporated Memory with system ECC
CN110750406B (zh) * 2019-10-29 2023-10-31 湖南国科微电子股份有限公司 一种检测方法、装置和soc芯片
US11493949B2 (en) * 2020-03-27 2022-11-08 Qualcomm Incorporated Clocking scheme to receive data
US11728003B2 (en) 2020-05-12 2023-08-15 Qualcomm Incorporated System and memory with configurable error-correction code (ECC) data protection and related methods
US11157359B2 (en) * 2020-09-24 2021-10-26 Intel Corporation Techniques to implement a hybrid error correction code scheme
KR20230021409A (ko) 2021-08-05 2023-02-14 에스케이하이닉스 주식회사 트레이닝동작을 수행하기 위한 반도체시스템
US11687273B2 (en) * 2021-09-29 2023-06-27 Micron Technology, Inc. Memory controller for managing data and error information
CN114006819A (zh) * 2021-11-03 2022-02-01 北京天融信网络安全技术有限公司 一种检测策略生成及装置、数据传输方法及装置
US12073901B2 (en) * 2021-11-30 2024-08-27 Qualcomm Incorporated Hybrid memory system with increased bandwidth
US20240126438A1 (en) * 2022-10-18 2024-04-18 Qualcomm Incorporated Metadata registers for a memory device

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2154897C2 (ru) * 1995-04-03 2000-08-20 Матсусита Электрик Индастриал Ко., Лтд. Система передачи информации, устройство записи и воспроизведения информации, а также носитель записи, использующие формат представления данных на основе кода с исправлением ошибок
US7032056B2 (en) * 2003-05-08 2006-04-18 International Business Machines Corporation Encoding of message onto strobe signals
KR100978268B1 (ko) * 2004-07-15 2010-08-26 엘에스산전 주식회사 분산 제어 시스템의 고속 이중화 데이터 복사 보드
KR100755371B1 (ko) 2005-05-03 2007-09-04 삼성전자주식회사 반도체 메모리 장치 및 이 장치의 데이터 스트로우브 신호발생방법
CN101060015A (zh) * 2007-05-23 2007-10-24 北京芯技佳易微电子科技有限公司 一种多比特闪存及其错误检测和纠正的方法
EP2223301A4 (en) 2007-12-21 2012-04-04 Mosaid Technologies Inc NON-VOLATILE SEMICONDUCTOR ARRANGEMENT WITH POWER SAVING FEATURE
US8255783B2 (en) 2008-04-23 2012-08-28 International Business Machines Corporation Apparatus, system and method for providing error protection for data-masking bits
US8341498B2 (en) * 2010-10-01 2012-12-25 Sandisk Technologies Inc. System and method of data encoding
US8707133B2 (en) * 2011-12-05 2014-04-22 Lsi Corporation Method and apparatus to reduce a quantity of error detection/correction bits in memory coupled to a data-protected processor port
CN102546755A (zh) * 2011-12-12 2012-07-04 华中科技大学 云存储系统的数据存储方法
US8990670B2 (en) * 2012-09-28 2015-03-24 Intel Corporation Endurance aware error-correcting code (ECC) protection for non-volatile memories
US9064606B2 (en) 2012-12-20 2015-06-23 Advanced Micro Devices, Inc. Memory interface supporting both ECC and per-byte data masking
US9164834B2 (en) * 2013-05-06 2015-10-20 Samsung Electronics Co., Ltd. Semiconductor memory devices, memory systems including the same and method of writing data in the same
CN105468292B (zh) * 2014-09-05 2019-04-23 群联电子股份有限公司 数据存取方法、存储器储存装置及存储器控制电路单元
US9558066B2 (en) * 2014-09-26 2017-01-31 Intel Corporation Exchanging ECC metadata between memory and host system
KR102438552B1 (ko) * 2015-02-04 2022-09-01 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작방법
US9965352B2 (en) * 2015-11-20 2018-05-08 Qualcomm Incorporated Separate link and array error correction in a memory system
US20180059976A1 (en) * 2016-08-26 2018-03-01 Sandisk Technologies Llc Storage System with Integrated Components and Method for Use Therewith

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Also Published As

Publication number Publication date
SG11201900375YA (en) 2019-03-28
CN109643257B (zh) 2020-07-03
AU2017315303B2 (en) 2020-06-18
US20180060171A1 (en) 2018-03-01
ZA201901194B (en) 2020-12-23
WO2018038813A1 (en) 2018-03-01
SA519401035B1 (ar) 2021-11-06
PH12019500160A1 (en) 2019-11-11
CO2019001630A2 (es) 2019-05-10
AU2017315303A1 (en) 2019-02-07
AU2019222960A1 (en) 2019-09-26
MY201067A (en) 2024-02-01
MX2019002194A (es) 2019-06-24
TWI684102B (zh) 2020-02-01
CA3032278A1 (en) 2018-03-01
TW201810056A (zh) 2018-03-16
CN109643257A (zh) 2019-04-16
EP3479241A1 (en) 2019-05-08
CA3032278C (en) 2021-01-12
IL264303B (en) 2019-08-29
KR20190043540A (ko) 2019-04-26
NZ750205A (en) 2020-10-30
JP2019525356A (ja) 2019-09-05
KR102045712B1 (ko) 2019-11-15
US10331517B2 (en) 2019-06-25
ES2829331T3 (es) 2021-05-31
JP6630869B2 (ja) 2020-01-15
RU2710977C1 (ru) 2020-01-14
IL264303A (en) 2019-02-28
AU2019222960B2 (en) 2020-10-15
BR112019003473A2 (pt) 2019-05-21

Similar Documents

Publication Publication Date Title
AU2019222960B2 (en) Link error correction in memory system
CN108351820B (zh) 在跨存储器链路传送纠正数据时保护ecc位置
CN108292248B (zh) 存储器系统中的单独链路和阵列纠错
US7475174B2 (en) Flash / phase-change memory in multi-ring topology using serial-link packet interface
US9015553B2 (en) Data integrity in memory controllers and methods
US8042023B2 (en) Memory system with cyclic redundancy check
US8694860B2 (en) System and method for data read of a synchronous serial interface NAND
US9704563B2 (en) Apparatus, method and system for performing successive writes to a bank of a dynamic random access memory
US20090177817A1 (en) Method and system for enhanced read performance in serial peripheral interface
NZ750205B2 (en) Link error correction in memory system
US20240311219A1 (en) Dynamic random access memory (dram) device with write error protection

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20190130

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20190625

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

INTG Intention to grant announced

Effective date: 20200204

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAJ Information related to disapproval of communication of intention to grant by the applicant or resumption of examination proceedings by the epo deleted

Free format text: ORIGINAL CODE: EPIDOSDIGR1

GRAL Information related to payment of fee for publishing/printing deleted

Free format text: ORIGINAL CODE: EPIDOSDIGR3

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

INTC Intention to grant announced (deleted)
GRAR Information related to intention to grant a patent recorded

Free format text: ORIGINAL CODE: EPIDOSNIGR71

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

INTG Intention to grant announced

Effective date: 20200618

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 1304730

Country of ref document: AT

Kind code of ref document: T

Effective date: 20200915

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602017021999

Country of ref document: DE

REG Reference to a national code

Ref country code: CH

Ref legal event code: NV

Representative=s name: MAUCHER JENKINS PATENTANWAELTE AND RECHTSANWAE, DE

REG Reference to a national code

Ref country code: SE

Ref legal event code: TRGR

REG Reference to a national code

Ref country code: NL

Ref legal event code: FP

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20201221

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20201120

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20201119

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20201119

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 1304730

Country of ref document: AT

Kind code of ref document: T

Effective date: 20200819

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20201219

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602017021999

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

REG Reference to a national code

Ref country code: ES

Ref legal event code: FG2A

Ref document number: 2829331

Country of ref document: ES

Kind code of ref document: T3

Effective date: 20210531

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

26N No opposition filed

Effective date: 20210520

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20210731

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20210707

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20210707

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20210731

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20170707

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: IT

Payment date: 20230712

Year of fee payment: 7

Ref country code: ES

Payment date: 20230802

Year of fee payment: 7

Ref country code: CH

Payment date: 20230801

Year of fee payment: 7

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: SE

Payment date: 20230710

Year of fee payment: 7

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20240613

Year of fee payment: 8

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: NL

Payment date: 20240617

Year of fee payment: 8

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20240613

Year of fee payment: 8

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200819

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20240613

Year of fee payment: 8