RU2442211C2 - Гибридное запоминающее устройство с единым интерфейсом - Google Patents
Гибридное запоминающее устройство с единым интерфейсом Download PDFInfo
- Publication number
- RU2442211C2 RU2442211C2 RU2008148129/08A RU2008148129A RU2442211C2 RU 2442211 C2 RU2442211 C2 RU 2442211C2 RU 2008148129/08 A RU2008148129/08 A RU 2008148129/08A RU 2008148129 A RU2008148129 A RU 2008148129A RU 2442211 C2 RU2442211 C2 RU 2442211C2
- Authority
- RU
- Russia
- Prior art keywords
- memory
- type
- data
- controller
- storage device
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 9
- 239000000872 buffer Substances 0.000 claims description 21
- 230000003139 buffering effect Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 2
- 230000004075 alteration Effects 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 238000013461 design Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000002950 deficient Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/205—Hybrid memory, e.g. using both volatile and non-volatile memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/005—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/104—Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
- Dram (AREA)
Abstract
Изобретение относится к вычислительной технике, а именно к гибридным запоминающим устройствам. Техническим результатом является расширение памяти компьютерного устройства в отношении наличия относительно больших объемов энергозависимой и энергонезависимой памяти без изменений существующей физической архитектуры этого компьютерного устройства. В запоминающем устройстве система для обработки операций с данными в едином интерфейсе для двух типов памяти содержит первый тип памяти, второй тип памяти, причем первый и второй типы памяти являются типами аппаратной памяти, интерфейс, соответствующий первому типу памяти, контроллер, который соединен с интерфейсом, с первым типом памяти и со вторым типом памяти, при этом на основе информации, принятой в интерфейсе, контроллер определяет, направлена ли другая информация, принятая через интерфейс, в первый тип памяти или второй тип памяти. Способ описывает работу данной системы. 3 н. и 14 з.п. ф-лы, 10 ил.
Description
Уровень техники
Различные существующие и новые вычислительные устройства используют высокоскоростную энергозависимую память (к примеру, динамическое оперативное запоминающее устройство, или DRAM), чтобы хранить рабочие инструкции и данные. Эти устройства включают в себя мобильные телефоны, телевизионные абонентские приставки, память персонального компьютера и т.п. Вычислительные устройства все в большей степени также включают в себя значительные объемы относительно недорогой энергонезависимой флэш-памяти NAND, чтобы сохранять приложения и данные.
Тем не менее, многие существующие основанные на DRAM вычислительные устройства разрабатываются без надлежащих шинных интерфейсов, чтобы поддерживать флэш-память NAND; поддержка флэш-памяти NAND требует затратного и продолжительного переконструирования набора микросхем устройства. Аналогично, большинство флэш-устройств NAND не могут просто добавлять DRAM. Значительные изменения в физической архитектуре устройства требуются для того, чтобы вводить флэш-память в обновленную модель того, чтобы было, к примеру, основанным на DRAM устройством, или наоборот.
Хотя комбинация энергозависимой и энергонезависимой памяти предоставляет преимущества во многих случаях, зачастую затраты на переконструирование набора микросхем устройства слишком дороги/рискованны для производителя, и в результате производитель отказывается от новых признаков и бизнес-моделей, которые в противном случае были бы задействованы за счет наличия энергозависимой и энергонезависимой памяти в устройстве. Дополнительно, отсутствует простой способ использовать существующие архитектурные модели и, например, обновлять существующее основанное на DRAM устройство флэш-памятью NAND; к примеру, вся печатная плата должна быть переконструирована и заменена вместо простого добавления памяти или замены памяти в существующем устройстве (и обновления программного обеспечения соответствующим образом). Более того, существует значительное различие в скоростях шин между энергозависимой и основанной на DRAM памятью.
Сущность изобретения
Данная сущность предусмотрена для того, чтобы в упрощенной форме представить набор примерных идей, которые дополнительно описываются ниже в подробном описании. Эта сущность не предназначена для того, чтобы идентифицировать ключевые признаки или важнейшие признаки заявляемого предмета изобретения, а также не предназначена для того, чтобы быть использованной таким образом, который ограничивает область применения заявляемого предмета изобретения.
Вкратце, различные аспекты предмета изобретения, описанного в данном документе, направлены на гибридное запоминающее устройство, которое включает в себя первый тип памяти (к примеру, энергозависимую память DRAM-типа) и интерфейс, соответствующий первому типу памяти, и второй тип памяти (к примеру, энергонезависимая память флэш-типа). Запоминающее устройство включает в себя контроллер, который соединен с интерфейсом, первым типом памяти и вторым типом памяти. На основе такой информации, как команды и/или адреса памяти, принимаемой в интерфейсе, контроллер определяет, направлена ли команда, такая как запрос ввода-вывода (к примеру, чтение или запись) на первый тип памяти или второй тип памяти.
Таким образом, посредством приема команд, адресов и данных в контроллере гибридного запоминающего устройства доступ к различным типам памяти может осуществляться посредством программного обеспечения (к примеру, микропрограммного обеспечения устройства или программы) посредством одного интерфейса, заданного для одного типа памяти. Контроллер включает в себя логику, которая определяет, направлена ли команда/адрес, принимаемый по интерфейсу первого типа памяти, на второй тип памяти, ассоциативно связанный с запоминающим устройством, и, если так, выводит сигналы во второй тип памяти, чтобы передавать, по меньшей мере, одну команду во второй тип памяти и/или выполнять, по меньшей мере, одну операцию ввода/вывода (I/O) данных для второго типа памяти.
Другие преимущества могут стать очевидными из последующего подробного описания при рассмотрении совместно с чертежами.
Краткое описание чертежей
Настоящее изобретение проиллюстрировано в качестве примера, а не ограничения на прилагаемых чертежах, на которых аналогичные ссылки обозначают аналогичные элементы и на которых:
Фиг.1 показывает иллюстративный пример вычислительного устройства, в которое могут быть включены различные аспекты настоящего изобретения.
Фиг.2 - это представление примерного гибридного запоминающего устройства, включающего в себя контроллер и два типа памяти, к каждому из которых можно осуществлять доступ посредством единого интерфейса, заданного для одного из типов памяти.
Фиг.3A - это представление примерного гибридного запоминающего устройства с SDRAM-интерфейсом с SDRAM и флэш-памятью, доступ к которому осуществляется посредством обозначенного блока памяти в адресуемом пространстве SDRAM.
Фиг.3B - это представление примерного гибридного запоминающего устройства с SDRAM-интерфейсом с SDRAM и флэш-памятью, доступ к которому осуществляется посредством множества обозначенных блоков памяти в адресуемом пространстве SDRAM.
Фиг.4 - это представление адресуемого пространства памяти, соответствующего второму типу памяти, с секциями, используемыми для обмена данными и командами со вторым типом памяти.
Фиг.5 - это примерное представление одного подходящего типа SDRAM-устройства, которое может быть включено в гибридное запоминающее устройство.
Фиг.6 - это примерное представление гибридного запоминающего устройства с SDRAM-интерфейсом, содержащего SDRAM-устройство, такое как устройство по фиг.5, и флэш-устройство.
Фиг.7 - это примерное представление временной схемы управления SDRAM-устройством и флэш-устройством.
Фиг.8 - это представление примерных этапов, соответствующих тому, как контроллер может выводить флэш-данные в SDRAM-устройство, сконфигурированное для пакетного вывода данных.
Фиг.9 - это представление того, как флэш-память может быть добавлена в модуль памяти с двухрядным расположением выводов (DIMM) для добавления флэш-памяти в основанную на DRAM (в том числе SDRAM) память персонального компьютера.
Подробное описание изобретения
Примерное операционное окружение
Фиг.1 иллюстрирует пример некоторых подходящих функциональных компонентов вычислительного устройства 188, например, которые могут быть обнаружены в портативном/карманном/планшетном персональном цифровом устройстве, приборе, мобильном телефоне и т.п., включая процессор 189, память 190, дисплей 192 и клавиатуру 191 (которая может быть физической или виртуальной клавиатурой). Память 190, в общем, включает в себя энергозависимую память (к примеру, RAM) и энергонезависимую память (к примеру, ROM, PCMCIA-карты и т.п.). Дополнительно, как описано ниже, примерная память 190 включает в себя гибридное запоминающее устройство (соответствующее одной или более микросхем), которое содержит более одного типа памяти, такой как флэш-память и DRAM или флэш-память и SDRAM (синхронное DRAM), причем один из типов совместно использует интерфейс другого. Операционная система 193 может размещаться в памяти 190 и приводится в исполнение в процессоре 189, например основанная на Microsoft® Windows® операционная система или другая операционная система.
Одна или более прикладных программ 194 и данных 195 могут быть в памяти 190, к примеру, с программами 194, выполняемыми в операционной системе 193. Примеры приложений включают в себя программы электронной почты, программы планирования, программы PIM (персональной информационной системы), программы текстовых процессоров, программы электронных таблиц, программы Интернет-обозревателей и т.п. Вычислительное устройство 188 также может включать в себя другие компоненты 196, такие как менеджер уведомлений, загруженный в память 190, который приводится в исполнение в процессоре 189. Менеджер уведомлений, например, может обрабатывать запрос уведомления, к примеру, от прикладных программ 194.
Вычислительное устройство 188 имеет источник питания 197, к примеру, реализованный как один или более аккумуляторов или система с питанием от источника света. Источник 197 питания дополнительно может включать в себя внешний источник питания, который замещает или перезаряжает встроенные аккумуляторы, такой как адаптер переменного тока или стыковочная станция с питанием.
Примерное вычислительное устройство 188, представленное на фиг.1, показано с тремя примерными типами внешних устройств вывода, включая дисплей 192, другие механизмы 198 вывода (к примеру, один или более светодиодов, или LED) и формирователь 199 аудио, к примеру, подключенный к интегрированной акустической системе и/или к гнезду для наушников. Одно или более из этих устройств вывода может быть напрямую подключено к источнику 197 питания, так что когда активировано, оно остается включенным на продолжительность, диктуемую механизмом уведомлений, даже если процессор 189 и другие компоненты, возможно, отключены для экономии питания аккумуляторов. Например, LED может оставаться включенным (пока некоторая энергия доступна) до тех пор, пока пользователь не выполнит действие. Другие могут быть сконфигурированы так, чтобы отключаться, когда остальная система отключается или через какой-то конечный промежуток времени после активации.
Гибридное запоминающее устройство с единым интерфейсом
Различные аспекты технологии, описанной в данном документе, в общем, направлены на расширение памяти вычислительного устройства (такого, как устройство 188) в отношении наличия относительно больших объемов энергозависимой и энергонезависимой памяти в вычислительном устройстве без необходимости изменений существующей физической архитектуры этого вычислительного устройства. В общем, описание в данном документе предоставляет примеры включения флэш-памяти NAND в основанное на SDRAM устройство посредством добавления или замены гибридного запоминающего устройства (к примеру, содержащего одну или более микросхем), содержащего SDRAM и флэш-память NAND, при этом гибридное запоминающее устройство имеет такой же интерфейс (включая схему расположения выводов, протокол напряжения и протокол доступа), что и традиционный компонент SDRAM. Тем не менее, следует понимать, что эти аспекты и принципы применяются к любому типу или типам энергозависимой и/или энергонезависимой памяти, к примеру, различные типы DRAM (к примеру, EDO) могут быть использованы вместо SDRAM, наоборот, DRAM или SDRAM может быть встроено в флэш-устройство, основанная на NOR флэш-память может быть совмещена с SDRAM и/или с основанной на NAND флэш-памятью, статическое RAM (SRAM) или другие типы RAM могут быть одним из типов памяти, дополнительная энергозависимая память может быть добавлена вместо существующего энергозависимого запоминающего устройства, дополнительная энергонезависимая память может быть добавлена вместо существующего энергонезависимого запоминающего устройства и т.п. Отметим, что включение различных типов памяти в гибридное запоминающее устройство (с интерфейсом, который обычно соответствует исходному типу памяти для данной конструкции) типично добавляет общую память в устройство, необязательно увеличивает (а если требуется посредством конструктора, может уменьшать) объем исходного типа памяти и/или общий объем памяти.
Более того, следует понимать, что принципы, описанные в данном документе, не ограничены тем, что считается традиционными вычислительными устройствами (к примеру, настольные, блокнотные, дорожные или планшетные вычислительные системы, персональные цифровые устройства, карманные персональные компьютеры и т.п.), а, наоборот, могут быть использованы в любом устройстве, которое имеет потребность в хранении данных в энергозависимой или энергонезависимой памяти, включая мобильные телефоны, телевизионные абонентские приставки, гибридные жесткие диски, телевизоры, пульты дистанционного управления, аудиовизуальные устройства, электрические приборы, бытовую технику и т.п. Каждое из этих устройств может добавлять энергонезависимую память в конструкцию энергозависимой памяти или, наоборот, увеличивать память без затратного и рискового переконструирования аппаратных средств. Таким образом, например, устройство с энергозависимой памятью, такое как мобильный телефон, теперь может иметь большие объемы энергонезависимого устройства хранения, включенные в нее с тем, чтобы сохранять программы, музыку, изображения и т.п., просто посредством замены микросхемы памяти (или нескольких микросхем памяти) и обновления определенного микропрограммного обеспечения, чтобы работать с энергонезависимым устройством хранения, как описано ниже.
По сути, настоящее изобретение не ограничено примерами, структурами или функциональностью, описанной в данном документе. Наоборот, любые из примеров, структур или функциональностей, описанных в данном документе, являются неограничивающими, и настоящее изобретение может быть использовано различными способами, которые предоставляют выгоды и преимущества в вычислениях и хранении данных в общем.
Обращаясь к фиг.2 из чертежей, показан общий примерный принцип гибридного запоминающего устройства 202, включающего в себя энергозависимую память 204 (к примеру, SDRAM) и энергонезависимую память 206 (к примеру, флэш-память NAND). Контроллер 208 содержит логику, которая определяет, к какой памяти 204 или 206 осуществлять доступ, на основе адресов и команд, к примеру, исходящих из микропрограммного обеспечения/программного обеспечения и адресуемых посредством CPU.
Как представлено на фиг.2, контроллер 208 может включать в себя или иным образом быть ассоциативно связанным с буферным набором 210, содержащим один или более буферов, которые в одной реализации используются для целей согласования скорости. Например, сегодня SDRAM значительно быстрее, чем флэш-память, и тем самым гибридная микросхема памяти, которая имеет интерфейс, который представляется для внешних компонентов как SDRAM-устройство, должна буферизовать данные в буферном наборе 210 (к примеру, SDRAM, DRAM или SRAM), чтобы соответствовать протоколу SDRAM в отношении требований по скорости и выводу, включая требования пакетного режима. Таким образом, буферный набор 210 типично содержит память, такую как SDRAM или статическое RAM (SRAM), которая является, по меньшей мере, такой же быстрой, как требует данная микросхема SDRAM и ее протокол, в противном случае гибридное устройство иногда представляется для внешних компонентов как дефектная память. Отметим, что гибридному запоминающему устройству, которое добавило быструю память (к примеру, SDRAM) в более медленный (к примеру, флэш) интерфейс, не обязательно требуется такой буфер.
Фиг.3A иллюстрирует примерный принцип того, как, в общем, работает одно гибридное запоминающее устройство 302A, в котором флэш-память 306 скомпонована как определенное число блоков (к примеру, блоки от F-1 до F-n) и доступ к ней осуществляется посредством интерфейса SDRAM. Гибридное запоминающее устройство 302A также включает в себя SDRAM-устройство 304. Как описано ниже, находящийся на микросхеме контроллер 308A (к примеру, соответствующий контроллеру 208 по фиг.2) определяет то, к какой секции SDRAM 304 или флэш-памяти осуществить доступ, относительно текущего адреса, исходящего из CPU 389. В общем, контроллер 308A принимает из CPU 389 команды, данные и адреса, которые выводятся согласно традиционному протоколу SDRAM. Отметим, что CPU не обязательно должен знать что-либо о различных типах памяти на гибридной микросхеме и работает как обычно по текущей основанной на SDRAM шине.
На фиг.3A контроллер 308 включает в себя логику, которая позволяет обнаруживать адреса, отправляемые в адресные шины SDRAM гибридного устройства, которые являются частью его интерфейса. Некоторые из адресов в адресуемом диапазоне адресов соответствуют SDRAM, и для этих адресов контроллер 308A предоставляет возможность обработки адресов, команд и данных посредством SDRAM-устройства 304 (к примеру, перенаправляет эквивалентные единицы и нули или не отключает видимость единиц и нулей посредством устройства). Как результат, для этих адресов гибридное устройство выступает как традиционное SDRAM-устройство.
Тем не менее, определенные адреса в адресуемом диапазоне (типично содержащем непрерывный диапазон, указанный в данном документе как обозначенный блок 320) известны контроллеру 308 как ассоциативно связанные с флэш-памятью и, в сущности, выступают в качестве окна во флэш-память 306. Например, обозначенный блок может соответствовать размеру блока флэш-памяти, к примеру, 128 кб в одном типе флэш-устройства. Когда адреса в пределах обозначенного блока 320 передаются, SDRAM-устройство 304 отключается (фактически или практически) посредством контроллера 308. Контроллер 308 вместо этого отправляет команды в устройство 306 флэш-памяти или контролирует поток данных считывания и записи в устройстве 306 флэш-памяти. В зависимости от конструкции контроллер 308 может отключить SDRAM-компонент 304 посредством изменения соответствующей входной шины (к примеру, активации микросхемы) устройства 304 так, чтобы отключить посредством неперенаправления принимаемых адресов в устройство 304 и/или посредством перенаправления адресов (к примеру, если требуются для обновления), но не разрешения записи данных или возврата каких-либо данных для считывания.
Отметим, что объем флэш-памяти 306 не ограничен размером назначенного блока 320; наоборот, может быть несколько блоков флэш-памяти (или других компоновок флэш-памяти), причем контроллер 308 осуществляет доступ к каждому блоку и т.п. согласно традиционной информации отображения, которая идентифицирует то, к какой части (к примеру, блоку) всей флэш-памяти 306 должен быть осуществлен доступ. Дополнительная информация преобразования может быть записана в другие ячейки памяти, известные контроллеру 308, к примеру в верхнюю часть адресуемой памяти (или, возможно, в качестве дополнения в назначенный блок). Микропрограммное обеспечение 330, уже присутствующее фактически на всех вычислительных устройствах, может быть обновлено так, чтобы считывать и записывать эту информацию в соответствии с надлежащим протоколом посредством CPU 389 (как представлено на фиг.3A посредством пунктирных линий от микропрограммного обеспечения 330 через CPU 389 к контроллеру 308A; таким образом, команды, данные и информация 332 состояния может передаваться между микропрограммным обеспечением 330 устройства (и/или другим запрашиваемым кодом, далее для простоты упоминаемым как микропрограммное обеспечение 330) и гибридным запоминающим устройством 302A.
Фиг.3B - это представление принципа, аналогичного принципу по фиг.3A за исключением того, что на фиг.3B альтернативный контроллер 308B может иметь несколько буферов 310-1 и 310-2, соответствующих нескольким окнам 320A и 320B, отдельно преобразуемых в несколько блоков флэш-памяти (к примеру, в данный момент в блок флэш-памяти A1 и блок флэш-памяти B0 на фиг.3B). Можно легко принять во внимание, что, хотя только два таких параллельных (и тем самым типично более быстрых) доступа к устройствам флэш-памяти показаны на фиг.3B, может быть использовано любое осуществимое число.
В качестве примера того, как контроллер преобразует окно (фиг.3A) или окна (фиг.3B) в корректную секцию или секции флэш-памяти, фиг.4 иллюстрирует линейно представляемый диапазон 440 адресов, соответствующий диапазону традиционного SDRAM-устройства, который в данном примере составляет 4 Мслова по 16 битов. Для простоты отображение описывается относительно одного назначенного блока 320 по фиг.3A, тем не менее, можно легко понять, что отдельное отображение может быть выполнено фактически таким же образом.
В примере по фиг.4 последние два блока, соответствующие адресному пространству SDRAM, используются посредством контроллера 308 и микропрограммного обеспечения 330 в качестве канала 444 команд и канала 442 данных в устройстве 306 флэш-памяти. Информация отображения и другая информация 332 (фиг.3) в этих блоках 442 и 444 может считываться и записываться посредством контроллера 308 посредством любого надлежащего протокола, понимаемого контроллером 308 и источником этой дополнительной информации (к примеру, кодом 330 микропрограммного обеспечения). Таким образом, посредством осуществления доступа к дополнительной информации 332 (или 333 на фиг.3B) в контроллере 308, к примеру, последним двум блокам слов по одному килобайту устанавливаются пути команд и данных для связи с флэш-устройством 306. Другая информация также может быть в этих областях. Например, микропрограммное обеспечение 330 устройства может использовать эту секцию памяти для того, чтобы использовать протокол самозагрузки, посредством которого микропрограммное обеспечение 330 может определять, является ли запоминающее устройство истинно гибридным устройством, поскольку, в общем, гибридное запоминающее устройство 302A по фиг.3 в иных отношениях должно быть не отличимым от традиционного SDRAM-устройства. Другие возможные данные, передаваемые посредством этих блоков, могут, к примеру, информировать контроллер 308A о том, где назначенный блок 320 (или блоки на фиг.3B) размещается в пределах адресуемой памяти; к примеру, таким образом, назначенные блоки могут перемещаться, в том числе динамически, при необходимости.
Обращаясь к пояснению работы одного примерного запоминающего устройства, один надлежащий протокол команд содержит последовательный протокол, используемый для того, чтобы передавать блок адресов и информацию команд (к примеру, 332 на фиг.3A) для флэш-устройства. Отметим, что, поскольку контроллер 308A отвечает за трансляцию информации команд и адресов, протокол конфигурируется так, чтобы осуществлять доступ к различным типам флэш-устройств; к примеру, один тип устройства NAND использует интерфейс NOR SRAM, посредством которого управляющая логика осуществляет доступ к блокам данных, которые затем переводятся в последовательную форму, чтобы соответствовать протоколу доставки SDRAM-данных. Запись данных во флэш-память 306 аналогично должна быть преобразована посредством контроллера 308A так, как требуется посредством флэш-протокола, к примеру, 2 кб записываются единовременно в одно такое флэш-устройство.
Можно легко принимать во внимание, что, поскольку SDRAM в настоящее время на один или более порядков быстрее флэш-памяти, протокол включает в себя способ для контроллера 308A сообщать в микропрограммное обеспечение 330, когда запрос считывания или записи занят, а когда запрос готов. Может быть использован регистр состояния в ячейке 332. Например, микропрограммное обеспечение 330 отправляет команду считывания или записи через блок 332 команд; состояние, которым может быть бит, который является частью команды, задается посредством контроллера при приеме запроса флэш-памяти равным нулю, чтобы указать занятость. Отметим, что контроллер 308A не должен переключать состояние на занятость, если при запросе считывания контроллер 308A знает, что назначенный блок уже содержит корректные данные для текущего отображения.
В типичной ситуации контроллер 308A задает состояние как "занятость" и "для считывания" и начинает заполнение буфера 310 запрошенными данными. Когда буфер содержит корректные данные (которых может быть больше запрошенных в ожидании последующего запроса считывания), контроллер 308A переключает состояние на готовность. Микропрограммное обеспечение 330, которое опрашивает состояние, поскольку оно отправляет запрос, в таком случае знает, что могут быть считаны запрошенные данные, которые контроллер 308A далее выводит из буфера 310. Например, в соответствии с протоколом SDRAM контроллер должен выводить один набор данных (к примеру, байт) для запрошенного адреса, если один вывод запрошен, или временной пакетный вывод нескольких наборов данных, начиная с этого адреса, при этом число выводимых наборов соответствует текущему пакетному режиму. Отметим, что текущий пакетный режим может быть установлен через аппаратно реализованную настройку, в том числе настройку, которая указывает то, что пакетный режим управляется программно; в любом случае режим известен контроллеру 308A через SDRAM-эквивалентные настроечные шины и/или команду (для программно управляемого пакета).
Записи обрабатываются аналогично, при этом данные в назначенном блоке копируются посредством контроллера 308A в буфер 310, при этом контроллер предоставляет сигнал занятости, который опрашивается посредством микропрограммного обеспечения до тех пор, пока запрос записи не будет фактически выполнен посредством записи в более медленную флэш-память. Как в случае запроса считывания, для запроса записи гибридное запоминающее устройство 302A представляется для CPU 389 как работающее на корректных скоростях SDRAM, и CPU не знает ни о каких опрашиваниях состояний, осуществляемых между микропрограммным обеспечением 330 и контроллером 308A. Посредством протокола синхронная память, таким образом, управляется корректно с точки зрения CPU, но фактически управляется асинхронно с точки зрения запрашивающего объекта.
Таким образом, посредством добавления контроллера памяти в гибридное запоминающее устройство, содержащее SDRAM и флэш-память со стандартным SDRAM-интерфейсом, флэш-память накладывается на адресное пространство SDRAM. Протокол команд (к примеру, последовательный) используется для того, чтобы управлять отображением флэш-блоков/страниц в адресное пространство SDRAM. Это дает возможность одному совместимому по выводам комплекту многокристальной интегральной микросхемы заменять существующее SDRAM-устройство в любом вычислительном устройстве, которое хочет предоставлять флэш-устройство хранения, но при этом с помощью только изменений в микропрограммном обеспечении устройства. Например, буфер традиционного дискового накопителя может быть заменен с помощью одного обновления микросхемы, которое предоставляет флэш-устройство хранения, посредством чего флэш-устройство хранения может быть использовано с новым микропрограммным обеспечением, чтобы модернизировать существующие накопители до гибридных накопителей. Дополнительные примеры включают в себя добавление энергонезависимого устройства хранения в конструкцию телевизионной абонентской приставки или в конструкцию мобильного телефона, который в свое время был сконструирован без встроенного устройства хранения большой емкости, но сегодня оно желательно вследствие определенного нового варианта применения бизнес-модели.
В качестве примера конкретной архитектуры фиг.5 и 6 демонстрируют использование фактических флэш-устройств SDRAM и NAND с интерфейсом и внутренними компонентами, сконфигурированными для одного примерного протокола напряжения SDRAM и протокола доступа SDRAM, в которых требуются только изменения в программном обеспечении (к примеру, в микропрограммном обеспечении устройства) для того, чтобы применять энергонезависимую память в комплекте. Тем не менее, следует понимать, что может быть использовано, в сущности, любое устройство с заданными характеристиками адресации. Отметим, что архитектура на фиг.5 и 6 показывает применение 16-битовых путей данных, что является стандартным вариантом использования, хотя легко можно принять во внимание, что другая ширина путей данных работает таким же образом. В этом примере описывается комплект многокристальной интегральной микросхемы, который может физически заменить микросхему SDRAM в вычислительном устройстве и при этом включает в себя как энергозависимую SDRAM-память, так и энергонезависимую флэш-память NAND.
SDRAM-устройство 504, представленное на фиг.5, содержит устройство пакетного режима (к примеру, устройство Micron MT48LC4M16A2), поддерживающее 1-байтовые, 2-байтовые, 8-байтовые или постраничные передачи, и, например, может быть использовано в гибридном запоминающем устройстве 602 (фиг.6), которое включает в себя два гигабита флэш-памяти 606 NAND. Как представлено в этой примерной архитектуре для SDRAM-устройства по фиг.5, как в случае с традиционным SDRAM-устройством, гибридное запоминающее устройство допускает сигналы RAS/CAS (хорошо известный строб строкового доступа и строб столбцового доступа) по адресным шинам (к примеру, A0-A11, BA0-BA1) и для отличных от однобайтовых считываний и записей считывает или записывает данные последовательно с начального адреса RAS/CAS. Отметим, что вычислительное устройство, которое использует этот тип памяти, буферизует данные с последовательным доступом, что типично выполняется посредством встроенного кэша во многих вычислительных устройствах.
Поскольку данные предоставляются последовательно на основе начального адреса, контроллер 308 памяти (с относительно небольшой задержкой) между узловым устройством (к примеру, CPU) и SDRAM 504 может обнаруживать адреса, отправляемые в микросхему. Посредством обнаружения конкретных диапазонов адресов CE# (активировать) для интерфейса SDRAM может быть использована, чтобы перевести устройство 504 в цикл обновления с данными, предоставляемыми посредством другого источника.
На фиг.5 управляющая логика контроллера 308 обнаруживает адреса, отправляемые в SDRAM. Как описано выше, когда адреса в обозначенном блоке передаются, контроллер знает, что запрос предназначен для флэш-памяти; отметим, что в этой примерной архитектуре SDRAM-устройство отключено посредством предотвращения передачи CE# в устройство. Управляющая логика контроллера затем может либо отправлять команды во флэш-устройство 606, либо через логику передачи данных управлять потоком данных считывания и записи во флэш-устройство. Отметим, что поток команд в SDRAM-устройство не прерывается, и инициализация устройства с комплектом многокристальной интегральной микросхемы требует только того, чтобы управляющая логика обнаруживала работающий пакетный режим, чтобы SDRAM понимала пакеты данных, которые должны быть использованы при передаче данных флэш-памяти в шину данных памяти.
Таким образом, в этой архитектуре, в которой адреса отправляются в SDRAM посредством передач RAS/CAS по отдельной адресной шине, посредством обнаружения циклов RAS/CAS в управляющей логике команды и данные могут передаваться в и из флэш-памяти 606 соответствующим образом. Последовательный протокол записей в командный блок для флэш-памяти 606 дает возможность поддержки протокола флэш-устройства.
Флэш-устройство, представленное на фиг.6 (к примеру, устройство Micron MT29F2G16AABWP) имеет мультиплексированную шину, посредством которой ввод-вывод данных, адреса и команды совместно используют одни контакты. Отметим, что контакты ввода-вывода I/O[15:8] используются только для данных в конфигурации xl6, причем адреса и команды предоставляются по I/O[7:0]. Командная последовательность обычно включает в себя цикл командной защелки, цикл адресной защелки и цикл данных, считывания или записи. Управляющие сигналы CE#, WE#, RE#, CLE, ALE и WPP# управляют операциями считывания и записи флэш-устройства. Отметим, что в другой флэш-памяти, к примеру, в устройстве Micron Gb MT29F8G08FAB, CE# и CE2#, каждый, управляют независимыми 4-гигабайтными массивами. CE2# функционирует так же, как CE#, для собственного массива, и операции, описанные в CE#, также применяются к CE2#.
CE# используется для того, чтобы активировать устройство. Когда CE# небольшое и устройство не находится в состоянии занятости, флэш-память принимает команды, данные и информацию адресов. Когда устройство не совершает операции, контакт CE# типично переводится в высокое состояние и устройство переходит в режим ожидания. Память переходит в режим ожидания, если CE# переходит в высокое состояние в то время, когда передаются данные, и устройство не занято. Это помогает уменьшить энергопотребление.
Операция CE# "Don't Care" позволяет флэш-памяти NAND размещаться на той же шине асинхронной памяти, что и другая флэш-память или SRAM-устройства. Доступ к другим устройствам на шине памяти затем может осуществляться в то время, когда флэш-память NAND занята внутренними операциями. Это возможность предназначена для конструкций, которые требуют нескольких NAND-устройств на одной шине, к примеру, одно устройство может программироваться в то время, когда другое считывается. Высокий сигнал CLE указывает то, что осуществляется командный цикл. Высокий сигнал ALE означает, что происходит цикл ввода адреса. Команды записываются в регистр команд по переднему фронту WE#, когда CE# и ALE низкие, а CLE высокий и устройство не занято. Исключениями в это является команды считывания состояния и сброса.
С помощью этого конкретного компонента команды передаются в регистр команд по переднему фронту WE#; команды вводятся только в шины I/O[7:0]. Для устройств с интерфейсом xl6 в шины I/O[15:8] должны быть записаны нули при выдаче команды. Адреса записываются в регистр адресов по переднему фронту WE#, когда CE# и CLE низкие, а ALE высокий и устройство не занято. Адреса вводятся только в I/O[7:0]; для устройств с интерфейсом xl6 в I/O[15:8] должны быть записаны нули при выдаче адреса. В общем, все пять адресных циклов записываются в устройство. Исключением из этого является команда стирания блока, которая требует только три адресных цикла.
Флэш-устройство, приведенное в качестве примера в данном документе, является мультиплексированным устройством, в котором адреса, команды и данные протекают по простому 16-битовому интерфейсу последовательным образом. Фиг.7 иллюстрирует последовательный характер распределения во времени протокола передачи адресов, команд и данных в примерное флэш-устройство. Отметим, что адреса, команды и данные отправляются из SDRAM-интерфейса (который не мультиплексируется) посредством записи последовательно в блоки команд и данных.
Как описано выше, посредством обнаружения операций записи в блок команд адресного пространства SDRAM, требуемые данные могут передаваться во флэш-устройство посредством контроллера 308. Показанная выше передача адресов может быть расширена, чтобы показать передачу информации адресов во флэш-устройство. Как также описано выше, информация адресов для флэш-памяти передается посредством выполнения нескольких операций записи в адрес блока команд SDRAM. Данные SDRAM в этой области недоступны, поскольку выбор устройства для этих записей должен быть отменен. Таким последовательным образом данные адресов и информация команд могут быть записаны и считаны из флэш-устройства. Управляющая логика реализует дополнительные командные протоколы, как описано выше, к примеру, чтобы дать возможность изолировать флэш-устройство от вопросов скорости SDRAM-устройства. Например, посредством буферизации состояния флэш-устройства в управляющей логике дополнительная команда отвечает, что указание состояния занятости и приведения в исполнение может быть добавлено в последовательный протокол. Данные и состояние, возвращаемые из флэш-устройства, буферизуются в небольшой блок SRAM логики передачи данных, так что скорости считывания и записи во флэш-память соответствуют скоростям SDRAM.
Типичный пример последовательной передачи во флэш-устройство представлен на фиг.8, который представляет примерные операции считывания и записи посредством микропрограммного обеспечения 330 в адресное пространство 332 SDRAM (фиг.3), которое зарезервировано для управления флэш-памятью 306. В общем, микропрограммное обеспечение отправляет команду флэш-памяти на этапе 802 посредством записи команды IDLE в адресное пространство 332, которое обнаруживает контроллер.
На этапе 804 микропрограммное обеспечение отправляет запрос адресов блока флэш-памяти, содержащий пять записей адресов, которые указывают то, какой блок использовать и какой адрес, наряду с одной командой записи в адресное пространство команд. Контроллер затем имеет информацию, которая ему требуется для того, чтобы выполнить запись.
На каждом из этапов 806 и 808 микропрограммное обеспечение 330 опрашивает состояние посредством выдачи команды записи пакетного считывания, циклически проходящего через этап 810 до тех пор, пока состояние готовности не обнаружено, и пакет считывания из флэш-памяти (этап 812) отправляется.
В альтернативной реализации основанный на регистрах протокол предоставляет доступ к флэш-памяти посредством загрузки последовательности регистров, включающей в себя запись в регистр слова занятости, заданного так, чтобы начинать приведение в исполнение команды. Это дает возможность одной страничной записи инициировать запись или выборку блока либо блоков флэш-памяти. В этой альтернативе слово занятости переключается посредством контроллера, когда команда выполнена. Поддерживаемые команды включают в себя выборку адреса/блока (или выборку диапазона адресов), запись адреса/блока (или запись диапазона адресов) и удаление адреса/блока (или удаление диапазона адресов).
Более того, поскольку контроллер включает в себя логику, контроллер может выполнять управление флэш-памятью. Например, флэш-память изнашивается после определенного числа считываний и записей, и тем самым контроллер может переназначить доступ так, чтобы сбалансировать различные доступные блоки флэш-памяти, что упоминается как сглаживание срабатывания. Логика контроллера также может выполнять обнаружение и коррекцию ошибок и выполнять управление дефектными блоками посредством логического удаления известных дефектных блоков из доступных.
Фиг.9 - это примерное представление модуля памяти с двухрядным расположением выводов (DIMM) 902, иллюстрирующее то, как флэш-память может быть добавлена в традиционную системную память персонального компьютера. Физические микросхемы флэш-памяти могут быть на той же стороне, что и микросхемы SDRAM, на противоположной стороне или и там, и там. Контроллер может быть на самом DIMM либо альтернативно может быть внешним для него с возможностью деактивировать SDRAM и заменять флэш-данные при необходимости.
Когда персональный компьютер включается, BIOS (микропрограммное обеспечение) проверяет наличие гибридной DIMM-памяти и, если присутствует, загружает, по меньшей мере, часть SDRAM-памяти (ее код) из флэш-памяти. Наличие энергонезависимой флэш-памяти обеспечивает возможность операций загрузки или возобновления из данных, сохраненных во флэш-памяти. Например, доступ к данным осуществляется из кэш-памяти CPU, который преобразуется в блоки памяти и разрешается либо из SDRAM, либо из флэш-памяти. Если достаточно имеется флэш-памяти, вся SDRAM может быть сохранена для состояния ожидания либо вся операционная система загружается без необходимости осуществлять доступ к периферийным устройствам, таким как жесткий диск.
Хотя изобретение допускает различные модификации и альтернативные конструкции, его конкретные проиллюстрированные варианты осуществления показаны на чертежах и подробно описаны выше. Тем не менее, необходимо понимать, что отсутствует намерение ограничить изобретение конкретными раскрытыми формами, а наоборот, намерение состоит в том, чтобы охватить все модификации, альтернативные конструкции и эквиваленты, подпадающие под дух и область применения изобретения.
Claims (17)
1. Реализуемый в запоминающем устройстве способ обработки операций с данными в едином интерфейсе для по меньшей мере двух типов памяти без каких-либо изменений по отношению к физическому запоминающему устройству, содержащий этапы, на которых:
принимают в контроллере команды, адреса и данные в запоминающем устройстве через интерфейс, ассоциированный с запоминающим устройством, при этом запоминающее устройство включает в себя, по меньшей мере, первый тип памяти и второй тип памяти, причем интерфейс определен для первого типа памяти и устройство памяти включает в себя только программные изменения относительно запоминающего устройства, имеющего только первый тип памяти, так что никаких физических изменений не требуется по отношению к запоминающего устройству для работы с первым типом памяти и вторым типом памяти;
определяют в контроллере, соответствует ли информация, принятая в запоминающем устройстве, первому типу памяти, ассоциированному с запоминающим устройством, и если да, то выводят сигналы в первый тип памяти для передачи по меньшей мере одной команды в первый тип памяти; и
определяют в контроллере, соответствует ли информация, принятая в запоминающем устройстве, второму типу памяти, ассоциированному с запоминающим устройством, и если да, то выводят сигналы во второй тип памяти для передачи по меньшей мере одной команды во второй тип памяти.
принимают в контроллере команды, адреса и данные в запоминающем устройстве через интерфейс, ассоциированный с запоминающим устройством, при этом запоминающее устройство включает в себя, по меньшей мере, первый тип памяти и второй тип памяти, причем интерфейс определен для первого типа памяти и устройство памяти включает в себя только программные изменения относительно запоминающего устройства, имеющего только первый тип памяти, так что никаких физических изменений не требуется по отношению к запоминающего устройству для работы с первым типом памяти и вторым типом памяти;
определяют в контроллере, соответствует ли информация, принятая в запоминающем устройстве, первому типу памяти, ассоциированному с запоминающим устройством, и если да, то выводят сигналы в первый тип памяти для передачи по меньшей мере одной команды в первый тип памяти; и
определяют в контроллере, соответствует ли информация, принятая в запоминающем устройстве, второму типу памяти, ассоциированному с запоминающим устройством, и если да, то выводят сигналы во второй тип памяти для передачи по меньшей мере одной команды во второй тип памяти.
2. Способ по п.1, дополнительно содержащий этап, на котором, когда принятая информация соответствует второму типу памяти, отключают первый тип памяти.
3. Способ по п.1, дополнительно содержащий этапы, на которых, когда принятая информация соответствует второму типу памяти, выводят индикатор занятности, выполняют операцию ввода/вывода данных во втором типе памяти и выводят индикатор готовности, когда операция ввода/вывода завершена.
4. Способ по п.1, дополнительно содержащий этап, на котором, когда принятая информация соответствует второму типу памяти, осуществляют доступ к информации команд и/или информации адресации данных в другом наборе из одной или более ячеек запоминающего устройства.
5. Способ по п.4, в котором принятая информация соответствует информации адресации данных, при этом способ дополнительно содержит этап, на котором считывают информацию адресации данных, чтобы отобразить принятый адрес на одну секцию из множества возможных секций второго типа памяти.
6. В запоминающем устройстве система для обработки операций с данными в едином интерфейсе для двух типов памяти, содержащая:
первый тип памяти;
второй тип памяти, причем первый и второй типы памяти являются типами аппаратной памяти;
интерфейс, соответствующий первому типу памяти так, что запоминающее устройство работает с протоколом доступа первого типа памяти, и так, что только программные изменения требуются для работы интерфейса как с первым типом памяти, так и со вторым типом памяти и без каких-либо физических изменений запоминающего устройства относительно запоминающего устройства, имеющего только первый тип памяти; и
контроллер, который соединен с интерфейсом, с первым типом памяти и со вторым типом памяти, при этом на основе информации, принятой в интерфейсе, контроллер определяет, направлена ли другая информация, принятая через интерфейс, в первый тип памяти или второй тип памяти.
первый тип памяти;
второй тип памяти, причем первый и второй типы памяти являются типами аппаратной памяти;
интерфейс, соответствующий первому типу памяти так, что запоминающее устройство работает с протоколом доступа первого типа памяти, и так, что только программные изменения требуются для работы интерфейса как с первым типом памяти, так и со вторым типом памяти и без каких-либо физических изменений запоминающего устройства относительно запоминающего устройства, имеющего только первый тип памяти; и
контроллер, который соединен с интерфейсом, с первым типом памяти и со вторым типом памяти, при этом на основе информации, принятой в интерфейсе, контроллер определяет, направлена ли другая информация, принятая через интерфейс, в первый тип памяти или второй тип памяти.
7. Система по п.6, в которой первый тип памяти содержит энергозависимую память, второй тип памяти содержит энергонезависимую память, при этом, по меньшей мере, часть информации, принимаемой в интерфейсе, посредством которой контроллер определяет, направлена ли соответствующая информация, принимаемая через интерфейс, в первый тип памяти или второй тип памяти, принимается по адресу памяти, соответствующему первому типу памяти.
8. Система по п.7, в которой энергозависимая память содержит память SDRAM-типа или DRAM-типа, при этом адрес памяти и соответствующая информация, принятая посредством интерфейса, содержит строб строкового доступа, строб столбцового доступа и управляющую информацию.
9. Система по п.7, в которой энергонезависимая память содержит флэш-память, при этом система дополнительно содержит ассоциированный с контроллером буфер для буферизации операций ввода/вывода данных, выполняемых с помощью флэш-памяти.
10. Система по п.9, дополнительно содержащая индикатор состояния, при этом контроллер сообщает через индикатор состояния, занята ли или завершена операция ввода/вывода данных.
11. Система по п.6, в которой запоминающее устройство включено в модуль памяти с двухрядным расположением выводов.
12. Система по п.6, в которой контроллер осуществляет доступ к информации команд и/или информации адресации данных в наборе из одной или более ячеек, соответствующих первому типу памяти.
13. Система по п.6, в которой контроллер сообщается непосредственно с первым типом памяти и содержит набор буферов для сообщения со вторым типом памяти.
14. В вычислительном устройстве система для обработки операций с данными для двух типов памяти, содержащая:
центральный процессор;
гибридное запоминающее устройство, включающее в себя:
основывающуюся на DRAM-память
память типа флэш, имеющую скорость ниже, чем скорость основывающейся на DRAM-памяти,
микропрограммное обеспечение,
физическую архитектуру, которая включает в себя только изменения микропрограммного обеспечения относительно запоминающего устройства, имеющего только основывающуюся на DRAM-память, так что никакие физические изменения не выполняются для размещения памяти типа флэш в гибридном запоминающем устройстве,
интерфейс, соответствующий основывающейся на DRAM-памяти, и
контроллер, имеющий набор буферов согласования скорости для, по меньшей мере, скорости, основывающейся на DRAM-памяти; и
компонент, который
инициирует операции ввода/вывода (I/O) в контроллер через интерфейс, в том числе посредством записи связанных с I/O данных по одному или более адресам основывающейся на DRAM-памяти,
предписывает контроллеру отобразить упомянутые один или более адресов основывающейся на DRAM-памяти на память типа флэш, тем самым указывая, что упомянутые связанные с I/O данные должны использоваться в памяти типа флэш,
предписывает контроллеру устанавливать состояние в занятость, причем данное состояние указывает состояние занятости контроллера для микропрограммного обеспечения,
заполняет набор буферов согласования скорости данными,
когда в наборе буферов согласования скорости имеется достаточно данных для компенсации разницы в скорости в основывающейся на DRAM-памяти, устанавливает состояние в готовность, и,
когда микропрограммным обеспечением выполняется опрос на предмет состояния и определяется, что состояние установлено в готовность, выводит данные из набора буферов согласования скорости, при этом центральный процессор не осведомлен об опросе на предмет состояния со стороны микропрограммного обеспечения.
центральный процессор;
гибридное запоминающее устройство, включающее в себя:
основывающуюся на DRAM-память
память типа флэш, имеющую скорость ниже, чем скорость основывающейся на DRAM-памяти,
микропрограммное обеспечение,
физическую архитектуру, которая включает в себя только изменения микропрограммного обеспечения относительно запоминающего устройства, имеющего только основывающуюся на DRAM-память, так что никакие физические изменения не выполняются для размещения памяти типа флэш в гибридном запоминающем устройстве,
интерфейс, соответствующий основывающейся на DRAM-памяти, и
контроллер, имеющий набор буферов согласования скорости для, по меньшей мере, скорости, основывающейся на DRAM-памяти; и
компонент, который
инициирует операции ввода/вывода (I/O) в контроллер через интерфейс, в том числе посредством записи связанных с I/O данных по одному или более адресам основывающейся на DRAM-памяти,
предписывает контроллеру отобразить упомянутые один или более адресов основывающейся на DRAM-памяти на память типа флэш, тем самым указывая, что упомянутые связанные с I/O данные должны использоваться в памяти типа флэш,
предписывает контроллеру устанавливать состояние в занятость, причем данное состояние указывает состояние занятости контроллера для микропрограммного обеспечения,
заполняет набор буферов согласования скорости данными,
когда в наборе буферов согласования скорости имеется достаточно данных для компенсации разницы в скорости в основывающейся на DRAM-памяти, устанавливает состояние в готовность, и,
когда микропрограммным обеспечением выполняется опрос на предмет состояния и определяется, что состояние установлено в готовность, выводит данные из набора буферов согласования скорости, при этом центральный процессор не осведомлен об опросе на предмет состояния со стороны микропрограммного обеспечения.
15. Система по п.14, в которой упомянутые связанные с I/O данные ассоциированы с командой считывания, при этом заполнение набора буферов согласования скорости данными включает в себя получение этих данных из памяти типа флэш, причем при выводе данных выводятся данные, полученные из памяти типа флэш.
16. Система по п.14, в которой упомянутые связанные с I/O данные ассоциированы с командой записи, при этом заполнение набора буферов согласования скорости данными включает в себя получение этих данных из микропрограммного обеспечения, причем вывод данных включает в себя запись данных в память типа флэш.
17. Система по п.14, в которой центральный процессор не осведомлен о памяти типа флэш.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/449,435 US7716411B2 (en) | 2006-06-07 | 2006-06-07 | Hybrid memory device with single interface |
US11/449,435 | 2006-06-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2008148129A RU2008148129A (ru) | 2010-06-10 |
RU2442211C2 true RU2442211C2 (ru) | 2012-02-10 |
Family
ID=38823267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2008148129/08A RU2442211C2 (ru) | 2006-06-07 | 2007-06-01 | Гибридное запоминающее устройство с единым интерфейсом |
Country Status (11)
Country | Link |
---|---|
US (2) | US7716411B2 (ru) |
EP (1) | EP2025001B1 (ru) |
JP (2) | JP2009540431A (ru) |
KR (1) | KR101159400B1 (ru) |
CN (1) | CN101473438B (ru) |
BR (1) | BRPI0711731A2 (ru) |
ES (1) | ES2718463T3 (ru) |
MX (1) | MX2008014859A (ru) |
RU (1) | RU2442211C2 (ru) |
TW (1) | TWI420302B (ru) |
WO (1) | WO2007145883A1 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2757659C1 (ru) * | 2020-06-16 | 2021-10-19 | Александр Георгиевич Носков | Накопитель магнитный с разделёнными областями |
Families Citing this family (192)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8250295B2 (en) | 2004-01-05 | 2012-08-21 | Smart Modular Technologies, Inc. | Multi-rank memory module that emulates a memory module having a different number of ranks |
US8438328B2 (en) | 2008-02-21 | 2013-05-07 | Google Inc. | Emulation of abstracted DIMMs using abstracted DRAMs |
US8169233B2 (en) | 2009-06-09 | 2012-05-01 | Google Inc. | Programming of DIMM termination resistance values |
US8796830B1 (en) | 2006-09-01 | 2014-08-05 | Google Inc. | Stackable low-profile lead frame package |
US8335894B1 (en) | 2008-07-25 | 2012-12-18 | Google Inc. | Configurable memory system with interface circuit |
US8130560B1 (en) | 2006-11-13 | 2012-03-06 | Google Inc. | Multi-rank partial width memory modules |
US20080028136A1 (en) | 2006-07-31 | 2008-01-31 | Schakel Keith R | Method and apparatus for refresh management of memory modules |
US8089795B2 (en) | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
US20080082763A1 (en) | 2006-10-02 | 2008-04-03 | Metaram, Inc. | Apparatus and method for power management of memory circuits by a system or component thereof |
US8077535B2 (en) | 2006-07-31 | 2011-12-13 | Google Inc. | Memory refresh apparatus and method |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US8244971B2 (en) | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
US8081474B1 (en) | 2007-12-18 | 2011-12-20 | Google Inc. | Embossed heat spreader |
US8055833B2 (en) | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US8111566B1 (en) | 2007-11-16 | 2012-02-07 | Google, Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
US8397013B1 (en) | 2006-10-05 | 2013-03-12 | Google Inc. | Hybrid memory module |
US8041881B2 (en) | 2006-07-31 | 2011-10-18 | Google Inc. | Memory device with emulated characteristics |
US8327104B2 (en) | 2006-07-31 | 2012-12-04 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US8090897B2 (en) | 2006-07-31 | 2012-01-03 | Google Inc. | System and method for simulating an aspect of a memory circuit |
US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
US8359187B2 (en) | 2005-06-24 | 2013-01-22 | Google Inc. | Simulating a different number of memory circuit devices |
US7386656B2 (en) | 2006-07-31 | 2008-06-10 | Metaram, Inc. | Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit |
US8060774B2 (en) | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
US8386722B1 (en) | 2008-06-23 | 2013-02-26 | Google Inc. | Stacked DIMM memory interface |
US7392338B2 (en) | 2006-07-31 | 2008-06-24 | Metaram, Inc. | Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits |
US9542352B2 (en) | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
DE112006002300B4 (de) | 2005-09-02 | 2013-12-19 | Google, Inc. | Vorrichtung zum Stapeln von DRAMs |
US9632929B2 (en) | 2006-02-09 | 2017-04-25 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
US7724589B2 (en) | 2006-07-31 | 2010-05-25 | Google Inc. | System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits |
US7516293B2 (en) * | 2006-09-08 | 2009-04-07 | International Business Machines Corporation | Increased performance using mixed memory types |
WO2008057557A2 (en) | 2006-11-06 | 2008-05-15 | Rambus Inc. | Memory system supporting nonvolatile physical memory |
US8135900B2 (en) * | 2007-03-28 | 2012-03-13 | Kabushiki Kaisha Toshiba | Integrated memory management and memory management method |
JP5032172B2 (ja) * | 2007-03-28 | 2012-09-26 | 株式会社東芝 | 統合メモリ管理装置及び方法並びにデータ処理システム |
US8427891B2 (en) * | 2007-04-17 | 2013-04-23 | Rambus Inc. | Hybrid volatile and non-volatile memory device with a shared interface circuit |
US8874831B2 (en) | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
US8301833B1 (en) | 2007-06-01 | 2012-10-30 | Netlist, Inc. | Non-volatile memory module |
US8904098B2 (en) | 2007-06-01 | 2014-12-02 | Netlist, Inc. | Redundant backup using non-volatile memory |
US8209479B2 (en) | 2007-07-18 | 2012-06-26 | Google Inc. | Memory circuit system and method |
DE102007038543B4 (de) * | 2007-08-16 | 2022-09-01 | Robert Bosch Gmbh | Begleit-Chip zur Anwendung in einer Motorsteuerung |
US8080874B1 (en) | 2007-09-14 | 2011-12-20 | Google Inc. | Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween |
US9201790B2 (en) * | 2007-10-09 | 2015-12-01 | Seagate Technology Llc | System and method of matching data rates |
US8352671B2 (en) * | 2008-02-05 | 2013-01-08 | Spansion Llc | Partial allocate paging mechanism using a controller and a buffer |
US8332572B2 (en) * | 2008-02-05 | 2012-12-11 | Spansion Llc | Wear leveling mechanism using a DRAM buffer |
US8209463B2 (en) * | 2008-02-05 | 2012-06-26 | Spansion Llc | Expansion slots for flash memory based random access memory subsystem |
US8275945B2 (en) * | 2008-02-05 | 2012-09-25 | Spansion Llc | Mitigation of flash memory latency and bandwidth limitations via a write activity log and buffer |
JP2009211192A (ja) * | 2008-02-29 | 2009-09-17 | Toshiba Corp | メモリシステム |
US8082384B2 (en) | 2008-03-26 | 2011-12-20 | Microsoft Corporation | Booting an electronic device using flash memory and a limited function memory controller |
US20090313416A1 (en) * | 2008-06-16 | 2009-12-17 | George Wayne Nation | Computer main memory incorporating volatile and non-volatile memory |
US10236032B2 (en) * | 2008-09-18 | 2019-03-19 | Novachips Canada Inc. | Mass data storage system with non-volatile memory modules |
US8599625B2 (en) | 2008-10-23 | 2013-12-03 | Marvell World Trade Ltd. | Switch pin multiplexing |
KR100987332B1 (ko) | 2008-11-07 | 2010-10-18 | 서울대학교산학협력단 | 메모리 구조에 따른 메모리 관리 장치 |
CN101510174B (zh) * | 2008-11-07 | 2012-05-02 | 慧帝科技(深圳)有限公司 | 一种快闪记忆体更新资料的管理方法及相关的记忆卡 |
US8370603B2 (en) * | 2008-12-23 | 2013-02-05 | Apple Inc. | Architecture for address mapping of managed non-volatile memory |
US20140325129A1 (en) * | 2008-12-31 | 2014-10-30 | Micron Technology, Inc. | Method and apparatus for active range mapping for a nonvolatile memory device |
US8327087B1 (en) * | 2008-12-31 | 2012-12-04 | Micron Technology, Inc. | Method and apparatus for an always open write-only register based memory mapped overlay interface for a nonvolatile memory |
KR101583002B1 (ko) * | 2009-02-23 | 2016-01-21 | 삼성전자주식회사 | 컴퓨팅 시스템, 그것의 부팅 방법, 및 코드 데이터 피닝 방법 |
CN102063939B (zh) * | 2009-11-18 | 2015-01-28 | 中兴通讯股份有限公司 | 一种电可擦除可编程只读存储器的实现方法和装置 |
CN102110057B (zh) * | 2009-12-25 | 2013-05-08 | 澜起科技(上海)有限公司 | 存储器模组及存储器模组内的数据交换方法 |
US8612809B2 (en) | 2009-12-31 | 2013-12-17 | Intel Corporation | Systems, methods, and apparatuses for stacked memory |
US9176908B2 (en) | 2010-02-23 | 2015-11-03 | Rambus Inc. | Time multiplexing at different rates to access different memory types |
KR101840238B1 (ko) | 2010-03-08 | 2018-03-20 | 휴렛 팩커드 엔터프라이즈 디벨롭먼트 엘피 | 데이터 저장 장치 및 방법 |
US20110255335A1 (en) * | 2010-04-20 | 2011-10-20 | Alessandro Grossi | Charge trap memory having limited charge diffusion |
US20120026802A1 (en) * | 2010-07-30 | 2012-02-02 | Emanuele Confalonieri | Managed hybrid memory with adaptive power supply |
KR101670055B1 (ko) * | 2010-08-30 | 2016-11-09 | 삼성전자 주식회사 | 디지털 영상 처리 장치의 제어 방법, 상기 방법을 적용한 디지털 영상 처리 장치, 상기 디지털 영상 처리 장치를 포함하는 통신 시스템 |
JP2012063874A (ja) * | 2010-09-14 | 2012-03-29 | Toshiba Corp | チップセレクト信号を切り替えるセレクタ、ストレージ装置、及び電子機器 |
KR20120028484A (ko) | 2010-09-15 | 2012-03-23 | 삼성전자주식회사 | 모바일 기기에 채용하기 적합한 복합형 반도체 장치 |
EP2453377A1 (en) * | 2010-11-15 | 2012-05-16 | Gemalto SA | Method of loading data into a portable secure token |
US10817502B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent memory management |
US9208071B2 (en) * | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
WO2012116369A2 (en) * | 2011-02-25 | 2012-08-30 | Fusion-Io, Inc. | Apparatus, system, and method for managing contents of a cache |
US9158546B1 (en) | 2011-04-06 | 2015-10-13 | P4tents1, LLC | Computer program product for fetching from a first physical memory between an execution of a plurality of threads associated with a second physical memory |
US9176671B1 (en) | 2011-04-06 | 2015-11-03 | P4tents1, LLC | Fetching data between thread execution in a flash/DRAM/embedded DRAM-equipped system |
US9164679B2 (en) | 2011-04-06 | 2015-10-20 | Patents1, Llc | System, method and computer program product for multi-thread operation involving first memory of a first memory class and second memory of a second memory class |
US9170744B1 (en) | 2011-04-06 | 2015-10-27 | P4tents1, LLC | Computer program product for controlling a flash/DRAM/embedded DRAM-equipped system |
US8930647B1 (en) | 2011-04-06 | 2015-01-06 | P4tents1, LLC | Multiple class memory systems |
US10198350B2 (en) | 2011-07-28 | 2019-02-05 | Netlist, Inc. | Memory module having volatile and non-volatile memory subsystems and method of operation |
US10380022B2 (en) | 2011-07-28 | 2019-08-13 | Netlist, Inc. | Hybrid memory module and system and method of operating the same |
US10838646B2 (en) | 2011-07-28 | 2020-11-17 | Netlist, Inc. | Method and apparatus for presearching stored data |
US9417754B2 (en) | 2011-08-05 | 2016-08-16 | P4tents1, LLC | User interface system, method, and computer program product |
US11048410B2 (en) | 2011-08-24 | 2021-06-29 | Rambus Inc. | Distributed procedure execution and file systems on a memory interface |
US9098209B2 (en) | 2011-08-24 | 2015-08-04 | Rambus Inc. | Communication via a memory interface |
WO2013028854A1 (en) | 2011-08-24 | 2013-02-28 | Rambus Inc. | Methods and systems for mapping a peripheral function onto a legacy memory interface |
US9195530B1 (en) | 2011-09-06 | 2015-11-24 | Western Digital Technologies, Inc. | Systems and methods for improved data management in data storage systems |
US8713357B1 (en) | 2011-09-06 | 2014-04-29 | Western Digital Technologies, Inc. | Systems and methods for detailed error reporting in data storage systems |
US8700834B2 (en) | 2011-09-06 | 2014-04-15 | Western Digital Technologies, Inc. | Systems and methods for an enhanced controller architecture in data storage systems |
US8707104B1 (en) | 2011-09-06 | 2014-04-22 | Western Digital Technologies, Inc. | Systems and methods for error injection in data storage systems |
US9361986B2 (en) | 2011-09-19 | 2016-06-07 | Sandisk Technologies Inc. | High endurance non-volatile storage |
KR20130032772A (ko) * | 2011-09-23 | 2013-04-02 | 삼성전자주식회사 | 하이브리드 메모리 장치, 이를 포함하는 컴퓨터 시스템, 및 하이브리드 메모리장치의 데이터 기입 및 독출 방법 |
US9053008B1 (en) | 2012-03-26 | 2015-06-09 | Western Digital Technologies, Inc. | Systems and methods for providing inline parameter service in data storage devices |
US20140165196A1 (en) | 2012-05-22 | 2014-06-12 | Xockets IP, LLC | Efficient packet handling, redirection, and inspection using offload processors |
US9258276B2 (en) | 2012-05-22 | 2016-02-09 | Xockets, Inc. | Efficient packet handling, redirection, and inspection using offload processors |
US9183910B2 (en) | 2012-05-31 | 2015-11-10 | Samsung Electronics Co., Ltd. | Semiconductor memory devices for alternately selecting bit lines |
US9252996B2 (en) | 2012-06-21 | 2016-02-02 | Micron Technology, Inc. | Apparatuses and methods to change information values |
KR20130143210A (ko) * | 2012-06-21 | 2013-12-31 | 삼성전자주식회사 | 메모리 확장 장치 |
US20140101370A1 (en) * | 2012-10-08 | 2014-04-10 | HGST Netherlands B.V. | Apparatus and method for low power low latency high capacity storage class memory |
US20140108705A1 (en) | 2012-10-12 | 2014-04-17 | Sandisk Technologies Inc. | Use of High Endurance Non-Volatile Memory for Read Acceleration |
KR101630583B1 (ko) | 2012-10-30 | 2016-06-14 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 스마트 메모리 버퍼 |
CA2891355C (en) * | 2012-11-20 | 2022-04-05 | Charles I. Peddle | Solid state drive architectures |
US9147461B1 (en) | 2012-11-28 | 2015-09-29 | Samsung Electronics Co., Ltd. | Semiconductor memory device performing a refresh operation, and memory system including the same |
US9280497B2 (en) * | 2012-12-21 | 2016-03-08 | Dell Products Lp | Systems and methods for support of non-volatile memory on a DDR memory channel |
US9250954B2 (en) | 2013-01-17 | 2016-02-02 | Xockets, Inc. | Offload processor modules for connection to system memory, and corresponding methods and systems |
US9378161B1 (en) | 2013-01-17 | 2016-06-28 | Xockets, Inc. | Full bandwidth packet handling with server systems including offload processors |
CN103970219B (zh) * | 2013-01-30 | 2018-03-20 | 鸿富锦精密电子(天津)有限公司 | 存储设备及支持所述存储设备的主板 |
KR101752583B1 (ko) | 2013-03-14 | 2017-07-11 | 마이크론 테크놀로지, 인크. | 트레이닝, 데이터 조직, 및/또는 섀도잉을 포함하는 메모리 시스템들 및 방법들 |
US8812744B1 (en) | 2013-03-14 | 2014-08-19 | Microsoft Corporation | Assigning priorities to data for hybrid drives |
US10372551B2 (en) | 2013-03-15 | 2019-08-06 | Netlist, Inc. | Hybrid memory system with configurable error thresholds and failure analysis capability |
US9658783B2 (en) | 2013-03-27 | 2017-05-23 | Hitachi, Ltd. | DRAM having SDRAM interface and flash memory consolidated memory module |
JP5996781B2 (ja) * | 2013-03-27 | 2016-09-21 | 株式会社日立製作所 | Sdramインターフェイスを有するdram、フラッシュメモリ混載メモリモジュール |
US9552176B2 (en) * | 2013-04-12 | 2017-01-24 | Microsoft Technology Licensing, Llc | Block storage using a hybrid memory device |
US9626126B2 (en) | 2013-04-24 | 2017-04-18 | Microsoft Technology Licensing, Llc | Power saving mode hybrid drive access management |
US9946495B2 (en) | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
US9436600B2 (en) | 2013-06-11 | 2016-09-06 | Svic No. 28 New Technology Business Investment L.L.P. | Non-volatile memory storage for multi-channel memory system |
US9858181B2 (en) * | 2013-06-20 | 2018-01-02 | Hitachi, Ltd. | Memory module having different types of memory mounted together thereon, and information processing device having memory module mounted therein |
US9129674B2 (en) * | 2013-06-27 | 2015-09-08 | Intel Corporation | Hybrid memory device |
US20160139807A1 (en) * | 2013-07-09 | 2016-05-19 | Hewlett-Packard Development Company, L.P. | Write flow control for memory modules that include or interface with non-compliant memory technologies |
US9921980B2 (en) | 2013-08-12 | 2018-03-20 | Micron Technology, Inc. | Apparatuses and methods for configuring I/Os of memory for hybrid memory modules |
JP6090057B2 (ja) * | 2013-08-15 | 2017-03-08 | 富士ゼロックス株式会社 | 状態情報記録装置及びプログラム |
US10185515B2 (en) | 2013-09-03 | 2019-01-22 | Qualcomm Incorporated | Unified memory controller for heterogeneous memory on a multi-chip package |
JP6072661B2 (ja) * | 2013-09-30 | 2017-02-01 | ルネサスエレクトロニクス株式会社 | データ処理装置、マイクロコントローラ、及び半導体装置 |
EP3066570A4 (en) | 2013-11-07 | 2017-08-02 | Netlist, Inc. | Hybrid memory module and system and method of operating the same |
US11182284B2 (en) | 2013-11-07 | 2021-11-23 | Netlist, Inc. | Memory module having volatile and non-volatile memory subsystems and method of operation |
US10248328B2 (en) | 2013-11-07 | 2019-04-02 | Netlist, Inc. | Direct data move between DRAM and storage on a memory module |
KR102195896B1 (ko) * | 2014-01-10 | 2020-12-28 | 삼성전자주식회사 | 디스크 캐시 제어 장치 및 방법 |
US9342402B1 (en) | 2014-01-28 | 2016-05-17 | Altera Corporation | Memory interface with hybrid error detection circuitry for modular designs |
US9237670B2 (en) | 2014-02-26 | 2016-01-12 | Samsung Electronics Co., Ltd. | Socket interposer and computer system using the socket |
CN103942159A (zh) * | 2014-03-19 | 2014-07-23 | 华中科技大学 | 一种基于混合存储设备的数据读写方法与装置 |
US9911477B1 (en) | 2014-04-18 | 2018-03-06 | Altera Corporation | Memory controller architecture with improved memory scheduling efficiency |
US20150347151A1 (en) * | 2014-05-28 | 2015-12-03 | Diablo Technologies Inc. | System and method for booting from a non-volatile memory |
US9811263B1 (en) | 2014-06-30 | 2017-11-07 | Altera Corporation | Memory controller architecture with improved memory scheduling efficiency |
US10430092B1 (en) * | 2014-07-28 | 2019-10-01 | Rambus Inc. | Memory controller systems with nonvolatile memory for storing operating parameters |
US9715453B2 (en) * | 2014-12-11 | 2017-07-25 | Intel Corporation | Computing method and apparatus with persistent memory |
US10318340B2 (en) * | 2014-12-31 | 2019-06-11 | Ati Technologies Ulc | NVRAM-aware data processing system |
KR102355436B1 (ko) * | 2015-01-09 | 2022-01-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 |
KR102076196B1 (ko) * | 2015-04-14 | 2020-02-12 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 모듈 및 메모리 모듈의 동작 방법 |
EP3286654B1 (en) * | 2015-04-20 | 2021-10-27 | Netlist, Inc. | Memory module and system and method of operation |
US10339081B2 (en) | 2015-05-09 | 2019-07-02 | Medtronic, Inc. | Methods and devices that utilize hardware to move blocks of operating parameter data from memory to a register set |
US10261697B2 (en) | 2015-06-08 | 2019-04-16 | Samsung Electronics Co., Ltd. | Storage device and operating method of storage device |
US9904490B2 (en) * | 2015-06-26 | 2018-02-27 | Toshiba Memory Corporation | Solid-state mass storage device and method for persisting volatile data to non-volatile media |
US10078448B2 (en) | 2015-07-08 | 2018-09-18 | Samsung Electronics Co., Ltd. | Electronic devices and memory management methods thereof |
US20170060434A1 (en) * | 2015-08-27 | 2017-03-02 | Samsung Electronics Co., Ltd. | Transaction-based hybrid memory module |
KR102367512B1 (ko) | 2015-09-08 | 2022-02-24 | 삼성전자주식회사 | 시스템 온 패키지 |
US10031674B2 (en) * | 2015-10-07 | 2018-07-24 | Samsung Electronics Co., Ltd. | DIMM SSD addressing performance techniques |
US10331586B2 (en) | 2015-10-30 | 2019-06-25 | Samsung Electronics Co., Ltd. | Nonvolatile memory device for providing fast booting and system including the same |
WO2017078681A1 (en) * | 2015-11-03 | 2017-05-11 | Hewlett-Packard Development Company, L.P. | Operating mode memory migration |
US9971511B2 (en) | 2016-01-06 | 2018-05-15 | Samsung Electronics Co., Ltd. | Hybrid memory module and transaction-based memory interface |
US20170220252A1 (en) * | 2016-01-29 | 2017-08-03 | Faraday&Future Inc. | Flash emulated eeprom wrapper |
US10146704B2 (en) * | 2016-02-16 | 2018-12-04 | Dell Products L.P. | Volatile/non-volatile memory device access provisioning system |
US10534619B2 (en) | 2016-02-26 | 2020-01-14 | Smart Modular Technologies, Inc. | Memory management system with multiple boot devices and method of operation thereof |
US10163508B2 (en) * | 2016-02-26 | 2018-12-25 | Intel Corporation | Supporting multiple memory types in a memory slot |
US10621119B2 (en) | 2016-03-03 | 2020-04-14 | Samsung Electronics Co., Ltd. | Asynchronous communication protocol compatible with synchronous DDR protocol |
US10592114B2 (en) | 2016-03-03 | 2020-03-17 | Samsung Electronics Co., Ltd. | Coordinated in-module RAS features for synchronous DDR compatible memory |
US10310547B2 (en) * | 2016-03-05 | 2019-06-04 | Intel Corporation | Techniques to mirror a command/address or interpret command/address logic at a memory device |
US10810144B2 (en) * | 2016-06-08 | 2020-10-20 | Samsung Electronics Co., Ltd. | System and method for operating a DRR-compatible asynchronous memory module |
US10692555B2 (en) | 2016-06-29 | 2020-06-23 | Samsung Electronics Co., Ltd. | Semiconductor memory devices enabling read strobe mode and related methods of operating semiconductor memory devices |
US10186309B2 (en) | 2016-06-29 | 2019-01-22 | Samsung Electronics Co., Ltd. | Methods of operating semiconductor memory devices and semiconductor memory devices |
KR102554496B1 (ko) | 2016-07-14 | 2023-07-13 | 에스케이하이닉스 주식회사 | 복수개의 메모리 모듈을 포함하는 데이터 처리 시스템 |
US10282108B2 (en) * | 2016-08-31 | 2019-05-07 | Micron Technology, Inc. | Hybrid memory device using different types of capacitors |
US9916256B1 (en) | 2016-09-12 | 2018-03-13 | Toshiba Memory Corporation | DDR storage adapter |
KR20180030329A (ko) * | 2016-09-13 | 2018-03-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US10552053B2 (en) | 2016-09-28 | 2020-02-04 | Seagate Technology Llc | Hybrid data storage device with performance mode data path |
DE102017105155B4 (de) | 2016-11-11 | 2023-09-07 | Sandisk Technologies Llc | Schnittstelle für einen nichtflüchtigen speicher |
CN108121664A (zh) * | 2016-11-28 | 2018-06-05 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
KR20180078512A (ko) | 2016-12-30 | 2018-07-10 | 삼성전자주식회사 | 반도체 장치 |
JP6391719B2 (ja) * | 2017-01-10 | 2018-09-19 | マイクロン テクノロジー, インク. | トレーニング、データ再構築および/またはシャドウィングを含むメモリシステムおよび方法 |
TWI705374B (zh) | 2017-01-23 | 2020-09-21 | 威鋒電子股份有限公司 | 電子裝置及其操作方法 |
US11175853B2 (en) * | 2017-05-09 | 2021-11-16 | Samsung Electronics Co., Ltd. | Systems and methods for write and flush support in hybrid memory |
US10496584B2 (en) * | 2017-05-11 | 2019-12-03 | Samsung Electronics Co., Ltd. | Memory system for supporting internal DQ termination of data buffer |
US10403342B2 (en) * | 2017-06-20 | 2019-09-03 | Aspiring Sky Co. Limited | Hybrid flash memory structure |
US10845866B2 (en) * | 2017-06-22 | 2020-11-24 | Micron Technology, Inc. | Non-volatile memory system or sub-system |
ES2827790T3 (es) * | 2017-08-21 | 2021-05-24 | Carrier Corp | Sistema antiincendios y de seguridad que incluye bucle accesible por dirección y mejora automática de firmware |
KR102412609B1 (ko) | 2017-11-03 | 2022-06-23 | 삼성전자주식회사 | 내부 커맨드에 따른 어드레스에 대한 저장 및 출력 제어를 수행하는 메모리 장치 및 그 동작방법 |
KR102101622B1 (ko) * | 2017-12-06 | 2020-04-17 | 주식회사 멤레이 | 메모리 제어 장치 및 이를 포함하는 컴퓨팅 디바이스 |
US11216370B2 (en) * | 2018-02-20 | 2022-01-04 | Medtronic, Inc. | Methods and devices that utilize hardware to move blocks of operating parameter data from memory to a register set |
KR20190105337A (ko) | 2018-03-05 | 2019-09-17 | 삼성전자주식회사 | 반도체 메모리 장치 |
US10534731B2 (en) | 2018-03-19 | 2020-01-14 | Micron Technology, Inc. | Interface for memory having a cache and multiple independent arrays |
US10705963B2 (en) * | 2018-03-21 | 2020-07-07 | Micron Technology, Inc. | Latency-based storage in a hybrid memory system |
TWI668575B (zh) * | 2018-07-26 | 2019-08-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
US10977198B2 (en) * | 2018-09-12 | 2021-04-13 | Micron Technology, Inc. | Hybrid memory system interface |
WO2020077518A1 (zh) * | 2018-10-16 | 2020-04-23 | 华为技术有限公司 | 一种混合存储设备及访问方法 |
US11048654B2 (en) * | 2018-10-24 | 2021-06-29 | Innogrit Technologies Co., Ltd. | Systems and methods for providing multiple memory channels with one set of shared address pins on the physical interface |
US11199991B2 (en) | 2019-01-03 | 2021-12-14 | Silicon Motion, Inc. | Method and apparatus for controlling different types of storage units |
CN111399750B (zh) * | 2019-01-03 | 2023-05-26 | 慧荣科技股份有限公司 | 闪存数据写入方法及计算机可读取存储介质 |
KR20210017109A (ko) | 2019-08-07 | 2021-02-17 | 삼성전자주식회사 | 스토리지 장치 |
KR20220029914A (ko) | 2020-09-02 | 2022-03-10 | 삼성전자주식회사 | 펄스 진폭 변조 기반 데이터 스트로브 신호를 생성하는 메모리 장치, 메모리 컨트롤러 및 이들을 포함하는 메모리 시스템 |
US20220083252A1 (en) * | 2020-09-14 | 2022-03-17 | Micron Technology, Inc. | Indication-based avoidance of defective memory cells |
CN114895847A (zh) * | 2020-10-12 | 2022-08-12 | 长江存储科技有限责任公司 | 非易失性存储器、存储装置及非易失性存储器的操作方法 |
KR20220077400A (ko) | 2020-12-02 | 2022-06-09 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템 및 이의 동작 방법 |
US11803326B2 (en) * | 2021-04-23 | 2023-10-31 | Macronix International Co., Ltd. | Implementing a read setup burst command in 3D NAND flash memory to reduce voltage threshold deviation over time |
KR102483906B1 (ko) * | 2021-07-14 | 2022-12-30 | 서울시립대학교 산학협력단 | Nand 플래시 메모리와 sram이 융합된 nas 메모리 셀 및 이를 이용한 nas 메모리 어레이 |
CN116955241B (zh) * | 2023-09-21 | 2024-01-05 | 杭州智灵瞳人工智能有限公司 | 兼容多类型存储介质的存储芯片 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4995004A (en) | 1989-05-15 | 1991-02-19 | Dallas Semiconductor Corporation | RAM/ROM hybrid memory architecture |
JPH05299616A (ja) * | 1992-04-16 | 1993-11-12 | Hitachi Ltd | 半導体記憶装置 |
JPH06195258A (ja) * | 1992-07-08 | 1994-07-15 | Nec Corp | 半導体記憶装置 |
US5696917A (en) | 1994-06-03 | 1997-12-09 | Intel Corporation | Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory |
US5701433A (en) * | 1994-10-14 | 1997-12-23 | Compaq Computer Corporation | Computer system having a memory controller which performs readahead operations which can be aborted prior to completion |
US5634112A (en) * | 1994-10-14 | 1997-05-27 | Compaq Computer Corporation | Memory controller having precharge prediction based on processor and PCI bus cycles |
US6741494B2 (en) | 1995-04-21 | 2004-05-25 | Mark B. Johnson | Magnetoelectronic memory element with inductively coupled write wires |
US5864671A (en) | 1996-07-01 | 1999-01-26 | Sun Microsystems, Inc. | Hybrid memory access protocol for servicing memory access request by ascertaining whether the memory block is currently cached in determining which protocols to be used |
US6418506B1 (en) * | 1996-12-31 | 2002-07-09 | Intel Corporation | Integrated circuit memory and method for transferring data using a volatile memory to buffer data for a nonvolatile memory array |
US6850995B1 (en) * | 1999-01-25 | 2005-02-01 | Canon Kabushiki Kaisha | Control unit selectively connected with a first bus and a second bus for controlling a displaying process in parallel with a scanning process |
US6380581B1 (en) | 1999-02-26 | 2002-04-30 | Micron Technology, Inc. | DRAM technology compatible non volatile memory cells with capacitors connected to the gates of the transistors |
KR100313514B1 (ko) * | 1999-05-11 | 2001-11-17 | 김영환 | 하이브리드 메모리 장치 |
KR100383774B1 (ko) | 2000-01-26 | 2003-05-12 | 삼성전자주식회사 | 공통 인터페이스 방식의 메모리 장치들을 구비한 시스템 |
US7073014B1 (en) | 2000-07-28 | 2006-07-04 | Micron Technology, Inc. | Synchronous non-volatile memory system |
JP3871853B2 (ja) | 2000-05-26 | 2007-01-24 | 株式会社ルネサステクノロジ | 半導体装置及びその動作方法 |
JP2002259443A (ja) * | 2001-02-28 | 2002-09-13 | Ricoh Co Ltd | 文書管理システム、文書検索方法および文書検索プログラム |
US6327207B1 (en) * | 2001-04-09 | 2001-12-04 | Lsi Logic Corporation | Synchronizing data operations across a synchronization boundary between different clock domains using two-hot encoding |
JP4059002B2 (ja) * | 2001-06-13 | 2008-03-12 | 株式会社日立製作所 | メモリ装置 |
TWI240864B (en) * | 2001-06-13 | 2005-10-01 | Hitachi Ltd | Memory device |
JP2003006041A (ja) | 2001-06-20 | 2003-01-10 | Hitachi Ltd | 半導体装置 |
US6670234B2 (en) | 2001-06-22 | 2003-12-30 | International Business Machines Corporation | Method of integrating volatile and non-volatile memory cells on the same substrate and a semiconductor memory device thereof |
US7533214B2 (en) * | 2002-02-27 | 2009-05-12 | Microsoft Corporation | Open architecture flash driver |
US6799231B2 (en) * | 2002-10-22 | 2004-09-28 | Asix Electronics Corp. | Virtual I/O device coupled to memory controller |
KR100786603B1 (ko) * | 2002-11-28 | 2007-12-21 | 가부시끼가이샤 르네사스 테크놀로지 | 메모리 모듈, 메모리시스템 및 정보기기 |
US7752380B2 (en) | 2003-07-31 | 2010-07-06 | Sandisk Il Ltd | SDRAM memory device with an embedded NAND flash controller |
US6859068B1 (en) * | 2003-08-08 | 2005-02-22 | Sun Microsystems, Inc. | Self-correcting I/O interface driver scheme for memory interface |
US7171526B2 (en) | 2003-11-07 | 2007-01-30 | Freescale Semiconductor, Inc. | Memory controller useable in a data processing system |
US6862206B1 (en) * | 2003-12-19 | 2005-03-01 | Hewlett-Packard Development Company, L.P. | Memory module hybridizing an atomic resolution storage (ARS) memory and a magnetic memory |
KR101085406B1 (ko) | 2004-02-16 | 2011-11-21 | 삼성전자주식회사 | 불 휘발성 메모리를 제어하기 위한 컨트롤러 |
US20050204091A1 (en) | 2004-03-11 | 2005-09-15 | Kilbuck Kevin M. | Non-volatile memory with synchronous DRAM interface |
US20060184710A1 (en) * | 2005-02-17 | 2006-08-17 | Nokia Inc. | Bridge between a single channel high speed bus and a multiple channel low speed bus |
US20060294295A1 (en) * | 2005-06-24 | 2006-12-28 | Yukio Fukuzo | DRAM chip device well-communicated with flash memory chip and multi-chip package comprising such a device |
US7360022B2 (en) * | 2005-12-29 | 2008-04-15 | Intel Corporation | Synchronizing an instruction cache and a data cache on demand |
US8427891B2 (en) * | 2007-04-17 | 2013-04-23 | Rambus Inc. | Hybrid volatile and non-volatile memory device with a shared interface circuit |
-
2006
- 2006-06-07 US US11/449,435 patent/US7716411B2/en active Active
-
2007
- 2007-04-13 TW TW096113112A patent/TWI420302B/zh not_active IP Right Cessation
- 2007-06-01 JP JP2009514323A patent/JP2009540431A/ja active Pending
- 2007-06-01 MX MX2008014859A patent/MX2008014859A/es active IP Right Grant
- 2007-06-01 EP EP07795704.1A patent/EP2025001B1/en active Active
- 2007-06-01 KR KR1020087029847A patent/KR101159400B1/ko active IP Right Grant
- 2007-06-01 ES ES07795704T patent/ES2718463T3/es active Active
- 2007-06-01 WO PCT/US2007/013127 patent/WO2007145883A1/en active Application Filing
- 2007-06-01 CN CN2007800212183A patent/CN101473438B/zh active Active
- 2007-06-01 RU RU2008148129/08A patent/RU2442211C2/ru active
- 2007-06-01 BR BRPI0711731-0A patent/BRPI0711731A2/pt not_active Application Discontinuation
-
2010
- 2010-04-30 US US12/771,670 patent/US8423700B2/en active Active
-
2011
- 2011-05-18 JP JP2011111408A patent/JP5613103B2/ja active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2757659C1 (ru) * | 2020-06-16 | 2021-10-19 | Александр Георгиевич Носков | Накопитель магнитный с разделёнными областями |
Also Published As
Publication number | Publication date |
---|---|
TWI420302B (zh) | 2013-12-21 |
US8423700B2 (en) | 2013-04-16 |
US20100217924A1 (en) | 2010-08-26 |
JP5613103B2 (ja) | 2014-10-22 |
KR20090026276A (ko) | 2009-03-12 |
EP2025001B1 (en) | 2019-01-23 |
CN101473438B (zh) | 2012-06-13 |
JP2011181098A (ja) | 2011-09-15 |
MX2008014859A (es) | 2008-12-01 |
EP2025001A1 (en) | 2009-02-18 |
BRPI0711731A2 (pt) | 2011-11-29 |
EP2025001A4 (en) | 2010-07-28 |
TW200745848A (en) | 2007-12-16 |
US20070288683A1 (en) | 2007-12-13 |
US7716411B2 (en) | 2010-05-11 |
KR101159400B1 (ko) | 2012-06-28 |
CN101473438A (zh) | 2009-07-01 |
ES2718463T3 (es) | 2019-07-02 |
JP2009540431A (ja) | 2009-11-19 |
RU2008148129A (ru) | 2010-06-10 |
WO2007145883A1 (en) | 2007-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2442211C2 (ru) | Гибридное запоминающее устройство с единым интерфейсом | |
TWI614752B (zh) | 經由記憶體通道關閉之節電技術 | |
US7657696B2 (en) | Method to detect NAND-flash parameters by hardware automatically | |
US20080307154A1 (en) | System and Method for Dual-Ported I2C Flash Memory | |
JP5090819B2 (ja) | メモリーカード及び該データ格納方法 | |
US7725609B2 (en) | System memory device having a dual port | |
US20080010418A1 (en) | Method for Accessing a Non-Volatile Memory via a Volatile Memory Interface | |
JP2007183961A (ja) | ハードディスクドライブキャッシュメモリ及び再生デバイス | |
US9164804B2 (en) | Virtual memory module | |
JPH08314794A (ja) | 安定記憶装置へのアクセス待ち時間を短縮するための方法およびシステム | |
US20080010419A1 (en) | System and Method for Issuing Commands | |
TWI719654B (zh) | 閃存實體資源集合管理裝置及方法以及電腦程式產品 | |
US20190026220A1 (en) | Storage device that stores latency information, processor and computing system | |
US11204833B1 (en) | NVM endurance group controller using shared resource architecture | |
CN110597742A (zh) | 用于具有持久系统存储器的计算机系统的改进存储模型 | |
US20080007569A1 (en) | Control protocol and signaling in a new memory architecture | |
US7925819B2 (en) | Non-volatile memory storage system and method for reading an expansion read only memory image thereof | |
TWI412934B (zh) | 嵌入式控制器記憶體之外部直接記憶體存取 | |
US9530466B1 (en) | System and method for memory access dynamic mode switching | |
US8745363B2 (en) | Bootable volatile memory device, memory module and processing system comprising bootable volatile memory device, and method of booting processing system using bootable volatile memory device | |
TW202403556A (zh) | 記憶體系統及其操作方法 | |
KR20090095842A (ko) | 메모리 복사 방법 및 그 방법을 이용하는 컴퓨터 시스템 | |
JP2003216478A (ja) | インタフェース回路及び半導体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20150526 |