Information searching apparatus

Abstract: The information searching apparatus in accord­ ance with the present invention comprises: a memory device having a plurality of banks and containing a plurality of types of information data to be searched, as arranged in block; a table memory device con­ taining, in table, the banks serving as the basis of the information to be searched, the number of changed banks and address data; and a table reading device for reading tabled information from the table memory device. This information searching apparatus is so ar­ ranged as to search the target information to be searched by obtaining the base bank information based on the tabled information from the table memory device, and by obtaining the number of changed banks and the address data of the base bank information. Further, this apparatus is arranged such that the user may learn synonyms and antonyms, or the translated terms, the phonetic symbols or the like of index words in dictionary data. Such data may be searched in a short period of time without any complicate opera­ tions, thereby to improve the learning efficiency.

Description: FIELD OF THE INVENTION The present invention relates to an information searching apparatus to be used in an electronic-type dictionary, an electronic-type learning machine or the like, which is adapted to search and display, with respect to an input index word, the meanings and/or the translated terms, the synonyms, the antonyms, the phonetic symbols, and the like. BACKGROUND OF THE INVENTION There is known a memory apparatus for storing a large quantity of information to be searched, which comprises a plurality of banks serving as memory units set according to the circuit restrictions and the like such as the number of address signal lines. To read such information stored in such a memory apparatus, it is required to designate the bank No. representing the bank containing the information, and the real address representing the area in this bank in which the information is being stored. A conventional information searching apparatus has a table memory unit containing the bank No. and the real address of each information to be searched, and is arranged such that the information stored in the memory is read by referring to this table memory unit. In the conventional information searching apparatus above-mentioned, the table memory unit should contain bank Nos. and real addresses, the number of each of which is the same as the number of information items to be searched. Accordingly, the memory capacity required for the information searching apparatus in its entirety is apt to be increased. In particular, when the increased number of banks is set so that a large quantity of information to be searched may be stored and searched, a further increased memory capacity is required. In this connection, there may be proposed a memory unit in which a plurality of types of information to be searched are arranged in one block to which a bank No. is given, and there are stored bank Nos. of which the number is the same as the number of the blocks. In this arrangement, however, if one block extends over two or more banks, one bank No. cannot correspond to one block. This not only makes it complicated to control the bank Nos., but also prevents the memory capacity required for the table memory unit from being minimized. This presents the problem that there cannot be readily stored and searched a large quantity of information of which the lengths are not always constant. SUMMARY OF THE INVENTION It is an object of the present invention to provide an information searching apparatus in which information to be searched may be simply controlled, and information to be searched having different lengths may be readily stored and searched. It is another object of the present invention to provide an information searching apparatus in which the memory capacity required for controlling information to be searched may be reduced and, even though a large quantity of information is stored and searched, this memory capacity is not excessively increased. In one aspect, this invention provides an information searching apparatus, comprising: information memory means for storing a plurality of information items to be searched, the information items being stored in a plurality of blocks, each block comprising two or more memory banks; said information searching apparatus being characterized by comprising secondary table memory means for storing, in respect of each information item to be searched, respective second address data comprising a number of changed banks and a real address, said number of changed banks being a difference between (a) a base bank No. indicating a top memory bank of the block containing the information item to be searched and (b) a bank No. indicating a target bank of said block said target bank containing the information item to be searched, said real address indicating a top address of an area of said target bank said area containing the information item to be searched, each group of said second address data relating to information items of a block being stored in a respective secondary table bank; primary table memory means for storing, in respect of each block, respective first address data comprising said base bank No., a secondary table bank No., and a secondary table address, said secondary table bank No. and said secondary table address indicating respectively the secondary table bank and a real address thereof where a top second address data of said group is stored; primary table reading means for reading, from said primary table memory means, a said first address data according to a block No. indicating the block wherein a target information item is stored; secondary table reading means for reading, from said secondary table memory means, a said secondary address data according to the secondary table bank No. and the secondary table address indicated by the read first address data, and an in-block information No. indicating where, in said secondary table bank, the real address of the target information item is stored; and information reading means for reading, from said information memory means, the target information item according to the base bank No. indicated by the read first address data, the number of changed banks and the real address indicated by the read second address data, the target memory bank being determined by adding the number of changed banks to the base bank No. According to the arrangement above-mentioned, when there are supplied (i) a block No. representing the block containing information item to be searched, and (ii) an in-block information No. representing where the real address of the information item to be searched is stored in the block in the secondary table memory means, the primary table reading means reads, from the primary table memory means, the base bank No. of the block containing the information item to be searched, the secondary table bank No. and the secondary table address, based on the block No. The secondary table reading means reads, from the secondary table memory means, the number of changed banks for the information item to be searched and the real address of the information item to be searched, based on the in-block information No., the secondary table bank No. and the secondary table address. The information reading means reads, from the information memory means, the information item to be searched, based on (i) the bank No. obtained by adding the base bank No. to the number of changed banks, and (ii) the real address of the information to be searched. Thus, the base bank No. stored in the primary table memory means is added to the number of changed banks stored in the secondary table memory means. Accordingly, even though one block extends over two or more banks, the bank No. of each information item to be searched may be obtained. Therefore, the information item to be searched may be readily read. Further, there may be stored the base bank Nos. of which the number is equal to the number of blocks. Further, there is required, for data as to the number of changed banks, a memory area smaller than that for the bank Nos. Accordingly, even though a large quantity of information to be searched is to be stored and searched, the memory capacity is not considerably increased. In another aspect, this invention provides a method of accessing from inputted source data, information items stored at respective addresses in respective memory banks, the method being characterized by the steps of producing first and second codes from said source data, using the first code to look up a base bank No., indicating a top memory bank of a block containing the information item to be retrieved and a first address, combining said first address with the second code to look up an offset and a second address, and then accessing said information item from said second address in a memory bank which is determined by combining said base bank No. and said offset. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 to Figure 8 show, in detail, information searching apparatus in accordance with the present invention; Figure 1 is a block diagram of the arrangement of a main portion of a control unit of the information searching apparatus; Figure 2 is a view illustrating a memory arrangement of a primary table memory unit, a secondary table memory unit and meaning data memory unit; Figure 3 is a flow chart illustrating the operations executed in a CPU; Figure 4 is a perspective view of the arrangement of the information searching apparatus; Figure 5 is a front view of the arrangement of the information searching apparatus; Figure 6 is a block diagram of the arrangement of a control unit; Figure 7 (a) to (c) are views illustrating the display examples of an LCD; and Figure 8 is a view illustrating the data arrangement in a word No. DESCRIPTION OF THE EMBODIMENTS The following description will discuss, with reference to Figs. 1 to 8, an embodiment of the present invention which is applied to an electronic-type dictionary apparatus as an information searching apparatus adapted to search and display the meanings of an index word when the spelling characters thereof are entered. As shown in Figs. 4 and 5, the electronic-type dictionary apparatus has an openable body 1 in the form of a pocket notebook. The body 1 is provided at the upper part of the left-hand portion 1a thereof with a liquid crystal display device (hereinafter referred to as LCD) 2 serving as display means for displaying data contents such as a message, a calculation result, an index word, the meanings thereof, and the like. The LCD 2 has a dot matrix arrangement. Input key groups 3a, 3b for entering a variety of information are respectively disposed at the right-hand portion 1b of the body 1 and at the the lower part of the LCD 2. These input key groups 3a, 3b form an input device 3. The input key group 3a is provided at the upper part thereof with a mode setting key group 4 for calling and setting a variety of functions of the electronic-type dictionary apparatus. The mode setting key group 4 includes an English-English dictionary key 4a for setting an English-English dictionary mode, and a variety of keys for respectively setting modes of calendar, schedule, calculation, telephone number and memo. The input key group 3a is provided at the centre part thereof with an alphabet key group 5 (for entering the characters from A to O) for entering character information in alphabet. The input key group 3a is also provided at the lower part thereof with a numerical value input key group 6 for entering numerical information when the apparatus is used as a calculator. Provision is made such that the numerical value input key group 6 is also used for entering character information in alphabet (characters from P to Z). In other words, the alphabet key group 5 and the numerical value input key group 6 form index word input keys 20 for entering English index words. A power-ON key 7, a power-OFF key 8 and other keys are disposed between the mode setting key group 4 and the alphabet key group 5. In the apparatus, the English-English dictionary key 4a also serves as the power-ON key 7, and vice versa. More specifically, provision is made such that, for example when the power-ON key 7 is operated, the English-English dictionary mode is set. Disposed at the lower part of the input key group 3b are an operation key group 9 including an index word searching key 9a for executing a search for an index word, and other input keys. Disposed under the operation key group 9 is a scroll key group 10 for scrolling the display screen. The following description will discuss the arrangement of a control unit of the electronic-type dictionary apparatus above-mentioned, with reference to Fig. 6. The control unit is housed in the body 1 and composed of a microcomputer with a CPU 11 centred. The CPU 11 is connected to the LCD 2 through an LCD driver 12. The LCD driver 12 is a driving circuit for driving the LCD 2 according to an instruction from the CPU 11. The various input keys of the input key groups 3a, 3b are connected to the CPU 11 through an I/O port 13. Accordingly, the CPU 11 may judge which input key has been pressed, based on the address of the I/O port 13. The body 1 of the electronic-type dictionary apparatus includes a ROM 14, a RAM 15 and an RTC (Real Time Clock) 16 each of which is connected to the CPU 11. The ROM 14 is a read-only memory having a plurality of banks and contains an operation program of the electronic-type dictionary apparatus and dictionary data such as index word data and the spelling characters thereof, and the like. As shown in Fig. 1 and Fig. 2, the ROM 14 includes: a meaning data memory unit 14c serving as information memory means for storing meaning data which are a plurality of types of information to be searched and which represent the meanings of a word corresponding to the spelling characters of each index word entered from the alphabet key group 5; a secondary table memory unit 14b serving as secondary table memory means containing (i) the number of changed banks which is the difference between (a) the base bank No. i.e., the top bank No. in the area of the meaning data memory unit 14c containing the first meaning data of the block containing the meaning data, each block being formed by the meaning data of, for example, 1024 words, and (b) the top bank No. in the area containing each meaning data, (ii) the meaning data real address which is the top address in the area containing each meaning data, such number of changed banks and meaning data real address being stored for each meaning data; and a primary table memory unit 14a serving as primary table memory means containing, for each block, (i) the top bank No. in the area of the meaning data memory unit 14c containing the number of changed banks and the meaning data real address of the first meaning data in the block, (ii) the secondary table bank No. serving as an address, and (iii) the secondary table address. The RAM 15 is a read/write random-access memory to be used for recording data entered from the input key groups 3a and 3b or at the time when the CPU 11 is operated. The RTC 16 is a real time clock which is a circuit for counting, in real time, current date and time according to a calendar based on the date and time initially set by the input key group 3a and the like. The body 1 of the electronic-type dictionary apparatus further incorporates batteries 17 for supplying power to the circuits above-mentioned. The batteries 17 are so arranged as to support the RAM 15 while the power of the electronic-type dictionary apparatus is turned OFF, so that the memory contents are held. Based on the operation program in the ROM 14, the CPU 11 executes a processing operation according to data entered from the input keys. The CPU 11 then executes a variety of functions after the processing result has been displayed on the LCD 2. For example, the CPU 11 is adapted to serve as primary table reading means which obtains (i) a block No. representing the block containing the meaning data to be searched, based on the spelling characters of an index word entered from the alphabet key group 5, and (ii) an in-block meaning data No. representing where the real address of the meaning data to be searched is stored in the block. The primary table reading means also reads, from the primary table memory unit 14a, the base bank No. of the block containing the meaning data, the secondary table bank No. and the secondary table address, based on the block No. The CPU 11 is also adapted to serve as secondary table reading means which reads, from the secondary table memory unit 14b, the number of the changed banks for the meaning data to be searched and the meaning data real address, based on the in-block meaning data No., the secondary table bank No. and the secondary table address. The CPU 11 is also adapted to serve as information reading means for reading, as information to be searched, the meaning data from the meaning data memory unit 14c based on the base bank No., the number of changed banks and the meaning data real address. As to the CPU 11 having the arrangement above-mentioned, the following description will discuss, with reference to a flow chart in Fig. 3, the operations executed in the CPU 11 adapted to display the meanings of a word corresponding to index word spelling characters entered from the alphabet key group 5 and the numerical value input key group 6. When the English-English dictionary key 4a or the power-ON key 7 is operated, the English-English dictionary mode is set. For example as shown in Fig. 7 (a), the initial screen requiring the entry of spelling characters of an index word is then displayed on the LCD 2 (S1). Then, the spelling characters of the index word are entered by operating the alphabet key group 5 and displayed on the LCD 2 (S2). For example, when an index word "pocket notebook" is entered from the alphabet key group 5, data are displayed as shown in Fig. 7 (b). Provision may be made such that there may be received, at the step S2, not only the entry of spelling characters of an index word, but also the operation for instructing the display of words stored before and after the currently displayed words. When the operation of an index word searching key 9a is received (S3) and the index word searching key 9a is operated, the word having spelling characters identical with those entered from the alphabet key group 5 is searched in the index word spelling characters stored in the ROM 14, and the index word data corresponding to the entered spelling characters are read from the ROM 14 and held in the RAM 15 (S4). For example, when the spelling characters "pocket notebook" as shown in Fig. 7 (c) have been entered, the index word data representing "pocket notebook" are read and held. Also, the RAM 15 holds the word No. set for the searched index word (S5). For example as shown in Fig. 8, the word No. has (i) upper 6 bits serving as a block No. X which represents the block containing the meaning data to be searched, and (ii) lower 10 bits serving as the in-block meaning data No. Y which represents where the real address of the meaning data to be searched is stored in the block in the secondary table memory unit 14b. Based on the block No. X on the upper 6 bits of the word No., there are read from the primary table memory unit 14a (S6) and held in the RAM 15 (S7), the base bank No. A of the block containing the meaning data, the secondary table bank No. P and the secondary table address p . More specifically, for example when the data amount of the base bank No. A, the secondary table bank No. P and the secondary table address p per block in the primary table memory unit 14a, is equal to α bytes, there are read and held the data stored in an area of α bytes on and after the address of block No. X x α in the primary table memory unit 14a. Further, based on (i) the in-block meaning data No. Y on the lower 10 bits of the word No., and (ii) the secondary table bank No. P and the secondary table address p held as read from the primary table memory unit 14a, there are read from the secondary table memory unit 14b (S8) and held in the RAM 15 (S9), the number of changed banks A Y ′ for the meaning data to be searched and the meaning data real address a Y . More specifically, for example when the data amount of the number of changed banks A Y ′ and the meaning data real address a Y per one meaning data in the secondary table memory unit 14b, is equal to β bytes, there are read and held data stored in an area of β bytes on and after the address represented by the secondary table address p + (in-block meaning data No. Y x β) of the bank represented by the secondary table bank No. P in the secondary table memory unit 14b. Based on the base bank No. A, the number of changed banks A Y ′ and the meaning data real address a Y , the meaning data are read from the meaning data memory unit 14c (S10). In other words, there are read the meaning data stored on and after the address represented by the meaning data real address a Y in the bank represented by (base bank No. A + the number of changed banks A Y ′) in the meaning data memory unit 14c, i.e., the meaning data representing the meanings of the word corresponding to the index word spelling characters entered from the index word searching key 9a. The index word data held in the RAM 15 and the meaning data read from the meaning data memory unit 14c are coded-data. These coded data are then developed in a display pattern (S11) and displayed on the LCD 2 (S12). For example, when the index word "pocket notebook" is entered from the alphabet key group 5 as shown above, there are displayed the index word "pocket notebook" and a string representing the meanings of "pocket notebook", i.e., " ⋄ a small-size notebook used for recording data". Accordingly, even though one block extends over two or more banks, the respective bank Nos. for the meaning data may be readily obtained by adding the base bank No. A to the number of changed banks A Y '. Accordingly, even though a bank No. has not been stored for each meaning data, there may be securely searched meaning data contained in a block extending over two or more banks. Further, it is sufficient to store the base bank Nos. of which the number is identical with the number of blocks. Accordingly, a great memory capacity is not required, even though a large quantity of data having different lengths such as the meaning data above-mentioned, are stored. According to the apparatus having the arrangement described above, even though one block extends over two or more banks, the bank Nos. of the respective information data to be searched may be readily obtained. Therefore, the information data to be searched having different lengths, may be stored and searched without any complication of the control of the bank Nos. or the like. Further, the memory area for storing the bank Nos. and the like may be small. Accordingly, even though a large quantity of information is to be stored and searched, no considerable increase in memory capacity is required. Therefore, a large quantity of information data to be searched having different lengths may be readily stored and searched. An embodiment of the invention being thus described, it will be obvious that the same may be varied in many ways within the scope of the invention, as defined by the claims. There are described above features which the skilled man will appreciate give rise to advantages.

Claims: An information searching apparatus, comprising: information memory means (14c) for storing a plurality of information items to be searched, the information items being stored in a plurality of blocks (X;X+1), each block comprising two or more memory banks (A...;B...); said information searching apparatus being characterized by comprising secondary table memory means (14b) for storing, in respect of each information item to be searched, respective second address data comprising a number of changed banks (A Y ') and a real address (a Y ), said number of changed banks (A Y ') being a difference between (a) a base bank No. (A) indicating a top memory bank of the block (X) containing the information item to be searched and (b) a bank No. (A+A Y ') indicating a target bank of said block (X) said target bank containing the information item to be searched, said real address (a Y ) indicating a top address of an area of said target bank said area containing the information item to be searched, each group of said second address data relating to information items of a block being stored in a respective secondary table bank (P;Q); primary table memory means (14a) for storing, in respect of each block, respective first address data comprising said base bank No. (A), a secondary table bank No. (P), and a secondary table address (p), said secondary table bank No. (P) and said secondary table address (p) indicating respectively the secondary table bank and a real address thereof where a top second address data (A₁',a₁) of said group is stored; primary table reading means (11) for reading, from said primary table memory means (14a), a said first address data (A,P,p) according to a block No. (X) indicating the block wherein a target information item is stored; secondary table reading means (11) for reading, from said secondary table memory means (14b), a said secondary address data (A Y ',a Y ) according to the secondary table bank No. (P) and the secondary table address (p) indicated by the read first address data, and an in-block information No. (Y) indicating where, in said secondary table bank (P), the real address (a Y ) of the target information item is stored; and information reading means (11) for reading, from said information memory means (14c), the target information item according to the base bank No. (A) indicated by the read first address data, the number of changed banks (A Y ') and the real address (a Y ) indicated by the read second address data, the target memory bank (A+A Y ') being determined by adding the number of changed banks (A Y ') to the base bank No. (A). An information searching apparatus according to claim 1, wherein the information items are dictionary data relating to respective index words which can be input by a user. An information searching apparatus according to claim 2, wherein, in respect of each index word, there is stored a word No. composed of: (i) the No. of the block (X) containing the dictionary data relating to that index word and (ii) an in-block information No. (Y). An information searching apparatus according to any one of claims 1 to 3, wherein an address of said first address data (A,P,p) in the primary table memory means (14a) is determined by the product of (i) the block No. (X), indicating the block wherein a target information item is stored and (ii) the number of bytes (α) of each first address data. An information searching apparatus according to any one of claims 1 to 4, wherein an address of said second address data (A Y ',a Y ) in the secondary table memory means (14b) is determined by the sum of (i) said secondary table address (p) indicated by the first address data and (ii) the product of said in-block information No. and the number of bytes (β) of each second address data. An information searching apparatus according to any preceding claim, further comprising a liquid crystal display device (2) having a dot matrix arrangement for displaying searched information. An information searching apparatus according to any preceding claim, further comprising mode setting means formed by a key group (4) in a matrix arrangement, or a click such as a mouse, whereby there may be selectively set a variety of modes such as an English-English dictionary mode, a calendar mode, a schedule mode, a calculation mode, a telephone number mode, or a memo mode. An information searching apparatus according to any preceding claim, further comprising: a CPU (11) serving as a central processing unit for processing operations of said apparatus in the entirety thereof; an I/O port (13) through which data are entered in and supplied from said apparatus; a ROM (14) serving as a read-only memory containing an operation program of said apparatus; a RAM (15) serving as a read/write random-access memory for storing data entered by a user and for temporarily writing data while said CPU is under operation; and a real time clock (16) serving as a circuit for counting, in real time, current date and time. An information searching apparatus according to claim 2, or any claim dependent thereon, wherein the information memory means has an arrangement including a meaning data memory unit (14c) for storing meaning data corresponding to spelling characters of said index words. An information searching apparatus according to claim 8, wherein said ROM (14) has an arrangement including said primary table memory means (14a), said secondary table memory means (14b) and said information memory means (14c). An information searching apparatus according to claim 8, wherein said CPU (11) has an arrangement including said primary table reading means, said secondary table reading means and said information reading means. An information searching apparatus according to any preceding claim, the apparatus being in the form of an electronic pocket notebook (1). A method of accessing from inputted source data, information items stored at respective addresses in respective memory banks, the method being characterized by the steps of producing first and second codes (X,Y) from said source data, using the first code (X) to look up a base bank No. (A), indicating a top memory bank of a block (X) containing the information item to be retrieved and a first address (Pp), combining said first address (Pp) with the second code (Y) to look up an offset (A Y ') and a second address (a Y ), and then accessing said information item from said second address (a Y ) in a memory bank (A+A Y ') which is determined by combining said base bank No. (A) and said offset (A Y '). A method of accessing information items according to claim 13, wherein the information item consists of dictionary data relating to respective index words. A method of accessing information items according to claim 14, wherein, in respect of each index word, there is provided a word No. composed of said first (X) and second (Y) codes.

Inventors: FUJIWARA TOSHIAKI, KIHARA YOSHIRO, NAKASUJI MASATAKA, FUJIWARA, TOSHIAKI, KIHARA, YOSHIRO, NAKASUJI, MASATAKA
Applicants: SHARP KK, SHARP KABUSHIKI KAISHA
Application year: 1989
Main classification: G06F15
IPC codes: G06F15, G06F17