nand & nor

으아니시발/Samsung 2015. 11. 11. 10:56

낸드 플래시 메모리

[NAND Flash Memory]

 

반도체의 셀이 직렬로 배열되어 있는 플래시 메모리의 한 종류.

 

플래시 메모리는 반도체 칩 내부의 전자회로 형태에 따라 직렬로 연결된 낸드 플래시와 병렬로 연결된 노어 플래시로 구분된다. 낸드 플래시는 용량을 늘리기 쉽고 쓰기 속도가 빠른 반면 노어 플래시는 읽기 속도가 빠른 장점을 갖고 있다.

 

낸드 플래시는 저장단위인 셀을 수직으로 배열하는 구조이기 때문에 좁은 면적에 많은 셀을 만들 수 있어 대용량화가 가능하다. 또한 데이터를 순차적으로 찾아가 읽기 때문에 노어 플래시보다 읽기 속도는 느리지만, 별도로 셀의 주소를 기억할 필요가 없어 쓰기속도는 훨씬 빠르다.

 

이처럼 낸드 플래시는 소형화, 대용량화가 가능하기 때문에 다양한 모바일 기기 및 전자제품의 저장장치로 사용되고 있다.

 



노어 플래시 메모리

[NOR Flash Memory]

 

반도체의 셀이 병렬로 배열되어 있는 플래시 메모리의 한 종류.

 

플래시 메모리는 반도체 칩 내부의 전자회로 형태에 따라 직렬로 연결된 낸드 플래시와 병렬로 연결된 노어 플래시로 구분된다. 낸드 플래시는 용량을 늘리기 쉽고 쓰기 속도가 빠른 반면 노어 플래시는 읽기 속도가 빠른 장점을 갖고 있다.

 

노어 플래시는 저장단위인 셀을 병렬로 배열하는 구조이기 때문에 데이터를 빨리 찾을 수 있어 낸드 플래시보다 읽기속도가 빠르고, 데이터의 안전성이 우수하다. 하지만 각 셀의 주소를 기억해야 하기 때문에 회로가 복잡하고, 이로 인해 데이터를 저장할 수 있는 공간이 좁아 대용량화가 어렵다. 또한 셀의 주소를 찾아 써야하기 때문에 낸드 플래시보다 쓰기속도가 느리다.

 

Posted by bogus919
,


8GB부터 16GB, 32GB, 64GB 그리고 128GB까지! 모바일기기에 탑재되는 낸드플래시 메모리의 진화는 계속되고 있습니다. 


많은 사람들이 스마트폰과 같은 모바일기기를 통해 인터넷 서핑부터 셀피(selfie), 고화질 동영상 저장/감상까지 다양한 작업을 하면서 더욱 높은 성능의 모바일기기가 요구되고 있는데요. 그만큼 모바일 기기를 구성하는 반도체 부품, 그 중에서도 메모리 반도체의 성능이 더욱 중요해졌습니다. 


스마트폰, 태블릿PC와 같은 모바일 기기는 일반적으로 eMMC(embedded Multi-Media Card)라는 내장메모리를 이용해 정보를 저장해왔는데요. 삼성전자는 지난 2월 세계 최초로 차세대 스마트폰에 탑재되는 업계 최대 용량의 128GB UFS 내장메모리를 양산하기 시작했습니다.



■ eMMC, 더 작고 슬림한 기기를 위한 메모리

 

eMMC(embedded Multi-Media Card)는 데이터 고속처리를 위해 모바일 기기에 내장하는 메모리 반도체인데요, 모바일기기의 보조 데이터 저장공간용으로 사용되는 탈착형 외장 메모리카드와 달리, eMMC(embedded Multi Media Card)는 컨트롤러와 낸드플래시 메모리가 패키지로 통합되어 제품에 내장되어 사용되는 메모리카드입니다.


모바일기기 업체들은 빠른 성능 구현은 물론 배터리 수명을 최대화 하기 위해 고성능·저전력 특성에 크기까지 작은 반도체 솔루션을 요구하고 있는데요, 삼성전자는 고사양 모바일 기기에 적합한 eMMC 솔루션을 제공해 많은 모바일기기 업체들이 차세대 시스템을 적기에 출시할 수 있도록 지원하고 있습니다.


특히 삼성전자는 이번 기존 eMMC 카드의 속도 한계를 뛰어넘는 프리미엄 UFS 라인업을 양산함과 동시에 기존 eMMC 내장메모리 규격인 'eMMC 5.0'보다 임의읽기 속도를 1.5배 높인 고성능 'eMMC 5.1' 라인업도 양산에 돌입했습니다.



 

■ UFS가 선사할 보다 빠른 모바일 경험

 

UFS(Universal Flash Storage)는 차세대 초고속 플래시 메모리입니다. 'UFS'는 국제 반도체 표준화 기구 '제덱(JEDEC)'의 최신 내장 메모리 규격인 'UFS 2.0' 인터페이스를 적용한 제품인데요, 


시스템 성능에 큰 영향을 미치는 임의읽기 속도가 외장형 고속메모리 카드보다 12배 이상 빠릅니다. 특히 'UFS' 메모리는 SSD에서 사용중인 속도 가속 기능인 '커맨드 큐(Command Queue)'가 적용되었는데요, 


커맨드 큐(Command Queue)는 내장 메모리카드의 성능 극대화를 위해 여러 입출력 데이터를 한번에 처리하는 기술로, 이를 적용해 기존 고성능 내장메모리('eMMC 5.0')보다 2.7배 빠른 임의읽기 속도로 동작하면서도 소비전력은 절반 수준으로 낮출 수 있습니다.


또한 임의쓰기 속도는 외장 메모리카드보다 28배 빠른 14,000 IOPS를 구현해 스마트폰에서 초고해상도(UHD)의 컨텐츠를 보면서, 다른 여러 작업을 동시에 하더라도(멀티태스킹) 버퍼링 현상이 없어 더욱 스마트한 모바일 사용자 경험을 제공한답니다!


이는 사용자가 버퍼링 없이 고화질 동영상을 감상하고, 고사양 게임 또는 기타 작업을 즐길 수 있는 것인데요, 여러 개의 어플리케이션을 동시에 구동하면서 버퍼링 없이 파일을 업로드/다운로드할 수 있음을 의미합니다.



■ eMMC와 UFS, 어떻게 다른가?

 

UFS의 성능을 크게 향상시키는 데 기여한 두 개의 요소가 있습니다.

 

 

먼저, UFS엔 읽고 쓰는 별도의 전용 경로가 있는 LVDS(Low-Voltage Differential Signaling) 직렬 인터페이스가 있습니다. 이를 통해 UFS는 동시에 읽고 쓰는 쌍뱡향 소통이 가능하죠. 반면 eMMC 병렬 인터페이스는 한 번에 한 방향으로만 데이터를 전송할 수 있어 동시에 읽고 쓰는 것이 불가능합니다.


둘째, UFS는 실행해야 하는 명령어를 처리하는 커맨드 큐를 적용했습니다. 커맨드 큐는 여러 개의 명령어를 동시에 처리할 수 있고, 그에 따라 작업 순서도 변경되는데요. 그러나 커맨드 큐가 없는 eMMC는 한 가지 프로세스가 마무리된 후에야 다음 단계로 넘어갈 수 있습니다.


※ eMMC 5.1은 eMMC 5.0에 커맨드 큐(Command Queue)를 적용, 성능이 향상된 점이 특징입니다.


이 두 가지 요소가 결합 및 완성된 UFS 2.0은 eMMC 5.0 대비 연속 읽기 속도 1.4배, 연속 쓰기 속도 1.66배, 임의 읽기 속도 2.71배, 임의 쓰기 속도 1.07배를 향상시켰습니다.

 


■ 플래시 메모리의 진화

 

1984년 처음 등장 이후, 플래시 메모리는 지금도 많이 사용되고 있는 USB부터 디지털 영상처리와 모바일 경험을 좌우하는 SD카드와 마이크로SD 카드, 빠른 속도로 HDD를 대체하고 있는 차세대 저장장치 SSD, 모바일기기의 저장 용량을 좌우하는 eMMC에 이르기까지 많은 발전을 거듭했습니다. 삼성전자는 업계의 틀을 세우고 2002년부터 낸드플래시 메모리 시장을 주도하면서 업계 ‘최초’ 제품을 생산해왔는데요.


삼성전자는 반도체 기술 분야에서 20년 넘게 선두주자로 자리매김하면서 UFS 양산 체계를 갖춘 최초 업체이자 유일한 기업이 됐습니다. 이러한 UFS 솔루션은 업계에 거센 변화의 바람을 몰고 올 것으로 기대되고 있습니다.


앞으로도 소비자들의 편리하고 스마트한 모바일 라이프에 기여하기 위한 삼성전자의 노력은 계속될 예정인데요, 가까운 미래에는 또 어떤 혁신적인 기술들이 우리 눈앞에 펼쳐질까요?




Posted by bogus919
,

Gaussian smoothing filtering

opencv 2015. 11. 10. 22:08

영상의

마스크 기반 처리에서 가우시안 스무딩 필터링(Gaussian smoothing filtering)에 
대해 알아보자.

 

 

* 스무딩(smoothing)은 잡음제거에 많이 쓰인다.

그중의 가우시안 스무딩 필터링에서

 

가우시안 분포란

       모든 과학분야에서 가장 보편적인 분포
      실험오차 측정 등에 많이 쓰이는 분포
       정규분포 공식에서 평균값을 0으로 하여 유도한 분포

 

가우시안 스무딩 필터링 이란?
       - 가우시안 분포를 영상처리에 적용한 것
       - 정규분포, 확률분포에 의해 생성된 잡음을 제거하기 위한 필터
          (랜덤하게 분포된 영상의 잡음을 분석해보면 가우시안 분포를 보인다.)

 

가우시안 분포 함수의 특성
       •  2차원 가우시안 분포 함수는 순환대칭(rotationally symmetric) 특징
           → 마스크로 회선한 smooting 한 결과는 방향이 같다.
       • 가우시안 분포 함수는 단일 돌출(Single peak) 부분을 가진다.           
           →  중앙에 위치한 화소와 먼 거리에 있는 이웃 화소값들을 가중치로   
                 감소시켜, 가중한 이웃의 평균값으로 대치하는 특징을 가짐
       • 가우시안 분포 함수의 퓨리에 변환은 빈번한 스펙트럼상에 단일 돌출 
          부분을 가진다.
           → 가우시안 퓨리에 변환 자체가 가우시안 분포이다.
           → 이를 응용한 사례가 가우시안 블러링이다
           → 공간 및 주파수 영역에 가우시안 분포 함수 적용 가능
        • 스무딩 정도인 가우시안 분포 마스크의 폭은 표준편차 σ가 파라메터로 작동하며,   
          표준편차 간 의 관계와 스무딩 정도는 매우 밀접하다.
           → 표준편차 σ가 클수록 더 큰 스무딩 효과를 가진다.

 

 

1차원 가우시안 분포(왼쪽) ->  평균값 : 0, 표준편차 : 1
2차원 가우시안 분포(오른쪽) -> 평균값 : (0,0), 표준편차 : 1

 

표준편차 0.4 이면 3x3 마스크의 크기를 가지며, 0.8이면 5x5 마스크의 크기를 가진다.

따라서 표준편차 가 가우시안 분포의 폭을 결정한다.

 

가우시안 분포를 좀 알았다면 이제 영상에 적용해보자

여기서 우리는 3x3 마스크를 사용할 것이다.

3x3 가우시안 커널은

1/16

1/8

1/16

1/8

1/4

1/8

1/16

1/8

1/16

이 마스크는

1

2

1

2

4

2

1

2

1

 

이제 가우시안 스무딩을 해보자!!

 


#include <math.h>
#include <windows.h>
#include <stdio.h>
using namespace std;


int main()
{
 
 int height= 256;
 int width=256;
 int i,j,vmax,vmin;
 int m_HistoArr[256];
 unsigned char InImg[256][256];
 unsigned char OrgImg[256][256];
 

 FILE *infile= fopen("HISTO-COUPLE256X256.raw","rb");
 if(infile==NULL){printf("error!");return 0;}
 fread(InImg, sizeof(char),256*256,infile);
 fclose(infile);
  

 

 int MaskGaussian[3][3]={{1,2,1},
                                   {2,4,2},
                                   {1,2,1}};
 int heightm1=height-1;//중복계산을 피하려고
 int widthm1=width-1;//중복계산을 피하려고
 int mr,mc;
 int newValue;
 
 //결과 이미지 0으로 초기화
 for(i=0;i<height;i++)
  for(j=0;j<width;j++)
   OrgImg[i][j]=0;

 for(i=1; i<heightm1; i++)
 {
  for(j=1; j<widthm1; j++)
  {
   newValue=0; //0으로 초기화
   for(mr=0;mr<3;mr++)
    for(mc=0;mc<3;mc++)
     newValue += (MaskGaussian[mr][mc]*InImg[i+mr-1][j+mc-1]);
   newValue /= 20; //마스크의 합의 크기로 나누기:값의 범위를 0에서 255로 함
   OrgImg[i][j]=(BYTE)newValue;//BYTE값으로 변환 
  }
 }

 FILE *outfile = fopen("result_HISTO-COUPLE256X256.raw","wb");
 fwrite(OrgImg,sizeof(char),256*256,outfile);
 fclose(outfile);
 

 return 0;
}

 

 

다음은 가우시안 필터를 사용한 스무딩을 한 이미지이다.

 

                                              AVE256.RAW result.raw

 

원래 이미지(왼쪽) 적용된 이미지(오른쪽)

 

 

 HISTO-COUPLE256X256.RAW result_HISTO-COUPLE256X256.raw

 

 

 원래 이미지(왼쪽) 적용된 이미지(오른쪽)

'opencv' 카테고리의 다른 글

opencv 설치 - visual studio  (1) 2014.04.04
Posted by bogus919
,