KR20070012630A - 데이터 런 프로그래밍 - Google Patents
데이터 런 프로그래밍 Download PDFInfo
- Publication number
- KR20070012630A KR20070012630A KR1020067013319A KR20067013319A KR20070012630A KR 20070012630 A KR20070012630 A KR 20070012630A KR 1020067013319 A KR1020067013319 A KR 1020067013319A KR 20067013319 A KR20067013319 A KR 20067013319A KR 20070012630 A KR20070012630 A KR 20070012630A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- adaptive
- logical
- metablock
- blocks
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
Description
Claims (80)
- 개별적으로 프로그램 가능한 평면들내에 배열된 다수의 삭제가능한 삭제블록들을 포함하는 메모리 어레이에 데이터를 저장하는 방법에 있어서,적응형 메타블럭을 생성하기 위해 어레이의 서로 다른 평면들로부터 삭제 블록들의 수를 선택하는 단계; 및상기 적응형 메타 블록내의 삭제 블록들을 병렬로 프로그래밍하는 단계를 포함하고, 상기 삭제 블록들의 수는 가능한 값의 범위로부터 선택된 적응형 메타블럭내의 삭제블록의 수인 것을 특징으로 하는 메모리 어레이에 데이터를 저장하는 방법.
- 제1항에 있어서, 상기 가능한 값의 범위는 1부터 상기 메모리 어레이내의 개별적으로 프로그램 가능한 평면들의 수까지 인 것을 특징으로 하는 메모리 어레이에 데이터를 저장하는 방법.
- 제1항에 있어서, 적응형 메타 블록내의 삭제 블록들을 병렬로 프로그래밍하는 것은 상기 적응형 메타 블록내에 있지않은 다수개의 삭제 블록들을 병렬로 프로그래밍하는 동작을 일으키는 것을 특징으로 하는 메모리 어레이에 데이터를 저장하는 방법.
- 제3항에 있어서, 상기 적응형 메타 블록에 있지 않은 다수의 삭제 블록들은 다른 적응형 메타 블록에 있는 것을 특징으로 하는 메모리 어레이에 데이터를 저장하는 방법.
- 제1항에 있어서, 삭제 블록들의 수를 선택하는 것은 평면들의 수를 선택하는 동작을 포함하고, 각각의 평면은 상기 평면내의 사용가능한 삭제 블록들의 수에 따라 선택되는 것을 특징으로 하는 메모리 어레이에 데이터를 저장하는 방법.
- 제1항에 있어서, 저장되는 상기 데이터는 어드레스의 지정에 의한 단위별 데이터를 포함하고, 논리 그룹들은 삭제 블록내에 저장될 수 있는 어드레스 지정에 의한 단위별 데이터의 수와 동일한 어드레스 지정에 의한 단위별 데이터 수로부터 개별적으로 형성되며, 논리 그룹은 적응형 메타블록에 프로그램되어 적응형 메타블록내의 각각의 삭제 블록들은 상기 논리 그룹으로부터 적어도 하나의 어드레스지정 가능한 데이터 단위를 가지는 것을 특징으로 하는 메모리 어레이에 데이터를 저장하는 방법.
- 개별적으로 프로그램가능한 평면들내에 배치된 삭제 블록들을 포함하는 메모리 어레이에 데이터를 저장하는 방법에 있어서,평면 내의 삭제 블록들의 유용성을 기초로한 알고리즘에 따라 개별적으로 선택되는 메모리 어레이의 다수의 평면들을 선택하는 단계;선택된 평면들중 다른 하나로부터 도출된 다수의 삭제 블록들로부터 적응형 메타블록을 선택하는 단계; 및상기 적응형 메타블록의 삭제 블록들을 병렬로 프로그래밍하는 단계를 포함하는 메모리 어레이에 데이터를 저장하는 방법.
- 제7항에 있어서, 상기 어레이의 다른 평면들로부터의 삭제 블록들은 상대적인 평면들내의 동일 위치에 배치되지 않는 것을 특징으로 하는 메모리 어레이에 데이터를 저장하는 방법.
- 제7항에 있어서, 삭제블록들의 수는 가능한 값의 범위로부터 선택되는 것을 특징으로하는 메모리 어레이에 데이터를 저장하는 방법.
- 제7항에 있어서, 제2적응형 메타블록을 형성하고, 상기 적응형 메타블록 및 제2적응형 메타블록을 병렬로 프로그래밍하는 단계를 더 포함하는 메모리 어레이에 데이터를 저장하는 방법.
- 제10항에 있어서, 상기 적응형 메타블록내의 삭제블록들의 수와 상기 제2적응형 메타블록내의 삭제 블록들의 수는 다른 것을 특징으로 하는 메모리 어레이에 데이터를 저장하는 방법.
- 개별적으로 프로그램가능한 평면들 내에 배치된 멀티 섹터형 삭제 블록들을 포함하는 메모리 어레이에 데이터를 저장하는 방법에 있어서,상기 어레이에 저장되는 데이터로부터 상기 메모리 어레이의 하나의 삭제 블록에 저장된 데이터 섹터들의 수와 동일한 데이터 섹터들을 포함하는 논리 그룹들을 형성하는 단계;상기 논리 그룹들로부터 적응형 논리 블록들을 형성하는 단계;멀티 섹터 삭제 블록들로부터 적응형 메타블록을 형성하는 단계;상기 메모리 어레이의 적응형 메타블록에 상기 적응형 논리 블록을 저장하여 멀티 섹터 삭제 블록들의 하나가 상기 논리 그룹들의 각각의 부붐을 포함하도록 하는 단계; 및상기 적응형 논리 블록의 논리 그룹들에 대한 어드레스 정보를 개별적으로 기록하는 단계를 포함하는 메모리 어레이에 데이터를 저장하는 방법.
- 제12항에 있어서, 상기 적응형 논리 블록은 상기 메모리 어레이의 멀티 섹터 삭제 블록들에 대한 병렬 프로그래밍에 의해 상기 메모리 어레이의 적응형 메타블록에 저장되는 것을 특징으로하는 메모리 어레이에 데이터를 저장하는 방법.
- 제12항에 있어서, 상기 적응형 논리 블록내의 논리 그룹들의 수는 상기 적응형 논리 블록에 대해 개별적으로 결정되는 것을 특징으로 하는 메모리 어레이에 데이터를 저장하는 방법.
- 개별적으로 프로그램가능한 평면내에 배열된 메모리 셀 어레이;개별적으로 삭제될 수 있는 상기 어레이의 가장 작은 단위가 되는 삭제 블록을 가지되, 다수의 삭제 블록들을 가지는 평면;저장된 데이터의 특성들에 따라 평면들의 수를 선택하기 위해 구비되는 시스템; 및선택된 평면들 내의 개별적인 삭제 블록들을 병렬로 프로그래밍하기 위해 구비되는 시스템을 포함하는 비휘발성 메모리 시스템.
- 제15항에 있어서, 상기 개별적인 평면은 상기 개별적인 평면들내에 남아있는 사용가능한 삭제 블록들의 수에 따라 선태되는 것을 특징으로 하는 비휘발성 메모리 시스템.
- 제15항에 있어서, 제2 메모리 셀 어레이를 더 포함하고, 상기 제1메모리 셀 어레이는 플레시 메모리 내에 구비되고, 상기 제2 메모리 셀 어레이는 비휘발성 램내에 구비되는 것을 특징으로 하는 비휘발성 메모리 시스템.
- 제1적응형 메타블록을 형성하기 위해 구비되는 다수의 개별적인 삭제가능한 블록들을 가지는 비휘발성 메모리 어레이에 데이터를 갱신하는 방법에 있어서,상기 적응형 메타블록 내에 저장된 데이터를 갱신하기 위해 호스트로부터 갱 신 데이터를 수신하는 단계;갱신 데이터를 포함하는 삭제 블록들에 포함된 제2 적응형 메타블록 내에 상기 갱신 데이터를 저장하는 단계; 및갱신 데이터를 가지지 않는 삭제 블록들에 포함된 제3 적응형 메타블록내에 상기 제1적응형 메타블록으로부터 원형 데이터를 저장하는 단계를 포함하는 비휘발성 메모리 어레이에 데이터를 갱신하는 방법.
- 제18항에 있어서, 상기 제2 적응형 메타블록과 제3 적응형 메타블록은 상기 제1적응형 메타블록보다 작은 것을 특징으로 하는 비휘발성 메모리 어레이에 데이터를 갱신하는 방법.
- 제18항에 있어서, 상기 제1적응형 메타블록은 제1개수의 삭제 블록들을 가지고, 상기 제2적응형 메타블록은 제2개수의 삭제 블록들을 가지고, 상기 제3적응형 메타블록은 제3개수의 삭제 블록들을 가지며, 제2개수 및 제3개수의 합은 제1개수와 동일한 것을 특징으로 하는 비휘발성 메모리 어레이에 데이터를 갱신하는 방법.
- 원형 데이터 그룹들을 가지는 원형 적응형 논리 블록을 각각 저장하는 제1 원형 적응형 메타블록들을 포함하는 비휘발성 메모리 어레이에 저장된 데이터를 갱신하는 방법에 있어서,이전 데이터를 교체하기 위해 갱신 데이터를 수신하는 단계;갱신되는 논리 그룹들을 형성하고, 갱신되는 논리 그룹은 원형 논리 그룹과 동일한 논리 어드레스 영역을 가지는 순차 데이터를 포함하며, 갱신되는 논리그룹내의 데이터의 일부는 갱신 데이터인 단계;갱신되는 적응형 논리 블록들을 형성하고, 상기 갱신되는 적응형 논리 블록은 다수의 갱신되는 논리 그룹들에 포함되며, 갱신되는 적응형 논리 블록 내의 갱신되는 논리 그룹들의 수는 원형 적응형 논리 블록 내의 원형 논리 그룹들의 수에 독립적인 단계; 및갱신되는 적응형 메타블록에 갱신되는 적응형 논리 블록을 프로그래밍하는 단계를 포함하는 비휘발성 메모리 어레이에 저장된 데이터를 갱신하는 방법.
- 제21항에 있어서, 상기 갱신되는 적응형 논리 블록 내의 갱신되는 논리 그룹들의 수는 원형 적응형 논리 블록 내의 원형 논리 그룹들의 수보다 적은 것을 특징으로 하는 비휘발성 메모리 어레이에 저장된 데이터를 갱신하는 방법.
- 제21항에 있어서, 갱신되는 적응형 논리 블록내의 갱신되는 논리 그룹들은 하나 이상의 원형 적응형 논리 블록 내의 원형 논리 그룹에 따르는 것을 특징으로 하는 비휘발성 메모리 어레이에 저장된 데이터를 갱신하는 방법.
- 프로그래밍을 위한 상태에 있고, 비휘발성 어레이의 삭제의 최소 단위가 되는 삭제 블록인 비휘발성 메모리 어레이의 삭제된 블록들을 관리하는 방법에 있어 서,제1삭제된 블록들을 지시하는 휘발성 메모리 내에 제1 리스트를 유지하고, 각각의 삭제된 블록들은 프로그래밍을 위해 상기 제1삭제된 블록들로부터 직접 선택되는 단계;프로그래밍을 위해 선택되는 삭제된 블록에 대한 내용을 삭제하기 위해 제1리스트를 갱신하여, 갱신된 제1리스트를 생성하는 단계; 및제1리스트의 갱신에 응답하여 상기 비휘발성 메모리 내의 제2리스트에 갱신된 제1 리스트의 내용을 카피하는 단계를 포함하는 비휘발성 메모리 어레이의 삭제된 블록들을 관리하는 방법.
- 제24항에 있어서, 상기 제2리스트는 제1 주소할당 데이터 패킷의 일부분으로서 상기 비휘발성 메모리에 프로그램되는 것을 특징으로 하는 비휘발성 메모리 어레이의 삭제된 블록들을 관리하는 방법.
- 제25항에 있어서, 상기 제2리스트는 상기 비휘발성 메모리에 제2주소할당 데이터 패킷을 프로그래밍하고 상기 제1주소할당 데이터 패킷이 만료됨을 지시함에 따라 갱신되는 것을 특징으로 하는 비휘발성 메모리 어레이의 삭제된 블록들을 관리하는 방법.
- 제24항에 있어서,제2삭제된 블록들을 지시하는 제3리스트를 유지하는 단계; 및상기 제1리스트와 상기 제3리스트 사이에 제1삭제된 블록들의 각각과 제2삭제된 블록들의 각각을 교환하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 어레이의 삭제된 블록들을 관리하는 방법.
- 제27항에 있어서, 교환율은 위어 레벨링(wear leveling)을 포함하는 기준에 따라 선택되는 것을 특징으로 하는 비휘발성 메모리 어레이의 삭제된 블록들을 관리하는 방법.
- 제27항에 있어서, 제3삭제된 블록을 지시하는 제4리스트를 유지하고, 상기 제3리스트와 제4리스트 사이에 제3삭제된 블록들 각각과 제2삭제된 블록들 각각을 교환하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 어레이의 삭제된 블록들을 관리하는 방법.
- 제29항에 있어서, 상기 비휘발성 메모리 어레이는 다수의 평면들을 가지고, 제1 및 제2 삭제된 블록들의 각각은 평면들로부터 형성되고, 제3삭제된 블록들의 각각은 상기 어레이의 제1평면으로부터 형성되는 것을 특징으로 하는 비휘발성 메모리 어레이의 삭제된 블록들을 관리하는 방법.
- 메모리 어레이의 삭제 블록 내에 저장된 데이터 양과 동일한 데이터를 가지 는 메모리 어레이 내의 논리 그룹을 저장하되, 다수의 데이터의 논리 그룹들을 저장하는 방법에 있어서,삭제 블록들을 포함하는 메타블록을 형성하는 단계;제1 및 제2 논리 그룹을 포함하는 논리 그룹들을 저장하여, 상기 메타블록의 삭제블록들 각각이 제1 논리 그룹의 일부 및 제2 논리 그룹의 일부를 포함하도록 하는 단계; 및상기 제1논리 그룹에 대한 제1정보 및 상기 제2논리 그룹에 대한 제2정보을 가지는 테이블을 유지하고, 상기 제1정보는 제1삭제 블록의 물리적 위치를 가지며, 상기 제2정보는 제2삭제 블록의 물리적 위치를 가지는 것을 특징으로 하는 메모리 어레이에 데이터의 논리 그룹들을 저장하는 방법.
- 제31항에 있어서, 상기 제1정보는 상기 메타블록내의 삭제 블록의 수와 논리 그룹들 내의 제1논리 그룹의 논리적 위치를 포함하는 것을 특징으로 하는 메모리 어레이에 데이터의 논리 그룹들을 저장하는 방법.
- 제31항에 있어서, 상기 논리 그룹들 각각은 상기 테이블 내에 내용을 가지고, 논리 그룹들 내의 논리 그룹의 수는 삭제 블록들 내의 삭제 블록의 수와 동일하고, 삭제 블록들 각각의 위치는 상기 테이블 내의 내용에 의해 주어지는 것을 특징으로 하는 메모리 어레이에 데이터의 논리 그룹들을 저장하는 방법.
- 주소할당 데이터의 정수를 가지는 삭제 블록의 삭제 최소 단위를 가지는 비휘발성 메모리 어레이에 제1 주소할당 데이터들을 저장하는 방법에 있어서,상기 제1 주소할당 데이터의 정수로부터 제2 주소할당 데이터를 형성하는 단계;상기 비휘발성 메모리 어레이에 상기 제2 주소할당 데이터를 기록하여, 상기 제2 주소할당 데이터의 제1부분은 제1 삭제 블록에 저장되고, 상기 제2 주소할당 데이터의 제2부분은 제2 삭제 블록에 저장시키는 단계; 및상기 비휘발성 메모리 어레이 내에 제2 주소할당 데이터의 물리적 위치를 결정하기위해 사용될 수 있는 제2 주소할당 데이터에 대한 위치 정보를 각각 기록하는 단계를 포함하는 비휘발성 메모리 어레이에 주소할당 데이터를 저장하는 방법.
- 제34항에 있어서, 제1 주소할당 데이터는 섹터단위이고, 제2 주소할당 데이터는 논리 그룹 단위인 것을 특징으로 하는 비휘발성 메모리 어레이에 주소할당 데이터를 저장하는 방법.
- 제34항에 있어서, 상기 제2 주소할당 데이터의 물리적 위치는 상기 제2 주소할당 데이터에 대한 위치 정보의 사용과 다른 주소할당 데이터에 대한 위치 정보로부터 결정되는 것을 특징으로 하는 비휘발성 메모리 어레이에 주소할당 데이터를 저장하는 방법.
- 개별적으로 프로그램 가능한 평면들 내에 배치되고, 각각은 메모리 어레이의 삭제의 최소단위인 멀티 섹터 삭제 블록들을 가지는 메모리 어레이 내에 데이터를 저장하는 방법에 있어서,상기 어레이 내에 저장된 데이터로부터 논리 그룹들을 형성하고, 하나의 논리 그룹은 상기 메모리 어레이의 하나의 삭제 블록내에 저장된 데이터 섹터들의 수와 동일한 데이터 섹터들의 수를 포함하는 단계;선택 범위의 수로부터 선택되는 삭제 블록들의 수로부터 적응형 메타블록을 형성하는 단계; 및메모리 어레이의 상기 적응형 메타블록 내의 논리 그룹들 저장하여 상기 적응형 메타블록의 삭제블록들 수의 각각이 논리 그룹의 부분을 포함하도록 하는 단계를 포함하는 메모리 어레이 내에 데이터를 저장하는 방법.
- 각각은 메모리 어레이의 삭제의 최소단위가 되는 개별적으로 선태된 삭제 블록들을 포함하는 메모리 어레이 내의 적응형 메타블록들 내에 데이터를 저장하는 방법에 있어서,하나의 삭제 블록을 구성하는 제1 적응형 메타블록 내에 논리적 영역을 포함하는 데이터의 제1 부분을 저장하는 단계; 및하나이상의 삭제 블록을 포함하는 제2적응형 메타블록 내에 논리적 영역을 포함하지 않는 데이터의 제2 부분을 저장하는 단계를 포함하는 메모리 어레이 내의 적응형 메타블록들 내에 데이터를 저장하는 방법.
- 제38항에 있어서, 상기 논리적 영역의 위치는 갱신되는 데이터의 논리적 어드레스 범위로부터 결정되는 것을 특징으로 하는 메모리 어레이 내의 적응형 메타블록들 내에 데이터를 저장하는 방법.
- 제38항에 있어서, 상기 메모리 어레이의 제1적응형 메타블록 내에 데이터의 제1부분 및 상기 메모리 어레이의 제2 적응형 메타블록 내에 데이터의 제2부분을 저장하는 단계 이전에, 데이터의 제1 부분과 제2 부분은 상기 메모리 어레이의 부분이 아닌 버퍼 내에 저장되는 것을 특징으로 하는 메모리 어레이 내의 적응형 메타블록들 내에 데이터를 저장하는 방법.
- 제38항에 있어서, 상기 메모리 어레이의 제1적응형 메타블록 내에 데이터의 제1부분 및 상기 메모리 어레이의 제2 적응형 메타블록 내에 데이터의 제2부분을 저장하는 단계 이전에,상기 데이터의 제1부분 및 제2 부분은 제3 적응형 메타블록 내에 함께 저장되는 단계를 더 포함하는 것을 특징으로 하는 메모리 어레이 내의 적응형 메타블록들 내에 데이터를 저장하는 방법.
- 제41항에 있어서, 상기 데이터의 제1부분과 제2 부분이 상기 제3 적응형 메타블록에 함께 저장되는 동안, 상기 논리적 영역의 위치는 리맵 리스트에 기록되는 것을 특징으로 하는 메모리 어레이 내의 적응형 메타블록들 내에 데이터를 저장하는 방법.
- 적응형 메타블록은 개별적으로 선택된 삭제 블록들을 가지고, 삭제 블록은 메모리 어레이의 삭제의 최소단위가 되며, 데이터 파일은 하나 이상의 데이터 런을 가지며, 데이터 런은 데이터 런 영역들 사이에 확장된 논리적으로 순차적인 데이터 패킷의 스트림인 메모리 셀 어레이의 적응형 메타블록들에 데이터 파일들을 저장하는 방법에 있어서,제1 적응형 메타블록 내에 데이터 런 영역에 인접하지 않은 데이터 런의 제1 부분을 저장하는 단계; 및제2 적응형 메타블록 내에 데이터 런 영역에 인접한 데이터 런의 제2부분을 저장하고, 상기 제2 적응형 메타블록은 최소크기의 적응형 메타블록의 크기를 가지는 것을 특징으로 하는 메모리 셀 어레이의 적응형 메타블록들에 데이터 파일들을 저장하는 방법.
- 데이터 파일은 적어도 하나의 데이터 런을 가지며, 데이터 런은 논리적 영역들 사이에 확장된 일련의 할당가능 데이터 패킷들을 구성하는 메모리 어레이의 제1 메타블록들에 저장된 데이터 파일을 재배치하는 방법에 있어서,논리적 영역들의 위치를 정하는 단계; 및제1 논리적 영역과 제2 논리적 영역 사이에 확정되는 데이터 런을 포함하는 논리 그룹들을 카피하여, 제1 논리적 영역을 가지는 하나의 논리 그룹은 최소 크기의 적응형 메타블록인 제1 적응형 메타블록에 카피되고, 논리적 영역을 포함하지 않는 논리 그룹들은 최소 크기의 적응형 메타블록이 아닌 제2 적응형 메타블록에 카피되는 단계를 포함하는 메모리 어레이의 제1 메타블록들에 저장된 데이터 파일을 재배치하는 방법.
- 제44항에 있어서, 상기 제2 논리 영역을 포함하는 논리 그룹은 최소 크기의 메타블록인 제3 적응형 메타블록에 카피되는 것을 특징으로 하는 메모리 어레이의 제1 메타블록들에 저장된 데이터 파일을 재배치하는 방법.
- 적응형 매타블록은 개별적으로 선택되는 삭제 블록들을 가지고, 삭제 블록은 메모리 셀 어레이의 삭제의 최소단위가 되는 메모리 셀 어레이의 적응형 메타블록들 내에 데이터를 저장하는 방법에 있어서,제1 적응형 메타블록들 내에 데이터를 저장하는 단계; 및상기 제1 적응형 메타블록들로부터 제2 적응형 메타블록들로 상기 데이터를 카피하여 논리 영역이 하나의 삭제 블록을 구성하는 적응형 메타블록에 카피되도록 하는 단계를 포함하는 메모리 셀 어레이의 적응형 메타블록들 내에 데이터를 저장하는 방법.
- 제46항에 있어서, 제1 적응형 메타블록들이 만료되었음을 마킹하는 단계를 더 포함하는 것을 특징으로 하는 메모리 셀 어레이의 적응형 메타블록들 내에 데이터를 저장하는 방법.
- 제46항에 있어서, 상기 제1 적응형 메타블록들로부터 데이터를 카피하는 동작은 상기 제1 적응형 메타블록들 내에 저장된 논리 어드레스와 동일한 논리 어드레스를 가지는 갱신된 데이터가 수신될 때 발생하는 것을 특징으로 하는 메모리 셀 어레이의 적응형 메타블록들 내에 데이터를 저장하는 방법.
- 제46항에 있어서, 데이터를 카피하는 것은 다른 메모리 동작들에 영향을 미치지않고 카피가 허용되는 시기에 발생하는 것을 특징으로 하는 메모리 셀 어레이의 적응형 메타블록들 내에 데이터를 저장하는 방법.
- 제46항에 있어서, 상기 메모리 셀 어레이에 이전에 저장되지 않은 호스트 데이터는 상기 제1 적응형 메타블록들로부터 상기 제2 적응형 메타블록들로 데이터의 카피와 함께 상기 메모리 셀 어레이에 프로그램되는 것을 특징으로 하는 메모리 셀 어레이의 적응형 메타블록들 내에 데이터를 저장하는 방법.
- 제50항에 있어서, 상기 데이터는 제1 적응형 메타블록에 저장되고, 상기 호스트 데이터는 제2 적응형 메타블록에 저장되며, 상기 제1 및 제2 적응형 메타블록은 병렬로 프로그램되는 것을 특징으로 하는 메모리 셀 어레이의 적응형 메타블록 들 내에 데이터를 저장하는 방법.
- 적응형 메타블록은 다수의 삭제 블록들을 구성하고, 삭제 블록은 삭제의 최소 단위가 되며, 삭제 블록들의 수는 적응형 메타블록에 대해 선택되는 메모리 어레이의 적응형 메타블록들 내에 데이터 파일들을 저장하는 방법에 있어서,메모리 어레이의 적응형 메타블록들에 할당가능한 데이터 패킷들을 저장하여, 적응형 메타블록 내의 삭제 블록들의 수는 논리적 영역이 저장되는 할당가능한 데이터 패킷들에 포함되는지 여부에 따라 선택되는 것을 특징으로 하는 메모리 어레이의 적응형 메타블록들 내에 데이터 파일들을 저장하는 방법.
- 제52항에 있어서, 논리적 영역의 위치는 갱신되는 논리 주소의 범위에 의해 결정되는 것을 특징으로 하는 메모리 어레이의 적응형 메타블록들 내에 데이터 파일들을 저장하는 방법.
- 제52항에 있어서, 논리적 영역의 위치는 호스트에 의해 저정되는 것을 특징으로 하는 메모리 어레이의 적응형 메타블록들 내에 데이터 파일들을 저장하는 방법.
- 제52항에 있어서, 할당가능한 데이터 패킷들은 축적용 램 내에 제1 저장되는 것을 특징으로 하는 메모리 어레이의 적응형 메타블록들 내에 데이터 파일들을 저 장하는 방법.
- 프로그램 블록은 메모리 어레이의 각각의 평면으로부터 삭제 블록을 포함하고, 삭제 블록은 메모리 어레이의 삭제의 최소 단위가 되며, 메모리 어레이는 축적용 메모리에 연결되며, 프로그램 블록들을 가지는 비휘발성 다평면 메모리 어레이 내에 데이터를 저장하는 방법에 있어서,프로그램 블록의 제1 삭제 블록들로부터 제1 메타블록을 형성하는 단계;상기 프로그램 블록의 제2 삭제 블록들로부터 제2 메타블록을 형성하는 단계;제1 시퀀스로 축적용 메모리에 호스트로부터 할당가능 데이터 단위들을 수신하고, 제1 시퀀스는 적어도 하나의 제1 호스트 파일의 일부와 제2 호스트 파일의 일부를 가지는 단계; 및제2 시퀀스로 상기 메모리 어레이에 축적용 메모리로부터 상기 할당가능 데이터 단위들을 전송하고, 상기 제2 시퀀스는 제1 호스트 파일의 일부로 제1 메타블록과 제2 호스트 파일의 일부로 제2 메타블록을 병렬로 프로그램 하기 위해 선택되는 것을 특징으로 하는 프로그램 블록들을 가지는 비휘발성 다평면 메모리 어레이 내에 데이터를 저장하는 방법.
- 적응형 메타블록은 개별적으로 선택된 삭제 블록들을 가지고, 삭제 블록은 메모리 어레이의 삭제의 최소단위가 되는 적응형 메타블록들 내에 비휘발성 메모리 어레이에 데이터를 저장하는 방법에 있어서,제1 적응형 메타블록에 상기 메모리 어레이에 이전에 저장되어있던 제1 데이터를 프로그래밍하는 단계; 및제2 적응형 메타블록에 상기 메모리 어레이에 저장되지 않았던 제2 데이터를 동시에 프로그래밍하는 단계를 포함하는 비휘발성 메모리 어레이에 데이터를 저장하는 방법.
- 제57항에 있어서, 상기 제1 및 제2 적응형 메타블록들은 상기 메모리 어레이에 병렬로 동시에 프로그램되는 것을 특징으로 하는 비휘발성 메모리 어레이에 데이터를 저장하는 방법.
- 제57항에 있어서, 상기 제2 데이터는 호스트로부터 직접 수신된 데이터를 포함하는 것을 특징으로 하는 비휘발성 메모리 어레이에 데이터를 저장하는 방법.
- 삭제 블록은 어레이의 삭제의 최소단위가 되고, 적응형 메타블록은 함께 프로그램되고 삭제되는 선택된 수의 삭제 블록들로 구성되는, 삭제 블록들로 구성된 비휘발성 메모리의 적응형 메타블록들에 주소할당 데이터들을 저장하는 방법에 있어서,버퍼 메타블록에 제1 주소할당 데이터들을 저장하는 단계;호스트로부터 제2 주소할당 데이터들을 수신하는 단계; 및제2 적응형 메타블록에 상기 제2 주소할당 데이터들을 프로그램하는 것과 동시에 상기 버퍼 메타블록으로부터 제1 적응형 메타블록에 상기 제1 주소할당 데이터들을 카피하는 단계를 포함하는 비휘발성 메모리의 적응형 메타블록들에 주소할당 데이터들을 저장하는 방법.
- 제60항에 있어서, 상기 제1 주소할당 데이터들은 상기 메모리 어레이와 병렬로 상기 버퍼 메타블록에 저장되는 것을 특징으로 하는 비휘발성 메모리의 적응형 메타블록들에 주소할당 데이터들을 저장하는 방법.
- 제60항에 있어서, 상기 버퍼 메타블록은 메타블록에 대한 최대 크기를 가지는 것을 특징으로 하는 비휘발성 메모리의 적응형 메타블록들에 주소할당 데이터들을 저장하는 방법.
- 제60항에 있어서, 상기 제1 주사할당 데이터들은 논리적 영역을 포함하도록 확장되는 것을 특징으로 하는 비휘발성 메모리의 적응형 메타블록들에 주소할당 데이터들을 저장하는 방법.
- 제60항에 있어서, 부가적인 주소할당 데이터들은 상기 버퍼 메타블록에 저장되고, 상기 부가적인 주소할당 데이터들은 상기 제1 주소할당 데이터들의 카피와 상기 제2 주소할당 데이터들의 프로그래밍과 함께 병렬로 프로그램되는 것을 특징 으로 하는 비휘발성 메모리의 적응형 메타블록들에 주소할당 데이터들을 저장하는 방법.
- 제60항에 있어서, 제3 주소할당 데이터들은 상기 제1 적응형 메타블록에 상기 제1 주소할당 데이터들을 카피하는 동작과 함께 상기 제1 적응형 메타블록에 카피되고, 제1 및 제3 주소할당 데이터들은 다른 파일 또는 다른 데이터 런들로부터 카피된는 것을 특징으로 하는 비휘발성 메모리의 적응형 메타블록들에 주소할당 데이터들을 저장하는 방법.
- 삭제 블록의 삭제의 최소단위 및 병렬로 프로그램되는 삭제 블록들의 다른 수들을 가지는 적응형 메타블록들 내로 삭제 블록들이 그룹핑되는 제1 영역을 가지는 비휘발성 메모리 어레이; 및메모리 카드에 의해 수신되는 데이터 부분이 데이터 부분이 논리적 여역을 포함하는지 여부에 의존하는 메모리 어레이의 제1 영역 또는 제2 영역에 최초로 전송되는 지의 여부를 결정하는 컨트롤러를 포함하고,상기 삭제 블록들의 수는 저장되는 데이터에 논리적 영역들의 위치에 따라 선택되고, 상기 메모리 어레이는 제2 영역을 가지며, 상기 제2 영역 내에서 데이터는 상기 메모리 어레이의 제2 영역 내에 저장되는 데이터에 데이터 영역들의 위치들에 의존하는 지의 여부에 따라 데이터가 메타블록들에 저장되는 것을 특징으로 하는 데이터 저장용 휴대용 메모리 카드.
- 제66항에 있어서, 상기 데이터 부분은 논리적 영역을 포함하고, 상기 데이터 부분은 상기 메모리 어레이의 제2 영역에 전송되며, 상기 메모리 어레이의 제1 영역에 순차적으로 카피되는 것을 특징으로 하는 데이터 저장용 휴대용 메모리 카드.
- 제67항에 있어서, 상기 메모리 어레이의 제1 영역에의 카피는 상기 메모리 어레이의 제2 영역으로부터 상기 메모리 어레이의 제1 영역으로 부가적 데이터의 카피와 병렬로 이루어지는 것을 특징으로 하는 데이터 저장용 휴대용 메모리 카드.
- 제67항에 있어서, 상기 메모리 어레이의 제1 영역에의 카피는 상기 메모리 어레이의 제2 영역으로부터의 카피와 병렬로 수행되며, 카피 동작은 비휘발성 메모리의 병렬 동작을 이용하는 것을 특징으로 하는 데이터 저장용 휴대용 메모리 카드.
- 제66항에 있어서, 상기 데이터 부분은 논리적 영역을 포함하고, 상기 메모리 어레이의 제2 영역에 최초로 전송되며, 상기 메모리 어레이의 제2 영역으로부터 상기 메모리 어레이의 제1 영역 내의 최소크기의 적응형 메타블록에 순차적으로 전송되는 것을 특징으로 하는 데이터 저장용 휴대용 메모리 카드.
- 제66항에 있어서, 상기 메모리 어레이의 제1 영역은 제1 삭제 블록들을 구성 하고, 상기 메모리 어레이의 제2 영역은 제2 삭제 블록들을 구성하며, 상기 제1 및 제2 삭제 블록들을 구성하는 삭제 블록들은 서로 교환가능하여, 각각의 삭제 블록은 제1 시간에 제1 삭제 블록들의 하나가 되며, 제2 시간에 제2 삭제 블록들의 하나가 되는 것을 특징으로 하는 데이터 저장용 휴대용 메모리 카드.
- 제66항에 있어서, 삭제 블록들이 유효 데이터를 포함하지 않으며, 메타블록들로 그룹핑되지 않는 제3 영역을 더 포함하며, 상기 제3 영역 내의 각각의 삭제 블록들은 데이터 저장을 위해 제1 및 제2 영역으로 전환되고, 상기 제1 및 제2 영역의 삭제 블록들은 유효 데이터를 가지지 않을 경우 상기 제3 영역으로 전환되는 것을 특징으로 하는 데이터 저장용 휴대용 메모리 카드.
- 제66항에 있어서, 상기 제1 영역은 제1 전용 삭제 블록들을 가지고, 상기 제1 삭제 블록들중 다수는 데이터를 가지는 적응형 메타블록들을 형성하고, 상기 제1 삭제 블록들중 부가적인 다수는 데이터를 포함하지 않으며, 적응형 메타블록들로 그룹핑되지 않는 것을 특징으로 하는 데이터 저장용 휴대용 메모리 카드.
- 제73항에 있어서, 상기 컨트롤러는 데이터를 저장하기 위한 새로운 적응형 메타블록들을 형성하기 위해 상기 제1 삭제 블록들중 부가적인 다수로부터 삭제 블록들을 선택하는 것을 특징으로 하는 데이터 저장용 휴대용 메모리 카드.
- 제66항에 있어서, 상기 제2 영역은 제2 전용 삭제 블록들을 가지고, 상기 제2 삭제 블록들중 다수는 데이터를 가지는 적응형 메타블록들을 형성하고, 상기 제2 삭제 블록들중 부가적인 다수는 데이터를 포함하지 않으며, 메타블록들로 그룹핑되지 않는 것을 특징으로 하는 데이터 저장용 휴대용 메모리 카드.
- 제75항에 있어서, 상기 컨트롤러는 데이터를 저장하기 위한 새로운 적응형 메타블록들을 형성하기 위해 상기 제2 삭제 블록들중 부가적인 다수로부터 삭제 블록들을 선택하는 것을 특징으로 하는 데이터 저장용 휴대용 메모리 카드.
- 적응형 메타블록은 개별적으로 선택된 삭제 블록들을 가지고, 삭제 블록은 메모리 어레이의 삭제의 최소 단위이며, 상기 메모리 어레이는 최대 크기의 하나 이상의 버퍼 메타블록들을 포함하는 직렬 플래시 버퍼를 포함하는 메모리 어레이의 적응형 메타블록들에 데이터를 저장하는 방법에 있어서,상기 직렬 플래시 버퍼의 버퍼 메타블록 내에 제1 논리적 영역을 포함하는 제1 데이터를 저장하는 단계;상기 버퍼 메타블록으로부터 상기 직렬 플래시 버퍼 내에 있지 않은 제1 적응형 메타블록으로 상기 제1 데이터를 순차적으로 카피하며, 상기 제1 적응형 메타블록은 하나의 삭제 블록을 구성하는 단계; 및상기 직렬 플래시 버퍼 내에 있지않은 제2 적응형 메타블록 내의 논리적 영역을 포함하지 않는 제2 데이터를 저장하는 단계를 포함하는 메모리 어레이의 적응 형 메타블록들에 데이터를 저장하는 방법.
- 제77항에 있어서, 상기 제2 적응형 메타블록은 최대 크기의 메타블록인 것을 특징으로 하는 메모리 어레이의 적응형 메타블록들에 데이터를 저장하는 방법.
- 제77항에 있어서, 상기 버퍼 메타블록으로부터 상기 제1 데이터의 카피는 상기 직렬 플래시 버퍼로부터 상기 직렬 플래시 버퍼 내에 있지 않은 상기 메모리 어레이 내의 위치들로의 부가적인 데이터를 카피하는 동작과 병렬로 수행되는 것을 특징으로 하는 메모리 어레이의 적응형 메타블록들에 데이터를 저장하는 방법.
- 제79항에 있어서, 상기 부가적인 데이터는 제2 논리적 영역을 포함하는 제2 데이터를 포함하고, 제2 데이터는 하나의 삭제블록을 형성하는 제3 적응형 메타블록에 카피되는 것을 특징으로 하는 메모리 어레이의 적응형 메타블록들에 데이터를 저장하는 방법.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/749,189 | 2003-12-30 | ||
US10/749,189 US7433993B2 (en) | 2003-12-30 | 2003-12-30 | Adaptive metablocks |
US10/841,118 | 2004-05-07 | ||
US10/841,118 US20050144363A1 (en) | 2003-12-30 | 2004-05-07 | Data boundary management |
US11/016,271 | 2004-12-16 | ||
US11/016,271 US7383375B2 (en) | 2003-12-30 | 2004-12-16 | Data run programming |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070012630A true KR20070012630A (ko) | 2007-01-26 |
KR100983212B1 KR100983212B1 (ko) | 2010-09-20 |
Family
ID=34753551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067013319A KR100983212B1 (ko) | 2003-12-30 | 2004-12-22 | 데이터 런 프로그래밍 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7383375B2 (ko) |
EP (2) | EP2256621A1 (ko) |
JP (2) | JP4977473B2 (ko) |
KR (1) | KR100983212B1 (ko) |
CN (1) | CN100524209C (ko) |
TW (1) | TWI280581B (ko) |
WO (1) | WO2005066770A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023120829A1 (ko) * | 2021-12-24 | 2023-06-29 | 오픈엣지테크놀로지 주식회사 | 어레이 풀링 방법 및 이를 위한 장치 |
Families Citing this family (271)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4175991B2 (ja) * | 2003-10-15 | 2008-11-05 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US7433993B2 (en) | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
US7139864B2 (en) | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US9104315B2 (en) | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
US7877539B2 (en) | 2005-02-16 | 2011-01-25 | Sandisk Corporation | Direct data file storage in flash memories |
US20060184719A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
US7552271B2 (en) | 2005-08-03 | 2009-06-23 | Sandisk Corporation | Nonvolatile memory with block management |
US7949845B2 (en) * | 2005-08-03 | 2011-05-24 | Sandisk Corporation | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
US7480766B2 (en) | 2005-08-03 | 2009-01-20 | Sandisk Corporation | Interfacing systems operating through a logical address space and on a direct data file basis |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
US7669003B2 (en) * | 2005-08-03 | 2010-02-23 | Sandisk Corporation | Reprogrammable non-volatile memory systems with indexing of directly stored data files |
US7558906B2 (en) | 2005-08-03 | 2009-07-07 | Sandisk Corporation | Methods of managing blocks in nonvolatile memory |
US20070084375A1 (en) * | 2005-08-10 | 2007-04-19 | Smith Kyle S | High density cartridge and method for reloading |
US7529905B2 (en) * | 2005-10-13 | 2009-05-05 | Sandisk Corporation | Method of storing transformed units of data in a memory system having fixed sized storage blocks |
US7814262B2 (en) | 2005-10-13 | 2010-10-12 | Sandisk Corporation | Memory system storing transformed units of data in fixed sized storage blocks |
US7877540B2 (en) * | 2005-12-13 | 2011-01-25 | Sandisk Corporation | Logically-addressed file storage methods |
US7769978B2 (en) * | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US20070143378A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Non-volatile memories with adaptive file handling in a directly mapped file storage system |
US20070143566A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Non-volatile memories with data alignment in a directly mapped file storage system |
US20070156998A1 (en) * | 2005-12-21 | 2007-07-05 | Gorobets Sergey A | Methods for memory allocation in non-volatile memories with a directly mapped file storage system |
US20070143561A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Methods for adaptive file data handling in non-volatile memories with a directly mapped file storage system |
US7793068B2 (en) * | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US20070174563A1 (en) * | 2006-01-23 | 2007-07-26 | Stuart Staniford | System and method for selecting memory locations for overwrite |
EP1850347A1 (en) * | 2006-04-28 | 2007-10-31 | Deutsche Thomson-Brandt Gmbh | Method and device for writing to a flash memory |
US7564721B2 (en) * | 2006-05-25 | 2009-07-21 | Micron Technology, Inc. | Method and apparatus for improving storage performance using a background erase |
KR100758301B1 (ko) * | 2006-08-04 | 2007-09-12 | 삼성전자주식회사 | 메모리 카드 및 그것의 데이터 저장 방법 |
KR100855467B1 (ko) | 2006-09-27 | 2008-09-01 | 삼성전자주식회사 | 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑장치 및 방법 |
KR100771521B1 (ko) * | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
WO2008057557A2 (en) * | 2006-11-06 | 2008-05-15 | Rambus Inc. | Memory system supporting nonvolatile physical memory |
US8286156B2 (en) * | 2006-11-07 | 2012-10-09 | Sandisk Technologies Inc. | Methods and apparatus for performing resilient firmware upgrades to a functioning memory |
US8209461B2 (en) | 2006-12-26 | 2012-06-26 | Sandisk Technologies Inc. | Configuration of host LBA interface with flash memory |
US7917686B2 (en) | 2006-12-26 | 2011-03-29 | Sandisk Corporation | Host system with direct data file interface configurability |
JP5266250B2 (ja) | 2006-12-26 | 2013-08-21 | サンディスク テクノロジィース インコーポレイテッド | 連続論理アドレス空間インターフェイスを備えるダイレクトデータファイルシステムの使用 |
US8046522B2 (en) * | 2006-12-26 | 2011-10-25 | SanDisk Technologies, Inc. | Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks |
US8166267B2 (en) | 2006-12-26 | 2012-04-24 | Sandisk Technologies Inc. | Managing a LBA interface in a direct data file memory system |
US7739444B2 (en) | 2006-12-26 | 2010-06-15 | Sandisk Corporation | System using a direct data file system with a continuous logical address space interface |
US20080155175A1 (en) * | 2006-12-26 | 2008-06-26 | Sinclair Alan W | Host System That Manages a LBA Interface With Flash Memory |
US7791952B2 (en) * | 2007-01-30 | 2010-09-07 | Micron Technology, Inc. | Memory device architectures and operation |
US8275953B2 (en) * | 2007-03-19 | 2012-09-25 | Sandisk Technologies Inc. | Methods for forcing an update block to remain sequential |
US8341375B2 (en) * | 2007-03-19 | 2012-12-25 | Sandisk Technologies Inc. | Methods for conversion of update blocks based on association with host file management data structures |
US7904670B2 (en) * | 2007-03-19 | 2011-03-08 | Sandisk Corporation | Methods for conversion of update blocks based on comparison with a threshold size |
US20080235489A1 (en) * | 2007-03-19 | 2008-09-25 | Sergey Anatolievich Gorobets | Systems for forcing an update block to remain sequential |
US20080235464A1 (en) * | 2007-03-19 | 2008-09-25 | Shai Traister | System for conversion of update blocks based on comparison with a threshold size |
US20080250220A1 (en) * | 2007-04-06 | 2008-10-09 | Takafumi Ito | Memory system |
US7869277B1 (en) * | 2007-04-25 | 2011-01-11 | Apple Inc. | Managing data writing to memories |
US8713283B2 (en) * | 2007-06-08 | 2014-04-29 | Sandisk Technologies Inc. | Method of interfacing a host operating through a logical address space with a direct file storage medium |
US8239639B2 (en) * | 2007-06-08 | 2012-08-07 | Sandisk Technologies Inc. | Method and apparatus for providing data type and host file information to a mass storage system |
US20080307156A1 (en) * | 2007-06-08 | 2008-12-11 | Sinclair Alan W | System For Interfacing A Host Operating Through A Logical Address Space With A Direct File Storage Medium |
US20090055574A1 (en) * | 2007-08-25 | 2009-02-26 | Bei-Chuan Chen | NAND Flash Memory Device And Related Method Thereof |
US8151034B2 (en) * | 2007-09-12 | 2012-04-03 | Sandisk Technologies Inc. | Write abort and erase abort handling |
US8566504B2 (en) | 2007-09-28 | 2013-10-22 | Sandisk Technologies Inc. | Dynamic metablocks |
TW200917277A (en) * | 2007-10-15 | 2009-04-16 | A Data Technology Co Ltd | Adaptive hybrid density memory storage device and control method thereof |
US8880483B2 (en) * | 2007-12-21 | 2014-11-04 | Sandisk Technologies Inc. | System and method for implementing extensions to intelligently manage resources of a mass storage system |
US8245101B2 (en) | 2007-12-27 | 2012-08-14 | Sandisk Enterprise Ip Llc | Patrol function used in flash storage controller to detect data errors |
JP2009211192A (ja) * | 2008-02-29 | 2009-09-17 | Toshiba Corp | メモリシステム |
JP5166118B2 (ja) | 2008-05-21 | 2013-03-21 | 株式会社東芝 | 半導体メモリの制御方法 |
US8762654B1 (en) * | 2008-07-02 | 2014-06-24 | Marvell International Ltd. | Selectively scheduling memory accesses in parallel based on access speeds of memory |
US8209439B2 (en) * | 2008-08-25 | 2012-06-26 | Sandisk Il Ltd. | Managing multiple concurrent operations with various priority levels in a local storage device |
EP2335245B1 (en) * | 2008-09-28 | 2015-01-07 | Ramot at Tel-Aviv University Ltd. | Method and system for adaptive coding in flash memories |
US8671327B2 (en) * | 2008-09-28 | 2014-03-11 | Sandisk Technologies Inc. | Method and system for adaptive coding in flash memories |
US8566562B2 (en) * | 2008-10-03 | 2013-10-22 | Skymedi Corporation | Method for sequentially writing data with an offset to a non-volatile memory |
TWI413984B (zh) * | 2008-10-16 | 2013-11-01 | Silicon Motion Inc | 快閃記憶體裝置以及資料更新方法 |
EP2189895A1 (en) | 2008-11-24 | 2010-05-26 | Deutsche Thomson OHG | Flash based memory comprising a Flash translation layer and method for storing a file therein |
US8266365B2 (en) | 2008-12-17 | 2012-09-11 | Sandisk Il Ltd. | Ruggedized memory device |
US8094500B2 (en) | 2009-01-05 | 2012-01-10 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partitioning |
US8244960B2 (en) * | 2009-01-05 | 2012-08-14 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partition management methods |
US20100174845A1 (en) * | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques |
US8700840B2 (en) * | 2009-01-05 | 2014-04-15 | SanDisk Technologies, Inc. | Nonvolatile memory with write cache having flush/eviction methods |
US8392687B2 (en) | 2009-01-21 | 2013-03-05 | Micron Technology, Inc. | Solid state memory formatting |
CN102317925B (zh) | 2009-02-12 | 2014-07-23 | 株式会社东芝 | 存储器系统和控制存储器系统的方法 |
KR101574540B1 (ko) * | 2009-04-15 | 2015-12-07 | 삼성전자주식회사 | 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템 |
US20110060865A1 (en) * | 2009-09-08 | 2011-03-10 | Lsi Corporation | Systems and Methods for Flash Memory Utilization |
TWI417889B (zh) * | 2009-12-30 | 2013-12-01 | Silicon Motion Inc | 快閃記憶體之寫入逾時控制方法及其記憶裝置 |
JP5404483B2 (ja) * | 2010-03-17 | 2014-01-29 | 株式会社東芝 | メモリシステム |
US8429391B2 (en) * | 2010-04-16 | 2013-04-23 | Micron Technology, Inc. | Boot partitions in memory devices and systems |
JP2011227664A (ja) | 2010-04-19 | 2011-11-10 | Toshiba Corp | メモリシステム |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US9268649B1 (en) * | 2011-06-23 | 2016-02-23 | Western Digital Technologies, Inc. | Disk drive with recent write streams list for data refresh determination |
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
EP2761469B1 (en) * | 2011-09-30 | 2019-11-13 | Intel Corporation | Non-volatile random access memory (nvram) as a replacement for traditional mass storage |
US9146856B2 (en) * | 2012-04-10 | 2015-09-29 | Micron Technology, Inc. | Remapping and compacting in a memory device |
TWI479313B (zh) * | 2012-07-11 | 2015-04-01 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
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 |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9465732B2 (en) | 2013-03-15 | 2016-10-11 | Sandisk Technologies Llc | Binning of blocks for dynamic linking |
US9116774B2 (en) | 2013-05-14 | 2015-08-25 | Sandisk Technologies Inc. | Firmware updates for multiple product configurations |
TWI470431B (zh) * | 2013-06-14 | 2015-01-21 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
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 |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US9411721B2 (en) * | 2013-11-15 | 2016-08-09 | Sandisk Technologies Llc | Detecting access sequences for data compression on non-volatile memory devices |
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 |
US9772876B2 (en) | 2014-01-06 | 2017-09-26 | International Business Machines Corporation | Executing an all-to-allv operation on a parallel computer that includes a plurality of compute nodes |
JP6076506B2 (ja) * | 2014-01-29 | 2017-02-08 | 株式会社日立製作所 | ストレージ装置 |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
US11652884B2 (en) | 2014-06-04 | 2023-05-16 | Pure Storage, Inc. | Customized hash algorithms |
US11399063B2 (en) | 2014-06-04 | 2022-07-26 | Pure Storage, Inc. | Network authentication for a storage system |
US10574754B1 (en) | 2014-06-04 | 2020-02-25 | Pure Storage, Inc. | Multi-chassis array with multi-level load balancing |
US9213485B1 (en) | 2014-06-04 | 2015-12-15 | Pure Storage, Inc. | Storage system architecture |
US11960371B2 (en) | 2014-06-04 | 2024-04-16 | Pure Storage, Inc. | Message persistence in a zoned system |
US9836234B2 (en) | 2014-06-04 | 2017-12-05 | Pure Storage, Inc. | Storage cluster |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US8850108B1 (en) | 2014-06-04 | 2014-09-30 | Pure Storage, Inc. | Storage cluster |
US9003144B1 (en) | 2014-06-04 | 2015-04-07 | Pure Storage, Inc. | Mechanism for persisting messages in a storage system |
US9367243B1 (en) | 2014-06-04 | 2016-06-14 | Pure Storage, Inc. | Scalable non-uniform storage sizes |
US11068363B1 (en) | 2014-06-04 | 2021-07-20 | Pure Storage, Inc. | Proactively rebuilding data in a storage cluster |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
EP3142014B1 (en) | 2014-06-25 | 2023-05-17 | Honor Device Co., Ltd. | Method, device and user equipment for reading/writing data in nand flash |
US11604598B2 (en) | 2014-07-02 | 2023-03-14 | Pure Storage, Inc. | Storage cluster with zoned drives |
US10114757B2 (en) | 2014-07-02 | 2018-10-30 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US8868825B1 (en) | 2014-07-02 | 2014-10-21 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US9021297B1 (en) | 2014-07-02 | 2015-04-28 | Pure Storage, Inc. | Redundant, fault-tolerant, distributed remote procedure call cache in a storage system |
US9836245B2 (en) * | 2014-07-02 | 2017-12-05 | Pure Storage, Inc. | Non-volatile RAM and flash memory in a non-volatile solid-state storage |
US11886308B2 (en) | 2014-07-02 | 2024-01-30 | Pure Storage, Inc. | Dual class of service for unified file and object messaging |
US9747229B1 (en) | 2014-07-03 | 2017-08-29 | Pure Storage, Inc. | Self-describing data format for DMA in a non-volatile solid-state storage |
US8874836B1 (en) | 2014-07-03 | 2014-10-28 | Pure Storage, Inc. | Scheduling policy for queues in a non-volatile solid-state storage |
US9811677B2 (en) | 2014-07-03 | 2017-11-07 | Pure Storage, Inc. | Secure data replication in a storage grid |
US10853311B1 (en) | 2014-07-03 | 2020-12-01 | Pure Storage, Inc. | Administration through files in a storage system |
US9483346B2 (en) | 2014-08-07 | 2016-11-01 | Pure Storage, Inc. | Data rebuild on feedback from a queue in a non-volatile solid-state storage |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US10983859B2 (en) | 2014-08-07 | 2021-04-20 | Pure Storage, Inc. | Adjustable error correction based on memory health in a storage unit |
US9082512B1 (en) | 2014-08-07 | 2015-07-14 | Pure Storage, Inc. | Die-level monitoring in a storage cluster |
US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
US9766972B2 (en) | 2014-08-07 | 2017-09-19 | Pure Storage, Inc. | Masking defective bits in a storage array |
US10079711B1 (en) | 2014-08-20 | 2018-09-18 | Pure Storage, Inc. | Virtual file server with preserved MAC address |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US10552085B1 (en) | 2014-09-09 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for directed data migration |
US9542118B1 (en) | 2014-09-09 | 2017-01-10 | Radian Memory Systems, Inc. | Expositive flash memory control |
US10114562B2 (en) | 2014-09-16 | 2018-10-30 | Sandisk Technologies Llc | Adaptive block allocation in nonvolatile memory |
US9948615B1 (en) | 2015-03-16 | 2018-04-17 | Pure Storage, Inc. | Increased storage unit encryption based on loss of trust |
KR20160112135A (ko) * | 2015-03-18 | 2016-09-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US11294893B2 (en) | 2015-03-20 | 2022-04-05 | Pure Storage, Inc. | Aggregation of queries |
US9940234B2 (en) | 2015-03-26 | 2018-04-10 | Pure Storage, Inc. | Aggressive data deduplication using lazy garbage collection |
US10082985B2 (en) | 2015-03-27 | 2018-09-25 | Pure Storage, Inc. | Data striping across storage nodes that are assigned to multiple logical arrays |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US9672125B2 (en) | 2015-04-10 | 2017-06-06 | Pure Storage, Inc. | Ability to partition an array into two or more logical arrays with independently running software |
US10140149B1 (en) | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
US9817576B2 (en) | 2015-05-27 | 2017-11-14 | Pure Storage, Inc. | Parallel update to NVRAM |
US10846275B2 (en) | 2015-06-26 | 2020-11-24 | Pure Storage, Inc. | Key management in a storage device |
US10983732B2 (en) | 2015-07-13 | 2021-04-20 | Pure Storage, Inc. | Method and system for accessing a file |
US11232079B2 (en) | 2015-07-16 | 2022-01-25 | Pure Storage, Inc. | Efficient distribution of large directories |
US10108355B2 (en) | 2015-09-01 | 2018-10-23 | Pure Storage, Inc. | Erase block state detection |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US10120573B2 (en) * | 2015-09-14 | 2018-11-06 | Microsoft Technology Licensing, Llc. | Modular sequential writing of data to data storage devices |
US10853266B2 (en) | 2015-09-30 | 2020-12-01 | Pure Storage, Inc. | Hardware assisted data lookup methods |
US10762069B2 (en) | 2015-09-30 | 2020-09-01 | Pure Storage, Inc. | Mechanism for a system where data and metadata are located closely together |
US9768953B2 (en) | 2015-09-30 | 2017-09-19 | Pure Storage, Inc. | Resharing of a split secret |
US9843453B2 (en) | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
US9830084B2 (en) * | 2015-12-03 | 2017-11-28 | Sandisk Technologies Llc | Writing logical groups of data to physical locations in memory using headers |
US10013179B2 (en) | 2015-12-03 | 2018-07-03 | Sandisk Technologies Llc | Reading logical groups of data from physical locations in memory using headers |
US10007457B2 (en) | 2015-12-22 | 2018-06-26 | Pure Storage, Inc. | Distributed transactions with token-associated execution |
KR101805828B1 (ko) * | 2016-03-21 | 2017-12-07 | 주식회사 디에이아이오 | 스토리지 시스템의 주소 변환 방법 및 스토리지 시스템의 메모리 장치 컨트롤러 |
US10261690B1 (en) | 2016-05-03 | 2019-04-16 | Pure Storage, Inc. | Systems and methods for operating a storage system |
US9817593B1 (en) | 2016-07-11 | 2017-11-14 | Sandisk Technologies Llc | Block management in non-volatile memory system with non-blocking control sync system |
US11861188B2 (en) | 2016-07-19 | 2024-01-02 | Pure Storage, Inc. | System having modular accelerators |
US11449232B1 (en) | 2016-07-22 | 2022-09-20 | Pure Storage, Inc. | Optimal scheduling of flash operations |
US10768819B2 (en) | 2016-07-22 | 2020-09-08 | Pure Storage, Inc. | Hardware support for non-disruptive upgrades |
US9672905B1 (en) | 2016-07-22 | 2017-06-06 | Pure Storage, Inc. | Optimize data protection layouts based on distributed flash wear leveling |
US10216420B1 (en) | 2016-07-24 | 2019-02-26 | Pure Storage, Inc. | Calibration of flash channels in SSD |
US11080155B2 (en) | 2016-07-24 | 2021-08-03 | Pure Storage, Inc. | Identifying error types among flash memory |
US11604690B2 (en) | 2016-07-24 | 2023-03-14 | Pure Storage, Inc. | Online failure span determination |
US11734169B2 (en) | 2016-07-26 | 2023-08-22 | Pure Storage, Inc. | Optimizing spool and memory space management |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
US11886334B2 (en) | 2016-07-26 | 2024-01-30 | Pure Storage, Inc. | Optimizing spool and memory space management |
US11797212B2 (en) | 2016-07-26 | 2023-10-24 | Pure Storage, Inc. | Data migration for zoned drives |
US10366004B2 (en) | 2016-07-26 | 2019-07-30 | Pure Storage, Inc. | Storage system with elective garbage collection to reduce flash contention |
CN106445407A (zh) * | 2016-08-17 | 2017-02-22 | 北京兆易创新科技股份有限公司 | 一种芯片处理方法及装置 |
US11422719B2 (en) | 2016-09-15 | 2022-08-23 | Pure Storage, Inc. | Distributed file deletion and truncation |
US9747039B1 (en) | 2016-10-04 | 2017-08-29 | Pure Storage, Inc. | Reservations over multiple paths on NVMe over fabrics |
US10756816B1 (en) | 2016-10-04 | 2020-08-25 | Pure Storage, Inc. | Optimized fibre channel and non-volatile memory express access |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US11307998B2 (en) | 2017-01-09 | 2022-04-19 | Pure Storage, Inc. | Storage efficiency of encrypted host system data |
US11955187B2 (en) | 2017-01-13 | 2024-04-09 | Pure Storage, Inc. | Refresh of differing capacity NAND |
US9747158B1 (en) | 2017-01-13 | 2017-08-29 | Pure Storage, Inc. | Intelligent refresh of 3D NAND |
US10979223B2 (en) | 2017-01-31 | 2021-04-13 | Pure Storage, Inc. | Separate encryption for a solid-state drive |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US11016667B1 (en) | 2017-04-05 | 2021-05-25 | Pure Storage, Inc. | Efficient mapping for LUNs in storage memory with holes in address space |
US10516645B1 (en) | 2017-04-27 | 2019-12-24 | Pure Storage, Inc. | Address resolution broadcasting in a networked device |
US10141050B1 (en) | 2017-04-27 | 2018-11-27 | Pure Storage, Inc. | Page writes for triple level cell flash memory |
US10944671B2 (en) | 2017-04-27 | 2021-03-09 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US11467913B1 (en) | 2017-06-07 | 2022-10-11 | Pure Storage, Inc. | Snapshots with crash consistency in a storage system |
US11138103B1 (en) | 2017-06-11 | 2021-10-05 | Pure Storage, Inc. | Resiliency groups |
US11782625B2 (en) | 2017-06-11 | 2023-10-10 | Pure Storage, Inc. | Heterogeneity supportive resiliency groups |
US11947814B2 (en) | 2017-06-11 | 2024-04-02 | Pure Storage, Inc. | Optimizing resiliency group formation stability |
US10482010B2 (en) * | 2017-06-29 | 2019-11-19 | Intel Corporation | Persistent host memory buffer |
US10425473B1 (en) | 2017-07-03 | 2019-09-24 | Pure Storage, Inc. | Stateful connection reset in a storage cluster with a stateless load balancer |
US10613943B2 (en) * | 2017-07-27 | 2020-04-07 | Western Digital Technologies, Inc. | Method and system for improving open block data reliability |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US10210926B1 (en) | 2017-09-15 | 2019-02-19 | Pure Storage, Inc. | Tracking of optimum read voltage thresholds in nand flash devices |
US10877827B2 (en) | 2017-09-15 | 2020-12-29 | Pure Storage, Inc. | Read voltage optimization |
US11024390B1 (en) | 2017-10-31 | 2021-06-01 | Pure Storage, Inc. | Overlapping RAID groups |
US10545687B1 (en) | 2017-10-31 | 2020-01-28 | Pure Storage, Inc. | Data rebuild when changing erase block sizes during drive replacement |
US10884919B2 (en) | 2017-10-31 | 2021-01-05 | Pure Storage, Inc. | Memory management in a storage system |
US10496330B1 (en) | 2017-10-31 | 2019-12-03 | Pure Storage, Inc. | Using flash storage devices with different sized erase blocks |
US10515701B1 (en) | 2017-10-31 | 2019-12-24 | Pure Storage, Inc. | Overlapping raid groups |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US10990566B1 (en) | 2017-11-20 | 2021-04-27 | Pure Storage, Inc. | Persistent file locks in a storage system |
US10929053B2 (en) | 2017-12-08 | 2021-02-23 | Pure Storage, Inc. | Safe destructive actions on drives |
US10719265B1 (en) | 2017-12-08 | 2020-07-21 | Pure Storage, Inc. | Centralized, quorum-aware handling of device reservation requests in a storage system |
US10445230B2 (en) * | 2017-12-08 | 2019-10-15 | Macronix International Co., Ltd. | Managing block arrangement of super blocks |
KR102492729B1 (ko) * | 2017-12-13 | 2023-01-27 | 마이크론 테크놀로지, 인크. | 가변 폭 수퍼 블록 어드레싱 |
US10929031B2 (en) | 2017-12-21 | 2021-02-23 | Pure Storage, Inc. | Maximizing data reduction in a partially encrypted volume |
US10976948B1 (en) | 2018-01-31 | 2021-04-13 | Pure Storage, Inc. | Cluster expansion mechanism |
US10733053B1 (en) | 2018-01-31 | 2020-08-04 | Pure Storage, Inc. | Disaster recovery for high-bandwidth distributed archives |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US11036596B1 (en) | 2018-02-18 | 2021-06-15 | Pure Storage, Inc. | System for delaying acknowledgements on open NAND locations until durability has been confirmed |
US11494109B1 (en) | 2018-02-22 | 2022-11-08 | Pure Storage, Inc. | Erase block trimming for heterogenous flash memory storage devices |
US11995336B2 (en) | 2018-04-25 | 2024-05-28 | Pure Storage, Inc. | Bucket views |
US10931450B1 (en) | 2018-04-27 | 2021-02-23 | Pure Storage, Inc. | Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers |
US10853146B1 (en) | 2018-04-27 | 2020-12-01 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
US11436023B2 (en) | 2018-05-31 | 2022-09-06 | Pure Storage, Inc. | Mechanism for updating host file system and flash translation layer based on underlying NAND technology |
US11438279B2 (en) | 2018-07-23 | 2022-09-06 | Pure Storage, Inc. | Non-disruptive conversion of a clustered service from single-chassis to multi-chassis |
US11354058B2 (en) | 2018-09-06 | 2022-06-07 | Pure Storage, Inc. | Local relocation of data stored at a storage device of a storage system |
US11868309B2 (en) | 2018-09-06 | 2024-01-09 | Pure Storage, Inc. | Queue management for data relocation |
US11520514B2 (en) | 2018-09-06 | 2022-12-06 | Pure Storage, Inc. | Optimized relocation of data based on data characteristics |
US11500570B2 (en) | 2018-09-06 | 2022-11-15 | Pure Storage, Inc. | Efficient relocation of data utilizing different programming modes |
US10454498B1 (en) | 2018-10-18 | 2019-10-22 | Pure Storage, Inc. | Fully pipelined hardware engine design for fast and efficient inline lossless data compression |
US10976947B2 (en) | 2018-10-26 | 2021-04-13 | Pure Storage, Inc. | Dynamically selecting segment heights in a heterogeneous RAID group |
CN109817257B (zh) * | 2018-12-27 | 2020-10-13 | 西安紫光国芯半导体有限公司 | 一种动态存储器刷新操作下的省电方法和动态存储器 |
US10990320B2 (en) * | 2019-02-01 | 2021-04-27 | Western Digital Technologies, Inc. | Systems and methods to optimally select metablocks |
US11334254B2 (en) | 2019-03-29 | 2022-05-17 | Pure Storage, Inc. | Reliability based flash page sizing |
US11775189B2 (en) | 2019-04-03 | 2023-10-03 | Pure Storage, Inc. | Segment level heterogeneity |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
US11714572B2 (en) | 2019-06-19 | 2023-08-01 | Pure Storage, Inc. | Optimized data resiliency in a modular storage system |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
TWI769386B (zh) * | 2019-07-04 | 2022-07-01 | 群聯電子股份有限公司 | 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置 |
US11893126B2 (en) | 2019-10-14 | 2024-02-06 | Pure Storage, Inc. | Data deletion for a multi-tenant environment |
US11847331B2 (en) | 2019-12-12 | 2023-12-19 | Pure Storage, Inc. | Budgeting open blocks of a storage unit based on power loss prevention |
US11416144B2 (en) | 2019-12-12 | 2022-08-16 | Pure Storage, Inc. | Dynamic use of segment or zone power loss protection in a flash device |
US11704192B2 (en) | 2019-12-12 | 2023-07-18 | Pure Storage, Inc. | Budgeting open blocks based on power loss protection |
CN111143313B (zh) * | 2019-12-25 | 2023-07-25 | 成都三零嘉微电子有限公司 | 一种提高混合映射算法的日志块读写性能的方法 |
US11188432B2 (en) | 2020-02-28 | 2021-11-30 | Pure Storage, Inc. | Data resiliency by partially deallocating data blocks of a storage device |
US11507297B2 (en) | 2020-04-15 | 2022-11-22 | Pure Storage, Inc. | Efficient management of optimal read levels for flash storage systems |
US11256587B2 (en) | 2020-04-17 | 2022-02-22 | Pure Storage, Inc. | Intelligent access to a storage device |
US11474986B2 (en) | 2020-04-24 | 2022-10-18 | Pure Storage, Inc. | Utilizing machine learning to streamline telemetry processing of storage media |
US11416338B2 (en) | 2020-04-24 | 2022-08-16 | Pure Storage, Inc. | Resiliency scheme to enhance storage performance |
US11586385B1 (en) | 2020-05-06 | 2023-02-21 | Radian Memory Systems, Inc. | Techniques for managing writes in nonvolatile memory |
US11768763B2 (en) | 2020-07-08 | 2023-09-26 | Pure Storage, Inc. | Flash secure erase |
US11513974B2 (en) | 2020-09-08 | 2022-11-29 | Pure Storage, Inc. | Using nonce to control erasure of data blocks of a multi-controller storage system |
US11681448B2 (en) | 2020-09-08 | 2023-06-20 | Pure Storage, Inc. | Multiple device IDs in a multi-fabric module storage system |
US11487455B2 (en) | 2020-12-17 | 2022-11-01 | Pure Storage, Inc. | Dynamic block allocation to optimize storage system performance |
US11847324B2 (en) | 2020-12-31 | 2023-12-19 | Pure Storage, Inc. | Optimizing resiliency groups for data regions of a storage system |
US11614880B2 (en) | 2020-12-31 | 2023-03-28 | Pure Storage, Inc. | Storage system with selectable write paths |
US11630593B2 (en) | 2021-03-12 | 2023-04-18 | Pure Storage, Inc. | Inline flash memory qualification in a storage system |
US11507597B2 (en) | 2021-03-31 | 2022-11-22 | Pure Storage, Inc. | Data replication to meet a recovery point objective |
US11756644B2 (en) | 2021-06-23 | 2023-09-12 | International Business Machines Corporation | Triage of multi-plane read requests |
US11994723B2 (en) | 2021-12-30 | 2024-05-28 | Pure Storage, Inc. | Ribbon cable alignment apparatus |
US11966605B2 (en) * | 2022-03-09 | 2024-04-23 | Kioxia Corporation | Superblock-based write management in non-volatile memory devices |
Family Cites Families (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5095344A (en) | 1988-06-08 | 1992-03-10 | Eliyahou Harari | Highly compact eprom and flash eeprom devices |
US5043940A (en) | 1988-06-08 | 1991-08-27 | Eliyahou Harari | Flash EEPROM memory systems having multistate storage cells |
US5070032A (en) | 1989-03-15 | 1991-12-03 | Sundisk Corporation | Method of making dense flash eeprom semiconductor memory structures |
US5172338B1 (en) | 1989-04-13 | 1997-07-08 | Sandisk Corp | Multi-state eeprom read and write circuits and techniques |
US5343063A (en) | 1990-12-18 | 1994-08-30 | Sundisk Corporation | Dense vertical programmable read only memory cell structure and processes for making them |
US5313421A (en) | 1992-01-14 | 1994-05-17 | Sundisk Corporation | EEPROM with split gate source side injection |
US6222762B1 (en) | 1992-01-14 | 2001-04-24 | Sandisk Corporation | Multi-state memory |
JP3122222B2 (ja) | 1992-05-08 | 2001-01-09 | 株式会社東芝 | メモリカード装置 |
US5532962A (en) | 1992-05-20 | 1996-07-02 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US5315541A (en) | 1992-07-24 | 1994-05-24 | Sundisk Corporation | Segmented column memory array |
US5404485A (en) | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
JPH06266596A (ja) | 1993-03-11 | 1994-09-22 | Hitachi Ltd | フラッシュメモリファイル記憶装置および情報処理装置 |
US5367484A (en) | 1993-04-01 | 1994-11-22 | Microchip Technology Incorporated | Programmable high endurance block for EEPROM device |
KR970008188B1 (ko) | 1993-04-08 | 1997-05-21 | 가부시끼가이샤 히다찌세이사꾸쇼 | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 |
US5555204A (en) | 1993-06-29 | 1996-09-10 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
KR0169267B1 (ko) | 1993-09-21 | 1999-02-01 | 사토 후미오 | 불휘발성 반도체 기억장치 |
US5473765A (en) | 1994-01-24 | 1995-12-05 | 3Com Corporation | Apparatus for using flash memory as a floppy disk emulator in a computer system |
US5661053A (en) | 1994-05-25 | 1997-08-26 | Sandisk Corporation | Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers |
JP3153730B2 (ja) | 1995-05-16 | 2001-04-09 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US5907856A (en) | 1995-07-31 | 1999-05-25 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US6125435A (en) | 1995-09-13 | 2000-09-26 | Lexar Media, Inc. | Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory |
JP3604466B2 (ja) | 1995-09-13 | 2004-12-22 | 株式会社ルネサステクノロジ | フラッシュディスクカード |
US6304980B1 (en) | 1996-03-13 | 2001-10-16 | International Business Machines Corporation | Peer-to-peer backup system with failure-triggered device switching honoring reservation of primary device |
US5903495A (en) | 1996-03-18 | 1999-05-11 | Kabushiki Kaisha Toshiba | Semiconductor device and memory system |
US5768192A (en) | 1996-07-23 | 1998-06-16 | Saifun Semiconductors, Ltd. | Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping |
US5798968A (en) | 1996-09-24 | 1998-08-25 | Sandisk Corporation | Plane decode/virtual sector architecture |
US5860124A (en) | 1996-09-30 | 1999-01-12 | Intel Corporation | Method for performing a continuous over-write of a file in nonvolatile memory |
US5890192A (en) | 1996-11-05 | 1999-03-30 | Sandisk Corporation | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM |
US6034897A (en) | 1999-04-01 | 2000-03-07 | Lexar Media, Inc. | Space management for managing high capacity nonvolatile memory |
JP3072722B2 (ja) | 1997-06-20 | 2000-08-07 | ソニー株式会社 | フラッシュメモリを用いるデータ管理装置及びデータ管理方法並びにフラッシュメモリを用いる記憶媒体 |
US5930167A (en) | 1997-07-30 | 1999-07-27 | Sandisk Corporation | Multi-state non-volatile flash memory capable of being its own two state write cache |
US6768165B1 (en) | 1997-08-01 | 2004-07-27 | Saifun Semiconductors Ltd. | Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping |
US5909449A (en) | 1997-09-08 | 1999-06-01 | Invox Technology | Multibit-per-cell non-volatile memory with error detection and correction |
US5937425A (en) | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
US6226728B1 (en) | 1998-04-21 | 2001-05-01 | Intel Corporation | Dynamic allocation for efficient management of variable sized data within a nonvolatile memory |
JP2000122917A (ja) * | 1998-07-13 | 2000-04-28 | Sony Corp | 記録装置および記録方法、再生装置および再生方法、記録媒体、並びにプログラム記録媒体 |
JP4085478B2 (ja) | 1998-07-28 | 2008-05-14 | ソニー株式会社 | 記憶媒体及び電子機器システム |
US6490649B2 (en) | 1998-11-10 | 2002-12-03 | Lexar Media, Inc. | Memory device |
GB9903490D0 (en) | 1999-02-17 | 1999-04-07 | Memory Corp Plc | Memory system |
US6401160B1 (en) | 1999-03-31 | 2002-06-04 | Intel Corporation | Method and apparatus to permit adjustable code/data boundary in a nonvolatile memory |
US6141249A (en) | 1999-04-01 | 2000-10-31 | Lexar Media, Inc. | Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time |
US6544844B2 (en) | 1999-10-08 | 2003-04-08 | Macronix International Co., Ltd. | Method for forming a flash memory cell having contoured floating gate surface |
US6377500B1 (en) | 1999-11-11 | 2002-04-23 | Kabushiki Kaisha Toshiba | Memory system with a non-volatile memory, having address translating function |
US6426893B1 (en) | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US6571261B1 (en) | 2000-07-13 | 2003-05-27 | International Business Machines Corporation | Defragmentation utility for a shared disk parallel file system across a storage area network |
US6567307B1 (en) | 2000-07-21 | 2003-05-20 | Lexar Media, Inc. | Block management for mass storage |
JP3699890B2 (ja) | 2000-08-30 | 2005-09-28 | シャープ株式会社 | 不揮発性半導体記憶装置 |
JP3992960B2 (ja) * | 2000-10-26 | 2007-10-17 | 松下電器産業株式会社 | 記録装置及びプログラム |
US6684289B1 (en) | 2000-11-22 | 2004-01-27 | Sandisk Corporation | Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory |
US6763424B2 (en) | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US6591330B2 (en) | 2001-06-18 | 2003-07-08 | M-Systems Flash Disk Pioneers Ltd. | System and method for flexible flash file |
JP4256600B2 (ja) * | 2001-06-19 | 2009-04-22 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
US6522580B2 (en) | 2001-06-27 | 2003-02-18 | Sandisk Corporation | Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states |
US6717847B2 (en) | 2001-09-17 | 2004-04-06 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US6456528B1 (en) | 2001-09-17 | 2002-09-24 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
GB0123416D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
GB0123412D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system sectors |
GB0123415D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
TW506123B (en) | 2001-10-24 | 2002-10-11 | Macronix Int Co Ltd | Multi-level NROM memory cell and its operating method |
US6925007B2 (en) | 2001-10-31 | 2005-08-02 | Sandisk Corporation | Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements |
JP3967121B2 (ja) | 2001-12-11 | 2007-08-29 | 株式会社ルネサステクノロジ | ファイルシステム、ファイルシステム制御方法およびファイルシステムを制御するためのプログラム |
US6895464B2 (en) | 2002-06-03 | 2005-05-17 | Honeywell International Inc. | Flash memory management system and method utilizing multiple block list windows |
US7096313B1 (en) | 2002-10-28 | 2006-08-22 | Sandisk Corporation | Tracking the least frequently erased blocks in non-volatile memory systems |
US7103732B1 (en) | 2002-10-28 | 2006-09-05 | Sandisk Corporation | Method and apparatus for managing an erase count block |
US7526599B2 (en) | 2002-10-28 | 2009-04-28 | Sandisk Corporation | Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system |
US6985992B1 (en) | 2002-10-28 | 2006-01-10 | Sandisk Corporation | Wear-leveling in non-volatile storage systems |
US6831865B2 (en) | 2002-10-28 | 2004-12-14 | Sandisk Corporation | Maintaining erase counts in non-volatile storage systems |
US8412879B2 (en) | 2002-10-28 | 2013-04-02 | Sandisk Technologies Inc. | Hybrid implementation for error correction codes within a non-volatile memory system |
JP2005135008A (ja) | 2003-10-28 | 2005-05-26 | Sony Corp | 情報配信システム及び情報配信方法 |
US7139864B2 (en) | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US20050144363A1 (en) | 2003-12-30 | 2005-06-30 | Sinclair Alan W. | Data boundary management |
US7433993B2 (en) | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
-
2004
- 2004-12-16 US US11/016,271 patent/US7383375B2/en active Active
- 2004-12-22 EP EP10009780A patent/EP2256621A1/en not_active Withdrawn
- 2004-12-22 CN CNB2004800421908A patent/CN100524209C/zh not_active Expired - Fee Related
- 2004-12-22 KR KR1020067013319A patent/KR100983212B1/ko active IP Right Grant
- 2004-12-22 EP EP04815389.4A patent/EP1700204B1/en not_active Not-in-force
- 2004-12-22 WO PCT/US2004/043306 patent/WO2005066770A2/en active Application Filing
- 2004-12-22 JP JP2006547364A patent/JP4977473B2/ja not_active Expired - Fee Related
- 2004-12-30 TW TW093141372A patent/TWI280581B/zh not_active IP Right Cessation
-
2012
- 2012-01-13 JP JP2012005217A patent/JP5438137B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023120829A1 (ko) * | 2021-12-24 | 2023-06-29 | 오픈엣지테크놀로지 주식회사 | 어레이 풀링 방법 및 이를 위한 장치 |
Also Published As
Publication number | Publication date |
---|---|
TWI280581B (en) | 2007-05-01 |
US7383375B2 (en) | 2008-06-03 |
WO2005066770A9 (en) | 2005-09-29 |
EP1700204B1 (en) | 2014-03-12 |
CN1922571A (zh) | 2007-02-28 |
JP2007517325A (ja) | 2007-06-28 |
TW200535854A (en) | 2005-11-01 |
KR100983212B1 (ko) | 2010-09-20 |
EP1700204A1 (en) | 2006-09-13 |
WO2005066770A2 (en) | 2005-07-21 |
JP2012099139A (ja) | 2012-05-24 |
US20050144367A1 (en) | 2005-06-30 |
EP2256621A1 (en) | 2010-12-01 |
CN100524209C (zh) | 2009-08-05 |
JP5438137B2 (ja) | 2014-03-12 |
JP4977473B2 (ja) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100983212B1 (ko) | 데이터 런 프로그래밍 | |
US7433993B2 (en) | Adaptive metablocks | |
US20050144363A1 (en) | Data boundary management | |
KR101202620B1 (ko) | 복수-스트림 업데이팅을 갖는 비휘발성 메모리 및 방법 | |
KR101089576B1 (ko) | 업데이트 및 스크래치 패드 블록들을 위한 개선된 인덱싱을갖는 비휘발성 메모리 및 방법 | |
JP4399008B2 (ja) | 不揮発性メモリおよびマルチストリーム更新追跡を伴う方法 | |
JP4787266B2 (ja) | スクラッチパッドブロック | |
EP1856616B1 (en) | Scheduling of housekeeping operations in flash memory systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated 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: 20130820 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140825 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150819 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160818 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20170818 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20180816 Year of fee payment: 9 |