Patents by Inventor Vadim Khmelnitsky
Vadim Khmelnitsky has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 8862851Abstract: The disclosed architecture uses address mapping to map a block address on a host interface to an internal block address of a non-volatile memory (NVM) device. The block address is mapped to an internal chip select for selecting a Concurrently Addressable Unit (CAU) identified by the block address. The disclosed architecture supports generic NVM commands for read, write, erase and get status operations. The architecture also supports an extended command set for supporting read and write operations that leverage a multiple CAU architecture.Type: GrantFiled: December 21, 2012Date of Patent: October 14, 2014Assignee: Apple Inc.Inventors: Tahoma Toelkes, Nir Jacob Wakrat, Kenneth L Herman, Barry Corlett, Vadim Khmelnitsky, Anthony Fai, Daniel Jeffrey Post, Hsiao Thio
-
Publication number: 20140297935Abstract: Systems and methods are disclosed for mount-time reconciliation of data availability. During system boot-up, a non-volatile memory (“NVM”) driver can be enumerated, and an NVM driver mapping can be obtained. The NVM driver mapping can include the actual availability of LBAs in the NVM. A file system can then be mounted, and a file system allocation state can be generated. The file system allocation state can indicate the file system's view of the availability of LBAs. Subsequently, data availability reconciliation can be performed. That is, the file system allocation state and the NVM driver mapping can be overlaid and compared with one another in order to expose any discrepancies.Type: ApplicationFiled: June 16, 2014Publication date: October 2, 2014Inventors: Daniel J. Post, Nir Jacob Wakrat, Vadim Khmelnitsky
-
Patent number: 8838877Abstract: A file system programs metadata on a non-volatile memory device. The metadata can include data associating files with ranges of logical block addresses. During a garbage collection process, the data can be used to determine portions of physical blocks of the non-volatile memory device that are associated with files that have been deleted. Using the programmed metadata during garbage collection results in erasure of larger portions of blocks and improved wear leveling.Type: GrantFiled: September 16, 2009Date of Patent: September 16, 2014Assignee: Apple Inc.Inventors: Nir Jacob Wakrat, Vadim Khmelnitsky, Daniel Jeffrey Post
-
Patent number: 8812816Abstract: Systems and methods are provided for handling uncorrectable errors that may occur during garbage collection of an index page or block in non-volatile memory.Type: GrantFiled: March 23, 2010Date of Patent: August 19, 2014Assignee: Apple Inc.Inventors: Daniel J. Post, Vadim Khmelnitsky
-
Patent number: 8806151Abstract: Multipage preparation commands for non-volatile memory systems are disclosed. The multipage preparation commands supply data that can be used to prepare a non-volatile memory device for forthcoming multipage program operations. A host controller can use the commands ahead of a multipage program operation to optimize usage of a multipage program command. The non-volatile memory device can use the commands to configure the non-volatile memory in preparation for a subsequent operation, such as changing a command order or using the most optimized command set for the subsequent operation.Type: GrantFiled: November 14, 2012Date of Patent: August 12, 2014Assignee: Apple Inc.Inventors: Vadim Khmelnitsky, Nir Jacob Wakrat, Tahoma Toelkes, Daniel Jeffrey Post, Anthony Fai
-
Patent number: 8756458Abstract: Systems and methods are disclosed for mount-time reconciliation of data availability. During system boot-up, a non-volatile memory (“NVM”) driver can be enumerated, and an NVM driver mapping can be obtained. The NVM driver mapping can include the actual availability of LBAs in the NVM. A file system can then be mounted, and a file system allocation state can be generated. The file system allocation state can indicate the file system's view of the availability of LBAs. Subsequently, data availability reconciliation can be performed. That is, the file system allocation state and the NVM driver mapping can be overlaid and compared with one another in order to expose any discrepancies.Type: GrantFiled: December 12, 2011Date of Patent: June 17, 2014Assignee: Apple Inc.Inventors: Daniel J. Post, Nir Jacob Wakrat, Vadim Khmelnitsky
-
Patent number: 8737148Abstract: Systems and methods are provided for selectively retiring blocks based on refresh events of those blocks. In addition to refresh events, other criteria may be applied in making a decision whether to retire a block. By applying the criteria, the system is able to selectively retire blocks that may otherwise continue to be refreshed.Type: GrantFiled: March 15, 2013Date of Patent: May 27, 2014Assignee: Apple Inc.Inventors: Matthew J. Byom, Daniel J. Post, Vadim Khmelnitsky
-
Publication number: 20140112079Abstract: Systems and methods are disclosed for managing the peak power consumption of a system, such as a non-volatile memory system (e.g., flash memory system). The system can include multiple subsystems and a controller for controlling the subsystems. Each subsystem may have a current profile that is peaky. Thus, the controller may control the peak power of the system by, for example, limiting the number of subsystems that can perform power-intensive operations at the same time or by aiding a subsystem in determining the peak power that the subsystem may consume at any given time.Type: ApplicationFiled: December 30, 2013Publication date: April 24, 2014Applicant: Apple Inc.Inventors: Nir J. Wakrat, Daniel J. Post, Kenneth L. Herman, Vadim Khmelnitsky, Nicholas C. Seroff, Hsiao H. Thio, Matthew J. Byom
-
Publication number: 20140068296Abstract: Systems and methods are disclosed for limiting power consumption of a non-volatile memory (NVM) using a power limiting scheme that distributes a number of concurrent NVM operations over time. This provides a “current consumption cap” that fixes an upper limit of current consumption for the NVM, thereby eliminating peak power events. In one embodiment, power consumption of a NVM can be limited by receiving data suitable for use as a factor in adjusting a current threshold from at least one of a plurality of system sources. The current threshold can be less than a peak current capable of being consumed by the NVM and can be adjusted based on the received data. A power limiting scheme can be used that limits the number of concurrent NVM operations performed so that a cumulative current consumption of the NVM does not exceed the adjusted current threshold.Type: ApplicationFiled: November 11, 2013Publication date: March 6, 2014Applicant: Apple Inc.Inventors: Matthew J. Byom, Vadim Khmelnitsky, Hugo B. Fiennes, Arjun Kapoor
-
Patent number: 8645776Abstract: Systems and methods are disclosed for performing run-time tests on a non-volatile memory (“NVM”), such as flash memory. The run-time tests may be tests that are performed on the NVM while the NVM can be operated by an end user (as opposed to during a manufacturing phase). In some embodiments, a controller for the NVM may detect an error event that may be indicative of a systemic failure of a die of the NVM. The controller may then select one or more blocks in the die to test, which may be dies that are currently not being used to store user data. The controller may post process the results of the test to determine whether there is a systemic failure, such as a column failure, and may treat the systemic failure if there is one.Type: GrantFiled: March 24, 2010Date of Patent: February 4, 2014Assignee: Apple Inc.Inventors: Matthew Byom, Daniel J. Post, Kenneth Herman, Vadim Khmelnitsky
-
Patent number: 8595414Abstract: Systems and methods are disclosed for selectively combining commands for a system having non-volatile memory (“NVM”). In some embodiments, a command dispatcher of a system can receive multiple commands to access a NVM for a period of time. After receiving the multiple commands, the command dispatcher can determine a set of commands that are naturally combinable. In some embodiments, the command dispatcher can select commands that are fairly distributed across different chip enables (“CEs”) and/or buses. After selecting the set of commands, the command dispatcher can combine the set of commands into a multi-access command. Finally, the command dispatcher can dispatch the multi-access command to the NVM.Type: GrantFiled: September 30, 2010Date of Patent: November 26, 2013Assignee: Apple Inc.Inventors: Daniel J. Post, Nir J. Wakrat, Vadim Khmelnitsky
-
Patent number: 8583947Abstract: Systems and methods are disclosed for limiting power consumption of a non-volatile memory (NVM) using a power limiting scheme that distributes a number of concurrent NVM operations over time. This provides a “current consumption cap” that fixes an upper limit of current consumption for the NVM, thereby eliminating peak power events. In one embodiment, power consumption of a NVM can be limited by receiving data suitable for use as a factor in adjusting a current threshold from at least one of a plurality of system sources. The current threshold can be less than a peak current capable of being consumed by the NVM and can be adjusted based on the received data. A power limiting scheme can be used that limits the number of concurrent NVM operations performed so that a cumulative current consumption of the NVM does not exceed the adjusted current threshold.Type: GrantFiled: December 16, 2010Date of Patent: November 12, 2013Assignee: Apple Inc.Inventors: Matthew Byom, Vadim Khmelnitsky, Hugo Fiennes, Arjun Kapoor
-
Patent number: 8555095Abstract: Systems and methods are disclosed for limiting power consumption of a non-volatile memory (NVM) using a power limiting scheme that distributes a number of concurrent NVM operations over time. This provides a “current consumption cap” that fixes an upper limit of current consumption for the NVM, thereby eliminating peak power events. In one embodiment, power consumption of a NVM can be limited by receiving data suitable for use as a factor in adjusting a current threshold from at least one of a plurality of system sources. The current threshold can be less than a peak current capable of being consumed by the NVM and can be adjusted based on the received data. A power limiting scheme can be used that limits the number of concurrent NVM operations performed so that a cumulative current consumption of the NVM does not exceed the adjusted current threshold.Type: GrantFiled: July 26, 2010Date of Patent: October 8, 2013Assignee: Apple Inc.Inventors: Matthew Byom, Vadim Khmelnitsky, Hugo Fiennes, Arjun Kapoor
-
Patent number: 8516219Abstract: Memory mapping techniques for non-volatile memory are disclosed where logical sectors are mapped into physical pages using data structures in volatile and non-volatile memory. In some implementations, a first lookup table in non-volatile memory maps logical sectors directly into physical pages. A second lookup table in volatile memory holds the location of the first lookup table in non-volatile memory. An index cache tree in volatile memory holds the physical addresses of the most recently written or accessed logical sectors in a compressed format.Type: GrantFiled: July 24, 2009Date of Patent: August 20, 2013Assignee: Apple Inc.Inventors: Daniel Jeffrey Post, Nir Jacob Wakrat, Vadim Khmelnitsky
-
Patent number: 8495402Abstract: Systems and methods are disclosed for limiting power consumption of a non-volatile memory (NVM) using a power limiting scheme that distributes a number of concurrent NVM operations over time. This provides a “current consumption cap” that fixes an upper limit of current consumption for the NVM, thereby eliminating peak power events. In one embodiment, power consumption of a NVM can be limited by receiving data suitable for use as a factor in adjusting a current threshold from at least one of a plurality of system sources. The current threshold can be less than a peak current capable of being consumed by the NVM and can be adjusted based on the received data. A power limiting scheme can be used that limits the number of concurrent NVM operations performed so that a cumulative current consumption of the NVM does not exceed the adjusted current threshold.Type: GrantFiled: December 16, 2010Date of Patent: July 23, 2013Assignee: Apple Inc.Inventors: Matthew Byom, Vadim Khmelnitsky, Hugo Fiennes, Arjun Kapoor
-
Patent number: 8495332Abstract: A controller, techniques, systems, and devices for optimizing throughput of read operations in flash memory are disclosed. Various optimizations of throughput for read operations can be performed using a controller. In some implementations, read operations for a multi-die flash memory device or system can be optimized to perform a read request with a highest priority (e.g., an earliest received read request) as soon as the read request is ready. In some implementations, the controller can enable optimized reading from multiple flash memory dies by monitoring a read/busy state for each die and switching between dies when a higher priority read operation is ready to begin.Type: GrantFiled: July 24, 2009Date of Patent: July 23, 2013Assignee: Apple Inc.Inventors: Nir Jacob Wakrat, Vadim Khmelnitsky, Daniel Jeffrey Post
-
Patent number: 8478796Abstract: Systems and methods are provided for handling uncorrectable errors in a non-volatile memory (“NVM”), such as flash memory, during a garbage collection operation.Type: GrantFiled: March 23, 2010Date of Patent: July 2, 2013Assignee: Apple Inc.Inventors: Daniel J. Post, Vadim Khmelnitsky
-
Patent number: 8468293Abstract: Techniques for restoring index pages stored in non-volatile memory are disclosed where the index pages map logical sectors into physical pages. Additional data structures in volatile and non-volatile memory can be used by the techniques for restoring index pages. In some implementations, a lookup table associated with data blocks in non-volatile memory can be used to provide information regarding the mapping of logical sectors into physical pages. In some implementations, a lookup table associated with data blocks and a range of logical sectors and/or index pages can be used.Type: GrantFiled: July 24, 2009Date of Patent: June 18, 2013Assignee: Apple Inc.Inventors: Nir Jacob Wakrat, Vadim Khmelnitsky
-
Publication number: 20130151754Abstract: Systems and methods are disclosed for logical block address (“LBA) bitmap usage for a system having non-volatile memory (“NVM”). A bitmap can be stored in volatile memory of the system, where the bitmap can store the mapping statuses of one or more logical addresses. By using the bitmap, the system can determine the mapping status of a LBA without having to access the NVM. In addition, the system can update the mapping status of a LBA with minimal NVM accesses. By reducing the number of NVM accesses, the system can avoid triggering a garbage collection process, which can improve overall system performance.Type: ApplicationFiled: December 12, 2011Publication date: June 13, 2013Applicant: APPLE INC.Inventors: Daniel J. Post, Nir Jacob Wakrat, Vadim Khmelnitsky
-
Publication number: 20130151830Abstract: Systems and methods are disclosed for mount-time reconciliation of data availability. During system boot-up, a non-volatile memory (“NVM”) driver can be enumerated, and an NVM driver mapping can be obtained. The NVM driver mapping can include the actual availability of LBAs in the NVM. A file system can then be mounted, and a file system allocation state can be generated. The file system allocation state can indicate the file system's view of the availability of LBAs. Subsequently, data availability reconciliation can be performed. That is, the file system allocation state and the NVM driver mapping can be overlaid and compared with one another in order to expose any discrepancies.Type: ApplicationFiled: December 12, 2011Publication date: June 13, 2013Applicant: APPLE INC.Inventors: Daniel J. Post, Nir Jacob Wakrat, Vadim Khmelnitsky