KR101868708B1 - 비정렬 데이터 통합 - Google Patents

비정렬 데이터 통합 Download PDF

Info

Publication number
KR101868708B1
KR101868708B1 KR1020167003854A KR20167003854A KR101868708B1 KR 101868708 B1 KR101868708 B1 KR 101868708B1 KR 1020167003854 A KR1020167003854 A KR 1020167003854A KR 20167003854 A KR20167003854 A KR 20167003854A KR 101868708 B1 KR101868708 B1 KR 101868708B1
Authority
KR
South Korea
Prior art keywords
data
unaligned
unaligned portion
controller
logical
Prior art date
Application number
KR1020167003854A
Other languages
English (en)
Other versions
KR20160025037A (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 KR20160025037A publication Critical patent/KR20160025037A/ko
Application granted granted Critical
Publication of KR101868708B1 publication Critical patent/KR101868708B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Recording Measured Values (AREA)
  • Toys (AREA)

Abstract

본 발명은 비정렬 데이터를 통합하기 위한 방법들 및 시스템들을 포함한다. 하나의 방법은 데이터의 제 1 비정렬 부분과 연관된 제 1 기록 명령어를 수신하는 단계, 데이터의 제 2 비정렬 부분과 연관된 제 2 기록 명령어를 수신하는 단계; 및 상기 데이터의 제 1 비정렬 부분 및 상기 데이터의 제 2 비정렬 부분을 통합하는 단계를 포함하며, 상기 통합 단계는 상기 데이터의 제 1 비정렬 부분 및 상기 데이터의 제 2 비정렬 부분을 메모리 디바이스에서의 페이지에 기록하는 단계를 포함한다.

Description

비정렬 데이터 통합{UNALIGNED DATA COALESCING}
본 발명은 일반적으로 반도체 메모리 디바이스들 및 방법들에 관한 것으로, 보다 상세하게는 비정렬 데이터를 통합하기 위한 방법들 및 시스템들에 관한 것이다.
메모리 디바이스들은 통상적으로 컴퓨터들 또는 다른 전자 디바이스들에서의 내부의, 반도체, 집적 회로들 및/또는 외부 착탈 가능한 디바이스들로서 제공된다. 그 중에서도, 랜덤-액세스 메모리(RAM), 판독 전용 메모리(ROM), 동적 랜덤 액세스 메모리(DRAM), 동기식 동적 랜덤 액세스 메모리(SDRAM), 상 변화 랜덤 액세스 메모리(PCRAM), 및 플래시 메모리를 포함한 많은 상이한 유형들의 메모리가 있다.
메모리 디바이스들은 높은 메모리 밀도들, 높은 신뢰성, 및 낮은 전력 소비를 필요로 하는 광범위한 전자 애플리케이션들을 위한 비-휘발성 메모리로서 이용된다. 비-휘발성 메모리는 다른 전자 디바이스들 중에서도, 개인용 컴퓨터, 휴대용 메모리 스틱, 고체 상태 드라이브(SSD), 개인용 디지털 보조기(PDA), 디지털 카메라, 셀룰러 전화기, 휴대용 음악 플레이어, 예로서 MP3 플레이어, 및 영화 플레이어에 사용될 수 있다.
메모리 시스템은 메모리 시스템의 하나 이상의 메모리 디바이스들에 기록될 데이터와 연관되는 기록 명령어들을 호스트로부터 수신할 수 있다. 메모리 시스템은 상기 호스트의 데이터 전송 크기보다 큰 부분들에 데이터를 기록할 수 있다. 예를 들면, 호스트의 데이터 전송 크기는 섹터, 예로서 데이터의 512 내지 528 바이트들일 수 있다. 그러나, 메모리 시스템은 메모리 디바이스로 및 메모리 디바이스로부터 데이터를 페이지들로 전송할 수 있으며, 이것은 예를 들면, 다수의 섹터들, 예로서 4096 바이트들 이상의 데이터를 포함할 수 있다. 메모리 디바이스에 기록되고/기록되거나 메모리 디바이스로부터 판독된 데이터의 각각의 섹터는 특정한 논리 어드레스와 연관될 수 있다.
호스트의 데이터 전송 크기가 메모리 디바이스의 페이지 크기보다 작을 수 있으므로, 판독-수정-기록(read-modify-write; RMW) 동작들로서 불리울 수 있는 동작들이 발생한다. 예를 들면, 페이지 크기보다 작은 데이터의 양을 메모리 디바이스에 기록하는 것은 메모리 디바이스로부터 데이터의 전체 페이지를 판독하는 것, 상기 페이지를 새로운 데이터로 업데이트하는 것, 및 그 후 상기 업데이트된 페이지를 상기 메모리 디바이스에 다시 기록하는 것을 포함할 수 있다. 판독-수정-기록 동작들을 수행하는 것은 다른 결함들 중에서도, 메모리 시스템과 연관된 마모를 증가시킬 수 있으며 메모리 시스템의 성능을 감소시킬 수 있다. 일 예로서, 5개의 논리 어드레스들에 대응하는 데이터가 5개의 순차적 기록 명령어들에 관련하여 메모리 디바이스에 기록된다면, 5개의 별개의 판독-수정-기록 프로세스들이 상기 데이터를 메모리 디바이스에 기록하기 위해 수행될 수 있다.
본 발명은 비정렬 데이터를 통합하기 위한 방법들 및 시스템들을 포함한다.
하나의 방법은 데이터의 제 1 비정렬 부분과 연관된 제 1 기록 명령어를 수신하는 단계, 데이터의 제 2 비정렬 부분과 연관된 제 2 기록 명령어를 수신하는 단계, 및 상기 데이터의 제 1 비정렬 부분 및 상기 데이터의 제 2 비정렬 부분을 통합하는 단계를 포함하며, 상기 통합 단계는 상기 데이터의 제 1 비정렬 부분 및 상기 데이터의 제 2 비정렬 부분을 메모리 디바이스에서의 페이지에 기록하는 단계를 포함한다.
본 발명은 비정렬 데이터를 통합하기 위한 방법들 및 시스템들을 포함한다.
도 1은 본 발명의 하나 이상의 실시예들에 따른 기록 명령어와 연관된 데이터를 예시한다.
도 2는 본 발명의 하나 이상의 실시예들에 따른 통합 식별 데이터 구조를 예시한다.
도 3a는 본 발명의 하나 이상의 실시예들에 따른 판독 통합 데이터 구조를 예시한다.
도 3b는 본 발명의 하나 이상의 실시예들에 따른 기록 통합 데이터 구조를 예시한다.
도 4는 본 발명의 하나 이상의 실시예들에 따른 적어도 하나의 메모리 시스템을 포함한 컴퓨팅 시스템의 기능 블록도이다.
본 발명은 비정렬 데이터를 통합하기 위한 방법들 및 시스템들을 포함한다. 하나의 방법은 데이터의 제 1 비정렬 부분과 연관된 제 1 기록 명령어를 수신하는 단계, 데이터의 제 2 비정렬 부분과 연관된 제 2 기록 명령어를 수신하는 단계, 및 상기 데이터의 제 1 비정렬 부분 및 상기 데이터의 제 2 비정렬 부분을 통합하는 단계를 포함하며, 상기 통합 단계는 상기 데이터의 제 1 비정렬 부분 및 상기 데이터의 제 2 비정렬 부분을 메모리 디바이스에서의 페이지에 기록하는 단계를 포함한다.
본 발명의 다음의 상세한 설명에서, 그 일부를 형성하며 본 발명의 다수의 실시예들이 어떻게 실시될 수 있는지가 예시로서 도시되는 첨부한 도면들에 대한 참조가 이루어진다. 이들 실시예들은 이 기술분야의 숙련자들로 하여금 본 발명의 상기 실시예들을 실시할 수 있게 하기 위해 충분히 설명되며, 다른 실시예들이 이용될 수 있고, 프로세스, 전기적, 및/또는 구조적 변화들이 본 발명의 범위로부터 벗어나지 않고 이루어질 수 있다는 것이 이해될 것이다.
여기에 사용된 바와 같이, "다수의" 것은 하나 이상의 이러한 것들을 나타낼 수 있다. 예를 들면, 다수의 메모리 디바이스들은 하나 이상의 메모리 디바이스들을 나타낼 수 있다. 부가적으로, 특히 도면들에서의 참조 부호들에 대하여, 여기에 사용된 바와 같이 지정자들("N" 및 "M")은 그렇게 지정된 다수의 특정한 특징이 본 발명의 다수의 실시예들과 함께 포함될 수 있다는 것을 표시한다.
여기에서의 도면들은 첫 숫자 또는 숫자들이 도면 부호에 대응하며 나머지 숫자들은 도면에서의 요소 또는 구성요소를 식별하는 넘버링 관례를 따른다. 상이한 도면들 사이에서의 유사한 요소들 또는 구성요소들은 유사한 숫자들의 사용에 의해 식별될 수 있다. 예를 들면, 100은 도 1에서의 요소 "00"을 참조할 수 있으며, 유사한 요소가 도 2에서 200으로서 참조될 수 있다. 이해될 바와 같이, 여기에서의 다양한 실시예들에 도시된 요소들은 본 발명의 다수의 부가적인 실시예들을 제공하기 위해 부가되고, 교환되고, 및/또는 제거될 수 있다. 또한, 이해될 바와 같이, 도면들에 제공된 요소들의 비율 및 상대적인 규모는 본 발명의 실시예들을 예시하도록 의도되며 제한적인 의미로서 취해져서는 안 된다.
도 1은 본 발명의 하나 이상의 실시예들에 따른 기록 명령어와 연관된 데이터를 예시한다. 이 예에서, 상기 데이터는 예를 들면, 제어기와 연관된 DRAM에 위치될 수 있는, 버퍼(102)에 저장된다. 버퍼(102)에 저장된 데이터는 다른 데이터 구조들 중에서도, 호스트로부터 수신된 기록 명령어와 연관된 데이터, 메모리 시스템으로부터 판독된 데이터, 및/또는 통합 데이터 구조, 예로서 트리 및/또는 테이블과 연관된 데이터를 포함할 수 있다. 호스트로부터의 기록 명령어는 메모리 디바이스에 기록될 다수의 데이터 부분들, 예로서 섹터들을 포함할 수 있다. 각각의 섹터는 논리 어드레스와 연관될 수 있으며 상기 섹터들은 논리 페이지들로 버퍼에 저장될 수 있다. 각각의 논리 페이지는 예를 들면, 8개의 섹터들과 같이, 다수의 섹터들을 포함할 수 있다.
도 1에 예시된 상기 예에서, 기록 명령어와 연관된 데이터는 제 1 비정렬 부분(106-1), 제 2 비정렬 부분(106-2), 및 정렬 부분(108)을 포함할 수 있다. 상기 정렬 부분(108)은 전체 페이지 인크리먼트(increment)들에서 시작 및 종료한다. 이 예에서, 상기 정렬 부분(108)은 논리 페이지(104-1)의 처음에서 시작되고, 논리 페이지들(104-2, 104-3, 104-4, 및 104-5)을 완전히 채우며, 논리 페이지(104-6)의 끝에서 종료한다. 상기 정렬 부분(108)은 페이지들(104-1 내지 104-6)의 각각에 8개의 섹터들을 포함하며 각각의 페이지에서의 8개의 섹터들은 논리 페이지의 처음 및/또는 끝에서 시작 및/또는 종료한다. 정렬 부분(108)은 메모리 디바이스에 즉시 기록될 수 있지만, 제 1 비정렬 부분(106-1) 및/또는 제 2 비정렬 부분(106-2)은 후속 기록 명령어들과 연관된 데이터의 비정렬 부분들과 통합하기 위해 제어기에 남아있다. 이 예에서, 각각의 논리 페이지(104-0 내지 104-7)는 8개의 논리 어드레스들(logical addresses; LA들)과 연관된 데이터를 저장할 수 있다. 예를 들면, 논리 페이지(104-0)는 LA-0 내지 LA-7과 연관된 데이터를 저장할 수 있고, 논리 페이지(104-1)는 LA-8 내지 LA-15와 연관된 데이터를 저장할 수 있고, 논리 페이지(104-2)는 LA-16 내지 LA-23과 연관된 데이터를 저장할 수 있고, 논리 페이지(104-3)는 LA-24 내지 LA-31과 연관된 데이터를 저장할 수 있고, 논리 페이지(104-4)는 LA-32 내지 LA-39와 연관된 데이터를 저장할 수 있고, 논리 페이지(104-5)는 LA-40 내지 LA-47과 연관된 데이터를 저장할 수 있고, 논리 페이지(104-6)는 LA-48 내지 LA-55와 연관된 데이터를 저장할 수 있으며, 논리 페이지(104-7)는 LA-56 내지 LA-63과 연관된 데이터를 저장할 수 있다.
제 1 비정렬 부분(106-1)은, 8개의 논리 어드레스들, 예로서 LA-0 내지 LA-7과 연관된 데이터를 저장할 수 있는, 논리 페이지(104-0)에 저장되는 것이다. 이 예에서, 상기 제 1 비정렬 부분(106-1)은 페이지(104-0)의 LA-4 내지 LA-7에 대응하는 4개의 섹터들을 포함한다. 제 1 비정렬 부분(106-1)의 제 1 섹터는 논리 페이지(104-0)의 LA-4에 있다. 상기 비정렬 부분(106-1)은 논리 페이지(104-0)의 LA-4, LA-5, LA-6, 및 LA-7에 섹터들을 포함한다. 상기 정렬 부분(108)의 제 1 섹터는 페이지(104-1)의 LA-8에서 정렬된다.
제 2 비정렬 부분(106-2)은 8개의 논리 어드레스들, 예로서 LA-56 내지 LA-63과 연관된 데이터를 저장할 수 있는, 논리 페이지(104-7)에 저장되는 것이다. 이 예에서, 상기 제 2 비정렬 부분(106-2)은 페이지(104-7)의 LA-56 내지 LA-61에 대응하는 6개의 섹터들을 포함한다. 제 2 비정렬 부분(106-2)의 제 1 섹터는 논리 페이지(104-7)의 LA-56에 있다. 상기 제 2 비정렬 부분(106-2)은 논리 페이지(104-7)의 LA-56, LA-57, LA-58, LA-59, LA-60, 및 LA-61에 섹터들을 포함한다. 상기 정렬 부분(108)의 마지막 섹터는 논리 페이지(104-6)의 LA-55에서 정렬된다.
하나 이상의 실시예들에서, 데이터의 제 1 비정렬 부분(106-1) 및/또는 데이터의 제 2 비정렬 부분(106-2)은 연관된 페이지가 데이터의 제 1 비정렬 부분(106-1) 및/또는 데이터의 제 2 비정렬 부분(106-2)의 것들 외에 기록 데이터 섹터들을 포함하도록 데이터의 다른 섹터들과 함께 메모리 디바이스에서의 연관된 페이지에 기록될 수 있다. 하나 이상의 실시예들에서, 데이터의 제 1 비정렬 부분(106-1)으로부터의 데이터는 데이터의 제 1 비정렬 부분(106-1)의 논리 어드레스들과 연관된 데이터의 동일한 페이지에 대응하는 논리 어드레스들을 포함하는 다른 기록 명령어들로부터의 데이터와 통합될 수 있다. 데이터의 제 2 비정렬 부분(106-2)으로부터의 데이터는 데이터의 제 2 비정렬 부분(106-2)의 논리 어드레스들과 연관된 데이터의 동일한 페이지에 대응하는 논리 어드레스들을 포함하는 다른 기록 명령어들로부터의 데이터와 통합될 수 있다. 통합되는 데이터는 페이지가 정렬되도록, 예로서 데이터가 상기 페이지의 처음에서 시작되고 및/또는 그 끝에서 종료하도록 메모리 디바이스에서의 페이지에 기록될 수 있다.
도 2는 본 발명의 하나 이상의 실시예들에 따른 통합 식별 데이터 구조(coalescing identification data structure)(209)를 예시한다. 통합 식별 데이터 구조(209)는 데이터의 비정렬 부분과 연관된 것으로 결정된 논리 어드레스들 및 그에 대응하는 논리 페이지를 나타내는 표시자들을 저장한 데이터 구조이다. 예를 들면, 상기 통합 식별 데이터 구조(209)는 도 1에서 논리 페이지(104-0)에 대응하는 LA-4 내지 LA-7 및 논리 페이지(104-7)에 대응하는 LA-56 내지 LA-61을 나타내는 표시자들을 저장할 수 있다. 상기 통합 식별 데이터 구조(209)는 도 1에서 제어기의 버퍼, 예로서 버퍼(102)에 저장될 수 있다. 일 예로서, 통합 식별 데이터 구조(209)에서의 표시자(210-1)는 논리 페이지(104-0)를 나타낼 수 있으며, 이것은 데이터의 제 1 비정렬 부분(106-1)과 연관된 논리 페이지이다. 통합 식별 데이터 구조(209)에서의 표시자(210-2)는 논리 페이지(104-7)를 나타낼 수 있으며, 이것은 데이터의 제 2 비정렬 부분(106-2)과 연관된 논리 페이지이다. 기록 명령어의 비정렬 부분들, 예로서 도 1에서의 제 1 비정렬 부분(106-1) 및 제 2 비정렬 부분(106-2)과 연관된 논리 페이지들에 대응하는 논리 어드레스들과 연관된 메모리 디바이스에서의 데이터가 판독되고 버퍼에 저장될 수 있다.
하나 이상의 실시예들에서, 기록 명령어와 연관된 데이터의 섹터들이 정렬되지 않을 때, 예로서 논리 페이지의 처음에서 시작되지 않고 및/또는 논리 페이지의 끝에서 완료되지 않는 데이터의 섹터들을 가진 페이지와 연관될 때, 데이터의 상기 비정렬 섹터들과 연관된 논리 어드레스들 및 이들 논리 어드레스들에 대응하는 논리 페이지를 나타내는 표시자가 생성될 수 있다. 생성된 표시자는 그 후 데이터의 비정렬 섹터들과 연관된 논리 어드레스들 및 이들 논리 어드레스들에 대응하는 논리 페이지를 또한 나타내는 통합 식별 데이터 구조, 예로서 209에 존재하는 표시자들에 비교될 수 있다. 상기 생성된 표시자가 상기 통합 식별 데이터 구조에서의 다른 식별자가 또한 나타내는 논리 페이지를 나타낼 때, 데이터의 비정렬 섹터들에 대한 기록 명령어 및 상기 통합 식별 데이터 구조에서의 상기 표시자와 연관된 데이터에 대한 기록 명령어는 각각의 기록 명령어에 대한 데이터가 메모리 디바이스의 공통 페이지에 기록되도록 통합될 수 있다.
예를 들면, 제어기는 도 1에서 제 1 비정렬 부분(106-1)과 연관되는 기록 명령어를 수신할 수 있다. 제 1 비정렬 부분(106-1)에 대응하는 논리 어드레스들인, LA-4 내지 LA-7, 및 LA-4 내지 LA-7과 연관되는 논리 페이지(104-0)를 나타내는 표시자가 생성될 수 있다. 상기 생성된 표시자는 도 2에서 통합 식별 데이터 구조(209)에서의 표시자들(210-1 및 210-2)에 비교될 수 있다. 상기 표시자(210-1)는 LA-1 내지 LA-3과 연관되는 논리 페이지(104-0)의, 상기 제어기에 의해 수신된 다른 기록 명령어와 연관된 비정렬 부분에 대응하는 논리 어드레스들인 LA-1 내지 LA-3을 나타낼 수 있다. 다른 기록 명령어와 연관된 비정렬 부분 및 제 1 비정렬 부분(106-1)은 제 1 비정렬 부분(106-1)에 대해 생성된 표시자 및 표시자(210-1) 둘 모두가 논리 페이지(104-0) 및 다른 기록 명령어로부터의 비정렬 부분의 LA-1 내지 LA-3 및 제 1 비정렬 부분(106-1)의 LA-4 내지 LA-7은 공통 논리 어드레스들을 포함하지 않는 논리 어드레스들을 나타내기 때문에 통합되고 메모리 디바이스에서의 공통 페이지로 기록될 수 있다. 다른 기록 명령어와 연관된 데이터의 비정렬 부분 및 제 1 비정렬 부분(106-1)을 통합하는 것은 두 개의 상이한 기록 명령어들로부터의 LA-0 내지 LA-7에 대응하는 데이터를 메모리 시스템에서의 공통 페이지에 기록하는 것을 포함할 수 있다. 상기 메모리 시스템에서의 공통 페이지에 저장된 두 개의 상이한 기록 명령어들과 연관된 데이터는, 데이터가 공통 페이지의 처음에서 시작되며 공통 페이지의 끝에서 종료할 것이기 때문에 정렬될 것이다.
하나 이상의 실시예들에서, 기록 명령어와 연관된 데이터의 섹터들이 정렬되지 않을 때, 데이터의 비정렬 섹터들과 연관된 논리 어드레스들 및 이들 논리 어드레스들에 대응하는 논리 페이지를 나타내는 표시자가 생성될 수 있다. 상기 생성된 표시자는 그 후 데이터의 비정렬 섹터들과 연관된 논리 어드레스들 및 이들 논리 어드레스들에 대응하는 논리 페이지를 또한 나타내는 통합 식별 데이터 구조에 존재하는 표시자들에 비교될 수 있다. 생성된 표시자가 통합 식별 데이터 구조에 이미 존재하는 다른 표시자에 의해 나타내어지지 않는 논리 페이지를 나타낼 때, 상기 생성된 표시자는 제어기에 의해 수신된 다른 기록 명령어들로부터 데이터의 비정렬 섹터들과 연관된 논리 어드레스들 및 이들 논리 어드레스들에 대응하는 논리 페이지를 나타내는 다른 표시자들에 비교되도록 통합 식별 데이터 구조에 위치될 수 있다.
예를 들면, 제어기는 도 1에서 제 1 비정렬 부분(106-1)과 연관된 기록 명령어를 수신할 수 있다. 제 1 비정렬 부분(106-1)에 대응하는 논리 어드레스들인 LA-4 내지 LA-7, 및 LA-4 내지 LA-7과 연관되는 논리 페이지(104-0)를 나타내는 표시자가 생성될 수 있다. 상기 생성된 표시자는 도 2에서 통합 식별 데이터 구조(209)에서의 표시자들에 비교될 수 있다. 상기 생성된 표시자는 통합 식별 데이터 구조에서 다른 식별자에 의해 나타내어지지 않는 논리 페이지(104-0)를 나타낸다. 그러므로, 상기 생성된 표시자는 표시자(210-1)로서 통합 식별 데이터 구조에 위치될 수 있다. 표시자(210-1)는 제 1 비정렬 부분(106-1)에 대응하는 논리 어드레스들인 LA-4 내지 LA-7, 및 LA-4 내지 LA-7과 연관되는 논리 페이지(104-0)를 나타낼 수 있다. 표시자(210-1)는 논리 페이지(104-0)를 나타내는 제 2 표시자에 비교될 수 있다. 논리 페이지(104-0)를 나타내는 제 2 표시자는 논리 어드레스들(LA-0 내지 LA-3)에 대응하는 비정렬 데이터와 연관된 기록 명령어에 응답하여 생성될 수 있다. 상기 제 1 비정렬 부분(106-1) 및 논리 어드레스들(LA-0 내지 LA-3)에 대응하는 비정렬 데이터를 가진 기록 명령어와 연관된 비정렬 데이터는 표시자가 논리 페이지(104-0)를 나타내기 때문에 메모리 디바이스에서 공통 페이지로 통합되고 기록될 수 있고 그리고 제 2 표시자에 의해 나타내어진 기록 명령어로부터의 비정렬 데이터에 대한 논리 어드레스들(LA-1 내지 LA-3) 및 표시자(210-1)에 의해 나타내어진 논리 어드레스들(LA-4 내지 LA-7)은 공통 논리 어드레스들을 포함하지 않는다. 논리 어드레스들(LA-0 내지 LA-3)에 대응하는 비정렬 데이터를 가진 기록 명령어로부터의 비정렬 데이터 및 상기 제 1 비정렬 부분(106-1)을 통합하는 것은 두 개의 상이한 기록 명령어들과 연관되는 LA-0 내지 LA-7에 대응하는 데이터를 메모리 시스템에서의 공통 페이지에 기록하는 것을 포함할 수 있다. 상기 메모리 시스템에서의 공통 페이지에 저장된 두 개의 상이한 기록 명령어들과 연관된 데이터는 상기 데이터가 공통 페이지의 처음에서 시작되고 공통 페이지의 끝에서 종료될 것이기 때문에 정렬될 것이다.
기록 명령어와 연관된 데이터의 섹터들이 정렬되지 않을 때, 데이터의 상기 비정렬 섹터들과 연관된 논리 어드레스들 및 이들 논리 어드레스들에 대응하는 논리 페이지를 나타내는 표시자는 통합 식별 데이터 구조에서의 다른 표시자들에 비교될 수 있다. 비정렬 섹터들과 연관된 논리 어드레스들에 대응하는 논리 페이지를 나타내는 표시자가 통합 식별 데이터 구조에 존재하지 않는다면, 상기 표시자는 통합 식별 데이터 구조에 위치될 수 있다. 상기 표시자는 데이터의 다른 비정렬 부분들과 연관된 논리 어드레스들 및 그것들의 연관된 논리 페이지를 나타내는 다른 인입 표시자들에 비교될 수 있다. 상기 표시자 및 다른 인입 표시자들이 상이한 논리 어드레스들을 나타내지만, 공통 논리 페이지와 연관된다면, 공통 논리 페이지를 나타내는 표시자들을 가진 기록 명령어들과 연관된 데이터의 비정렬 섹터들은 각각의 기록 명령어에 대한 데이터가 메모리 디바이스에서의 공통 페이지에 단일의, 예로서 하나의 기록 동작으로 기록되도록 통합될 수 있다.
통합 식별 데이터 구조에서의 표시자들은 제어기가 기록 명령어를 처리하는 동안 저장되며 데이터의 비정렬 섹터들과 연관된 논리 어드레스들을 나타내는 다른 표시자들에 비교된다. 상기 기록 명령어와 연관된 비정렬 데이터가 메모리 디바이스에 기록된다면, 통합 식별 데이터 구조에서의 비정렬 데이터와 연관된 논리 어드레스들을 나타내는 표시자들은 삭제된다. 상기 통합 식별 데이터 구조는 제어기에 의해 수신된 후속 기록 명령어들에서의 비정렬 데이터와 연관된 논리 어드레스들을 나타내는 표시자들을 수용할 수 있다.
하나 이상의 실시예들에서, 제어기는 논리 페이지(0)에 대응하는 LA-0과 연관된 데이터의 제 1 비정렬 부분과 연관된 제 1 명령어를 수신할 수 있다. LA-0 및 논리 페이지(0)를 나타내는 데이터의 제 1 비정렬 부분과 연관되는 제 1 표시자가 생성되며 통합 식별 데이터 구조에 위치될 수 있다. 상기 제어기는 논리 페이지(0)에 대응하는 LA-1과 연관된 데이터의 제 2 비정렬 부분과 연관된 제 2 명령어를 수신할 수 있다. LA-1 및 논리 페이지(0)를 나타내는, 데이터의 제 2 비정렬 부분과 연관된 제 2 표시자가 생성되며 통합 식별 데이터 구조에 위치될 수 있다. 상기 제어기는 논리 페이지(0)에 대응하는 LA-2와 연관된 데이터의 제 3 비정렬 부분과 연관된 제 3 명령어를 수신할 수 있다. LA-2 및 논리 페이지(0)를 나타내는, 데이터의 제 3 비정렬 부분과 연관된 제 3 표시자가 생성되며 통합 식별 데이터 구조에 위치될 수 있다. 상기 제어기는 논리 페이지(0)에 대응하는 LA-3과 연관된 데이터의 제 4 비정렬 부분과 연관된 제 4 명령어를 수신할 수 있다. LA-3 및 논리 페이지(0)를 나타내는, 데이터의 제 4 비정렬 부분과 연관된 제 4 표시자가 생성되며 통합 식별 데이터 구조에 위치될 수 있다. 상기 제어기는 논리 페이지(0)에 대응하는 LA-4과 연관된 데이터의 제 5 비정렬 부분과 연관된 제 5 명령어를 수신할 수 있다. LA-4 및 논리 페이지(0)를 나타내는, 데이터의 제 5 비정렬 부분과 연관된 제 5 표시자가 생성되며 통합 식별 데이터 구조에 위치될 수 있다.
상기 제 1 표시자, 제 2 표시자, 제 3 표시자, 제 4 표시자, 및 제 5 표시자는 비교될 수 있다. 제 1 표시자, 제 2 표시자, 제 3 표시자, 제 4 표시자, 및 제 5 표시자 각각이 논리 페이지(0)를 나타내며 공통 논리 어드레스를 나타내지 않는다는 결정이 이루어질 수 있다. 그러므로, 데이터의 제 1 비정렬 부분, 데이터의 제 2 비정렬 부분, 데이터의 제 3 비정렬 부분, 데이터의 제 4 비정렬 부분, 및 데이터의 제 5 비정렬 부분은 메모리 디바이스에서의 공통 페이지에 단일 기록 동작으로 통합 및 기록될 수 있어서, 상기 명령어들의 각각에 대한 판독-수정-기록 동작을 수행해야 하는 것을 회피한다.
도 3a는 본 발명의 하나 이상의 실시예들에 따른 판독 통합 데이터 구조(311)를 예시한다. 상기 판독 통합 데이터 구조(300)는 데이터의 섹터들과 연관된 논리 어드레스들(LA들)을 표시하는 제 1 컬럼(312), 버퍼에 데이터의 섹터들의 시작 어드레스들을 포함하는 제 2 컬럼(314), 버퍼에 데이터의 섹터들의 종료 어드레스들을 포함하는 제 3 컬럼(316), 및 논리 어드레스들에 대한 포인터들을 포함하는 제 4 컬럼(318)을 포함한다. 컬럼(318)에서의 포인터들은 판독 통합 데이터 구조에서 다음 논리 어드레스를 가리킬 수 있다. 상기 판독 통합 데이터 구조는 상기 통합 식별 데이터 구조에서 표시자들에 의해 식별되는 논리 페이지들에 대한 LA들, 시작 어드레스들, 종료 어드레스들, 및 논리 어드레스들에 대한 포인터들의 엔트리들을 저장할 수 있다. 상기 판독 통합 데이터 구조는 통합 식별 데이터 구조에서의 표시자에 의해 식별된 논리 페이지에 대응하는 기록 명령어에 수신된 데이터 및 통합 식별 데이터 구조에서의 표시자에 의해 식별된 논리 페이지와 부합하는 메모리 디바이스로부터 판독된 데이터의 비정렬 부분들에 대응하는 LA들, 시작 어드레스들, 종료 어드레스들, 및 포인터들의 엔트리들을 포함할 수 있다.
도 3a에 도시된 예에서, 판독 통합 데이터 구조에서의 각각의 로우는 다수의 엔트리들을 포함한다. 각각의 엔트리는 버퍼에 저장되는 데이터의 섹터에 대응한다. 예를 들면, 엔트리(315-0)는 논리 어드레스(LA-0), 시작 어드레스(SA-0), 종료 어드레스(EA-0), 및 포인터(P-0)와 연관된 데이터에 대응한다. 엔트리(315-1)는 논리 어드레스(LA-1), 시작 어드레스(SA-1), 종료 어드레스(EA-1), 및 포인터(P-1)와 연관된 데이터에 대응한다. 엔트리(315-2)는 논리 어드레스(LA-2), 시작 어드레스(SA-2), 종료 어드레스(EA-2), 및 포인터(P-2)와 연관된 데이터에 대응한다. 엔트리(315-3)는 논리 어드레스(LA-3), 시작 어드레스(SA-3), 종료 어드레스(EA-3), 및 포인터(P-3)와 연관된 데이터에 대응한다. 엔트리(315-4)는 논리 어드레스(LA-4), 시작 어드레스(SA-4), 종료 어드레스(EA-4), 및 포인터(P-4)와 연관된 데이터에 대응한다. 엔트리(315-5)는 논리 어드레스(LA-5), 시작 어드레스(SA-5), 종료 어드레스(EA-5), 및 포인터(P-5)와 연관된 데이터에 대응한다. 엔트리(315-6)는 논리 어드레스(LA-6), 시작 어드레스(SA-6), 종료 어드레스(EA-6), 및 포인터(P-6)와 연관된 데이터에 대응한다. 엔트리(315-7)는 논리 어드레스(LA-7), 시작 어드레스(SA-7), 종료 어드레스(EA-7), 및 포인터(P-7)와 연관된 데이터에 대응한다.
하나 이상의 실시예들에서, 데이터의 비정렬 섹터들은 논리 페이지에 대응하는 다수의 논리 어드레스들과 연관될 수 있다. 제어기가 논리 페이지에 대응하는 데이터의 비정렬 섹터들과 연관된 기록 명령어를 수신할 때, 논리 페이지에 대응하는 논리 어드레스들과 연관된 메모리 디바이스로부터의 데이터는 메모리 디바이스로부터 판독될 수 있으며 제어기에서의 버퍼에 저장될 수 있다. 메모리 디바이스로부터 판독된 데이터에 대응하는 논리 어드레스들, 시작 어드레스들, 종료 어드레스들, 및 포인터들은 판독 통합 데이터 구조에 저장될 수 있다.
예를 들면, 제어기는 도 1에서 제 1 비정렬 부분(106-1)과 연관된 기록 명령어를 수신할 수 있다. 제 1 비정렬 부분(106-1)은 LA-4 내지 LA-7과 연관된다. LA-4 내지 LA-7은, LA-0 내지 LA-7과 연관되는 논리 페이지(104-0)에 대응한다. LA-0 내지 LA-7과 연관된 메모리 디바이스로부터의 데이터는 제어기에 의해 판독될 수 있으며 제어기의 버퍼에 저장되고 표시자는 논리 페이지(104-0)가 제 1 비정렬 부분(106-1)에 대응한다는 것을 식별하기 위해 통합 식별 데이터 구조에 저장될 수 있다. LA-0 내지 LA-7과 연관된 데이터의 각각의 섹터는 메모리 디바이스로부터 판독되며 제어기의 버퍼에 저장되는 데이터에 대응하는 엔트리들(315-0, 315-1, 315-2, 및 315-3)) 및 제 1 비정렬 부분(106-1)에 대응하는 엔트리들(315-4, 315-5, 315-6, 및 315-7)을 갖고, 판독 통합 데이터 구조(311)에서 엔트리를 가질 수 있다. 판독 통합 데이터 구조(311)에서의 엔트리들은 통합 식별 데이터 구조에 저장된 표시자들에 의해 표시된 논리 페이지와 연관될 수 있다. 예를 들면, 판독 통합 데이터 구조(311)에서의 엔트리(315-0)는 메모리 디바이스로부터 판독되고 버퍼에 저장된 데이터의 제 1 섹터에 대해, 논리 어드레스(LA-0); 버퍼에서의 시작 어드레스(SA-0); 버퍼에서의 종료 어드레스(EA-0); 및 다음 엔트리에 대한 포인터(P-0)를 포함한다.
하나 이상의 실시예들에서, 판독 통합 데이터 구조(311)에서의 엔트리들(315-0, 315-1, 315-2, 315-3, 315-4, 315-5, 315-6, 및 315-7)은 공통 논리 페이지를 나타내는 표시자들을 가진 기록 명령어들로부터의 데이터의 비정렬 섹터들을 통합할 때 사용될 수 있다. 판독 통합 데이터 구조(311)에서의 엔트리들(315-0, 315-1, 315-2, 315-3, 315-4, 315-5, 315-6, 및 315-7)은 도 2에서 통합 식별 데이터 구조에서의 표시자(210-1)가 식별할 수 있는 논리 페이지(104-0)와 연관된 데이터에 대응한다. 엔트리들(315-4, 315-5, 315-6, 및/또는 315-7)은 제 1 비정렬 부분(106-1)이 논리 페이지(104-0)에 대응하는 다른 비정렬 부분과 통합될 때 도 3b에서의 기록 통합 데이터 구조(313)를 실장하기 위해 사용될 수 있으며, 이것은 이하에 추가로 상세히 설명될 것이다.
도 3b는 본 발명의 하나 이상의 실시예들에 따라 기록 통합 데이터 구조(313)를 예시한다. 제 1 컬럼(312)은 데이터의 섹터들과 연관된 논리 어드레스들(LA들)을 표시한다. 제 2 컬럼(314)은 버퍼에서의 데이터의 섹터들의 시작 어드레스들을 포함한다. 제 3 컬럼(316)은 버퍼에서의 데이터의 섹터들의 종료 어드레스들을 포함한다. 제 4 컬럼(318)은 논리 어드레스들에 대한 포인터들을 포함한다. 상기 포인터들은 기록 통합 데이터 구조에서의 다음 논리 어드레스를 가리킬 수 있다. 상기 기록 통합 데이터 구조(313)에서의 엔트리들은 통합 식별 데이터 구조에서의 하나 이상의 표시자들에 의해 식별된 공통 논리 어드레스에 대응하는 둘 이상의 기록 명령어들과 연관된 데이터의 비정렬 섹터들과 연관될 수 있다. 상기 기록 통합 데이터 구조(313)에서의 엔트리들은 메모리 디바이스에 기록될 때 통합되는 데이터의 섹터들을 식별 및 배치할 수 있다.
도 3b에 도시된 예에서, 기록 통합 데이터 구조에서의 각각의 로우는 다수의 엔트리들을 포함한다. 각각의 엔트리는 버퍼에 저장되는 데이터의 섹터에 대응한다. 엔트리(319-0)는 논리 어드레스(LA-0), 시작 어드레스(SA-0), 종료 어드레스(EA-0), 및 포인터(P-0)와 연관된 데이터에 대응한다. 엔트리(319-1)는 논리 어드레스(LA-1), 시작 어드레스(SA-1), 종료 어드레스(EA-1), 및 포인터(P-1)와 연관된 데이터에 대응한다. 엔트리(319-2)는 논리 어드레스(LA-2), 시작 어드레스(SA-2), 종료 어드레스(EA-2), 및 포인터(P-2)와 연관된 데이터에 대응한다. 엔트리(319-3)는 논리 어드레스(LA-3), 시작 어드레스(SA-3), 종료 어드레스(EA-3), 및 포인터(P-3)와 연관된 데이터에 대응한다. 엔트리(319-4)는 논리 어드레스(LA-4), 시작 어드레스(SA-4), 종료 어드레스(EA-4), 및 포인터(P-4)와 연관된 데이터에 대응한다. 엔트리(319-5)는 논리 어드레스(LA-5), 시작 어드레스(SA-5), 종료 어드레스(EA-5), 및 포인터(P-5)와 연관된 데이터에 대응한다. 엔트리(319-6)는 논리 어드레스(LA-6), 시작 어드레스(SA-6), 종료 어드레스(EA-6), 및 포인터(P-6)와 연관된 데이터에 대응한다. 엔트리(319-7)는 논리 어드레스(LA-7), 시작 어드레스(SA-7), 종료 어드레스(EA-7), 및 포인터(P-7)와 연관된 데이터에 대응한다.
하나 이상의 실시예들에서, 제어기에 의해 수신된 기록 명령어 및/또는 통합 식별 데이터 구조에서의 표시자가 통합 식별 데이터 구조에서의 다른 표시자가 또한 나타내는 논리 페이지를 나타낼 때, 기록 통합 데이터 구조(313)에서의 엔트리들은 하나의 페이지 상에 통합될 비정렬 데이터의 섹터들과 관련 있는 정보를 사용하여 실장될 수 있다.
예를 들면, 제어기는 데이터의 비정렬 부분을 포함하는 기록 명령어를 수신할 수 있다. 데이터의 상기 비정렬 부분은 논리 페이지(0)에 대응하는, LA-0 내지 LA-3과 연관될 수 있다. 도 2에서의 표시자(210-1)와 같은, 표시자는 통합 식별 데이터 구조에 존재할 수 있으며, 논리 페이지(0)에 대응하는, LA-4 내지 LA-7과 연관된, 도 1에서의 제 1 비정렬 부분(106-1)과 같은, 데이터의 제 1 비정렬 부분을 나타낸다. LA-0 내지 LA-3과 연관된 데이터의 비정렬 부분 및 LA-4 내지 LA-7과 연관되는 데이터의 제 1 비정렬 부분은, 그것들은 공통 논리 어드레스들을 공유하지 않고 동일한 논리 페이지, 예로서 논리 페이지(0)에 대응하기 때문에 통합될 수 있다. 데이터의 비정렬 부분에 대응하는 엔트리들(319-0, 319-1, 319-2, 및 319-3)은 데이터의 제 1 비정렬 부분과 통합되도록 기록 통합 데이터 구조(313)에 입력된다. 판독 통합 데이터 구조(311)로부터의 엔트리들(315-4, 315-5, 315-6, 및 315-7)은 엔트리들(319-4, 319-5, 319-6, 및 319-7)로서 기록 통합 데이터 구조(313)에 복사된다. 상기 엔트리들(315-4, 315-5, 315-6, 및 315-7)은 제어기에 의해 수신되며 데이터의 제 1 비정렬 부분에 대응하는 논리 페이지를 식별하는 표시자를 갖는, 데이터의 제 1 비정렬 부분, 예로서 도 1에서의 데이터의 제 1 비정렬 부분(106-1)과 연관되기 때문에 판독 통합 데이터 구조에 존재한다. 엔트리들(319-4, 319-5, 319-6, 및 319-7)은 제 1 비정렬 부분, 예로서 도 1에서의 데이터의 제 1 비정렬 부분(106-1)과 연관된 논리 어드레스들, 시작 어드레스들, 종료 어드레스들, 및 포인터들에 기초하여, 각각 LA-4 내지 LA-7, SA-4 내지 SA-7, EA-4 내지 EA-7, 및 P-4 내지 P-7을 갖고 실장된다.
기록 통합 데이터 구조(313)에서의 엔트리들(319-0, 319-1, 319-2, 319-3, 319-4, 319-5, 319-6, 및 319-7)은 공통 논리 페이지를 나타내는 표시자들을 가진 기록 명령어들과 연관된 데이터의 비정렬 섹터들을 통합할 때 제어기에 의해 사용될 수 있다. 엔트리들(319-0, 319-1, 319-2, 319-3, 319-4, 319-5, 319-6, 및 319-7)은 데이터의 비정렬 섹터들을 배치하기 위해, 데이터의 상기 비정렬 섹터들을 통합하기 위해, 및 상기 통합된 데이터의 섹터들을 메모리 디바이스에서의 페이지에 기록하기 위해 제어기에 의해 사용될 수 있다.
도 4는 본 발명의 하나 이상의 실시예들에 따라, 적어도 하나의 메모리 시스템(444)을 포함한 컴퓨팅 시스템(400)의 기능 블록 다이어그램이다. 도 4에 예시된 실시예에서, 상기 메모리 시스템(444)은 제어기(403) 및 버스(450)를 통해 결합된 하나 이상의 메모리 디바이스들(430-1,..., 430-N)을 포함한다. 이 예에서, 상기 제어기(403)는 하나 이상의 메모리 디바이스들(430-1,..., 430-N)의 외부에 있다. 상기 메모리 디바이스들(430-1,..., 430-N)은 메모리 시스템을 위해 저장 볼륨을 제공할 수 있다. 상기 제어기(403)는 하드웨어, 펌웨어, 및/또는 소프트웨어를 포함할 수 있다. 하나 이상의 실시예들에서, 상기 제어기(403)는 물리 인터페이스 및 메모리 디바이스들(430-1,..., 430-N)을 포함한 인쇄 회로 보드에 결합된 애플리케이션 특정 집적 회로(ASIC)일 수 있다. 상기 제어기(403)는 버퍼(402)를 포함할 수 있다. 버퍼(402)는 도 1의 버퍼(102)와 같은 버퍼일 수 있으며 통합 식별 데이터 구조(409), 판독 통합 데이터 구조(411), 기록 판독 데이터 구조(413), 호스트로부터 수신된 명령어들과 연관된 데이터, 및 메모리 디바이스들(430-1,..., 430-N)로부터 판독된 데이터를 저장하기 위해 사용될 수 있다. 상기 통합 식별 데이터 구조(409)는 도 2에서의 통합 식별 데이터 구조(209)와 같은 통합 식별 데이터 구조일 수 있다. 상기 판독 통합 데이터 구조(411)는 도 3a에서의 판독 통합 데이터 구조(311)와 같은 판독 통합 데이터 구조일 수 있다. 상기 기록 통합 데이터 구조(413)는 도 3b에서의 기록 통합 데이터 구조(313)와 같은 기록 통합 데이터 구조일 수 있다.
도 4에 예시된 바와 같이, 호스트(440)는 메모리 시스템(444)에 결합될 수 있다. 호스트(440)는 다른 호스트 시스템들 중에서도, 랩탑 컴퓨터, 개인용 컴퓨터, 디지털 카메라, 디지털 기록 및 재생 디바이스, 이동 전화기, PDA, 메모리 카드 판독기, 인터페이스 허브일 수 있으며, 메모리 액세스 디바이스, 예로서 프로세서를 포함할 수 있다.
하나 이상의 실시예들에서, 물리적 호스트 인터페이스(446)는 표준화된 인터페이스의 형태에 있을 수 있다. 예를 들면, 메모리 시스템(444)이 컴퓨팅 시스템(400)에서 데이터 저장을 위해 사용될 때, 물리적 호스트 인터페이스(446)는 다른 커넥터들 및 인터페이스들 중에서도, 직렬 어드밴스드 기술 접속(serial advanced technology attachment; SATA), 주변 구성요소 상호접속 익스프레스(peripheral component interconnect express; PCIe), 또는 범용 직렬 버스(USB)일 수 있다. 일반적으로, 그러나 물리적 호스트 인터페이스(446)는 물리적 호스트 인터페이스를 위한 호환가능한 리셉터들을 가진 호스트(440) 및 메모리 시스템(444) 사이에 제어, 어드레스, 데이터, 및 다른 신호들을 전달하기 위한 인터페이스를 제공할 수 있다.
상기 제어기(403)는 다른 동작들 중에서도 데이터를 판독, 기록, 및 삭제하기 위해 메모리 디바이스들(430-1,..., 430-N)과 통신할 수 있다. 즉, 제어기(403)는 메모리 디바이스(430-1,..., 430-N)로의 원하는 액세스를 달성하기 위해 호스트(440)로부터 수신된 명령어들을 적절한 명령어들로 변환할 수 있다. 상기 제어기(403)는 여기에 설명된 하나 이상의 실시예들을 수행하도록 구성될 수 있다.
메모리 디바이스(430-1,..., 430-N)는 메모리 셀들, 예로서 비-휘발성 메모리 셀들의 하나 이상의 어레이들(420-1, 420-2, 420-M)을 포함할 수 있다. 상기 어레이들(420-1, 420-2, 420-M)은 예를 들면, NAND 아키텍처를 가진 플래시 어레이들일 수 있다. 실시예들은 특정한 유형의 메모리 디바이스에 제한되지 않는다.
도 4의 실시예는 본 발명의 실시예들을 모호하지 않게 하도록 예시되지 않은 부가적인 회로를 포함할 수 있다. 예를 들면, 상기 메모리 시스템(444)은 I/O 회로를 통해 I/O 연결들에 걸쳐 제공된 어드레스 신호들을 래치하기 위해 어드레스 회로를 포함할 수 있다. 어드레스 신호들은 상기 메모리 디바이스들(430-1,..., 430-N)을 액세스하기 위해 로우 디코더 및 컬럼 디코더에 의해 수신 및 디코딩될 수 있다.
결론
본 발명은 비정렬 데이터를 통합하기 위한 방법들 및 시스템들을 포함한다. 하나의 방법은 데이터의 제 1 비정렬 부분과 연관된 제 1 기록 명령어를 수신하는 단계, 데이터의 제 2 비정렬 부분과 연관된 제 2 기록 명령어를 수신하는 단계, 및 상기 데이터의 제 1 비정렬 부분 및 상기 데이터의 제 2 비정렬 부분을 통합하는 단계를 포함하며, 상기 통합 단계는 상기 데이터의 제 1 비정렬 부분 및 상기 데이터의 제 2 비정렬 부분을 메모리 디바이스에서의 페이지에 기록하는 단계를 포함한다.
특정 실시예들이 여기에 예시되고 설명되었지만, 이 기술분야의 숙련자들은 동일한 결과들을 달성하기 위해 산출된 배열이 도시된 특정 실시예들로 대체될 수 있다는 것을 이해할 것이다. 본 발명은 본 발명의 다수의 실시예들의 적응들 또는 변형들을 커버하도록 의도된다. 상기 설명은 예시적이 방식으로 이루어지며 제한적이지 않다는 것이 이해될 것이다. 상기 실시예들의 조합, 및 여기에 구체적으로 설명되지 않은 다른 실시예들이 상기 설명을 검토할 때 이 기술분야의 숙련자들에게 명백할 것이다. 본 발명의 다수의 실시예들의 범위는 상기 구조들 및 방법들이 사용되는 다른 애플리케이션들을 포함한다. 그러므로, 본 발명의 다수의 실시예들의 범위는 첨부된 청구항들이 권리가 있는 등가물들의 전체 범위와 함께, 이러한 청구항들을 참조하여 결정되어야 한다.
앞서 말한 상세한 설명에서, 몇몇 특징들은 본 발명을 간소화하기 위해 단일 실시예에서 함께 그룹화된다. 발명의 이러한 방법은 본 발명의 개시된 실시예들이 각각의 청구항에 명확하게 나열되는 보다 많은 특징들을 사용해야 한다는 의도를 반영하는 것으로서 해석되지 않는다. 오히려, 다음의 청구항들이 반영하는 바와 같이, 본 발명의 주제는 단일의 개시된 실시예의 모든 특징들보다 적게 있다. 따라서, 다음의 청구항들은 별개의 실시예들로서 독립적인 각각의 청구항을 갖고, 상세한 설명에 통합된다.

Claims (12)

  1. 삭제
  2. 비정렬 데이터 통합을 위한 방법으로서,
    데이터의 제 1 비정렬 부분과 연관된 제 1 기록 부명령어(subcommand), 데이터의 제 2 비정렬 부분과 연관된 제 2 기록 부명령어 및 데이터의 정렬 부분과 연관된 제 3 기록 부명령어를 포함하는 기록 명령어를 수신하는 단계;
    제어기 상의 버퍼에 상기 데이터의 제 1 비정렬 부분과 상기 데이터의 제 2 비정렬 부분을 위치시킴으로써 상기 데이터의 제 1 비정렬 부분과 상기 데이터의 제 2 비정렬 부분을 통합하면서 상기 데이터의 정렬 부분을 메모리 디바이스의 제 1 페이지에 기록하는 단계 - 상기 데이터의 제 1 비정렬 부분과 상기 데이터의 제 2 비정렬 부분은 상기 제어기 상의 버퍼에 저장되고, 상기 메모리 디바이스에는 기록되지 않되, 상기 데이터의 제 1 비정렬 부분과 상기 데이터의 제 2 비정렬 부분을 통합하기 전에는 상기 제어기에 남아있고, 통합될 때에는 상기 버퍼에 있음 - ; 및
    상기 데이터의 제 1 비정렬 부분 및 상기 데이터의 제 2 비정렬 부분을 메모리 디바이스의 제 2 페이지에 기록하는 단계를 포함하는, 비정렬 데이터 통합을 위한 방법.
  3. 청구항 2에 있어서, 상기 데이터의 제 1 비정렬 부분 및 상기 데이터의 제 2 비정렬 부분은 페이지와 연관되는 논리 어드레스들과 연관되는, 비정렬 데이터 통합을 위한 방법.
  4. 청구항 2에 있어서, 상기 방법은 페이지가 상기 데이터의 제 1 비정렬 부분과 연관된다는 표시자를 생성하는 단계를 포함하는, 비정렬 데이터 통합을 위한 방법.
  5. 청구항 4에 있어서, 상기 방법은 적어도 상기 데이터의 제 2 비정렬 부분과 연관되는 페이지에 응답하여 상기 데이터의 제 1 비정렬 부분 및 상기 데이터의 제 2 비정렬 부분을 통합하는 단계를 더 포함하며, 생성된 상기 표시자는 상기 페이지가 상기 데이터의 제 1 비정렬 부분과 연관됨을 표시하는, 비정렬 데이터 통합을 위한 방법.
  6. 청구항 2에 있어서, 상기 방법은 상기 데이터의 제 1 비정렬 부분 및 상기 데이터의 제 2 비정렬 부분을 버퍼에 저장하는 단계를 포함하는, 비정렬 데이터 통합을 위한 방법.
  7. 비정렬 데이터 통합을 위한 방법으로서,
    데이터의 제 1 비정렬 부분과 연관된 제 1 기록 명령어를 수신하는 단계;
    데이터의 정렬 부분과 연관된 제 2 기록 명령어를 수신하는 단계;
    상기 데이터의 제 1 비정렬 부분과 연관된 논리 어드레스에 대응하는 논리 페이지가 제 3 기록 명령어와 연관된 데이터의 제 2 비정렬 부분과 연관된 표시자에 의해 나타내어진 논리 페이지임을 결정하는 단계; 및
    제어기 상의 버퍼에 상기 데이터의 제 1 비정렬 부분과 상기 데이터의 제 2 비정렬 부분을 위치시킴으로써 상기 데이터의 제 1 비정렬 부분과 상기 데이터의 제 2 비정렬 부분을 통합하면서, 상기 데이터의 정렬 부분을 메모리 디바이스의 기록하는 단계 - 상기 데이터의 제 1 비정렬 부분과 상기 데이터의 제 2 비정렬 부분은 상기 제어기 상의 버퍼에 저장되고, 상기 메모리 디바이스에는 기록되지 않되, 상기 데이터의 제 1 비정렬 부분과 상기 데이터의 제 2 비정렬 부분을 통합하기 전에는 상기 제어기에 남아있고, 통합될 때에는 상기 버퍼에 있음 - 를 포함하는, 비정렬 데이터 통합을 위한 방법.
  8. 청구항 7에 있어서, 상기 방법은 상기 제 3 기록 명령어를 수신하는 단계에 이어 상기 제 1 기록 명령어를 수신하는 단계를 포함하는, 비정렬 데이터 통합을 위한 방법.
  9. 청구항 7에 있어서, 상기 데이터의 제 1 비정렬 부분 및 상기 데이터의 제 2 비정렬 부분을 통합하는 단계는 상기 데이터의 제 1 비정렬 부분 및 상기 데이터의 제 2 비정렬 부분을 메모리 디바이스에 단일 기록 동작으로 기록하는 단계를 포함하는, 비정렬 데이터 통합을 위한 방법.
  10. 시스템에 있어서,
    메모리 셀들의 어레이; 및
    버퍼를 갖고 상기 어레이에 동작가능하게 결합된 제어기를 포함하며, 상기 제어기는:
    데이터의 제 1 비정렬 부분과 연관된 기록 명령어를 수신하고;
    데이터의 정렬 부분과 연관된 기록 명령어를 수신하고;
    메모리 셀들의 어레이에 상기 데이터의 정렬 부분을 기록하며;
    상기 데이터의 제 1 비정렬 부분과 연관된 논리 어드레스에 대응하는 논리 페이지를 나타내는 표시자를 상기 버퍼에 저장하고;
    상기 데이터의 제 1 비정렬 부분과 상기 데이터의 제 2 비정렬 부분을 상기 제어기 상의 상기 버퍼에 위치시킴으로써, 적어도 상기 데이터의 제 2 비정렬 부분과 연관된 논리 어드레스에 대응하는 논리 페이지가, 상기 표시자에 의해 나타내어진 상기 데이터의 제 1 비정렬 부분에 대응하는 논리 페이지인 것에 응답하여, 후속 기록 명령어와 연관된 상기 데이터의 제 2 비정렬 부분 및 상기 데이터의 제 1 비정렬 부분을, 상기 데이터의 정렬 부분을 상기 메모리 셀들의 어레이에 기록하는 동안, 통합하도록 구성되며,
    상기 데이터의 제 1 비정렬 부분과 상기 데이터의 제 2 비정렬 부분은 상기 제어기 상의 버퍼에 저장되고, 상기 메모리 셀들의 어레이에는 기록되지 않되, 상기 데이터의 제 1 비정렬 부분과 상기 데이터의 제 2 비정렬 부분을 통합하기 전에는 상기 제어기에 남아있고, 통합될 때에는 상기 버퍼에 있는, 시스템.
  11. 청구항 10에 있어서, 상기 제어기는:
    상기 데이터의 제 1 비정렬 부분에 대한 표시자를 후속 기록 명령어에서 데이터의 비정렬 부분에 대응하는 논리 페이지를 나타내는 표시자에 비교하며;
    상기 비교를 기초로 그리고 다른 표시자가 통합 데이터 구조에 존재하지 않는 것에 응답하여 후속 기록 명령어에서 데이터의 비정렬 부분에 대응하는 논리 페이지를 나타내는 표시자를 상기 통합 데이터 구조에 저장하도록 구성되는, 시스템.
  12. 청구항 10에 있어서, 상기 제어기는:
    상기 후속 기록 명령어에서의 상기 데이터의 제 1 비정렬 부분 및 상기 데이터의 제 2 비정렬 부분을 메모리 디바이스의 공통 페이지에 단일 기록 동작으로 기록하도록 구성되는, 시스템.
KR1020167003854A 2011-07-01 2012-06-25 비정렬 데이터 통합 KR101868708B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/175,388 2011-07-01
US13/175,388 US9898402B2 (en) 2011-07-01 2011-07-01 Unaligned data coalescing
PCT/US2012/043996 WO2013006293A2 (en) 2011-07-01 2012-06-25 Unaligned data coalescing

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR20147001591A Division KR20140027491A (ko) 2011-07-01 2012-06-25 비정렬 데이터 통합

Publications (2)

Publication Number Publication Date
KR20160025037A KR20160025037A (ko) 2016-03-07
KR101868708B1 true KR101868708B1 (ko) 2018-06-18

Family

ID=47391864

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167003854A KR101868708B1 (ko) 2011-07-01 2012-06-25 비정렬 데이터 통합
KR20147001591A KR20140027491A (ko) 2011-07-01 2012-06-25 비정렬 데이터 통합

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR20147001591A KR20140027491A (ko) 2011-07-01 2012-06-25 비정렬 데이터 통합

Country Status (7)

Country Link
US (3) US9898402B2 (ko)
EP (1) EP2726989B1 (ko)
JP (1) JP6082736B2 (ko)
KR (2) KR101868708B1 (ko)
CN (1) CN103733183B (ko)
TW (1) TWI494758B (ko)
WO (1) WO2013006293A2 (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9898402B2 (en) * 2011-07-01 2018-02-20 Micron Technology, Inc. Unaligned data coalescing
TWI448892B (zh) * 2011-09-06 2014-08-11 Phison Electronics Corp 資料搬移方法、記憶體控制器與記憶體儲存裝置
US8924631B2 (en) * 2011-09-15 2014-12-30 Sandisk Technologies Inc. Method and system for random write unalignment handling
JP5983019B2 (ja) * 2012-05-17 2016-08-31 ソニー株式会社 制御装置、記憶装置、記憶制御方法
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
JP6255893B2 (ja) * 2013-10-24 2018-01-10 富士通株式会社 ストレージ制御装置、およびストレージ制御プログラム
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10656842B2 (en) * 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US10101943B1 (en) * 2014-09-25 2018-10-16 EMC IP Holding Company LLC Realigning data in replication system
JP6540363B2 (ja) * 2015-08-19 2019-07-10 富士通株式会社 ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム
TWI588824B (zh) * 2015-12-11 2017-06-21 捷鼎國際股份有限公司 加快在不連續頁面寫入資料之電腦系統及其方法
KR102349381B1 (ko) * 2017-05-17 2022-01-13 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10564890B2 (en) * 2017-07-07 2020-02-18 Seagate Technology Llc Runt handling data storage system
US10838639B2 (en) * 2017-08-16 2020-11-17 Intelliflash By Ddn, Inc. Intelligent redundant array of independent disks
US10430330B2 (en) * 2017-10-18 2019-10-01 Western Digital Technologies, Inc. Handling of unaligned sequential writes
US10372603B2 (en) * 2017-11-27 2019-08-06 Western Digital Technologies, Inc. Handling of unaligned writes
CN112925473A (zh) * 2019-12-06 2021-06-08 阿里巴巴集团控股有限公司 数据存储方法、装置、设备及存储介质
JP7408449B2 (ja) 2020-03-23 2024-01-05 キオクシア株式会社 記憶装置及び記憶方法
US11513736B2 (en) 2021-03-08 2022-11-29 Western Digital Technologies, Inc. Revised host command generation for unaligned access
US11755324B2 (en) * 2021-08-31 2023-09-12 International Business Machines Corporation Gather buffer management for unaligned and gather load operations
US20240053923A1 (en) * 2022-08-10 2024-02-15 Western Digital Technologies, Inc. Write coalescing via hmb to optimize write performance
US20240069799A1 (en) * 2022-08-29 2024-02-29 Micron Technology, Inc. Memory device operations for unaligned write operations

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090222628A1 (en) * 2008-03-01 2009-09-03 Kabushiki Kaisha Toshiba Memory system
US20100287330A1 (en) * 2009-05-06 2010-11-11 A-Data Technology Co., Ltd. Method for writing data into flash memory

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05151068A (ja) 1991-11-29 1993-06-18 Toshiba Corp メモリカード装置
JP3263110B2 (ja) 1992-01-08 2002-03-04 富士通株式会社 ストアマージ制御方式
US5459842A (en) 1992-06-26 1995-10-17 International Business Machines Corporation System for combining data from multiple CPU write requests via buffers and using read-modify-write operation to write the combined data to the memory
JPH1055674A (ja) 1996-08-09 1998-02-24 Nec Corp 半導体記憶装置
US6728865B1 (en) 1999-10-20 2004-04-27 Transmeta Corporation Pipeline replay support for unaligned memory operations
US8108590B2 (en) * 2000-01-06 2012-01-31 Super Talent Electronics, Inc. Multi-operation write aggregator using a page buffer and a scratch flash block in each of multiple channels of a large array of flash memory to reduce block wear
US8452912B2 (en) 2007-10-11 2013-05-28 Super Talent Electronics, Inc. Flash-memory system with enhanced smart-storage switch and packed meta-data cache for mitigating write amplification by delaying and merging writes until a host read
US6708258B1 (en) 2001-06-14 2004-03-16 Cisco Technology, Inc. Computer system for eliminating memory read-modify-write operations during packet transfers
US6928515B2 (en) 2002-11-09 2005-08-09 International Business Machines Corporation Integrated sector format-error correction code system and method for efficient writing in a disk array system
JP4470455B2 (ja) * 2003-11-05 2010-06-02 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
US20090204872A1 (en) * 2003-12-02 2009-08-13 Super Talent Electronics Inc. Command Queuing Smart Storage Transfer Manager for Striping Data to Raw-NAND Flash Modules
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US20060036817A1 (en) 2004-08-10 2006-02-16 Oza Alpesh B Method and system for supporting memory unaligned writes in a memory controller
US7366826B2 (en) * 2004-12-16 2008-04-29 Sandisk Corporation Non-volatile memory and method with multi-stream update tracking
US7882299B2 (en) * 2004-12-21 2011-02-01 Sandisk Corporation System and method for use of on-chip non-volatile memory write cache
US7212440B2 (en) * 2004-12-30 2007-05-01 Sandisk Corporation On-chip data grouping and alignment
US7437537B2 (en) 2005-02-17 2008-10-14 Qualcomm Incorporated Methods and apparatus for predicting unaligned memory access
US7873683B2 (en) 2005-07-01 2011-01-18 Qnx Software Systems Gmbh & Co. Kg File system having transaction record coalescing
US7953954B2 (en) * 2007-01-26 2011-05-31 Micron Technology, Inc. Flash storage partial page caching
JP4743174B2 (ja) 2007-06-29 2011-08-10 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
KR101431205B1 (ko) * 2007-07-13 2014-08-18 삼성전자주식회사 캐시 메모리 장치 및 캐시 메모리 장치의 데이터 처리 방법
US8131972B2 (en) 2007-09-19 2012-03-06 International Business Machines Corporation Method and apparatus for improving memory coalescing in a virtualized hardware environment
CN101632068B (zh) * 2007-12-28 2015-01-14 株式会社东芝 半导体存储装置
JP2010080021A (ja) 2008-09-29 2010-04-08 Toshiba Storage Device Corp 記録制御方法及び記録制御部、並びに記憶装置
KR101515525B1 (ko) * 2008-10-02 2015-04-28 삼성전자주식회사 메모리 장치 및 메모리 장치의 동작 방법
US8078848B2 (en) * 2009-01-09 2011-12-13 Micron Technology, Inc. Memory controller having front end and back end channels for modifying commands
US9898402B2 (en) * 2011-07-01 2018-02-20 Micron Technology, Inc. Unaligned data coalescing
US8924631B2 (en) * 2011-09-15 2014-12-30 Sandisk Technologies Inc. Method and system for random write unalignment handling

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090222628A1 (en) * 2008-03-01 2009-09-03 Kabushiki Kaisha Toshiba Memory system
US20100287330A1 (en) * 2009-05-06 2010-11-11 A-Data Technology Co., Ltd. Method for writing data into flash memory

Also Published As

Publication number Publication date
US9898402B2 (en) 2018-02-20
US20180173621A1 (en) 2018-06-21
EP2726989B1 (en) 2020-05-06
US10191843B2 (en) 2019-01-29
WO2013006293A3 (en) 2013-03-14
TWI494758B (zh) 2015-08-01
EP2726989A2 (en) 2014-05-07
TW201308078A (zh) 2013-02-16
US10853238B2 (en) 2020-12-01
KR20160025037A (ko) 2016-03-07
JP6082736B2 (ja) 2017-02-15
US20190121730A1 (en) 2019-04-25
EP2726989A4 (en) 2015-06-17
CN103733183A (zh) 2014-04-16
WO2013006293A2 (en) 2013-01-10
KR20140027491A (ko) 2014-03-06
US20130007381A1 (en) 2013-01-03
CN103733183B (zh) 2016-08-17
JP2014523032A (ja) 2014-09-08

Similar Documents

Publication Publication Date Title
KR101868708B1 (ko) 비정렬 데이터 통합
US10282128B2 (en) Data deduplication
CN110858129B (zh) 数据存储装置及其操作方法
KR102149817B1 (ko) 메모리 어드레싱
KR20190087217A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11249897B2 (en) Data storage device and operating method thereof
EP3673377A1 (en) Logical to physical mapping
US20210382828A1 (en) Method and system for facilitating acceleration of a mapping table reconstruction
US20110004720A1 (en) Method and apparatus for performing full range random writing on a non-volatile memory
US20170371555A1 (en) Method for reducing use of dram in ssd and the ssd using the same
CN112506814A (zh) 一种存储器及其控制方法与存储系统
KR20200020464A (ko) 데이터 저장 장치 및 그 동작 방법
KR20210003946A (ko) 논리적-물리적 데이터 구조
TW202318204A (zh) 映射資訊記錄方法、記憶體控制電路單元與記憶體儲存裝置
CN110309075B (zh) 存储器控制器以及具有存储器控制器的存储器系统
US11543993B1 (en) Fast garbage collection in zoned namespaces SSDs
CN112347524A (zh) 闪存编程方法、装置及电子设备

Legal Events

Date Code Title Description
A107 Divisional application of patent
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant