KR20110081878A - 논리 유닛 동작 - Google Patents

논리 유닛 동작 Download PDF

Info

Publication number
KR20110081878A
KR20110081878A KR1020117012148A KR20117012148A KR20110081878A KR 20110081878 A KR20110081878 A KR 20110081878A KR 1020117012148 A KR1020117012148 A KR 1020117012148A KR 20117012148 A KR20117012148 A KR 20117012148A KR 20110081878 A KR20110081878 A KR 20110081878A
Authority
KR
South Korea
Prior art keywords
address
logical
instructions
command
units
Prior art date
Application number
KR1020117012148A
Other languages
English (en)
Other versions
KR101363766B1 (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 KR20110081878A publication Critical patent/KR20110081878A/ko
Application granted granted Critical
Publication of KR101363766B1 publication Critical patent/KR101363766B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/82Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Abstract

본 발명은 논리 유닛 동작을 위한 방법들 및 장치들을 포함한다. 장치의 일실시예는 다수의 논리 유닛들을 포함하며, 다수의 논리 유닛들 각각은 고유 어드레스를 갖는다. 장치는 다수의 논리 유닛들에 결합되고 다수의 명령들 중 하나와 한 어드레스로 다수의 논리 유닛들 하나 이상을 선택적으로 제어하게 구성된 제어 회로를 포함한다.

Description

논리 유닛 동작{LOGICAL UNIT OPERATION}
본 발명은 일반적으로 반도체 메모리 장치들, 방법들, 및 시스템들에 관한 것으로, 특히 논리 유닛 동작에 관한 것이다.
메모리 장치들은 전형적으로 컴퓨터들 또는 그외 전자장치들 내에 내부 반도체 집적회로들로서 제공된다. 무엇보다도, 랜덤-액세스 메모리(RAM), 판독전용 메모리(ROM), 동적 랜덤 액세스 메모리(DRAM), 동기식 동적 랜덤 액세스 메모리(SDRAM), 상변화 랜덤 액세스 메모리(PCRAM), 및 플래시 메모리를 포함한 많은 서로 다른 유형들의 메모리가 있다.
솔리드 스테이트 메모리 장치들은 광범위한 전자 응용들을 위한 휘발성 및 비휘발성 메모리로서 이용된다. 단지 한 유형의 솔리드 스테이트 메모리인 플래시 메모리는 전형적으로 고 메모리 밀도들, 고 신뢰성, 및 저 전력 소비를 가능하게 하는 1-트랜지스터 메모리 셀을 사용한다.
플래시 장치들을 포함한 솔리드 스테이트 메모리 장치들은 함께 조합되어 솔리드 스테이트 드라이브를 형성할 수 있다. 솔리드 스테이트 드라이브는 솔리드 스테이트 드라이브들이 성능, 크기, 무게, 견고성, 동작온도 범위, 및 파워 소비 면에서 하드 드라이브들에 비해 잇점들을 가질 수 있기 때문에, 컴퓨터를 위한 주 저장 장치로서 하드디스크 드라이브들을 대체하기 위해 사용될 수 있다. 예를 들어, 플래시 솔리드 스테이트 드라이브들은 이들이 가동(moving) 부품들이 없어 자기 디스크 드라이브들과 비교했을 때 우수한 성능을 가질 수 있고, 이는 탐색 시간, 레이턴시, 및 자기 디스크 드라이브들에 연관된 그외 전기-자기적 지연들을 개선할 수 있다.
솔리드 스테이트 드라이브는 영속적 데이터를 저장하기 위해 솔리드 스테이트 메모리를 사용하는 데이터 저장 장치이다. 솔리드 스테이트 드라이브는 NAND 플래시 비휘발성 메모리 및/또는 DRAM 휘발성 메모리를 포함할 수 있다. 솔리드 스테이트 드라이브 제조업자들은 내부 배터리 서플라이를 사용하지 않아 드라이브를 더욱 다용도이고 콤팩트하게 할 수 있게 하는 드라이브를 만들어내기 위해 비휘발성 플래시 메모리를 사용할 수 있다. 플래시 드라이브들이라고도 알려진 플래시 메모리를 사용하는 솔리드 스테이트 드라이브들은 표준 디스크 드라이브 폼 팩터들(예를 들어, 특히, 1.8-인치, 2.5-인치, 3.5-인치)을 사용할 수 있다.
일부 저장 응용들에 있어서, 하드 드라이브들은 레이드(redundant array of independent disks, RAID)라고도 하는, 저가형 디스크들의 용장성 어레이와 같은 용장성 어레이로 배열될 수도 있다. RAID는 복수의 하드디스크 드라이브들 간에 데이터를 분할하고 복제할 수 있는 데이터 저장 시스템들을 지칭할 수 있다. 예를 들어 서버들에서 이러한 배열들은 특정 드라이브가 작동하지 않는 경우에 데이터 손실을 방지하려는 것이다. 그러나, 이러한 실시는 시스템 저장 용량으로는 실현되지 않는 가외의 용량에 상당한 투자를 수반할 수 있다. 예를 들어, 일부 저장 응용들에서, 하드디스크(들)에 연관된 탐색시간들을 감소시킴으로써 성능을 증가시키기 위해 하드디스크 용량의 5 내지 30 %만큼 적은 용량이 저장을 위해 사용된다. 또한, 하드 드라이브 고장율들은 드라이브 년수에 따라 증가하는 경향이 있다. 반대로, 솔리드 스테이트 장치들은 전혀는 아닐라지도 초기에 고장나는 경향이 있지만 이후로 이들의 예상 사용수명 끝 내내 올바르게 동작하는 경향이 있다.
도 1은 본 발명의 하나 이상의 실시예들에 따라 동작되는 적어도 한 메모리 장치를 갖는 전자 메모리 시스템의 기능 블록도이다.
도 2a는 본 발명의 하나 이상의 실시예들에 따른 논리 유닛 제어의 블록도이다.
도 2b는 본 발명의 하나 이상의 실시예들에 따른 메모리 아키텍처의 블록도이다.
도 3은 메모리 장치의 동작 동안 여러 신호들의 종래기술의 타이밍도이다.
도 4는 본 발명의 하나 이상의 실시예들에 따라 메모리 장치의 동작 동안 여러 신호들의 타이밍도이다.
도 5는 본 발명의 하나 이상의 실시예들에 따라 5 사이클들로 구성되는 어드레스 데이터 배열을 포함하는 표이다.
도 6은 본 발명의 하나 이상의 실시예들에 따른 솔리드 스테이트 드라이브의 블록도이다.
도 7은 본 발명의 하나 이상의 실시예들에 따른 적어도 한 메모리 장치를 갖는 메모리 모듈의 기능 블록도이다.
본 발명은 논리 유닛 동작을 위한 방법들 및 장치들을 포함한다. 장치의 일실시예는 다수의 논리 유닛들을 포함하며, 다수의 논리 유닛들 각각은 고유 어드레스를 갖는다. 장치는 다수의 논리 유닛들에 결합되고 다수의 명령들 중 하나와 한 어드레스로 다수의 논리 유닛들 하나 이상을 선택적으로 제어하게 구성된 제어 회로를 포함한다.
본 발명의 다음 상세한 설명에서, 이의 일부를 이루며 발명의 하나 이상의 실시예들이 어떻게 실시될 수 있는가를 예시로서 도시한 동반된 도면들을 참조한다. 이들 실시예들은 당업자들이 발명의 실시예를 실시할 수 있게 할만큼 충분히 상세히 기술되며, 다른 실시예들이 이용될 수도 있고 본 발명의 범위 내에서 프로세스, 전기적 및/또는 구조적 변경들이 행해질 수 있음을 알아야 한다. 여기에서 사용되는 바와 같이, 특히 도면들에서 참조부호들에 관련하여, "N", "P", "L", "B"로 표시한 것은 이와 같이 표시된 다수의 특정한 특징이 하나 이상의 본 발명의 실시예들에 포함될 수 있음을 나타낸다.
여기에 도면들에서 표시한 숫자는 앞에 숫자 또는 숫자들은 도면 번호에 대응하는 것이고 그 뒤에 숫자들은 도면에서 요소 혹은 성분을 나타낸다. 도면들 간에 유사한 요소들 혹은 성분들은 비슷한 숫자들을 사용하여 확인될 수 있다. 예를 들어, 110은 도 1에서 참조요소가 "10"일 수 있고, 유사한 요소는 도 2a에서는 210으로서 참조될 수 있다. 알게 되는 바와 같이, 여기에 여러 실시예들에 보인 요소들은 다수의 추가의 본 발명의 실시예들을 제공하기 위해서 추가, 교환, 및/또는 제거될 수 있다. 또한, 알게 되는 바와 같이, 도면들에 제공된 요소들의 비율 및 상대적 비례는 본 발명의 실시예들을 예시하려는 것이며 제한의 의미로 취해지지 않아야 한다.
도 1은 본 발명의 하나 이상의 실시예들에 따라 동작되는 적어도 한 메모리 장치(120)를 구비한 전자 메모리 시스템(100)의 기능 블록도이다. 메모리 시스템(100)은 비휘발성 셀들의 메모리 어레이(130)을 포함하는 비휘발성 메모리 장치(120)에 결합된 프로세서(110)를 포함한다. 메모리 시스템(100)은 별도의 집적회로들을 포함할 수 있고, 혹은 프로세서(110) 및 메모리 장치(120) 둘 다는 동일 집적회로 상에 있을 수 있다. 프로세서(110)는 마이크로프로세서 혹은 응용특정 집적회로(ASIC)와 같은 그외 어떤 다른 유형의 제어회로일 수 있다.
메모리 장치(120)는 NAND 아키텍처를 가진 플로팅 게이트 플래시 메모리 셀들일 수 있는 비휘발성 메모리 셀들(130)의 어레이를 포함한다. "행"의 메모리 셀들의 제어 게이트들은 워드라인에 결합되며 "열(column)"의 메모리 셀들의 드레인 영역들은 비트라인들에 결합된다. 메모리 셀들의 소스 영역들은 소스 라인들에 결합된다. 당업자들이 알게 되는 바와 같이, 어레이가 NAND 아키텍처인지, NOR 아키텍처인지, ADN 아키텍처인지, 혹은 이외 어떤 다른 메모리 어레이 아키텍처인지는 비트라인들 및 소스 라인들에 메모리 셀들의 연결 방식에 따라 결정된다.
도 1의 실시예는 I/O 회로(160)를 통해 I/O 연결들(162)에 제공되는 어드레스 신호들을 래치하기 위해 어드레스 회로(140)를 포함한다. 메모리 어레이(130)에 액세스하기 위해서 어드레스 신호들이 행 디코더(144) 및 열 디코더(146)에 의해 수신되어 디코딩된다. 어드레스 입력 연결들의 수는 메모리 어레이(130)의 밀도 및 아키텍처에 좌우되고 어드레스들의 수는 메모리 셀들의 수가 증가됨에 따라 그리고 메모리 블록들 및 어레이들의 수가 증가됨에 따라 증가함을 당업자들은 본 설명에 따라 알게 될 것이다.
메모리 장치(120)는 이 실시예에서 판독/래치 회로(150)일 수 있는 감지/버퍼 회로를 사용하여 메모리 어레이 열들에서 전압 및/또는 전류 변화들을 감지함으로써 메모리 어레이(130) 내 데이터를 감지한다. 감지 증폭기 회로(150)는 메모리 어레이(130)로부터 페이지, 예를 들면 한 행의 데이터를 판독하고 래치할 수 있다. I/O 연결들(162)을 통해 프로세서(110)와의 양방향 데이터 통신을 위해서 I/O 회로(160)가 포함된다. 메모리 어레이(130)에 데이터를 기입하기 위해 기입회로(155)가 포함된다.
메모리 제어회로(170)는 프로세서(110)로부터 제어 연결들(172)에 의해 제공되는 신호들을 디코딩한다. 이들 신호들은 여기에 기술된 바와 같이, 데이터 감지, 데이터 기입, 및 데이터 소거 동작들을 포함한 메모리 어레이(130)에 대한 동작들을 제어하기 위해 사용되는 칩 신호들, 기입 인에이블 신호들, 및 어드레스 래치 신호들을 포함할 수 있다. 하나 이상의 실시예들에서, 제어 회로(170)는 본 발명의 실시예들에 따라 동작들을 수행하기 위해 프로세서(110)로부터의 명령들을 실행한다. 제어 회로(170)는 상태머신, 시퀀서, 혹은 이외 어떤 다른 유형의 제어기일 수 있다. 추가의 회로 및 제어 신호들이 제공될 수 있고 도 1의 메모리 장치의 상세는 예시를 용이하게 하기 위해 감소되었음을 당업자들은 알 것이다.
도 2a는 본 발명의 하나 이상의 실시예들에 따른 논리 유닛 제어의 블록도이다. 여기에서 사용되는 바와 같이, 논리 유닛은 일 그룹의 메모리 셀들, 예를 들면, 다수의 제어 입력들을 공유하는 한 다이의 메모리 셀들을 포함할 수 있다. 제어 입력들이 도 3 및 도 4와 관련하여 기술되나, 이들은 일반적으로 어드레스 래치 인에이블 (ALE), 칩 인에이블 (CE), 판독 인에이블 (RE), 준비/비지(R/B), 기입보호(WP), 및 핀들, 패드들, 등과 같은 입력/출력(I/O) 연결들을 포함할 수 있다.
도 2a 에 도시된 실시예는 다수의 논리 유닛들(270-A, 270-B, 270-C, 270-D, 270-E, 270-F)에 결합된 제어 회로(202), 예를 들면, 도 1에 제어 회로(102)를 포함한다. 도 1에 도시된 실시예에 관련하여, 다수의 논리 유닛들(270-A, 270-B, 270-C, 270-D, 270-E, 270-F)은 하나 이상의 메모리 어레이들(130)에 위치될 수 있다. 제어 회로(202)는 제어 입력들(241-1)을 사용하여 논리 유닛들(270-A, 270-B)에 결합된다. 제어 회로(202)은 제어 입력들(241-2)을 사용하여 논리 유닛들(270-C, 270-D, 270-E, 270-F)에 결합된다. 논리 유닛들(270-A, 270-B)은 개별적 다이들(dice)일 수 있는 반면, 논리 유닛들(270-E, 270-F) 뿐만 아니라 논리 유닛들(270-C, 270-D)은 적층된 다이들일 수 있다. 각각의 다이(die)는 메모리 셀들의 하나 이상의 어레이들을 포함할 수 있다.
본 발명의 하나 이상의 실시예들에서, 제어 회로(202)는 한 명령, 예를 들면, 단일 명령으로 하나 이상의 논리 유닛을 제어하게 구성될 수 있다. 예를 들어, 제어 회로(202)는 제어 입력들(241-1)에 걸쳐 발행된 한 명령으로 논리 유닛들(270-A, 270-B)을 제어할 수 있다. 또 다른 예로서, 제어 회로(202)는 제어 입력들(241-2)에 걸쳐 발행된 한 명령으로 논리 유닛들(270-C, 270-D, 270-E, 270-F)을 제어할 수 있다. 하나 이상의 실시예들에서, 제어 회로(202)는 4개의 논리 유닛들(270-C, 270-D, 270-E, 270-F) 중 어느 하나, 2개, 3개, 혹은 전부를 제어하게 제어 입력들(241-2)에 걸쳐 명령을 발행할 수 있다. 이러한 명령들 및 제어들의 상세를 여기에서 더 상세히 기술한다.
도 2b는 본 발명의 하나 이상의 실시예들에 따른 메모리 아키텍처의 블록도이다. 도 2b에 도시된 메모리 아키텍처는 "논리 유닛 0"(270-0), "논리 유닛 1"(270-1),..., "논리 유닛 L"(270-L)과 같은 다수의 논리 유닛들을 포함한다. 논리 유닛들(270-0, 270-1,..., 270-L)은 도 2a에 도시된 논리 유닛들(270-A, 270-B, 270-C, 270-D, 270-E, 270-F)과 유사할 수 있다. 각각의 논리 유닛은 논리 유닛 0(270-0)에 도시된 "블록 0"(271)과 같은 다수의 블록들을 포함할 수 있다. 각각의 블록은 논리 유닛 0(270-0)의 블록 0에 도시된 "페이지 0"(273)과 같이 다수의 페이지들의 메모리 셀들을 포함할 수 있다. 도 2b에 도시되지 않았을지라도, 메모리 장치는 다수의 플레인들, 다이들, 및 다른 다수 그룹들의 메모리 셀들을 포함할 수 있다. 예로서, 128 GB 메모리 장치는 페이지당 4314 바이트의 데이터, 블록당 128 페이지들, 플레인당 2048 블록들, 및 장치당 16 플레인들을 포함할 수 있다.
각 페이지의 메모리 셀들은 다수의 메모리 셀들, 예를 들면, 비휘발성 메모리 셀들을 포함할 수 있다. 여기에서 사용되는 바와 같이, 한 페이지의 메모리 셀들은 한번에 프로그램가능한 한 분량의 데이터를 저장할 수 있는 다수의 메모리 셀들을 의미한다. 예로서, 한번에 프로그램가능한 한 분량의 데이터를 한 페이지의 데이터라 칭할 수 있고, 한 페이지의 데이터를 저장하는 메모리 셀들을 한 페이지의 메모리 셀들이라 칭할 수 있다. 하나 이상의 실시예들에서, 한 페이지의 메모리 셀들은 특정 액세스 라인, 예를 들면, 워드라인에 결합된 메모리 셀들을 포함할 수 있다. 하나 이상의 실시예들에서, 한 특정 워드라인에 결합된 메모리 셀들은 하나 이상의 페이지, 예를 들면, "우수" 페이지 및 "기수" 페이지의 데이터로 분할될 수 있다. 하나 이상의 실시예들에서, 한 페이지의 메모리 셀들은 하나 이상의 워드라인에 결합된 메모리 셀들을 포함할 수 있다. 여기에서 사용되는 바와 같이, 한 블록의 메모리 셀들은 한번에 소거될 수 있는 한 분량의 데이터를 저장할 수 있는 다수의 메모리 셀들을 의미한다. 예를 들어, 한번에 소거될 수 있는 한 분량의 데이터를 한 블록의 데이터라 칭할 수 있고, 한 블록의 데이터를 저장하는 메모리 셀들을 한 블록의 메모리 셀들이라 칭할 수 있다.
도 3은 메모리 장치의 동작동안 다양한 신호들의 종래 기술의 타이밍도(380)이다. 특히, 타이밍도(380)는 프로그래밍 동작에 연관된 신호들, 예를 들면, 제어 신호들(CLE, CE#, WE#, ALE, RE#, R/B#)을 공유하는 2개의 논리 유닛들에 용장성으로 데이터를 기입하기 위한 기입 동작을 도시한 것이다. 신호들은 명령 래치 인에이블(CLE) 신호, 칩 인에이블(CE#) 신호, 기입 인에이블(WE#) 신호, 어드레스 래치 인에이블(ALE) 신호, 판독 인에이블(RE#) 신호, 및 준비/비지(R/B#) 신호를 포함할 수 있다. 입력/출력 회로로 통신되는 정보, 예를 들어, 입력/출력 버스는 I/Ox로 도시되었다. 당업자가 아는 바와 같이, "#" 기호는 로우(LOW) 논리 상태에서 활성이 되는 특정 신호를 나타낸다.
CLE 신호는 버스로부터 명령을 명령 레지스터에 로딩하기 위해 사용될 수 있다. CE# 신호는 메모리의 논리 유닛, 예를 들면, 다이를 활성화 또는 비활성화할 수 있다. WE# 신호는 명령들, 어드레스들, 및 직렬 데이터를 메모리 액세스 장치(예를 들면, 프로세서, 메모리 제어기, 제어 회로, 호스트 시스템, 등)에서 메모리로 전송할 수 있다. 예를 들어, WE# 신호는 타이밍 기준을 메모리 장치에 제공하기 위해 사용될 수 있다. 제어 신호들(예를 들면, ALE 및 CLE)에 의해 활성화되는 타이밍 열들은 통신 전송들의 타이밍을 제어하기 위해 사용될 수 있다. 메모리 액세스 장치는 데이터 트랜잭션들에 대한 요청이 언제 보내졌는지를 메모리 장치에 알리기 위해서 제어 신호들을 사용할 수 있다. ALE 신호는 버스로부터 어드레스를 어드레스 레지스터에 로딩하기 위해 사용될 수 있다. RE# 신호는 직렬 데이터를 메모리에서 호스트 시스템으로 전송할 수 있다.
여러 제어 신호들은 메모리 인터페이스를 통한 명령, 어드레스 및 그외 정보, 및 데이터의 통신을 조정한다. 도 3에 도시된 종래의 방법에 따라서, 프로그래밍 동작은 I/O 버스를 통해 보내진 데이터 입력 명령(381-1), 예를 들면 직렬 데이터 입력, 이에 이어 메모리 내 특정 논리 유닛 또는 다른 위치를 확인하기 위한 정보를 담고 있는 어드레스 정보(382-1), 예를 들면 다수의 어드레스 사이클들(382-1), 이어서 데이터(383-1)를 포함할 수 있다. 도 3의 예시에서, 어드레스 정보(382-1)는 제 1 논리 유닛을 나타낸다. 어드레스 사이클(382-1) 동안 통신된 어드레스 정보는 어드레스 레지스터에 래치되고 열 디코드 및/또는 행 디코드에 보내질 수 있으며, 이어서 이들은 하나 이상의 메모리 셀들의 선택을 구동한다. 데이터(383-1)는 캐시 레지스터 및 데이터 레지스터를 통해 메모리에 기입되거나 이로부터 판독될 수 있다. 제어 로직은 상태 정보를 상태 레지스터에 로딩할 수 있고, I/O 제어에도 통신될 수 있다.
도 3에 도시된 종래의 방법에 따라서, 일단 데이터가 예를 들어 레지스터에 입력되었으면, 어드레스(382-1)에 포함된 위치(들)에, 예를 들면, 레지스터에서 메모리 내 위치로 데이터의 프로그래밍을 시작하라는 프로그램 명령(384-1)이 발행될 수 있다. 타이밍도(380)에는 데이터가 메모리 장치에 프로그램되는 시간(385-1)이 표시되었다. 이러한 프로그래밍 시간(385-1)은 논리 유닛에 데이터가 프로그램되고 있는 이 논리 유닛에 연관된 준비/비지 신호(R/B#)가 LOW인 동안의 시간에 연관될 수 있다. 타이밍도(380)에 도시되지 않았을지라도, 프로그래밍 동작에 이어 개선된 데이터 신뢰성을 확실히 하기 위해 하나 이상의 프로그램 검증 동작들, 판독 상태 동작들, 혹은 그외 동작들이 어어질 수 있다.
위에 기술된 바와 같이, 타이밍도(380)는 두 개의 논리 유닛들에 용장성으로 데이터를 프로그래밍하는 것에 연관된 신호들을 포함한다. 따라서, 시간(385-1) 동안 제 1 논리 유닛에 데이터가 프로그램된 후에, 제 2 직렬 데이터 입력 명령(381-2)이 발행될 수 있고, 이에 이어 제 2 논리 유닛을 나타내는 어드레스 정보(382-2), 및 데이터(383-2)의 용장성 카피가 동반된다. 데이터(383-2)에 이어 프로그래밍 시간(385-2) 동안 제 2 논리 유닛에 용장성 카피의 데이터를 프로그램하기 위해 프로그래밍 명령(384-2)이 이어질 수 있다. 타이밍도(380)에 도시된 바와 같이, 데이터를 2개의 논리 유닛들에 용장성으로 프로그래밍하기 위한 일부 종래기술의 방법들은, 2개의 데이터 입력 명령들 및 두 세트들의 어드레스 정보(2개의 논리 유닛들을 위한)를 발행하는 것과, I/O 버스에 데이터를 2회 클럭킹하는 것과, 2개의 프로그래밍 명령들을 발행하는 것과, 2개의 서로 다른 논리 유닛들에 서로 다른 시간들에서 데이터를 프로그래밍하는 것을 포함한다.
도 4는 본 발명의 하나 이상의 실시예들에 따라 메모리 장치의 동작동안에 각종 신호들의 타이밍도(480)이다. 특히, 도 4는 프로그래밍, 예를 들면, 제어 신호들(CLE, CE#, WE#, ALE, RE#, R/B#)을 공유하는 2개의 논리 유닛들에 용장성으로 데이터를 기입하기 위한 기입 동작에 연관된 신호들을 도시한 것이다. 이러한 신호들은 도 3에 관련하여 기술된 것들과 유사할 수 있다.
하나 이상의 본 발명의 실시예들에 따라, 하나 이상의 논리 유닛은 다수의 명령들 중 하나, 예를 들면, 단일 프로그래밍 명령으로 제어될 수 있다. 이에 따라, 도 4에 도시된 실시예에서, 데이터 입력 명령(481)은 I/O 버스를 통해 보내질 수 있고 이에 이어 어드레스 정보(482) 및 데이터(483)가 이어질 수 있다. 데이터(483)에 다음에 한 프로그래밍 명령(484)이 이어질 수 있는데, 이것은 프로그래밍 시간(485) 동안에 제 1 및 제 2 논리 유닛들 둘 다에 데이터(483)를 프로그램할 수 있고, 이는 프로그래밍 시간(485) 동안 LOW인 R/B#로 나타내어졌다. 데이터를 2개 이상의 논리 유닛들에 프로그램하기 위한 프로그래밍 시간(485)은 동일 데이터, 혹은 동일 량의 데이터가 프로그램되고 있다고 가정할 때, 한 논리 유닛에 데이터를 프로그램하기 위한 도 3에 도시된 프로그래밍 시간(385-1)과 실질적으로 유사하거나 동일할 수 있다.
어드레스 정보(482)는 메모리 내 위치, 예를 들면, 논리 유닛을 나타낼 수 있다. 어드레스 정보(482)와 함께 포함된 정보의 예가 도 5에 도시되었다. 어드레스 정보는 다수의 사이클들, 예를 들면, 8 비트 또는 16 비트 사이클들로 I/O 버스를 통해 어드레스 레지스터에 전송될 수 있는데, 그러나, 실시예들은 어드레스 정보(482)의 특정 유형의 또는 특정 량의 데이터 전송으로 제한되지 않는다. 어드레스 정보를 사이클하는 실시예들에 있어서, 각각의 사이클은 WE# 신호의 상승에지에 연관될 수 있다. 타이밍도(480)는 메모리 내 위치를 지적하기 위해 다수의 어드레스 사이클들이 사용될 수 있음을 예시하기 위해서, 어드레스 정보(482), 및 다른 신호들의 대응하는 부분들의 도시 중에 잘린 부분을 포함한다. 어드레스 정보(482)가 단지 한 논리 유닛에 대응할지라도, 하나 이상의 논리 유닛은 어드레스에 연관된 명령(484), 예를 들면, 단일 프로그래밍 명령에 의해 제어될 수 있다.
하나 이상의 실시예들에서, 하나 이상의 논리 유닛은 제어 회로가 어드레스(482)의 적어도 한 부분을 마스크하게 구성될 때 어드레스 정보(482)에 연관된 하나 이상의 명령들에 의해 제어될 수 있다. 하나 이상의 실시예들에서, 하나 이상의 논리 유닛은 어드레스(482)의 적어도 한 부분에 상관없이 제어될 수 있다. 어드레스의 부분은 논리 유닛을 나타내는 어드레스의 부분일 수 있다. 도 5에 관련하여 이하 기술된 바와 같이, 어드레스 정보(482)는 메모리 내 위치들을 나타내는 다수의 부분들, 예를 들면, 논리 유닛, 다이, 플레인, 블록, 페이지, 혹은 메모리의 이외 어떤 다른 부분을 포함할 수 있다. 하나 이상의 실시예들에서, 어드레스 정보(482)에 연관된 하나 이상의 명령들에 의해 제어되는 다수의 논리 유닛들은 동시에 제어될 수 있다.
하나 이상의 실시예들에서, 하나 이상의 명령들로 하나 이상의 논리 유닛을 제어하는 메모리 장치의 능력은 선택적으로 활성화될 수 있다. 동작 파라미터는, 예를 들면 장치의 초기화 동안 메모리 장치에 설정, 예를 들면, 프로그램될 수 있다. 예를 들어, "특징 설정" 명령은 메모리 장치의 내정된 파워-온 동작을 변경하기 위해 사용될 수 있다. 특징 설정 명령은 이러한 정보를 위해 유보해 둔 메모리 내 위치에 동작 파라미터를 프로그램하기 위해 사용될 수 있다. 하나 이상의 실시예들에서, 이러한 동작 파라미터들은 장치에 전원을 끌 때까지 장치에 저장될 수 있다. 동작 파라미터를 설정하는 것은 예를 들면, 타이밍도(480)로 도시된 바와 같이, 데이터를 프로그래밍하는 것과 유사할 수 있다. 즉 특징 설정 명령이 발행되고, 이어서 특정 동작 파라미터가 설정되고 있는 메모리 장치의 한 부분을 나타낼 수 있는 어드레스 정보가 이어질 수 있다. 어드레스 정보 다음엔 예를 들어 동작 파라미터를 위한 특정 설정을 나타내는 값들인 데이터가 이어질 수 있다. 이러한 정보는 I/O를 통해 클럭킹(clocked in)되고 적합한 메모리 위치에 프로그램될 수 있다. 일단 프로그램되면, 동작 파라미터는 동작 거동을 결정하기 위해 장치에 의해 읽혀질 수 있다.
실시예들은 장치 초기화 동안 동작 파라미터를 프로그래밍하는 것으로 제한되지 않으며, 이러한 동작 파라미터는 장치에서 전원을 끄지 않고 변경될 수 있는데, 예를 들면, 장치의 거동을 변경하기 위해서 다른 동작 파라미터가 프로그램될 수 있다. 예를 들어, 사용되는 공간의 임계 공간이 충족될 때까지 데이터가 용장성으로 프로그램될 수 있도록 단일 명령에 의해 제어되는 하나 이상의 논리 유닛을 메모리 장치가 조작할 수 있게 하고, 이어서 이후에 이러한 용장성 프로그래밍을 할 수 없게 하는 것이 이익이 될 수 있다. 이 특징의 이러한 사용들은 본원과 동일자에 출원된 적어도 한 공통의 발명자 Troy Manning을 포함하는 "Solid State Drive Operation" 명칭으로 본 양수인에 양도된 미국특허출원번호 12/259,363 대리인 문서번호 1002.0350001에 더 상세히 기술되어 있다. 이러한 실시예들은 동작 파라미터를 제 1 값에 설정하고 어떤 명령들에 대해 하나 이상의 논리 유닛을 조작하는 것을 포함할 수 있다. 이어서, 동작 파라미터는 제 2 값으로 설정될 수 있고 장치는 단지 한 논리 유닛만이 각각의 명령에 의해 제어되게 조작될 수 있다.
하나 이상의 실시예들에서, 하나 이상의 명령들이 하나 이상의 논리 유닛을 제어할 수 있게 특정 동작 파라미터가 설정될 때, 어떤 명령들은 단지 한 논리 유닛만을 계속하여 제어할 수도 있다. 예를 들어, 프로그래밍 명령들, 소거 명령들, 데이터 이동 명령들, 캐시 명령들, 및 다수 플레인 명령들은 하나 이상의 논리 유닛을 제어할 수 있다. 그러나, 판독 명령들, 상태 명령들, 특징 획득 명령들, 및 특징 설정 명령들은 이러한 명령들에 연관된 이들의 연관된 어드레스 정보당 단지 한 논리 유닛만을 제어할 수 있다. 이러한 실시예들은 다른 목적들 중에서도, 데이터를 하나 이상의 논리 유닛에 프로그램되게 하거나, 이로부터 이동되게 하거나, 이로부터 소거되게 하는데 유용할 수 있다. 이러한 실시예들은 데이터의 하나 이상의 카피를 감지하는 것에 연관되는 동작 오버헤드를 감소시키기 위해서 감지 동작 동안 이 데이터의 한 카피가 판독될 수 있게 하는데 유용할 수 있다.
도 5는 본 발명의 하나 이상의 실시예들에 따라 5 사이클들로 구성된 어드레스 데이터 배열을 포함하는 표(590)를 도시한 것이다. 도 5에 도시된 데이터 배열은 5개의 8-비트 부분들(예를 들면, 5개의 어드레스 사이클들로서 "제 1, 제 2,..., 제 5")로 배열된 어드레스 사이클들(예를 들면, 도 4에서 어드레스 정보(482)) 동안에 전송되는 정보를 포함한다. 도 5에 도시된 데이터 배열은 5 어드레스 사이클들을 사용하여 8-비트 버스를 통해 통신될 수 있다. 본 발명의 실시예들은 이러한 구성으로 제한되는 것은 아니며, 더 많은 혹은 더 적은 어드레스 사이클들을 포함하기 위해서 더 많은 혹은 더 적은 비트들을 포함한, 다른 워드 길이(예를 들면, 16 비트)를 갖게 배열될 수도 있다.
"CYCLE"로 표기한 행은 각각의 어드레스 사이클에 대해 8개의 I/O 비트의 각각마다 헤더들을 포함한다. "CA"라 표시한 것은 열 어드레스를 나타내고, "PA"는 플레인 어드레스를 나타내고, "BA"는 블록 어드레스를 나타낸다. 표(590)에 도시된 데이터 배열은 다수의 미사용 비트들(도 5에서 LOW 설정으로 도시된)을 포함한다. 도 5에 도시된 실시예에서, 어드레스 요소 "BA19"(591)는 다이 선택 비트일 수 있고 논리 유닛 어드레스에서 최상위 혹은 최하위 비트를 나타낼 수 있다. 실시예들은 어드레스들이 더 많은 혹은 더 적은 정보, 예를 들면 더 많은 혹은 더 적은 수의 비트들을 가질 수 있고 정보는 열들, 플레인들, 및 블록들 이외의 메모리 위치들에 대응할 수 있으므로 도 5에 도시된 예로 제한되지 않는다.
하나 이상의 실시예들에서, 다수의 논리 유닛들에 의해 공유되는 제어 입력들에 결합되는 제어 회로는 하나 이상의 명령들가 다수의 논리 유닛들 중 2개 이상을 제어하게 하나 이상의 명령들에 연관된 어드레스의 적어도 일부를 마스크하게 구성될 수 있다. 예를 들어, 2개의 논리 유닛들(제 1 논리 유닛 및 제 2 논리 유닛)은 단지 한 비트, 예를 들면 다이 선택 비트(591) 또는 논리 유닛 ID 비트만큼만 다른 어드레스들을 가질 수도 있을 것이다. 이러한 경우에, 비트(591)는 제 1 혹은 제 2 논리 유닛에 어드레스된 명령이 제 1 및 제 2 논리 유닛들 둘 다를 제어하게 마스크될 수 있다.
예를 들어, 논리 유닛 어드레스의 한 부분으로서 "0011"를 갖는 제 1 논리 유닛과 논리 유닛 어드레스의 한 부분으로서 1011"를 갖는 제 2 논리 유닛을 고찰한다. 첫번째 비트는 다수의 서로 다른 마스킹 동작들, 예를 들면, 논리적 동작들에 의해 마스크될 수도 있을 것이다. 예를 들어, 어드레스의 한 부분은 예를 들면, 비트(591)와 같이 필드 내 임의의 엔트리에 대해 첫 번째 비트가 "0"을 리턴하게 되도록 "0111"로 비트별 AND를 적용함으로써 논리적으로 연산될 수도 있을 것이다. 이 예에서, AND 동작의 결과는 제 1 논리 유닛 어드레스의 한 부분 혹은 제 2 논리 유닛 어드레스의 한 부분에 대해 "0011"이 될 것이다. 또 다른 예는 비트(591)가 "1"이 되게 "1000"로 비트별 OR 연산을 포함할 수 있다. 이러한 연산은 제 1 논리 유닛 어드레스의 한 부분 및 제 2 논리 유닛 어드레스의 한 부분 둘 다에 대해 "1011"이 되게 할 것이다. 어드레스의 마스크된 부분은 마스크된 어드레스에 의해 제어하게 될 다수의 논리 유닛들 중 적어도 하나를 적어도 부분적으로 나타낼 수 있다. 이 예에서, 첫번째 "0" 혹은 "1"이 마스크된다. 이 "0" 혹은 "1"은 적어도 부분적으로 제 1 혹은 제 2 논리 유닛을 나타낼 수 있다. 즉, 마스크될 수 있는 비트는 제 1 논리 유닛의 어드레스와 제 2 논리 유닛의 어드레스 간에 유일한 차이를 나타낼 수 있다.
제어 회로는 이러한 마스킹 동작들을 수행하기 위해 추가의 게이팅, 예를 들면, 하나 이상의 AND 게이트들, OR 게이트들, 혹은 다양한 논리적 게이트들의 조합들을 포함할 수 있다. 추가의 게이팅은 특정 구현에 따라 명령 디코더들, 어드레스 레지스터들, 명령 레지스터들, 혹은 메모리 장치 내 다른 위치들을 포함하여 제어 회로에 위치될 수 있다. 당업자가 본 개시된 바를 읽고 이해함으로써 알게 되는 바와 같이, 다른 마스킹 동작들이 가능하다. 또한, 어드레스는 2 이상의 논리 유닛들에 대응하게, 예를 들면, 이 어드레스로부터 값을 더하거나 감함으로써 수정될 수 있다. 위에 기술된 바와 같이, 이러한 마스킹 동작은 예를 들어 특정 값에 설정된 동작 파라미터에 기초하여 선택적으로 활성화될 수 있다. 하나 이상의 실시예들에서, 하나 이상의 어드레스들 중 단지 한 비트만이 마스크된다. 한 특정 논리 유닛을 나타내기 위해 얼마나 많은 비트들이 사용되는가에 관계없이, 단지 한 비트만을 마스킹하는 것은 2개의 논리 유닛들에 대해 제어를 제공할 수 있다. 2 이상의 논리 유닛들에 대해 동시적 제어가 요망되는 실시예들에 있어서, 하나 이상의 비트가 마스킹될 수 있다.
하나 이상의 실시예들에서, 다수의 논리 유닛들에 의해 공유되는 제어 입력들에 결합되는 제어 회로는 하나 이상의 명령들이 2 이상의 논리 유닛들을 제어하게 하나 이상의 명령들에 연관된 어드레스의 적어도 한 부분에 관계없이 2 이상의 논리 유닛들에 하나 이상의 명령들을 보내게 구성될 수 있다. 예를 들어, 2개의 논리 유닛들(제 1 논리 유닛 및 제 2 논리 유닛)은 단지 한 비트, 예를 들면 다이 선택 비트(591) 또는 논리 유닛 ID 비트만큼만 다른 어드레스들을 가질 수도 있을 것이다. 이러한 경우에, 제어 회로는 어드레스의 한 부분의 상태에 관계없이, 예를 들면 비트(591)가 0이든 1이든 제 1 및 제 2 논리 유닛들 둘 다에 명령에 보낼 수 있다. 즉, 제어 회로는 어드레스의 적어도 한 부분, 예를 들면, 비트(591)을 "무시"할 수 있다.
하나 이상의 실시예들에서, 하나 이상의 명령들에 의해 제어되는 다수의 논리 유닛들은 마스크되는, 예를 들면 무시되는 어드레스의 한 부분 이외에, 각 논리 유닛을 나타내는 어드레스의 나머지를 공유할 수 있다. 이에 따라, 마스크되는 어드레스의 부분 및 어드레스의 나머지는 하나 이상의 명령들에 의해 제어되는 논리 유닛들 중 하나를 나타낼 수 있다. 즉, 하나 이상의 명령들에 의해 제어되는 논리 유닛들은 각 논리 유닛에 대응하는 어드레스의 상당 부분을 공유할 수 있다. 예를 들어, 표(590)에서, 25 비트들이 사용되는데, 예를 들어, 어드레스에 대해 LOW가 아니다. 2개의 논리 유닛들이 마스킹 비트(591)에 의해 제어된다면, 2개의 논리 유닛들은 이들의 어드레스들에 포함되는 25 비트들 중에서 24개를 공유한다. 실시예들은 논리 유닛에 대응하는 어드레스의 단지 한 비트만을 마스크하는 메모리 장치 동작들로 제한되지 않는다.
도 6은 본 발명의 하나 이상의 실시예들에 따른 솔리드 스테이트 드라이브(620)의 블록도이다. 도 6의 실시예는 솔리드 스테이트 드라이브(620)의 일실시예의 성분들 및 아키텍처를 도시한 것이다. 도 6에 도시된 실시예에서, 솔리드 스테이트 드라이브(620)는 제어기(601), 인터페이스(603), 및 솔리드 스테이트 메모리 어레이들(630-1,..., 630-N)을 포함한다. 몇몇 실시예들에 있어 하우징이 포함되지 않을 수도 있을지라도, 하나 이상의 실시예들에서 솔리드 스테이트 드라이브(620)는 솔리드 스테이트 드라이브(620)를 둘러싸기 위한 하우징을 포함할 수 있다.
인터페이스(603)는 솔리드 스테이트 드라이브(620)와 계산장치와 같은 또 다른 장치 간에 정보를 통신하기 위해 사용될 수 있다. 예를 들어, 도 3에 도시된 바와 같이, 계산 장치에 데이터 저장을 위해 솔리드 스테이트 드라이브(620)가 사용될 때, 인터페이스(603)는 여러 가지 인터페이스들 중 직렬 ATA(serial advanced technology attachment, SATA)일 수 있다.
제어기(601)는 다른 동작들 중에서도, 솔리드 스테이트 메모리 어레이들(630-1,..., 630-N) 상에서 데이터를 감지, 프로그램, 및 소거하기 위해 솔리드 스테이트 메모리 어레이들(630-1,..., 630-N)과 통신할 수 있다. 제어기(601)는 하나 이상의 집적회로들 및/또는 이산 성분들일 수 있는 회로를 구비할 수 있다. 하나 이상의 실시예들에 있어서, 제어기(601) 내 회로는 다수의 메모리 어레이들에 액세스를 제어하고 및/또는 외부 호스트와 솔리드 스테이트 드라이브(620) 간에 번역층을 제공하기 위한 제어 회로를 포함할 수 있다. 이에 따라, 메모리 제어기는 적합한 시간에 적합한 I/O 연결에서 적합한 신호를 수신하기 위해 메모리 어레이의 I/O 연결(도 6에 도시되지 않음)을 선택적으로 결합할 수도 있을 것이다. 유사하게, 호스트와 솔리드 스테이트 드라이브(620) 간에 통신 프로토콜은 메모리 어레이, 예를 들면, 메모리 어레이(630-1)의 액세스를 위해 요구되는 것과는 다를 수 있다. 그러면 메모리 제어기(601)는 호스트로부터 수신된 명령 시퀀스들을 메모리 어레이에의 요망되는 액세스를 달성하는데 적합한 명령 시퀀스들로 번역할 수도 있을 것이다. 이러한 번역은 명령 시퀀스들 외에도 신호 전압 레벨들에 변경들을 포함할 수도 있다.
제어기(601)의 회로는 ASIC에 의해 수행될 수도 있는 논리 기능들과 같은 메모리 어레이, 예를 들면 어레이(630-1)의 제어에 관계되지 않은 기능을 더 포함할 수 있다. 또한, 제어기(601)의 회로는 패스워드 보호, 바이오메트릭, 등과 같은 솔리드 스테이트 드라이브(620) 감지 혹은 이에 프로그래밍 액세스를 제약하기 위한 회로를 포함할 수 있다. 제어기(601)의 회로는 솔리드 스테이트 드라이브(620)의 상태를 나타내기 위한 회로를 포함할 수 있다. 예를 들어, 제어기(601)의 회로는 파워가 솔리드 스테이트 드라이브(620)에 공급되고 있는지 그리고 솔리드 스테이트 드라이브(620)가 현재 액세스되고 있는지를 판정하고 파워가 넣어졌을 때 지속적 광과 같이 상태의 표시를 표시하고 액세스되고 있는 중엔 점멸광을 표시하는 기능을 포함할 수 있다. 제어기(601)의 회로는 솔리드 스테이트 드라이브(620) 내에 파워 요건을 조절할 수 있게 디커플링 커패시터들과 같은 수동 장치들을 더 포함할 수도 있다.
본 발명의 실시예들 다수의 솔리드 스테이트 메모리 어레이들(630-1,..., 630-N)을 포함할 수 있다. 솔리드 스테이트 메모리 어레이들(630-1,..., 630-N)은 다양한 유형들의 휘발성 및/또는 비휘발성 메모리 어레이들(예를 들면, 그 중에서도 플래시 또는 DRAM 어레이들)일 수 있다. 메모리 어레이들(630-1,..., 630-N)은 다수의 개별적 혹은 적층된 다이들과 같이 논리 유닛들로 그룹화될 수 있는 다수의 메모리 셀들 을 포함할 수 있다.
하나 이상의 실시예들에서, 솔리드 스테이트 드라이브는 메모리 어레이들(630-1,..., 630-N)의 마모율을 제어하기 위해 마모 평준화를 구현할 수 있다. 당업자가 알게 되는 바와 같이, 다수의 프로그램 및/또는 소거 사이클들 후에 솔리드 스테이트 메모리 어레이가 고장날 수도 있기 때문에 마모 평준화는 솔리드 스테이트 메모리 어레이의 수명을 증가시킬 수 있다.
여러 실시예들에서, 마모 평준화는 블록을 다시 사용하기 위해 이동되는 유효 블록들의 량을 최소화하기 위해 동적 마모 평준화(dynamic wear leveling)를 포함할 수 있다. 동적 마모 평준화는 다수의 무효한 페이지들을 가진 블록들(즉, 다른 페이지에 재기입된 및/또는 무효한 페이지들 상에 더 이상 필요하지 않은 데이터를 가진 페이지들)이 블록을 소거함으로써 다시 사용되는 가비지 컬렉션(garbage collection)이라고 하는 기술을 포함할 수 있다. 정적 마모 평준화는 블록의 수명을 연장시키기 위해 많은 소거 회수들을 갖는 블록들에 정적 데이터를 기입하는 것을 포함한다.
일부 실시예들에서, 다수의 블록들은 메모리 어레이에 데이터를 기입하는 것에 연관된 기입증폭량을 감소시키기 위해 예비 블록들로서 지정될 수 있다. 예비 블록은 데이터가 기입될 수 없는 블록으로서 지정될 수 있는 메모리 어레이 내 블록일 수 있다. 기입증폭은 데이터를 솔리드 스테이트 메모리 어레이들에 기입할 때 일어나는 프로세스이다. 데이터를 메모리 어레이에 무작위로 기입할 때, 메모리 어레이는 어레이 내 자유 공간을 검사한다. 메모리 어레이 내 자유 공간은 프로그램되지 않은 개개의 셀들, 페이지들, 및/또는 다수 블록들의 메모리 셀들일 수 있다. 데이터를 기입할 충분한 자유공간이 있다면, 데이터는 메모리 어레이 내 자유공간에 기입된다. 한 위치에 충분한 자유공간이 없다면, 메모리 어레이 내 데이터는 메모리 어레이 내 이미 있는 데이터를 새로운 위치에 소거, 이동, 및 재기입하여 메모리 어레이 내 기입할 새로운 데이터를 위한 자유공간을 남겨둠으로써 배열된다. 메모리 어레이 내 이전 데이터의 재배열은, 새로운 데이터를 기입하기 위해 해야 하는 메모리 어레이들을 기입하는 량이 메모리 어레이 내 자유공간의 량 및 메모리 어레이에 기입할 새로운 데이터의 크기에 기초하여 증폭되기 때문에 기입증폭이라고 한다. 기입증폭은 자유공간으로서 지정되는(즉, 정적 데이터가 기입되지 않을) 메모리 어레이 상에 공간의 량을 증가시킴으로써 감소될 수 있고, 이에 따라 데이터가 덜 재배열되어야 할 것이기 때문에 기입되어야 하는 데이터량이 덜 증폭되게 한다.
여러 실시예들에서, 솔리드 스테이트 드라이브의 성능을 개선하기 위해서 솔리드 스테이트 드라이브에 마모 평준화 외에도, 호스트 및/또는 사용자 트래픽 및/또는 솔리드 스테이트 드라이브에 의해 수행되는 프로그램/소거 사이클들이 감시될 수 있다. 호스트 및/또는 사용자 트래픽 요청들은 솔리드 스테이트 드라이브 상에서 데이터 판독 및/또는 데이터 소거/기입을 위해 제어기를 통해 프로세서에 의해 행해질 수 있다. 솔리드 스테이트 메모리 어레이들은 유한 회수로 소거되고 기입될 수 있을 뿐이기 때문에, 프로그램 및/또는 소거 사이클들은 솔리드 스테이트 메모리 어레이들에서 블록들 및/또는 페이지들의 마모율 및 수명 기대를 판정하기 위해 감시될 수 있다. 호스트 및/또는 사용자 트래픽 경향들이 감시되고 드라이브가 요망되는 동작 수명(예를 들면, 시간, 날, 주, 년, 등과 같은 기간) 동안 수행할 수 있게 변경될 수 있다. 솔리드 스테이트 드라이브는 이를테면 드라이브의 요망되는 동작 수명을 보증하기 위해서, 솔리드 스테이트 드라이브에 의해 수행되는 프로그램 및/또는 소거 사이클들의 수를 감시하고 제한시킬 수 있다. 또한, 솔리드 스테이트 드라이브는 드라이브의 다수의 공간 블록들 및 요망되는 동작 수명이 주어졌을 때 드라이브에 대한 허용가능한 프로그램 및/또는 소거 사이클율을 계산하는 방법을 결정하기 위해 특정 기간에 걸쳐 수행되는 프로그램 및/또는 소거 사이클들의 수를 감시할 수 있다.
또한, 일부 실시예들에서, 솔리드 스테이트 드라이브의 솔리드 스테이트 메모리 어레이들 내 예비 블록들의 수는 단위시간당 요망되는 기입 IOP들의 수에 대해 요망되는 동작 수명동안 동작가능성을 보증하기 위해 제어될 수 있다. 예비 블록들의 퍼센티지는 솔리드 스테이트 드라이브에 수행되고 있는 데이터의 유형에 대해 최적화될 수 있다. 정적 데이터(소거 및/또는 재기입됨이 없이 장기간동안 드라이브 상에 저장된 데이터)를 갖는 솔리드 스테이트 드라이브는, 몇개 프로그램 및/또는 소거 사이클들을 갖는 데이터의 정적 특성에 기인하여 드라이브 내 블록들을 재사용할 필요성이 덜 하기 때문에 예비 블록들의 퍼센티지는 낮을 수 있다. 동적 데이터(즉, 더 빈번하게 프로그램 및/또는 소거되는 데이터)를 갖는 솔리드 스테이트 드라이브에서는 메모리 어레이에서 프로그램 및/또는 소거 사이클을 수행하기 위해 블록들을 재사용해야 하는 것에 연관된 기입증폭을 감소시키기 위해 더 큰 퍼센티지의 예비 블록들이 사용될 수 있다.
도 7은 본 발명의 하나 이상의 실시예들에 따라 동작되는 적어도 한 메모리 장치를 구비한 메모리 모듈(793)의 기능 블록도이다. 메모리 모듈(793)에 관련하여 논의된 개념들이 다른 유형들의 착탈가능한 혹은 휴대 메모리(예를 들면, USB 플래시 드라이브들 및/또는 솔리드 스테이트 드라이브들)에 적용될 수 있고 여기에서 사용되는 바와 같이 "메모리 모듈"의 범위 내에 있게 한 것일지라도, 메모리 모듈(793)은 메모리 카드로서 예시되었다. 또한, 일예의 폼 팩터가 도 7에 도시되었을지라도, 이들 개념들은 다른 폼 팩터들에도 적용될 수 있다.
하나 이상의 실시예들에서, 메모리 모듈(793)은 하우징이 모든 장치들 또는 장치 응용들에 필수는 아닐지라도, 하나 이상의 메모리 장치들(720)을 둘러싸기 위한 하우징(794)(도시된 바와 같은)을 포함할 것이다. 적어도 한 메모리 장치(720)는 비휘발성 다중레벨 메모리 셀들의 어레이를 포함한다. 존재하는 경우, 하우징(794)은 호스트 장치와의 통신을 위해 하나 이상의 콘택들(796)을 포함한다. 호스트 장치들의 예들은 디지털 카메라들, 디지털 기록 및 재생장치들, PDA들, 개인용 컴퓨터들, 메모리 카드 판독기들, 인터페이스 허브들 등을 포함한다. 하나 이상의 실시예들에 있어서, 콘택들(796)은 표준화된 인터페이스 형태이다. 예를 들어, USB 플래시 드라이브에 있어서 콘택들(796)은 USB-A형 메일 컨텍터 형태일 수도 있을 것이다. 하나 이상의 실시예들에 있어서, 콘택들(796)은 이를테면 SanDisk사 소유의 CompactFlash(등록상표) 메모리 카드들, Sony사 소유의 Memory Stick(등록상표) 메모리 카드들, Toshiba사 소유의 SD Secure Digital(등록상표) 메모리 카드들, 등에서 볼 수 있는 바와 같은 반독점 인터페이스 형태이다. 그러나, 일반적으로 콘택들(796)은 콘택들(796)을 위한 호환 리셉터들을 갖는 호스트와 메모리 모듈(793) 간에 제어, 어드레스 및/또는 데이터 신호들을 전달하기 위한 인터페이스를 제공한다.
메모리 모듈(793)은 선택적으로 하나 이상의 집적회로들 및/또는 이산 성분들일 수 있는 추가의 회로(797)를 포함할 수 있다. 하나 이상의 실시예들에 있어서, 추가의 회로(797)는 복수의 메모리 장치들(720)에 걸친 액세스를 제어하고 및/또는 외부 호스트와 메모리 장치(720) 간에 번역층을 제공하기 위해 메모리 제어기와 같은 제어 회로를 포함할 수 있다. 예를 들어, 다수의 콘택들(796)과 하나 이상의 메모리 장치들(720)에의 다수의 연결들 간에 1 대 1 대응이 없을 수 있다. 이에 따라, 메모리 제어기는 선택적으로 적합한 시간에 적합한 I/O 연결에서 적합한 신호를 수신하기 위해서 혹은 적합한 시간에 적합한 콘택(796)에서 적합한 신호를 제공하기 위해서 메모리 장치(720)의 I/O 연결(도 7에 도시되지 않음)을 결합할 수도 있을 것이다. 유사하게, 호스트와 메모리 모듈(793) 간에 통신 프로토콜은 메모리 장치(720)의 액세스를 위해 사용되는 것과는 다를 수 있다. 메모리 제어기는 메모리 장치(720)에의 요망되는 액세스를 달성하기 위해서 호스트로부터 수신된 명령 시퀀스들을 적합한 명령 시퀀스들로 번역할 수도 있을 것이다. 이러한 번역은 명령 시퀀스들 외에도 신호 전압 레벨들에서 변화들을 더 포함할 수 있다.
추가의 회로(797)는 ASIC에 의해 수행될 수도 있는 논리 기능들과 같은 메모리 장치(720)의 제어에 관계되지 않은 기능을 더 포함할 수 있다. 또한, 추가의 회로(797)는 패스워드 보호, 바이오메트릭, 등과 같은 메모리 모듈(793)의 판독 또는 기입 액세스를 제약하기 위한 회로를 포함할 수 있다. 추가의 회로(797)는 메모리 모듈(793)의 상태를 나타내기 위한 회로를 포함할 수 있다. 예를 들어, 추가의 회로(797)는 파워가 메모리 모듈(793)에 공급되고 있는지 그리고 메모리 모듈(793)가 현재 액세스되고 있는지를 판정하고 파워가 넣어졌을 때 지속적 광과 같이 상태의 표시를 표시하고 액세스되고 있는 중엔 점멸광을 표시하는 기능을 포함할 수 있다. 추가의 회로(797)는 메모리 모듈(793) 내에 파워 요건을 조절할 수 있게 디커플링 커패시터들과 같은 수동 장치들을 더 포함할 수도 있다.
결론
본 발명은 논리 유닛 동작을 위한 방법들 및 장치들을 포함한다. 장치의 일실시예는 다수의 논리 유닛들을 포함하며, 다수의 논리 유닛들 각각은 고유 어드레스를 갖는다. 장치는 다수의 논리 유닛들에 결합되고 다수의 명령들 중 하나와 한 어드레스로 다수의 논리 유닛들 하나 이상을 선택적으로 제어하게 구성된 제어 회로를 포함한다.
특정 실시예들이 여기에 예시되고 기술되었을지라도, 동일 결과들을 달성하기 위해 계산되는 배열은 도시된 특정 실시예들을 대신할 수 있음을 당업자들은 알 것이다. 이 발명은 하나 이상의 본 발명의 실시예들의 적응들 또는 변형들을 포함한다. 위에 기술된 바는 제약적 형태가 아니라 예시적 형태로 행해진 것을 알아야 한다. 위에 실시예들의 조합, 및 특정하게 여기에 기술되지 않은 다른 실시예들은 위에 기술된 바를 검토하였을 때 당업자들에게 명백해질 것이다. 하나 이상의 본 발명의 실시예들의 범위는 전술한 구조들 및 방법들이 사용되는 다른 응용들을 포함한다. 그러므로, 하나 이상의 본 발명의 실시예들의 범위는 당해 청구항들에 상당하는 모든 범위의 귀속 사항들과 더불어, 첨부된 청구항들을 관련하여 결정되어야 한다.
전술한 상세한 설명에서, 일부 특징들은 본 개시를 간소화할 목적으로 단일 실시예로 함께 그룹화하였다. 본 개시의 방법은 본 개시의 개시된 실시예들이 각 청구항에 명확히 인용된 많은 특징들을 사용해야 하는 의도를 반영하는 것으로서 해석되지 않아야 한다. 그보다는, 다음 청구항들이 반영하는 바와 같이, 본 발명의 요지는 단일 개시된 실시예의 모든 특징들 미만 내에 놓여 있다. 이에 따라, 다음 청구항들은 상세한 설명내 포함되며, 각 청구항은 개별적 실시예로서 독자적으로 유효하다.

Claims (36)

  1. 메모리 장치에 있어서,
    다수의 논리 유닛들로서, 상기 다수의 논리 유닛들 각각이 고유 어드레스를 갖는 다수의 논리 유닛들; 및
    상기 다수의 논리 유닛들에 결합되고, 다수의 명령들 중 하나와 하나의 어드레스로 상기 다수의 논리 유닛들 중 둘 이상을 선택적으로 제어하게 구성된 제어 회로를 포함하는, 메모리 장치.
  2. 청구항 1에 있어서,
    상기 다수의 명령들은 프로그래밍 명령들 및 소거 명령들을 포함하는, 메모리 장치.
  3. 청구항 2에 있어서,
    상기 다수의 명령들은 이동 명령들, 캐시 명령들, 및 복수의 플레인 명령들을 포함하는, 메모리 장치.
  4. 청구항 1에 있어서,
    상기 다수의 명령들은 판독 명령들을 포함하지 않는, 메모리 장치.
  5. 청구항 4에 있어서,
    상기 다수의 명령들은 상태 명령들, 특징 획득 명령들, 또는 특징 설정 명령들을 포함하지 않는, 메모리 장치.
  6. 청구항 1에 있어서,
    상기 2 이상의 상기 다수의 논리 유닛들 각각은,
    메모리 셀들의 하나 이상의 다이들; 및
    메모리 셀들의 하나 이상의 적층된 다이들을 포함하는 일군의 논리 유닛들로부터 선택되는, 메모리 장치.
  7. 청구항 1 내지 6 중 한 항에 있어서,
    상기 메모리 장치는 상기 다수의 논리 유닛들 및 상기 제어 회로에 결합된 입력/출력(I/O) 회로를 포함하며,
    상기 제어 회로는 상기 2 이상의 상기 다수의 논리 유닛들에 1회만 상기 I/O 회로를 통해 상기 다수의 명령들 중 하나에 연관된 데이터를 전송하게 구성된, 메모리 장치.
  8. 메모리 장치에 있어서,
    다수의 논리 유닛들로서, 상기 다수의 논리 유닛들 중 적어도 2개는 하나 이상의 제어 입력들을 공유하는 다수의 논리 유닛들;
    상기 하나 이상의 제어 입력들에 결합되고, 하나 이상의 명령들이 2 이상의 상기 다수의 논리 유닛들을 제어할 수 있도록 상기 하나 이상의 명령들에 연관된 어드레스의 적어도 한 부분을 선택적으로 마스크하게 구성된, 제어 회로를 포함하는, 메모리 장치.
  9. 청구항 8에 있어서,
    상기 어드레스의 상기 부분은 하나 이상의 다이 선택 비트들을 포함하는, 메모리 장치.
  10. 청구항 8에 있어서,
    상기 어드레스의 상기 부분은 단지 한 비트만을 포함하는, 메모리 장치.
  11. 청구항 8에 있어서,
    상기 어드레스의 상기 부분은 상기 2 이상의 상기 다수의 논리 유닛들을 중 적어도 하나를 최소한 부분적으로 식별하는, 메모리 장치.
  12. 청구항 8에 있어서,
    상기 제어 회로는 상기 어드레스의 상기 부분을 마스크하게 구성된 하나 이상의 논리 게이트들을 포함하는, 메모리 장치.
  13. 청구항 8에 있어서,
    상기 제어 회로는 입력/출력(I/O) 회로를 통해 상기 하나 이상의 명령들을 전송하고 이어서 상기 I/O 회로를 통해 상기 마스크된 어드레스를 전송하게 구성된, 메모리 장치.
  14. 청구항 8 내지 13 중 한 항에 있어서,
    상기 제어 회로는 상기 메모리 장치에 프로그램된 동작 파라미터에 기초하여 상기 어드레스의 적어도 한 부분을 선택적으로 마스크하게 구성된, 메모리 장치.
  15. 메모리 장치에 있어서,
    다수의 논리 유닛들로서, 상기 다수의 논리 유닛들 중 적어도 2개는 하나 이상의 제어 입력들을 공유하는 다수의 논리 유닛들;
    상기 하나 이상의 제어 입력들에 결합되고, 하나 이상의 명령들에 연관된 어드레스의 적어도 한 부분에 상관없이 2 이상의 상기 다수의 논리 유닛들에 상기 하나 이상의 명령들을 선택적으로 보내게 구성된, 제어 회로를 포함하는, 메모리 장치.
  16. 청구항 15에 있어서,
    상기 2 이상의 상기 다수의 논리 유닛들은 상기 어드레스의 나머지를 공유하는, 메모리 장치.
  17. 청구항 16에 있어서,
    상기 부분 및 나머지 부분은 함께, 상기 2 이상의 상기 다수의 논리 유닛들 중 하나를 식별하는, 메모리 장치.
  18. 청구항 15에 있어서,
    상기 어드레스는 상기 2 이상의 상기 다수의 논리 유닛들 중 하나를 식별하고;
    상기 제어 회로는 상기 하나 이상의 명령들을 상기 2 이상의 상기 논리 유닛들에 보내게 구성된, 메모리 장치.
  19. 청구항 15에 있어서,
    각각의 논리 유닛은 하나 이상의 반도체 다이들을 포함하며, 각각의 반도체 다이는 비휘발성 메모리 셀들의 하나 이상의 어레이들을 포함하는, 메모리 장치.
  20. 청구항 15에 있어서,
    상기 하나 이상의 제어 입력들은 어드레스 래치 인에이블(ALE), 칩 인에이블(CE), 판독 인에이블(RE), 준비/비지(R/B), 기입 보호(WP), 및 입력/출력(IO) 연결들을 포함하는, 메모리 장치.
  21. 청구항 15 내지 20 중 한 항에 있어서,
    상기 하나 이상의 명령들은 동시에 2 이상의 상기 다수의 논리 유닛들을 제어하는, 메모리 장치.
  22. 메모리 장치를 동작시키는 방법에 있어서,
    하나의 논리 유닛에 대응하는 어드레스와 명령을 수신하는 단계; 및
    동작 파라미터가 특정 값으로 설정되는 경우 상기 명령에 따라 상기 하나의 논리 유닛 이상의 논리 유닛을 제어하는 단계를 포함하는, 방법.
  23. 청구항 22에 있어서,
    상기 메모리 장치의 초기화 동안 상기 동작 파라미터를 상기 특정 값으로 설정하는 단계를 포함하는, 방법.
  24. 청구항 22 또는 23에 있어서,
    상기 명령을 수신하는 단계는 프로그래밍 명령을 수신하는 단계를 포함하며; 및
    상기 방법은 상기 하나 이상의 논리 유닛들에 프로그래밍하기 위해 단지 1회만 입력/출력 회로를 통해 상기 프로그래밍 명령에 연관된 데이터를 전송하는 단계를 포함하는, 방법.
  25. 청구항 22 또는 23에 있어서,
    상기 명령을 수신하는 단계는,
    프로그래밍 명령; 및
    소거 명령을 포함하는 일군의 명령들로부터 선택된 적어도 하나의 명령을 수신하는 단계를 포함하는, 방법.
  26. 청구항 25에 있어서,
    상기 명령을 수신하는 단계는 판독 명령을 수신하는 단계를 포함하지 않는, 방법.
  27. 청구항 22에 있어서,
    하나 이상의 논리 유닛을 제어하는 단계는, 하나 이상의 논리 유닛 각각이 상기 하나의 논리 유닛에 대응하는 상기 어드레스의 상당 부분을 공유하는 어드레스를 갖는, 하나 이상의 논리 유닛을 제어하는 단계를 포함하는, 방법.
  28. 청구항 22 또는 23에 있어서,
    상기 명령 및 상기 어드레스를 수신하는 단계는 호스트로부터 상기 메모리 장치의 제어 회로에 의해 상기 명령 및 상기 어드레스를 수신하는 단계를 포함하는, 방법.
  29. 메모리 장치를 동작시키는 방법에 있어서,
    동작 파라미터가 특정 값으로 설정된 경우 어드레스의 적어도 한 부분을 마스킹하는 단계로서, 상기 어드레스는 명령에 연관되고 하나의 논리 유닛에 대응하는 것인, 단계; 및
    상기 마스크된 어드레스에 대응하는 상기 2 이상의 논리 유닛들을 상기 명령에 따라 제어하는 단계를 포함하는, 방법.
  30. 청구항 29에 있어서,
    상기 어드레스의 적어도 상기 부분을 마스킹하는 단계는 상기 어드레스에 대하여 논리 연산을 수행하는 단계를 포함하는, 방법.
  31. 청구항 30에 있어서,
    상기 논리 연산을 수행하는 단계는,
    비트별 AND 연산; 및
    비트별 OR 연산을 포함하는 일군의 논리 연산들로부터 선택된 적어도 하나를 수행하는 단계를 포함하는, 방법.
  32. 청구항 29에 있어서,
    상기 어드레스의 적어도 한 부분을 마스킹하는 단계는 상기 2 이상의 논리 유닛들에 대응하게 상기 어드레스의 적어도 한 부분을 수정하는 단계를 포함하는, 방법.
  33. 청구항 29 내지 32 중 한 항에 있어서,
    상기 2 이상의 논리 유닛들를 제어하는 단계는 상기 하나의 논리 유닛 및 적어도 하나의 다른 논리 유닛을 동시에 제어하는 단계를 포함하는, 방법.
  34. 메모리 장치를 동작시키는 방법에 있어서,
    동작 파라미터를 제 1 값으로 설정하는 단계;
    제 1 논리 유닛에 대응하는 제 1 어드레스 및 제 1 명령을 수신하는 단계;
    상기 제 1 명령에 따라 상기 제 1 논리 유닛 및 적어도 하나의 다른 논리 유닛을 제어하는 단계;
    상기 동작 파라미터를 상기 제 1 값으로 설정하는 것에 이어 상기 동작 파라미터를 제 2 값으로 설정하는 단계;
    상기 제 1 논리 유닛에 대응하는 상기 제 1 어드레스 및 제 2 명령을 수신하는 단계; 및
    상기 제 2 명령에 따라 상기 제 1 논리 유닛만을 제어하는 단계를 포함하는, 방법.
  35. 청구항 34에 있어서,
    상기 동작 파라미터를 설정하는 단계는 하나 이상의 동작 파라미터들를 저장하기 위해 유보해 둔 상기 메모리 장치의 한 부분에 데이터를 프로그래밍하는 단계를 포함하는, 방법.
  36. 청구항 34에 있어서,
    상기 동작 파라미터를 설정하는 단계는 상기 메모리 장치의 초기화 동안 상기 메모리 장치의 입력/출력 회로를 통해 명령, 어드레스 사이클, 및 다수의 데이터 사이클들을 전송하는 단계를 포함하는, 방법.
KR1020117012148A 2008-10-28 2009-10-14 논리 유닛 동작 KR101363766B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/259,380 2008-10-28
US12/259,380 US8762621B2 (en) 2008-10-28 2008-10-28 Logical unit operation
PCT/US2009/005600 WO2010062302A1 (en) 2008-10-28 2009-10-14 Logical unit operation

Publications (2)

Publication Number Publication Date
KR20110081878A true KR20110081878A (ko) 2011-07-14
KR101363766B1 KR101363766B1 (ko) 2014-02-14

Family

ID=42118608

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117012148A KR101363766B1 (ko) 2008-10-28 2009-10-14 논리 유닛 동작

Country Status (7)

Country Link
US (2) US8762621B2 (ko)
EP (1) EP2347418B1 (ko)
JP (1) JP5495074B2 (ko)
KR (1) KR101363766B1 (ko)
CN (1) CN102239524B (ko)
TW (1) TWI443671B (ko)
WO (1) WO2010062302A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170036774A (ko) * 2014-09-26 2017-04-03 인텔 코포레이션 Nand 메모리 주소 지정

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8300825B2 (en) * 2008-06-30 2012-10-30 Intel Corporation Data encryption and/or decryption by integrated circuit
US20110047322A1 (en) * 2009-08-19 2011-02-24 Ocz Technology Group, Inc. Methods, systems and devices for increasing data retention on solid-state mass storage devices
JP5559507B2 (ja) 2009-10-09 2014-07-23 ピーエスフォー ルクスコ エスエイアールエル 半導体装置及びこれを備える情報処理システム
US8860117B2 (en) 2011-04-28 2014-10-14 Micron Technology, Inc. Semiconductor apparatus with multiple tiers of memory cells with peripheral transistors, and methods
US9390049B2 (en) * 2011-06-03 2016-07-12 Micron Technology, Inc. Logical unit address assignment
US8964474B2 (en) 2012-06-15 2015-02-24 Micron Technology, Inc. Architecture for 3-D NAND memory
KR20140082173A (ko) * 2012-12-24 2014-07-02 에스케이하이닉스 주식회사 어드레스 카운팅 회로 및 이를 이용한 반도체 장치
US9361040B1 (en) * 2013-02-27 2016-06-07 Marvell International Ltd. Systems and methods for data storage management
US9070426B2 (en) 2013-09-09 2015-06-30 Kabushiki Kaisha Toshiba Semiconductor memory device capable of setting an internal state of a NAND flash memory in response to a set feature command
CN103577336B (zh) * 2013-10-23 2017-03-08 华为技术有限公司 一种存储数据处理方法及装置
US9779019B2 (en) * 2014-06-05 2017-10-03 Micron Technology, Inc. Data storage layout
US9767045B2 (en) * 2014-08-29 2017-09-19 Memory Technologies Llc Control for authenticated accesses to a memory device
US10338817B2 (en) * 2014-12-30 2019-07-02 Sandisk Technologies Llc Systems and methods for storage recovery
US10712385B2 (en) 2015-12-02 2020-07-14 Cryptography Research Inc. Freeze logic
US9679650B1 (en) 2016-05-06 2017-06-13 Micron Technology, Inc. 3D NAND memory Z-decoder
KR20180059208A (ko) * 2016-11-25 2018-06-04 삼성전자주식회사 리클레임 제어부를 갖는 메모리 콘트롤러 및 그에 따른 동작 제어 방법
CN106528000B (zh) * 2016-12-02 2019-12-31 苏州浪潮智能科技有限公司 一种数据存储装置及其读写性能优化方法、系统
US11450381B2 (en) 2019-08-21 2022-09-20 Micron Technology, Inc. Multi-deck memory device including buffer circuitry under array
US11164613B2 (en) * 2019-12-02 2021-11-02 Micron Technology, Inc. Processing multi-cycle commands in memory devices, and related methods, devices, and systems
US11321000B2 (en) * 2020-04-13 2022-05-03 Dell Products, L.P. System and method for variable sparing in RAID groups based on drive failure probability
US11495309B2 (en) * 2020-12-16 2022-11-08 Micron Technology, Inc. Initiating media management operation using voltage distribution metrics in memory system
US11972146B2 (en) 2022-02-24 2024-04-30 Silicon Motion, Inc. Flash memory controller and method capable of sending read command or data toggle command to ask for flash memory device return more plane data of different planes
US11861212B2 (en) 2022-02-24 2024-01-02 Silicon Motion, Inc. Flash memory device, controller, and method capable of performing access operation upon data unit(s) of multiple planes of flash memory device in response one simplified command sequence
US11977752B2 (en) 2022-02-24 2024-05-07 Silicon Motion, Inc. Flash memory controller and method capable of sending data toggle set-feature signal to enable, disable, or configure data toggle operation of flash memory device
US11935595B2 (en) 2022-02-24 2024-03-19 Silicon Motion, Inc. Flash memory device, controller, and method capable of performing access operation upon data unit(s) of multiple planes of flash memory device in response one simplified command sequence

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1102007A (en) 1979-05-15 1981-05-26 Prem L. Sood Duplicated memory system having status indication
JPS57152600A (en) 1981-03-18 1982-09-20 Nec Corp Duplicating system of memory device
US5134584A (en) 1988-07-22 1992-07-28 Vtc Incorporated Reconfigurable memory
US4965717A (en) 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
JPH06175929A (ja) 1992-12-02 1994-06-24 Oki Electric Ind Co Ltd 二重化主記憶装置
US5586300A (en) * 1994-07-20 1996-12-17 Emc Corporation Flexible addressing memory controller wherein multiple memory modules may be accessed according to comparison of configuration addresses
US5867642A (en) * 1995-08-10 1999-02-02 Dell Usa, L.P. System and method to coherently and dynamically remap an at-risk memory area by simultaneously writing two memory areas
US5708771A (en) 1995-11-21 1998-01-13 Emc Corporation Fault tolerant controller system and method
JPH09305494A (ja) * 1996-05-13 1997-11-28 Nec Corp 拡張記憶装置のデータ転送制御回路
TW397982B (en) 1997-09-18 2000-07-11 Sanyo Electric Co Nonvolatile semiconductor memory device
US6377502B1 (en) 1999-05-10 2002-04-23 Kabushiki Kaisha Toshiba Semiconductor device that enables simultaneous read and write/erase operation
US8341332B2 (en) * 2003-12-02 2012-12-25 Super Talent Electronics, Inc. Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices
US8037234B2 (en) * 2003-12-02 2011-10-11 Super Talent Electronics, Inc. Command queuing smart storage transfer manager for striping data to raw-NAND flash modules
US6728798B1 (en) * 2000-07-28 2004-04-27 Micron Technology, Inc. Synchronous flash memory with status burst output
US6266273B1 (en) 2000-08-21 2001-07-24 Sandisk Corporation Method and structure for reliable data copy operation for non-volatile memories
US6625685B1 (en) * 2000-09-20 2003-09-23 Broadcom Corporation Memory controller with programmable configuration
US6748482B1 (en) * 2000-09-27 2004-06-08 Intel Corporation Multiple non-contiguous block erase in flash memory
JP4749538B2 (ja) 2000-12-11 2011-08-17 ルネサスエレクトロニクス株式会社 半導体記憶装置
JP4818812B2 (ja) * 2006-05-31 2011-11-16 株式会社日立製作所 フラッシュメモリストレージシステム
JP2003140963A (ja) 2001-11-07 2003-05-16 Mitsubishi Electric Corp 半導体記憶システム
JP2003337790A (ja) * 2002-05-21 2003-11-28 Mitsubishi Electric Corp バス制御回路およびプロセッサ
US6850458B2 (en) 2002-11-14 2005-02-01 Wen Li Controlling data strobe output
US7111149B2 (en) 2003-07-07 2006-09-19 Intel Corporation Method and apparatus for generating a device ID for stacked devices
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US7596657B2 (en) 2006-01-13 2009-09-29 Paul Kaler Increased storage capacity for solid state disks using data compression
US7701764B2 (en) 2006-05-17 2010-04-20 Micron Technology, Inc. Apparatus and method for reduced peak power consumption during common operation of multi-NAND flash memory devices
US7809885B2 (en) 2006-09-29 2010-10-05 Voom Technologies, Inc. Scalable hard-drive replicator
US20080113525A1 (en) 2006-11-15 2008-05-15 Sandisk Il Ltd. Compact solid state drive and processor assembly
KR100819102B1 (ko) * 2007-02-06 2008-04-03 삼성전자주식회사 개선된 멀티 페이지 프로그램 동작을 갖는 불휘발성 반도체메모리 장치
US8438356B2 (en) * 2007-10-01 2013-05-07 Marvell World Trade Ltd. Flash memory controller
US20090307389A1 (en) * 2008-06-10 2009-12-10 Sandisk Corporation Switchable access states for non-volatile storage devices
JP5216463B2 (ja) * 2008-07-30 2013-06-19 株式会社日立製作所 ストレージ装置、その記憶領域管理方法及びフラッシュメモリパッケージ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170036774A (ko) * 2014-09-26 2017-04-03 인텔 코포레이션 Nand 메모리 주소 지정

Also Published As

Publication number Publication date
CN102239524B (zh) 2014-10-01
US8762621B2 (en) 2014-06-24
JP2012507100A (ja) 2012-03-22
TWI443671B (zh) 2014-07-01
US20100106919A1 (en) 2010-04-29
US9128637B2 (en) 2015-09-08
JP5495074B2 (ja) 2014-05-21
EP2347418A4 (en) 2012-10-31
TW201023203A (en) 2010-06-16
WO2010062302A1 (en) 2010-06-03
US20140250261A1 (en) 2014-09-04
EP2347418A1 (en) 2011-07-27
EP2347418B1 (en) 2018-11-21
KR101363766B1 (ko) 2014-02-14
CN102239524A (zh) 2011-11-09

Similar Documents

Publication Publication Date Title
KR101363766B1 (ko) 논리 유닛 동작
US9405676B2 (en) Devices and methods for operating a solid state drive
US8392687B2 (en) Solid state memory formatting
CN110874188B (zh) 数据存储装置、其操作方法以及具有其的存储系统
US9423960B2 (en) Methods of operating memory devices within a communication protocol standard timeout requirement
US8578115B2 (en) Temporary mirroring, logical segregation, and redundant programming or addressing for solid state drive operation
KR101421366B1 (ko) 메모리 디바이스들 및 시스템들에서의 부트 파티션들
US9123443B2 (en) Memory device, memory management device, and memory management method
US10713157B2 (en) Storage system and method for improving read performance using multiple copies of a logical-to-physical address table
KR20190019721A (ko) 데이터 저장 장치 및 그것의 동작 방법
JP7023103B2 (ja) メモリシステム及び制御方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180202

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190130

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 7