Method and device for reducing read delay
6 claims: 2 independent, 4 dependent
- 1A method for reducing a read latency in a redundant array of independent disks, RAID, system comprising multiple flash chips, the method characterized by comprising:when one or more flash chips corresponding to a read command are in a busy state (41), setting data read from the one or more flash chips in a busy state to wrong data by constructing data that do not comply with a flash data check rule;and obtaining (42), according to the wrong data and data read from other flash chips, reconstructed correct data, and reporting the correct data;wherein the determining that the flash chips are in a busy state comprises: determining whether the flash chips are in a busy state by detecting busy/idle signal levels of each flash chip, by delivering a read state command, or by detecting busy/idle signal levels of each flash chip and delivering a read state command concurrently.
- 4An apparatus for reducing a read latency, wherein the apparatus is a redundant array of independent disks, RAID, apparatus comprising multiple flash chips, the apparatus characterized by comprising:an error setting unit (71), configured to: when one or more flash chips corresponding to a read command are in a busy state, set data read from the one or more flash chips in a busy state to wrong data by constructing data that do not comply with a flash data check rule;wherein the error setting unit comprises: a determining subunit, configured to determine whether the flash chips are in a busy state by detecting busy/idle signal levels of each flash chip, by delivering a read state command, or by detecting busy/idle signal levels of each flash chip and delivering a read state command concurrently;and a reconstructing and reporting unit (72), configured to obtain, according to the wrong data and data read from other flash chips, reconstructed correct data, and report the correct data.
Independent claims2
55 paragraphs in 5 sections, as filed
TECHNICAL FIELD
0001The present invention relates to the field of data storage technologies, and in particular, to a method and an apparatus for reducing a read latency.
BACKGROUND
0002Common data carriers in a storage field are a mechanical hard disk and a solid-state drive (SSD). Because the SSD has such advantages as high performance, a low delay, low power consumption, and powerful environmental adaptability and also costs of the SSD are on the decrease, the SSD is applied more widely at present.
0003The SSD is generally formed by an NAND flash chip. It has inherent problems such as bit transition and read interference, which causes errors of read data, and also has a limitation of erase and write times. Therefore, measures are taken to ensure reliability of the structure of the NAND flash chip and the SSD design. For example, the NAND flash chip includes one or more wafers inside, where each wafer includes multiple planes; each plane includes multiple blocks, and each block includes multiple pages.
0004A page is a basic unit of reading and writing data, and includes multiple bytes (for example, 2048+64 bytes), where every 512 bytes+16 bytes represent one error detection/error a block where the data is located must be first erased before new data is written to the flash chip. This is a basic feature of the flash chip.
0005During the working process, the SSD needs to execute an erase or write operation constantly, while the flash chip is in a busy state (which is represented by using a hardware pin R/B# of the chip; a high level represents a ready state, and a low level represents a busy state) when these two operations are executed, and therefore cannot further respond to the read operation. The read operation can be continued only after the erase or write operation is completed. Erasing a block of the NAND flash chip generally requires 3 ms, a write operation generally requires 900 us, while a read operation generally requires only 50 us. In this way, the erase and write operations block the read operation, which causes a large read latency and affects performance of the storage system. This phenomenon is more obvious in a scenario where there are extremely frequent erase or write operations.
0006<patcit id="pcit0001" dnum="US7945752B1"><text>US 7,945,752 B1</text></patcit> describes a technique for achieving consistent read latency from an array of non-volatile solid-state memories. The technique involves an external entity like an external buffer or an external data layout engine determining the status (busy/non busy) of non-volatile solid-state memory elements in a RAID group. The external entity manages write operations to the non-volatile solid-state memory elements in order to reduce the number of accesses to blocks of flash memory.
0007<patcit id="pcit0002" dnum="WO2008121306A2"><text>WO 2008/121306 A2</text></patcit> describes a memory system and method of operating the same, where the memory system is used to store data in a RAIDed manner. The writing of data, for low write data loads, is managed such that only one of the memory modules of a RAID stripe is being written to, or erased, during a time interval.
SUMMARY
0008To solve a problem that when a current storage device based on flash chips performs read, write, and erase operations concurrently, the read operation is blocked by the erase and write operations, and therefore a large read latency is caused, the present invention provides a method and an apparatus for reducing a read latency as defined by the independent claims.
0009Further embodiments are provided by the dependent claims.
0010Herein described is a method for reducing a read latency in a RAID system comprising multiple flash chips, the method including: <ul id="ul0001" list-style="none" compact="compact"><li>when one or more flash chips corresponding to a read command are in a busy state, setting data read from the one or more flash chips in a busy state to wrong data by constructing data that do not comply with a flash data check rule; and</li><li>obtaining, according to the wrong data and data read from other flash chips, reconstructed correct data, and reporting the correct data.</li></ul>
0011Herein described is an apparatus for reducing a read latency, wherein the apparatus is a RAID apparatus comprising multiple flash chips, including: <ul id="ul0002" list-style="none" compact="compact"><li>an error setting unit, configured to: when one or more flash chips corresponding to a read command are in a busy state, set data read from the one or more flash chips in a busy state to wrong data by constructing data that do not comply with a flash data check rule; and</li><li>obtaining, according to the wrong data and data read from other flash chips, reconstructed correct data, and reporting the correct data.</li></ul>
0012An embodiment of the present invention provides an apparatus for reducing a read latency, including: <ul id="ul0003" list-style="none" compact="compact"><li>an error setting unit, configured to: when one or more flash chips corresponding to a read command are in a busy state, set data read from the one or more flash chips in a busy state to wrong data; and</li><li>a reconstructing and reporting unit, configured to obtain, according to the wrong data and data read from other flash chips, reconstructed correct data, and report the correct data.</li></ul>
0013It can be seen from the foregoing technical solutions provided by the embodiments of the present invention, data read from a flash chip is set to wrong data, and reconstructed correct data is obtained according to the wrong data and data read from other flash chips. In this way, when the flash chip is in a busy state, it can be avoided that a read operation is blocked by an erase operation or a write operation, thereby effectively reducing latency and improving a performance of a storage system.
BRIEF DESCRIPTION OF DRAWINGS
0014To describe the technical solutions in the embodiments of the present invention more clearly, the following briefly introduces the accompanying drawings required for describing the embodiments. Apparently, the accompanying drawings in the following description show merely some embodiments of the present invention, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts. <ul id="ul0004" list-style="none" compact="compact"><li><figref idref="f0001">FIG. 1</figref> is a schematic structural diagram of an SSD device in combination with specific hardware according to an embodiment of the present invention;</li><li><figref idref="f0002">FIG. 2</figref> is a schematic structural diagram of an SSD controller according to an embodiment of the present invention.</li><li><figref idref="f0003">FIG. 3</figref> is an overall block flowchart of a method for reducing a read latency according to an embodiment of the present invention;</li><li><figref idref="f0004">FIG. 4</figref> is a schematic flowchart of a method for reducing a read latency according to an embodiment of the present invention;</li><li><figref idref="f0004">FIG. 5</figref> is a schematic structural diagram of an SSD device in combination with specific hardware and based on a RAID controller according to an embodiment of the present invention;</li><li><figref idref="f0005">FIG. 6</figref> is a schematic structural diagram of an SSD controller based on a RAID controller according to an embodiment of the present invention; and</li><li><figref idref="f0005">FIG. 7</figref> is a schematic structural diagram of an apparatus for reducing a read latency according to an embodiment of the present invention.</li></ul>
DESCRIPTION OF EMBODIMENTS
0015The following clearly and completely describes the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Apparently, the described embodiments are merely a part rather than all of the embodiments of the present invention. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
0016An embodiment of the present invention provides a method for reducing a read latency, including: when one or more flash chips corresponding to a read command are in a busy state, setting data read from the one or more flash chips in a busy state to wrong data; obtaining, according to the wrong data and data read from other flash chips, reconstructed correct data, and reporting the correct data. The technical solution provided by this embodiment is mainly applied in an SSD device which is formed by a host, an SSD controller, and flash chips of multiple channels, where the host reads and writes data in the flash chips by using the SSD controller. The hardware structure of the SSD device includes a server subrack in which a motherboard is set; the motherboard is installed with such chips as CPU, memory, and south bridge, and is configured to control other expansion cards and implement functions of the host; the SSD controller (controls flash chips in the SSD) may also use a chip such as FPGA and ASIC, and receives a read and write request from the host by programming this chip, and accesses and controls the flash chips in the SSD device in various manners. The chip corresponding to the SSD controller may be set together with each flash chip on one PCB board, where the chip and each flash chip are connected by using wires of the PCB, and are finally presented as a hard disk box, which is connected to the motherboard through an SATA interface or an SAS interface, or the flash chips and the SSD controller may be made into an expansion card, which is connected to the motherboard through a PCIe interface.
0017<figref idref="f0001">FIG. 1</figref> shows a structure of an SSD device in combination with specific hardware. As shown in <figref idref="f0002">FIG. 2</figref>, the structure of the SSD controller includes a host interface, an error detection/error correction module, and a transceiver module. The corresponding host interface is configured to receive various commands and corresponding addresses and data, for example, read data at an address or write data to an address. Currently, common interfaces include SATA, SAS, and PCIe; the transceiver module is configured to implement transceiving of data or commands; the error detection/error correction module is configured to ensure correctness of data taken from flash chips, and then report the data to the host; the error detection/error correction module mainly implements the following two functions: 1. Performing error detection and error correction on data of each flash channel and on check codes of the data, and invoking a RAID algorithm to restore the data if the data and check codes exceed a correction ability; 2. Executing the RAID algorithm, and if data of a channel has errors and the errors cannot be corrected, restoring the data of the channel by using correct data of other channels. The transceiver module is configured to receive data or state from flash chips on multiple channels where the data is further forwarded to the error detection/error correction module but the state is generally not returned to the host (but may also be returned to the host if the host needs the state; for example, the SATA interface may also query for a busy state of the SSD) and is used by the transceiver module, or convert a command from the host into a command that can be identified by the flash chips, or write data from the host to the flash chips of multiple channels, and also meet a requirement of the RAID algorithm for a data arrangement manner (that is, a strip manner).
0018<figref idref="f0003">FIG. 3</figref> is an overall block flowchart of a method for reducing a read latency according to an embodiment of the present invention. This embodiment is hereinafter described in detail with reference to the accompanying drawings of the specification. As shown in <figref idref="f0004">FIG. 4</figref>, the method includes:
0019Step 41. When one or more flash chips corresponding to a read command are in a busy state, set data read from the one or more flash chips in a busy state to wrong data.
0020When the host delivers a read command for reading data on flash chips, flash chips corresponding to address information are determined according to the address information included in the read command, that is, strips formed by these flash chips are determined. In addition, current states of the flash chips corresponding to the foregoing address information are queried for, that is, whether the flash chips are in a busy state. If a flash chip is in an idle state, data read from the flash chip is directly reported to an error detection/error correction module of an SSD device; if a flash chip is in a busy state, data read from the flash chip is set to wrong data, so that data forwarded to the error detection/error correction module does not comply with an internal check rule of the flash chip. For example, assuming that the check rule is an even parity, the transceiver module constructs a piece of data that does not comply with the even parity requirement, and enables the error detection/error correction module to find this error, so that the error detection/error correction module is triggered to execute the RAID algorithm to correct the wrong data on the flash chip of this channel.
0021The busy/idle states of flash chips of each channel may be implemented by using a software manner, a hardware manner, or a manner of combining software and hardware. Specific details are as follows:
0022(1) Software manner: The NAND flash chip provides a state register, and a value of the register may be obtained by using a chip state read command (read status). The busy/idle state of a flash chip can be known according to states 0 and 1 of a specified bit. When the host delivers a command for reading data, states of all flash chips corresponding to this command need to be read.
0023(2) Hardware manner: The NAND flash chip further provides an R/B# signal, and the R/B# signal may be connected to an SSD controller; the busy/idle state of a flash chip can be known by querying for a level state of a corresponding signal.
0024(3) Combination of software and hardware: The R/B# signal is an open-drain output, and may support a line AND connection manner. The R/B# signals of all flash chips of a same channel may be connected and then be connected to the controller. In this way, the total quantity of signal cables is greatly reduced. The SSD controller may know, by detecting a level of this line signal, whether there are flash chips in a busy state on a channel, and then differentiates, by using the read status command, which flash chip is in a busy state on this channel. If a flash chip where data that needs to be read is located is in an idle state, the data may be read directly; if the flash chip where data that needs to be read is located is in a busy state, the read data is set to wrong data.
0025In addition, the state query command (read status) of a flash chip is initiated without being affected by the busy/idle state of the flash chip; if this state query command is delivered by the host, after the transceiver module obtains the state of a flash chip on a corresponding channel, the state of the flash chip is not processed by the error detection/error correction module but is directly reported to the host because the state information is not processed by using the RAID algorithm.
0026In addition, the internal check rule of the flash chip may further use a Hamming code that has an error detection and correction ability, and the generated wrong data may have many options, which may be determined in advance during the design of the controller. This is because the flash chip in a busy state cannot respond to the command for reading data and the command is neglected. In this way, the data read by the SSD controller is uncertain, which means the data may pass or fail to pass the check of the error detection/error correction module. If the data passes the check, invalid data is reported as correct data. Therefore, to ensure reliability, wrong data must be constructed manually.
0027Step 42. Obtain, according to the wrong data and data read from other flash chips, reconstructed correct data, and report the correct data.
0028Specifically, the error detection/error correction module of the SSD device checks data of each channel respectively; if detecting wrong data, the error detection/error correction module corrects the wrong data by using the RAID algorithm; otherwise, the error detection/error correction module directly reports the data to the host. When the error detection/error correction module detects that the data read from a flash chip in a busy state has errors, the error detection/error correction module corrects the data by using the corresponding RAID algorithm, and then reports the data in combination with reconstructed data obtained from other channels to the host to finish a corresponding read operation.
0029After finding that data of a channel has errors and correcting the data, the error detection/error correction module generally counts the quantity of errors. When the counted quantity of errors exceeds a threshold, the error detection/error correction module reports the counted quantity of errors to the host, requiring to replace the whole SSD (in a scenario where flash chips cannot be replaced individually, for example, when the flash chips are soldered on the motherboard) or replace flash chips of a channel (in a scenario where the flash chips may be replaced individually, for example, the flash chips of each channel form a replaceable module). In this embodiment, channel data on the flash chip in a busy state is processed as wrong data, but the flash chip of this channel is not faulty. Therefore, this case needs to be differentiated to avoid wrong determination. A flag may be defined in the transceiver module, which is 0 by default. Each time when this module intends to construct wrong data and reports the constructed wrong data to the error detection/error correction module, the flag is set to 1; otherwise, the flag is set to 0. Then, the error detection/error correction module may determine, according to this flag, whether to add a value to the error counter.
0030In a process of reconstructing data, all erase commands and write commands of flash chips of each channel are sent by the transceiver module, but the RAID algorithm has a limited data reconstruction ability, for example, RAID5 can only correct errors on one channel. Therefore, the quantity of flash chips in a busy state in each strip at any time must be limited according to a specific RAID algorithm, which is implemented by the transceiver module. The transceiver module can ensure that the quantity of flash chips in a busy state in each strip does not exceed the data reconstruction ability of the RAID algorithm by controlling the quantity of erase commands and write commands sent to the flash chips of each channel each time and querying for busy/idle states of the flash chips of each channel in real time.
0031Because manually constructed wrong data is corrected in step 42, and the objective is to reconstruct data, problems of different sources may be processed in a unified manner, where the corresponding problems may be data errors of the flash chips or be that the flash chips are in a busy state, which helps to reuse the module.
0032This embodiment further provides a method for reducing a read latency by using a RAID controller. To further increase the error tolerance ability and increase performance, the SSD controller generally supports multiple channels, and multiple flash chips are connected to each channel and work in RAID mode. In addition, multiple flash chips store, according to the RAID algorithm, data and check codes in strip manner; when a flash chip is unavailable, data in this flash chip may be restored by using data read from other flash chips in the strip, thereby increasing reliability. There are various types of RAIDs. RAID4 and RAID5 are commonly used in the SSD, where RAID4 stores check codes in all flash chips of a channel, while RAID5 stores check codes in all the flash chips of multiple channels one by one.
0033Similar to the foregoing SSD controller, the RAID controller is also a common device used to increase performance and reliability of the storage system. The RAID controller is generally connected to the host through a PCI or a PCIe interface, and is further connected to a hard disk (may be a mechanical hard disk or an SSD) through multiple channels (for example, eight), where each channel uses an SAS or an FC interface and can be connected to only one hard disk, as shown in <figref idref="f0004">FIG. 5</figref>. <figref idref="f0005">FIG. 6</figref> shows an example of a specific scenario, where one expansion card in a rack server is a RAID card, and the RAID card includes a RAID controller connected to SSD controllers in multiple SSD hard disk boxes (including an SSD controller and multiple Flash chips); multiple expansion cards are still connected to a motherboard through a PCIe interface.
0034The RAID controller stores, according to the RAID algorithm, the data in multiple SSDs in strip manner; when the host delivers a read data request to the RAID controller through the PCI/PCIe interface, if an SSD is executing erase and write operations of the NAND flash chip and does not have a corresponding data reconstruction function, the RAID controller and the SSD must reconstruct data according to the manner used by the SSD controller and the NAND flash chip in the foregoing embodiment, that is, the RAID controller queries, by using a command, for busy/idle states of SSDs of each channel; for SSDs in a busy state, a data transceiver module inside the RAID controller sets data of this channel to wrong data, and reports the wrong data and valid data obtained of other channels to an error detection/error correction module inside the RAID controller; the error detection/error correction module inside the RAID controller first detects data of each channel, and if finding that data of the foregoing channel in a busy state is wrong, the error detection/error correction module reconstructs, according to the RAID algorithm, the wrong data by using data of other channels, and then reports the data to the host through the PCI/PCIe interface in a unified manner.
0035By using the technical solution provided by this embodiment, data read from a flash chip is set to wrong data, and reconstructed correct data is obtained according to the wrong data and data read from other flash chips. In this way, when the flash chip is in a busy state, it can be avoided that a read operation is blocked by an erase operation or a write operation, thereby effectively reducing latency and improving a performance of a storage system.
0036It should be noted that a person of ordinary skill in the art may understand that, all or a part of the steps of the foregoing method embodiments may be implemented by a program instructing relevant hardware. The corresponding program may be stored in a computer readable storage medium, where the storage medium may be a read-only memory, a magnetic disk, or an optical disc or the like.
0037An embodiment of the present invention further provides an apparatus for reducing a read latency, as shown in <figref idref="f0005">FIG. 7</figref>, including: <ul id="ul0005" list-style="none" compact="compact"><li>an error setting unit 71, configured to: when one or more flash chips corresponding to a read command are in a busy state, set data read from the one or more flash chips in a busy state to wrong data; and</li><li>a reconstructing and reporting unit 72, configured to obtain, according to the wrong data and data read from other flash chips, reconstructed correct data, and report the correct data.</li></ul>
0038This embodiment can perform corresponding programming on an SSD controller (for example, an FPGA or a similar hardware chip) or a RAID controller to make units and modules that can implement corresponding functions. All units and modules of the apparatus for reducing a read latency may be set in the SSD controller shown in <figref idref="f0002">FIG. 2</figref>, and may also be set in the RAID controller shown in <figref idref="f0004">FIG. 5</figref>.
0039Optionally, the error setting unit 71 may include: a determining subunit, configured to determine whether the flash chips are in a busy state by detecting busy/idle signal levels of each flash chip, by delivering a read state command, or by detecting busy/idle signal levels of each flash chip and delivering a read state command concurrently.
0040Optionally, in the error setting unit 71, the read command for reading data on the flash chips is received through an SATA interface, an SAS interface or a PCIe interface.
0041Optionally, the error setting unit 71 may further include: a reading subunit, configured to determine, according to a correspondence between an address field carried by a read command packet and addresses of the flash chips in an SSD, a correspondence between the read command and the flash chips.
0042Optionally, in the error setting unit 71, the setting data to wrong data includes: setting the read data to a combination of any data that does not comply with a flash data check rule.
0043Optionally, the reconstructing and reporting unit 72 may include: a reconstructing subunit, configured to: after an SSD controller receives sent wrong data and detects data errors, start an error correction function, and obtain the reconstructed correct data by using a data constraint relationship between multiple groups of flash storage units.
0044Optionally, the apparatus may further include: an error counting unit, configured to: when it is detected that the read data is wrong and a flag is 0, add 1 to an error counter; and when it is detected that the read data is wrong and the flag is 1, keep the error counter unchanged.
0045By using the solution provided by this embodiment, data read from a flash chip is set to wrong data, and reconstructed correct data is obtained according to the wrong data and data read from other flash chips. In this way, when the flash chip is in a busy state, it can be avoided that a read operation is blocked by an erase operation or a write operation, thereby effectively reducing latency and improving a performance of a storage system.
0046Specific implementation manners of the processing functions of each unit included in the foregoing apparatus for reducing a read latency have already been described in the preceding method embodiments, which are not repeatedly described herein.
0047The solution of the present invention may be described in a general context of a computer executable instruction executed by the computer, for example, a program unit. Generally, the program unit includes a routine, a program, an object, a component, and a data structure that executes a specific task or implements a specific abstract data type. The solution of the present invention may also be implemented in distributed computation environments. In these distributed computation environments, a remote processing device connected by using a communication network executes a task. In the distributed computation environments, the program unit may be located in local and remote computer storage media that include a storage device.
0048In each embodiment of the specification, description is provided by using a progressive way. Identical and similar parts in each embodiment may refer to each other, and each embodiment focuses on parts different from other embodiments. In particular, since the apparatus embodiments are basically similar to the method embodiments, the descriptions of the apparatus embodiments are relatively simple. For details about related contents, refer to the descriptions of the method embodiments. The described apparatus embodiment is merely exemplary. The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, that is, may be located in one position, or may be distributed on a plurality of network units. A part or all of the modules may be selected according to actual needs to achieve the objectives of the solutions of the embodiments. A person of ordinary skill in the art may understand and implement the technical solution without creative works.
0049A person of ordinary skill in the art may be aware that, in combination with the examples described in the embodiments disclosed in this specification, units and algorithm steps may be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of the present invention.
0050It may be clearly understood by a person skilled in the art that, for convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, reference may be made to a corresponding process in the foregoing method embodiments, and details are not described herein again.
0051In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely exemplary. For example, the unit division is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be neglected or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
0052The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, that is, may be located in one position, or may be distributed on a plurality of network units. A part or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
0053In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units may be integrated into one unit.
0054When the functions are implemented in a form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of the present invention essentially, or the part contributing to the prior art, or a part of the technical solutions may be implemented in a form of a software product. The software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform all or a part of the steps of the methods described in the embodiments of the present invention. The foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk, or an optical disc.
0055From the foregoing description of the embodiments, it may be clearly understood by a person skilled in the art that the present invention may be implemented by software plus necessary universal hardware, where the universal hardware includes a universal integrated circuit, a universal CPU, a universal memory, a universal device, and the like, and definitely may also be implemented by application-specific hardware, like an application-specific integrated circuit, an application-specific CPU, an application-specific memory, an application-specific device, and the like, but in many cases, the former one is preferred. Based on such an understanding, the technical solutions of the present invention essentially, or the part contributing to the prior art may be implemented in the form of a software product. The computer software product is stored in a readable storage medium, for example, a floppy disk, hard disk, or an optical disc of the computer, and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, and the like) to execute the methods described in each embodiment of the present invention.
Contents5
5 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| WO2008121306A2 | Cites | World Intellectual Property Organization (WIPO) |
| CN1287361A | Cites | China |
| CN102662608A | Cites | China |
| KR20090071337A | Cites | Republic of Korea |
| US7945752B1 | Cites | United States of America |
8 members in 4 offices; this record represents the family
Priority claims7
| Document | Office | Kind | Date |
|---|---|---|---|
| 201210095907 | China | – | |
| 201210095907 | China | A | |
| 2012082964 | China | W | |
| CN20121095907 | – | – | – |
| WO2012CN82964 | – | – | – |
| 201210095907 | – | – | – |
| CN2012082964 | – | – | – |
Members8
| Document | Office | Kind | |
|---|---|---|---|
| CN102662608A | China | A | |
| WO2013143273A1 | World Intellectual Property Organization (WIPO) | A1 | |
| EP2811392A1 | European Patent Office (EPO) | A1 | |
| US2015019918A1 | United States of America | A1 | |
| EP2811392A4 | European Patent Office (EPO) | A4 | |
| CN102662608B | China | B | |
| US9542271B2 | United States of America | B2 | |
| EP2811392B1This record | European Patent Office (EPO) | B1 |
72 legal events, as 9 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Gb: european patent ceased through non-payment of renewal feeCeasedGBPC | GBPC | EP | |
| Lapsed because of non-payment of the annual feeLapsedMM | MM | BE | |
| Patent ceasedCeasedPL | PL | CH | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| No opposition filedOpposition26N | 26N | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| No opposition filed against granted patent, or epo opposition proceedings concluded without decisionGrantedR097 | R097 | DE | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent invalid in the netherlands as no translation has been filedMP | MP | NL | |
| Deletion acc. to par. 5 (withdrawal of the translation of the ep patent)MK05 | MK05 | AT | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Invalidation of extension of european patentsMG9D | MG9D | LT | |
| Dpma publication of mentioned ep patent grantGrantedR096 | R096 | DE | |
| European patents granted designating irelandGrantedFG4D | FG4D | IE | |
| European patent takes effect as a national patent in ch/liEP | EP | CH | |
| Reference to at number (ep patent validated in austria)REF | REF | AT | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedFG4D | FG4D | GB | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: THE PATENT HAS BEEN GRANTEDSTAA | STAA | EP | |
| Grant fee paidORIGINAL CODE: EPIDOSNIGR3GRAS | GRAS | EP | |
| Intention to grant announcedINTG | INTG | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: GRANT OF PATENT IS INTENDEDSTAA | STAA | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: EXAMINATION IS IN PROGRESSSTAA | STAA | EP | |
| Request for extension of the european patent (deleted)DAX | DAX | EP | |
| Supplementary search report drawn up and despatched (corrected)RA4 | RA4 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Request for extension of the european patentAX | AX | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 2811392
- Publication, DOCDB
- 2811392
- Publication, EPODOC
- EP2811392
- Application
- 128725546
- Application, DOCDB
- 12872554
- Application, EPODOC
- EP20120872554
Titles3
- German
- VERFAHREN UND VORRICHTUNG ZUR REDUZIERUNG EINER LESEVERZÖGERUNG
- English
- METHOD AND DEVICE FOR REDUCING READ DELAY
- French
- PROCÉDÉ ET DISPOSITIF PERMETTANT DE RÉDUIRE LE DÉLAI DE LECTURE
Classification
- CPC, 8
- G06F11/108
- G06F11/1088
- G06F11/1092
- G06F2212/262
- G06F2212/7208
- G06F11/0766
- G06F11/167
- G06F2201/845
- IPC, 2
- G06F3 06
- G06F11 10
Designated states1
- Contracting states, 1
- Türkiye
