This application claims the benefit of Korean Patent Application No. 10-2007-0035485 filed on Apr. 11, 2007, the disclosure of which is incorporated in its entirety by reference.
1. Field of the Invention
Embodiments of the invention relate to semiconductor memory devices. More particularly, embodiments of the invention relate to a multipath accessible semiconductor memory device adaptable between a plurality of processors.
2. Discussion of Related Art
In general, a semiconductor memory device having a plurality of access ports is called a multiport memory. A memory device having two access ports is called a dual-port memory. A typical dual-port memory is used as an image processing video memory having a RAM (Random Access Memory) port accessible in a random sequence and a SAM (Serial Access Memory) port accessible only in a serial sequence. A dynamic random access memory (DRAM) is configured to read from or write to a shared memory area in a memory cell array through a plurality of access ports. A DRAM that does not have a SAM port is referred to herein as a multipath accessible semiconductor memory device to distinguish it from the multiport memory device.
Multiprocessor systems have been utilized in mobile communication systems including, for example, handheld multimedia players, phones and PDAs, to obtain high speed communication. Such a system is illustrated in
Flash memories 301 and 302 may be a NOR type or NAND type. NOR flash memory or NAND flash memory is a nonvolatile memory having a transistor memory cell having a floating gate. The nonvolatile memory is adapted to store data regardless of the power state. DRAMs 401 and 402 function as main memories for data processing of corresponding processors 101 and 201. In a multi processor system, a DRAM must be assigned to each processor. Although UART, SPI, and SRAM interfaces may also be used, they can only accommodate low speed transmission. Thus, it is difficult to ensure a satisfactory data transmission speed which increases the size and cost of a corresponding memory configuration.
US Patent Application No. 2003/0093628 discloses a multiprocessor system having a shared memory area. A memory array is constructed of first, second and third portions. The first portion is accessed only by a first processor. The second portion is accessed only by a second processor and the third portion is a shared memory area accessed by the first and second processors. In this configuration, read/write paths for the first, second and third portions of the memory array are required. Typically, UART, SPI or SRAM interfaces have been used for communication between conventional processors (MODEM and application processors). Such interfaces compromise transmission speeds and increase device pin counts. Processors that share a memory area outside the allocated DRAM require transmission interfacing operation between processors through, for example, line B3. In addition, a flash memory is employed for each processor which further complicates the system while adding cost. Again, this interfacing compromises transmission speeds and increases device pin counts. As data traffic increases in three-dimensional game or image communications (HDPDA, wibro, etc.), high speed interfaces between multi processors is needed. Accordingly, in multiprocessor systems there is a need to share one DRAM and one flash memory and to interface between a particular processor using a multipath accessible DRAM that is not directly connected to a flash memory, but that can indirectly access the flash memory through the DRAM.
Exemplary embodiments of the present invention are directed to a semiconductor memory device having an interfacing function between multiple processors capable of indirectly controlling a flash memory. In an exemplary embodiment, the semiconductor memory device includes a shared memory area accessed by first and second processors via different input/output ports. The shared memory area is allocated to a portion of a memory cell array. A flash memory is located outside the shared memory area and is coupled to the second processor. An internal register located outside the memory cell array is accessed by the first and second processors. A control unit is configured to control the storage of address map data associated with the flash memory such that the first processor indirectly accesses the flash memory by using the shared memory area and the internal register even when only the second processor is coupled to the flash memory. The control unit is further configured to operationally connect the shared memory area to one of the first and second processors.
The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention, however, may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. In the drawings, like numbers refer to like elements throughout.
Referring to
Dedicated memory area A (10) is accessed by first processor 100 via first port 60. Dedicated memory area B including bank C (12) and bank D (13) is accessed by second processor 200 via second port 61. In addition, shared memory area 11 is accessed by first and second processors 100 and 200 via first and second ports 60 and 61. Memory bank B (11) is allocated as the shared memory area and banks A (10), C (12) and D (13) are allocated as the dedicated memory area for access by each corresponding processor. Each of the four memory areas 10-13 may be, for example, 64 Mb, 128 Mb, 256 Mb, 512 Mb or 1024 Mb.
A storage table area 110 is configured within shared memory area 11 to store address map data of flash memory 300. The address map data represents information of a logical address of flash memory 300 corresponding to a physical address. Internal register 50 functions as an interface unit between first and second processors 100 and 200 and may be a flip-flop, a data latch or SRAM cell. Internal register 50 may be classified as a semaphore area 51, a first mailbox area (mail box A to B: 52), a second mailbox area (mail box B to A: 53), a check (CHK) bit area 54, and a reserve area 55. Areas 51-55 may be enabled in common by a specific row address and are individually accessed by an applied column address. For example, when a row address 1FFF800h˜1FFFFFFh corresponding to a specific row area 121 of shared memory area 11 is accessed, area 121 of the shared memory area is disabled and internal register 50 is enabled. In semaphore area 51, control permission for shared memory area 11 is written. In first 52 and second 53 mailbox areas, a message given to a counter processor is written according to a predetermined transmission direction. This written message may be, for example, a permission request, transmission of data indicating a logical/physical address of flash memory or data size, or an address of shared memory to store data.
Control unit 30 initiates a control command to store address map data of flash memory 300 in storage table area 110. This control command allows first processor 100 to indirectly access flash memory 300 by utilizing the shared memory area 11 and internal register 50. This is done even when only second processor 200 is coupled to flash memory 300 and provides a path to operationally connect shared memory area 11 to one of the first 100 and second processors 200. A signal line R1 is connected from first port 60 to control unit 30 to transfer a first external signal applied via bus B1 from first processor 100. A signal line R2 is connected from second port 61 to control unit 30 to transfer a second external signal applied via bus B2 from second processor 200. First and second external signals may include a row address strobe signal RASB, write enable signal WEB and bank selection address BA which are individually applied via first and second ports 60 and 61. Signal lines C1 and C2 each transfer path decision signals to operationally connect shared memory area 11 to first port 61 or second port 62.
A local input/output line LIO (shown in
When path decision signal MA output from control unit 30 has an active state, read data transferred to global input/output line pair GIO, GIOB is transferred to input/output sense amplifier and driver 22 via second multiplexer 40. Input/output sense amplifier and driver 22 amplifies data having a weakened level according to the transfer procedures via the data path. Read data output from input/output sense amplifier and driver 22 is transferred to first port 60 via multiplexer and driver 26. At this time, the path decision signal MB is in an inactive state and second multiplexer 41 is disabled. Thus, the access operation of second processor 200 to shared memory area 11 is intercepted. In this manner, second processor 200 can access dedicated memory areas 12 and 13 via second port 61, but can not access shared memory area 11. When path decision signal MA output from control unit 30 is under the active state, write data applied via first port 60 is transferred to the global input/output line pair GIO, GIOB passing through multiplexer and driver 26, input/output sense amplifier and driver 22 and second multiplexer 40. When first multiplexer 7:F-MUX is activated, write data is transferred to local input/output line pair LIO, LIOB and is stored in selected memory cell 4. Output buffer and driver 60-1 and input buffer 60-2 may correspond to or be included in first port 60.
Two input/output sense amplifier and drivers 22 and 23 are disposed in shared memory area 11. Multiplexers 40 and 41 have mutually complementary operations to prevent the two processors from simultaneously accessing data from shared memory area 11. First processor 100 and second processor 200 commonly use the circuit devices and circuit lines existing between global input/output line pair GIO, GIOB to access memory cell 4. In particular, local input/output line pair LIO, LIOB are operationally connected to the global input/output line pair GIO, GIOB. Bit line pair BL, BLB is operationally connected to the local input/output line pair LIO, LIOB via column selection signal CSL. Bit line sense amplifier 5 installed on the bit line pair BL, BLB senses and amplifies data from the memory cell 4 via access transistor AT connected to bit line BL. An input/output sense amplifier and driver 24 is dedicated to memory area A (bank A) 10 and an input/output sense amplifier and driver 25 is dedicated to memory area B (bank B) 12.
As described above, by utilizing internal register 50 functioning as an interface unit, processors 100 and 200 perform data communication through commonly accessible shared memory area 11. Processor 100 indirectly accesses flash memory 300 which is connected to processor 200. In this manner, data communication between processors can be performed through the shared memory area without an external interface and a single flash memory may be commonly used in a multiprocessor system. In addition, when interfacing between processors via the interior of DRAM memory, a plurality of processors can access the allocated shared memory area at high speeds, thereby improving data transmission and reducing system size.
For example, when patch decision signal MA is applied with a logic low level, column address A_CADD applied via first port 60 is inverted through the inverter constructed of PMOS transistor P2 and NMOS transistor N1. This signal is inverted again through inverter INV1 and is output as selection column address SCADD. While path decision signal MB is applied with a logic high level, column address B_CADD, which can be applied through second port 61, can not be provided to an input terminal of the latch LA1 since an inverter constructed of PMOS transistor P4 and NMOS transistor N3 is in an inactive state. As a result, column address B_CADD is not output as selection column address SCADD. When an output of NOR gate NOR1 is a logic high, NMOS transistor N5 is turned on and a logic level latched to latch LA1 is reset to a logic low.
Generally, in an initialization step of a typical DRAM memory, auto refresh is performed twice and then a mode register set (MRS) signal is set. However, in this embodiment, the MRS signal is set before an initialization of the memory is complete. This prevents auto refresh from being performed. In order to perform the auto refresh operation, a control permission of shared memory area 11 may be allocated as the default for processor 200. When processor 100 attempts to use shared memory area 11 without permission, a signal requesting permission is sent to the processor 200 through first mailbox 52. First processor 100 periodically monitors semaphore area 51 in order to check whether control permission is obtained. When second processor 200 completes execution, semaphore area 51 is released. Thus, first processor 100 clarifies the release of semaphore area and obtains access permission to shared memory area 11 as the common resource as shown in step S10 of
In step S11, first processor 100 searches for a physical address corresponding to a logical address to which write data will be written referring to storage table area 110 of the shared memory area 11. For example, by accessing the address map table as illustrated in
Second processor 200, which periodically checks semaphore area 51, determines whether the transmit INTb signal is received at step S14. If signal INTB is received, second processor has access permission after reading flag data of semaphore area 51 at step S15. Second processor 200 acquires a use priority for shared memory area 11 and reads the contents written to the first mailbox area 52 in step S16. In step S17, the data written to shared memory area 11 is read and the data is written to a corresponding physical address of the flash memory 300 based on the contents of data read from first mailbox area 52. The write operation of flash memory 300 in step S17, is performed by applying a high voltage of about 12 to 18 volts to a memory cell transistor having a floating gate to generate an F-N tunneling operation. This write operation is typical for NAND or NOR flash memories.
When first processor 100 only handles the logical address of flash memory in the write operation, step S11 is skipped and the logical address of the flash memory is written in first mailbox area 52 in step S12. Second processor 200 searches for the physical address corresponding to the logical address based on the information from storage table area 110. Second processor 200 directly searches for an address map table allocated to the interior of flash memory 300.
Second processor 200, which periodically checks semaphore area 51, determines whether the transmit INTb signal is received at step S24. If signal INTB is received, second processor has access permission after reading flag data of semaphore area 51 at step S25. Second processor 200 acquires a use priority for shared memory area 11 and reads the contents written to first mailbox area 52 in step S26. In step S27, second processor 200 accesses flash memory 300 and reads data stored with the corresponding physical address designated by first processor 100 based on the contents read from first mailbox area 52. The data read is then written to a designated address of shared memory area 11 in step S28. In step S29, second processor 200 writes information to second mailbox area 53 and transmits the INTa signal. First processor 100 checks and clarifies semaphore area 51 and second mailbox area 53 and reads the data of flash memory 300 that the ASIC (Application Specific Integrated Circuit) 200 wrote to shared memory area 11 of DRAM 400.
The read operation of flash memory 300 is performed by applying a voltage lower than the voltage associated with the write operation to a memory cell transistor. This difference in voltage levels provides a means to determine whether a selected memory cell is an on-cell or off-cell. Although the method described with reference to
Flash memory 300 may also be a nonvolatile semiconductor memory such as a PRAM, RRAM, or MRAM etc. In addition, the four memory areas described above may be configured to have two memory areas as shared memory and two as dedicated memory, or all four memory areas may be configured as shared memory areas. The present embodiment has been described as including two processors. However, when three or more processors are employed, three or more corresponding ports may be adapted in one DRAM and one of three processors may be designated to access a predetermined shared memory. Furthermore, although DRAM is described above as an example, without limiting to that a technical spirit of the invention may be extended to a static random access memory or nonvolatile memory etc.
Although the present invention has been described in connection with the embodiment of the present invention illustrated in the accompanying drawings, it is not limited thereto. It will be apparent to those skilled in the art that various substitutions, modifications and changes may be made thereto without departing from the scope and spirit of the invention.
Number | Date | Country | Kind |
---|---|---|---|
10-2007-0035485 | Apr 2007 | KR | national |