JP2008009945A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2008009945A JP2008009945A JP2006182634A JP2006182634A JP2008009945A JP 2008009945 A JP2008009945 A JP 2008009945A JP 2006182634 A JP2006182634 A JP 2006182634A JP 2006182634 A JP2006182634 A JP 2006182634A JP 2008009945 A JP2008009945 A JP 2008009945A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- comparison
- read
- ram
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/328—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/816—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
- G11C29/822—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for read only memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/84—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability
- G11C29/846—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability by choosing redundant lines at an output stage
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
Abstract
【課題】ROMに格納されたデータの修正を効率的に行う。
【解決手段】メモリシステムは、第1のデータを格納するROM27と、第1のデータを読み出すためのリードアドレスを生成する主制御部24と、第1のデータを修正するための第2のデータを格納するRAM28と、ROM27及びRAM28にアクセスし、かつリードアドレスに基づいて、第1のデータの一部を第2のデータに置き換えたリードデータを主制御部24に送る比較部26とを含む。
【選択図】 図2
【解決手段】メモリシステムは、第1のデータを格納するROM27と、第1のデータを読み出すためのリードアドレスを生成する主制御部24と、第1のデータを修正するための第2のデータを格納するRAM28と、ROM27及びRAM28にアクセスし、かつリードアドレスに基づいて、第1のデータの一部を第2のデータに置き換えたリードデータを主制御部24に送る比較部26とを含む。
【選択図】 図2
Description
本発明は、不揮発性半導体メモリを備えたメモリシステムに係り、特にフラッシュメモリを備えたメモリシステムに関する。
例えばデジタルカメラや携帯電話などに用いられるデータ記憶媒体として、小型のメモリカードが開発されている。このメモリカードは、デジタルカメラや携帯電話などのホスト機器に装着された状態において、ホスト機器との間でデータの送受信を行うことが可能である。
近年の高性能化の要求に伴って、メモリカードに搭載される半導体メモリとして、例えば、電気的に一括消去、書き換えが可能であり、大容量のデータを記憶することができるフラッシュメモリなどの不揮発性半導体メモリが用いられている。
種々あるメモリカードの中には、NAND型不揮発性半導体メモリとコントローラとを備えたものがある。コントローラは、メモリカード全体の動作を統括的に制御するCPU(Central Processing Unit)と、CPUが使用するファームウェアを格納したROMとを含んで構成される。
例えば、開発していたファームウェアが完成し、出荷に向けてある程度工程が進んだ段階で、不具合解消や改善などのために修正(機能の変更、追加など)を施す必要が生じる場合がある。そのような場合には、コントローラ内のROMを取り換えなければならないような事態が生じ、メモリカードをリファインするのに膨大な費用や時間がかかってしまう。
この種の関連技術として、ROMに格納されたファームウェアを修正することができるメモリカードが開示されている(特許文献1参照)。
特開2006−120082号公報
本発明は、ROMに格納されたデータの修正を効率的に行うことが可能なメモリシステムを提供する。
本発明の第1の視点に係るメモリシステムは、第1のデータを格納するROM(Read Only Memory)と、前記第1のデータを読み出すためのリードアドレスを生成する主制御部と、前記第1のデータを修正するための第2のデータを格納するRAM(Random Access Memory)と、前記ROM及び前記RAMにアクセスし、かつ前記リードアドレスに基づいて、前記第1のデータの一部を前記第2のデータに置き換えたリードデータを前記主制御部に送る比較部とを具備する。
本発明の第2の視点に係るメモリシステムは、複数の第1のデータを格納するROMと、前記複数の第1のデータを読み出すための複数のリードアドレスを生成する主制御部と、前記複数の第1のデータを修正するための複数の第2のデータを格納するRAMと、前記複数のリードアドレスを格納する第1のレジスタと、前記複数の第1のデータの一部を前記複数の第2のデータに置き換えるための複数の比較用アドレスと、前記複数の比較用アドレスに対応しかつ一度に置き換えられる第2のデータのサイズを示す複数の第3のデータとをそれぞれが格納する第2のレジスタ群と、前記複数のリードアドレスと前記複数の比較用アドレスとを比較する比較回路とを含み、かつ前記ROM及び前記RAMにアクセスし、かつ前記比較回路による比較結果に基づいて前記複数の第1のデータの一部を前記サイズ分のデータ単位で前記複数の第2のデータに置き換えたリードデータを前記主制御部に送る比較部とを具備する。
本発明によれば、ROMに格納されたデータの修正を効率的に行うことが可能なメモリシステムを提供することができる。
以下、本発明の実施の形態について図面を参照して説明する。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
本実施形態では、メモリシステムの一例として、メモリカードを例に挙げて説明する。図1は、本発明の一実施形態に係るメモリカード20を説明するブロック図である。このメモリカード20は、通常、ホスト機器10に装着されて使用され、ホスト機器10に対して一種の外部記憶媒体として用いられる。ホスト機器10としては、画像データ、音楽データ或いはIDデータなどの各種データを処理するパーソナルコンピュータ、デジタルカメラ、或いは携帯電話等を含む情報処理装置が挙げられる。
メモリカード20は、データの書き込み及び消去を電気的に行う、EEPROM(Electrically Erasable Programmable Read Only Memory)の一種であるNAND型フラッシュメモリ22を備えている。図1では、NAND型フラッシュメモリ22が1個よりなる構成としたが、1つ以上のNAND型フラッシュメモリ22が配置されていてもよい。
NAND型フラッシュメモリ22を構成する各フラッシュメモリセル(メモリセルトランジスタ)は、半導体基板上にトンネル絶縁膜を介して電荷蓄積を目的とする浮遊ゲート電極、ゲート間絶縁膜、制御ゲート電極が積層形成されたスタックゲート構造を有している。そして、複数個のメモリセルトランジスタを、隣接するもの同士でソース領域若しくはドレイン領域を共有するような形で列方向に直列接続させ、その両端に選択ゲートトランジスタを配置して、NANDセルユニットが構成される。
このユニットが行方向(ワード線WLの延在方向)に複数個配列されてブロックが構成される。このブロックがデータ消去単位となる。1個のブロックのうち同じワード線WLに接続された複数のメモリセルは1ページとして取り扱われ、このページごとにデータ書き込み及びデータ読み出しが行われる。
メモリカード20は、ホスト機器10とNAND型フラッシュメモリ22との間に設けられ、ホスト機器10の指示に基づいてNAND型フラッシュメモリ22を制御するコントローラ21を備えている。コントローラ21は、ホストインターフェース部23、バスマスタ24、フラッシュメモリ制御部25、アドレス比較部26、ROM(Read Only Memory)27、RAM(Random Access Memory)28、及びバス29を備えている。
ホストインターフェース部23は、コネクタ(図示せず)を介してホスト機器10と接続されており、バスマスタ24の制御のもと、所定のプロトコルに従ってコマンド或いは各種データ等の送受信をホスト機器10との間で行う機能ブロックである。
バスマスタ(主制御部)24は、CPU(Central Processing Unit)やDMA(Direct Memory Access)コントローラ等から構成される。バスマスタ24は、バス29を介してメモリカード20全体の動作を統括的に制御するものである。また、バスマスタ24は、例えばメモリカード20が電源供給を受けたときに、ROM27等に格納されたファームウェアに基づいてメモリカード20の基本的な制御を実行する。さらに、バスマスタ24は、ホスト機器10からライトコマンド、リードコマンド、或いは消去コマンド等を受け取り、NAND型フラッシュメモリ22に対してデータ転送処理を実行する。
フラッシュメモリ制御部25は、バスを介してNAND型フラッシュメモリ22に接続されており、NAND型フラッシュメモリ22のアクセス制御に必要な一連のメモリアクセス制御を実行する。具体的には、フラッシュメモリ制御部25は、NAND型フラッシュメモリ22に対する、書き込み動作、読み出し動作、或いは消去動作を制御する。
ROM27は、読み出し専用の記憶回路であり、不揮発性メモリである。ROM27には、ファームウェア(制御プログラム)が格納されている。このファームウェアは、メモリカード20の基本的な制御を行うためのプログラムである。
RAM28は、一時的に情報を格納する揮発性の記憶回路であり、情報の書き換えが自由である。RAM28は、NAND型フラッシュメモリ22から読み出されたブート情報の一部を格納する。
次に、アドレス比較部26の構成について説明する。アドレス比較部26は、ROM27及びRAM28にアクセスし、ROM27及びRAM28等に格納されたデータをバスマスタ24に送る。図2は、アドレス比較部26の構成を中心に示したブロック図である。アドレス比較部26は、レジスタ30、レジスタ群31、比較回路32、アドレス変換回路33、第1のセレクタ34、及び第2のセレクタ35を備えている。
レジスタ30は、バスマスタ24から送られるリードアドレスを一時的に格納する。また、レジスタ30は、バスマスタ24から送られるリードアドレスが更新されると、この更新されたリードアドレスを一時的に格納する。
レジスタ群31は、複数のレジスタから構成される。レジスタ群31の各レジスタは、NAND型フラッシュメモリ22から送られるブート情報の一部を一時的に格納する。ここで、図2に示すように、NAND型フラッシュメモリ22は、メモリカード20の起動時に必要なブート情報を格納するための記憶領域22Aを備えている。
ブート情報には、比較用アドレスと、起動時(電源投入時)にROM27に格納されたデータ(ファームウェア)の一部と置き換えられる修正用データ(例えば修正用のファームウェア)と、各種フラグとが含まれる。このブート情報は、ホスト機器10がコントローラ21を介して自由に書き換えることができる。
比較回路32は、レジスタ30に格納されたリードアドレスと、レジスタ群31に格納された比較用アドレスとを比較する。そして、比較回路32は、リードアドレスと比較用アドレスとが同じであるか否かを示す制御信号をセレクタ35に送る。
アドレス変換回路33は、ROM27を基準にして設定されたアドレスを、RAM28を基準にしたアドレスに変換する。すなわち、レジスタ群31から送られる比較用アドレスは、ROM27のアドレスを基準に設定されている。よって、アドレス変換回路33は、ROM27のアドレスに対応した修正用データをRAM28から読み出すために、アドレス変換動作を実行する。
第1のセレクタ34の2つの入力端子にはそれぞれ、レジスタ群31に格納された修正用データと、RAM28に格納された修正用データとが入力される。また、第1のセレクタ34の制御端子には、制御信号(後述するデータフラグ(DBIT))が入力される。第1のセレクタ34は、この制御信号に基づいて、入力された2つのデータの一方を選択して出力する。
第2のセレクタ35の2つの入力端子にはそれぞれ、第1のセレクタ34から送られた修正用データと、ROM27から送られたデータとが入力される。また、第2のセレクタ35の制御端子には、比較回路32から送られる制御信号が入力される。第2のセレクタ35は、この制御信号に基づいて、入力された2つのデータの一方を選択して出力する。
このように構成されたメモリカード20の動作について説明する。メモリカード20が起動される(例えば、ホスト機器10によりメモリカード20に電源が投入される)と、バスマスタ24は、ROM27からリードデータ(具体的には、ファームウェア)を読み出すために、このリードデータに対応するリードアドレスを生成する。このリードアドレスは、アドレス比較部26に送られる。
また、メモリカード20が起動されると、フラッシュメモリ制御部25は、NAND型フラッシュメモリ22からブート情報を読み出す。このブート情報は、アドレス比較部26及びRAM28に送られる。
図3は、レジスタ群31に含まれる各レジスタに格納されるデータの構成を説明する図である。各レジスタに格納されるデータは、アドレスフラグ(ABIT)、データフラグ(DBIT)、比較用アドレス(ADDR)、及びサイズ/データ(SIZE/DATA)から構成される。すなわち、ブート情報には、比較用アドレス及び修正用データ以外にも、アドレスフラグ(ABIT)、データフラグ(DBIT)、及びサイズ/データ(SIZE/DATA)が含まれる。
図4は、レジスタ群31に格納されるデータの内容を説明する図である。ABITは、レジスタ30に格納されたリードアドレスとレジスタ群31に格納されたADDRとの比較を行うか否かを識別するために用いられる。ABIT=0のときは、アドレス比較部26(具体的には、比較回路32)は、アドレス比較を行わない。この場合、アドレス比較部26は、リードアドレスに対応したROM27に格納されたデータをリードデータとして使用する。一方、ABIT=1のときは、アドレス比較部26は、アドレス比較を行う。この場合、アドレス比較部26は、修正用データをリードデータとして使用する。
DBITは、RAM28に格納された修正用データとSIZE/DATA部に格納された修正用データとのどちらを使用するかを識別するために用いられる。DBIT=0のときは、アドレス比較部26は、RAM28に格納された修正用データをリードデータとして使用する。DBIT=1のときは、アドレス比較部26は、SIZE/DATA部に格納された修正用データをリードデータとして使用する。
ADDRは、ABIT=1のときに、バスマスタ24から送られるリードアドレスとの比較に使用される比較用アドレスである。
SIZE/DATAは、データのサイズを示す情報、或いは修正用データとして使用される。すなわち、DBIT=0のときは、SIZE/DATAは、RAM28に格納された修正用データのうち読み出されるデータサイズを示す。一方、DBIT=1のときは、SIZE/DATAは、修正用データとして使用される。なお、レジスタ群31に含まれる各レジスタの初期値は、「ABIT=0、DBIT=0、ADDR=Don’t care、SIZE/DATA=Don’t care」である。
ここで、NAND型フラッシュメモリ22から読み出されたブート情報に含まれる修正用データは、RAM28にも格納される。本実施形態では、NAND型フラッシュメモリ22に格納された修正用データのうちデータサイズの大きい修正用データは、RAM28に格納される。一方、データサイズの小さい修正用データは、レジスタ群31に格納される。データサイズの大きい修正用データと小さい修正用データとの境界は、レジスタ群31に含まれる各レジスタの記憶容量に基づいて設定される。
なお、修正用データを全てRAM28に格納するようにしてもよい。この場合、レジスタ群31のSIZE/DATAには、RAM28に格納された修正用データのうち読み出されるデータサイズを示す情報のみが格納される。
本実施形態では、バスマスタ24から送られたリードアドレスに対応するリードデータは、ROM27、RAM28、或いはレジスタ群31から出力される。すなわち、リードデータは、3パターンのデータパスを用いてアドレス比較部26からバスマスタ24に送られる。図5は、リードデータのデータパスを説明する図である。第1乃至3のデータパスは、レジスタ群31に含まれる任意のレジスタ31−nに格納されたABITとDBITとの組み合わせにより決定される。
[第1のデータパス]
「ABIT=0、DBIT=X(Don’t care)」のときには、第1のデータパスが選択される。この場合、比較回路32によりアドレス比較が行われず、ADDR及びSIZE/DATAのデータも使用されない。セレクタ35は、ROM27から読み出されたリードデータを選択する。この結果、アドレス比較部26は、ROM27に格納されたデータのうちリードアドレスに対応するデータをリードデータとしてバスマスタ24に送る。
「ABIT=0、DBIT=X(Don’t care)」のときには、第1のデータパスが選択される。この場合、比較回路32によりアドレス比較が行われず、ADDR及びSIZE/DATAのデータも使用されない。セレクタ35は、ROM27から読み出されたリードデータを選択する。この結果、アドレス比較部26は、ROM27に格納されたデータのうちリードアドレスに対応するデータをリードデータとしてバスマスタ24に送る。
[第2のデータパス]
「ABIT=1、DBIT=0」のときには、第2のデータパスが選択される。この場合、レジスタ31−nは、このレジスタ31−nに格納されたアドレスADDRと、SIZE/DATA部に格納されたデータサイズを表す情報とをアドレス変換回路33に送る。
「ABIT=1、DBIT=0」のときには、第2のデータパスが選択される。この場合、レジスタ31−nは、このレジスタ31−nに格納されたアドレスADDRと、SIZE/DATA部に格納されたデータサイズを表す情報とをアドレス変換回路33に送る。
アドレス変換回路33は、ROM27を基準にして設定されたアドレスADDRを、RAM28を基準にしたアドレスに変換する。すなわち、ROM27を基準にして設定されたアドレスADDRは、不連続な場合が多い。したがって、RAM28は、格納する修正用データを独自の連続したアドレスに対応付けて格納している。このため、アドレス変換回路33は、アドレスADDRに対応する修正用データをRAM28から読み出すために、アドレスの変換を行っている。
アドレス変換回路33は、この変換されたアドレスとデータサイズを表す情報とをRAM28に送る。これにより、アドレスADDRを先頭アドレスとしてSIZE/DATA部のサイズ分の修正用データが、RAM28から読み出される。RAM28から読み出された修正用データは、セレクタ34に送られる。セレクタ34は、「DBIT=0」の場合、RAM28から送られた修正用データを選択して出力する。
また、比較回路32は、レジスタ30に格納されたリードアドレスと、レジスタ31−nに格納された比較用アドレスとを比較する。そして、比較回路32は、リードアドレスと比較用アドレスとが同じである場合、セレクタ34から送られたデータを選択するための制御信号をセレクタ35に送る。この結果、アドレス比較部26は、RAM28に格納され、かつ、ADDRを先頭アドレスとしてSIZE/DATA部のサイズ分の修正用データをリードデータとしてバスマスタ24に送る。
[第3のデータパス]
「ABIT=1、DBIT=1」のときには、第3のデータパスが選択される。この場合、レジスタ31−nは、このレジスタ31−nのSIZE/DATA部に格納された修正用データをセレクタ34に送る。セレクタ34は、「DBIT=1」の場合、レジスタ31−nから送られたデータを選択して出力する。前述したように、第3のデータパスを用いて送られる修正用データとしては、RAM28に格納されたデータよりもデータサイズの小さいデータが使用される。
「ABIT=1、DBIT=1」のときには、第3のデータパスが選択される。この場合、レジスタ31−nは、このレジスタ31−nのSIZE/DATA部に格納された修正用データをセレクタ34に送る。セレクタ34は、「DBIT=1」の場合、レジスタ31−nから送られたデータを選択して出力する。前述したように、第3のデータパスを用いて送られる修正用データとしては、RAM28に格納されたデータよりもデータサイズの小さいデータが使用される。
比較回路32は、レジスタ30に格納されたリードアドレスと、レジスタ31−nに格納された比較用アドレスとを比較する。そして、比較回路32は、リードアドレスと比較用アドレスとが同じである場合、セレクタ34から送られたデータを選択するための制御信号をセレクタ35に供給する。この結果、アドレス比較部26は、レジスタ31−nのSIZE/DATA部に格納された修正用データをリードデータとしてバスマスタ24に送る。
次に、アドレス比較部26のより具体的な動作の一例について説明する。図6は、レジスタ群31に格納されたデータの一例を示す図である。図7は、ROM27に格納されたデータの一例を示す図である。図8は、RAM28に格納された修正用データの一例を示す図である。図9は、アドレス比較部26から出力されるリードデータの一例を示す図である。ROMデータ、RAMデータ、及びリードデータのデータ幅はそれぞれ16ビット(2バイト)である。
レジスタ群31は、第1のレジスタ31−1、第2のレジスタ31−2、及び第3のレジスタ31−3を含んでいる。第1のレジスタ31−1には「ABIT=1、DBIT=0」が格納されている。よって、アドレス比較部26は、RAM28に格納されたデータのうちリードアドレスに対応するデータを出力する。
具体的には、第1のレジスタ31−1には「SIZE/DATA=0x0004」が格納されている。ここで、「0x0004」は、データサイズが4バイトであることを示している。したがって、RAMデータ幅が16ビットであるので2アドレス分のデータがRAM28から読み出される。
また、第1のレジスタ31−1には「ADDR=0x0004」が格納されているので、アドレス「0x0004」を先頭アドレスとして、アドレス「0x0004」及び「0x0006」のROMデータの換わりにRAMデータがリードデータとしてアドレス比較部26から出力される。
次に、第2のレジスタ31−2には「ABIT=1、DBIT=1」が格納されている。よって、アドレス比較部26は、レジスタ31−2のSIZE/DATA部の修正用データを出力する。本例では、データサイズが2バイト以下の修正用データがレジスタ群31に格納される。
具体的には、第2のレジスタ31−2には「ADDR=0x000a」が格納されている。よって、アドレス「0x000a」のROMデータの換わりに、第2のレジスタ31−2のSIZE/DATA部の修正用データ「0xaaaa」がリードデータとしてアドレス比較部26から出力される。
次に、第3のレジスタ31−3には「ABIT=0」が格納されている。よって、ROM27に格納されたデータがそのままアドレス比較部26から出力される。具体的には、上記アドレス「0x0004」、「0x0006」及び「0x000a」以外では、アドレス比較部26は、ROM27に格納されたデータを出力する。
以上詳述したように本実施形態では、メモリカード20は、ROM27とRAM28とにアクセスできるアドレス比較部26を備えている。そして、アドレス比較部26は、ROM27に格納されたデータの一部をRAM28に格納された修正用データに置き換えたリ−ドデータをバスマスタ24に送るようにしている。さらに、アドレス比較部26は、データサイズの小さい修正用データは、RAM28に格納せずに、レジスタ群31に格納するようにしている。そして、アドレス比較部26は、ROM27に格納されたデータの一部をレジスタ群31に格納された修正用データに置き換えたリ−ドデータをバスマスタ24に送るようにしている。
したがって本実施形態によれば、製品の出荷前や出荷後においてファームウェアの機能修正を施す必要が生じても、コントローラ21内のROM27を取り換えたりする必要がなく、効率的に所望の機能修正を実現することができる。これにより、メモリカード20をリファインするのに必要な費用や時間を大幅に削減することができる。
また、CPU等から構成されるバスマスタ24から見れば、ROM27からリードデータを読み出したのと同等になる。これにより、バスマスタ24の負荷を低減することができる。
また、ブート情報をNAND型フラッシュメモリ22の記憶領域22Aに格納している。このため、ブート情報を自由に書き換えることができる。これにより、費用や時間をかけずに、ファームウェアの機能修正を何度でも行うことが可能となる。
なお、上記実施形態の説明では、不揮発性メモリとしてNAND型フラッシュメモリを例に挙げて説明したが、不揮発性メモリはNAND型フラッシュメモリに限られず、他の種類のメモリを適用してもよい。
本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、構成要素を変形して具体化できる。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を構成することができる。例えば、実施形態に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる実施形態の構成要素を適宜組み合わせてもよい。
10…ホスト機器、20…メモリカード、21…コントローラ、22…NAND型フラッシュメモリ、22A…記憶領域、23…ホストインターフェース部、24…バスマスタ、25…フラッシュメモリ制御部、26…アドレス比較部、27…ROM、28…RAM、29…バス、30…レジスタ、31…レジスタ群、32…比較回路、33…アドレス変換回路、34…第1のセレクタ、35…第2のセレクタ。
Claims (5)
- 第1のデータを格納するROM(Read Only Memory)と、
前記第1のデータを読み出すためのリードアドレスを生成する主制御部と、
前記第1のデータを修正するための第2のデータを格納するRAM(Random Access Memory)と、
前記ROM及び前記RAMにアクセスし、かつ前記リードアドレスに基づいて、前記第1のデータの一部を前記第2のデータに置き換えたリードデータを前記主制御部に送る比較部と
を具備することを特徴とするメモリシステム。 - 複数のフラッシュメモリセルを有し、かつ前記第2のデータを格納する記憶領域を含むフラッシュメモリと、
起動時に、前記フラッシュメモリに格納された第2のデータを前記RAMに送るメモリ制御部をさらに具備することを特徴とする請求項1に記載のメモリシステム。 - 前記フラッシュメモリは、前記第2のデータに対応する比較用アドレスを格納する記憶領域を含み、
前記メモリ制御部は、起動時に、前記フラッシュメモリに格納された比較用アドレスを前記比較部に送り、
前記比較部は、前記リードアドレスを格納する第1のレジスタと、前記比較用アドレスを格納する第2のレジスタと、前記リードアドレスと前記比較用アドレスとを比較する比較回路とを含み、かつこの比較結果に基づいて前記比較用アドレスに対応する第1のデータの一部を前記第2のデータに置き換えることを特徴とする請求項2に記載のメモリシステム。 - 前記第2のレジスタは、前記第1のデータを修正するための第3のデータを格納し、
前記比較部は、前記第1のデータの一部を前記第2のデータ及び前記第3のデータに置き換えることを特徴とする請求項3に記載のメモリシステム。 - 複数の第1のデータを格納するROMと、
前記複数の第1のデータを読み出すための複数のリードアドレスを生成する主制御部と、
前記複数の第1のデータを修正するための複数の第2のデータを格納するRAMと、
前記複数のリードアドレスを格納する第1のレジスタと、前記複数の第1のデータの一部を前記複数の第2のデータに置き換えるための複数の比較用アドレスと、前記複数の比較用アドレスに対応しかつ一度に置き換えられる第2のデータのサイズを示す複数の第3のデータとをそれぞれが格納する第2のレジスタ群と、前記複数のリードアドレスと前記複数の比較用アドレスとを比較する比較回路とを含み、かつ前記ROM及び前記RAMにアクセスし、かつ前記比較回路による比較結果に基づいて前記複数の第1のデータの一部を前記サイズ分のデータ単位で前記複数の第2のデータに置き換えたリードデータを前記主制御部に送る比較部と
を具備することを特徴とするメモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006182634A JP2008009945A (ja) | 2006-06-30 | 2006-06-30 | メモリシステム |
US11/767,894 US20080013375A1 (en) | 2006-06-30 | 2007-06-25 | Memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006182634A JP2008009945A (ja) | 2006-06-30 | 2006-06-30 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008009945A true JP2008009945A (ja) | 2008-01-17 |
Family
ID=38949091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006182634A Pending JP2008009945A (ja) | 2006-06-30 | 2006-06-30 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080013375A1 (ja) |
JP (1) | JP2008009945A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010257367A (ja) * | 2009-04-28 | 2010-11-11 | Sanyo Electric Co Ltd | プログラムの更新システム、プログラム更新機能付き電子機器 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11163572B2 (en) * | 2014-02-04 | 2021-11-02 | Micron Technology, Inc. | Memory systems and memory control methods |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001117766A (ja) * | 1999-10-22 | 2001-04-27 | Nec Corp | マスクromのパッチ機能を備えた情報処理装置 |
JP2004258946A (ja) * | 2003-02-26 | 2004-09-16 | Renesas Technology Corp | メモリカード |
JP4828816B2 (ja) * | 2004-10-25 | 2011-11-30 | 株式会社東芝 | メモリカード、半導体装置、及びメモリカードの制御方法 |
GB0424424D0 (en) * | 2004-11-04 | 2004-12-08 | St Microelectronics Belgium Nv | A code patching device |
-
2006
- 2006-06-30 JP JP2006182634A patent/JP2008009945A/ja active Pending
-
2007
- 2007-06-25 US US11/767,894 patent/US20080013375A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010257367A (ja) * | 2009-04-28 | 2010-11-11 | Sanyo Electric Co Ltd | プログラムの更新システム、プログラム更新機能付き電子機器 |
US8694717B2 (en) | 2009-04-28 | 2014-04-08 | Semiconductor Components Industries, Llc | Program update system and electronic device with program update function |
Also Published As
Publication number | Publication date |
---|---|
US20080013375A1 (en) | 2008-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8850102B2 (en) | Flash memory with small data programming capability | |
US7472331B2 (en) | Memory systems including defective block management and related methods | |
JP5021220B2 (ja) | 不揮発性メモリ装置及びそのマルチページコピーバック方法 | |
JP5016841B2 (ja) | 不揮発性半導体記憶装置 | |
JP4373943B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2006092019A (ja) | コントローラ、メモリカード及びその制御方法 | |
US9619380B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
WO2007000862A1 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法 | |
KR20040076589A (ko) | 메모리 카드 | |
US7657697B2 (en) | Method of controlling a semiconductor memory device applied to a memory card | |
JP4177360B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2007094639A (ja) | メモリコントローラ及びフラッシュメモリシステム | |
US20070047308A1 (en) | Memory controller, flash memory system and control method for flash memory | |
JP2008009945A (ja) | メモリシステム | |
JP2007233838A (ja) | メモリシステムの制御方法 | |
JP2010128697A (ja) | メモリシステム | |
JP4710918B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
CN109542345B (zh) | Flash存储器的数据写入和读取方法、装置 | |
US9405674B2 (en) | Address generating circuit and address generating method | |
US9652378B2 (en) | Writing method, memory controller and memory storage device | |
JP4235624B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2005292925A (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
US8886989B2 (en) | Memory device | |
JP2006178909A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4304167B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |