KR102028666B1 - 비식별 요청을 처리하는 저장 장치 및 그것의 동작 방법 - Google Patents

비식별 요청을 처리하는 저장 장치 및 그것의 동작 방법 Download PDF

Info

Publication number
KR102028666B1
KR102028666B1 KR1020170040331A KR20170040331A KR102028666B1 KR 102028666 B1 KR102028666 B1 KR 102028666B1 KR 1020170040331 A KR1020170040331 A KR 1020170040331A KR 20170040331 A KR20170040331 A KR 20170040331A KR 102028666 B1 KR102028666 B1 KR 102028666B1
Authority
KR
South Korea
Prior art keywords
identification
storage device
nonvolatile memory
request
host
Prior art date
Application number
KR1020170040331A
Other languages
English (en)
Other versions
KR20170042522A (ko
Inventor
안나영
이동훈
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020170040331A priority Critical patent/KR102028666B1/ko
Publication of KR20170042522A publication Critical patent/KR20170042522A/ko
Application granted granted Critical
Publication of KR102028666B1 publication Critical patent/KR102028666B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명에 따른 저장 장치의 동작 방법은, 비식별 요청을 수신하는 단계, 상기 비식별 요청에 응답하여 비식별화 동작을 수행하는 단계, 상기 비식별 요청에 대응하는 오리지널 데이터를 상기 저장 장치에서 검색하는 단계, 및 상기 검색 결과로써 상기 오리지널 데이터가 존재하지 않을 때 상기 비식별화 동작의 성공을 출력하는 단계를 포함할 수 있다.

Description

비식별 요청을 처리하는 저장 장치 및 그것의 동작 방법{STORAGE DEVICE FOR PROCESSING DE-IDENTIFICATION REQUEST AND OPERATING METHOD}
본 발명은 비식별 요청을 처리하는 저장 장치 및 그것의 동작방법에 관한 것이다.
비식별 기술은 일반적으로, 가명처리(pseudonymization; 휴리스틱 가명화, 암호화, 교환), 총계처리(aggregation; 총계처리, 부분총계, 라운딩, 재배열), 데이터 삭제(data reduction; 식별자 삭제, 식별자 부분 삭제, 레코드 삭제, 식별요소 전부삭제), 데이터 범주화(data suppressed; 감추기, 랜덤라운딩, 범위 방법, 제어 라운딩), 데이터 마스킹(data masking; 임의 잡음 추가, 공백과 대체) 포함한다. 서비스 제공자(service provider)는 정보보호 가이드라인에 따라 서버에서 비식별 기술을 적용할 수 있다. 그런데, 실제로 관련된 비식별 정보가 저장된 메모리칩에서 비식별 기술이 제대로 적용되었는지 확인할 길이 없다. 메모리칩은 비휘발성/휘발성 메모리 구분되는데, 정보가 어디에 어떻게 저장되어 있는지 서비스 제공자가 실제로 알 길이 없다.
본 발명의 목적은 비식별 요청을 처리하는 저장 장치 및 그것의 동작 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른 저장 장치의 동작 방법은, 비식별 요청을 수신하는 단계, 상기 비식별 요청에 응답하여 비식별화 동작을 수행하는 단계, 상기 비식별 요청에 대응하는 오리지널 데이터를 상기 저장 장치에서 검색하는 단계, 및 상기 검색 결과로써 상기 오리지널 데이터가 존재하지 않을 때 상기 비식별화 동작의 성공을 출력하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 저장 장치 및 그것의 동작 방법은, 비식별 요청을 수신하고, 비식별 요청에 응답하여 비식별화 동작을 수행함으로써, 식별 정보 관련 데이터 보안을 향상시킬 수 있다.
도 1은 본 발명의 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 저장 장치(200)를 예시적으로 보여주는 블록도이다.
도 3은 본 발명의 다른 실시 예에 따른 비휘발성 메모리 모듈(200a)을 예시적으로 보여주는 도면이다.
도 4는 본 발명의 또 다른 실시 예에 따른 메모리 모듈(memory module)로 구현된 저장 장치(200b)를 예시적으로 보여주는 도면이다.
도 5는 본 발명의 다른 실시 예에 따른 컴퓨팅 시스템(20)을 예시적으로 보여주는 도면이다.
도 6은 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템(30)을 예시적으로 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 저장 장치(200)의 동작 방법을 예시적으로 보여주는 흐름도이다.
도 8은 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템(40)을 예시적으로 보여주는 블록도이다.
도 9는 본 발명의 실시 예에 따른 정보 검색 동작을 수행하는 저장 장치(200d)의 동작 방법을 예시적으로 보여주는 흐름도이다.
도 10은 본 발명의 실시 예에 따른 데이터 서버 시스템(50)을 예시적으로 보여주는 블록도이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다.
상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 혹은 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 혹은 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다. 본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함하다" 혹은 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 혹은 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것들의 존재 혹은 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 도면이다. 도 1을 참조하면, 컴퓨팅 시스템(10)은 호스트(100), 및 저장 장치(200)를 포함할 수 있다.
실시 예에 있어서, 컴퓨팅 시스템(10)은 컴퓨터, 포터블(portable) 컴퓨터, UMPC(ultra mobile PC), 워크스테이션(workstation), 데이터 서버(data server), 넷북, PDA, 웹 태블릿, 무선 폰, 모바일 폰, 스마트폰, 전자북, PMP(portable multimedia player), 디지털 카메라, 디지털오디오 녹음기/재생기, 디지털 사진기/비디오 기록기/재생기, 포터블 게임 머신, 네비게이션 시스템, 블록 박스, 3D 텔레비전, 무선 환경에서 정보를 수신 및 송신하는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 어느 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 어느 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 어느 하나, RFID, 혹은 컴퓨팅 시스템을 구성하는 다양한 전자 장치들 중 어느 하나로 사용될 수 있다.
호스트(100)는 컴퓨팅 시스템(10)의 전반적인 동작을 제어하도록 구현될 수 있다. 실시 예에 있어서, 호스트(100)는 적어도 하나의 프로세서, CPU(central processing unit), GPU(graphic processing unit), 메모리 제어기(memory controller) 등을 포함할 수 있다. 실시 예에 있어서, 프로세서는 범용 마이크로프로세서, 멀티코어 프로세서, 디지털 신호 프로세서(DSP; digital signal processor), ASIC(application specific integrated circuit), 혹은 그것들의 조합을 포함할 수 있다. 실시 예에 있어서, 메모리 제어기는 저장 장치(200)를 제어하도록 구현될 수 있다.
실시 예에 있어서, 호스트(100)는 저장 장치(200)로 비식별 요청(de-identification request)을 전송할 수 있다. 실시 예에 있어서, 비식별 요청은, 다양한 종류의 비식별 기술 중 적어도 하나에 대한 요청일 수 있다. 예를 들어, 비식별 기술에는, 가명처리(pseudonymization; 휴리스틱 가명화, 암호화, 교환), 총계처리(aggregation; 총계처리, 부분총계, 라운딩, 재배열), 데이터 삭제(data reduction; 식별자 삭제, 식별자 부분 삭제, 레코드 삭제, 식별요소 전부삭제), 데이터 범주화(data suppressed; 감추기, 랜덤라운딩, 범위 방법, 제어 라운딩), 데이터 마스킹(data masking; 임의 잡음 추가, 공백과 대체) 포함할 수 있다.
실시 예에 있어서, 비식별 요청은, 비식별화 대상 데이터, 및 비식별 기술 등을 포함할 수 있다. 실시 예에 있어서, 비식별 요청은 비식별화 대상 데이터에 대응하는 어드레스를 더 포함할 수 있다.
실시 예에 있어서, 호스트(100)의 비식별 요청은 동기식 요청 혹은 비동기 요청일 수 있다. 실시 예에 있어서, 호스트(100)는 비식별 요청에 응답한 성공/실패 여부를 수신할 수 있다.
저장 장치(200)는 호스트(100)에 연결되고, 호스트(100)의 동작에 필요한 데이터를 저장하도록 구현될 수 있다. 저장 장치(200)는 휘발성 메모리, 비휘발성 메모리, 혹은 그것들의 조합 중 적어도 하나일 수 있다. 예를 들어, 저장 장치(200)는 DIMM(dual in-line memory module), NVDIMM(nonvolatile dual in-line memory module), SSD(solid state drive), UFS(universal flash storage), eMMC(embedded multimedia card), SD(secure digital) 카드, DRAM(dynamic random access memory), SRAM(static random access memory), nand flash memory, vertical nand flash memory, PRAM(phase random access memory), RRAM(resistive random access memory) 등 일 수 있다.
실시 예에 있어서, 저장 장치(200)는 DDR(double data rate) 인터페이스 규격에 따라 호스트(100)에 연결될 수 있다. 예를 들어, 저장 장치(200)는 DDRx 시리즈(x는 정수) 중 어느 하나로 구현될 수 있다. 본 발명의 저장 장치(200)는 DDR 인터페이스를 제외한 다양한 종류의 통신 인터페이스를 통하여 프로세서(100)에 연결될 수 있다. 예를 들어, 통신 인터페이스는 NVMe(non-volatile memory express), PCIe(peripheral component interconnect express), SATA(serial advanced technology attachment), SCSI(small computer system interface), SAS(serial attached SCSI), UAS(USB(universal storage bus) attached SCSI), iSCSI(internet small computer system interface), Fiber Channel, FCoE(fiber channel over ethernet) 등과 같은 것일 수 있다.
실시 예에 있어서, 비식별 요청을 갖는 메시지는 호스트(100)와 저장 장치(200) 사이의 적어도 하나의 데이터 채널, 적어도 하나의 클록 채널, 적어도 하나의 제어 채널, 전용의 적어도 하나의 메시지 채널 혹은 그것들의 조합을 통하여 호스트(100)로 전송될 수 있다.
상술 된 비식별 요청은 메시지 형태로 호스트(100)로 전송되지만, 본 발명이 여기에 제안되지 않는다고 이해되어야 할 것이다. 본 발명의 비식별 요청은 저장 장치(200)의 적어도 하나의 특정 핀에 대응하는 신호 형태로 호스트(100)로부터 전송될 수 있다.
실시 예에 있어서, 저장 장치(200)는 호스트(100)의 비식별 요청을 수신한 뒤, 비식별 요청에 응답하여 대응하는 데이터에 대한 비식별화 동작을 수행하도록 구현될 수 있다. 여기서 비식별화 동작은, 가명처리(pseudonymization; 휴리스틱 가명화, 암호화, 교환), 총계처리(aggregation; 총계처리, 부분총계, 라운딩, 재배열), 데이터 삭제(data reduction; 식별자 삭제, 식별자 부분 삭제, 레코드 삭제, 식별요소 전부삭제), 데이터 범주화(data suppressed; 감추기, 랜덤라운딩, 범위 방법, 제어 라운딩), 데이터 마스킹(data masking; 임의 잡음 추가, 공백과 대체) 등과 같은 다양한 동작 중 적어도 하나를 포함할 수 있다.
실시 예에 있어서, 저장 장치(200)는 비식별 요청에 따른 비식별화 동작 수행의 성공 혹은 실패 여부를 판별하고, 그 결과값을 호스트(100)로 전송하도록 구현될 수 있다.
한편, 도 1에 도시된 호스트(100)는 비식별 요청을 저장 장치(200)로 전송하지만, 본 발명이 여기에 제한되지 않는다. 본 발명의 저장 장치(200)는 호스트(100)의 요청이 없이도 내부 정책에 따라 비식별화 진행할 수 있다고 이해되어야 할 것이다.
본 발명의 실시 예에 따른 컴퓨팅 시스템(10)은 호스트(100)의 비식별 요청에 응답하여 대응하는 데이터에 대한 비식별화 동작을 수행함으로써, 저장 장치(200) 내부의 보안을 향상시킬 수 있다.
도 2는 본 발명의 실시 예에 따른 저장 장치(200)를 예시적으로 보여주는 블록도이다. 도 2에 도시된 저장 장치(200)는 SSD(solid state drive)일 수 있다. 도 2를 참조하면, 저장 장치(200)는 적어도 하나의 비휘발성 메모리 장치(210) 및 제어기(220)를 포함할 수 있다.
비휘발성 메모리 장치(210)는 옵션적으로 외부 고전압(Vpp)을 제공받도록 구현될 수 있다. 비휘발성 메모리 장치(210)는, 낸드 플래시 메모리(NAND Flash Memory), 수직형 낸드 플래시 메모리(Vertical NAND; VNAND), 노아 플래시 메모리(NOR Flash Memory), 저항성 램(Resistive Random Access Memory: RRAM), 상변화 메모리(Phase-Change Memory: PRAM), 자기저항 메모리(Magnetoresistive Random Access Memory: MRAM), 강유전체 메모리(Ferroelectric Random Access Memory: FRAM), 스핀주입 자화반전 메모리(Spin Transfer Torque Random Access Memory: STT-RAM) 등이 될 수 있다.
제어기(220)는 적어도 하나의 채널을 통하여 적어도 하나의 비휘발성 메모리 장치(210)에 연결하도록 구현될 수 있다. 제어기(220)는 적어도 하나의 프로세서(221), 버퍼 메모리(222), 에러 정정 회로(ECC; 223), 비식별 처리 유닛(224), 호스트 인터페이스(HIF; 225) 및 비휘발성 메모리 인터페이스(NIF; 226)를 포함할 수 있다.
버퍼 메모리(222)는 메모리 제어기(220)의 동작에 필요한 데이터를 임시로 저장하도록 구현될 수 있다. 실시 예에 있어서, 버퍼 메모리(222)는 데이터 혹은 명령을 저장하는 복수의 메모리 라인들을 포함할 수 있다. 여기서 복수의 메모리 라인들은 캐시 라인들에 다양한 방법으로 맵핑 될 수 있다. 실시 예에 있어서, 버퍼 메모리(222)는 페이지 비트맵 정보 및 읽기 카운트 정보를 저장할 수 있다. 여기서 페이지 비트맵 정보 혹은 읽기 카운트 정보는 파워-업시 비휘발성 메모리 장치(210)로부터 읽어오고, 내부 동작에 따라 업데이트 될 수 있다. 업데이트된 페이지 비트맵 정보 혹은 읽기 카운트 정보는 주기적 혹은 비주기적으로 비휘발성 메모리 장치(210)에 저장될 수 있다.
에러 정정 회로(223)는 쓰기 동작에서 프로그램될 데이터의 에러 정정 코드 값을 계산하고, 읽기 동작에서 읽혀진 데이터를 에러 정정 코드 값에 근거로 하여 에러 정정하고, 데이터 복구 동작에서 비휘발성 메모리 장치(210)로부터 복구된 데이터의 에러를 정정하도록 구현될 수 있다. 도시되지 않았지만, 메모리 제어기(220)를 동작하는 데 필요한 코드 데이터를 저장하는 코드 메모리가 더 포함될 수 있다. 이러한 코드 메모리는 비휘발성 메모리 장치로 구현될 수 있다.
비식별 처리 유닛(224)은 외부로부터(예를 들어, 도 1 참조, 호스트(100)) 수신된 비식별 요청에 응답하여 대응하는 데이터에 대한 비식별화 동작을 수행하도록 구현될 수 있다. 실시 예에 있어서, 비식별 처리 유닛(224)은 하드웨어적, 소프트웨어적, 혹은 펌웨어적으로 구현될 수 있다. 실시 예에 있어서, 비식별 처리 유닛(224)는 외부로부터 수신된 비식별 요청과 상관없이 내부 정책에 따라 비식별화 동작을 수행할 수 있다.
또한, 비식별 처리 유닛(224)은 비식별화 동작을 수행하고, 그 결과에 따른 성공/실패 관련 정보를 발생할 수 있다.
실시 예에 있어서, 비식별 처리 유닛(224)은 외부 장치에 의해 비식별 처리 기술을 업데이트 하도록 구현될 수 있다.
호스트 인터페이스(225)는 외부의 장치와 인터페이스 기능을 제공하도록 구현될 수 있다. 여기서 호스트 인터페이스(225)는 다양한 인터페이스에 의해 구현될 수 있으며, 하나 이상의 인터페이스들로 구현될 수도 있다.
비휘발성 메모리 인터페이스(226)는 비휘발성 메모리 장치(210)와 인터페이스 기능을 제공하도록 구현될 수 있다.
도 3은 본 발명의 다른 실시 예에 따른 비휘발성 메모리 모듈(200a)을 예시적으로 보여주는 도면이다. 도 3을 참조하면, 비휘발성 메모리 모듈(200a)은, 제 1 및 제 2 비휘발성 메모리 장치들(210L, 210R), 제 1 및 제 2 휘발성 메모리 장치들(220L, 220R), 제 1 및 제 2 데이터 버퍼들(330L, 330R), 및 메모리 제어회로(MMCTRL, 240a)를 포함할 수 있다.
제 1 및 제 2 비휘발성 메모리 장치들(210L, 210R) 각각은 적어도 하나의 비휘발성 메모리를 포함할 수 있다.
제 1 및 제 2 휘발성 메모리 장치들(220L, 220R) 각각은 적어도 하나의 디램(DRAM, dynamic random access memory)을 포함할 수 있다. 실시 예에 있어서, 적어도 하나의 디램은 듀얼 포트 디램으로 구현될 수 있다. 예를 들어, 적어도 하나의 디램의 제 1 포트들은 제 1 및 제 2 비휘발성 메모리 장치들(210L, 210R) 중 적어도 하나의 비휘발성 메모리에 연결되고, 적어도 하나의 디램의 제 2 포트들은 제 1 및 제 2 데이터 버퍼들(230L, 230R) 중 대응하는 어느 하나에 연결될 수 있다.
메모리 제어회로(240a)는 호스트(100)로부터 커맨드 혹은 어드레스를 수신하고, 제 1 및 제 2 비휘발성 메모리 장치들(210L, 210R)을 제어하기 위한 제 1 커맨드/어드레스(CAN)를 발생하거나, 제 1 및 제 2 휘발성 메모리 장치들(220L, 220R)을 제어하기 위한 제 2 커맨드/어드레스(CAD)를 발생하도록 구현될 수 있다.
실시 예에 있어서, 메모리 제어회로(240a)는 호스트(100)로부터 발행된 비식별 요청을 수신하고, 수신된 비식별 요청에 응답하여 비식별화 동작을 수행하도록 구현될 수 있다. 또한 실시 예에 있어서, 메모리 제어 회로(240a)는 비식별화 동작의 결과에 따른 성공/실패 관련 정보를 외부로 출력하도록 구현될 수 있다.
한편, 도 3에 도시된 비휘발성 메모리 모듈(200a)의 구조는 본 발명을 제한하지 않는 실시 예에 불과하다고 이해되어야 할 것이다.
도 4는 본 발명의 또 다른 실시 예에 따른 메모리 모듈(memory module)로 구현된 저장 장치(200b)를 예시적으로 보여주는 도면이다. 도 4를 참조하면, 저장 장치(200b)는 복수의 디램들(DRAMs, 211b, 212b, 213b, 214b) 및 메모리 모듈 제어기(RCD, 240b)를 포함할 수 있다.
복수의 디램들(211b, 212b, 213b, 214b)의 각각은 메모리 모듈 제어기(240b)에 제어에 따라 데이터(DQ)를 입출력 하도록 구현될 수 있다. 도 4에 도시된 디램들(211b, 212b, 213b, 214b)의 개수는 4이지만, 본 발명의 디램들의 개수가 여기에 제한되지 않는다고 이해되어야 할 것이다.
실시 예에 있어서, 저장 장치(200b)는 패리티를 위한 적어도 하나의 디램(215b)을 더 포함할 수 있다. 도 4에서는 패리티 전용 디램(215b)가 도시되었지만, 본 발명이 여기에 제한되지 않을 것이다. 본 발명은 복수의 디램 중 적어도 하나를 가변적으로 이용하여 패리티를 저장하도록 구현될 수도 있다.
또한, 실시 예에 있어서, 저장 장치(200b)는 호스트(100)와 복수의 디램들(211b, 212b, 213b, 214b, 215b) 사이에 데이터(DQ)을 버퍼링하기 위한 데이터 버퍼들(DB; 231b, 232b, 233b, 234b, 235b) 더 포함할 수 있다.
메모리 모듈 제어기(240b)는 호스트(100)로부터 커맨드 및/혹은 어드레스를 수신 받고, 복수의 디램들(211b, 212b, 213b, 214b, 215b)의 입출력 동작을 제어하도록 구현될 수 있다.
실시 예에 있어서, 메모리 모듈 제어기(240b)는 호스트(100)로부터 발행된 비식별 요청을 수신하고, 수신된 비식별 요청에 응답하여 비식별화 동작을 수행하도록 구현될 수 있다. 또한 실시 예에 있어서, 메모리 모듈 제어기(240b)는 비식별화 동작의 결과에 따른 성공/실패 관련 정보를 외부로 출력하도록 구현될 수 있다.
실시 예에 있어서, 저장 장치(200)는 DDRx SDRAM 스펙을 만족하도록 구현될 수 있다. 예를 들어, 저장 장치(200)는 차세대 DDR4 SDRAM 스펙을 만족하도록 구현될 수 있다.
한편, 본 발명은 전기 저항을 비트로 이용하는 3D XPoint 메모리에도 적용 가능하다.
도 5는 본 발명의 다른 실시 예에 따른 컴퓨팅 시스템(20)을 예시적으로 보여주는 도면이다. 도 5를 참조하면, 컴퓨팅 시스템(20)은 프로세서(21), 메모리 모듈(DIMM, 22), 및 비휘발성 메모리(3D-Xpoint, 23)를 포함할 수 있다.
프로세서(21)는 메모리 모듈(22) 및 비휘발성 메모리 장치(23)를 제어하도록 구현될 수 있다. 실시 예에 있어서, 프로세서(21)는 비식별 요청을 발행하고, 발행된 비식별 요청을 메모리 모듈(22) 및/혹은 비휘발성 메모리 장치(23)에 전송할 수 있다.
메모리 모듈(22)은 DDR 인터페이스를 통하여 프로세서(21)에 연결될 수 있다. 또한, 메모리 모듈(22)은 프로세서(21)의 비식별 요청에 응답하여 비식별화 동작을 수행하도록 구현될 수 있다. 여기서 메모리 모듈(22)은 도 4에 도시된 저장 장치(200b)와 동일한 기능 혹은 동일한 전체 혹은 일부 구성으로 구현될 수 있다.
비휘발성 메모리 장치(23)는 DDR-T(transaction) 인터페이스를 통하여 프로세서(21)에 연결될 수 있다. 이때, 메모리 모듈(22)은 비휘발성 메모리 장치(23)의 캐시 기능을 수행하도록 구현될 수 있다. 실시 예에 있어서, 비휘발성 메모리 장치(23)는 3D Xpoint 메모리로 구현될 수 있다. 또한, 비휘발성 메모리 장치(23)는 프로세서(21)의 비식별 요청을 수신하고, 비식별 요청에 응답하여 대응하는 데이터에 대한 비식별화 동작을 수행하도록 구현될 수 있다. 여기서 비휘발성 메모리 장치(23)는 도 3에 도시된 저장 장치(200a)와 동일한 기능 혹은 동일한 전체 혹은 일부 구성으로 구현될 수 있다.
도 6은 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템(30)을 예시적으로 보여주는 도면이다. 도 6을 참조하면, 컴퓨팅 시스템(30)은 프로세서(31), 메모리 모듈(DIMM, 32), 및 비휘발성 메모리 모듈(NVDIMM, 33)를 포함할 수 있다. 도 6에 도시된 바와 같이, 메모리 모듈(32) 및 비휘발성 메모리 모듈(33)은 모두 DDR 인터페이스에 따라 프로세서(31)에 연결될 수 있다. 또한, 프로세서(31)는 메모리 모듈(31) 및/혹은 비휘발성 메모리 모듈(32)로 비식별 요청을 발행/출력하도록 구현될 수 있다. 메모리 모듈(32)은 도 4에 도시된 저장 장치(200b)로 구현될 수 있고, 비휘발성 메모리 모듈(33)은 도 3에 도시된 저장 장치(200a)로 구현될 수 있다.
도 7은 본 발명의 실시 예에 따른 저장 장치(200)의 동작 방법을 예시적으로 보여주는 흐름도이다. 도 1 내지 도 7를 참조하면, 비식별화 동작을 수행하는 저장 장치(100)의 동작 방법은 다음과 같이 진행될 수 있다.
저장 장치(200, 도 1 참조)는 호스트(100, 도 1 참조)로부터 비식별 요청을 수신할 수 있다(S110). 여기서 비식별 요청은 비식별 커맨드, 비식별 대상 데이터 관련 정보, 예를 들어, 식별 데이터, 비식별 처리 기술 정보, 식별 데이터의 어드레스 등을 포함할 수 있다. 저장 장치(200)의 비식별 처리 유닛(240, 도 2 참조)은 수신된 비식별 요청에 응답하여 비식별 동작을 수행할 수 있다(S120). 비식별 동작 이후에, 비식별 처리 유닛(240)은 저장 장치(200)에서 비식별 요청에 대응하는 데이터를 검색할 수 있다(S130). 즉, 비식별 요청에 대응하는 식별 정보가 저장 장치(200)에 검색되는 지 스캔 동작이 수행될 수 있다. 이는 비식별화 동작이 제대로 수행되었는지 판별하기 위해서이다.
이후, 비식별 처리 유닛(240)은 식별 정보가 존재하는지 판별할 수 있다(S140). 만일, 검색 결과로써 식별 정보가 일정한 기준을 만족한다면, 비식별화 동작은 실패한 것으로 처리될 수 있다. 반면에, 검색 결과로써 식별 정보가 일정한 기준을 만족하지 않는다면, 비식별화 동작은 성공한 것이다.
한편, 도 1 내지 도 7에 도시된 컴퓨팅 시스템은 비식별 요청을 발행 및 처리 과정에 대하여 기술하였다. 하지만, 본 발명의 컴퓨팅 시스템은 정보 검색 커맨드를 발행 및 처리하는 관점으로 기술할 수도 있다.
도 8은 본 발명의 또 다른 실시 예에 따른 컴퓨팅 시스템(40)을 예시적으로 보여주는 블록도이다. 도 8을 참조하면, 컴퓨팅 시스템(40)은 호스트(100d) 및 저장 장치(200d)를 포함할 수 있다.
호스트(100d)는 정보 검색 커맨드를 저장 장치(200d)로 발행 및 출력하도록 구현될 수 있다. 여기서 정보 검색 커맨드는 단어(word), 스트링(string) 등 식별 정보를 저장 장치(200d)에서 검색하도록 요청하는 커맨드이다.
저장 장치(200d)는 정보 검색 커맨드에 응답하여 저장 장치(200d)에서 대응하는 식별 정보를 검색하도록 구현될 수 있다. 여기서 식별 정보의 검색 동작은, 저장 장치(200d)의 유효 데이터 영역 및/혹은 무효 데이터 영역에 제한하지 않고, 모든 영역에서 수행될 수 있다.
실시 예에 있어서, 정보 검색 동작은 식별 정보의 전체 혹은 일부를 검색할 수 있다. 또한 실시 예에 있어서, 정보 검색 동작은 데이터에 대한 식별 정보와 비교하여 일치 여부, 유사도 여부 등을 판별하도록 구현될 수 있다. 실시 예에 있어서, 정보 검색 동작은 식별 정보에 대한 유사도가 기준값을 이상일 때 검색 성공으로 판별할 수 있다. 다른 실시 예에 있어서, 정보 검색 동작은 식별 정보에 대한 유사도가 기준값 미만일 때 검색 실패로 판별할 수 있다.
실시 예에 있어서, 저장 장치(200d)는 정보 검색 동작을 아이들(IDLE) 타임에 수행하도록 구현될 수 있다.
도 9는 본 발명의 실시 예에 따른 정보 검색 동작을 수행하는 저장 장치(200d)의 동작 방법을 예시적으로 보여주는 흐름도이다. 도 8 및 도 9를 참조하면, 저장 장치(200d)의 정보 검색 동작은 다음과 같이 진행될 수 있다.
저장 장치(200d)는 호스트(100d)로부터 식별 정보에 대응하는 정보 검색 커맨드를 수신할 수 있다(S210). 저장 장치(200d)는 정보 검색 커맨드에 응답하여 저장 장치(200d)에서 식별 정보에 대한 스캔 동작을 수행할 수 있다(S220). 스캔 동작 결과로써, 식별 정보로써 관련된 정보가 식별될 수 있는 지 판별될 수 있다(S230). 저장 장치(200d)에서 식별 기준에 따라 가능한 식별 가능한 정보가 존재한다면(S240), 정보 검색 동작은 성공한 것이다. 반면에, 저장 장치(200d)에서 식별 기준에 따라 식별 가능한 정보가 존재하지 않는다면(S240), 정보 검색 동작이 실패한 것이다.
한편, 본 발명은 데이터 서버에 응용 가능하다.
도 10은 본 발명의 실시 예에 따른 데이터 서버 시스템(50)을 예시적으로 보여주는 블록도이다. 도 10을 참조하면, 데이터 서버 시스템(50)은 데이터 베이스 관리 시스템(RDBMS, 51), 캐시 서버(52), 및 어플리케이션 서버(53)를 포함할 수 있다.
캐시 서버(52)는 데이터 베이스 관리 시스템(51)으로부터 무효화 통지에 대응하여 서로 다른 키(key), 값(value) 쌍을 유지하고, 삭제하는 키값 저장을 포함할 수 있다.
데이터 베이스 관리 시스템(RDBMS, 51), 캐시 서버(52), 및 어플리케이션 서버(53) 중 적어도 하나는 도 1 내지 도 9에서 설명된 호스트, 메모리 모듈(DIMM), 비휘발성 메모리 모듈(NVDIMM), 디램, 혹은 비휘발성 메모리로 구현될 수 있다.
한편, 상술 된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.
10, 20, 30,40: 컴퓨팅 시스템
100, 100a, 100b: 호스트
200, 200a, 200b: 저장 장치
DIMM: 메모리 모듈
NVDIMM: 비휘발성 메모리 모듈

Claims (5)

  1. 적어도 하나의 비휘발성 메모리 장치 및 상기 적어도 하나의 비휘발성 메모리 장치를 제어하는 메모리 제어기를 포함하는 저장 장치의 동작 방법에 있어서:
    호스트로부터 비식별 요청을 수신하는 단계;
    상기 비식별 요청에 응답하여 비식별화 동작을 수행하는 단계;
    상기 비식별 요청에 대응하는 오리지널 데이터를 상기 적어도 하나의 비휘발성 메모리 장치에서 검색하는 단계; 및
    상기 적어도 하나의 비휘발성 메모리 장치의 검색 대상 데이터와 비교하여 상기 오리지널 데이터에 대한 식별 기준을 만족하지 않을 때 상기 비식별화 동작의 성공을 출력하는 단계를 포함하고,
    상기 검색하는 단계는 상기 적어도 하나의 비휘발성 메모리 장치의 유효 데이터 영역 또는 무효 데이터 영역에서 상기 오리지널 데이터를 검색하는 단계를 포함하는,
    저장 장치의 동작 방법.
  2. 제1항에 있어서,
    상기 비식별 요청을 수신하는 단계는 상기 호스트로부터 정보 검색 커맨드를 수신하는 단계를 포함하는,
    저장 장치의 동작 방법.
  3. 제1항에 있어서,
    상기 식별 기준은 상기 오리지널 데이터에 대한 일치 여부 또는 유사도 여부로 결정되는,
    저장 장치의 동작 방법.
  4. 제3항에 있어서,
    상기 비식별화 동작의 성공을 출력하는 단계는, 상기 검색 대상 데이터가 상기 오리지널 데이터에 대한 유사도가 기준값 미만일 때, 상기 비식별화 동작의 성공을 출력하는,
    저장 장치의 동작 방법.
  5. 적어도 하나의 비휘발성 메모리 장치; 및
    상기 적어도 하나의 비휘발성 메모리 장치를 제어하는 메모리 제어기를 포함하고,
    상기 메모리 제어기는,
    호스트로부터 비식별 요청을 수신하고,
    상기 비식별 요청에 응답하여 비식별화 동작을 수행하고,
    상기 비식별화 요청에 대응하는 오리지널 데이터를 상기 적어도 하나의 비휘발성 메모리 장치의 유효 데이터 영역 또는 무효 데이터 영역에서 검색하고,
    상기 적어도 하나의 비휘발성 메모리 장치에서 상기 오리지널 데이터가 존재하지 않을 때 상기 비식별화 동작의 성공을 출력하는,
    저장 장치.
KR1020170040331A 2017-03-29 2017-03-29 비식별 요청을 처리하는 저장 장치 및 그것의 동작 방법 KR102028666B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170040331A KR102028666B1 (ko) 2017-03-29 2017-03-29 비식별 요청을 처리하는 저장 장치 및 그것의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170040331A KR102028666B1 (ko) 2017-03-29 2017-03-29 비식별 요청을 처리하는 저장 장치 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
KR20170042522A KR20170042522A (ko) 2017-04-19
KR102028666B1 true KR102028666B1 (ko) 2019-10-04

Family

ID=58706110

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170040331A KR102028666B1 (ko) 2017-03-29 2017-03-29 비식별 요청을 처리하는 저장 장치 및 그것의 동작 방법

Country Status (1)

Country Link
KR (1) KR102028666B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102648905B1 (ko) * 2023-02-21 2024-03-18 (주)이지서티 프라이버시 보호 수준을 설정할 수 있는 데이터 변조 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101704702B1 (ko) * 2016-04-18 2017-02-08 (주)케이사인 태깅 기반의 개인 정보 비식별화 시스템 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101033511B1 (ko) * 2008-09-12 2011-05-09 (주)소만사 개인정보 보호 방법 및 이를 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101704702B1 (ko) * 2016-04-18 2017-02-08 (주)케이사인 태깅 기반의 개인 정보 비식별화 시스템 및 방법

Also Published As

Publication number Publication date
KR20170042522A (ko) 2017-04-19

Similar Documents

Publication Publication Date Title
US9971697B2 (en) Nonvolatile memory module having DRAM used as cache, computing system having the same, and operating method thereof
US10496281B2 (en) Data storage device, data processing system and method of operation
US11086571B2 (en) Nonvolatile memory capable of outputting data using wraparound scheme, computing system having the same, and read method thereof
US11481149B2 (en) Memory module and memory system relating thereto
US11294814B2 (en) Memory system having a memory controller and a memory device having a page buffer
US10152244B2 (en) Programmable memory command sequencer
CN108572798B (zh) 针对快速数据传输执行监听操作的存储装置及其方法
US9858146B2 (en) Reducing latency for raid destage operations
US20190026029A1 (en) Storage device, storage system and method of operating the same
TW201945920A (zh) 儲存備份記憶體封裝中之狀態管理
US11294576B2 (en) Object transformation in a solid state drive
US20180018104A1 (en) Dynamic write latency for memory controller using data pattern extraction
US10642531B2 (en) Atomic write method for multi-transaction
TWI737703B (zh) 非揮發性記憶體模組以及操作儲存裝置的方法
KR102028666B1 (ko) 비식별 요청을 처리하는 저장 장치 및 그것의 동작 방법
US20160291897A1 (en) Data storage device and devices having the same
US11662949B2 (en) Storage server, a method of operating the same storage server and a data center including the same storage server
CN108628766B (zh) 非易失存储器、计算系统、及读取方法
JP6297000B2 (ja) 検索装置
US20240184454A1 (en) Storage device and operating method of the same
US11449272B1 (en) Operation based on consolidated memory region description data
US20240012703A1 (en) Storage controllers performing reset operations using setting data, operating methods of storage controllers, and operating methods of storage devices including storage controllers
US10628322B2 (en) Memory system and operating method thereof

Legal Events

Date Code Title Description
G15R Request for early opening
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right