Abstract:
Several types of input pattern measurements are gated together to determine the point at which adjacent characters will be separated by a segmentation signal. One type of pattern is effective to segment the characters unless an inhibitory pattern has also been received. The second pattern type will segment the characters only after an initializing pattern has been received, but only if an inhibitory pattern has not been received. A third type of pattern is effective for segmentation only after the receipt of both an inhibitory pattern and a subsequent enabling pattern. The enabling pattern may also remove the effect of the inhibitory pattern upon some or all of the first two pattern types. When the pattern size exceeds a preset maximum width without having been segmented, all three pattern types are inhibited, the pattern is rescanned and segmented with a blank scan, and a forced segmentation is produced at predetermined points within the pattern. The pattern types for both segmentation and recognition purposes may be selected from a number of pattern subsets, each subset being identified with a character set in a particular font. The characters on a document are initially scanned using a general measurement set. The number of measurements belonging to a particular subset are then counted until a predetermined number of them has appeared. At this point, the measurement switch from the general set to the subset identified as the font which is being read.
Abstract:
A storage management mechanism resident on a storage controller maintains parity records on the storage units it services. The storage management mechanism includes a status map indicating, for each data block, the location of the corresponding parity block, and the status of the data block. If a single storage unit fails, the system continues to operate, and the storage management mechanism is placed in a failure operating mode. While in failure operating mode, the storage management mechanism checks the status map before accessing data on the failed storage unit. If the data has not yet been reconstructed, storage management first reconstructs the data in that block of storage by successively reading and accumulating an Exclusive-OR of the same blocks on all storage units in the parity group, including the parity block. The block of reconstructed data is stored in the location of the parity block, and the status map is updated to indicate that the block has been reconstructed. Once the data has been reconstructed, it is only necessary to read from or write to the former parity block directly. In the same manner, storage management will reconstruct a block of storage on the failed unit before writing to any corresponding block on a non-failed unit, if the block has not yet been reconstructed. In an alternate embodiment, spare areas of storage in the non-failing storage units are allocated to the reconstructed data. The total of these spare areas constitute a virtual spare storage unit. As data is reconstructed, it is placed in the virtual spare unit, and parity is maintained in the normal fashion.