Patents by Inventor Xiaozhong Xing
Xiaozhong Xing 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: 11093177Abstract: A system includes reception of a request from a first application to create a virtual open-channel solid state drive associated with a first bandwidth and first capacity, association, in response to the request, of block addresses of a virtual address space of the first application with block addresses of one or more blocks of a first one of a first plurality of channels of a first open-channel solid state drive and with block addresses of one or more blocks of a second one of the first plurality of channels, reception, from the first application, of a first I/O call associated with one or more block addresses of the virtual address space, determination of block addresses of one or more blocks of the first one of the first plurality of channels which are associated with the one or more block addresses of the virtual address space, and execution of the first I/O call on the determined block addresses of one or more blocks of the first one of the first plurality of channels.Type: GrantFiled: June 20, 2019Date of Patent: August 17, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Anirudh Badam, Badriddine Khessib, Laura Marie Caulfield, Mihail Gavril Tarta, Robin Andrew Alexander, Xiaozhong Xing, Zhe Tan, Jian Xu
-
Patent number: 10776289Abstract: An I/O processing system includes reception of a request to perform an I/O operation from a user-mode application, providing of the request to a storage device, scheduling of an operating system deferred procedure call to determine whether the storage device has completed the I/O operation, execution of the scheduled deferred procedure call to determine that the storage device has completed the I/O operation, and transmission of a return corresponding to the completed I/O operation to the user-mode application.Type: GrantFiled: October 23, 2018Date of Patent: September 15, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Xiaozhong Xing, Liang Yang, Danyu Zhu, Robin Andrew Alexander, HoYuen Chau, Vishal Jose Mannanal
-
Patent number: 10740258Abstract: An I/O processing system includes reception of a request to perform an I/O operation at a storage driver, and, in response to receiving the request, providing of the request to a storage device, and scheduling a timer associated with a callback routine to determine whether the storage device has completed the I/O operation, and, in response to expiration of the scheduled timer, determination of whether the storage device has completed the I/O operation.Type: GrantFiled: October 23, 2018Date of Patent: August 11, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Robin Andrew Alexander, HoYuen Chau, Xiaozhong Xing, Danyu Zhu, Liang Yang, Vishal Jose Mannanal
-
Publication number: 20200125504Abstract: An I/O processing system includes reception of a request to perform an I/O operation at a storage driver, and, in response to receiving the request, providing of the request to a storage device, and scheduling a timer associated with a callback routine to determine whether the storage device has completed the I/O operation, and, in response to expiration of the scheduled timer, determination of whether the storage device has completed the I/O operation.Type: ApplicationFiled: October 23, 2018Publication date: April 23, 2020Inventors: Robin Andrew ALEXANDER, HoYuen CHAU, Xiaozhong XING, Danyu ZHU, Liang YANG, Vishal JOSE MANNANAL
-
Publication number: 20200097419Abstract: An I/O processing system includes reception of a request to perform an I/O operation from a user-mode application, providing of the request to a storage device, scheduling of an operating system deferred procedure call to determine whether the storage device has completed the I/O operation, execution of the scheduled deferred procedure call to determine that the storage device has completed the I/O operation, and transmission of a return corresponding to the completed I/O operation to the user-mode application.Type: ApplicationFiled: October 23, 2018Publication date: March 26, 2020Inventors: Xiaozhong XING, Liang YANG, Danyu ZHU, Robin Andrew ALEXANDER, HoYuen CHAU, Vishal JOSE MANNANAL
-
Publication number: 20190303047Abstract: A system includes reception of a request from a first application to create a virtual open-channel solid state drive associated with a first bandwidth and first capacity, association, in response to the request, of block addresses of a virtual address space of the first application with block addresses of one or more blocks of a first one of a first plurality of channels of a first open-channel solid state drive and with block addresses of one or more blocks of a second one of the first plurality of channels, reception, from the first application, of a first I/O call associated with one or more block addresses of the virtual address space, determination of block addresses of one or more blocks of the first one of the first plurality of channels which are associated with the one or more block addresses of the virtual address space, and execution of the first I/O call on the determined block addresses of one or more blocks of the first one of the first plurality of channels.Type: ApplicationFiled: June 20, 2019Publication date: October 3, 2019Inventors: Anirudh BADAM, Badriddine KHESSIB, Laura Marie CAULFIELD, Mihail Gavril TARTA, Robin Andrew ALEXANDER, Xiaozhong XING, Zhe TAN, Jian XU
-
Patent number: 10423361Abstract: A system includes reception of a request from a first application to create a virtual open-channel solid state drive associated with a first bandwidth and first capacity, association, in response to the request, of block addresses of a virtual address space of the first application with block addresses of one or more blocks of a first one of a first plurality of channels of a first open-channel solid state drive and with block addresses of one or more blocks of a second one of a second plurality of channels of a second open-channel solid state drive, reception, from the first application, of a first I/O call associated with one or more block addresses of the virtual address space, determination of block addresses of one or more blocks of the first one of the first plurality of channels which are associated with the one or more block addresses of the virtual address space, and execution of the first I/O call on the determined block addresses of one or more blocks of the first one of the first plurality of chanType: GrantFiled: December 21, 2017Date of Patent: September 24, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Anirudh Badam, Badriddine Khessib, Laura Marie Caulfield, Mihail Gavril Tarta, Robin Andrew Alexander, Xiaozhong Xing, Zhe Tan, Jian Xu
-
Patent number: 10416932Abstract: A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a hard disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. Some data can be stored in one part but not the other, and this data can be synchronized with (e.g., copied to) the other part at various times. The drive access system provides indications to the hybrid drive of when to synchronize data in one part with the other part. These indications are made so that potential interference with use of the device by the user and/or power saving modes of the device due to the synchronization is reduced.Type: GrantFiled: April 16, 2018Date of Patent: September 17, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Mehmet Iyigun, Yevgeniy M. Bak, Eric M. Bluestein, Robin A. Alexander, Andrew M. Herron, Xiaozhong Xing
-
Publication number: 20190196748Abstract: A system includes reception of a request from a first application to create a virtual open-channel solid state drive associated with a first bandwidth and first capacity, association, in response to the request, of block addresses of a virtual address space of the first application with block addresses of one or more blocks of a first one of a first plurality of channels of a first open-channel solid state drive and with block addresses of one or more blocks of a second one of a second plurality of channels of a second open-channel solid state drive, reception, from the first application, of a first I/O call associated with one or more block addresses of the virtual address space, determination of block addresses of one or more blocks of the first one of the first plurality of channels which are associated with the one or more block addresses of the virtual address space, and execution of the first I/O call on the determined block addresses of one or more blocks of the first one of the first plurality of chanType: ApplicationFiled: December 21, 2017Publication date: June 27, 2019Inventors: Anirudh BADAM, Badriddine KHESSIB, Laura Marie CAULFIELD, Mihail Gavril TARTA, Robin Andrew ALEXANDER, Xiaozhong XING, Zhe TAN, Jian XU
-
Publication number: 20180321857Abstract: A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a hard disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. Some data can be stored in one part but not the other, and this data can be synchronized with (e.g., copied to) the other part at various times. The drive access system provides indications to the hybrid drive of when to synchronize data in one part with the other part. These indications are made so that potential interference with use of the device by the user and/or power saving modes of the device due to the synchronization is reduced.Type: ApplicationFiled: April 16, 2018Publication date: November 8, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Mehmet Iyigun, Yevgeniy M. Bak, Eric M. Bluestein, Robin A. Alexander, Andrew M. Herron, Xiaozhong Xing
-
Patent number: 9946495Abstract: A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a hard disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. Some data can be stored in one part but not the other, and this data can be synchronized with (e.g., copied to) the other part at various times. The drive access system provides indications to the hybrid drive of when to synchronize data in one part with the other part. These indications are made so that potential interference with use of the device by the user and/or power saving modes of the device due to the synchronization is reduced.Type: GrantFiled: April 25, 2013Date of Patent: April 17, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Mehmet Iyigun, Yevgeniy M. Bak, Eric M. Bluestein, Robin A. Alexander, Andrew M. Herron, Xiaozhong Xing
-
Patent number: 9626126Abstract: A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a magnetic or other rotational disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. The drive access system supports multiple priority levels and obtains priority levels for groups of data identified by logical block addresses (LBAs). The LBAs read while the device is operating in a power saving mode are assigned a priority level that is at least the lowest of the multiple priority levels supported by the device, increasing the likelihood that LBAs read while the device is operating in the power saving mode are stored in the performance part of the hybrid drive.Type: GrantFiled: April 24, 2013Date of Patent: April 18, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Mehmet Iyigun, Yevgeniy M. Bak, Eric M. Bluestein, Robin A. Alexander, Andrew M. Herron, Xiaozhong Xing
-
Publication number: 20160202912Abstract: A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a magnetic or other rotational disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. The drive access system assigns, based on various available information, a priority level to groups of data identified by logical block addresses (LBAs). With each I/O command, the drive access system includes an indication of the priority level of the LBA(s) associated with the I/O command. The hybrid drive determines, based on the priority level indications received from the drive access system, which LBAs are stored on which part or parts of the hybrid drive.Type: ApplicationFiled: March 21, 2016Publication date: July 14, 2016Applicant: Microsoft Technology Licensing, LLCInventors: Mehmet Iyigun, Yevgeniy M. Bak, Eric M. Bluestein, Robin A. Alexander, Andrew M. Herron, Xiaozhong Xing
-
Patent number: 9323460Abstract: A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a magnetic or other rotational disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. The drive access system assigns, based on various available information, a priority level to groups of data identified by logical block addresses (LBAs). With each I/O command, the drive access system includes an indication of the priority level of the LBA(s) associated with the I/O command. The hybrid drive determines, based on the priority level indications received from the drive access system, which LBAs are stored on which part or parts of the hybrid drive.Type: GrantFiled: March 20, 2015Date of Patent: April 26, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Mehmet Iyigun, Yevgeniy M. Bak, Eric M. Bluestein, Robin A. Alexander, Andrew M. Herron, Xiaozhong Xing
-
Publication number: 20150193147Abstract: A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a magnetic or other rotational disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. The drive access system assigns, based on various available information, a priority level to groups of data identified by logical block addresses (LBAs). With each I/O command, the drive access system includes an indication of the priority level of the LBA(s) associated with the I/O command. The hybrid drive determines, based on the priority level indications received from the drive access system, which LBAs are stored on which part or parts of the hybrid drive.Type: ApplicationFiled: March 20, 2015Publication date: July 9, 2015Inventors: Mehmet Iyigun, Yevgeniy M. Bak, Eric M. Bluestein, Robin A. Alexander, Andrew M. Herron, Xiaozhong Xing
-
Patent number: 8990441Abstract: A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a magnetic or other rotational disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. The drive access system assigns, based on various available information, a priority level to groups of data identified by logical block addresses (LBAs). With each I/O command, the drive access system includes an indication of the priority level of the LBA(s) associated with the I/O command. The hybrid drive determines, based on the priority level indications received from the drive access system, which LBAs are stored on which part or parts of the hybrid drive.Type: GrantFiled: June 30, 2014Date of Patent: March 24, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Mehmet Iyigun, Yevgeniy M. Bak, Eric M. Bluestein, Robin A. Alexander, Andrew M. Herron, Xiaozhong Xing
-
Publication number: 20140325166Abstract: A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a magnetic or other rotational disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. The drive access system supports multiple priority levels and obtains priority levels for groups of data identified by logical block addresses (LBAs). The LBAs read while the device is operating in a power saving mode are assigned a priority level that is at least the lowest of the multiple priority levels supported by the device, increasing the likelihood that LBAs read while the device is operating in the power saving mode are stored in the performance part of the hybrid drive.Type: ApplicationFiled: April 24, 2013Publication date: October 30, 2014Applicant: MICROSOFT CORPORATIONInventors: Mehmet Iyigun, Yevgeniy M. Bak, Eric M. Bluestein, Robin A. Alexander, Andrew M. Herron, Xiaozhong Xing
-
Publication number: 20140325169Abstract: A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a hard disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. Some data can be stored in one part but not the other, and this data can be synchronized with (e.g., copied to) the other part at various times. The drive access system provides indications to the hybrid drive of when to synchronize data in one part with the other part. These indications are made so that potential interference with use of the device by the user and/or power saving modes of the device due to the synchronization is reduced.Type: ApplicationFiled: April 25, 2013Publication date: October 30, 2014Applicant: Microsoft CorporationInventors: Mehmet Iyigun, Yevgeniy M. Bak, Eric M. Bluestein, Robin A. Alexander, Andrew M. Herron, Xiaozhong Xing
-
Publication number: 20140317317Abstract: A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a magnetic or other rotational disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. The drive access system assigns, based on various available information, a priority level to groups of data identified by logical block addresses (LBAs). With each I/O command, the drive access system includes an indication of the priority level of the LBA(s) associated with the I/O command. The hybrid drive determines, based on the priority level indications received from the drive access system, which LBAs are stored on which part or parts of the hybrid drive.Type: ApplicationFiled: June 30, 2014Publication date: October 23, 2014Inventors: Mehmet Iyigun, Yevgeniy M. Bak, Eric M. Bluestein, Robin A. Alexander, Andrew M. Herron, Xiaozhong Xing
-
Patent number: 8812744Abstract: A hybrid drive includes multiple parts: a performance part (e.g., a flash memory device) and a base part (e.g., a magnetic or other rotational disk drive). A drive access system, which is typically part of an operating system of a computing device, issues input/output (I/O) commands to the hybrid drive to store data to and retrieve data from the hybrid drive. The drive access system assigns, based on various available information, a priority level to groups of data identified by logical block addresses (LBAs). With each I/O command, the drive access system includes an indication of the priority level of the LBA(s) associated with the I/O command. The hybrid drive determines, based on the priority level indications received from the drive access system, which LBAs are stored on which part or parts of the hybrid drive.Type: GrantFiled: March 14, 2013Date of Patent: August 19, 2014Assignee: Microsoft CorporationInventors: Mehmet Iyigun, Yevgeniy M. Bak, Eric M. Bluestein, Robin A. Alexander, Andrew M. Herron, Xiaozhong Xing