KR100868451B1 - 3-d 주소 매핑을 이용한 메모리 접근 방법 - Google Patents
3-d 주소 매핑을 이용한 메모리 접근 방법 Download PDFInfo
- Publication number
- KR100868451B1 KR100868451B1 KR1020070017775A KR20070017775A KR100868451B1 KR 100868451 B1 KR100868451 B1 KR 100868451B1 KR 1020070017775 A KR1020070017775 A KR 1020070017775A KR 20070017775 A KR20070017775 A KR 20070017775A KR 100868451 B1 KR100868451 B1 KR 100868451B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- memory
- loop
- triple
- mapping
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 120
- 238000000034 method Methods 0.000 title claims description 39
- 238000013507 mapping Methods 0.000 title claims description 37
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Memory System (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (12)
- 프로그램 중 3중 루프에 의하여 메모리를 접근하는 코드로부터 a, b, c를 획득하는 단계 - 상기 a는 상기 3중 루프의 가장 안쪽 루프 변수가 가질 수 있는 값의 개수이고, 상기 b는 상기 3중 루프의 가운데 루프 변수가 가질 수 있는 값의 개수이고, 상기 c는 상기 3중 루프의 가장 바깥쪽 루프 변수가 가질 수 있는 값의 개수임 -;상기 메모리의 주소들을 복수의 모듈들로 분할하는 단계;상기 3중 루프에 의하여 접근되는 데이터의 상기 메모리 내의 시작 주소를 획득하는 단계; 및상기 복수의 모듈들 각각의 인덱스 및 상기 시작 주소를 이용하여 상기 3중 루프에 의하여 접근되는 상기 데이터의 상기 메모리 내의 a * b * c개의 주소를 획득하는 단계를 포함하는 것을 특징으로 하는 메모리 접근 방법.
- 제1항에 있어서,상기 메모리의 주소들을 복수의 모듈들로 분할하는 단계는상기 메모리의 선형 주소 addr을 3-D 주소 (x, y, z)로 매핑하는 단계를 포함하는 것을 특징으로 하는 메모리 접근 방법.
- 제2항에 있어서, 상기 메모리의 선형 주소 addr을 3-D 주소 (x, y, z)로 매핑하는 단계는,상기 메모리의 상기 선형 주소 addr을 2-D 주소 (m, n)로 매핑하는 단계; 및상기 2-D 주소 (m, n)를 상기 3-D 주소 (x, y, z)로 매핑하는 단계를 포함하는 것을 특징으로 하는 메모리 접근 방법.
- 제3항에 있어서,m = (addr / L)의 몫;n = (addr / L)의 나머지;L은 상기 메모리의 스캔 라인 길이인 것을 특징으로 하는 메모리 접근 방법.
- 제3항에 있어서,x = m;y = (n / a)의 몫;z = (n / a)의 나머지;인 것을 특징으로 하는 메모리 접근 방법.
- 제2항에 있어서,상기 메모리의 주소들을 복수의 모듈들로 분할하는 단계는상기 3-D 주소 (x, y, z)를 a * b * c 개의 3-D 모듈 (p, q, r)로 매핑하는 단계를 더 포함하고,상기 3중 루프에 의하여 접근되는 상기 메모리의 a * b * c 개의 주소를 획득하는 단계는상기 시작 주소를 이용하여 상기 a * b * c 개의 3-D 모듈들 각각의 인덱스를 생성하는 단계; 및상기 생성된 인덱스를 이용하여 상기 a * b * c 개의 3-D 모듈들 각각으로부터 하나씩의 주소를 획득하는 단계를 포함하는 것을 특징으로 하는 메모리 접근 방법.
- 제6항에 있어서,p = x mod c;q = y mod b;r = z mod c;인 것을 특징으로 하는 메모리 접근 방법.
- 제6항에 있어서,상기 메모리의 주소들을 복수의 모듈들로 분할하는 단계는상기 3-D 모듈 (p, q, r)로 매핑되는 주소를 순차적으로 정렬한 3-D 모듈 배열 (p, q, r)을 생성하는 단계를 더 포함하는 것을 특징으로 하는 메모리 접근 방법.
- 제9항에 있어서, 상기 3중 루프에 의하여 접근되는 상기 데이터의 상기 메모리 내의 a * b * c개의 주소를 획득하는 상기 단계는,상기 메모리의 상기 시작 주소에 매핑되는 3-D 주소 (x1, y1, z1)을 획득하는 단계; 및0 <= p < c, 0 <= q < b, 0 <= r < c인 모든 p, q, r의 조합에 대하여 상기 소정의 식을 이용하여 3-D 주소 (x1, y1, z1)를 시작 주소로 하는 a * b * c 블록에 포함되는 메모리의 주소를 획득하는 단계를 포함하는 것을 특징으로 하는 메모리 접근 방법.
- 메모리의 선형 주소 addr을 2-D 주소 (m, n)로 매핑하는 단계 - L은 상기 메모리의 스캔 라인 길이이고, 상기 m = (addr / L)의 몫, 상기 n = (addr / L)의 나머지임 -; 및상기 2-D 주소 (m, n)를 3-D 주소 (x, y, z)로 매핑하는 단계 - a는 가장 안쪽 루프 변수가 가질 수 있는 값의 개수이고, x = m, y = (n / a)의 몫, z = (n / a)의 나머지임 -를 포함하는 것을 특징으로 하는 3-D 주소 매핑 방법.
- 제1항 내지 제11항 중 어느 하나의 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능 기록매체.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070017775A KR100868451B1 (ko) | 2007-02-22 | 2007-02-22 | 3-d 주소 매핑을 이용한 메모리 접근 방법 |
EP07110820A EP1962190A3 (en) | 2007-02-22 | 2007-06-21 | Memory access method using three dimensional address mapping |
US11/828,440 US7779225B2 (en) | 2007-02-22 | 2007-07-26 | Memory access method using three dimensional address mapping |
JP2007201534A JP4837634B2 (ja) | 2007-02-22 | 2007-08-02 | 3次元アドレスマッピングを用いたメモリアクセス方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070017775A KR100868451B1 (ko) | 2007-02-22 | 2007-02-22 | 3-d 주소 매핑을 이용한 메모리 접근 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080078131A KR20080078131A (ko) | 2008-08-27 |
KR100868451B1 true KR100868451B1 (ko) | 2008-11-11 |
Family
ID=38819814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070017775A KR100868451B1 (ko) | 2007-02-22 | 2007-02-22 | 3-d 주소 매핑을 이용한 메모리 접근 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7779225B2 (ko) |
EP (1) | EP1962190A3 (ko) |
JP (1) | JP4837634B2 (ko) |
KR (1) | KR100868451B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101154286B1 (ko) | 2011-12-30 | 2012-06-14 | (주)케이닷컴 | 동시 다중 접근이 가능한 메모리 제어장치 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9323654B2 (en) | 2013-07-17 | 2016-04-26 | Infineon Technologies Ag | Memory access using address bit permutation |
US10985171B2 (en) | 2018-09-26 | 2021-04-20 | Sandisk Technologies Llc | Three-dimensional flat NAND memory device including wavy word lines and method of making the same |
US11018151B2 (en) | 2018-09-26 | 2021-05-25 | Sandisk Technologies Llc | Three-dimensional flat NAND memory device including wavy word lines and method of making the same |
US10700090B1 (en) | 2019-02-18 | 2020-06-30 | Sandisk Technologies Llc | Three-dimensional flat NAND memory device having curved memory elements and methods of making the same |
US10700078B1 (en) | 2019-02-18 | 2020-06-30 | Sandisk Technologies Llc | Three-dimensional flat NAND memory device having curved memory elements and methods of making the same |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08147210A (ja) * | 1994-11-22 | 1996-06-07 | Oki Electric Ind Co Ltd | ビットマップメモリ装置 |
JP2004013389A (ja) | 2002-06-05 | 2004-01-15 | Sony Corp | データ転送システム、データ転送方法 |
KR20050022200A (ko) * | 2003-08-25 | 2005-03-07 | 삼성전자주식회사 | 넓은 메모리 밴드위스를 갖는 디지털 신호 처리 장치 및그 메모리 맵핑 방법 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58128078A (ja) * | 1982-01-27 | 1983-07-30 | Dainippon Screen Mfg Co Ltd | メモリ装置の構成方法 |
US4819152A (en) * | 1985-04-05 | 1989-04-04 | Raytheon Company | Method and apparatus for addressing a memory by array transformations |
JPH0750448B2 (ja) * | 1987-04-01 | 1995-05-31 | 日本電気株式会社 | 配列添字変換装置 |
JPH02181277A (ja) * | 1989-01-05 | 1990-07-16 | Ricoh Co Ltd | 画像メモリ用アドレス制御回路 |
JP2854420B2 (ja) * | 1990-02-21 | 1999-02-03 | 松下電器産業株式会社 | 多次元アドレス発生器およびその制御方式 |
US5293596A (en) * | 1990-02-21 | 1994-03-08 | Matsushita Electric Industrial Co., Ltd. | Multidimensional address generator and a system for controlling the generator |
US6125437A (en) * | 1998-03-05 | 2000-09-26 | Hewlett-Packard Company | Virtual linear frame buffer addressing method and apparatus |
JP2001188675A (ja) * | 1999-12-28 | 2001-07-10 | Nec Eng Ltd | データ転送装置 |
WO2001090888A1 (en) * | 2000-05-23 | 2001-11-29 | Theis Jean Paul | A data processing system having an address generation unit with hardwired multidimensional memory indexing support |
US7073041B2 (en) * | 2002-10-30 | 2006-07-04 | Motorola, Inc. | Virtual memory translation unit for multimedia accelerators |
-
2007
- 2007-02-22 KR KR1020070017775A patent/KR100868451B1/ko active IP Right Grant
- 2007-06-21 EP EP07110820A patent/EP1962190A3/en not_active Withdrawn
- 2007-07-26 US US11/828,440 patent/US7779225B2/en active Active
- 2007-08-02 JP JP2007201534A patent/JP4837634B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08147210A (ja) * | 1994-11-22 | 1996-06-07 | Oki Electric Ind Co Ltd | ビットマップメモリ装置 |
JP2004013389A (ja) | 2002-06-05 | 2004-01-15 | Sony Corp | データ転送システム、データ転送方法 |
KR20050022200A (ko) * | 2003-08-25 | 2005-03-07 | 삼성전자주식회사 | 넓은 메모리 밴드위스를 갖는 디지털 신호 처리 장치 및그 메모리 맵핑 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101154286B1 (ko) | 2011-12-30 | 2012-06-14 | (주)케이닷컴 | 동시 다중 접근이 가능한 메모리 제어장치 |
Also Published As
Publication number | Publication date |
---|---|
US7779225B2 (en) | 2010-08-17 |
KR20080078131A (ko) | 2008-08-27 |
JP4837634B2 (ja) | 2011-12-14 |
US20080209159A1 (en) | 2008-08-28 |
EP1962190A2 (en) | 2008-08-27 |
EP1962190A3 (en) | 2009-05-06 |
JP2008204428A (ja) | 2008-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100868451B1 (ko) | 3-d 주소 매핑을 이용한 메모리 접근 방법 | |
EP3002732B1 (en) | Method and apparatus for generating and traversing acceleration structure | |
JP4280270B2 (ja) | 幾何プリミティブのインデックスを外す方法、ラスタ化装置、コンピュータ可読媒体 | |
US9256536B2 (en) | Method and apparatus for providing shared caches | |
KR101925089B1 (ko) | 네비게이션 장치를 위한 데이터베이스, 지형의 3차원 표현을 출력하는 방법, 및 데이터베이스를 생성하는 방법 | |
EP3147867A1 (en) | Apparatus for and method of traversing tree | |
JP4942517B2 (ja) | 衝突感知装置及び方法 | |
US7991240B2 (en) | Methods, systems and apparatuses for modeling optical images | |
BR102012006951B1 (pt) | dispositivo de navegação, método de determinação de coordenada de altitude e método de geração de banco de dados | |
US20080018664A1 (en) | Method and system for tile binning using half-plane edge function | |
US20110307459A1 (en) | System, data structure, and method for simultaneously retrieving multi-dimensional data with zero contention | |
CN106648939A (zh) | 用于进程间资源共享的方法与设备 | |
US9483843B2 (en) | Method and system for expediting bilinear filtering | |
Sramek | Fast surface rendering from raster data by voxel traversal using chessboard distance | |
US20070103480A1 (en) | Information processing apparatus, information processing method, and program | |
US9588245B2 (en) | Efficient wavefield extrapolation in anisotropic media | |
CN103390275B (zh) | 动态图像拼接的方法 | |
US10460502B2 (en) | Method and apparatus for rendering object using mipmap including plurality of textures | |
CN108984421A (zh) | 一种信息提示方法及装置 | |
CN109960534A (zh) | 设备探测方法、装置、存储介质以及电子设备 | |
KR20130142661A (ko) | 시프트 알고리즘을 이용하여 대용량 소스 이미지의 특징점 정보를 추출하는 장치 및 방법 | |
CN111882482A (zh) | 图形分块数据读写方法、装置、设备及存储介质 | |
CN105335296B (zh) | 一种数据处理方法、装置及系统 | |
KR20190110218A (ko) | 동적 가상객체 구현 시스템 및 방법 | |
EP2453404A1 (en) | Computing apparatus and method using X-Y stack memory |
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 | ||
FPAY | Annual fee payment |
Payment date: 20121016 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20131022 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20141022 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20151020 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20161018 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20171019 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20181024 Year of fee payment: 11 |