KR101564524B1 - 동적/정적 랜덤 액세스 메모리(d/sram) - Google Patents

동적/정적 랜덤 액세스 메모리(d/sram) Download PDF

Info

Publication number
KR101564524B1
KR101564524B1 KR1020147021344A KR20147021344A KR101564524B1 KR 101564524 B1 KR101564524 B1 KR 101564524B1 KR 1020147021344 A KR1020147021344 A KR 1020147021344A KR 20147021344 A KR20147021344 A KR 20147021344A KR 101564524 B1 KR101564524 B1 KR 101564524B1
Authority
KR
South Korea
Prior art keywords
sram
row
data
cell
sram cell
Prior art date
Application number
KR1020147021344A
Other languages
English (en)
Other versions
KR20140116177A (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 KR20140116177A publication Critical patent/KR20140116177A/ko
Application granted granted Critical
Publication of KR101564524B1 publication Critical patent/KR101564524B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/412Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger using field-effect transistors only
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/28Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Static Random-Access Memory (AREA)

Abstract

동적/정적 랜덤 액세스 메모리(dynamic/static random access memory(D/SRAM)) 셀, 블록 시프트 정적 랜덤 액세스 메모리(block shift static random access memory(BS-SRAM)) 및 이를 사용한 방법은 데이터를 시프트하기 위해 동적 저장 모드 및 동적 저장 모드 스위칭을 이용한다. D/SRAM 셀은 데이터를 저장하기 위해 한 쌍의 교차 결합 요소를 갖는 SRAM(static random access memory) 셀과, 동적 저장 모드와 정적 저장 모드 사이에서 D/SRAM 셀을 선택 가능하게 스위칭하는 D/S(dynamic/static) 모드 선택기를 포함한다. BS-SRAM은 어레이로 배열된 복수의 D/SRAM 셀 및 데이터를 어레이의 제 2 행 내의 인접 D/SRAM 셀로부터 제 1 행 내의 D/SRAM 셀로 시프트하는 컨트롤러를 포함한다. 방법은 선택된 D/SRAM 셀의 모드를 스위칭하는 단계와, 데이터를 인접 메모리 셀로부터 선택된 D/SRAM 셀로 결합하는 단계와, 결합된 데이터를 선택된 D/SRAM 셀에 저장하는 단계를 포함한다.

Description

동적/정적 랜덤 액세스 메모리(D/SRAM){DYNAMIC/STATIC RANDOM ACCESS MEMORY (D/SRAM)}
관련 출원에 대한 교차 참조
해당 없음
연방정부 지원 연구 또는 개발에 관한 진술
해당 없음
현대 컴퓨터 및 관련 처리 시스템은 전형적으로 프로세서 및 일부 형태의 메모리를 포함한다. 프로세서는 일반적으로 컴퓨터의 다양한 계산 작업의 수행을 담당하는 반면 메모리는 계산 작업에 사용되고 계산 작업에 의해 생성되는 데이터를 저장한다. 프로세서에 의한 처리 및 메모리에 의한 데이터 저장부의 아키텍처 분할은 거의 그러한 시스템의 전체 역사에 대해 성공적인 것으로 입증되었다.
예를 들어, 전형적인 범용 컴퓨터는 통상 하나 이상의 통신 채널(예를 들어, 데이터, 명령 및 어드레스 버스)을 통해 서로 통신하는 중앙 처리 유닛(CPU) 및 메인 메모리를 포함한다. 전형적으로, CPU는 다양한 산술 및 논리 연산을 수행하고, 연산 시퀀싱을 제공하고, 그렇지 않으면 범용 컴퓨터의 양태를 제어하는 설비를 제공한다. 예를 들어, 가상으로 모든 CPU는 메모리로부터 데이터를 판독하고, 데이터를 메모리에 기록하고, 미리 정의된 작업을 수행하기 위해 데이터를 이용하는 명령어 세트를 포함하는 프로그램을 실행하는 기능 또는 동작을 제공한다. 게다가, CPU는 I/O(input/output)를 처리하여 주변 장치 뿐만 아니라 범용 컴퓨터 외부의 서브시스템과의 통신을 허용할 수 있다. CPU는 일부 예에서 그래픽 디스플레이(예를 들어, 모니터)를 생성하고 갱신하는 것을 다루는 그래픽 처리를 심지어 제공할 수 있다.
그에 반하여, SRAM(static random access memory), DRAM(dynamic random access memory), ROM(read-only memory), PROM(programmable ROM), 플래시 메모리 및 여러가지 다른 메모리 타입 중 하나 이상을 포함할 수 있는 현대 컴퓨터의 메인 메모리는 전형적으로 비교적 좁은 능력 세트를 제공한다. 이러한 능력 중에서 중요한 것은 CPU에 의해 실행되고 사용되는 컴퓨터 프로그램 및 데이터를 저장하는 것이다. 현대 컴퓨터의 메인 메모리에서 발견될 수 있거나 종종 관련되는 다른 제한되는 능력은 특정 메모리 관리 기능이다. 예를 들어, 메인 메모리의 DRAM 메모리 서브시스템은 그 안에 저장된 데이터의 자동 리프레시를 위한 회로를 가질 수 있다.
본 명세서에 설명된 원리에 따른 예의 다양한 특징은 동일한 참조 번호가 동일한 구조적 요소를 나타내는 첨부 도면과 함께 해석되는 이하의 상세한 설명을 참조하면 더 쉽게 이해될 수 있다.
도 1a는 본 명세서에 설명된 원리와 일치하는 일 예에 따른 블록 시프트 시프트 가능 메모리 내에 2-D 어레이로 저장된 데이터의 인접 서브세트에 대한 다운 시프트의 일 예를 예시한다.
도 1b는 본 명세서에 설명된 원리와 일치하는 일 예에 따른 블록 시프트 시프트 가능 메모리 내에 2-D 어레이로 저장된 데이터의 인접 서브세트에 대한 업 시프트의 일 예를 예시한다.
도 2는 본 명세서에 설명된 원리와 일치하는 일 예에 따른 동적/정적 랜덤 액세스 메모리(dynamic/static random access memory(D/SRAM)) 셀의 블록도를 예시한다.
도 3a는 본 명세서에 설명된 원리와 일치하는 일 예에 따른 D/SRAM 셀의 개략도를 예시한다.
도 3b는 본 명세서에 설명된 원리에 따르는 다른 예에 따른 D/SRAM 셀의 개략도를 예시한다.
도 4a는 본 명세서에 설명된 원리에 따르는 일 예에 따른 블록 시프트 정적 랜덤 액세스 메모리(block shift static random access memory(BS-SRAM))의 블록도를 예시한다.
도 4b는 본 명세서에 설명된 원리에 따르는 일 예에 따른 도 4a에 예시된 BS- SRAM의 일부에 대한 확장된 블록도를 예시한다.
도 5는 본 명세서에 설명된 원리의 일 예에 따른 도 4a에 예시된 예시적 증강 디코더의 부분 진리 표를 예시한다.
도 6은 본 명세서에 설명된 원리의 일 예에 따른 리플 캐스케이드를 이용하는 증강 디코더의 일부의 개략도를 예시한다.
도 7은 본 명세서에 설명된 원리에 따르는 일 예에 따른 블록 시프트 정적 랜덤 액세스 메모리(block shift static random access memory(BS-SRAM))를 사용하여 데이터를 시프트하는 방법의 흐름도를 예시한다.
특정 예는 참조된 도면에 예시된 특징에 추가적인 것 그리고 그 특징 대신인 것 중 어느 하나인 다른 특징을 갖는다. 이러한 그리고 다른 특징은 참조된 도면을 참조하여 아래에 상세히 설명된다.
본 명세서에 설명된 원리에 따른 예는 시프트 가능 메모리에 내장 시프팅 능력을 제공한다. 특히, 시프트 가능 메모리의 선택된 행 또는 행의 '블록'에 저장된 데이터의 인접 서브세트는 내장 시프팅 능력을 구현하기 위해 본 명세서에 설명된 시프트 가능 메모리에 의해 시프트된다. 따라서, 본 명세서에 설명된 시프트 가능 메모리는 '블록 시프트' 시프트 가능 메모리로 지칭될 수 있다. 게다가, 블록 시프트 시프트 가능 메모리는 다양한 예에 따른 SRAM(static random access memory)을 이용하고 따라서 BS-SRAM(block shift SRAM)으로 지칭될 수 있다. BS-SRAM의 내장 데이터 시프팅 능력은 데이터의 인접 서브세트의 변환을 선택된 행(들)으로부터 다른 행(들)으로 제공한다. 변환은 다양한 예에 따른 저장된 데이터의 업 시프트 및 다운 시프트 중 하나 또는 둘 다일 수 있다. 더욱이, 시프트(즉, 업 또는 다운)의 방향 뿐만 아니라 시프트의 양 또는 거리는 일부 예에서 선택 가능할 수 있다. 본 명세서에 설명된 원리에 따른 예는 컴퓨터 시스템 및 관련된 데이터 처리 시스템에 응용을 갖는다. 특히, 본 명세서에 설명된 예는 블록 시프트 시프트 가능 메모리에 매우 다양한 데이터 처리 시스템에 유용한 내장 시프팅 능력 및 그러한 시스템에 의해 수행되는 데이터 처리 작업을 제공한다.
다양한 예에 따르면, 저장된 데이터(예를 들어, 데이터 워드)의 인접 서브세트는 블록 시프트 시프트 가능 메모리 내의 제 1 메모리 위치로부터 제 2 메모리 위치로 메모리 내에서 시프트될 수 있다. 시프트된 데이터는 일부 예에 따른 제 2 위치로 시프트될 때 인접 서브세트 내에서 정돈된 관계를 유지한다. 더욱이, 시프트는 블록 시프트 시프트 가능 메모리 내에서(예를 들어, BS-SRAM을 구현하는 메모리 칩 또는 칩 셋 내에서) 전적으로 발생하고 시프트는 일반적으로 블록 시프트 시프트 가능 메모리 외부에 있는, 프로세서와 같은 자원을 사용하지 않으면서 달성된다. 특히, 시프트는 다양한 예에 따른 블록 시프트 시프트 가능 메모리를 구성하는 메모리 셀의 회로(예를 들어, 시프트 회로)를 포함하는 시프트 로직을 사용하여 달성된다. 게다가, 시프트는 다양한 예에 따른 프로세서와 메모리 사이에서 이동되는 데이터를 수반하지 않는다.
일부 예에서, 블록 시프트 시프트 가능 메모리에 의해 제공되는 시프트는 새로운 데이터가 삽입될 수 있는 메모리 내의 위치를 '개방'하기 위해 이용될 수 있다. 특히, 저장된 데이터의 인접 서브세트 위 또는 아래의 메모리 위치는 저장된 데이터의 인접 서브세트가 블록 시프트 시프트 가능 메모리 내의 시프트에 의해 이동될 때 데이터 삽입에 이용 가능하게 될 수 있다. 일부 예에서, 인접 서브세트는 복수의 행(예를 들어, '블록')의 데이터를 포함한다. 이러한 예에서, 시프트에 의해 개방되는 메모리 위치는 행의 복수 또는 블록의 시작 또는 '삽입' 단부에서의 행일 수 있다. 다른 예에서, 인접 서브세트는 단일 행의 데이터를 포함한다. 이러한 예에서, 시프트에 의해 개방되는 위치는 선택된 행이다.
일부 예에 따르면, 시프트는 인접 서브세트의 말단 또는 '삭제' 단부에서 저장된 데이터를 삭제하거나 중복 기재하기 위해 사용될 수 있다. 특히, 인접 서브세트를 포함하는 행의 블록 위 또는 아래인 행에 저장된 데이터는 데이터의 인접 서브세트가 블록 시프트 시프트 가능 메모리에 의해 시프트될 때, 인접 서브세트 자체의 행 내의 데이터로 중복 기재될 수 있다. 다른 예에서, 데이터의 인접 서브세트가 블록 시프트 시프트 가능 메모리의 물리적 단부 또는 경계에 위치될 때, 인접 서브세트를 시프트하는 것은 실질적으로 블록 시프트 시프트 가능 메모리의 물리적 단부에 떨어져서(또는 실질적으로 이것으로부터) 데이터의 일부(즉, 행)를 시프트할 수 있다. 시프트의 방향에 따라, 행의 데이터는 예를 들어 상단 단부 또는 하단 단부로부터 시프트될 수 있다. 행의 물리적 단부로부터 시프트된 데이터는 실질적으로 일부 예에 따른 시프트 가능 메모리로부터 실질적으로 '분실' 또는 제거되고 따라서 삭제되는 것으로 간주될 수 있다. 더욱이, 데이터가 블록 시프트 시프트 가능 메모리의 물리적 단부로부터 시프트됨으로써 삭제될 때, 데이터 삭제는 일부 예에서 데이터를 중복 기재하지 않으면서 발생할 수 있다.
일부 예에 따르면, 블록 시프트 시프트 가능 메모리에 데이터를 삽입하거나 삭제하기 위해 데이터를 시프트하는 것은 일반적으로 블록 시프트 시프트 가능 메모리를 사용하지 않으면서 가능한 것보다, 더 적은 시간으로, 그리고 일부 예에서 상당히 더 적은 시간으로 달성될 수 있다. 실제로, 시프트는 일부 예에 따른 블록 시프트 시프트 가능 메모리를 사용하여 실질적으로 일정한 시간(예를 들어, 고정 된 수의 클록 사이클)으로 달성될 수 있다. 예를 들어, 시프트는 블록 시프트 시프트 가능 메모리의 하나의 클록 사이클로 달성될 수 있다.
그에 반하여, 예를 들어 시프트를 수행하기 위해 프로세서에 의존하는 전통적인(conventional) 메모리는 일반적으로 시프트되는 데이터의 양에 비례하는 시간의 양을 필요로 한다. 예를 들어, 전통적인 메모리에서 데이터를 시프트하는 것은 전형적으로 프로세서가 시프트될 데이터를 판독하고 그 다음 데이터를 다시 다른 위치 내의 메모리에 기록하는 것을 수반한다. 판독 및 기록은 예를 들어 전통적인 메모리의 구조 및 기능으로 인해 워드 바이 워드로 프로세서에 의해 수행될 수 있다. 데이터 내의 데이터(예를 들어, 데이터 워드) 각각이 우선 프로세서에 의해 전통적인 메모리로부터 판독되고 그 후에 다시 전통적인 메모리에 기록되므로, 데이터를 시프트하는 시간은 일반적으로 예를 들어 시프트되는 데이터의 양 또는 길이(예를 들어, 데이터 워드의 수)에 비례한다. 데이터의 양이 더 클수록, 시프트 동작이 더 오래 걸린다.
더욱이, 전통적인 메모리는 데이터를 시프트할 때 판독 및 기록을 수행하도록 전통적인 메모리 외부에 있는 자원(예를 들어, 프로세서)에 의존한다. 시프트를 수행하는 자원이 전통적인 메모리 외부에 있으므로, 워드 바이 워드 시프트에 수반되는 데이터 워드 각각은 일부 형태의 데이터 버스 또는 유사한 통신 채널을 통해 외부 자원과 전통적인 메모리 사이에 전달되어야 한다. 데이터 버스 또는 유사한 통신 채널은 실질적으로 판독 및 기록 동작의 속도 및 그 결과 시프트의 전체 속도를 제한할 수 있다. 따라서, 데이터의 큰 서브세트를 시프트하는 것은 데이터 버스 속도의 영향 및 전통적인 메모리를 사용한 시프트를 수행하는 비례 시간 양태 중 하나 또는 둘 다 때문에 처리 시간에 관하여 아주 비싸질 수 있다.
본 명세서에 설명된 원리에 따르면, 블록 시프트 시프트 가능 메모리는 예를 들어 시프트를 수행하기 위해 데이터가 외부 자원에 의해 판독되지 않고 그 다음 기록되도록 내장 시프팅 능력을 갖는다. 저장된 데이터의 인접 서브세트는 블록 시프트 시프트 가능 메모리(예를 들어, 어드레스 및 길이를 사용하는)에 대해 확인되고 블록 시프트 시프트 가능 메모리는 인접 서브세트를 시프트하도록 명령된다. 그 다음, 시프트는 블록 시프트 시프트 가능 메모리에 의해 달성되고 이 메모리 내에서 전적으로 발생한다. 외부 자원으로 그리고 외부 자원으로부터 데이터를 전송하는 것과 연관된 속도 제한은 본 명세서에 설명된 원리에 따른 블록 시프트 시프트 가능 메모리에 의해 실질적으로 제거된다. 더욱이, 시프팅을 위한 시간은 예를 들어 인접 서브세트의 길이와 실질적으로 독립적일 수 있다.
특히, 블록 시프트 시프트 가능 메모리 내의 시프팅은 본 명세서에 설명된 원리에 따른 블록 시프트 시프트 가능 메모리 자체의 회로로 구현될 수 있다. 따라서, 블록 시프트 시프트 가능 메모리를 사용하는 시프팅은 인접 서브세트의 각각의 데이터 워드를 순차적으로 판독하고 기록하는 것을 필요로 하지 않는다. 예를 들어, 블록 시프트 시프트 가능 메모리를 사용하는 시프팅은 인접 서브세트 내의 데이터의 모두를 실질적인 동시 방식으로 시프트할 수 있다. 따라서, 블록 시프트 시프트 가능 메모리는 인접 서브세트의 길이와 실질적으로 독립적인 시간에 인접 서브세트의 시프팅을 구현할 수 있다.
상기 언급된 바와 같이, 일부 예에서, 블록 시프트 시프트 가능 메모리는 설명된 원리의 예에 따른 시프트를 실질적으로 일정한 시간에 수행할 수 있다. '일정한 시간'에 의해 실질적으로 유사한 시간의 양은 인접 서브세트의 길이와 관계없이 저장된 데이터의 인접 서브세트를 시프트하도록 요구되는 것으로 의미된다. 예를 들어, 임의적 길이 인접 서브세트는 일부 예에 따른 단일 클록 사이클에 시프트될 수 있다. 다른 예에서, 더 짧은 인접 서브세트는 단일 클록 사이클만을 필요로 할 수 있는 반면 더 긴 인접 서브세트는 2개 이상의 클록 사이클을 필요로 할 수 있다. 그러나, 블록 시프트 시프트 가능 메모리가 비교적 더 짧은 서브세트보다 더 긴 서브세트에 대해 더 많은 시간을 사용할 수 있지만, 시프트는 일부 예에 따른 요구된 시간이 인접 서브세트 길이에 엄격히 비례하지 않으므로 시프트가 실질적으로 일정한 시간에 발생하는 것으로 보여질 수 있도록 충분히 빠르게 여전히 수행된다.
본 명세서에서, 용어 '메모리'는 실질적으로 교차 결합 요소를 사용하여 데이터를 수신하고 저장할 수 있는 임의의 종류의 메모리를 지칭한다. 메모리는 일반적으로 예를 들어 주기적 데이터 리프레시에 대한 요구 없이 데이터를 유지하는 정적 메모리로서 컴퓨터 프로세서에 의해 또는 컴퓨터 시스템에 이용될 수 있는 메모리에 따른다. 본 명세서에서의 정의에 따른 다른 타입의 정적 메모리는 예를 들어 다양한 타입의 래치, 플립 플롭, 및 래치 및 플립 플롭 중 하나 또는 둘 다를 이용하는 시프트 레지스터를 포함하지만, 이에 제한되지 않는다. 특히, 본 명세서에서의 정의에 의해, 블록 시프트 시프트 가능 메모리에 사용되는 메모리는 일반적으로 SRAM(static random access memory)으로 지칭되거나 지칭될 수 있는 임의의 종류의 메모리를 지칭한다. 본 명세서에서의 정의에 의해, SRAM은 리프레시될 필요가 없으면서 데이터를 실질적으로 유지하는 메모리이다. 전형적으로, SRAM은 SRAM 셀의 구성요소들 또는 요소들 사이에서 피드백 루프 또는 교차 결합을 사용하여 데이터를 유지한다. 본 명세서에서, 블록 시프트 시프트 가능 메모리, 및 더 구체적으로 BS-SRAM은 일반적으로 아래에 더 상세히 설명되는 동적/정적 랜덤 액세스 메모리(dynamic/static random access memory(D/SRAM)) 셀로 지칭되는 특정 타입의 SRAM을 이용한다.
또한 본 명세서에서, 메모리(예를 들어, BS-SRAM)는 일부 예에 따른 어레이로 배열되는 복수의 메모리 셀(예를 들어, D/SRAM 셀)을 포함할 수 있다. 예를 들어, 메모리 셀은 2-D(two dimensional) 어레이로 배열될 수 있다. 예를 들어, 2-D 어레이는 복수의 행(즉, 복수의 수평 배향 선형 어레이) 및 복수의 열(즉, 복수의 수직 배향 선형 어레이)을 포함하는 메모리 셀의 직사각형 2-D 어레이로 배열될 수 있다. 일반적으로, 메모리 셀은 행(예를 들어, 행 5) 및 열(예를 들어, 열 8) 둘 다의 부재이다. 더 높은 차수(예를 들어, 3개 이상의 차원) 어레이가 또한 이용될 수 있다. 일부 예에서, 더 낮은 차수 어레이(예를 들어, 선형 어레이)는 더 큰 치수(예를 들어, 2-D 어레이)를 갖는 어레이 상에 정의된다. 메모리 셀의 3-D(three dimensional) 배열은 일부 예에 따른 복수의 인접 2-D 어레이를 사용하여 실현될 수 있다. 게다가, 어레이는 서브어레이로 분할될 수 있다. 예를 들어, 2-D 직사각형 어레이는 4개의 서브어레이로서 4분면으로 분할될 수 있다.
메모리 셀(예를 들어, D/SRAM 셀)은 본 명세서에 정의되고 이용된 바와 같이 데이터를 유지하거나 저장하는 회로 또는 관련된 구성이다. 게다가, 본 명세서에서의 정의에 의해, 메모리 셀은 일반적으로 데이터의 하나 이상의 '비트'를 저장할 수 있다. 예를 들어, 비트는 2진 값(예를 들어, '0' 또는 '1')이거나 2진 값을 나타낼 수 있고 메모리 셀은 단일 비트를 유지할 수 있다. 다른 예에서, 메모리 셀은 복수의 2진 값 비트를 유지할 수 있다. 예를 들어, 메모리 셀은 4, 8, 16, 32 또는 64 2진 비트를 유지할 수 있다. 특히, 메모리 셀은 본 명세서에 정의된 바와 같이 복수의 비트를 포함하는 완전한 데이터 워드를 유지하거나 저장할 수 있다. 또 다른 예에서, 메모리 셀은 데이터를 다른 형태(예를 들어, 16진 값, 아날로그 값 등)로 유지할 수 있다. 특히, 본 명세서에 정의된 바와 같이, 메모리 셀은 데이터를 2진 포맷으로 저장하는 것에 제한되는 것이 아니라, 일부 예에서, 임의적 데이터 구성을 유지하거나 저장할 수 있다. 그러나, 본 명세서에서 논의의 목적을 위해, 단일 데이터 비트를 유지하는 2진 데이터 및 메모리 셀은 일반적으로 다르게 명시되지 않으면, 제한이 아닌 예로서 도처에 이용된다.
본 명세서에 사용된 바와 같이, '행'은 1-D(one-dimensional) 어레이(예를 들어, 선형 어레이)로 배열된 메모리 셀의 집합 또는 그룹화로 정의된다. 2-D 어레이는 예를 들어 실질적으로 평행한 방식으로 배열된 복수의 행을 포함할 수 있다. 게다가 본 명세서에서, 메모리 셀의 그룹화를 포함하는 행은 특정 컴퓨터 시스템의 하나 이상의 데이터 워드를 구성하는 데이터(예를 들어, 복수의 데이터 비트)를 유지할 수 있다. 다양한 예에 따르면, 행의 메모리 셀은 서로 물리적으로 인접해 있다. 예를 들어, 행의 제 1 메모리 셀은 행의 시작 단부(예를 들어, 좌측 단부)로부터 행의 말단 단부(예를 들어, 우측 단부)로 행 등의 제 2 메모리 셀 바로 다음에 위치될 수 있다. 행은 비교적 큰 수의 메모리 셀을 포함할 수 있다. 예를 들어, 행의 길이는 본 명세서에 설명된 원리에 따르는 예에 따른 다양한 실제 구현에서 1024 데이터 비트, 2048 데이터 비트, 4096 데이터 비트, 또는 그 이상일 수 있다.
행 및 열로 조직되는 메모리 셀(예를 들어, BS-SRAM의 D/SRAM 셀)은 또한 종종 본 명세서에서 '메모리 위치'로 지칭된다. 엄밀히 말하면, 메모리 위치는 메모리 내의 특정 위치에서의 메모리 셀(들)이며, 위치는 어드레스(예를 들어, 특정 행 및 특정 열의)에 의해 지정되거나 식별된다. 메모리 셀은 예를 들어 어드레스를 사용하여 액세스될 수 있다. 그러나, 본 명세서에서 논의의 단순화를 위해, 메모리 셀 자체는 종종 어드레스를 갖거나 어드레스에 있는 것으로 언급된다. 유사하게, 메모리 셀의 행은 전형적으로 예를 들어 행 어드레스 또는 행 번호를 갖거나 이것에 있는 것으로 언급된다. 따라서, 행의 '위치' 및 어드레스는 본 명세서에서 교환 가능하게 이용될 수 있다. 게다가, '위치'는 일부 예에 따른 행의 블록의 시작 행 어드레스 및 블록의 종료 행 어드레스에 지정되는 데이터의 인접 서브세트의 위치를 지칭하기 위해 사용될 수 있다. 다른 예에서, 인접 서브세트의 위치는 행의 블록의 시작(또는 종료) 행 어드레스 및 블록의 길이(예를 들어, 행의 수에 관한)에 의해 지정될 수 있다. 일부 예에서, 아래에 분명해지는 이유로 시작 행 어드레스는 'INSERT' 행 또는 행 어드레스로 지칭될 수 있는 반면 종료 행 어드레스는 'DELETE' 행 또는 행 어드레스로 지칭될 수 있다.
또한 본 명세서에서 그리고 상기 언급된 바와 같이, 블록 시프트 시프트 가능 메모리에 의해 수행되는 바와 같은 '시프트'는 다르게 명시되지 않으면, 블록 시프트 시프트 가능 메모리 내에 저장된 데이터의 인접 서브세트의 변환으로 정의된다. 특히, 본 명세서에서의 정의에 의해, 블록 시프트 시프트 가능 메모리를 사용하는 시프트는 블록 시프트 시프트 가능 메모리 내의 제 1 위치로부터 제 2 위치로 인접 서브세트의 저장된 데이터의 변환(예를 들어, 업 또는 다운)을 구성한다. 더욱이, 시프트는 저장된 데이터의 인접 서브세트에 적용될 때, 인접 서브세트의 저장된 데이터의 모두를 변환한다. 더욱이, 블록 시프트 시프트 가능 메모리에 의한 시프트는 본 명세서에서의 정의에 의해, 시프트에 수반되는 데이터의 인접 서브세트 외부의 데이터의 변환 또는 시프트를 생성하지 않는다. 그러나, 인접 서브세트는 일부 예에 따른 메모리 위치의 모두 또는 등가적으로 블록 시프트 시프트 가능 메모리의 행의 모두를 포함할 수 있다.
본 명세서에서, 방향 '업'은 더 작은 행 어드레스를 갖는 위치를 향하는 방향으로 블록 시프트 시프트 가능 메모리 내의 행에 대해 정의된다. 방향 '다운'은 더 큰 행 어드레스를 갖는 위치를 향하는 방향으로 정의된다. 따라서, '업 시프트'는 제 1 또는 시작 위치의 어드레스보다 더 작은 행 어드레스를 갖는 제 2 위치로 데이터를 시프트하는 것으로 정의된다. 역으로, '다운 시프트'는 데이터를 더 작은 행 어드레스를 갖는 제 1 위치로부터 더 큰 행 어드레스를 갖는 제 2 위치로 이동시키는 것을 야기한다. 그러나, 시프트 방향이 일부 예에 따라 제어 가능하거나 선택 가능할 수 있지만, 시프트 방향(예를 들어, 업 또는 다운)은 본 명세서에 이용되는 바와 같이 완전히 임의적일 수 있다. 게다가, 본 명세서에서 '업 시프트' 및 '다운 시프트'의 특정 사용은 제한이 아닌 논의의 목적을 위한 것이다.
도 1a는 본 명세서에 설명된 원리에 따르는 일 예에 따른 블록 시프트 시프트 가능 메모리 내에 2-D 어레이로 저장된 데이터의 인접 서브세트에 대한 다운 시프트의 일 예를 예시한다. 특히, 도 1a는 메모리 셀의 복수의 행을 예시하며, 그 각각의 메모리 셀은 예로서, 단일 2진 값 또는 비트(예를 들어, '1' 또는 '0')를 저장할 수 있다. 특정 행 내의 각각의 메모리 셀은 예를 들어 상이한 열에 있을 수 있다. 더 예시된 바와 같이, 각각의 행은 00에서 11까지의 범위인 행 어드레스에 의해 식별되는 반면 각각의 열은 a에서 f까지의 범위인 열 어드레스에 의해 식별된다. 도 1a의 좌측 측면은 다운 시프트 전의 복수의 행을 예시하는 반면 우측 측면은 다운 시프트 후의 동일한 복수의 행을 예시한다.
예시된 바와 같이, 블록 시프트 시프트 가능 메모리 내의 예시적 다운 시프트는 예를 들어 어드레스 04의 행에서 시작하고 어드레스 08의 행에서 종료하는 저장된 데이터의 인접 서브세트를 선택하는 것을 포함한다. 그 다음, 블록 시프트 시프트 가능 메모리는 도 1a의 우측 측면에 예시된 바와 같이 선택된 행 내의 저장된 데이터를 하나의 행 어드레스 위치 아래로 이동시킴으로써 선택된 인접 서브세트를 다운 시프트한다. 다운 시프트는 인접 서브세트 내에서 데이터의 순서를 유지하고 인접 서브세트를 행 어드레스 05와 행 어드레스 09 사이의 행에 놓는다. 저장된 데이터를 다운 시프트하는 것은 인접 서브세트(즉, 다운 시프트 전의 행 어드레스 09에서의 콘텐츠) 바로 아래의 행의 콘텐츠를 중복 기재하거나 실질적으로 삭제하고 그 행의 콘텐츠를 다운 시프트된 인접 서브세트의 마지막 행(예를 들어, 다운 시프트 전의 행 08의 콘텐츠)으로 대체한다. 따라서, 행 어드레스 09에서의 행은 일부 예에 따른 DELETE 행으로 지칭될 수 있다.
게다가, 예시된 바와 같이, 어드레스 04에서의 행의 콘텐츠는 어드레스 05에서의 행으로 다운 시프트되고 다운 시프트 후에 어드레스 04에서의 행은 X로 표시된 바와 같이 불확정으로 된다. 다양한 예에 따르면, 행 어드레스 04에서의 행은 다운 시프트 전에 존재한 데이터의 사본을 유지할 수 있거나 다운 시프트 후에 제거(예를 들어, '000...'으로 설정)될 수 있다. 일부 예에서, 행 어드레스 04에서의 행은 예를 들어 외부 소스로부터의 데이터의 삽입에 이용 가능할 수 있다. 따라서, 행 어드레스 04에서의 행은 일부 예에 따른 INSERT 행으로 표시된다.
도 1b는 본 명세서에 설명된 원리에 따르는 일 예에 따른 블록 시프트 시프트 가능 메모리 내에 2-D 어레이로 저장된 데이터의 인접 서브세트에 대한 업 시프트의 일 예를 예시한다. 특히, 도 1b는 메모리 셀의 복수의 행을 예시하며, 각각의 메모리 셀은 복수의 데이터 값 또는 데이터 워드(예를 들어, 'abc', 'cba', 'aaa', 'def...', etc.)를 저장하도록 구성된다. 게다가, 예시된 바와 같이, 예시된 행 각각은 00에서 11까지의 범위인 어드레스에 의해 식별된다. 도 1b의 좌측 측면은 업 시프트 전의 복수의 행을 예시하는 반면 우측 측면은 업 시프트 후의 동일한 복수의 행을 예시한다.
도 1b에 예시된 바와 같이, 시프트 가능 메모리 내의 업 시프트는 예를 들어 행 어드레스 03에서의 행에서 시작하고 행 어드레스 06에서의 행에서 종료하는 저장된 데이터의 인접 서브세트를 선택하는 것을 포함한다. 그 다음, 시프트 가능 메모리는 도 1b의 우측 측면에 예시된 바와 같이 선택된 인접 서브세트 내의 저장된 데이터를 하나의 어드레스 위치 위로 이동시킴으로써 선택된 인접 서브세트를 업 시프트한다. 업 시프트는 인접 서브세트 내에서 데이터의 순서를 유지하고 인접 서브세트를 행 어드레스 02와 행 어드레스 05 사이의 행에 놓는다. 저장된 데이터를 업 시프트하는 것은 인접 서브세트 바로 위의 행의 콘텐츠를 (즉, 어드레스 02에서) 중복 기재하고 따라서 그 행의 콘텐츠를 업 시프트된 인접 서브세트의 제 1 행으로부터의 데이터(즉, 업 시프트 전의 행 어드레스 03에서의 콘텐츠)로 대체한다. 게다가, 원래 업 시프트 전의 인접 서브세트의 마지막 행의 데이터를 유지한 행 어드레스 06에서의 행은 업 시프트 후에 X로 표시된 바와 같이 불확정으로 된다. 일부 예에 따르면, 행 어드레스 06에서의 행은 업 시프트 전에 존재한 데이터의 사본을 유지할 수 있거나 업 시프트 후에 제거(예를 들어, '000...'으로 설정)될 수 있다. 일부 예에서, 행 어드레스 06에서의 행은 예를 들어 외부 소스로부터의 데이터의 삽입에 이용 가능할 수 있다. 따라서, 도 1b에 예시된 예에 따라, 행 어드레스 06에서의 행은 INSERT 행으로 간주될 수 있는 반면 행 어드레스 02에서의 행은 DELETE 행으로 표시될 수 있다.
다양한 예에 따르면, 블록 시프트 시프트 가능 메모리는 범용 컴퓨터 시스템의 메인 메모리의 일부일 수 있다. 블록 시프트 시프트 가능 메모리는 예를 들어 메인 메모리를 구성하는 메모리의 서브세트를 나타낼 수 있다. 다른 예에서, 블록 시프트 시프트 가능 메모리는 시프트 레지스터일 수 있다. 시프트 레지스터는 예를 들어 각각의 행에 단일 메모리 셀을 가질 수 있다.
게다가, 본 명세서에 사용된 바와 같이, 관사 '하나의(a)'는 특허 기술 분야에서 그 통상적 의미, 즉 '하나 이상의'의 의미를 갖도록 의도된다. 예를 들어, '메모리 셀'은 하나 이상의 메모리 셀을 의미하고, 따라서, '메모리 셀'은 본 명세서에서 '메모리 셀(들)'을 의미한다. 또한, 본 명세서에서 '상단', '하단', '상부', '하부', '업', '다운', '전면', '후면', '좌측' 또는 '우측'에 대한 임의의 참조는 본 명세서에서 제한인 것으로 의도되지 않는다. 게다가, 용어 '열' 및 '행'은 어레이를 설명하는 데 이용될 때 실질적으로 직교 구조를 설명하는 임의적 표시이다. 따라서, 행은 열로 보여질 수 있고 열은 행 및 열을 포함하는 어레이 또는 유사한 구조의 적절한 회전에 입각한 행으로 보여질 수 있다. 본 명세서에서, 용어 '대략'은 값에 적용될 때 일반적으로 다르게 분명히 지정되지 않으면, 값을 생성하기 위해 사용되는 장비의 허용 범위 내를 의미하거나, 일부 예에서, 플러스 또는 마이너스 10%, 또는 플러스 또는 플러스 5%, 또는 플러스 또는 마이너스 1%를 의미한다. 더욱이, 본 명세서에서의 예는 단지 예시적인 것으로 의도되고 제한이 아닌 논의의 목적을 위해 제공된다.
도 2는 본 명세서에 설명된 원리에 따르는 일 예에 따른 동적/정적 랜덤 액세스 메모리(dynamic/static random access memory(D/SRAM)) 셀(100)의 블록도를 예시한다. 다양한 예에 따르면, D/SRAM 셀(100)은 본 명세서에서의 정의에 의해, 동적 저장 모드 및 정적 저장 모드 둘 다를 제공하는 메모리 셀이다. 특히, D/SRAM 셀(100)은 동적 저장 모드와 정적 저장 모드 사이의 원 위치에서 선택 가능하게 동작되거나 스위칭될 수 있다. 정적 저장 모드로 동작될 때, D/SRAM 셀(100)은 리프레시 없이 저장된 데이터를 유지하기 위해 SRAM 셀과 실질적으로 유사하게 동작한다. 대안으로, 동적 저장 모드로 스위칭될 때, D/SRAM 셀(100)은 예를 들어 DRAM(dynamic random access memory)을 실질적으로 모방하는 저장된 데이터의 시간 감쇠를 나타낸다. 시간 감쇠는 예를 들어 D/SRAM 셀(100)의 요소 또는 요소들의 용량(예를 들어, 게이트 커패시턴스)에 의해 제공될 수 있다. 일부 예에 따르면, 동적 저장 모드는 D/SRAM 셀(100)이 적재/저장 시프트 레지스터로 동작될 때 이용된다.
예시된 바와 같이, D/SRAM 셀(100)은 데이터를 수신하는 입력 포트(102) 및 D/SRAM 셀(100)에 의해 저장된 데이터를 출력하는 출력 포트(104)를 갖는다. 일부 예에서, 입력 포트(102) 및 출력 포트(104)는 데이터를 D/SRAM 셀(100)로 시프트하는 것 및 D/SRAM 셀로부터 데이터를 시프트하거나 결합하는 것 중 하나 또는 둘 다에 이용될 수 있다. 구체적으로, D/SRAM 셀(100)이 데이터를 적재하는 동적 저장 모드 및 적재된 데이터를 저장하는 정적 저장 모드의 조합을 이용하는 적재/저장 시프트 레지스터로 동작될 때, 적재/저장 입력 포트(102)는 일부 예에 따라, 적재되는 데이터를 공급하는 인접 메모리 셀(예를 들어, 인접 D/SRAM 셀(100))에 연결될 수 있다. 게다가 일부 예에서, 출력 포트(104)는 예를 들어 D/SRAM 셀(100)로부터 데이터를 시프트하거나 결합하는 다른 인접 메모리 셀(예를 들어, 다른 D/SRAM 셀(100))에 연결될 수 있다.
일부 예에서, D/SRAM 셀(100)은 다른 I/O(input/output) 포트(도 2에 예시되지 않은)를 가질 수 있다. 예를 들어, D/SRAM 셀(100)은 D/SRAM 셀(100)을 이용하는 메모리 어레이의 비트 라인 또는 한 쌍의 비트 라인과 통신하는 하나 이상의 다른 I/O 포트를 가질 수 있다. 다른 I/O 포트는 예를 들어 D/SRAM 셀(100)이 정적 저장 모드에서 랜덤 액세스 메모리 어레이의 메모리로서(예를 들어, SRAM 어레이로서) 동작될 때 데이터를 D/SRAM 셀(100)에 기록하는 것 및 D/SRAM 셀로부터 데이터를 판독하는 것 중 하나 또는 둘 다에 사용될 수 있다. 비트 라인(들)은 예시의 단순화를 위해 도 2에 명시적으로 도시되는 아니라, 아래에서 검토될 것이다(예를 들어, 도 3a-도 3c 참조).
게다가, 도 2는 제한이 아닌 예로서 열로 배열되고 상호 연결되는 복수의 D/SRAM 셀(100)을 예시한다. 예시된 바와 같이, 복수 중 특정 D/SRAM 셀(100')의 출력 포트(104)는 열에서 특정 D/SRAM 셀(100') 아래의 인접 D/SRAM 셀(100")의 입력 포트(102) 및 특정 D/SRAM 셀(100') 위의 인접 D/SRAM 셀(100"')의 입력 포트 둘 다에 연결된다. 일부 예(도시되지 않은)에서, 특정 D/SRAM 셀(100')은 아래의 인접 D/SRAM 셀(100") 또는 위의 인접 D/SRAM 셀(100"') 중 어느 하나에 연결될 수 있지만, 둘 다에 연결되지 않을 수 있다. 인접 D/SRAM 셀(100", 100"') 둘 다로의 연결은 예를 들어 D/SRAM 셀(100)이 적재/저장 시프트 레지스터로 동작될 때 열 내에서 데이터의 선택 가능 업시프팅 및 다운시프팅을 용이하게 할 수 있다. 대안으로, 예를 들어 아래의 인접 D/SRAM 셀(100") 또는 위의 인접 D/SRAM 셀(100"') 중 어느 하나로 특정 D/SRAM 셀(100')의 단방향 연결은 열 내에서 단방향(즉, 다운 시프트 또는 업 시프트) 데이터 변환을 용이하게 할 수 있다. 또한 일부 예(예시되지 않은)에 따르면, 특정 D/SRAM 셀(100') 아래 및 위의 인접 D/SRAM 셀(100", 100"') 중 하나 또는 둘 다는 D/SRAM 셀과 다른 것으로(예를 들어, 전통적인 SRAM 셀로) 실현될 수 있다. 게다가, 도 2에 예시된 열은 다양한 예에 따른 2-D 메모리 어레이의 독립 열(예를 들어, 1 비트 폭 시프트 레지스터를 구현하는) 또는 복수의 열의 대표적인 열일 수 있다.
도 2를 참조하면, D/SRAM 셀(100)은 SRAM(static random access memory) 셀(110)을 포함한다. 다양한 예에 따르면, SRAM 셀(110)은 저장된 데이터를 유지하는 데이터 리프레시에 대한 요구 없이 실질적으로 정적 데이터 저장을 제공하도록 구성된 메모리 셀이다. 예시된 바와 같이, SRAM 셀(110)은 한 쌍의 교차 결합 요소(112, 114)를 포함한다. 교차 결합 요소(112, 114)는 교차 결합 요소(112, 114) 사이의 협력적 상호 작용 또는 '교차 결합'을 통해 또는 이것의 결과로서 데이터 저장을 제공하도록 구성된다. 특히, 교차 결합 요소(112, 114)의 교차 결합은 다양한 예에 따른 데이터를 저장하기 위해 SRAM 셀(110)의 프로그램 가능 로직 상태를 협력적으로 강화하는 신호 피드백 루프의 역할을 할 수 있다. SRAM 셀(110) 외부의 회로(예를 들어, 드라이버)는 일부 예에서 프로그램된 로직 상태의 프로그래밍을 제공할 수 있다. 예를 들어, 프로그래밍은 비트 라인(예시되지 않은)을 통해 드라이버에 의해 제공될 수 있다. 프로그래밍 후에, 교차 결합은 일부 예에 따른 프로그램된 로직 상태를 유지한다. 일부 예에서, SRAM 셀(110)의 교차 결합 요소(112, 114)는 또한 종종 래치 또는 래치 회로로 지칭된다.
일부 예에서, 교차 결합 요소(112, 114)는 한 쌍의 교차 결합 인버터(112, 114)를 포함한다. 일부 예에서, 한 쌍의 교차 결합 인버터(112, 114)는 교차 결합 연결에 의해 제 2 인버터(114)에 교차 결합되는 제 1 인버터(112)를 포함할 수 있다. 일부 예에서, 제 1 및 제 2 인버터(112, 114)는 제 1 인버터(112)의 출력 신호가 교차 결합 연결에 의해 제 2 인버터(114)의 입력에 전달되도록 교차 결합될 수 있다. 유사하게, 교차 결합 연결은 예를 들어 제 2 인버터(114)의 출력 신호를 제 1 인버터(112)의 입력에 전달할 수 있다. 교차 결합 연결과 함께 인버터(112, 114)의 동작은 데이터를 저장하는 능력을 갖는 쌍안정인 피드백 또는 결합된 회로의 기능을 한다. 다른 예(도 2에 예시되지 않은)에서, 한 쌍의 인버터(112, 114)와 다르거나 이 인버터에 부가되는 요소는 교차 결합 요소(112, 114)로 이용될 수 있다.
더 예시된 바와 같이, D/SRAM 셀(100)은 D/S(dynamic/static) 모드 선택기(120)를 더 포함한다. D/S 모드 선택기(120)는 동적 저장 모드와 정적 저장 모드 사이에서 D/SRAM 셀(100)을 선택 가능하게 스위칭하도록 구성된다. D/S 모드 선택기(120)가 D/SRAM 셀(100)을 정적 저장 모드로 스위칭할 때, SRAM 셀(110)은 감쇠 또는 저하 없이(즉, 적어도 SRAM 셀(110)이 재프로그램될 때까지) 프로그램된 로직 상태를 실질적으로 유지한다. 대안으로, D/S 모드 선택기(120)가 D/SRAM 셀(100)을 동적 저장 모드로 선택 가능하게 스위칭할 때, SRAM 셀(110)에 또는 SRAM 셀에 의해 이전에 저장된 로직 상태는 본 명세서에서의 정의에 의해, 시간에 따라 감쇠된다.
다양한 예에 따르면, D/S 모드 선택기(120)는 SRAM 셀(110)의 신호 피드백 루프를 중단시킴으로써 동적 저장 모드를 생성하도록 구성된다. 특히, 신호 피드백 루프는 SRAM 셀(110)의 교차 결합 요소(112, 114) 사이에서 교차 결합 연결을 실질적으로 차단하거나 분리함으로써 중단된다. 교차 결합 연결을 분리하는 것은 또한 일부 예에 따라 서로로부터 교차 결합 요소(112, 114)를 실질적으로 격리시킨다.
일부 예에 따르면, D/S 모드 선택기(120)는 SRAM 셀(110)의 한 쌍의 교차 결합 요소(112, 114)를 선택 가능하게 결합하고 분리/격리시키는 스위치를 포함한다. D/SRAM 셀(100)의 동적 저장 모드는 교차 결합 요소(112, 114)가 분리되는 것에 상응하고 정적 저장 모드는 교차 결합 요소가 결합되는 것에 대응한다. 따라서, 다양한 예에 따르면, 스위치를 사용하여 한 쌍의 교차 결합 요소(112, 114)를 선택 가능하게 분리하는 것은 D/SRAM 셀(100)의 동적 저장 모드를 생성하는 반면 스위치로 한 쌍의 교차 결합 요소(112, 114)를 선택 가능하게 결합하는 것은 정적 저장 모드를 제공한다.
일부 예에서, 스위치는 한 쌍의 교차 결합 연결에 위치되거나 이 교차 결합 연결의 일부일 수 있다. 예를 들어, 스위치는 제 1 스위치(122)를 포함할 수 있다. 제 1 스위치(122)는 예를 들어 제 1 교차 결합 요소(112)(예를 들어, 제 1 인버터(112))의 출력과 제 2 교차 결합 요소(114)(예를 들어, 제 2 인버터(114))의 입력 사이에서 교차 결합 연결의 일부로서 연결될 수 있다. 제 1 스위치(122)가 턴 오프되거나 OFF 상태(예를 들어, 고임피던스 상태 또는 개방 스위치)에 있을 때, 제 1 교차 결합 요소(112)의 출력은 제 2 교차 결합 요소(114)의 입력으로부터 연결 해제되거나 분리되고 격리된다. 대안으로, 제 1 스위치가 턴 온되거나 ON 상태(예를 들어, 저임피던스 상태 또는 폐쇄 스위치)에 있을 때, 결합은 제 1 교차 결합 요소 출력과 제 2 교차 결합 요소 입력 사이에서 용이해진다. 제 1 스위치(122)는 예를 들어 제어 신호(F1)에 의해 또는 제어 신호에 따라 제어될 수 있다.
일부 예에서, 스위치는 제 2 스위치(124)를 더 포함할 수 있다. 제 2 스위치(124)는 예를 들어 교차 결합 연결의 일부로서, 제 2 교차 결합 요소(114)(예를 들어, 제 2 인버터(114))의 출력과 제 1 교차 결합 요소(112)(예를 들어, 제 1 인버터(112))의 입력 사이에 연결될 수 있다. 제 2 스위치(124)가 턴 오프되거나 OFF 상태(예를 들어, 고임피던스 상태 또는 개방 스위치)에 있을 때, 제 2 교차 결합 요소(114)의 출력은 제 1 교차 결합 요소(112)의 입력으로부터 실질적으로 연결 해제되거나 분리되고 격리된다. 대안으로, 제 2 스위치가 턴 온되거나 ON 상태(예를 들어, 저임피던스 상태 또는 폐쇄 스위치)에 있을 때, 결합은 제 2 교차 결합 요소 출력과 제 1 교차 결합 요소 입력 사이에서 용이해진다. 제 2 스위치(124)는 예를 들어 제어 신호(B1)에 의해 또는 제어 신호에 따라 제어될 수 있다.
일부 예에 따르면, D/S 모드 선택기(120)는 제 1 및 제 2 스위치(122, 124) 둘 다가 OFF 상태에 있을 때 동적 저장 모드로 동작하도록 D/SRAM 셀(100)을 구성할 수 있다. 제 1 및 제 2 스위치(122, 124)에 의해 제공된 선택 가능 분리는 일부 예에 따른 동적 저장 모드를 제공하기 위해 교차 결합 인버터(112, 114)의 교차 결합을 실질적으로 좌절시킬 수 있다. 게다가, 선택 가능하게 분리하는 것은 서로로부터 교차 결합 인버터(112, 114)를 실질적으로 격리시킨다. 다양한 예에 따르면, 제 1 및 제 2 스위치(122, 124) 중 하나 또는 둘 다는 트랜지스터 스위치를 포함할 수 있다. 트랜지스터 스위치의 예는 직렬 연결 금속 산화물(MOS) 트랜지스터(예를 들어, NMOS 또는 PMOS 트랜지스터) 및 NMOS 트랜지스터 및 PMOS 트랜지스터의 병렬 연결을 포함하는 전달 게이트를 포함하지만, 이에 제한되지 않는다.
일부 예에서, D/SRAM 셀(100)은 L/S(load/store) 결합기(130)를 더 포함한다. L/S 결합기(130)는 데이터(예를 들어, 로직 '1' 또는 로직 '0')를 외부 소스로부터 D/SRAM 셀(100)로 선택 가능하게 결합하도록 구성된다. 외부 데이터 소스는 예를 들어 인접 메모리 셀일 수 있다. L/S 결합기(130)에 의해 결합되는 데이터는 다양한 예에 따른 D/SRAM 셀(100)이 데이터 적재 전에 동적 저장 모드로부터 정적 저장 모드로 스위칭될 때 동적 저장 모드에서 D/SRAM 셀(100)에 의해 적재되고 그 다음에 D/SRAM 셀(100)에 저장될 수 있다.
일부 예에서, L/S 결합기(130)는 제 1 스위치(132)를 포함한다. 예를 들어, 제 1 스위치(132)는 D/SRAM 셀(100)의 입력 포트(102)의 제 1 적재/저장 입력과 SRAM 셀(110)의 제 1 교차 결합 요소(112)(예를 들어, 인버터(112))의 입력 사이에 연결될 수 있다. 제 1 스위치(132)는 예를 들어 제 1 스위치(132)가 턴 오되거나 ON 상태(즉, ON = 폐쇄 스위치)에 있을 때 데이터를 제 1 인접 메모리 셀로부터 SRAM 셀(110)로 선택 가능하게 결합하도록 구성될 수 있다. OFF 상태(즉, OFF = 개방 스위치)에서, 제 1 스위치(132)는 다양한 예에 따른 제 1 인접 메모리 셀로부터의 결합을 실질적으로 차단한다. 제 1 인접 메모리 셀은 예를 들어 도 2에 예시된 위의 인접 D/SRAM 셀(100"')일 수 있다. 제 1 스위치(132)에 의해 제공되는 데이터 결합은 예를 들어 D/SRAM 셀(100)을 갖는 열에서 데이터를 다운 시프트하는 것을 용이하게 할 수 있다.
일부 예에서, L/S 결합기(130)는 제 2 스위치(134)를 포함한다. 예를 들어, 제 2 스위치(134)는 D/SRAM 셀(100)의 입력 포트(102)의 제 2 적재/저장 입력과 SRAM 셀(110)의 제 2 교차 결합 요소(114)(예를 들어, 인버터(114))의 입력 사이에 연결될 수 있다. 제 2 스위치(134)는 예를 들어 제 2 스위치(134)가 턴 온되거나 ON 상태에 있을 때 데이터를 제 2 인접 메모리 셀로부터 SRAM 셀(110)로 선택 가능하게 결합하도록 구성될 수 있다. OFF 상태에서, 제 2 스위치(134)는 다양한 예에 따른 제 2 인접 메모리 셀로부터의 결합을 실질적으로 차단한다. 제 2 인접 메모리 셀은 예를 들어 도 2에 예시된 아래의 인접 D/SRAM 셀(100")일 수 있다. 제 2 스위치(134)에 의해 제공되는 결합은 예를 들어 D/SRAM 셀(100)을 갖는 열에서 데이터를 업 시프트하는 것을 용이하게 할 수 있다.
본 명세서에서의 정의에 의해, D/SRAM 셀(100)이 동적 저장 모드에 있고 제 1 스위치(132)가 데이터를 제 1 교차 결합 요소(112)로 결합하기 위해 이용될 때, 제 1 교차 결합 요소(112)는 '마스터'(예를 들어, '마스터' 인버터(112))로 지칭될 수 있는 반면 제 2 교차 결합 요소(114)는 '슬레이브'(예를 들어, '슬레이브' 인버터(114))로 지칭될 수 있다. 대안으로, 본 명세서에서의 정의에 의해, D/SRAM 셀(100)이 동적 저장 모드에 있고 제 2 스위치(134)가 데이터를 제 2 교차 결합 요소(114)로 결합하기 위해 이용될 때, 제 2 교차 결합 요소(114)는 '마스터'(예를 들어, '마스터' 인버터(114))로 지칭될 수 있는 반면 제 1 교차 결합 요소(112)는 '슬레이브'(예를 들어, '슬레이브' 인버터(112))로 지칭될 수 있다. 따라서, 마스터 교차 결합 요소는 동적 모드에서 D/SRAM 셀(100)로 적재되는 데이터를 수신하기 위해 L/S 결합기(130)에 의해 구성되는 한 쌍의 교차 결합 요소(112, 114)이다. 게다가, 슬레이브 교차 결합 요소는 마스터 교차 결합 요소로부터 격리되는 한 쌍의 교차 결합 요소(112, 114)이다. 일부 예에서, 인접 D/SRAM 셀(100)의 슬레이브 교차 결합 요소는 L/S 결합기(130)에 의해 마스터 교차 결합 요소로 결합되는 데이터의 소스의 역할을 할 수 있다.
도 3a는 본 명세서에 설명된 원리에 따르는 일 예에 따른 D/SRAM 셀(200)의 개략도를 예시한다. 일부 예에 따르면, 도 3a에 예시된 D/SRAM 셀(200)은 도 2에 대해 상술된 D/SRAM 셀(100)과 실질적으로 유사할 수 있다. 특히, D/SRAM 셀(200)은 SRAM 셀(210), D/S(dynamic/static) 모드 선택기(220) 및 L/S(load/store) 결합기(230)를 포함하며, 그 각각은 D/SRAM 셀(100)의 SRAM 셀(110), D/S 모드 선택기(120), 및 L/S 결합기(130) 중 각각의 것과 실질적으로 유사하다.
도 3a에 예시된 바와 같이, SRAM 셀(210)은 6T(six transistor) SRAM 셀(210)을 포함한다. 예시된 6T SRAM 셀(210)은 한 쌍의 트랜지스터(212a, 212b)를 사용하여 구현되는 제 1 인버터(212) 및 다른 쌍의 트랜지스터(214a, 214b)를 사용하여 구현되는 제 2 인버터(214)를 포함한다. 제한이 아닌 예로서 인버터(212, 214) 각각의 제 1 또는 상부 트랜지스터(212a, 214a)는 PMOS 트랜지스터로 도 3a에 예시되는 반면 인버터(212, 214) 각각의 제 2 또는 하부 트랜지스터(212b, 214b)는 NMOS 트랜지스터로 예시된다. 제 1 인버터(212)는 교차 결합 회로에 의해 제 2 인버터(214)에 교차 결합된다. 교차 결합된 제 1 및 제 2 인버터(212, 214)는 6T SRAM 셀(210)에 데이터를 저장하는 기능을 한다. 6T SRAM 셀(210)은 한 쌍의 액세스 트랜지스터(216a, 216b)를 더 포함한다. 액세스 트랜지스터(216a, 216b)는 D/SRAM 셀(200)이 정적 저장 모드에서 랜덤 액세스 메모리의 메모리 셀로 동작될 때 6T SRAM 셀(210)로의 기록 및 6T SRAM 셀로부터의 판독을 용이하게 하기 위해 한 쌍의 비트 라인(b1 및 b2)에 연결된다. 일부 예에 따르면, 액세스 트랜지스터(216a, 216b)는 워드 라인(WL)에 활성화되고 비트 라인(b1 및 b2)은 서로의 역(예를 들어, b2 =
Figure 112014071873128-pct00001
)일 수 있다.
예시된 바와 같이, D/SRAM 셀(200)의 D/S 모드 선택기(220)는 제 1 및 제 2 인버터(212, 214) 사이의 교차 결합 회로 내의 한 쌍의 트랜지스터 스위치(222, 224)를 포함한다. OFF 상태(즉, 트랜지스터 스위치(222, 224)를 턴 오프하는)에서 한 쌍의 트랜지스터 스위치(222, 224)를 배치하는 (예를 들어, 포트(F1 및 B1)에서) 제어 신호를 어서트(assert)하는 것은 D/SRAM 셀(200)의 동적 저장 모드를 제공하기 위해 서로로부터 제 1 및 제 2 인버터(212, 214)의 교차 결합을 분리하고 격리한다. 정적 저장 모드는 ON 상태에서 트랜지스터 스위치(222, 224)를 배치하는 (예를 들어, 포트(F1 및 B1)에서) 제어 신호에 의해 제공된다. 예시된 바와 같이, D/S 모드 선택기(220)의 한 쌍의 트랜지스터 스위치(222, 224)는 NMOS 트랜지스터로 예시된다. 다른 예(예시되지 않은)에서, D/S 모드 선택기(220)는 PMOS 트랜지스터 또는 NMOS 및 PMOS 트랜지스터의 조합을 포함할 수 있다.
더 예시된 바와 같이, L/S 결합기(230)는 한 쌍의 트랜지스터 스위치(232, 234)를 포함한다. ON 상태(즉, 턴 온되는)에서 한 쌍 중 제 1 트랜지스터 스위치(232)를 배치하는 (예를 들어, 포트(F2)에서) 제어 신호를 어서트하는 것은 D/SRAM 셀(200)의 제 1 적재/저장 입력(202)에서의 데이터가 제 1 인버터(212)로 결합되고 제 1 인버터의 상태에 영향을 미치는 것을 허용한다. 특히, 제 1 인버터(212)의 상태는 예를 들어 D/SRAM 셀(200)이 동적 저장 모드에 있을 때 제 1 트랜지스터 스위치(232)를 통해 결합된 데이터에 영향을 받을 수 있다. 게다가, 제 1 트랜지스터 스위치(232)가 턴 온될 때, 제 1 인버터(212)는 마스터 인버터이다. 유사하게, ON 상태(즉, 턴 온되는)에서 한 쌍 중 제 2 트랜지스터 스위치(234)를 배치하는 (예를 들어, 포트(B2)에서) 제어 신호를 어서트하는 것은 예를 들어 D/SRAM 셀(200)이 동적 저장 모드에 있을 때 D/SRAM 셀(200)의 제 2 적재/저장 입력(204)에서의 데이터가 제 2 인버터(214)로 결합되고 제 2 인버터의 상태에 영향을 미치는 것을 허용한다. 게다가, 제 2 트랜지스터 스위치(234)가 턴 온될 때, 제 2 인버터(214)는 마스터 인버터이다. 예시된 바와 같이, L/S 결합기(230)의 한 쌍의 트랜지스터 스위치(232, 234)는 NMOS 트랜지스터로 예시된다. 다른 예(예시되지 않은)에서, L/S 결합기(230)는 PMOS 트랜지스터 또는 NMOS 및 PMOS 트랜지스터의 조합을 포함할 수 있다.
일부 예에 따르면, D/SRAM 셀(200) 내의 데이터는 예시된 바와 같이 출력 포트(206) 및 출력 포트(208) 중 하나 또는 둘 다를 통해 인접 D/SRAM 셀(200)로 결합될 수 있다. 예를 들어, D/SRAM 셀(200)의 출력 포트(206)는 데이터 다운시프팅을 용이하게 하기 위해 아래의 인접 D/SRAM 셀(예시되지 않은)의 제 1 적재/저장 입력 포트에 연결될 수 있다. D/SRAM 셀(200)의 출력 포트(208)는 예를 들어 데이터 업시프팅을 용이하게 하기 위해 위의 인접 D/SRAM 셀(예시되지 않은)의 제 2 적재/저장 입력 포트에 연결될 수 있다. 더 예시된 바와 같이, 데이터가 출력 포트(208)로 결합될 때, 제 2 인버터(214)는 슬레이브 인버터인 반면 제 1 인버터(212)는 데이터가 출력 포트(206)로 결합될 때 슬레이브 인버터이다. 데이터는 예를 들어 인접 D/SRAM 셀(예시되지 않은)의 L/S 결합기에 의해 출력 포트(206, 208)로부터 선택 가능하게 결합될 수 있다.
따라서, 데이터는 상기 논의된 바와 같이 트랜지스터 스위치(222, 224, 232 및 234) 중 다양한 것을 선택적으로 턴 온하고 오프함으로써 D/SRAM 셀(200)로 적재되고 D/SRAM 셀에 의해 저장될 수 있다. 예를 들어, D/SRAM 셀(200)은 트랜지스터 스위치(222, 224)를 턴 오프하거나 OFF 상태로 배치함으로써 동적 저장 모드에 배치될 수 있다. 그 다음, 제 1 및 제 2 적재/저장 입력(202, 204) 중 선택된 것 중에서의 데이터는, L/S 결합기(230)의 제 1 및 제 2 트랜지스터 스위치(232, 234) 중 선택된 것을 턴 온하거나 ON 상태로 배치함으로써 D/SRAM 셀(200)로 결합되어 데이터를 적재할 수 있다.
데이터가 제 1 및 제 2 인버터(212, 214) 중 선택된 것으로 적재된 후에, L/S 결합기 트랜지스터 스위치(232, 234) 중 어느 것이 턴 온되는 것에 따라, D/SRAM 셀(200)의 정적 저장 모드는 D/S 모드 선택기(220)의 한 쌍의 트랜지스터 스위치(222, 224)를 ON 상태로 배치함으로써 재설정되어 결합된 데이터를 저장할 수 있다. 일부 예에 따르면, L/S 결합기 트랜지스터 스위치(232, 234)는 가능한 결합된 데이터 손상을 회피하기 위해 동시에 또는 정적 저장 모드의 재설정 직전에 턴 오프될 수 있다.
게다가, 마스터 인버터의 출력에서의 각각의 트랜지스터 스위치(222, 224)는 일부 예에 따른 잠재적 경합 상태를 회피하기 위해 슬레이브 인버터의 출력에서의 다른 각각의 트랜지스터 스위치(222, 224) 전에 턴 오프될 수 있다. 예를 들어, 데이터가 L/S 결합기(230)의 제 1 트랜지스터 스위치(232)에 의해 제 1 인버터(212)로 적재되면, 이때 제 1 인버터(112)는 마스터 인버터이다. 이러한 예에서, 제 1 트랜지스터 스위치(222)는 경합 상태를 회피하기 위해 제 2 트랜지스터 스위치(224) 전에 우선 ON 상태에 배치될 수 있다.
도 3b는 본 명세서에 설명된 원리에 따르는 다른 예에 따른 D/SRAM 셀(200)의 개략도를 예시한다. 도 3b에 예시된 예에서, SRAM 셀(210)은 4T(four-transistor) SRAM 셀(210)로 실현된다. 4T SRAM 셀(210)은 제 1 및 제 2 인버터(212, 214)가 한 쌍의 트랜지스터 대신에 각각의 바이어스 저항기(212d, 214d)와 함께 단일의 각각의 트랜지스터(212c, 214c)를 사용하여 각각 구현되는 것을 제외하고 6T SRAM 셀(210)과 실질적으로 유사하다. 도 3b의 D/SRAM 셀(200)은 또한 이 예에 따라, 예시된 바와 같이, 한 쌍의 트랜지스터 스위치(222, 224)(예를 들어, 포트(F1 및 B1)에서의)에 의해 구현되는 D/S 모드 선택(220) 및 한 쌍의 트랜지스터 스위치(232, 234)(예를 들어, 포트(F2 및 B2)에서의)에 의해 구현되는 L/S 결합기(230)를 포함한다.
표 1은 상응하는 스위치 포트(즉, F1, F2, B1 및 B2)에 의해 식별되는 다양한 트랜지스터 스위치(222, 224, 232, 234)의 스위치 상태에 관한 D/SRAM 셀(200)의 동작을 요약한다. 특히, 표 1은 정적 저장 모드 및 동적 저장 모드 둘 다에서 D/SRAM 셀(200)의 스위치 상태를 포함한다. D/SRAM 셀(200)의 열에서 데이터의 다운 시프트 뿐만 아니라 업 시프트의 일 예에 대한 스위치 상태가 또한 제공된다.
Figure 112014071873128-pct00002
다른 SRAM 셀은 일부 예에 따라 도 3a 및 도 3b에 예시된 4T SRAM 셀(210) 또는 6T SRAM 셀(210) 중 어느 하나를 대체할 수 있다. 예를 들어, 도 3b의 4T SRAM 셀(210)은 소위 '무부하' 4T SRAM 셀(예시되지 않은)로 대체될 수 있다. 다른 예에서, 8T(eight-transistor) SRAM 셀 및 10T(ten-transistor) SRAM 셀(예시되지 않은)과 같지만, 이에 제한되지 않는 다른 SRAM 셀은 도 3a에 예시된 6T SRAM 셀(210) 대신에 이용될 수 있다. 모든 그러한 치환은 본 명세서에 설명된 원리의 범위 내에 있다.
도 4a는 본 명세서에 설명된 원리에 따르는 일 예에 따른 블록 시프트 정적 랜덤 액세스 메모리(block shift static random access memory(BS-SRAM))(300)의 블록도를 예시한다. 도 4b는 본 명세서에 설명된 원리에 따르는 일 예에 따른 도 4a에 예시된 BS-SRAM(300)의 일부에 대한 확장된 블록도를 예시한다. BS-SRAM(300)은 복수의 행(302) 및 복수의 열(304)을 갖는 어레이로 배열된 복수의 동적/정적 랜덤 액세스 메모리(dynamic/static random access memory(D/SRAM)) 셀(310)을 포함한다. 일부 예에서, 열(304)은 예를 들어 도 4b에 예시된 바와 같이 어레이의 제 1 행(302a) 내의 D/SRAM 셀(310) 및 제 2 행(302b) 내의 인접 D/SRAM 셀(310)을 포함할 수 있다. 다양한 예에서, 복수 중 D/SRAM 셀(310)은 상술된 D/SRAM 셀(100)과 실질적으로 유사할 수 있다. 특히, 일부 예에서, 복수 중 D/SRAM 셀(310)은 상술된 D/S 모드 선택기(120)와 실질적으로 유사한 D/S(dynamic/static) 모드 선택기(312)를 포함할 수 있다. 또한, D/SRAM 셀(300)은 일부 예에 따른 상술된 L/S 결합기(130)와 실질적으로 유사한 L/S(load/store) 결합기(314)를 더 포함할 수 있다.
특히, D/S 모드 선택기(312)는 일부 예에서, D/SRAM 셀(310)의 교차 결합 요소 사이에 분리 스위치를 포함할 수 있다. 분리 스위치는 예를 들어 교차 결합 요소의 선택 가능 결합 및 분리를 사용하여 동적 및 정적 저장 모드 사이에 스위칭을 제공하도록 구성될 수 있다. 분리 스위치는 다양한 예에 따른 D/SRAM 셀(100)에 대해 상술된 스위치, 예를 들어 한 쌍의 스위치(122, 124)와 실질적으로 유사할 수 있다.
일부 예에서, L/S 결합기(314)는 데이터를 BS-SRAM(300)의 열 내의 인접 D/SRAM 셀(310)로부터 D/SRAM 셀(310)로 선택적으로 결합하는 한 쌍의 스위치를 포함할 수 있다. 도 4a 및 도 4b에 예시된 L/S 결합기(314)의 한 쌍의 스위치는 일부 예에 따른 D/SRAM 셀(100)에 대해 설명된 L/S 결합기(130)의 제 1 및 제 2 스위치(132, 134)와 실질적으로 유사할 수 있다. 예를 들어, BS-SRAM(300)의 열 내의 복수의 D/SRAM 셀(310)이 제 1 행 내의 D/SRAM 셀(310) 및 제 1 행 위의 제 2 행 내의 인접 D/SRAM 셀(310) 둘 다를 포함할 때, 제 1 행 D/SRAM 셀(310)의 L/S 결합기(314)는 제 2 행 내의 인접 D/SRAM 셀(310)의 출력에 연결된 제 1 스위치를 포함할 수 있다. 제 1 스위치는 예를 들어 열 내의 데이터를 제 2 행 D/SRAM 셀(310)로부터 제 1 행 D/SRAM 셀(310)로 다운 시프트하도록 구성될 수 있다. 열이 제 1 행 아래의 제 3 행 내의 다른 인접 D/SRAM 셀(310)을 더 포함하는 일 예에서, L/S 결합기(314)는 제 3 행 내의 다른 인접 D/SRAM 셀의 출력에 연결된 제 2 스위치를 포함할 수 있다. 제 2 스위치는 예를 들어 열 내의 데이터를 제 3 행 D/SRAM 셀로부터 제 1 행 D/SRAM 셀로 업 시프트하도록 구성될 수 있다.
도 4a를 다시 참조하면, BS-SRAM(300)은 컨트롤러(320)를 더 포함한다. 컨트롤러(320)는 제 1 행(도 4a 및 도 4b의 만곡된 쌍두 화살표로 예시된) 내의 인접 D/SRAM 셀(310)로부터 D/SRAM 셀(310)로 시프트하도록 구성된다. 데이터는 다양한 예에 따른 컨트롤러(320)에 의해 제 1 행 D/SRAM 셀(310)의 L/S 결합기(314) 및 D/S 모드 선택기(312)의 선택적 활성화에 의해 시프트된다. 예를 들어, 인접 D/SRAM 셀(310)은 제 2 행(예를 들어, 제 1 행 위의 행) 내의 D/SRAM 셀(310)일 수 있다. 다른 예에서, 인접 D/SRAM 셀(310)은 제 3 행(예를 들어, 제 1 행 아래의 행)의 D/SRAM 셀(310)일 수 있다. 따라서, 제 1 행 D/SRAM 셀(310)의 L/S 결합기(314) 및 D/S 모드 선택기(312)와 함께 동작하는 컨트롤러(320)는 다양한 예에 따른 행 사이에서 데이터를 선택 가능하게 업 시프트하거나 다운 시프트하고 더 구체적으로 행 사이에서 그리고 BS-SRAM(300)의 열 내에서 데이터를 업 시프트하거나 다운 시프트할 수 있다.
일부 예에서, 컨트롤러(320)는 어레이에서 행의 서브세트를 선택하도록 구성된다. 특히, 컨트롤러(320)는 일부 예에서, INSERT 행과 DELETE 행 사이에서 행을 선택할 수 있다. 컨트롤러(320)는 예를 들어 행 제어 신호의 상응하는 세트를 어서트함으로써 INSERT 행과 DELETE 행 사이에서 행의 서브세트를 선택할 수 있다. 컨트롤러(320)에 의해 어서트되는 행 제어 신호는 일부 예에 따른 열별 제어 라인에 전달될 수 있다.
일부 예에 따르면, 컨트롤러(320)는 행의 선택된 서브세트 내에서만 D/SRAM 셀(310) 사이의 데이터를 시프트하도록 더 구성된다. 일부 예에서, 데이터의 시프트된 행은 예를 들어 BS-SRAM(300)에 저장된 데이터의 인접 서브세트를 나타낼 수 있다. 일부 예에 따르면, 데이터의 인접 서브세트는 BS-SRAM(300)의 전체 저장 크기보다 더 작은 크기를 갖는다. 게다가, BS-SRAM(300)의 컨트롤러(320)에 의해 제공되는 데이터 시프팅은 인접 서브세트가 컨트롤러(320)의 제어에 의해 또는 컨트롤러의 제어 하에 시프트될 때 인접 서브세트 내에 저장된 데이터만을 시프트한다. 데이터를 시프트하기 위해, 컨트롤러(320)는 제어 신호(F1, B1, F2 및 B2)를 D/SRAM 셀(310)에 적절히 제공할 수 있다.
일부 예에서, DELETE 행은 데이터가 BS-SRAM(300)에서 시프트될 때 데이터의 인접 행에 의해 중복 기재되는 인접 서브세트의 말단 단부에서의 행을 나타낼 수 있다. 따라서, DELETE 행 내의 데이터는 일부 예에 따른 컨트롤러(320)의 제어 하에 데이터를 시프트함으로써 실질적으로 삭제된다. INSERT 행은 예를 들어 데이터가 BS-SRAM(300)에서 시프트될 때 새로운 데이터를 삽입하는 데 이용 가능한 행을 나타낼 수 있다. 특히, INSERT 행은 일부 예에서 데이터가 시프트될 때 데이터의 새로운 행의 삽입을 위한 INSERT 행에 상응하는 인접 서브세트의 시작에서 생성되도록 인접 서브세트의 시작에 위치될 수 있다. 게다가, 다양한 예에 따르면, 시프트 방향(예를 들어, 업 또는 다운)은 일반적으로 시작 단부로부터(즉, INSERT 행으로부터) 인접 서브세트(즉, 행의 선택된 서브세트)를 포함하는 행의 범위(span)의 말단 단부를 향하는(즉, DELETE 행을 향하는) 것으로 정의된다. 따라서, INSERT 행이 DELETE 행 위에 있을 때(예를 들어, DELETE 행보다 더 작은 어드레스를 가질 때), 데이터 시프트는 다운 방향으로의 다운 시프트 또는 시프트로 정의된다. 대안으로, INSERT 행이 DELETE 행 아래에 있을 때, 데이터 시프트는 다양한 예에 따른 BS-SRAM(300) 내에서 업 방향으로의 업 시프트 또는 시프트이다. 물론, 데이터 시프트의 방향은 행의 범위의 어느 단부가 INSERT 행이고 어느 단부가 DELETE 행인지를 판단하므로, 행의 서브세트는 일부 예에 따른 INSERT 행 및 DELETE 행을 식별하기 위해 시프트 방향과 함께 지정될 수 있다.
일부 예에서, 컨트롤러(320)는 증강 디코더(322)를 포함한다. 증강 디코더(322)는 행(302)의 블록에서 저장된 데이터의 인접 서브세트를 선택하기 위해 어드레스 및 길이(또는 대안으로 제 1 및 마지막 메모리 셀 어드레스)에 관한 정보를 이용한다. 일부 예에서, 증강 디코더(322)는 BS-SRAM(300) 내에서 행(302)의 서브세트 각각에 상응하는 출력을 어서트하기 위해 정보(예를 들어, 인접 서브세트의 어드레스 및 길이)를 사용한다. 출력을 어서트하는 것은 예를 들어 증강 디코더(322)와 BS-SRAM(300) 사이의 연결 경로 또는 와이어(예를 들어, 행 제어 라인) 상에 로직 '1'을 출력하는 것을 포함할 수 있다. 따라서, 증강 디코더(322)는 BS-SRAM(300)의 복수의 행 제어 라인 상에 로직 '1'을 출력할 수 있으며, 행 제어 라인은 선택된 인접 서브세트의 저장된 데이터를 포함하는 행의 서브세트에 상응한다. 다른 예에서, 출력을 어서트하는 것은 로직 '0'을 출력하는 것을 포함한다. 따라서, 증강 디코더(322)는 다양한 예에 따른 INSERT 행과 DELETE 행 사이에서 행의 서브세트를 선택하기 위해 복수의 행 제어 신호를 제공하도록 구성된다. 행 제어 라인은 차례로, 일부 예에 따른 신호(F1, B1, F2 및 B2)(도 4a 또는 도 4b에 예시되지 않은)를 행의 선택된 서브세트의 적절한 포트(예를 들어, D/DRAM 셀(310)의 포트(F1, B1, F2 및 B2)(도 4a 또는 도 4b에 예시되지 않은))로 라우팅하도록 컨트롤러에 의해 이용될 수 있다.
도 5는 본 명세서에 설명된 원리의 일 예에 따른 도 4a에 예시된 예시적 증강 디코더(322)의 부분 진리 표를 예시한다. 특히, 예시된 진리 표에 상응하는 예시적 증강 디코더(322)는 8개의 행을 갖는 예시적 BS-SRAM(300)에서 행의 서브세트를 선택하도록 구성된다. 진리 표는 3개의 어드레스 입력(ADDR), 길이(LEN) 입력 및 8개의 행 제어 라인(R)(즉, R0 - R7)을 갖는다. 진리 표에 의해 예시된 바와 같이, '00'과 같은 LEN의 값에 대해, 예시적 증강 디코더(322)는 전통적인 디코더와 실질적으로 유사하게 기능한다(즉, 하나의 행 제어 라인(R)만이 한 번에 어서트됨). 그러나, 복수의 행 제어 라인(R)은 본 명세서에 설명된 원리에 따라 시프트될 저장된 데이터의 인접 서브세트를 유지하거나 저장하는 행의 선택된 서브세트에 상응하는 상응한 복수의 행의 동시 선택을 LEN의 모든 다른 값에 대해 어서트된다.
일부 예에서, 증강 디코더(322)는 ROM(read only memory)을 사용하여 구현될 수 있다. ROM은 예를 들어 증강 디코더(322)의 기능을 지정하는 진리 표로 프로그램될 수 있다. 예를 들어, ROM의 디코더는 입력(예를 들어, ADDR 및 LEN)을 디코딩하고 ROM 내의 프로그램된 연결은 ROM 디코더의 출력을 증대시켜 증강 디코더(322) 기능을 생성한다. 다른 예에서, 전통적인 디코더 또는 한 쌍의 전통적인 디코더(예를 들어, 각각 INSERT 행의 어드레스를 디코딩하고 DELETE 행의 어드레스를 디코딩하는 것)는 증강 디코더(322)를 구현하는 프로그램된 연결과 다른 출력 회로에 의해 증대될 수 있다. 다른 예에서, 증강 디코더(322)는 리플 캐스케이드(ripple cascade)를 사용하여 구현될 수 있다.
도 6은 본 명세서에 설명된 원리의 일 예에 따른 리플 캐스케이드를 이용하는 증강 디코더(322)의 일부(400)의 개략도를 예시한다. 특히, 도 6에 예시된 증강 디코더 일부(400)는 선택될 행의 서브세트에 사응하는 하나 이상의 행 제어 라인(R)(예를 들어 도 5에 예시된)을 어서트하도록 구성된다. 다양한 예에 따르면, 도 6에 예시된 증강 디코더 일부(400)는 INSERT 신호를 수신할 수 있다. 예를 들어, INSERT 신호는 INSERT 행의 어드레스를 디코딩하는 제 1 전통적인 디코더(예시되지 않은)에 의해 제공될 수 있다. INSERT 신호는 일부 예에서 BS-SRAM(300)(예를 들어 도 4a에 예시된)의 INSERT 행에 상응하고 래치될 수 있다. 일부 예에서, INSERT 신호의 역(즉, '
Figure 112014071873128-pct00003
'로 표시되는)이 또한 예를 들어 제공될 수 있다. 증강 디코더 일부(400)는 다양한 예에 따른 역 DELETE 신호(예를 들어, '
Figure 112014071873128-pct00004
'로 표시되는)를, 입력으로서 더 수신할 수 있다.
Figure 112014071873128-pct00005
신호는 일부 예에서 BS-RAM(300)의 DELETE 행에 상응하고 또한 래치될 수 있다. 증강 디코더 일부(400)는 또한 시프트가 발생될 때 어서트되는 SHIFT 신호 및
Figure 112014071873128-pct00006
신호를 수신할 수 있다. SHIFT 및
Figure 112014071873128-pct00007
신호는 예를 들어 컨트롤러(320)(예시되지 않은)의 다른 부분에 의해 제공될 수 있다.
예시된 바와 같이, 도 6에 예시된 증강 디코더 일부(400)는 복수의 고속 지연 회로(410)의 리플 캐스케이드를 포함하지만, 그러한 고속 지연 회로(410) 중 하나만이 예시 및 논의의 단순화를 위해 예시된다. 도 6에 예시된 엘립스(Ellipse)는 다른 고속 지연 회로(410)의 존재를 표시한다. BS-SRAM(300)의 각각의 행(302)(도 4a 및 도 4b의)은 행 제어 신호(Rn)를 행(302)에 공급하기 위해 리플 캐스케이드의 고속 지연 회로(410) 중 연관된 것을 갖는다. 행 제어 신호(Rn)은 다양한 행으로 제어 신호(F1, F2, B1 및 B2)(상술되고 도 2, 도 3a 및 도 3b에 예시된)의 분배를 제어하기 위해 각각의 행(302)에서 멀티플렉서(예시되지 않은)에 대한 입력의 역할을 할 수 있다. 제어 신호(F1, B1, F2 및 B2)는 예를 들어 컨트롤러(320)의 글로벌 클록 회로(예시되지 않은)에 의해 제공될 수 있다.
도 6에 예시된 바와 같이, 각각의 고속 지연 회로(410)는 입력 NAND 게이트(412), 인버터(414), 제 1 스위치(416) 및 제 2 스위치(418)를 포함한다. NAND 게이트(412)의 출력은 인버터(414)의 입력에 연결된다. 인버터(414)의 출력은 제 1 스위치(416)를 통해 고속 지연 회로(410)의 SHIFT-OUT 포트에 라우팅된다. 인버터(414)의 출력은 행 제어 신호(Rn)를 행(302)에 더 제공한다. 제 2 스위치(418)의 출력은 로직 '1'에 구속되는 반면 제 2 스위치(418)의 출력은 SHIFT-OUT 포트에 연결된다. 각각의 고속 지연 회로(410)의 NAND 게이트(412)는 인접 고속 지연 회로(410)의 SHIFT-OUT 포트로부터 출력을 수신하는 SHIFT-IN 포트를 갖는다. 예를 들어, 인접 고속 지연 회로(410)는 DS-SRAM(300)의 INSERT 행 단부에 더 가까운 행(302)에 대한 것일 수 있다. NAND 게이트(410)는 또한 다른 입력 포트에서
Figure 112014071873128-pct00008
신호에 상응하는 입력을 수신한다. 제 1 스위치(416)는 제 1 스위치 제어 신호(A)에 의해 제어(예를 들어, 폐쇄)되는 반면 제 2 스위치(418)는 제 2 스위치 제어 신호(
Figure 112014071873128-pct00009
)에 의해 제어(예를 들어, 폐쇄)된다. 일부 예에서, 제 1 스위치 제어 신호(A)는
Figure 112014071873128-pct00010
신호 및 SHIFT 신호의 논리 곱에 의해 제공되는 반면 제 2 스위치 제어 신호(
Figure 112014071873128-pct00011
)는 SHIFT 신호 및
Figure 112014071873128-pct00012
신호의 논리 곱에 의해 제공될 수 있다.
동작 중, 초기에 모든 행 제어 출력은 로직 '0' 상태로 설정된다. 시프트가 개시될 때, 제 1 스위치(416)는 개방(즉, 턴 오프)되고 제 2 스위치(418)는 INSERT 행(302)에 상응하는 고속 지연 회로(410)에서 폐쇄(즉, 턴 온)된다. 제 2 스위치(418)를 폐쇄하는 것은 리플 캐스케이드로 논리 '1'의 주입을 용이하게 한다. 주입된 로직 '1'은 DELETE 행(302)이 도달될 때까지 인접 고속 지연 회로(410)의 SHIFT-OUT로부터 리플 캐스케이드를 따라 SHIFT-IN으로 전달된다. DELETE 행의 고속 지연 회로(410)에서,
Figure 112014071873128-pct00013
신호는 NAND 게이트(412)에서 전달을 정지시키거나 차단한다. 리플 캐스케이드를 따라 로직 '1'의 전달로 인해, INSERT 행(302)과 DELETE 행(302) 사이의 행 제어 출력(Rn)의 모두는 로직 '1'로 설정된다. INSERT 행(302) 및 DELETE 행(302)에 의해 기술되는 행의 서브세트 외부의 다른 행 제어 출력(Rn)은 로직 '0'에 유지된다.
도 7은 본 명세서에 설명된 원리에 따르는 일 예에 따른 블록 시프트 정적 랜덤 액세스 메모리(block shift static random access memory(BS-SRAM))를 사용하여 데이터를 시프트하는 방법(500)의 흐름도를 예시한다. 예시된 바와 같이, 데이터를 시프트하는 방법(500)은 BS-SRAM의 행 내의 선택된 D/SRAM 셀을 정적 저장 모드로부터 동적 저장 모드로 스위칭하는 단계(510)를 포함한다. D/SRAM 셀은 일부 예에 따른 상숭된 D/SRAM 셀(100)과 실질적으로 유사할 수 있다.
다양한 예에 따르면, D/SRAM 셀을 스위칭하는 단계(510)는 D/SRAM 셀의 교차 결합 요소를 분리함으로써 제공될 수 있다. 예를 들어, 분리는 교차 결합 요소 사이에서 교차 결합 연결에 위치된 하나 이상의 스위치를 개방함으로써 제공될 수 있다. 스위치를 개방하는 것은 동적 저장 모드를 생성하기 위해 연결을 차단하고 서로로부터 교차 결합 요소를 격리시킨다. 일부 예에서, 스위치는 실질적인 동시 방식으로 개방될 수 있다.
스위치는 예를 들어 D/S(dynamic/static) 모드 선택기에 의해 제공될 수 있다. 일부 예에 따르면, D/S 모드 선택기는 D/SRAM 셀(100)에 대해 상술된 D/S 모드 선택기(120)와 실질적으로 유사할 수 있다. 일부 예에서, 교차 결합 요소는 D/SRAM 셀(100)에 대해 상술된 한 쌍의 교차 결합 요소(112, 114)와 실질적으로 유사할 수 있다. 예를 들어, 교차 결합 요소는 한 쌍의 인버터를 포함할 수 있고 D/S 모드 선택기는 한 쌍의 트랜지스터 스위치를 포함할 수 있다.
데이터를 시프트하는 방법(500)은 데이터를 인접 메모리 셀로부터 선택된 D/SRAM 셀로 결합하는 단계(520)를 더 포함한다. 다양한 예에 따르면, 인접 메모리 셀은 선택된 D/SRAM 셀의 행에서 떨어진 BS-SRAM의 다른 행에 있을 수 있다. 일부 예에서, 선택된 D/SRAM 셀은 BS-SRAM의 열에 있다. 인접 메모리 셀은 예를 들어 동일한 열 내의 다른 D/SRAM 셀일 수 있다. 데이터를 인접 메모리 셀로부터 선택된 D/SRAM 셀로 결합하는 단계(520)는 선택된 D/SRAM 셀에 데이터를 적재하도록 구성된다. 특히, 데이터는 선택된 D/SRAM 셀의 교차 결합 요소의 마스터 요소로 적재된다.
일부 예에서, 데이터를 인접 메모리 셀로부터 결합하는 단계(520)는 L/S(load/shift) 결합기를 이용하는 단계를 포함한다. L/S 결합기는 예를 들어 선택된 D/SRAM 셀의 입력을 인접 메모리 셀의 출력에 연결할 수 있다. 결합된 데이터는 예를 들어 L/S 결합기를 통해 송신될 수 있다. 일부 예에서, L/S 결합기는 D/SRAM 셀(100)에 대해 상술된 L/S 결합기(130)와 실질적으로 유사할 수 있다. 특히, L/S 결합기는 예를 들어 활성화될 때, L/S 결합기를 통해 데이터의 송신을 용이하게 하는 스위치(예를 들어, 트랜지스터 스위치)를 포함할 수 있다.
데이터를 시프트하는 방법(500)은 선택된 D/SRAM 셀을 다시 정적 저장 모드로 스위칭함으로써 결합되고 적재된 데이터를 저장하는 단계(530)를 더 포함한다. 선택된 D/SRAM 셀은 예를 들어 D/S 모드 선택기에 의해 정적 저장 모드로 다시 스위칭될 수 있다. 일부 예에서, 제 1 스위치(예를 들어, D/S 모드 선택기의)가 우선 폐쇄되며; 즉, 스위치는 인접 메모리 셀로부터 결합된 데이터를 수신하는 결합 요소의 출력과 다른 결합 요소의 입력 사이에 연결된다. 제 1 스위치가 폐쇄된 후에, 다른 결합 요소의 출력과 수신 결합 요소 사이에 연결된 제 2 스위치가 폐쇄된다. 제 1 스위치 및 그 다음 제 2 스위치를 순차적으로 폐쇄하는 것은 예를 들어 스위치를 폐쇄함으로써 결합이 재설정되면 교차 결합 요소에서 경합 상태의 전개를 회피할 수 있다.
일부 예에서, 데이터를 시프트하는 방법(500)은 D/SRAM 셀을 선택하는 단계(540)를 더 포함한다. 일부 예에서, D/SRAM 셀을 선택하는 단계(540)는 INSERT 행 어드레스 및 DELETE 행 어드레스를 제공하는 단계를 포함한다. 이러한 예에서, 선택된 D/SRAM 셀(들)를 스위칭하는 단계(510), 데이터를 인접 메모리 셀로부터 결합하는 단계(520), 및 결합된 데이터를 스위칭하는 단계(530)는 INSERT 행 어드레스와 DELETE 행 어드레스 사이의 선택된 행 내의 복수의 D/SRAM 셀 각각에 수행된다. D/SRAM 셀을 선택하는 단계(540), 선택된 D/SRAM 셀(들)을 스위칭하는 단계(510), 데이터를 결합하는 단계(520), 및 결합된 데이터를 저장하는 단계(530)는 수개의 예에 따른 INSERT 행 어드레스와 DELETE 행 어드레스 사이의 BS-SRAM 행에 저장된 데이터의 블록 시프트를 야기한다.
따라서, 동적/정적 랜덤 액세스 메모리(dynamic/static random access memory(D/SRAM)) 셀, 블록 시프트 정적 랜덤 액세스 메모리(block shift static random access memory(BS-SRAM)), 및 데이터를 시프트하기 위해 동적 저장 모드와 정적 저장 모드 사이에서 스위칭을 이용하는 BS-SRAM을 사용하여 데이터를 시프트하는 방법의 예가 설명되었다. 상술된 예는 본 명세서에 설명된 원리를 나타내는 많은 특정 예의 일부를 단지 예시한다는 점이 이해되어야 한다. 명백하게, 당업자는 이하의 청구범위에 의해 정의된 바와 같은 범위로부터 벗어나지 않으면서 많은 다른 배열을 용이하게 안출할 수 있다.

Claims (15)

  1. 동적/정적 랜덤 액세스 메모리(dynamic/static random access memory(D/SRAM)) 셀로서,
    데이터를 저장하기 위해 한 쌍의 교차 결합 요소(a pair of cross-coupled elements)를 갖는 정적 랜덤 액세스 메모리(static random access memory; SRAM) 셀과,
    동적 저장 모드와 정적 저장 모드 사이에서 상기 D/SRAM 셀을 선택 가능하게 스위칭하는 D/S(dynamic/static) 모드 선택기 - 상기 D/S 모드 선택기는 상기 SRAM 셀의 상기 한 쌍의 교차 결합 요소를 선택 가능하게 결합하고 분리하는 스위치를 포함함 - 를 포함하되,
    상기 동적 저장 모드는 분리된 교차 결합 요소에 상응하고 상기 정적 저장 모드는 결합된 교차 결합 요소에 상응하는
    동적/정적 랜덤 액세스 메모리 셀.
  2. 제 1 항에 있어서,
    상기 교차 결합 요소는 제 2 인버터에 교차 결합된 제 1 인버터를 포함하고, 상기 스위치는 상기 제 1 인버터의 출력과 상기 제 2 인버터의 입력 사이에 연결된 제 1 트랜지스터 스위치 및 상기 제 2 인버터의 출력과 상기 제 1 인버터의 입력 사이에 연결된 제 2 트랜지스터 스위치를 포함하고, 상기 동적 저장 모드는 상기 교차 결합된 제 1 및 제 2 인버터를 분리하기 위해 상기 제 1 트랜지스터 스위치 및 상기 제 2 트랜지스터 스위치 둘 다의 OFF 상태에 의해 제공되는
    동적/정적 랜덤 액세스 메모리 셀.
  3. 제 1 항에 있어서,
    상기 SRAM 셀은 6T(six transistor) SRAM 셀인
    동적/정적 랜덤 액세스 메모리 셀.
  4. 제 1 항에 있어서,
    데이터를 인접 메모리 셀로부터 상기 D/SRAM 셀로 선택 가능하게 결합하는 L/S(load/store) 결합기 - 상기 동적 저장 모드에서 상기 D/SRAM 셀은 결합된 데이터를 적재하고, 상기 정적 저장 모드에서 상기 D/SRAM 셀은 상기 결합된 데이터를 저장함 - 를 더 포함하는
    동적/정적 랜덤 액세스 메모리 셀.
  5. 제 4 항에 있어서,
    상기 L/S 결합기는
    제 1 인접 메모리 셀로부터 데이터를 선택 가능하게 결합하기 위해 상기 D/SRAM 셀의 제 1 적재/저장 입력과 상기 SRAM 셀의 제 1 교차 결합 요소 사이에 연결된 제 1 스위치와,
    제 2 인접 메모리 셀로부터 데이터를 선택 가능하게 결합하기 위해 상기 D/SRAM 셀의 제 2 적재/저장 입력과 상기 SRAM 셀의 제 2 교차 결합 요소 사이에 연결된 제 2 스위치를 포함하는
    동적/정적 랜덤 액세스 메모리 셀.
  6. 제 4 항에 있어서,
    상기 D/SRAM 셀은 메모리 셀의 제 1 행의 부재이고 상기 인접 메모리 셀은 메모리 셀의 제 2 행 내의 D/SRAM 셀인
    동적/정적 랜덤 액세스 메모리 셀.
  7. 블록 시프트 정적 랜덤 액세스 메모리(block shift static random access memory(BS-SRAM))로서,
    열로 배열되며 복수의 다른 메모리 셀을 포함하는 제 4 항의 상기 D/SRAM 셀을 포함하고,
    상기 BS-SRAM은 상기 L/S 결합기 및 상기 D/S 모드 선택기의 선택적 활성화에 의해 데이터를 상기 열 내의 상기 인접 메모리 셀로부터 상기 D/SRAM 셀로 시프트하는 컨트롤러를 더 포함하고, 상기 선택적 활성화는 상기 인접 메모리 셀이 상기 D/SRAM 셀 위의 위치에서의 열에 있을 때 상기 데이터의 다운 시프트를 제공하고 상기 인접 메모리 셀이 상기 D/SRAM 셀 아래의 위치에서의 열에 있을 때 상기 데이터의 업 시프트를 제공하는
    블록 시프트 정적 랜덤 액세스 메모리.
  8. 블록 시프트 정적 랜덤 액세스 메모리(block shift static random access memory(BS-SRAM))로서,
    행 및 열을 갖는 어레이로 배열된 복수의 동적/정적 랜덤 액세스 메모리(dynamic/static random access memory(D/SRAM)) 셀 - 상기 D/SRAM 셀 각각은 D/S(dynamic/static) 모드 선택기 및 L/S(load/store) 결합기를 포함함 - 과,
    제 1 행 D/SRAM 셀의 L/S 결합기 및 D/S 모드 선택기의 선택적 활성화에 의해 데이터를 상기 어레이 내의 제 2 행 내의 인접 D/SRAM 셀로부터 제 1 행 내의 D/SRAM 셀로 시프트하는 컨트롤러를 포함하되,
    상기 D/S 모드 선택기는 교차 결합 요소의 선택 가능 분리를 사용하여 상기 D/SRAM 셀의 동적 저장 모드와 정적 저장 모드 사이에서 스위칭을 제공하기 위해 상기 D/SRAM 셀의 교차 결합 요소 사이에 분리 스위치(a decoupling switch)를 포함하는
    블록 시프트 정적 랜덤 액세스 메모리.
  9. 제 8 항에 있어서,
    상기 제 1 행 내의 상기 D/SRAM 셀 및 상기 제 2 행 내의 상기 인접 D/SRAM 셀 둘 다는 제 3 행 내의 다른 인접 D/SRAM 셀과 함께 상기 어레이의 공통 열에 있고, 상기 제 2 행은 상기 제 1 행 위에 있고 상기 제 3 행은 상기 제 1 행 아래에 있고,
    상기 제 1 행 D/SRAM 셀의 상기 L/S 결합기는
    상기 제 2 행 내의 상기 인접 D/SRAM 셀의 출력에 연결된 제 1 스위치 - 상기 제 1 스위치는 상기 열 내의 데이터를 상기 인접 제 2 행 D/SRAM 셀로부터 상기 제 1 행 D/SRAM 셀로 다운 시프트함 - 와,
    상기 제 3 행 내의 상기 다른 인접 D/SRAM 셀의 출력에 연결된 제 2 스위치 - 상기 제 2 스위치는 상기 열 내의 데이터를 상기 인접 제 3 행 D/SRAM 셀로부터 상기 제 1 행 D/SRAM 셀로 업 시프트함 - 를 포함하는
    블록 시프트 정적 랜덤 액세스 메모리.
  10. 제 8 항에 있어서,
    상기 D/SRAM 셀은 6T(six transistor) SRAM 셀을 더 포함하고, 상기 교차 결합 요소는 상기 6T SRAM 셀의 4개의 트랜지스터에 의해 구현되는 한 쌍의 교차 결합 인버터를 포함하고, 상기 D/S 모드 선택기는 상기 한 쌍의 교차 결합 인버터 사이의 교차 결합 연결 내의 한 쌍의 트랜지스터를 포함하고, 상기 분리 스위치는 상기 교차 결합 연결을 선택 가능하게 연결 해제하고 선택 가능하게 연결하기 위해 상기 한 쌍의 트랜지스터를 사용하는
    블록 시프트 정적 랜덤 액세스 메모리.
  11. 제 8 항에 있어서,
    상기 컨트롤러는 INSERT 행과 DELETE 행 사이에서 상기 어레이 내의 행의 서브세트를 선택하도록 구성되고, 상기 컨트롤러는 상기 행의 선택된 서브세트 내에서만 D/SRAM 셀 사이의 데이터를 시프트하도록 더 구성되고, 상기 행의 선택된 서브세트의 상기 시프트된 데이터는 상기 BS-SRAM에 저장된 상기 데이터의 인접 서브세트를 나타내고,
    상기 데이터의 상기 인접 서브세트는 상기 BS-SRAM의 전체 저장 크기보다 더 작은 크기를 갖고, 상기 컨트롤러는 상기 인접 서브세트가 시프트될 때 상기 인접 서브세트 내에 저장된 데이터만을 시프트하는
    블록 시프트 정적 랜덤 액세스 메모리.
  12. 제 11 항에 있어서,
    상기 컨트롤러는 상기 행의 서브세트를 선택하기 위해 복수의 행 제어 신호를 제공하는 증강 디코더(an augmented decoder) 및 복수의 클록 신호를 상기 행의 선택된 서브세트에 제공하는 클록 신호 생성기를 포함하고,
    상기 복수의 클록 신호는
    상기 D/SRAM 셀을 정적 저장 모드로부터 상기 동적 저장 모드로 스위칭하기 위해 상기 D/SRAM 셀의 상기 D/S 모드 선택기를 상기 행의 선택된 서브세트에서 활성화시키고,
    데이터를 다른 행 내의 인접 D/SRAM 셀로부터 상기 행의 D/SRAM 셀로 적재하기 위해 상기 D/SRAM 셀의 상기 L/S 결합기를 상기 행의 선택된 서브세트에서 선택적으로 활성화시키고,
    상기 D/SRAM 셀을 정적 저장 모드로 리턴함으로써 상기 적재된 데이터를 저장하기 위해 상기 D/SRAM 셀의 상기 L/S 결합기 및 상기 D/S 모드 선택기를 비활성화시키는
    블록 시프트 정적 랜덤 액세스 메모리.
  13. 블록 시프트 정적 랜덤 액세스 메모리(block shift static random access memory(BS-SRAM))를 사용하여 데이터를 시프트하는 방법으로서,
    D/SRAM 셀의 교차 결합 요소를 분리함으로써 상기 BS-SRAM의 행 내의 선택된 D/SRAM 셀을 정적 저장 모드로부터 동적 저장 모드로 스위칭하는 단계와,
    상기 데이터를 적재하기 위해 데이터를 상기 BS-SRAM의 다른 행 내의 인접 메모리 셀로부터 상기 선택된 D/SRAM 셀로 결합하는 단계와,
    상기 선택된 D/SRAM 셀을 다시 상기 정적 저장 모드로 스위칭함으로써 상기 결합된 데이터를 저장하는 단계를 포함하는
    방법.
  14. 제 13 항에 있어서,
    상기 선택된 D/SRAM 셀을 스위칭하는 단계는 상기 교차 결합 요소를 분리하기 위해 상기 교차 결합 요소 사이에서 교차 결합 연결 내의 D/S(dynamic/static) 모드 선택기의 스위치를 개방하는 단계를 포함하고, 데이터를 결합하는 단계는 상기 선택된 D/SRAM 셀의 입력을 상기 인접 메모리 셀의 출력에 연결하기 위해 L/S(load/shift) 결합기를 이용하는 단계를 포함하고, 상기 결합된 데이터는 상기 L/S 결합기를 통해 송신되는
    방법.
  15. 제 13 항에 있어서,
    상기 행에서 상기 D/SRAM 셀을 선택하는 단계를 더 포함하고,
    상기 D/SRAM 셀을 선택하는 단계는
    INSERT 행 어드레스 및 DELETE 행 어드레스를 제공하는 단계와,
    복수의 D/SRAM 셀을 갖는 상기 BS-SRAM의 하나 이상의 행을 선택하는 단계 - 상기 선택된 하나 이상의 행은 상기 INSERT 행 어드레스와 상기 DELETE 행 어드레스 사이에 있으며, 데이터를 결합하는 단계 및 상기 결합된 데이터를 저장하는 단계는 상기 선택된 행 내의 상기 복수의 D/SRAM 셀 상에 수행됨 - 를 포함하고,
    상기 D/SRAM 셀을 선택하는 단계, 데이터를 결합하는 단계 및 상기 결합된 데이터를 저장하는 단계는 상기 INSERT 행 어드레스와 상기 DELETE 행 어드레스 사이에서 상기 BS-SRAM에 저장된 상기 데이터의 블록 시프트를 야기하는
    방법.
KR1020147021344A 2012-01-30 2012-01-30 동적/정적 랜덤 액세스 메모리(d/sram) KR101564524B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/023197 WO2013115778A1 (en) 2012-01-30 2012-01-30 Dynamic/static random access memory (d/sram)

Publications (2)

Publication Number Publication Date
KR20140116177A KR20140116177A (ko) 2014-10-01
KR101564524B1 true KR101564524B1 (ko) 2015-10-29

Family

ID=48905637

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147021344A KR101564524B1 (ko) 2012-01-30 2012-01-30 동적/정적 랜덤 액세스 메모리(d/sram)

Country Status (3)

Country Link
US (1) US9466352B2 (ko)
KR (1) KR101564524B1 (ko)
WO (1) WO2013115778A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2727114B1 (en) 2011-06-28 2020-04-22 Hewlett-Packard Enterprise Development LP Shiftable memory
EP2771885B1 (en) 2011-10-27 2021-12-01 Valtrus Innovations Limited Shiftable memory supporting atomic operation
CN103890857B (zh) * 2011-10-27 2017-02-15 慧与发展有限责任合伙企业 采用环形寄存器的可移位的存储器
US9589623B2 (en) 2012-01-30 2017-03-07 Hewlett Packard Enterprise Development Lp Word shift static random access memory (WS-SRAM)
US9542307B2 (en) 2012-03-02 2017-01-10 Hewlett Packard Enterprise Development Lp Shiftable memory defragmentation
US9384824B2 (en) * 2012-07-10 2016-07-05 Hewlett Packard Enterprise Development Lp List sort static random access memory
US9922696B1 (en) * 2016-10-28 2018-03-20 Samsung Electronics Co., Ltd. Circuits and micro-architecture for a DRAM-based processing unit
US10950296B2 (en) 2018-07-16 2021-03-16 Taiwan Semiconductor Manufacturing Company, Ltd. Latch circuit formed from bit cell
US10847215B2 (en) * 2019-04-29 2020-11-24 Arm Limited Bitcell shifting technique

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4864544A (en) 1986-03-12 1989-09-05 Advanced Micro Devices, Inc. A Ram cell having means for controlling a bidirectional shift
US20090010043A1 (en) 2006-08-11 2009-01-08 International Business Machines Configurable SRAM System and Method
JP2009099165A (ja) 2007-10-12 2009-05-07 Toshiba Corp 半導体記憶装置
JP2010238284A (ja) 2009-03-30 2010-10-21 Kobe Univ 不良メモリセルの予知診断アーキテクチャーと予知診断方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3766534A (en) * 1972-11-15 1973-10-16 Ibm Shift register storage unit with multi-dimensional dynamic ordering
US4813015A (en) * 1986-03-12 1989-03-14 Advanced Micro Devices, Inc. Fracturable x-y storage array using a ram cell with bidirectional shift
US5652723A (en) 1991-04-18 1997-07-29 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device
US5631863A (en) * 1995-02-14 1997-05-20 Honeywell Inc. Random access memory cell resistant to radiation induced upsets
KR19980033054A (ko) 1996-10-23 1998-07-25 윌리엄비.켐플러 프로그램 가능 메모리 액세스
US6157990A (en) 1997-03-07 2000-12-05 Mitsubishi Electronics America Inc. Independent chip select for SRAM and DRAM in a multi-port RAM
US6222757B1 (en) 1998-02-25 2001-04-24 Xilinx, Inc. Configuration memory architecture for FPGA
JP2000339954A (ja) 1999-05-31 2000-12-08 Fujitsu Ltd 半導体記憶装置
US6327175B1 (en) 1999-09-13 2001-12-04 Cypress Semiconductor Corporation Method and apparatus for controlling a memory array with a programmable register
JP2004296040A (ja) 2003-03-28 2004-10-21 Renesas Technology Corp 半導体記憶装置
US20060274585A1 (en) 2005-06-03 2006-12-07 Jung Chang H Memory device with row shifting for defective row repair
JP5038657B2 (ja) 2006-06-26 2012-10-03 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US7474574B1 (en) 2007-07-02 2009-01-06 International Business Machines Corporation Shift register latch with embedded dynamic random access memory scan only cell
JP2009059434A (ja) 2007-08-31 2009-03-19 Toshiba Corp 半導体集積回路
US8218378B2 (en) 2009-10-14 2012-07-10 International Business Machines Corporation Word-line level shift circuit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4864544A (en) 1986-03-12 1989-09-05 Advanced Micro Devices, Inc. A Ram cell having means for controlling a bidirectional shift
US20090010043A1 (en) 2006-08-11 2009-01-08 International Business Machines Configurable SRAM System and Method
JP2009099165A (ja) 2007-10-12 2009-05-07 Toshiba Corp 半導体記憶装置
JP2010238284A (ja) 2009-03-30 2010-10-21 Kobe Univ 不良メモリセルの予知診断アーキテクチャーと予知診断方法

Also Published As

Publication number Publication date
US9466352B2 (en) 2016-10-11
US20140379977A1 (en) 2014-12-25
KR20140116177A (ko) 2014-10-01
WO2013115778A1 (en) 2013-08-08

Similar Documents

Publication Publication Date Title
KR101564524B1 (ko) 동적/정적 랜덤 액세스 메모리(d/sram)
CN106328181B (zh) 双端口寄存器组、系统和方法
EP2727114B1 (en) Shiftable memory
CN108231106B (zh) 用于与单端口sram一起使用的可配置伪双端口架构
US6430088B1 (en) Embedded static random access memory for field programmable gate array
US9846565B2 (en) Shiftable memory employing ring registers
US6876228B2 (en) Field programmable gate array
WO2013062596A1 (en) Row shifting shiftable memory
US6848067B2 (en) Multi-port scan chain register apparatus and method
CN101346772B (zh) 存储电路及控制该存储电路的方法
GB2235073A (en) Semiconductor memory device with test circuit
KR101660611B1 (ko) 워드 시프트 정적 랜덤 액세스 메모리(ws-sram)
US11580059B2 (en) Multi-port memory architecture for a systolic array
EP1251520B1 (en) Random access memory
CN103928048A (zh) 带有匹配地址和数据线控制的多端口存储器
JP2013065391A (ja) メモリ仲裁回路網
US8862836B2 (en) Multi-port register file with an input pipelined architecture with asynchronous reads and localized feedback
US5121354A (en) Random access memory with access on bit boundaries
US5594700A (en) Sequential memory
CN109003635A (zh) 数据复制
KR20220008901A (ko) 시프터블 메모리 및 시프터블 메모리를 동작시키는 방법
WO2014011149A1 (en) List sort static random access memory
CN113140238B (zh) 存储器电路及其操作方法以及信号网络
KR102066833B1 (ko) 기록 경쟁이 없고, 잡음 내성이 있는 다중-포트 비트셀
US6351139B1 (en) Configuration bit read/write data shift register

Legal Events

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

Payment date: 20181015

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 5