Patent EP-0139816-B1 (EP)
IPC: G06F17/30
Filed: 1984-03-29
Granted: 1987-01-28
Abstract: 1. A method of finding data specified by a given search argument from a data sequence in an arbitrary combination composed of equal value, standard units for comparison, e.g. characters or bytes consisting of eight bits, which sequence is transferred for checking purpose to a logic-linking arrangement which forms associative functions and the search argument is shifted anlog the data sequence to be checked, commencing from one end thereof and advancing in stepped fashion, in each case by one unit, until either the data specified by the search argument has been found or the entire data sequence has been checked, characterised in that : the data sequence to be checked is sub-divided into data sub-sequences (x, y, z) of equal length and these data sub-sequences are fed consecutively but in each case in parallel via a two-stage buffer store (PSP) to the logic-linking arrangement (ASS-FL) which performs the checking procedure ; that at the beginning of a first search phase a part (ARG1), corresponding to the operating breadth of the logic-linking arrangement (ASS-FL) of the search argument (ARG) is made available for analysis and in a first checking step the logic-linking arrangement (ASS-FL) checks the data sub-sequence (e.g. x) contained in the first stage (ST1) of the buffer store (PSP) ; that in each case of non-identity the first part (ARG1), of the search argument (ARG) made available is cyclically shifted by one unit, and with each shift each data character, thereby excluded from the checking procedure, from the first stage (ST1) of the buffer store (PSP) is replaced by a corresponding data character from the second stage (ST2) of the buffer store (PSP) and the checking procedure is repeated until a matching co-incidence (TGES ) occurs and a second search phase is initiated ; that at the beginning of the second and any following search phases, whilst maintaining the shift which occurred at the end of the first search phase, the next part (e.g. ARG2) of the search argument (ARG) is checked with the data character sequence (x/ya) obtained as a result of reloading the buffer store (PSP) and is available in the first stage (ST1) of the buffer store (PSP), until the entire search argument (ARG) has been processed ; that, in contrast, if there is no matching co-incidence during one of the search phases which follows the first search phase, the search procedure is interrupted and a new first search phase is reinitiated ; and that whenever the first search phase is reinitiated during a search procedure, the first part (e.g. ARG1) of the search argument (ARG) which has been made available, is shiftes by one unit from the last reached shift position and the checking is continued from the data sub-sequence which prevailed at the end of the first search phase of the preceding, interrupted search procedure, where data characters from the first stage (ST1) of the buffer store (PSP), which have been excluded from the checking procedure as a result of the shifting of the search argument, are again replaced by corresponding data characters from the second stage (ST2) of the buffer store (PSP).