JP2008146812A - メモリ・アレイからデータを読み出す方法、メモリ・アレイ及びデータ処理装置 - Google Patents

メモリ・アレイからデータを読み出す方法、メモリ・アレイ及びデータ処理装置 Download PDF

Info

Publication number
JP2008146812A
JP2008146812A JP2007291987A JP2007291987A JP2008146812A JP 2008146812 A JP2008146812 A JP 2008146812A JP 2007291987 A JP2007291987 A JP 2007291987A JP 2007291987 A JP2007291987 A JP 2007291987A JP 2008146812 A JP2008146812 A JP 2008146812A
Authority
JP
Japan
Prior art keywords
memory cell
data value
polarity
memory
cell row
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2007291987A
Other languages
English (en)
Inventor
G Truong Bao
バオ・ジー・チュオン
Michael Ju Hyeok Lee
マイケル・ジュヒョク・リー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008146812A publication Critical patent/JP2008146812A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2227Standby or low power modes

Landscapes

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

Abstract

【課題】SRAMアレイのアクセス中にSRAMアレイによって消費される電力の量を削減するための機構を提供する。
【解決手段】SRAMアレイへ書き込み中の一の入力行の極性を決定するための論理手段と、SRAMアレイの各行ごとに一の極性値を追加SRAMセルに格納するための論理手段と、当該追加SRAMセルに格納された極性値に基づいて決定されるように、一の行が「1」のデータ値よりも多い「0」のデータ値を保持している場合に、当該行内のSRAMセルの値を反転形式で読み出すための論理手段と、前記追加SRAMセルに格納された極性値に基づいて決定されるように、前記行内のSRAMセルから読み出されるデータが真数データ値又は補数データ値のどちらを表すかを下流の論理手段に通知するための論理手段が設けられる。
【選択図】図8

Description

本発明は、メモリ・アレイの消費電力を削減するための装置及び方法に係り、さらに詳細に説明すれば、過半数評価(majority evaluation)を通して、静的ランダム・アクセス・メモリ(SRAM)アレイの消費電力を削減するための装置及び方法に係る。
SRAMは、最近のデータ処理装置内で利用されている半導体メモリの1つの種類である。「静的」という用語は、SRAMが電力を印加している限りその内容を保持する種類のメモリであって、周期的なリフレッシュを必要とする動的RAM(DRAM)とは異なることを示す。しかし、SRAMは、電力を連続的に印加している間だけデータを保持するから、これを読み取り専用メモリ(ROM)及びフラッシュ・メモリと混同してはならない。「ランダム アクセス」という用語は、最後にアクセスされたメモリ位置に拘わらず、メモリ内の位置を対象とする書き込み又は読み出しを任意の順に行うことができることを意味する。
一般的なアーキテクチャでは、SRAMセル内の各ビットは、交差結合された2つのインバータを形成する4つのトランジスタに格納される。このSRAMセルは、「0」及び「1」のデータ値を表すために使用される2つの安定状態を有する。追加の2つのアクセス・トランジスタは、読み出し及び書き込み動作中にメモリ・セルへのアクセスを制御する役目をする。一般に、1ビットを格納するのに、6つの電界効果トランジスタ(MOSFET)が必要である。
図1は、公知の6トランジスタ(6T)型SRAMセルを示す。SRAMセル100へのアクセスは、2つのアクセス・トランジスタ120及び130を制御するワード線(WL)110によって可能になる。アクセス・トランジスタ120及び130は、SRAMセル100がビット線BL 140及びBL’150に接続されるべきか否かを制御する。ビット線BL 140及びBL’150は、読み出し及び書き込み動作の両方に対するデータを転送するために使用される。また、SRAMセル100は、2つのインバータ160及び170を含み、その各々は2つのトランジスタ(図示せず)から成る。各インバータ160及び170の2つのトランジスタと、アクセス・トランジスタ120及び130とは、6T型SRAMセル構成を形成する。一般に、これらのSRAMセル100を複数の行及び複数の列に配設して構成されるSRAMアレイは、データ処理装置用のSRAMメモリを提供するために使用される。
SRAMセル100は、3つの可能な状態として、スタンバイ状態、読み出し状態及び書き込み状態を有する。スタンバイ状態では、ワード線110上の信号はアサートされない。その結果、アクセス・トランジスタ120及び130は、SRAMセル100をビット線BL 140及びBL’150から分離する。交差結合された2つのインバータ160及び170は、それらがビット線BL 140及びBL’150から分離される限り、それぞれの安定状態を相互に強化し続ける。
読み出し状態では、ビット線BL 140及びBL’150は、高電圧状態に相当する論理「1」に再充電(プリチャージ)される。その後、ワード線110上の信号がアサートされて、アクセス・トランジスタ120及び130を両方ともイネーブルする。ここで、SRAMセル100が論理「1」の値をQとして格納しているものと仮定すると、インバータ160及び170内の値、すなわちQ及びQ’は、ビット線BL 140をその再充電値に維持するとともに、ビット線BL’150を、アクセス・トランジスタ130及びインバータ160のNFETを通して、低電圧状態に相当する論理「0」に放電させることによって、ビット線BL 140及びBL’150に転送される。ビット線BL 140の側では、ビット線BL 140の電圧は、アクセス・トランジスタ130及びインバータ170のPFETによって、VDD(論理「1」=高電圧状態)の方にプルされる。もし、SRAMセル100の内容が論理「0」(Q=0)であったならば、反対の状況が生じて、ビット線BL’150は論理「1」の方にプルされ、ビット線BL 140は論理「0」の方に放電されることになろう。
書き込みサイクルが開始するのは、書き込むべき値がビット線BL 140及びBL’150に印加される場合である。もし、SRAMセル100に対し「0」の値を書き込むのであれば、ビット線BL’150を論理「1」にセットし且つビット線BL 140を論理「0」にセットすることによって、これらのビット線に「0」の値が印加される。SRAMセル100に対し「1」の値を書き込むには、ビット線BL 140及びBL’150の値を反対にすればよい。その後、ワード線110上の信号がアサートされ、それに応じて、格納すべき値がSRAMセル100にラッチ入力される。
この技術が良好に作用する理由は、ビット線入力ドライバがSRAMセル100それ自体の比較的弱いトランジスタよりも遙かに強力になるように設計されていて、これらのドライバが交差結合されたインバータ160及び170の以前の状態を容易に無視することができる、という点にある。適正な動作を保証するためには、SRAMセル100内にあるトランジスタのサイズを注意深く定めることが必要である。
図2に示すように、他の公知のSRAMセル・アーキテクチャは、8つのトランジスタを使用する。この8トランジスタ(8T)型SRAMセル・アーキテクチャでは、書き込み動作は、図1の6T型SRAMセルと同じように行われる。しかし、このアーキテクチャでは、ビット線BL 240及びBL’250は、SRAMセル200からの値を読み出すためには使用されない。
すなわち、8T型SRAMセル200からの値を読み出すために、読み出しビット線RBL 280が設けられ、論理「1」に再充電される。その後、読み出しワード線260上の信号がアサートされ、これに応じて、目標とする行(SRAMセル行)内の全てのSRAMセル200のために読み出しポートrp<n>がイネーブルされる。SRAMセル200の内容に基づいて、読み出しビット線RBL 280は、再充電状態(論理「1」)に維持されるか、又は論理「0」に放電される。例えば、SRAMセル200の内容が「1」のデータ値であれば、読み出しビット線RBL 280は、再充電状態に維持される。一方、SRAMセル200の内容が「0」のデータ値であれば、読み出しビット線RBL 280は、論理「0」に放電される。SRAMセル200が読み出しビット線RBL 280を放電させることができる速度に依存して、読み出しビット線RBL 280は、ワード線210上の信号がアサートされた後で、しかも次の再充電パルスが読み出しビット線RBL 280をクリアする前に、目標とするSRAMセルの値を保持する。
読み出し動作中にビット線の充放電を行うことは、SRAMアレイで大量の電力を消費する。従って、SRAMアレイのアクセス中にSRAMアレイによって消費される電力量を削減することは有益であろう。
本発明の目的は、SRAMアレイのアクセス中にSRAMアレイによって消費される電力量を削減するための機構を提供することにある。
本発明の機構は、放電及びその後の再充電を必要とするSRAMアレイの読み出しビット線(RBL)の数を最少化することによって、SRAMアレイの消費電力を削減する。この最小化を可能にする回路は、各SRAMセル行(以下単に「行」又は「メモリ・セル行」とも称する)の多数決関数を実行し且つその結果的な情報を使用することにより、SRAMアレイの読み出し動作中に放電を必要とする読み出しビット線(RBL)の数を減少させる。
実施形態に従って、SRAMアレイへ書き込み中の一の入力行の極性を決定するための論理手段と、SRAMアレイの各行ごとに一の極性値を追加SRAMセルに格納するための論理手段と、当該追加SRAMセルに格納された極性値に基づいて決定されるように、一の行が「1」のデータ値よりも多い「0」のデータ値を保持している場合に、この行内のSRAMセルの値を反転形式で読み出すための論理手段と、前記追加SRAMセルに格納された極性値に基づいて決定されるように、前記行内のSRAMセルから読み出されるデータが真数データ値又は補数データ値のどちらを表すかを下流の論理手段に通知するための論理手段が設けられる。
実施形態では、一の行内のSRAMセルに書き込まれるデータ値の過半数が「1」又は「0」のデータ値のどちらであるかを検出するための、極性検出器が設けられる。もし、データ値の過半数が「1」のデータ値であれば、極性検出器は、「1」の極性値を出力し且つこれを当該行に対応する追加SRAMセルに格納する。一方、データ値の過半数が「0」のデータ値であれば、極性検出器は、「0」の極性値を出力し且つこれを当該行に対応する追加SRAMセルに格納する。
また、各行に対応する追加SRAMセルは、読み出し動作中、対応する行に入力信号を供給する。この追加SRAMセルに格納された極性値に基づいて、対応する行は、真数データ値又はその補数データ値の何れか一方を出力する。真数データ値又は補数データ値のどちらを出力すべきかは、この極性によって決定される。この極性は、真数データ値又は補数データ値のどちらを出力すれば、電力消費がより低くなるかを指示する。例えば、この極性が、対応する行に格納されたデータ値の過半数が「0」のデータ値であることを指示する場合、補数データ値を出力すると、これと同数の読み出しビット線を放電させる必要がないので、消費電力が削減されるであろう。一方、この極性が、対応する行に格納されたデータ値の過半数が「1」のデータ値であることを指示する場合は、真数データ値を出力すると、これと同数の読み出しビット線を放電させる必要がないので、消費電力が削減されるであろう。
さらに、一の行内のSRAMセルによって補数データ値又は真数データ値のどちらが出力されるかを、これらのSRAMセルの下流にあるマルチプレクサに通知するための、論理手段が設けられる。この論理手段は、その行の決定された極性に基づいて、マルチプレクサに選択信号を供給する。マルチプレクサは、この選択信号に応じて、これらのSRAMセルによって出力される実データ値又はこれらのSRAMセルによって出力される実データ値の補数値(反転値)のどちらを出力すべきかを選択することができる。
「実」(actual)データ値は、事実上、一の行の決定された極性に基づいてその行内のSRAMセルに書き込むべきであった、真数データ値又はその補数データ値の何れか一方と同じである。すなわち、極性が「1」の値であると決定されるために、真数データ値がこれらのSRAMセルによって出力されるのであれば、「実」データ値は、これらのSRAMセルに格納された真数データ値である。一方、極性が「0」の値であると決定されるために、真数データ値の補数データ値がこれらのSRAMセルによって出力されるのであれば、「実」データ値は、これらのSRAMセルに格納された真数データ値の補数データ値である。
従って、本発明の機構によって出力される選択されたデータ値は、一の行の極性に依存して、その行内のSRAMセルに格納された真数データ値又はSRAMセルに格納された補数データ値の補数値(反転値)の何れか一方とすることができる。何れの場合も、SRAMセルのデータ値として出力されるSRAMアレイ用のデータ値として、真数データ値が選択される。
実施形態では、各行に対応する追加SRAMセルは、SRAMアレイの各列に対応して設けられる極性検出器のマルチプレクサに対し、選択信号を供給する。これらのマルチプレクサは、各行内のSRAMセルに真数データ値又は補数データ値のどちらが格納されているかを決定する。極性検出器のマルチプレクサに送られる選択信号は、追加SRAMセルに格納された極性値に基づいて決定される。
この選択信号は、一の行内のそれぞれのSRAMセルに格納すべき真数データ値又はその補数データ値の何れか一方を選択する。この実施形態では、もし、データ値の過半数が「0」のデータ値であれば、極性検出器は、この行内のSRAMセルに格納すべき真数データ値の補数値を選択するために、マルチプレクサに選択信号を送る。一方、データ値の過半数が「1」のデータ値であれば、極性検出器は、この行内のSRAMセルに格納すべき真数データ値を選択するために、マルチプレクサに選択信号を送る。
この実施形態によれば、SRAMセル自体は、前述の実施形態のように、真数データ値又は補数データ値のどちらを出力すべきかを決定するための追加の論理手段を必要としない。それと反対に、SRAMセルは、その内部にどんなデータ値が格納されていようとも、これをそのまま出力する。なぜなら、真数データ値又は補数データ値のどちらを使用すべきかという決定は、これらのSRAMセルにデータ値を書き込むときに、極性検出器によって行われたからである。
SRAMセルによって出力される実データ値又はその補数データ値のどちらを出力すべきかを選択するために、マルチプレクサは、SRAMアレイの出力側に設けられる。これらのマルチプレクサの動作は、前述の実施形態のそれに類似する。すなわち、一の行の極性が「1」であれば、その行内のSRAMセルによって出力される実データ値を、SRAMアレイによる出力のために選択することができる。一方、その行の極性が「0」であれば、その行内のSRAMセルによって出力される実データ値の補数値を、SRAMアレイによる出力のために選択することができる。
本発明の第1の側面に従って、複数のメモリ・セルを有するメモリ・アレイからデータを読み出す方法が提供される。この方法は、前記メモリ・アレイから読み出すべきデータ値を有する一のメモリ・セル行の極性を識別するステップと、前記識別された極性に基づいて、前記メモリ・セル行内のメモリ・セルから真数データ値又は補数データ値のどちらを出力すべきかを選択するステップと、前記選択に基づいて、前記メモリ・アレイから読み出される前記データとして前記メモリ・セル行内のメモリ・セルから前記真数データ値又は前記補数データ値の何れか一方を出力するステップとを含む。
本発明の第2の側面に従って、メモリ・アレイが提供される。このメモリ・アレイは、少なくとも1つのメモリ・セル行を有するアレイを構成するように配設された複数のメモリ・セルと、前記メモリ・アレイから読み出すべきデータ値を有する一のメモリ・セル行の極性を識別する論理手段と、前記識別された極性に基づいて、前記メモリ・セル行内のメモリ・セルから真数データ値又は補数データ値のどちらを出力すべきかを選択する選択論理手段と、前記選択に基づいて、前記メモリ・アレイから読み出される前記データとして前記メモリ・セル行内のメモリ・セルから前記真数データ値又は前記補数データ値の何れか一方を出力する出力論理手段とを備える。
本発明の第3の側面に従って、プロセッサと、前記プロセッサに結合されたメモリとを備える、データ処理装置が提供される。前記メモリは、本発明の前記第2の側面に従ったメモリ・アレイから成る。
本発明は、過半数評価を通して、SRAMアレイの消費電力を削減するための装置及び方法を提供する。SRAMアレイは、それらが利用されるデータ処理装置に依存して、種々の用途を有する。例えば、SRAMアレイは、データ処理装置内のプロセッサに関連するキャッシュ及びローカル・メモリ内で利用することができる。
図3は、プロセッサに関連するキャッシュ又はローカル・メモリ内でSRAMアレイを利用することができる、データ処理環境の1つの例を示す。
図3を参照すると、プロセッサ300内に含まれるコントローラ302は、プロセッサ300と授受される命令及びデータのフローを制御する。コントローラ302は、専用のL1キャッシュを含む命令ユニット304に制御信号を送る。命令ユニット304は、専用のL1キャッシュを含む実行ユニット306に命令を発行する。実行ユニット306は、命令を実行し、結果データを保持するか、又は結果データを例えばL2キャッシュ308に転送する。同様に、実行ユニット306は、必要に応じて、L2キャッシュ308からデータを検索する。命令ユニット304も、必要に応じて、L2キャッシュ308から命令を検索する。コントローラ302は、L2キャッシュ308からデータを検索するために、制御記憶装置に制御信号を送る。プロセッサ300は、図示しない追加のコンポーネントを含むことができる。
プロセッサ300は、ノース・ブリッジ兼メモリ・コントローラ・ハブ(NB/MCH)310を介して、ローカル・メモリ320からデータ/命令を得ることができる。ローカル・メモリ320からのデータ/命令は、コントローラ302、命令ユニット304及び実行ユニット306による迅速で且つ効率的なアクセスのために、L2キャッシュ308にロードすることができる。
図3のハードウェアは、実装に依存して変わることがある。例えば、図3のハードウェアに加えて、又はそれに代えて、フラッシュ・メモリ、これと同等の不揮発性メモリ、光ディスク・ドライブ等の、他の内部ハードウェア又は周辺デバイスを使用することができる。
L1キャッシュ、L2キャッシュ308及び/又はローカル・メモリ320は、例えば、後述する実施形態に従ったSRAMアレイを使用して実装することができる。前述のように、SRAMアレイのSRAMセルの充放電は、相当な量の電力消費を必要とする。実施形態は、SRAMアレイのSRAMセルを対象とするデータ値の読み出し及び/又は書き込みに関連する再充電及び放電の量を最少化することにより、この電力消費を削減する。以下では、実施形態を8T型SRAMセル・アーキテクチャに関して説明するが、実施形態はこのようなアーキテクチャに限定されないことが明らかである。すなわち、本発明の機構によって達成される利点は、他の種類のSRAMセル・アーキテクチャを使用して実施形態を実装することを通しても、同様に得ることができるからである。
図4〜図7に示すSRAMアレイを参照して、SRAMアレイの電力消費を削減するために実施形態によって使用される技術の基本的な立脚点を説明する。図4〜図7は、SRAMアレイのSRAMセルに格納されるデータ値の可能な全ての構成を示すものではないが、図示されているデータ値の構成は、実施形態に従って過半数評価を行う利点を例示するために選択されたものである。
図4〜図7において、各ボックスは単一のSRAMセルを表し、複数のかかるセルが複数の行及び複数の列に配設されてSRAMアレイを構成する。図4〜図7に示す例は、5×5 SRAMアレイであるが、実際のSRAMアレイは、図4〜図7に示すものも遙かに多いSRAMセルを含む。さらに、図4〜図7及びSRAMアレイの構成を示す他の同様の図面では、高電圧状態への再充電及び低電圧状態への放電という実装を仮定している。しかし、実施形態は、かかる実装に限定されるものではない。すなわち、他の実施形態は、低電圧状態への再充電及び高電圧状態への放電という他の実装をも使用することができるからである。
図4は、各SRAMセルが「0」のデータ値を格納する、5×5 SRAMアレイの第1の構成を示す。この第1の構成では、SRAMセルのデータ値を読み出す場合、全てのSRAMセルは、当該SRAMセルに格納された「0」のデータ値を読み出すために、その読み出しビット線(RBL)を放電させることを必要とする。かかるSRAMセルの放電及びその後の再充電を行うには、相当な量の電力消費を必要とする。従って、この電力消費の量を削減することは有益であろう。
図5は、最初の2列が「1」のデータ値を格納し且つ残部が「0」のデータ値を格納する、5×5 SRAMアレイの第2の構成を示す。この第2の構成では、読み出し動作を行うために、5本の読み出しビット線(RBL)のうち3本の読み出しビット線を放電させる必要がある。従って、この第2の構成には、依然として相当な量の電力消費が存在する。
図6は、全てのSRAMセルが「1」のデータ値を格納する、5×5 SRAMアレイの第3の構成を示す。この第3の構成では、読み出し動作を行うために、どの読み出しビット線(RBL)も放電させる必要はないし、その後に再充電を行う必要もないので、最少量の電力消費を必要とするに過ぎない。従って、SRAMアレイの読み出し動作中に、できるだけこの第3の構成に接近させることが最も良いであろう。
図7は、最初の2列が「0」のデータ値を格納し且つ残部が「1」のデータ値を格納する、5×5 SRAMアレイの第4の構成を示す。すなわち、図7の構成は、図5の構成を補数化(反転化)したものである。この第4の構成では、読み出し動作を行うために、5本の読み出しビット線(RBL)のうち2本の読み出しビット線だけを放電させる必要がある。従って、この第4の構成は、一の行の読み出し動作を行うために、その行内の最初の2つのSRAMセルの読み出しビット線(RBL)を放電させる必要があるので、図6の第3の構成よりも多い電力消費を必要とする。しかし、この第4の構成は、放電され且つその後に再充電されねばならない読み出しビット線(RBL)の数が図5の第2の構成よりも少ないので、図5の第2の構成よりも電力消費が少なくなる。
図4〜図7から分かることは、読み出し動作のために必要とされる読み出しビット線(RBL)の放電の数を最少化することができれば、かかる読み出し動作を行うための電力消費を最小化することができる、ということである。読み出しビット線(RBL)の放電の数を最少化する1つの方法は、SRAMアレイのSRAMセルから読み出される「0」のデータ値の数を最少化することである。例えば、本発明の機構に従った過半数評価/プログラミング・スキームを使用すると、図5の第2の構成を有するようにプログラムされたSRAMアレイは、それが恰も図7の第4の構成を有していたかのように読み出すことができる。このように、読み出しビット線(RBL)の放電の数が最少化されると、SRAMアレイの電力消費を最少化することができるようになる。
本発明の機構によれば、SRAMアレイへ書き込み中の一の入力行の極性を決定するための論理手段と、SRAMアレイの各行ごとに一の極性値を追加SRAMセルに格納するための論理手段と、当該追加SRAMセルに格納された極性値に基づいて決定されるように、一の行が「1」のデータ値よりも多い「0」のデータ値を保持している場合に、当該行内のSRAMセルの値を反転形式で読み出すための論理手段と、前記追加SRAMセルに格納された極性値に基づいて決定されるように、前記行内のSRAMセルから読み出されるデータが真数データ値又は補数データ値のどちらを表すかを下流の論理手段に通知するための論理手段が設けられる。
図8は、実施形態に従ったSRAMアレイ500を示す。図示のように、SRAMアレイ500は、極性検出器510と、複数の列522及び複数の行524を有するアレイとして配設された複数のSRAMセル520と、1組の極性セル530とを含み、SRAMアレイ500の各行ごとに1つの極性セル530が対応する。write_data<0:n>線を介してデータがSRAMアレイ500に書き込まれる場合、かかる書き込みデータ線は、極性検出器510及びビット線ドライバ(図示せず)内にシンクを有する。ビット線ドライバは、SRAMアレイ500の各列522ごとに書き込みビット線wbl 540及びwbl’550に沿って伝播されるwbl<0:n>及びwbl’<0:n>の値を決定するものである。
極性検出器510は、SRAMアレイ500の一の行524に書き込むべきデータ値を受け取って、この行524のための1組のデータ値が「0」より多い「1」を含むか否かを決定する。もし、この行524に書き込むべきデータ内に「0」より多い「1」があれば、極性検出器510は、データ書き込み中のこの行524に対応する極性セル530に「1」の極性値を格納する。一方、このデータ内に「1」より多い「0」があれば、極性検出器510は、データ書き込み中のこの行524に対応する極性セル530に「0」の極性値を格納する。特定の行524内の特定のSRAMセル520へのデータ値の書き込みを可能にするために、特定の行524及びこの特定の行524に対応する極性セル530に対し、write_enable信号を送ることができる。
極性セル530は、これに対応する行524内の複数のSRAMセル520に対して2つの出力、すなわちpolarity<0:n>及びpolarity_b<0:n>を有する。これらの出力及び読み出しイネーブル信号は、当該SRAMセル520の読み出しビット線(RBL)上に当該SRAMセル520の真数データ値又は補数データ値のどちらが出力されるかを決定する。従って、polarity<0:n>出力が論理「1」のレベルにあり(極性セル530に格納された極性値が「1」であることを意味する)、そして読み出しイネーブル信号がアサートされる場合は、行524内のSRAMセル520に格納された真数データ値が、当該SRAMセル520の読み出しビット線(RBL)上に出力される。一方、polarity<0:n>出力が論理「0」のレベルにあり(極性セル530に格納された極性値が「0」であることを意味する)、そして読み出しイネーブル信号がアサートされる場合には、行524内のSRAMセル520に格納された補数データ値が、当該SRAMセル520の読み出しビット線(RBL)上に出力される。その結果、読み出し動作中に「0」のデータ値の読み出しの数が最少化され、それによって、SRAMアレイ500からデータを読み出すのに必要な読み出しビット線(RBL)の放電及び再充電の量を削減することができる。
読み出し動作中、一の行524に対応する極性セル530は、その行524内のSRAMセル520と同様の態様で読み出される。極性読み出しビット線(pol_rbl)532は、この目的のために設けられる。行524に対応する極性セル530に格納された極性値は、マルチプレクサ580及び590に対する選択信号として使用される。マルチプレクサ580及び590は、SRAMアレイ500の各列522ごとに設けられる。マルチプレクサ580及び590は、極性セル530からの選択信号に基づいて、読み出しビット線(RBL)上の値又はその補数値の何れか一方を選択する。
すなわち、極性セル530に格納された極性値が「0」であれば、SRAMセル520は、その読み出しビット線(RBL)560上に補数データ値を出力するであろう。この補数データ値は、その反転データ値(この場合は、真数データ値)とともに、マルチプレクサ580及び590に供給される。マルチプレクサ580及び590への選択信号は論理「0」であるから、マルチプレクサ580及び590からの出力として、マルチプレクサ580及び590への反転データ値入力が選択されることになる。その結果、SRAMセル520に格納された真数データ値が、マルチプレクサ580及び590によって出力される。
一方、極性セル530に格納された極性値が「1」であれば、SRAMセル520は、その読み出しビット線(RBL)560上に真数データ値を出力するであろう。この真数データ値は、その反転データ値(この場合は、補数データ値)とともに、マルチプレクサ580及び590に供給される。マルチプレクサ580及び590への選択信号は論理「1」であるから、マルチプレクサ580及び590からの出力として、マルチプレクサ580及び590への真数データ値入力が選択されることになる。その結果、SRAMセル520に格納された真数データ値が、再び、マルチプレクサ580及び590によって出力される。
従って、SRAMアレイ500の行524の極性に拘わらず、SRAMセル520の真数データ値が、マルチプレクサ580及び590によって出力される。本発明に従った省電力機能は、行524のSRAMセル520からデータを読み出すために必要とされる読み出しビット線(RBL)560の放電の量を最少化するオプションはどれかということに基づいて、SRAMセル520がそれらの読み出しビット線(RBL)560上に真数データ値又は補数データ値のどちらを出力するかを選択することにより達成される。実施形態では、充放電を必要とする2本の極性読み出しビット線が追加されているが、これらの2本の極性読み出しビット線を追加したことに伴う電力消費の増加分は、大きなSRAMアレイにおける放電及び再充電の量を削減することから得られる電力消費の削減分と比べると僅かなものである。従って、本発明の機構は、SRAMアレイ500の電力消費を最少化するのと同時に、SRAMアレイ500の正確な動作を達成する。
図9は、本発明に従った極性検出器600の回路を示す。図示のように、極性検出器600は、複数のPFET 610及び複数のNFET 620から構成される。PFET 610及びNFET 620の対は、write_data線650に並列に結合される、インバータ630及び640を構成する。各書き込みデータ線650は、インバータ630及び640への結合間にインバータ660を含む。説明の便宜上、全てのPFET 610が同じサイズを有し、全てのNFET 620も同じサイズを有するものと仮定する。
各書き込みデータ線650のインバータ630は、互いに直列に結合される。同様に、各書き込みデータ線650のインバータ640も、互いに直列に結合される。さらに、インバータ630及び640の各系列は、比較器670のそれぞれの入力に結合される。比較器670は、インバータ630及び640の2つの系列から入力を受け取り、SRAMアレイの一の行に対応する極性セル530(図8)に極性値を格納するための極性信号を出力する。
動作中、write_data値が「1」の状態にあれば、インバータ630は、「0」の値を出力する。一方、write_data値が「0」の状態にあれば、インバータ630は、「1」の値を出力する。インバータ660が存在するために、これと反対の動作が、インバータ640によって行われる。すなわち、インバータ640は、write_data値が「1」の状態にあるときは、「1」の値を出力し、write_data値が「0」の状態にあるときは、「0」の値を出力する。
その結果、write_data<0:n>値が「0」の値より多い「1」の値を保持すれば、比較器670の非反転入力(「+」入力)は、反転入力(「−」入力)よりも高い電圧を有するであろう。その結果、比較器670の極性出力として、「1」の値が得られるであろう。一方、write_data<0:n>値が「1」の値より多い「0」値を保持すれば、比較器670の非反転入力は反転入力よりも低い電圧を有することになるので、比較器670は、「0」の値を出力するであろう。
この極性検出スキームには、2つの動作領域がある。第1の動作領域は、write_data<0:n>が、論理「0」又は論理「1」の何れか一方に対する著しいバイアスを有する場合、すなわち、write_data<0:n>値のうちかなりの数の値が何れか一方の論理状態にある場合である。第2の動作領域は、かかるバイアスを無視できる場合、すなわち、write_data<0:n>値のうち各論理状態にある値の数がほぼ同じである場合である。もし、著しいバイアスがあれば、極性の評価を速やかに行うことができる。一方、かかるバイアスを無視できるのであれば、極性の評価が遅くなるか、又は極性を評価できないことすらある。しかし、それらの場合には、過半数書き込み/評価スキームを利用すると、最少の電力消費に帰着するであろう。
図10は、本発明に従ったSRAMセル700の回路を示す。公知のSRAMセル構成と比較すると、図10のSRAMセル700は、ANDゲート710及び720から成る2つの極性入力を有するという点で相違する。ANDゲート710及び720は、対応する極性セル530(図8)からの極性入力信号及びその反転極性入力信号と、read_enable信号との論理積を演算する。また、SRAMセル700は、2つの読み出しポートとして、真数読み出しポート730及び補数(反転)読み出しポート740を含む。read_enable信号は、極性入力信号及び反転極性入力信号と相まって、SRAMセル700がその読み出しビット線(RBL)750上に真数データ値又は補数データ値のどちらを出力するかを決定する。
もし、その行の極性値が「1」で、その行内に「0」の値より多い「1」の値が存在することを指示するのであれば、真数データ値が、真数読み出しポート730を介して、読み出しビット線(RBL)750へ出力される。なぜなら、ANDゲート710の出力が「1」であり且つANDゲート720の出力が「0」であるからである。一方、その行の極性値が「0」で、その行内に「1」の値より多い「0」の値が存在することを指示するのであれば、補数データ値が、補数読み出しポート730を介して、読み出しビット線(RBL)750へ出力される。なぜなら、ANDゲート720の出力が「1」であり且つANDゲート710の出力が「0」であるからである。
従って、本発明の機構によれば、各SRAMセルは、1つの追加読み出しポートを有する。さらに、この追加読み出しポートを活性化するために、真数及び補数形式の極性信号を分配する回路、並びに追加のワード線ドライバが利用される。これらの追加素子を除去するには、SRAMアレイの行内のSRAMセルに対し真数データ値又は補数データ値のどちらを書き込むべきかを決定するための追加の回路を、極性検出器内に設ければよい。従って、SRAMセルに真数データ値又はその補数データ値の何れか一方を書き込むようにすれば、図10の回路を使用して、読み出し動作中に真数データ値又は補数データ値のどちらを出力すべきかを決定することは必要ない。
図11及び図12は、SRAMアレイの一の行の極性に基づいて、その行内のSRAMセルに書き込まれるデータ値を制御するための書き込み回路を示す。図11及び図12に示すように、極性検出器810に追加することができる回路は、1対のマルチプレクサ820及び830、並びにインバータ840を含む。マルチプレクサ820及び830の出力は、データ書き込み中の行の決定された極性に基づいて、書き込みビット線信号wbl<0:n>及びwbl’<0:n>をそれぞれ供給する。
極性検出器810内のこの追加回路によれば、write_data<0:n>信号は、マルチプレクサ830の第1の入力及びマルチプレクサ820の第2の入力として供給される。反転形式のwrite_data<0:n>信号は、マルチプレクサ830の第2の入力及びマルチプレクサ820の第1の入力として供給される。前述のように極性検出器810によって決定されたその行の極性は、マルチプレクサ820及び830の選択信号として使用される。従って、その行の極性が「0」であると決定されたのであれば、反転形式のwrite_data<0:n>値がwbl<0:n>値としてマルチプレクサ820によって出力され、真数形式のwrite_data<0:n>値がwbl’<0:n>値としてマルチプレクサ830によって出力される。一方、その行の極性が「1」であると決定されたのであれば、真数形式のwrite_data<0:n>値がwbl<0:n>値としてマルチプレクサ820によって出力され、反転形式のwrite_data<0:n>値がwbl’<0:n>値としてマルチプレクサ830によって出力される。
その結果、図8を参照して説明したように、通常のSRAMセルに加えて、各行ごとに極性セル530及びマルチプレクサ580、590を設けることにより、SRAMセルに格納された真数データ値又は補数データ値のどちらを出力すべきかを決定するための追加論理手段を備えたSRAMアレイを提供することができる。
図13及び図14は、本発明の実施形態の一般的な動作を示すフローチャートである。図13及び図14中の各ブロック及びブロックの組み合わせは、コンピュータ・プログラム命令によって実装することができる。
図13は、行の決定された極性に基づいて、SRAMアレイからデータを読み出すための動作を示すフローチャートである。ここで、図13の動作は、図8を参照して説明したように、データがSRAMアレイに書き込まれたときに、その一の行にあるデータの極性が決定されたものと仮定していることに留意されたい。従って、その行の極性は、データを読み出すべき行に対応する極性セルに格納されている。
また、図13の動作は、図8〜図10を参照して説明したSRAMセル及び極性検出器を仮定していることに留意されたい。もし、図11及び図12の極性検出器を利用するのであれば、すなわち、極性検出器がSRAMセルに真数データ値又は補数データ値のどちらを書き込むべきかを決定するための追加回路を含むのであれば、ステップ910〜930は不要であろう。なぜなら、図11及び図12の回路を使用する場合、ステップ910〜930は、事実上、データ値をSRAMセルに書き込むときに実行されるからである。
図13に示すように、動作の開始後、SRAMアレイは、読み出すべき行の極性を決定する(ステップ910)。もし、この行の極性が、この行に格納された「1」のデータ値が「0」のデータ値よりも多いことを指示すれば、この行内の各SRAMセルは、当該各SRAMセルに格納された真数データ値を出力する(ステップ920)。一方、この行の極性が、この行に格納された「0」のデータ値が「1」のデータ値よりも多いことを指示すれば、この行内の各SRAMセルは、当該各SRAMセルに格納された補数データ値を出力する(ステップ930)。
決定された極性に基づいて、この行の各SRAMセルごとに、このSRAMセルの実出力又はその補数出力の何れか一方が、このSRAMセルについてSRAMアレイからのデータ読み出しとして出力される(ステップ940)。もし、極性が「1」であれば、このSRAMセルの実出力が、そのSRAMセルについてSRAMアレイの出力として出力される(ステップ950)。一方、極性が「0」であれば、このSRAMセルの実出力の補数出力が、そのSRAMセルについてSRAMアレイの出力として出力される(ステップ960)。その後、この動作が終了する。この動作は、SRAMアレイの各読み出し動作ごとに繰り返すことができる。
図14は、行の決定された極性に基づいて、SRAMアレイにデータを書き込むための動作を示すフローチャートである。ここで、図14の動作は、極性検出器が、SRAMアレイに書き込むべきデータの行の極性を決定するための回路を含むものと仮定している。かかる回路は、例えば、図11及び図12に示すような形式を取ることができる。
図14に示すように、動作の開始後、SRAMアレイの一の行に書き込むべきデータを受け取る(ステップ1010)。この行の極性の決定は、過半数に相当する「1」又は「0」のデータ値のどちらがこの行内に存在するかを決定するように、過半数評価に基づいて行われる。決定された極性に基づいて、一の極性値が、データ書き込み中のこの行に対応する極性セルに書き込まれる(ステップ1030)。
この行の極性に基づいて、この行内の各SRAMセルに真数データ値又は補数データ値のどちらを書き込むべきかという決定が行われる。もし、この行の極性が「1」であれば、書き込みデータ入力に対応する真数データ値がこの行内のSRAMセルに書き込まれる(ステップ1050)。一方、この行の極性が「0」であれば、反転された書き込みデータ入力に対応する補数データ値がこの行内のSRAMセルに書き込まれる(ステップ1060)。その後、この動作が終了する。もし、図8〜図10の実施形態を利用して、真数データ値又は補数データ値のどちらをSRAMセルから出力すべきかという決定を、書き込み動作中ではなく、読み出し動作中に行うのであれば、ステップ1040〜1060は不要であろう。なぜなら、これらのステップ1040〜1060は、図13を参照して説明したように、事実上、各読み出し動作に関連して実行されるからである。
以上では、本発明の実施形態が、8T型SRAMセルを使用するものとして説明した。しかし、本発明の実施形態は、8T型SRAMセルの使用に限定されるものではなく、本発明の精神及び範囲から逸脱することなく、他のSRAMセル構成を使用してもよいことは明らかであろう。例えば、本発明の機構は、6T型SRAMセルも同様に使用することができる。従来の6T型SRAMセル構成と、本発明の機構を利用する6T型SRAMセル構成との相違点を明瞭に示すため、図15及び図17には、公知の6T型SRAMセル構成が例示され、図16及び図18には、6T型SRAMセル構成における本発明の実施形態が例示されている。
図15は、公知の6T型SRAMセル構成を例示する。この構成は、図1に示すものと本質的に同じである。図15に関して注意すべき重要な点は、公知の6T型SRAMセル構成が、SRAMセルに格納された真数データ値又は補数データ値のどちらを出力すべきかを決定するための論理手段を全く含んでいないということである。公知の6Tセル構成は、SRAMセルに格納された真数データ値を出力することができるに過ぎない。従って、本発明の機構のように、過半数評価を行う能力を有さない。
図16は、本発明に従った6T型SRAMセル構成を示す。図15の公知の6T型SRAMセルと、図16の本発明に従った6T型SRAMセルとの間の主要な相違点は、後者では、(1)各ワード線ごとに補数ワード線ドライバ1210が設けられ、(2)アドレス・デコード信号、読み出し/書き込み信号及び極性信号がワード線ドライバ1220及び補数ワード線ドライバ1210に入力され、そして(3)極性信号が再充電/評価/書き込み回路1230に入力されるということにある。ワード線ドライバ1220は、ビット線bl_hiに結合された、SRAMセルの1つのトランジスタ1225にのみ結合される。これに対し、図15の公知のSRAMセル構成では、ワード線ドライバ1220は、両方のトランジスタに結合される。補数ワード線ドライバ1210は、補数ビット線bl_hi’に結合された、他のトランジスタ1235に結合される。
ワード線ドライバ1220及び補数ワード線ドライバ1210への極性信号入力によって指示された極性値に基づいて、ワード線信号又は補数ワード線信号の何れか一方がトランジスタ1225及び1235にそれぞれアサートされて、トランジスタ1225及び1235を活性化する。トランジスタ1225又は1235のどちらが再充電済みの高電圧レベルに維持され、ワード線信号又は補数ワード線信号のどちらがアサートされたかに基づいて、SRAMセルに格納された真数データ値又はその補数データ値の何れか一方が、再充電/評価/書き込み回路1230を介して出力される。
図17は、図15の公知の6T型SRAMセル構成とともに使用するための、公知の再充電/評価/書き込み回路を示す。これに対し、図18は、図16の本発明に従った6T型SRAMセル構成とともに使用するための、再充電/評価/書き込み回路を示す。図17及び図18を対比すれば明らかなように、両者の主要な相違点は、後者には、マルチプレクサ1410及び1420が含まれているということにある。
データ入力信号及びその反転データ入力信号は、マルチプレクサ1410に対する選択信号である極性信号とともに、マルチプレクサ1410に入力される。行の極性に基づいて、データ入力信号又はその反転データ入力信号の何れか一方が選択されて、トランジスタ1430〜1436をアサートする。マルチプレクサ1420は、再充電/評価/書き込み回路の出力として、NANDゲート1440の出力又はNANDゲート1450からの反転出力の補数出力の何れか一方を出力する、この回路によれば、本発明の機構の過半数評価及び極性に基づく動作は、6T型SRAMセル及び前述の8T型SRAMセルに適用することができる。
従って、本発明は、SRAMアレイの電力消費を最少化するための機構を提供する。かかるSRAMアレイは、データ処理装置のメモリやキャッシュ、集積回路装置、データ処理システム等で使用することができる。本発明は、読み出し動作を行う場合にSRAMアレイの読み出しビット線の放電の数を最少化することにより、電力消費を最少化する。放電の最小化を可能にするための回路は、SRAMアレイの一の行に格納されたデータ値の過半数の極性を決定し、この決定された極性を使用して、真数データ値又は補数データ値のどちらを読み出せば、放電を必要とする読み出しビット線の数がより少なくなるかを決定する。
前述の回路は、集積回路チップの設計の一部とすることができる。かかるチップ設計を、グラフィカルなコンピュータ・プログラミング言語を用いて作成した後、これをコンピュータ記憶媒体(例えば、ディスク、テープ、ハード・ドライブ又はストレージ・エリア・ネットワーク内の仮想ハード・ドライブ等)に格納することができる。もし、設計者がチップ又はチップを製造するために使用されるフォトリソグラフィ・マスクを製造しなければ、設計者は、その設計を、物理的手段(例えば、設計結果を格納した記憶媒体のコピーの提供)によって、又は電子的に(例えば、インターネットを通して)、製造業者に直接的に又は間接的に伝達することができる。その後、格納された設計を、フォトリソグラフィ・マスクの製造のために適切なフォーマット(例えば、GDSII)に変換することができる。かかるフォトリソグラフィ・マスクを製造するには、一般に、ウェハ上に形成すべき当該チップ設計の複数のコピーを作成することが必要である。フォトリソグラフィ・マスクは、エッチング又は処理すべきウェハ(及び/又はその上の層)の領域を定義するために利用することができる。
公知の6トランジスタ(6T)型SRAMセルを示す図である。 公知の8トランジスタ(8T)型SRAMセルを示す図である。 本発明を実施可能な代表的なデータ処理環境のブロック図である。 各SRAMセルが「0」のデータ値を格納する、5×5 SRAMアレイの第1の構成を示す図である。 最初の2列が「1」のデータ値を格納し且つ残部が「0」のデータ値を格納する、5×5 SRAMアレイの第2の構成を示す図である。 全てのSRAMセルが「1」のデータ値を格納する、5×5 SRAMアレイの第3の構成を示す図である。 最初の2列が「0」のデータ値を格納し且つ残部が「1」のデータ値を格納する、5×5 SRAMアレイの第4の構成を示す図である。 本発明に従ったSRAMアレイを示す図である。 本発明に従った極性検出器の回路を示す図である。 本発明に従ったSRAMセルの回路を示す図である。 行の極性に基づいてその行内のSRAMセルに書き込まれるデータ値を制御するための、実施形態に従った書き込み回路を示す図である。 行の極性に基づいてその行内のSRAMセルに書き込まれるデータ値を制御するための、実施形態に従った書き込み回路を示す図である。 行の決定された極性に基づいてSRAMアレイからデータを読み出すための、実施形態に従った動作を示すフローチャートである。 行の決定された極性に基づいてSRAMアレイにデータを書き込むための、実施形態に従った動作を示すフローチャートである。 公知の6T型SRAMセルの構成を示す図である。 実施形態に従った6T型SRAMセルの構成を示す図である。 公知の6T型SRAMセルの構成(図15)とともに使用するための、公知の再充電/評価/書き込み回路を示す図である。 実施形態に従った6T型SRAMセルの構成(図16)とともに使用するための再充電/評価/書き込み回路を示す図である。
符号の説明
500 SRAMアレイ
510 極性検出器
520 SRAMセル
522 列
524 行
530 極性セル
532 極性読み出しビット線
540 書き込みビット線
550 書き込みビット線
560 読み出しビット線
580 マルチプレクサ
590 マルチプレクサ

Claims (20)

  1. 複数のメモリ・セルを有するメモリ・アレイからデータを読み出す方法であって、
    前記メモリ・アレイから読み出すべきデータ値を有する一のメモリ・セル行の極性を識別するステップと、
    前記識別された極性に基づいて、前記メモリ・セル行内のメモリ・セルから真数データ値又は補数データ値のどちらを出力すべきかを選択するステップと、
    前記選択に基づいて、前記メモリ・アレイから読み出される前記データとして前記メモリ・セル行内のメモリ・セルから前記真数データ値又は前記補数データ値の何れか一方を出力するステップとを含む、方法。
  2. 前記メモリ・セル行の前記極性は、前記メモリ・セル行内のメモリ・セルに格納された前記データ値の過半数が「1」のデータ値又は「0」のデータ値のどちらであるかを指示する、請求項1記載の方法。
  3. 前記メモリ・セル行の前記極性が、前記メモリ・セル行内のメモリ・セルに格納された前記データ値の過半数が「1」のデータ値であることを指示する場合、前記メモリ・セル行内のメモリ・セルの前記真数データ値が、前記メモリ・アレイによる出力のために選択される、請求項2記載の方法。
  4. 前記メモリ・セル行の前記極性が、前記メモリ・セル行内のメモリ・セルに格納された前記データ値の過半数が「0」のデータ値であることを指示する場合、前記メモリ・セル行内のメモリ・セルの前記補数データ値が、前記メモリ・アレイによる出力のために選択される、請求項2記載の方法。
  5. 前記メモリ・セル行内のメモリ・セルに書き込むべきデータ値を受け取るステップと、
    前記受け取られたデータ値に基づいて、前記メモリ・セル行の一の極性値を決定するステップと、
    前記メモリ・セル行の前記極性を識別するのに使用されるように、前記メモリ・セル行と対応して前記決定された極性値を格納するステップとをさらに含む、請求項1記載の方法。
  6. 前記メモリ・アレイはSRAMアレイである、請求項1記載の方法。
  7. 前記メモリ・セル行内のメモリ・セルに書き込むべきデータ値を受け取るステップと、
    前記受け取られたデータ値に基づいて、前記メモリ・セル行の一の極性値を識別するステップと、
    前記識別された極性値に基づいて、前記メモリ・セル行内のメモリ・セルに対し前記受け取られたデータ値又はその補数データ値のどちらを書き込むべきかを決定するステップと、
    前記決定の結果に基づいて、前記メモリ・セル行内のメモリ・セルに対し前記受け取られたデータ値又はその補数データ値の何れか一方を書き込むステップとをさらに含む、請求項1記載の方法。
  8. 前記選択するステップは、前記識別された極性に基づいて、前記メモリ・セル行内のメモリ・セルによって出力される実データ値又はその補数データ値のどちらを出力すべきかを選択することを含み、
    前記実データ値又はその補数データ値は、前記真数データ値又はその補数データ値のどちらが前記メモリ・セル行に書き込まれるかに基づいて、前記真数データ値と同じである、請求項7記載の方法。
  9. 前記複数のメモリ・セルの各々は、6トランジスタ型SRAMセル又は8トランジスタ型SRAMセルである、請求項1記載の方法。
  10. 前記メモリ・アレイは集積回路チップの一部である、請求項1記載の方法。
  11. メモリ・アレイであって、
    少なくとも1つのメモリ・セル行を有するアレイを構成するように配設された複数のメモリ・セルと、
    前記メモリ・アレイから読み出すべきデータ値を有する一のメモリ・セル行の極性を識別する論理手段と、
    前記識別された極性に基づいて、前記メモリ・セル行内のメモリ・セルから真数データ値又は補数データ値のどちらを出力すべきかを選択する選択論理手段と、
    前記選択に基づいて、前記メモリ・アレイから読み出される前記データとして前記メモリ・セル行内のメモリ・セルから前記真数データ値又は前記補数データ値の何れか一方を出力する出力論理手段とを備える、メモリ・アレイ。
  12. 前記メモリ・セル行の前記極性は、前記メモリ・セル行内のメモリ・セルに格納された前記データ値の過半数が「1」のデータ値又は「0」のデータ値のどちらであるかを指示する、請求項11記載のメモリ・アレイ。
  13. 前記メモリ・セル行の前記極性が、前記メモリ・セル行内のメモリ・セルに格納された前記データ値の過半数が「1」のデータ値であることを指示する場合、前記選択論理手段は、前記メモリ・セル行内のメモリ・セルの前記真数データ値を、前記メモリ・アレイによる出力のために選択する、請求項12記載のメモリ・アレイ。
  14. 前記メモリ・セル行の前記極性が、前記メモリ・セル行内のメモリ・セルに格納された前記データ値の過半数が「0」のデータ値であることを指示する場合、前記選択論理手段は、前記メモリ・セル行内のメモリ・セルの前記補数データ値を、前記メモリ・アレイによる出力のために選択する、請求項12記載のメモリ・アレイ。
  15. 前記メモリ・セル行内のメモリ・セルに書き込むべきデータ値を受け取る論理手段と、
    前記受け取られたデータ値に基づいて、前記メモリ・セル行の一の極性値を決定する極性決定論理手段と、
    前記メモリ・セル行の前記極性を識別するのに使用されるように、前記メモリ・セル行と対応して前記決定された極性値を格納する論理手段とをさらに備える、請求項11記載のメモリ・アレイ。
  16. 前記メモリ・アレイはSRAMアレイである、請求項11記載のメモリ・アレイ。
  17. 前記メモリ・セル行内のメモリ・セルに書き込むべきデータ値を受け取る論理手段と、
    前記受け取られたデータ値に基づいて、前記メモリ・セル行の一の極性値を検出する極性検出論理手段と、
    前記検出された極性値に基づいて、前記メモリ・セル行内のメモリ・セルに対し前記受け取られたデータ値又はその補数データ値のどちらを書き込むべきかを決定する決定論理手段と、
    前記決定の結果に基づいて、前記メモリ・セル行内のメモリ・セルに対し前記受け取られたデータ値又はその補数データ値の何れか一方を書き込む書き込み論理手段とをさらに備える、請求項11記載のメモリ・アレイ。
  18. 前記選択論理手段は、前記識別された極性に基づいて、前記メモリ・セル行内のメモリ・セルによって出力される実データ値又はその補数データ値のどちらを出力すべきかを選択することを含み、
    前記実データ値又はその補数データ値は、前記真数データ値又はその補数データ値のどちらが前記メモリ・セル行に書き込まれるかに基づいて、前記真数データ値と同じである、請求項17記載のメモリ・アレイ。
  19. 前記複数のメモリ・セルの各々は、6トランジスタ型SRAMセル又は8トランジスタ型SRAMセルである、請求項11記載のメモリ・アレイ。
  20. データ処理装置であって、
    プロセッサと、
    前記プロセッサに結合されたメモリとを備え、
    前記メモリが、請求項11ないし請求項19の何れか1項記載のメモリ・アレイから成る、データ処理装置。
JP2007291987A 2006-12-12 2007-11-09 メモリ・アレイからデータを読み出す方法、メモリ・アレイ及びデータ処理装置 Pending JP2008146812A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/609,382 US7468929B2 (en) 2006-12-12 2006-12-12 Apparatus for SRAM array power reduction through majority evaluation

Publications (1)

Publication Number Publication Date
JP2008146812A true JP2008146812A (ja) 2008-06-26

Family

ID=39497822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007291987A Pending JP2008146812A (ja) 2006-12-12 2007-11-09 メモリ・アレイからデータを読み出す方法、メモリ・アレイ及びデータ処理装置

Country Status (3)

Country Link
US (1) US7468929B2 (ja)
JP (1) JP2008146812A (ja)
CN (1) CN101312070B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070291561A1 (en) * 2006-06-14 2007-12-20 Braceras Geordie M Sense-amplifier assist (saa) with power-reduction technique
US8174867B2 (en) * 2009-01-22 2012-05-08 Taiwan Semiconductor Manufacturing Co., Ltd. Negative-voltage generator with power tracking for improved SRAM write ability
IT1396864B1 (it) * 2009-11-17 2012-12-20 Magneti Marelli Spa Metodo per operare una unita' elettronica di controllo durante una fase di calibrazione.
KR20160093430A (ko) * 2015-01-29 2016-08-08 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 데이터 입출력 방법
US9704568B1 (en) 2016-09-02 2017-07-11 International Business Machines Corporation Reducing SRAM power using strategic data pattern storage
KR20180106127A (ko) * 2017-03-17 2018-10-01 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이를 위한 플래그 생성회로와 데이터 출력 방법
CN110875071B (zh) 2018-08-31 2022-05-10 华为技术有限公司 一种静态随机存储器sram单元以及相关装置
US11664081B2 (en) * 2021-04-15 2023-05-30 Taiwan Semiconductor Manufacturing Company, Ltd. Bit selection for power reduction in stacking structure during memory programming

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005044456A (ja) * 2003-07-24 2005-02-17 Renesas Technology Corp 半導体記憶装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366419A (ja) * 2001-06-07 2002-12-20 Mitsubishi Electric Corp データ処理装置およびデータ処理方法
JP2005100527A (ja) * 2003-09-25 2005-04-14 Matsushita Electric Ind Co Ltd 半導体不揮発性記憶装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005044456A (ja) * 2003-07-24 2005-02-17 Renesas Technology Corp 半導体記憶装置

Also Published As

Publication number Publication date
CN101312070A (zh) 2008-11-26
CN101312070B (zh) 2012-04-18
US7468929B2 (en) 2008-12-23
US20080137450A1 (en) 2008-06-12

Similar Documents

Publication Publication Date Title
JP4330396B2 (ja) 半導体記憶装置
JP4988588B2 (ja) 静的ランダムアクセスメモリ用のワード線ドライバ回路
US11200926B2 (en) Dual rail memory, memory macro and associated hybrid power supply method
US7203100B2 (en) Efficient implementation of a read scheme for multi-threaded register file
JP2008146812A (ja) メモリ・アレイからデータを読み出す方法、メモリ・アレイ及びデータ処理装置
EP3304555B1 (en) Low-power row-oriented memory write assist circuit
TWI473111B (zh) 記憶體裝置及操作此記憶體裝置之方法
JP4005535B2 (ja) 半導体記憶装置
TW200418028A (en) Semiconductor memory device and its refreshing method
US9613685B1 (en) Burst mode read controllable SRAM
US11847345B2 (en) Memory circuit including an array control inhibitor
JP3825243B2 (ja) 半導体メモリ装置
TWI653635B (zh) 修復電路及包含該修復電路的半導體記憶體裝置
US7821854B2 (en) Semiconductor memory
JP2009295229A (ja) 半導体記憶装置
US7684231B2 (en) Methods and apparatus for low power SRAM based on stored data
JP2010231853A (ja) 半導体装置
JP6115059B2 (ja) 半導体記憶装置、及び、情報処理装置
TWI720360B (zh) 位元線驅動的感測放大器時鐘方案
US20040257886A1 (en) Redundancy circuit for memory array and method for disabling non-redundant wordlines and for enabling redundant wordlines
US20120014191A1 (en) Semiconductor memory device
JP2005063553A (ja) 磁性体記憶装置
JP2010027202A (ja) 磁性体記憶装置
JP2006066041A (ja) メモリテスト回路
JP2004296035A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120605

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120814

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120817

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121204