KR101365134B1 - 웨어 레벨링을 갖는 저장 디바이스에서 중요 데이터를 보호하기 위한 방법 - Google Patents

웨어 레벨링을 갖는 저장 디바이스에서 중요 데이터를 보호하기 위한 방법 Download PDF

Info

Publication number
KR101365134B1
KR101365134B1 KR1020117025904A KR20117025904A KR101365134B1 KR 101365134 B1 KR101365134 B1 KR 101365134B1 KR 1020117025904 A KR1020117025904 A KR 1020117025904A KR 20117025904 A KR20117025904 A KR 20117025904A KR 101365134 B1 KR101365134 B1 KR 101365134B1
Authority
KR
South Korea
Prior art keywords
write
critical
physical storage
write command
storage block
Prior art date
Application number
KR1020117025904A
Other languages
English (en)
Other versions
KR20120022848A (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 퀄컴 인코포레이티드
Publication of KR20120022848A publication Critical patent/KR20120022848A/ko
Application granted granted Critical
Publication of KR101365134B1 publication Critical patent/KR101365134B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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
    • G06F21/79Protecting 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 in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)

Abstract

웨어 레벨링을 갖는 저장 디바이스에서 중요 데이터를 보호하기 위한 방법이 제시된다. 이 방법에서, 중요 데이터가 기록 명령과 연관되었음을 나타내는 연관된 중요 기록 신호와 함께 그 기록 명령이 수신된다. 중요 데이터는 초기 물리적 저장 블록 내의 저장 위치를 포인팅하는 적어도 하나의 어드레스와 추가로 연관된다. 기록 명령은, 가용 물리적 저장 블록 내의 적어도 하나의 저장 위치에 기록하고, 가용 물리적 저장 블록 내의 적어도 하나의 저장 위치로 적어도 하나의 어드레스를 포인팅하고, 기록 명령의 실행을 완료하기 위해 초기 물리적 저장 블록을 소거함으로써 실행된다.

Description

웨어 레벨링을 갖는 저장 디바이스에서 중요 데이터를 보호하기 위한 방법{METHOD FOR PROTECTING SENSITIVE DATA ON A STORAGE DEVICE HAVING WEAR LEVELING}
본 발명은 일반적으로 웨어 레벨링(wear leveling)을 갖는 저장 디바이스에서 중요 데이터(sensitive data)를 원하지 않는 복원으로부터 보호하는 것에 관한 것이다.
플래시 메모리를 이용하는 솔리드 스테이트 저장 디바이스들은 성능, 견고성 및 전력 소모에서의 이점에 기인하여 보편화되고 있다. 플래시 메모리는, 하드 디스크 드라이브 대체 애플리케이션들을 포함하는 특정한 데이터 저장 애플리케이션들에서 고유한 반복적 기록 및 소거 동작들의 결과로서 마모되기 쉽다. 판독 동작들은 현저한 마모를 유발시키지 않는다.
플래시 메모리를 갖는 저장 디바이스는 종종 수백 또는 수천의 어드레스가능 저장 위치들을 갖는 물리적 저장 블록들로 구성된다. 디스크 드라이브 대체 애플리케이션에서의 통상적인 작업 부하(workload)는 현저하게 비대칭적일 수 있으며, 이는, 몇몇 어드레스들이 다른 어드레스들보다 훨씬 더 자주 기록되는 것을 의미한다. "웨어 레벨링" 기술은 일반적으로, 임의의 특정한 저장 블록이 다른 저장 블록들보다 상당히 이전에 최대 수의 소거(erase) 사이클에 도달하여, 저장 디바이스의 수명을 조기에 제한하는 것을 방지하기 위해 적용된다. 전체 물리적 저장 블록은 "플래시" 동작에서 소거된다. 따라서, 물리적 저장 블록에서 데이터를 오버라이트(overwrite)하기 위해, 새로운 데이터가 저장 위치에 기록되기 전에 전체 블록은 먼저 플래시 동작으로 소거되어야 한다.
웨어 레벨링은 특정한 논리 어드레스를 표현하기 위해 상이한 기본(underlying) 물리적 저장 블록을 이용할 수 있다. 따라서, 초기 물리적 저장 블록의 특정한 저장 위치에서의 초기값을 오버라이트하는 동작은 상이한 가용 물리적 저장 블록의 저장 위치에 새로운 값이 기록되게 한다. 이제, 어드레스 포인터가 새로운 값을 갖는 새로운 저장 위치를 포인팅할 것이지만, 임의의 나머지 유효 데이터를 가용 물리적 블록의 저장 위치들로 이동시키고 초기 물리적 저장 블록을 플래시 소거하는 클린업(cleanup) 동작을 유발시키도록 충분한 저장 위치들이 "오버라이트"될 때까지 초기 물리적 저장 블록의 저장 위치에 초기 값이 유지될 수 있다. 그 사이에, 공격자가 클린업 동작 이전에 초기 값을 복원할 수 있다.
더 안좋게는, 물리적 저장 블록이 장애를 일으킬 경우, 그 블록은 웨어 레벨링 알고리즘에 의한 서비스에서 제외된다. 제외된 물리적 저장 위치는 소거되지 않을 것이고, 따라서 저장 디바이스의 수명 동안 자신의 컨텐츠를 보유할 수 있다.
따라서, 웨어 레벨링을 갖는 저장 디바이스에서 중요 데이터를 복원으로부터 보호하는 기술이 요구된다.
본 발명의 일 양상은 웨어 레벨링을 갖는 저장 디바이스에서 중요 데이터를 보호하기 위한 방법에 존재할 수 있다. 이 방법에서, 기록 명령이, 중요 데이터가 그 기록 명령과 연관되었음을 나타내는 연관된 중요 기록 신호와 함께 수신된다. 중요 데이터는 초기 물리적 저장 블록 내의 저장 위치를 포인팅하는 적어도 하나의 어드레스와 추가로 연관된다. 기록 명령은, 가용 물리적 저장 블록 내의 적어도 하나의 저장 위치에 기록하고, 가용 물리적 저장 블록 내의 적어도 하나의 저장 위치로 적어도 하나의 어드레스를 포인팅하고, 기록 명령의 실행을 완료하기 위해 초기 물리적 저장 블록을 소거함으로써 실행된다.
본 발명의 더 상세한 양상들에서, 저장 디바이스는 플래시 메모리 솔리드 스테이트 디바이스일 수 있다. 중요 기록 신호는 저장 디바이스의 하드웨어 인터페이스 상에 전기 신호를 포함할 수 있다. 대안적으로, 기록 명령은 중요 기록 신호를 포함할 수 있거나, 또는 중요 기록 신호는 SCSI 기록(10) 명령의 소거-바이-패스(erase-by-pass) 비트를 포함할 수 있다. 또한, 기록 명령에 의해 기록되는 데이터의 개별적 패턴은 중요 기록 신호를 포함할 수 있다. 중요 기록 신호는 초기 물리적 저장 블록을 소거하기 위한 소거 기술을 나타내기 위해 데이터 중요도 레벨을 포함할 수 있다. 높은 데이터 중요도 레벨은 초기 물리적 저장 블록을 소거하기 위해 다수의 소거 패턴 기록 및 블록 소거 동작들을 유발할 수 있다.
본 발명의 다른 더 상세한 양상에서, 기록 명령을 실행하는 것은, 초기 물리적 저장 블록에서 기록 명령과 연관된 어드레스와 연관되지 않는 위치들에 저장된 데이터를, 기록 명령의 실행을 완료하기 위해 초기 물리적 저장 블록을 소거하기 전에 가용 물리적 저장 블록으로 전달하는 것을 추가로 포함할 수 있다. 또한, 초기 물리적 저장 블록은 복수의 저장 위치들을 포함할 수 있고, 저장 위치들 각각은 대응하는 어드레스와 연관된다.
본 발명의 다른 양상은 웨어 레벨링 및 중요 데이터 보호를 갖는 장치에 존재할 수 있다. 이 장치는, 중요 데이터가 기록 명령과 연관되었음을 나타내는 연관된 중요 기록 신호와 함께 그 기록 명령을 수신하는 수단을 포함할 수 있다. 중요 데이터는 초기 물리적 저장 블록 내의 저장 위치를 포인팅하는 적어도 하나의 어드레스와 추가로 연관될 수 있다. 이 장치는, 가용 물리적 저장 블록 내의 적어도 하나의 저장 위치에 기록하기 위한 수단, 가용 물리적 저장 블록 내의 적어도 하나의 저장 위치로 적어도 하나의 어드레스를 포인팅하기 위한 수단 및 기록 명령의 실행을 완료하기 위해 초기 물리적 저장 블록을 소거하기 위한 수단을 포함하는 기록 명령을 실행하기 위한 수단을 더 포함할 수 있다.
본 발명의 다른 양상은 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 물건에 존재할 수 있고, 컴퓨터 판독가능 매체는, 컴퓨터로 하여금 중요 데이터가 그 기록 명령과 연관되었음을 나타내는 연관된 중요 기록 신호와 함께 그 기록 명령을 수신하게 하기 위한 코드 ―중요 데이터는 초기 물리적 저장 블록 내의 저장 위치를 포인팅하는 적어도 하나의 어드레스와 추가로 연관됨―, 및 컴퓨터로 하여금 가용 물리적 저장 블록 내의 적어도 하나의 저장 위치에 기록하게 하고, 가용 물리적 저장 블록 내의 적어도 하나의 저장 위치로 적어도 하나의 어드레스를 포인팅하게 하고, 기록 명령의 실행을 완료하기 위해 초기 물리적 저장 블록을 소거하게 함으로써 기록 명령을 실행하게 하기 위한 코드를 포함한다.
본 발명의 다른 양상은, 프로세서 및 데이터를 저장하기 위해 프로세서에 연결되는 메모리를 포함하는, 웨어 레벨링 및 중요 데이터 보호를 갖는 장치에 존재할 수 있다. 프로세서는 중요 데이터가 기록 명령과 연관되었음을 나타내는 연관된 중요 기록 신호와 함께 그 기록 명령을 수신하도록 구성되고, 중요 데이터는 초기 물리적 저장 블록 내의 저장 위치를 포인팅하는 적어도 하나의 어드레스와 추가로 연관되고, 프로세서는 가용 물리적 저장 블록 내의 적어도 하나의 저장 위치에 기록하고, 가용 물리적 저장 블록 내의 적어도 하나의 저장 위치로 적어도 하나의 어드레스를 포인팅하고, 기록 명령의 실행을 완료하기 위해 초기 물리적 저장 블록을 소거함으로써 기록 명령을 실행하도록 구성된다.
도 1은 본 발명에 따른 웨어 레벨링 및 중요 데이터 보호를 갖는 저장 디바이스의 개략적 블록도이다.
도 2는 본 발명에 따른 웨어 레벨링을 갖는 저장 디바이스에서 중요 데이터를 보호하기 위한 방법의 흐름도이다.
도 3은 중요 데이터와 연관된 기록 동작 이전에 물리적 저장 블록들의 저장 위치들을 포인팅하는 논리적 어드레스들을 도시하는 개략적 블록도이다.
도 4는 중요 데이터와 연관된 기록 동작 동안 물리적 저장 블록들의 저장 위치들을 포인팅하는 논리적 어드레스들을 도시하는 개략적 블록도이다.
도 5는 중요 데이터와 연관된 기록 동작 이후에 물리적 저장 블록들의 저장 위치들을 포인팅하는 논리적 어드레스들을 도시하는 개략적 블록도이다.
도 6은 중요 기록 신호를 갖는 개별적 패턴을 포함하는 기록 데이터의 개략적 블록도이다.
도 7은 디스크 드라이브 대체 애플리케이션에서 웨어 레벨링을 갖는 제 2 디바이스를 이용하는 컴퓨터의 블록도이다.
용어 "예시적인"은 본 명세서에서 "예, 예시, 또는 설명예로서 기능하는" 것을 의미하는 것으로 이용된다. 여기에 "예시적인" 것으로서 기재되는 임의의 양상이 반드시 다른 양상들에 비해 바람직하거나 유리한 것으로 해석되는 것은 아니다.
도 1 내지 도 5를 참조하면, 본 발명의 일 양상은, 웨어 레벨링을 갖는 저장 디바이스(100)에서 중요 데이터를 보호하기 위한 방법(200)일 수 있다. 이 방법에서, 중요 데이터 IV2가 기록 명령 CMD와 연관된 것을 나타내는 연관된 중요 기록 신호와 함께 기록 명령 CMD가 수신된다(단계 210). 중요 데이터는 초기 물리적 저장 블록 B1 내의 저장 위치 SL2를 포인팅하는 적어도 하나의 어드레스 A2와 추가로 연관된다. 기록 명령은, 가용 물리적 저장 블록 B2 내의 적어도 하나의 저장 위치 SL1에 기록하고(단계 230), 가용 물리적 저장 블록 B2 내의 적어도 하나의 저장 위치 SL1로 적어도 하나의 어드레스 A1을 포인팅하고(단계 240), 기록 명령의 실행을 완료하기 위해 초기 물리적 저장 블록 B1을 소거함(단계 250)으로써 실행된다(단계 220).
저장 디바이스(100)는 B1 내지 BN으로 지정된 복수의 물리적 저장 블록들(110)을 갖는 플래시 메모리 솔리드 스테이트 디바이스일 수 있다. 초기 물리적 저장 블록 B1은 복수의 저장 위치들 SL1 내지 SL4를 가질 수 있고, 각각의 저장 위치들은 대응하는 어드레스 A1 내지 A4와 연관된다. 설명을 위해, 오직 4개의 어드레스 및 저장 위치들만 도시되어 있다. 실제 물리적 저장 블록은 수백 또는 수천의 어드레스가능한 저장 위치들을 가질 수 있다. 또한 각각의 어드레스 A1 내지 A4는 값 V1 내지 V4와 연관된다. 기록 동작의 상황에서, 저장 위치는 기록 동작 이전에 초기 값 IV을 저장할 수 있고, 기록 동작 이후에 새로운 값 NV를 저장할 수 있다. 가용 저장 위치는 AV로 표시된다. 도 3은 기록 동작 이전의 어드레스 포인터들을 도시한다. 어드레스 A2에 대한 포인터는 초기 물리적 저장 블록 B1의 제 2 저장 위치 SL2를 포인팅한다. 도 4는 단계(240) 이후 기록 동작 동안의 어드레스 포인터들을 도시한다. 어드레스 A2에 대한 포인터는 제 2 물리적 저장 블록 B2의 제 1 저장 위치 SL1을 포인팅한다. 실제 기록 동작은 다수의 어드레스들로 기록할 수 있고, 이 경우, 대응하는 개수의 어드레스 포인터들이 새로운 값을 갖는 저장 위치들로 향할 것임을 유의해야 한다. 이 때 기록 동작에서 제 1 물리적 저장 블록 B1의 플래시 소거가 어드레스 A1, A3 및 A4에 대해 저장된 유효 데이터를 소거할 수 있다. 따라서, 기록 명령 CMD를 실행하는 것은, 초기 물리적 저장 블록 B1에서, 기록 명령 CMD와 연관된 어드레스 A2와 연관되지 않은 위치 SL1, SL3 및 SL4에 저장된 데이터 IV1, IV3 및 IV4를, 기록 명령의 실행을 완료하기 위해 초기 물리적 저장 블록 B1을 소거하기 전에 가용 물리적 저장 블록 B2로 전달하는 것을 추가로 포함할 수 있다.
호스트(125)의 운영 시스템은 오직 논리적 어드레스들만을 볼 수 있다. 운영 시스템은, 저장 블록들 BN의 저장 위치들 SL과 논리적 어드레스들 사이의 저장 디바이스 내부 맵핑에 접근하지 못한다. 따라서, 저장 디바이스 내부의 동작인 웨어 레벨링은 논리적 어드레스들을 저장 위치들에 동적으로 맵핑하여, 특정한 논리적 어드레스에 계속하여 기록되는 경우 하나의 물리적 블록이 조기에 마모되지 않는 것을 보장한다.
중요 기록 신호는 호스트(125)와의 저장 디바이스의 하드웨어 인터페이스(120) 상에 전기 신호를 포함할 수 있다. 대안적으로, 기록 명령은 중요 기록 신호를 포함할 수 있다. 이 중요 기록 신호는, 중요 데이터의 보호를 실시하기 위해 표준화될 수 있다. 또한, 중요 기록 신호는 플래시 메모리 저장 디바이스들에 적용되는 기존의 SCSI 기록(10) 명령의 소거-바이-패스 비트일 수 있다. 기존의 명령의 현재 예비된 비트를 이용하기 위해 다른 대안예가 이용된다.
도 6을 참조하면, 기록 명령에 의해 기록된 데이터 내의 개별적 패턴(610)은 중요 기록 신호를 포함할 수 있다. 이 경우, 중요 기록 신호는 묵시적(implicit)이다. 개별적인 패턴은 데이터 필드(600)의 말단의 시작에 있는 특정 갯수의 비트들 또는 바이트들에 대해 모두 제로인 패턴일 수 있다. 또한, 개별적 패턴은 통계적으로 흔하지 않은(unlikely) 데이터 패턴일 수 있다. 이 개별적인 패터의 실시예는 기존의 하드웨어 및 프로그램 인터페이스들에 비해 본 발명의 구현을 허용할 수 있다.
중요 기록 신호는 초기 물리적 저장 블록 B1을 소거하기 위한 소거 기술을 나타내기 위한 데이터 중요도 레벨을 포함할 수 있다. 높은 데이터 중요도 레벨은 초기 물리적 저장 블록을 소거하기 위해 다수의 소거 패턴 기록 및 블록 소거 동작들을 유발할 수 있다. 낮은 데이터 중요도는 오직 하나의 블록 소거 동작을 유발할 수 있다.
특정한 개별적 패턴은 데이터 중요도 레벨을 인코딩할 수 있다. 일 구현예는 저장 디바이스(100) 상에서 내부 리스트로부터 미리 정의된 개별적 패턴들을 추가 또는 삭제하기 위한 메커니즘을 제공할 수 있다. 각각의 이러한 개별적 패턴은, 소거될 저장 블록(110)의 다양한 취급 레벨을 선택하는 중요도 레벨과 연관될 수 있다. 이러한 경우, 저장 디바이스는 기록 데이터에서 특정한 패턴을 인식하고, 나타난 바와 같이, 영향받는 물리적 저장 블록에 향상된 소거 메커니즘을 적용한다. 이 메커니즘의 이점은, 기본 플래시 메모리 저장 메커니즘들을 인식하지 못한 프로그램들도 데이터를 안전하게 소거할 수 있다는 점이다.
중요 기록 신호는, 기록 명령과 연관된 기록 동작이 중요하다는 것을 나타낸다. 통상적으로, 중요한 것으로 마킹된 기록 명령은, 이전에 디바이스에 기록되었던 중요 데이터를 소거하도록 의도된다. 일예는, 동작시 웨어 레벨링에 의해서는 유효하지 않을 수 있는, 이전에 저장된 암호화 키들 위에 제로들을 기록하기를 원하는 것일 수 있다. 새로 기록된 데이터는 중요할 수도 있고, 중요하지 않을 수도 있다. 예를 들어, 묵시적인 중요 기록 신호의 경우, 기록 명령에 의해 기록된 데이터는 중요할 필요가 없다.
본 발명의 다른 양상은, 웨어 레벨링 및 중요 데이터 보호를 갖는 장치(100)에 존재할 수 있다. 이 장치는 중요 데이터 NV2가 그 기록 명령과 연관되었음을 나타내는 연관된 중요 기록 신호와 함께 기록 명령 CMD를 수신하기 위한 수단(130)을 포함할 수 있다. 중요 데이터는 초기 물리적 저장 블록 B1 내의 저장 위치 SL2를 포인팅하는 적어도 하나의 어드레스 A2와 추가로 연관될 수 있다. 이 장치는, 가용 물리적 저장 블록 B2 내의 적어도 하나의 저장 위치 SL1에 기록하기 위한 수단(130), 가용 물리적 저장 블록 B2 내의 적어도 하나의 저장 위치 SL1로 적어도 하나의 어드레스 A2를 포인팅하기 위한 수단(130) 및 기록 명령의 실행을 완료하기 위해 초기 물리적 저장 블록 B1을 소거하기 위한 수단(130)을 포함하는 기록 명령을 실행하기 위한 수단(130)을 더 포함할 수 있다.
본 발명의 다른 양상은 컴퓨터 판독가능 매체(140)를 포함하는 컴퓨터 프로그램 물건일 수 있고, 컴퓨터 판독가능 매체(140)는, 컴퓨터 또는 프로세서(150)로 하여금 중요 데이터 NV2가 그 기록 명령과 연관되었음을 나타내는 연관된 중요 기록 신호와 함께 기록 명령 CMD를 수신하게 하기 위한 코드 ―중요 데이터는 초기 물리적 저장 블록 B2 내의 저장 위치 SL2를 포인팅하는 적어도 하나의 어드레스 A2와 추가로 연관됨―, 및 컴퓨터로 하여금 가용 물리적 저장 블록 B2 내의 적어도 하나의 저장 위치 SL1에 기록하게 하고, 가용 물리적 저장 블록 B2 내의 적어도 하나의 저장 위치 SL1로 적어도 하나의 어드레스 A1을 포인팅하게 하고, 기록 명령의 실행을 완료하기 위해 초기 물리적 저장 블록 B1을 소거하게 함으로써 기록 명령을 실행하게 하기 위한 코드를 포함한다.
본 발명의 다른 양상은, 프로세서(150) 및 데이터를 저장하기 위해 프로세서에 연결되는 메모리(140)를 포함하는, 웨어 레벨링 및 중요 데이터 보호를 갖는 장치에 존재할 수 있다. 프로세서는 중요 데이터 NV2가 그 기록 명령과 연관되었음을 나타내는 연관된 중요 기록 신호와 함께 기록 명령 CMD를 수신하도록 구성되고, 중요 데이터는 초기 물리적 저장 블록 B1 내의 저장 위치 SL2를 포인팅하는 적어도 하나의 어드레스 A2와 추가로 연관되고, 프로세서는 가용 물리적 저장 블록 B2 내의 적어도 하나의 저장 위치 SL1에 기록하고, 가용 물리적 저장 블록 B2 내의 적어도 하나의 저장 위치 SL1로 적어도 하나의 어드레스 A1을 포인팅하고, 기록 명령의 실행을 완료하기 위해 초기 물리적 저장 블록 B1을 소거함으로써 기록 명령을 실행하도록 구성된다.
도 7을 참조하면, 사용자 디바이스(700)는 디스크 드라이브 대체 애플리케이션에서 저장 디바이스(100)를 이용할 수 있다. 유사하게, 사용자 디바이스는 모바일 전화, PDA, 또는 고정식 또는 착탈식 플래시 메모리를 이용하는 유사한 디바이스일 수 있다. 사용자 디바이스는, 프로세서(715), 상주하는 저장 매체(720), 디스플레이(730) 및 키보드와 같은 입력 디바이스(740)를 갖는 컴퓨터(710)를 포함할 수 있다. 사용자 디바이스는 하드웨어 인터페이스(120)에 의해 저장 디바이스(100)에 접속될 수 있다.
당업자는 본 명세서에 개시된 실시예들과 관련되어 제시되는 다양한 예시적인 논리 블록들, 모듈들, 회로들 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 조합으로서 구현될 수도 있음을 또한 이해할 것이다. 하드웨어 및 소프트웨어의 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 알고리즘 단계들이 일반적으로 이들의 기능적 관점에서 설명되었다. 이러한 기능이 하드웨어로 구현되는지, 또는 소프트웨어로 구현되는지는 특정 애플리케이션 및 전체 시스템에 대해 부과된 설계 제한들에 의존한다. 당업자는 설명된 기능들을 각각의 특정 애플리케이션에 대해 다양한 방식으로 구현할 수 있지만, 이러한 구현 결정이 본 발명의 영역을 벗어나는 것으로 해석되어서는 안 된다.
본 명세서에 개시된 실시예들과 관련하여 설명되는 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 처리기(DSP), 주문형 집적회로(ASIC), 필드 프로그램가능한 게이트 어레이(FPGA) 또는 다른 프로그램가능한 논리 장치, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들 또는 설명된 기능들을 구현하도록 설계된 이들의 조합으로 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로 프로세서일 수 있지만, 대안적으로, 프로세서는 상용 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 프로세서는 예를 들어, DSP 및 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 관련한 하나 이상의 마이크로프로세서, 또는 임의의 이러한 구성들의 조합과 같은 계산 장치들의 결합으로서 구현될 수 있다.
본 명세서에 개시된 실시예들과 관련하여 설명되는 방법 또는 알고리즘은 하드웨어로 직접 구현될 수도 있고, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이 둘의 결합으로 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래쉬 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드디스크, 휴대용 디스크, CD-ROM, 또는 공지된 임의의 다른 형태의 저장 매체에 상주할 수 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하고, 저장 매체에 정보를 기록할 수 있도록 프로세서에 연결된다. 대안적으로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서 및 저장 매체는 ASIC에 위치할 수도 있다. ASIC는 사용자 단말에 위치할 수도 있다. 대안적으로, 프로세서 및 저장 매체는 사용자 단말에서 개별 컴포넌트들로서 존재할 수 있다.
하나 이상의 예시적인 실시예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합을 통해 구현될 수 있다. 컴퓨터 프로그램 물건과 같은 소프트웨어로 구현되는 경우, 상기 기능들은 컴퓨터 판독가능한 매체 상에 하나 이상의 명령들 또는 코드로서 저장되거나, 또는 이들을 통해 전송될 수 있다. 컴퓨터 판독가능한 매체는 컴퓨터 저장 매체 및 일 장소에서 다른 장소로 컴퓨터 프로그램의 이전을 용이하게 하기 위한 임의의 매체를 포함하는 통신 매체를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용한 매체일 수 있다. 예를 들어, 이러한 컴퓨터 판독가능한 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 장치들, 또는 명령 또는 데이터 구조의 형태로 요구되는 프로그램 코드 수단을 저장 또는 전달하는데 사용될 수 있고, 범용 컴퓨터 또는 특정 목적 컴퓨터 또는 범용 프로세서 또는 특정 목적 프로세서에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 임의의 연결 수단이 컴퓨터 판독가능한 매체로 간주될 수 있다. 예를 들어, 소프트웨어가 웹사이트, 서버, 또는 다른 원격 소스로부터 동축 케이블, 광섬유 케이블, 꼬임 쌍선, 디지털 가입자 라인(DSL), 또는 적외선, 라디오, 및 마이크로웨이브와 같은 무선 기술들을 통해 전송되는 경우, 동축 케이블, 광섬유 케이블, 꼬임 쌍선, DSL, 또는 적외선, 라디오, 및 마이크로웨이브와 같은 무선 기술들이 이러한 매체의 정의에 포함될 수 있다. 여기서 사용되는 disk 및 disc은 컴팩트 disc(CD), 레이저 disc, 광 disc, DVD, 플로피 disk, 및 블루-레이 disc를 포함하며, 여기서 disk는 데이터를 자기적으로 재생하지만, disc는 레이저를 이용하여 광학적으로 데이터를 재생한다. 상기 조합들 역시 컴퓨터 판독가능한 매체의 범위 내에 포함되어야 한다.
개시된 실시예들의 이전의 설명은 당업자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 당업자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 따라서, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 이하의 청구항들에 의해 정의된 바와 같은 원리들 및 신규한 특징들과 부합하는 가장 넓은 범위와 조화된다.

Claims (34)

  1. 웨어 레벨링(wear leveling)을 갖는 저장 디바이스에서 중요 데이터(sensitive data)를 보호하기 위한 방법으로서,
    연관된 중요 기록 신호와 함께 기록 명령을 수신하는 단계 ― 상기 중요 기록 신호는 중요 데이터가 상기 기록 명령과 연관됨을 나타내며, 상기 중요 데이터는 초기 물리적 저장 블록 내의 저장 위치를 포인팅하는 적어도 하나의 어드레스와 추가로 연관되며, 상기 중요 기록 신호는 상기 초기 물리적 저장 블록을 소거(erase)하기 위한 소거 기술을 나타내기 위한 데이터 중요도 레벨을 포함함 ―; 및
    가용 물리적 저장 블록 내의 적어도 하나의 저장 위치에 기록하고,
    상기 가용 물리적 저장 블록 내의 상기 적어도 하나의 저장 위치로 상기 적어도 하나의 어드레스를 포인팅하고,
    상기 기록 명령의 실행을 완료하기 위해 상기 초기 물리적 저장 블록을 소거함으로써,
    상기 기록 명령을 실행하는 단계를 포함하는,
    중요 데이터를 보호하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 저장 디바이스는 플래시 메모리 솔리드-스테이트 디바이스인, 중요 데이터를 보호하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 중요 기록 신호는 상기 저장 디바이스의 하드웨어 인터페이스 상의 전기 신호를 포함하는, 중요 데이터를 보호하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 기록 명령은 상기 중요 기록 신호를 포함하는, 중요 데이터를 보호하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 중요 기록 신호는 SCSI 기록(10) 명령의 소거-바이-패스(erase-by-pass) 비트를 포함하는, 중요 데이터를 보호하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 기록 명령에 의해 기록되는 데이터 내의 개별적인 패턴은 상기 중요 기록 신호를 포함하는, 중요 데이터를 보호하기 위한 방법.
  7. 삭제
  8. 제 1 항에 있어서,
    미리 결정된 레벨보다 높은 데이터 중요도 레벨은 상기 초기 물리적 저장 블록을 소거하기 위해 다수의 소거 패턴 기록 및 블록 소거 동작들을 유발하는, 중요 데이터를 보호하기 위한 방법.
  9. 제 1 항에 있어서,
    상기 기록 명령을 실행하는 단계는 상기 기록 명령의 실행을 완료하기 위해 상기 초기 물리적 저장 블록을 소거하기 전에, 상기 초기 물리적 저장 블록에서 상기 기록 명령과 연관된 어드레스와 연관되지 않는 위치들에 저장된 데이터를, 가용 물리적 저장 블록으로 전달하는 단계를 더 포함하는, 중요 데이터를 보호하기 위한 방법.
  10. 제 1 항에 있어서,
    상기 초기 물리적 저장 블록은 복수의 저장 위치들을 포함하고, 상기 복수의 저장 위치들 각각은 대응하는 어드레스와 연관되는, 중요 데이터를 보호하기 위한 방법.
  11. 웨어 레벨링을 가지며 중요 데이터 보호를 위한 장치로서,
    연관된 중요 기록 신호와 함께 기록 명령을 수신하기 위한 수단 ― 상기 중요 기록 신호는 중요 데이터가 상기 기록 명령과 연관됨을 나타내며, 상기 중요 데이터는 초기 물리적 저장 블록 내의 저장 위치를 포인팅하는 적어도 하나의 어드레스와 추가로 연관되며, 상기 중요 기록 신호는 상기 초기 물리적 저장 블록을 소거하기 위한 소거 기술을 나타내기 위한 데이터 중요도 레벨을 포함함 ―; 및
    상기 기록 명령을 실행하기 위한 수단을 포함하고,
    상기 기록 명령을 실행하기 위한 수단은,
    가용 물리적 저장 블록 내의 적어도 하나의 저장 위치에 기록하기 위한 수단,
    상기 가용 물리적 저장 블록 내의 상기 적어도 하나의 저장 위치로 상기 적어도 하나의 어드레스를 포인팅하기 위한 수단, 및
    상기 기록 명령의 실행을 완료하기 위해 상기 초기 물리적 저장 블록을 소거하기 위한 수단을 포함하는,
    중요 데이터 보호를 위한 장치.
  12. 제 11 항에 있어서,
    상기 중요 기록 신호는 저장 디바이스의 하드웨어 인터페이스 상의 전기 신호를 포함하는, 중요 데이터 보호를 위한 장치.
  13. 제 11 항에 있어서,
    상기 기록 명령은 상기 중요 기록 신호를 포함하는, 중요 데이터 보호를 위한 장치.
  14. 제 11 항에 있어서,
    상기 중요 기록 신호는 SCSI 기록(10) 명령의 소거-바이-패스 비트를 포함하는, 중요 데이터 보호를 위한 장치.
  15. 제 11 항에 있어서,
    상기 기록 명령에 의해 기록되는 데이터 내의 개별적인 패턴은 상기 중요 기록 신호를 포함하는, 중요 데이터 보호를 위한 장치.
  16. 삭제
  17. 제 11 항에 있어서,
    미리 결정된 레벨보다 높은 데이터 중요도 레벨은 상기 소거하기 위한 수단이 다수의 소거 패턴 기록 및 블록 소거 동작들을 수행하게 하는, 중요 데이터 보호를 위한 장치.
  18. 제 11 항에 있어서,
    상기 기록 명령을 실행하기 위한 수단은, 상기 초기 물리적 저장 블록에서 상기 기록 명령과 연관된 어드레스와 연관되지 않는 위치들에 저장된 데이터를, 가용 물리적 저장 블록으로 전달하기 위한 수단을 더 포함하는, 중요 데이터 보호를 위한 장치.
  19. 제 11 항에 있어서,
    상기 초기 물리적 저장 블록은 복수의 저장 위치들을 포함하고, 상기 복수의 저장 위치들 각각은 대응하는 어드레스와 연관되는, 중요 데이터 보호를 위한 장치.
  20. 컴퓨터 판독가능 매체로서,
    컴퓨터로 하여금 연관된 중요 기록 신호와 함께 기록 명령을 수신하게 하기 위한 코드 ― 상기 중요 기록 신호는 중요 데이터가 상기 기록 명령과 연관됨을 나타내며, 상기 중요 데이터는 초기 물리적 저장 블록 내의 저장 위치를 포인팅하는 적어도 하나의 어드레스와 추가로 연관되며, 상기 중요 기록 신호는 상기 초기 물리적 저장 블록을 소거하기 위한 소거 기술을 나타내기 위한 데이터 중요도 레벨을 포함함 ―; 및
    가용 물리적 저장 블록 내의 적어도 하나의 저장 위치에 기록하고,
    상기 가용 물리적 저장 블록 내의 상기 적어도 하나의 저장 위치로 상기 적어도 하나의 어드레스를 포인팅하고,
    상기 기록 명령의 실행을 완료하기 위해 상기 초기 물리적 저장 블록을 소거함으로써,
    컴퓨터로 하여금 상기 기록 명령을 실행하게 하기 위한 코드를 포함하는,
    컴퓨터 판독가능 매체.
  21. 제 20 항에 있어서,
    상기 기록 명령은 상기 중요 기록 신호를 포함하는, 컴퓨터 판독가능 매체.
  22. 제 20 항에 있어서,
    상기 중요 기록 신호는 SCSI 기록(10) 명령의 소거-바이-패스 비트를 포함하는, 컴퓨터 판독가능 매체.
  23. 제 20 항에 있어서,
    상기 기록 명령에 의해 기록되는 데이터 내의 개별적인 패턴은 상기 중요 기록 신호를 포함하는, 컴퓨터 판독가능 매체.
  24. 삭제
  25. 제 20 항에 있어서,
    상기 초기 물리적 저장 블록은 복수의 저장 위치들을 포함하고, 상기 복수의 저장 위치들 각각은 대응하는 어드레스와 연관되는, 컴퓨터 판독가능 매체.
  26. 웨어 레벨링을 가지며 중요 데이터 보호를 위한 장치로서,
    프로세서; 및
    데이터를 저장하기 위해 상기 프로세서에 연결되는 메모리를 포함하고,
    상기 프로세서는,
    연관된 중요 기록 신호와 함께 기록 명령을 수신하고 ― 상기 중요 기록 신호는 중요 데이터가 상기 기록 명령과 연관됨을 나타내며, 상기 중요 데이터는 초기 물리적 저장 블록 내의 저장 위치를 포인팅하는 적어도 하나의 어드레스와 추가로 연관되며, 상기 중요 기록 신호는 상기 초기 물리적 저장 블록을 소거하기 위한 소거 기술을 나타내기 위한 데이터 중요도 레벨을 포함함 ―;
    가용 물리적 저장 블록 내의 적어도 하나의 저장 위치에 기록하고, 상기 가용 물리적 저장 블록 내의 상기 적어도 하나의 저장 위치로 상기 적어도 하나의 어드레스를 포인팅하고, 상기 기록 명령의 실행을 완료하기 위해 상기 초기 물리적 저장 블록을 소거함으로써, 상기 기록 명령을 실행하도록 구성되는,
    중요 데이터 보호를 위한 장치.
  27. 제 26 항에 있어서,
    상기 중요 기록 신호는 저장 디바이스의 하드웨어 인터페이스 상의 전기 신호를 포함하는, 중요 데이터 보호를 위한 장치.
  28. 제 26 항에 있어서,
    상기 기록 명령은 상기 중요 기록 신호를 포함하는, 중요 데이터 보호를 위한 장치.
  29. 제 26 항에 있어서,
    상기 중요 기록 신호는 SCSI 기록(10) 명령의 소거-바이-패스 비트를 포함하는, 중요 데이터 보호를 위한 장치.
  30. 제 26 항에 있어서,
    상기 기록 명령에 의해 기록되는 데이터 내의 개별적인 패턴은 상기 중요 기록 신호를 포함하는, 중요 데이터 보호를 위한 장치.
  31. 삭제
  32. 제 26 항에 있어서,
    미리 결정된 레벨보다 높은 데이터 중요도 레벨은 상기 프로세서가 다수의 소거 패턴 기록 및 블록 소거 동작들을 수행하게 하는, 중요 데이터 보호를 위한 장치.
  33. 제 26 항에 있어서,
    상기 기록 명령을 실행하는 것은, 상기 초기 물리적 저장 블록에서 상기 기록 명령과 연관된 어드레스와 연관되지 않는 위치들에 저장된 데이터를, 가용 물리적 저장 블록으로 전달하는 것을 더 포함하는, 중요 데이터 보호를 위한 장치.
  34. 제 26 항에 있어서,
    상기 초기 물리적 저장 블록은 복수의 저장 위치들을 포함하고, 상기 복수의 저장 위치들 각각은 대응하는 어드레스와 연관되는, 중요 데이터 보호를 위한 장치.
KR1020117025904A 2009-03-31 2010-03-31 웨어 레벨링을 갖는 저장 디바이스에서 중요 데이터를 보호하기 위한 방법 KR101365134B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/415,865 2009-03-31
US12/415,865 US8433843B2 (en) 2009-03-31 2009-03-31 Method for protecting sensitive data on a storage device having wear leveling
PCT/US2010/029354 WO2010117850A1 (en) 2009-03-31 2010-03-31 Method for protecting sensitive data on a storage device having wear leveling

Publications (2)

Publication Number Publication Date
KR20120022848A KR20120022848A (ko) 2012-03-12
KR101365134B1 true KR101365134B1 (ko) 2014-02-25

Family

ID=42332233

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117025904A KR101365134B1 (ko) 2009-03-31 2010-03-31 웨어 레벨링을 갖는 저장 디바이스에서 중요 데이터를 보호하기 위한 방법

Country Status (7)

Country Link
US (1) US8433843B2 (ko)
EP (1) EP2414981B1 (ko)
JP (1) JP5536191B2 (ko)
KR (1) KR101365134B1 (ko)
CN (1) CN102365644B (ko)
TW (1) TW201044406A (ko)
WO (1) WO2010117850A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9436594B2 (en) * 2011-05-27 2016-09-06 Seagate Technology Llc Write operation with immediate local destruction of old content in non-volatile memory
CN102511044B (zh) * 2011-09-06 2013-10-02 华为技术有限公司 一种数据删除方法及装置
US10120991B1 (en) * 2013-10-29 2018-11-06 Marc W. Tobias Systems and methods for initiating immediate data erasure on a device
JP2015204073A (ja) * 2014-04-16 2015-11-16 キヤノン株式会社 情報処理装置、情報処理端末、情報処理方法およびプログラム
KR102456104B1 (ko) 2015-08-24 2022-10-19 삼성전자주식회사 데이터 신뢰성에 따라 동작 조건을 변경하는 저장 장치의 동작 방법
KR102393323B1 (ko) 2015-08-24 2022-05-03 삼성전자주식회사 재사용 주기를 이용하여 사용자 데이터를 쓰기 위한 워드라인을 결정하는 저장 장치의 동작 방법
KR102333746B1 (ko) 2015-09-02 2021-12-01 삼성전자주식회사 재사용 주기에 따라 마모도를 관리하는 저장 장치의 동작 방법
JP6875808B2 (ja) * 2016-09-09 2021-05-26 キヤノン株式会社 情報処理装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004040578A2 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Wear leveling in non-volatile storage systems

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5341339A (en) * 1992-10-30 1994-08-23 Intel Corporation Method for wear leveling in a flash EEPROM memory
US6732221B2 (en) * 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
US20030005323A1 (en) * 2001-06-29 2003-01-02 Hanley David C. Management of sensitive data
EP1488318B1 (en) 2002-03-20 2018-05-30 Citrix Systems International GmbH System and method of secure garbage collection on a mobile device
US20050257017A1 (en) * 2004-05-14 2005-11-17 Hideki Yagi Method and apparatus to erase hidden memory in a memory card
US8006047B2 (en) * 2007-06-27 2011-08-23 Hitachi Global Storage Technologies Netherlands B.V. Storage device with write barrier sensitive write commands and write barrier insensitive commands
JP4893677B2 (ja) * 2008-03-26 2012-03-07 ブラザー工業株式会社 利用許諾依頼方法、利用許諾依頼サーバ、および利用許諾依頼プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004040578A2 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Wear leveling in non-volatile storage systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DRAFT INTERNATIONAL STANDARD ISO/IEC 14776-321("Information technology - Small Computer System Interface - Part 321: SCSI-3 Block Commands(SBC)") *

Also Published As

Publication number Publication date
EP2414981A1 (en) 2012-02-08
CN102365644A (zh) 2012-02-29
WO2010117850A1 (en) 2010-10-14
US20100250835A1 (en) 2010-09-30
EP2414981B1 (en) 2018-12-26
JP2012523045A (ja) 2012-09-27
CN102365644B (zh) 2015-03-11
US8433843B2 (en) 2013-04-30
TW201044406A (en) 2010-12-16
KR20120022848A (ko) 2012-03-12
JP5536191B2 (ja) 2014-07-02

Similar Documents

Publication Publication Date Title
KR101365134B1 (ko) 웨어 레벨링을 갖는 저장 디바이스에서 중요 데이터를 보호하기 위한 방법
TWI596486B (zh) 記憶體儲存裝置、記憶體控制器及資料串傳送與識別方法
US9923562B1 (en) Data storage device state detection on power loss
US9037782B2 (en) Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same
US9146691B2 (en) Method for managing commands in command queue, memory control circuit unit and memory storage apparatus
TWI423026B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
JP5891027B2 (ja) 記憶装置をサニタイズする方法及び装置
US8296466B2 (en) System, controller, and method thereof for transmitting data stream
US8112589B2 (en) System for caching data from a main memory with a plurality of cache states
CN113885808A (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
CN107229580B (zh) 顺序流检测方法与装置
US8074046B2 (en) Semiconductor memory device and operation method thereof
US9483195B2 (en) Response reading method and data transmission system
JP4731325B2 (ja) 記録媒体、データ処理装置及びデータ処理方法
TW201621668A (zh) 資料儲存裝置及其資料寫入方法
US9405668B1 (en) Data storage device initialization information accessed by searching for pointer information
US11307786B2 (en) Data storage devices and data processing methods
JP4717907B2 (ja) フラッシュメモリ装置のアクセスを保護するシステム及びその方法
JP2015069241A (ja) 画像処理装置、制御装置、それらの制御方法、及びプログラム
Barbara Solid state drives: Part 5
CN109407963A (zh) 一种实现存储管理的方法及装置
KR20110015280A (ko) 플래시 메모리에서 각 블록에 대한 블록 정보를 기록하는 방법
JP2010140342A (ja) ドライブ装置、情報処理装置およびデータ書き換え方法
KR20110015288A (ko) 플래시 메모리의 소거 정보를 복원하는 방법
JP2010079860A (ja) 記憶装置およびメモリ制御方法

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: 20161229

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 6