KR20160112191A - Device memory access method - Google Patents
Device memory access method Download PDFInfo
- Publication number
- KR20160112191A KR20160112191A KR1020150037441A KR20150037441A KR20160112191A KR 20160112191 A KR20160112191 A KR 20160112191A KR 1020150037441 A KR1020150037441 A KR 1020150037441A KR 20150037441 A KR20150037441 A KR 20150037441A KR 20160112191 A KR20160112191 A KR 20160112191A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- area
- address
- host
- index
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
The present invention relates to a device memory access method for efficiently accessing a device (modem) memory that is larger than a host address, the method comprising: initializing a shadow index for memory access; Determining whether the host address is included in the range of the set area of the memory; If the host address is included in the range of the set area of the memory, the index is set. If the host address is smaller than MAX_SIZE (Internal SRAM + Data SRAM) for one area of the memory, the offset value relative to the start address of BaseAddress To Address; If the host address belongs to VALID_RANGE, setting the address as the io_base start address value of the memory and offset as the calculated host address; If the index value is different from the shadow index (shadow_index), the new index value is set in the BaseAddrReg existing in the SFR area of the memory, the index value is stored in the shadow_index, and the data is written ).
Description
The present invention relates to a device memory access method, and more particularly, to a device memory access method for efficiently accessing a device (modem) memory larger than a host address.
In general, a device (modem) memory can be divided into an SFR area, a data SRAM area, an internal SRAM area, and other areas.
A general procedure for accessing such a device memory will be described with reference to FIG.
1 is a diagram illustrating an example of a process of accessing a device memory from a general host.
As shown in FIG. 1, the internal SRAM of the
If the internal SRAM area is smaller than the internal SRAM area, the buffer area can be used instead.
In general, a host can directly access the internal memory of the device (modem) to exchange data with each other, and access special function registers (SFRs) to access special functions provided by the modem.
In FIG. 1, the
However, the host 2 (11) has a 16-bit address, so that only the partial memory area (0x0000_0000 to 0x0010_0000) of the memory in the
Therefore, research and development are needed to efficiently access to a device (modem) memory that is larger than the host address.
SUMMARY OF THE INVENTION It is an object of the present invention to provide a device memory access method capable of efficiently accessing a device (modem) memory larger than a host address.
According to another aspect of the present invention, there is provided a device memory access method including: initializing a shadow index for accessing a memory; Determining whether the host address is included in the range of the set area of the memory; If the host address is included in the range of the set area of the memory, the index is set. If the host address is smaller than MAX_SIZE (Internal SRAM + Data SRAM) for one area of the memory, the offset value relative to the start address of the BaseAddress To Address; If the host address belongs to VALID_RANGE, setting the address as the io_base start address value of the memory and offset as the calculated host address; If the index value is different from the shadow index (shadow_index), the new index value is set in the BaseAddrReg existing in the SFR area of the memory, the index value is stored in the shadow_index, and the data is written ). ≪ / RTI >
When the host address is included in the range of the set area of the memory, the index is set to 2 when the host address is included in the first area (BASE_2) set in the memory, and the host address is set in the memory And the index is set to 3 when included in the second area BASE_3.
Determining whether the host address is included in the range of the SFR area of the memory when the host address is not included in the set area of the memory; As a result of the determination, if the host address is included in the range of the SFR area of the memory, the base is determined as the SFR area base, and it is determined that the host address belongs to the SFR (Special Function Range) area and the offset address is set as the SFR start address .
When the host address is included in the range of the SFR area of the memory, the host further includes a step of writing data into the memory area of the base + offset address.
If the host address is not smaller than MAX_SIZE (Internal SRAM + Data SRAM), it is determined that the host address is out of the range of MAX_SIZE (Internal SRAM + Data SRAM), and memory access is terminated.
MAX_SIZE for one area of the memory is an area where the internal SRAM area and the data SRAM area of the memory are combined.
According to the present invention, in order to reduce the size and cost of a host chip recently, address lines can be efficiently accessed to devices having a memory area larger than a host address in accordance with a tendency to decrease gradually. For example, You can access up to 96k memory area.
BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 shows an example of an address range for accessing a device memory in a general host. Fig.
Fig. 2 shows an example of an address range for accessing a device memory in a host according to the present invention; Fig.
3 is a diagram illustrating an example of a BaseAddress-based access window when a host accesses a device memory.
4 is a flowchart illustrating a method of calculating a BaseAddress-based address in accessing a device memory according to the present invention.
5 is a diagram illustrating a memory mapping method between a host and a device memory.
BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being 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 concept of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like numbers refer to like elements throughout.
In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions in the embodiments of the present invention, which may vary depending on the intention of the user, the intention or the custom of the operator. Therefore, the definition should be based on the contents throughout this specification.
Hereinafter, a device memory access method according to the present invention will be described in detail with reference to the accompanying drawings.
FIG. 2 is a diagram illustrating an example of an address range for accessing a device memory in a host according to the present invention. FIG. 3 is a diagram illustrating an example of a BaseAddress-based access window when accessing a device memory from a host. FIG. 5 is a diagram illustrating a method of mapping a memory between a host and a device memory according to an embodiment of the present invention; FIG. 5 is a flowchart illustrating an operation flow chart for calculating a BaseAddress-
2, the
As shown in FIG. 2, in order to access the data buffer area (internal SRAM part) + data SRAM area of the
In this case, BaseAddress can access the Host BaseAddr Register in the SFR area of the
Therefore, Host 2 (11) requires two Chip Select (HCS1, HCS2) lines. FIG. 4 specifically shows a method of accessing the address area within 64 k according to the BaseAddress value.
As shown in FIG. 2, since the Code area in the internal SRAM area of the memory area in the
In order to access the data buffer area of the device (modem) 20 from the Host 2 (11) having the 16-bit address to the data SRAM area and the SFR area in software, an address calculation method using BaseAddrss is required as shown in FIG. 4 .
To do this, memory mapping must first be performed between the host and the device as shown in FIG.
It is necessary to have an io_base start address that can access the data buffer of the memory of the
If the BaseAddress value is 2 or 3 in the io_base area, the mapping area may be changed according to the DDORTPTM window (Access Window).
When the memory mapping is completed, the address is recalculated using the BaseAddress as shown in FIG. 4 to access the memory.
Hereinafter, a device memory access method according to the present invention will be described in detail with reference to FIG.
As shown in FIG. 4, first, the shadow index (Shadow_index) is initialized to 0 (S401).
After initializing the shadow index to 0, it is determined whether the host address is within the BSAE_2 area (S402).
As a result of the determination, if the address is within the BASE_2 area, the
However, if it is determined in step S402 that the host address is not within the BSAE2 area, it is determined whether the host address is within the BASE_3 area (S404).
As a result of the determination, when the host address belongs to the range within the BASE_3 area, the
However, if the host address does not belong to the BASE_3 area, that is, if the host address does not correspond to any of the BASE_2 and BASE_3 areas, it is determined whether the host address belongs to the in-memory SFR area (S406) .
As a result of the judgment, if the host address does not belong to the SFR area of the memory, the process is terminated because the address range is invalid.
However, if the host address belongs to BASE_2 or BASE_3 in step S406, it can be determined that it corresponds to the memory buffer area. Otherwise, if the host address belongs to SFR_RANGE, it can be determined to belong to SFR (S407) .
If the host address is within the range of the memory buffer area, that is, it is determined whether the host address after step S403 and step S405 is smaller than MAX_SIZE (Internal SRAM + Data SRAM) (S408).
As a result of judgment, if the host address is not smaller than MAX_SIZE (Internal SRAM + Data SRAM), it is terminated because it is out of the range.
However, if the host address is smaller than MAX_SIZE in step S408, an offset value relative to the start address of BaseAddress is calculated as an address (S409).
After calculating the offset value relative to the start address of BaseAddress as an address, it is determined whether the host address belongs to VALID_RANGE (S410).
As a result of the determination, if the host address value is out of the VALID_RANGE, the process terminates. If the host address value does not exceed VALID_RANGE, the base is the io_base start address value of FIG. 5 and the offset becomes the recalculated host address (S411).
Next, it is determined whether the index value is the same as the shadow index (shadow_index) (S412).
If the index value differs from the shadow index (shadow_index value), the new index value is set in BaseAddrReg existing in the SFR area of FIG. 2 and the index value is stored in shadow_index (S413)
Then, the host writes the data in the memory area of the base + offset address (S414).
If the index is equal to the shadow index in step S412, the host writes data in the memory area of the base + offset address (S414).
If it is determined that the address belongs to the special function range (SFR) area, the base is the start address of the sfr_base shown in FIG. 5 and the offset value corresponding to the start address of the SFR area is calculated as an address. And thereafter writes data in the SFR (base + offset) area.
As described above, the link quality determination method in the wireless network system according to the present invention has been described with reference to the embodiments. However, the scope of the present invention is not limited to the specific embodiments, And various modifications, alterations, and changes may be made without departing from the spirit and scope of the invention.
Therefore, the embodiments described in the present invention and the accompanying drawings are intended to illustrate rather than limit the technical spirit of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments and accompanying drawings . The scope of protection of the present invention should be construed according to the claims, and all technical ideas within the scope of equivalents should be interpreted as being included in the scope of the present invention.
10, 11: Host
20: Device
Claims (6)
Determining whether the host address is included in the range of the set area of the memory;
If the host address is included in the range of the set memory area, an index is set. If the host address is smaller than MAX_SIZE (Internal SRAM + Data SRAM) for one area of the memory, the offset value relative to the start address of BaseAddress is set to Address;
If the host address belongs to VALID_RANGE, setting the address as the io_base start address value of the memory and offset as the calculated host address;
If the index value is different from the shadow index (shadow_index), the new index value is set in the BaseAddrReg existing in the SFR area of the memory, the index value is stored in the shadow_index, and the data is written );
≪ / RTI >
When the host address is included in the range of the set memory area, the index is set to 2 when the host address is included in the memory first area (BASE_2) in which the host address is set, (BASE_3). ≪ / RTI >
Determining whether the host address is included in the range of the SFR area of the memory when the host address is not included in the set area of the memory;
If it is determined that the host address is included in the range of the SFR area of the memory, the base is judged as the SFR area base, and it is determined that the host address belongs to the SFR (Special Function Range) area and the offset address is set as the SFR start address / RTI >
If the host address is included in the range of the SFR area of the memory, the host further includes writing data to the memory area of the base + offset address.
And if the host address is not smaller than MAX_SIZE (Internal SRAM + Data SRAM), it determines that the host address is out of the range of MAX_SIZE (Internal SRAM + Data SRAM) and terminates the memory access.
Wherein the MAX_SIZE for one area of the memory is an area of an internal SRAM area and a data SRAM area of the memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150037441A KR101998347B1 (en) | 2015-03-18 | 2015-03-18 | Device memory access method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150037441A KR101998347B1 (en) | 2015-03-18 | 2015-03-18 | Device memory access method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160112191A true KR20160112191A (en) | 2016-09-28 |
KR101998347B1 KR101998347B1 (en) | 2019-10-01 |
Family
ID=57101784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150037441A KR101998347B1 (en) | 2015-03-18 | 2015-03-18 | Device memory access method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101998347B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3291069A1 (en) | 2016-08-31 | 2018-03-07 | LG Display Co., Ltd. | Organic light emitting display having touch sensor and method of fabricating the same |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080064594A (en) * | 2007-01-05 | 2008-07-09 | 삼성전자주식회사 | System on a chip and method for access in memory thereof |
US20140095779A1 (en) * | 2012-09-28 | 2014-04-03 | Andrew T. Forsyth | Processing memory access instructions that have duplicate memory indices |
KR20140107935A (en) * | 2013-02-28 | 2014-09-05 | 삼성전자주식회사 | Integrated circuit for computing target entry address of buffer descriptor based on data block offset and system having the same |
KR20140112846A (en) * | 2013-03-14 | 2014-09-24 | 삼성전자주식회사 | Memory System |
-
2015
- 2015-03-18 KR KR1020150037441A patent/KR101998347B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080064594A (en) * | 2007-01-05 | 2008-07-09 | 삼성전자주식회사 | System on a chip and method for access in memory thereof |
US20140095779A1 (en) * | 2012-09-28 | 2014-04-03 | Andrew T. Forsyth | Processing memory access instructions that have duplicate memory indices |
KR20140107935A (en) * | 2013-02-28 | 2014-09-05 | 삼성전자주식회사 | Integrated circuit for computing target entry address of buffer descriptor based on data block offset and system having the same |
KR20140112846A (en) * | 2013-03-14 | 2014-09-24 | 삼성전자주식회사 | Memory System |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3291069A1 (en) | 2016-08-31 | 2018-03-07 | LG Display Co., Ltd. | Organic light emitting display having touch sensor and method of fabricating the same |
Also Published As
Publication number | Publication date |
---|---|
KR101998347B1 (en) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7418572B2 (en) | Pretranslating input/output buffers in environments with multiple page sizes | |
EP2763045B1 (en) | Method and apparatus for allocating memory space with write-combine attribute | |
US8806098B1 (en) | Multi root shared peripheral component interconnect express (PCIe) end point | |
TWI692690B (en) | Method for accessing flash memory module and associated flash memory controller and electronic device | |
US9467512B2 (en) | Techniques for remote client access to a storage medium coupled with a server | |
US8898417B1 (en) | Block-based storage device with a memory-mapped interface | |
EP2472412B1 (en) | Explicitly regioned memory organization in a network element | |
US20160232103A1 (en) | Block storage apertures to persistent memory | |
US7581039B2 (en) | Procedure and device for programming a DMA controller in which a translated physical address is stored in a buffer register of the address processing unit and then applied to the data bus and stored in a register of the DMA controller | |
US9256545B2 (en) | Shared memory access using independent memory maps | |
US9594675B2 (en) | Virtualization of chip enables | |
CN111338988B (en) | Memory access method and device, computer equipment and storage medium | |
CN102591783B (en) | Programmable memory controller | |
JP2008204456A (en) | System for controlling complex non-linear data transfer | |
CN107771322B (en) | Management of memory resources in programmable integrated circuits | |
US20160246712A1 (en) | Indirection data structures implemented as reconfigurable hardware | |
CN110806997B (en) | System on chip and memory | |
US20170255565A1 (en) | Method and apparatus for providing a contiguously addressable memory region by remapping an address space | |
KR102044075B1 (en) | Memory error detection method | |
KR20180041037A (en) | Method for shared distributed memory management in multi-core solid state driver | |
KR20160112191A (en) | Device memory access method | |
CN103530241A (en) | User state double-control memory mirroring implement method | |
CN111913662B (en) | SLC writing performance improving method and device, computer equipment and storage medium | |
US8122205B2 (en) | Structured virtual registers for embedded controller devices | |
KR20140136665A (en) | Calibration apparatus and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |