CA2597551A1 - Nand flash memory system architecture - Google Patents

Nand flash memory system architecture Download PDF

Info

Publication number
CA2597551A1
CA2597551A1 CA002597551A CA2597551A CA2597551A1 CA 2597551 A1 CA2597551 A1 CA 2597551A1 CA 002597551 A CA002597551 A CA 002597551A CA 2597551 A CA2597551 A CA 2597551A CA 2597551 A1 CA2597551 A1 CA 2597551A1
Authority
CA
Canada
Prior art keywords
storage device
host
flash memory
data storage
controller
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.)
Abandoned
Application number
CA002597551A
Other languages
English (en)
French (fr)
Inventor
Meir Avraham
Amir Mosek
Amir Lehr
Menahen Lasser
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.)
Western Digital Israel Ltd
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of CA2597551A1 publication Critical patent/CA2597551A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44573Execute-in-place [XIP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
CA002597551A 2005-02-11 2006-02-09 Nand flash memory system architecture Abandoned CA2597551A1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US65176205P 2005-02-11 2005-02-11
US60/651,762 2005-02-11
US75859906P 2006-01-13 2006-01-13
US60/758,599 2006-01-13
PCT/IL2006/000176 WO2006085324A2 (en) 2005-02-11 2006-02-09 Nand flash memory system architecture

Publications (1)

Publication Number Publication Date
CA2597551A1 true CA2597551A1 (en) 2006-08-17

Family

ID=36793445

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002597551A Abandoned CA2597551A1 (en) 2005-02-11 2006-02-09 Nand flash memory system architecture

Country Status (6)

Country Link
US (2) US8990475B2 (enExample)
EP (1) EP1851771A2 (enExample)
JP (2) JP2008530683A (enExample)
KR (1) KR20080007430A (enExample)
CA (1) CA2597551A1 (enExample)
WO (1) WO2006085324A2 (enExample)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100448905B1 (ko) * 2002-07-29 2004-09-16 삼성전자주식회사 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치
KR100634436B1 (ko) * 2004-09-23 2006-10-16 삼성전자주식회사 멀티 칩 시스템 및 그것의 부트코드 페치 방법
KR20080007430A (ko) * 2005-02-11 2008-01-21 샌디스크 아이엘 엘티디 Nand 플래시 메모리 시스템 체계
US20070165457A1 (en) * 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system
US7652922B2 (en) 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
KR101293365B1 (ko) 2005-09-30 2013-08-05 모사이드 테크놀로지스 인코퍼레이티드 출력 제어 메모리
KR100880379B1 (ko) * 2006-05-25 2009-01-23 삼성전자주식회사 외부로부터 제공받는 부트 코드로 부팅되는 정보기기시스템
US20080005449A1 (en) * 2006-07-03 2008-01-03 Phison Electronics Corp. Generalized flash memory and method thereof
TWI374361B (en) * 2007-01-16 2012-10-11 Asustek Comp Inc Computer and host device thereof and built-in flash memory storage device
KR100823171B1 (ko) * 2007-02-01 2008-04-18 삼성전자주식회사 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
US8301912B2 (en) * 2007-12-31 2012-10-30 Sandisk Technologies Inc. System, method and memory device providing data scrambling compatible with on-chip copy operation
US20090282267A1 (en) * 2008-05-09 2009-11-12 Ori Stern Partial scrambling to reduce correlation
WO2010041093A1 (en) * 2008-10-09 2010-04-15 Federico Tiziani Virtualized ecc nand
US9092387B2 (en) 2008-12-10 2015-07-28 Micron Technology, Inc. Non-volatile memory device capable of initiating transactions
KR101542878B1 (ko) * 2009-02-13 2015-08-07 삼성전자주식회사 버퍼램을 포함하는 불휘발성 메모리 장치 및 그것의 부트 코드 관리 방법
KR20100133710A (ko) * 2009-06-12 2010-12-22 삼성전자주식회사 메모리 시스템 및 그것의 코드 데이터 로딩 방법
JP2011154547A (ja) * 2010-01-27 2011-08-11 Toshiba Corp メモリ管理装置及びメモリ管理方法
US8555050B2 (en) 2010-07-15 2013-10-08 Broadcom Corporation Apparatus and method thereof for reliable booting from NAND flash memory
US20120317377A1 (en) * 2011-06-09 2012-12-13 Alexander Palay Dual flash translation layer
US20130318284A1 (en) * 2012-05-24 2013-11-28 Silicon Motion, Inc. Data Storage Device and Flash Memory Control Method
US9053015B2 (en) * 2013-06-17 2015-06-09 Topcon Positioning Systems, Inc. NAND flash memory interface controller with GNSS receiver firmware booting capability
US9720604B2 (en) 2015-08-06 2017-08-01 Sandisk Technologies Llc Block storage protocol to RAM bypass
CN107622027A (zh) * 2017-09-20 2018-01-23 南京扬贺扬微电子科技有限公司 一种多合一Flash控制器及制卡方法
US11138158B2 (en) 2019-05-20 2021-10-05 Callplex, Inc. Binding a local data storage device to remote data storage
US11392509B2 (en) * 2020-08-18 2022-07-19 PetaIO Inc. Command memory buffer systems and methods

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1102814A (en) * 1912-12-17 1914-07-07 Gabriel Streit Scythe.
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
GB9903490D0 (en) * 1999-02-17 1999-04-07 Memory Corp Plc Memory system
US6567875B1 (en) * 1999-04-05 2003-05-20 Opti, Inc. USB data serializer
US6148354A (en) 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
KR100383774B1 (ko) * 2000-01-26 2003-05-12 삼성전자주식회사 공통 인터페이스 방식의 메모리 장치들을 구비한 시스템
JP3574078B2 (ja) * 2001-03-16 2004-10-06 東京エレクトロンデバイス株式会社 記憶装置と記憶装置制御方法
US6591330B2 (en) 2001-06-18 2003-07-08 M-Systems Flash Disk Pioneers Ltd. System and method for flexible flash file
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US6901499B2 (en) * 2002-02-27 2005-05-31 Microsoft Corp. System and method for tracking data stored in a flash memory device
US20030206442A1 (en) * 2002-05-02 2003-11-06 Jerry Tang Flash memory bridiging device, method and application system
US20040015771A1 (en) * 2002-07-16 2004-01-22 Menahem Lasser Error correction for non-volatile memory
JP2004133881A (ja) * 2002-08-14 2004-04-30 Ricoh Co Ltd カード型メモリのインターフェイス回路、その回路を搭載したasic、およびそのasicを搭載した画像形成装置
KR100469669B1 (ko) * 2002-09-24 2005-02-02 삼성전자주식회사 플래시 메모리를 이용하여 부팅되는 시스템 장치 및 그시스템 부팅 방법
CN1717662B (zh) 2002-11-28 2010-04-28 株式会社瑞萨科技 存储器模块、存储器系统和信息仪器
US7149889B2 (en) * 2002-12-12 2006-12-12 Scientific-Atlanta, Inc. Proactive reboot
JP2004220575A (ja) * 2002-12-27 2004-08-05 Ricoh Co Ltd カード型メモリのインターフェース回路、その回路を搭載したasic、及びそのasicを搭載した画像形成装置
KR100493884B1 (ko) * 2003-01-09 2005-06-10 삼성전자주식회사 시리얼 플래시 메모리에서의 현지 실행을 위한 제어 장치및 그 방법, 이를 이용한 플래시 메모리 칩
US7266676B2 (en) 2003-03-21 2007-09-04 Analog Devices, Inc. Method and apparatus for branch prediction based on branch targets utilizing tag and data arrays
US7254690B2 (en) * 2003-06-02 2007-08-07 S. Aqua Semiconductor Llc Pipelined semiconductor memories and systems
JP2005010942A (ja) * 2003-06-17 2005-01-13 Matsushita Electric Ind Co Ltd ブートコードが格納されるシーケンシャルアクセス・メモリデバイスを備えた装置及び前記装置の起動方法
US7752380B2 (en) * 2003-07-31 2010-07-06 Sandisk Il Ltd SDRAM memory device with an embedded NAND flash controller
US7296143B2 (en) * 2004-06-22 2007-11-13 Lenovo (Singapore) Pte. Ltd. Method and system for loading processor boot code from serial flash memory
US20060010285A1 (en) * 2004-07-06 2006-01-12 Prostor Systems, Inc. Virtual storage for removable storage media
US7305539B2 (en) * 2004-10-14 2007-12-04 Sandisk Il Ltd. Adaptive booting from mass storage device
KR20080007430A (ko) 2005-02-11 2008-01-21 샌디스크 아이엘 엘티디 Nand 플래시 메모리 시스템 체계

Also Published As

Publication number Publication date
KR20080007430A (ko) 2008-01-21
WO2006085324A3 (en) 2007-05-03
US20080104311A1 (en) 2008-05-01
US20060184724A1 (en) 2006-08-17
US9063848B2 (en) 2015-06-23
JP2008530683A (ja) 2008-08-07
EP1851771A2 (en) 2007-11-07
US8990475B2 (en) 2015-03-24
WO2006085324A2 (en) 2006-08-17
JP2011258236A (ja) 2011-12-22

Similar Documents

Publication Publication Date Title
US9063848B2 (en) NAND flash memory system architecture
KR102596400B1 (ko) 데이터 저장 장치 및 데이터 저장 장치의 동작 방법
EP1960887B1 (en) Method for flash-memory management
US8296467B2 (en) Single-chip flash device with boot code transfer capability
US8880483B2 (en) System and method for implementing extensions to intelligently manage resources of a mass storage system
KR102473665B1 (ko) 스토리지 디바이스 및 스토리지 가상화 시스템
US8307172B2 (en) Memory system including memory controller and separately formatted nonvolatile memory to avoid “copy-involving write” during updating file data in the memory
US8275927B2 (en) Storage sub-system for a computer comprising write-once memory devices and write-many memory devices and related method
US20080307158A1 (en) Method and apparatus for providing data type and host file information to a mass storage system
KR20140016430A (ko) 메모리 유닛 동작 방법 및 메모리 제어기
TW201945934A (zh) 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置
US7389397B2 (en) Method of storing control information in a large-page flash memory device
US20060026341A1 (en) Virtual-to-physical address translation in a flash file system
US9032135B2 (en) Data protecting method, memory controller and memory storage device using the same
US20090172269A1 (en) Nonvolatile memory device and associated data merge method
KR100816763B1 (ko) 플래시 메모리 모듈을 주기억장치로 사용하는 전자 시스템및 그것의 부팅 방법
KR20220077691A (ko) 호스트, 메모리 컨트롤러 및 메모리 장치를 포함하는 전자 시스템 및 이의 동작 방법
US8954692B2 (en) File protecting method and system, and memory controller and memory storage apparatus thereof
TWI721365B (zh) 高效能垃圾收集方法以及資料儲存裝置及其控制器
US9671964B2 (en) Method of securely erasing a non-volatile semiconductor mass memory, computer system, and computer program product
CN101142630A (zh) Nand闪速存储器系统结构
CN102109965A (zh) 闪存储存系统、闪存控制器、电脑系统及模拟方法
US20240377975A1 (en) Storage device, host device, and computing system
CN103377149A (zh) 保护数据的方法、存储器控制器与存储器储存装置
CN102236608A (zh) 数据存取方法与系统、存储介质控制器与存储系统

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued